1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Посоветуйте как выучить PHP новичку в программировании

Тема в разделе "Программирование", создана пользователем ahdpe, 05.05.20.

  1. sema

    sema Активный участник

    13.654
    1.123
    Да ладно, какой из меня архитектор, максимум sunтехник )
     
  2. 027

    027 Активный участник

    3.778
    601
    Вот поэтому и ненавижу — вынужден сечас на нем писать (опять :madgo:). Начальство попросило сваять онлайн-калькулятор.
    WebAssembly — Википедия
    Дело на мой взгляд перспективное, хотя потенциально представляет новую поверхность для атак. И сырое пока что.
     
  3. 027

    027 Активный участник

    3.778
    601
    Кстати о PHP.

    Дописываю этот долбаный онлайн-калькулятор для дебилов. С валидацией ввода все хорошо, хвала jquery — жабоскрип с человеческим лицом. Все красиво переливается красненьким, зелененьким, сереньким. Данные четко синхронизируются в дублирующихся инпутах (так надо). Валидированные наборы значений инпутов успешно складываются в две правильные кучки. Прямой ввод, копипаста, клавой, мышью, тапом на мобилке — кривые данные не введешь. Ништяк.

    Но далее надо делать выборки из массивов, обеспечение уникальности элементов в массивах, проверки пересечения массивов, проверка равенства массивов.

    Это ж какой лютый треш и содомия с массивами в жаваскрипте!

    Прям подмывало кинуть массивы аяксом на сервер, там легко и просто все сделать на вменяемом языке — пыхе — и вернуть готовый результат для отображения. Но это означало сдаться, поднять лапки, и вообще — классический костыль.

    Кое-как, через жёппу, через принудительное приведение типов, в разных случаях разными методами (ага, просто массив, это вам не произвольно индексированный массив, который вовсе не нормальный индексированный массив, а вовсе даже ассоциативный массив, в котором строковые ключи только прикидываются числовыми... а массив с уникальными значениями — это вообще отдельный тип Set(), у которого все на так в потрохах, как у обычного массива, и совсем не так, как у простого объекта, состоящего только из полей, по сути, простого массива, но он не просто, он обмазан унаследованными функциями от прототипа, причем не такими, как обмазан просто массив, который, по сути, объект, но не типа Object, а типа Array...)

    НЕНАВИСТЬ!!!!11111
     
    Последнее редактирование: 30.06.20
  4. Иной гость

    Иной гость Активный участник

    20.534
    2.452
    это вам, батенька, прямиком в питон, в numpy :)
     
    sema нравится это.
  5. 027

    027 Активный участник

    3.778
    601
    Не, меня управление отступами вымораживает. :)
    Вкусовщина, понятно...
    Да и не надо оно мне (задачи, в которых явно лидирует питон).

    ***
    Тот большой абзац можно сформулировать короче:
    «Когда в языке наворачивается куча неявной магии, аффтара следует расстрелять из реактивного говномета.»

    Это ж надо было уродить такое непотребство, когда запросто можно зафигачить true == false, а вот Nan != NaN, никогда!
    (Впрочем, внутри Set() NaN таки === NaN. Поубивал бы.)
     
    Последнее редактирование: 30.06.20
  6. hasslich

    hasslich Активный участник

    19.036
    924
    Всегда удивляли люди, которые занимаются сразу всем и везде. Эдакий специалист широкого профиля и низкого заработка.
     
  7. E13

    E13 Модератор

    6.944
    255
    Сеты и нативно поддерживаются, без нампи.

    С нампи кажется просто более расширенный функционал, но я его забыть уже напрочь :)

    А в сторону фреймворков вроде Vue не пробовали смотреть? Я имел неосторожность применить jQ на сложном интерфейсе (разработка диалоговой структуры чат-бота), и огрёб таких проблем, что пришлось переписывать всё заново.

    Тут разные методы вроде Array.filter хорошо идут - часто вопрос одной строкой решается. А для типов данных вроде TypeScript норм, но его не копал пока. Хотя придётся, если дальше фронтенд пилить буду.
     
  8. grunt

    grunt Участник

    325
    44
  9. 027

    027 Активный участник

    3.778
    601
    На хабре была переводная статья по современную экосистему жабаскрипа. Адъ и содомия.

    Так-то да, и примеры на MDN имеются, но ити его мать, как же все оно пер ректум!
    Сама парадигма, когда данные таскают за собой предопределенную кучу встроенных методов для работы с ними... это... матерных слов не хватает.
    А внешних функций — хрен. И если чуть нестандартно, начинается выплясывание с бубном.
    А чтобы исправить массовое непотребство, понаписано куча языков с транспайлерами, причем, кто в лес, кто по дрова, а куды бедному крестьянину податься, лучше не задумываться. Ибо снесет крышу.

    Изрядно подолбавшись с гребаной неявной магией, таки закончил с этим проектом. Надеюсь, ОЧЕНЬ надеюсь! — с жабаскриптом в ближайшем будущем дела не иметь, предпочтительно до самой смерти.

    Давно на Вьюи посматриваю, нравится, и документация на русском от разработчиков. Но освоением нового надо заниматься в спокойной обстановке, а не в угорелом режиме сделай-срочно-вчера-пожалуйста!!!111111

    В моем случае от jQ проблем не вылезало... ну, почти. Всё решалось курением мануала, подзабылось многое с последнего раза — то ли год, то ли два назад.
    (рекомендую, кстати, jquery.page2page.ru — дело даже не в русском языке, организовано куда удобнее, чем оф.дока).

    Интерфейс не особо сложный, но все же понадобилось синхронизировать данные и подсветку ошибок на лету в нескольких родственных формах, спрятанных в переключаемых вкладках bootstrap. Вот с обработкой ошибок потыкался изрядно. Кроме подсветки и синхронизации value в инпутах надо было еще пересчитывать общие данные на основе заполнения форм, и чтоб все синхронно посвистывало и попукивало при переключении вкладок и нажатии кнопок «Рассчитать». Тут чисто ванила, от библиотеки jQ только поиск элементов и манипуляции с атрибутами.

    Слава Б-гу, вовремя вспомнил про атрибуты data-* в html5, сильно облегчило говнокодинг.
     
    Последнее редактирование: 03.07.20 21:11
  10. sema

    sema Активный участник

    13.654
    1.123
    upload_2020-7-4_12-35-57.png
     
  11. 027

    027 Активный участник

    3.778
    601
    Бред собачий.