Клуб изучающих PHP #142 /php/ 3324202 В конец треда | Веб
Это тред для начинающих. Слово «классы» у тебя ассоциируется только со школой, а в аттестате тройка по математике? Ты наш человек.

Предыдущий тред был тут: >>3283119 (OP)

Старые треды тут https://2ch.hk/pr/arch/ (М) (искать по слову php), а также на архиваче и в гугле по словам по словам "клуб изучающих PHP".

С чего начать - основы PHP

Наши уроки по PHP собраны по адресу http://codedokode.github.io/phpbook . Это учебник для изучающих с нуля. Там есть задачи, их нужно решать. Но если этот учебник тебе не нравится, можно читать любой другой. Или официальный справочник ( https://www.php.net/manual/ru/langref.php ). Или все сразу.

Если что-то непонятно, запости код и попроси подсказку или поищи задачу в архиве тредов.

Какой редактор использовать

Простые задачки можно решать в онлайн-песочницах вроде https://onlinephp.io/ , https://paiza.io/en/projects/new?language=php , https://www.programiz.com/php/online-compiler/ , но для программ посложнее лучше установить редактор. Есть (дорогая) IDE PhpStorm, есть бесплатный Netbeans и VSCode, условно-бесплатный Sublime Text. Чтобы в последних получить автодополнение для PHP, нужно установить и настроить PHP language server.

Вот инструкции по установке PHP на компьютер: https://github.com/codedokode/pasta/blob/master/soft/php-install.md
Гайд по командной строке: https://github.com/codedokode/pasta/blob/master/soft/cli.md

Что изучать дальше

Зная лишь основы PHP, сайт ты не сделаешь и работу не найдешь. Обычно от начинающего требуют чуть-чуть больше:

PHP, ООП, основы HTTP, HTML/CSS (основы верстки), JS, SQL, PDO, MVC, git, composer, какой-нибудь фреймворк (Laravel или Symfony), основы автоматического тестирования, основы linux, английский.

Вот неофициальный роадмап (карта того, что можно изучать): https://miro.com/app/board/o9J_lbUUBBQ=/

По многим из этих тем у нас есть уроки или задачки:

- для понимания, что такое веб-сервер, прочти урок https://github.com/codedokode/pasta/blob/master/soft/web-server.md
- для понимая MVC, работы с БД и формами, реши задачу про студентов, в ней много полезных советов: https://github.com/codedokode/pasta/blob/master/student-list.md
- далее есть более сложная задача сделать файлообменник на микрофреймворке Slim: https://gist.github.com/codedokode/9424217
- задача, близкая по сложности к реальным задачам на Laravel/Symfony: https://gist.github.com/codedokode/8733007
- после нее можно изучать автоматизированное тестирование https://gist.github.com/codedokode/a455bde7d0748c0a351a
- если ты все решил, переходи к Symfony или Laravel
- почитать про паттерны можно тут https://designpatternsphp.readthedocs.io/ru/latest/ (если ты не изучил ни одного фреймворка, то это будет рановато). Если хочешь увидеть примеры использования паттернов в реальном коде - ковыряй исходники Симфони, например Symfony Forms. Ну и скажем честно, начинающему без опыта, который не видел сложный код, паттерны понять будет сложно.
- для улучшения английского можно читать news.ycombinator.com - там много статей на тему IT.

Также, у нас есть задачи которые позволят тебе изучить или подтянуть до нормального уровня знания JS/HTML/CSS/SQL. Решай их параллельно с задачами выше.

- задачи на HTML/CSS: https://github.com/codedokode/pasta/blob/master/html/html.md
- хороший учебник по JS: https://learn.javascript.ru/
- задачи на JS: https://gist.github.com/codedokode/ce30e7a036f18f416ae0
- задача на SPA (сложно): https://github.com/codedokode/pasta/blob/master/js/spa.md
- проверялка решений на JS: http://dkab.github.io/jasmine-tests/
- задачки на SQL: https://www.sql-ex.ru/ (нужна регистрация), https://sql-academy.org/ru/trainer и немного наших задачек: https://github.com/codedokode/pasta/blob/master/db/databases.md

Что еще почитать

- Мануал по PHP — http://www.php.net/manual/ru/langref.php
- https://phptherightway.com/
- Книга: Профессиональное программирование на PHP Джордж Шлосснейгл
- Книга: Мэтт Зандстра — PHP: Объекты, шаблоны, методики программирования
- Про Git: https://git-scm.com/book/ru/v2
- Задачи на алгоритмы: https://codeforces.com/problemset

Дополнительно

- скачать учебник: зайди на https://github.com/codedokode/phpbook, нажми зеленую кнопку Code -> Download ZIP, распакуй на рабочий стол и открой index.html
- что будут спрашивать на собеседовании, если 0 опыта - будут гонять по теории, по официальному мануалу PHP, давать дурацкие задачки на переворачивание строк, гонять по SQL (транзакции, внешние ключи, напиши запрос), по JS (как сделать анимацию при нажатии кнопки), ну погугли, не ленись
- сколько времени надо изучать все это? - все зависит от тебя, в районе 10-15 месяцев
2 3324209
Спасибо за перекат
3 3324262
Спасибо за битрикс тред. Вкатился
4 3324287
>>24202 (OP)

>почитать про паттерны можно тут


Мне надо про паттерны работу написать, с фреймворками еще не работал, но знаю ООП неплохо. Получится?
5 3324290
>>24287
Может получится, а может и не получится. Дерзай!
6 3324308
Подскажите, этот ваш ПХП вообще что-то актуальное или уже нет? Просто, яндексы вообще не учат на пыхеров, и даже не берут к себе с профилем по пыхе. Я просто присматриваюсь к программированию (платина, да) и ищу что попроще себе, поэтому интересуюсь.
7 3324314
>>24308
Пхп ето кал, если есть возможность залететь на другие стеки, то дерзай, а пхп только в последнюю очередь рассматривай
8 3324327
>>24308

>Подскажите, этот ваш ПХП вообще что-то актуальное или уже нет?


Нет, неактуальное.
9 3324329
>>24308

>яндексы вообще не учат на пыхеров


Так это как раз хорошо! Значит, меньше вкатунов с говнокурсов, меньше алгоритмического дроча, требований вышки, зарплат по 40к на старте и вот этого всего. К слову, говнокурсы яши (а с ними и скуфбоксов etc) нигде не котируются - яндекс сам своим хрюшам спускает инструкции отсеивать выпукников собственных курсов, потому что прекрасно понимает что торгует калом и прост прогревает лохов на бабки.
10 3324338
>>24329
Это ты еще битрикс не видел!
Там вообще по 0 откликов на каждую вакансию, самое то для вкатуна 👍
11 3324342
>>24329

>яндекс сам своим хрюшам спускает инструкции отсеивать выпукников собственных курсов, потому что прекрасно понимает что торгует калом и прост прогревает лохов на бабки.


Неужели нет человека внутри яндекс который сольет эти инструкции в сеть и разошлет вкатунцам отдавшим 150к за обучение🤣🤣🤣😂😂
12 3324351
>>24308

>Подскажите, этот ваш ПХП вообще что-то актуальное или уже нет?


Он будет актуален ещё лет 20 как минимум. В мире есть куча консервативных людей, которые как выучили jquery, php, mysql двадцать лет назад, они так и будут лет 20 его использовать, до 2044 года. И лично я не считаю пхп ужасным языком. Проблема не в языке. Проблема в мудаках-программистах и мудаках-заказчиках. Кто заказывает проекты на пхп? Мелкий бизнес в основном, каждый второй говномагазин в интернете написан на пхп. И разные далёкие от айти люди. Типа логических компаний, перевозчики, депутаты, государственные органы, косметологи, и прочее. Будет ли технологическая компания, которая прям живёт и дышит айти разрабатывать проекты на пхп? Да конечно же нет! Пхп нахуй не нужен яндексу, гуглу, амазону и т.д. Потому что он медленный и сфера его применения ограничена одним вебом. Стоит ли пхп учить на перспективу? Конечно же нет. Перспективы у языка нет никакой.
13 3324421
>>24338
да там минимум 2 года опыта на этом кале требуют
14 3324422
>>24421
Лол, если на этот кал требуют два года опыта, то на остальные стеки даже смотреть смысла нет. Вкат в айти всё. Нужно вкатываться в рабочие профессии типа заводчан или сварщиков
15 3324437
>>24342
>>24329
Не понял. А почему тогда у них на глагне написано что 100% помощь с трудоустройством после окончания курса у яндекса?
16 3324439
>>24437
100% помощь, а не 100% трудоустройство. Инфоцыгане любят такие тонкие моменты где можно развести гоя
17 3324453
>>24437

>почему тогда у них на глагне написано что 100% помощь с трудоустройством после окончания курса у яндекса?


Это просто маркетинговое наебалово. "Помощь" можно трактовать как угодно. Можно сказать вы подписались на наш список рассылки с вакансиями - это мы помогаем вам. Тоже самое, вкатываетесь или вернём вам деньги. Я могу статистически посчитать, допустим один из 5 не вкатывается. Ага, значит я могу повысить стоимость на 20% и я ничего не теряю, если верну этому чуваку деньги.

В любом случае, надо читать договор и мелкий шрифт. Наплести они могут что угодно.
18 3324491
>>24453

>Ага, значит я могу повысить стоимость на 20% и я ничего не теряю, если верну этому чуваку деньги.


Всё проще - требуем от вкатуна 10 письменных отказов, приносит - возвращаем деньги. Интересно, был ли хоть один прецедент возврата бабок за говнокурсы.
anime-character-holding-a-tea-cup-with-smug-face-pwvy14m8gp5o5kta.jpg70 Кб, 1456x819
19 3324498
Наивный.
Каждый залетающий в айти и этот раздел думающий что после курсов будет комо то нужен. Так вот, такого не было никогда, владельцы курсов просто продают лопаты во время местной залотой лихорадки, им вск равно на качество продукта. Привыкайте воспринимать курсы просто как интро к каком-то иеструменту, в любом случае будете 90% времени гуглить и учиться со стронних источников и доков, если конешно хотите в айти попасть.
1731880231906.jpeg52 Кб, 1280x578
20 3324509
21 3324592
>>24509
Нет, обязательно чтобы указано было что с яндекса тоже не берут
22 3324629
Поясните а если я создаю проекты при помощи oper server я говнокодер, и норм парни вручную все настраивают?
23 3324646
>>24629
Норм парни не кодят на пыхе из-под винды. Хотя когда я работал на битриксе, там опытные челы его использовали, потому что надо логиниться в учетки заказчика, а там свои впн настроены и клиенты ток под винду. Лучше потрать пару дней и попердолься с vagrant homestead.
24 3324664
>>24629

>и норм парни вручную все настраивают



Норм парни докером пользуются, лол. Как раз вручную настраивать это через опенсервер, потому что "не автоматически"
25 3324667
>>24629
В одной маленькой конторе использовали вагрант, ковырялись в конфигах сервера и работали с консолью, затем успешно мигрировали на докер. А вот в других "крупных" компаниях использовали open server. Причем даже было такое, что у одного опенсервер на апаче, а у другуг на нджинксе.

>я говнокодер


Ты лишаешь себя опыта работы с линуксом
26 3324724
>>24629
Да, накатывай WSL и к нему докер
27 3324731
>>24724
>>24667
>>24664
>>24646
Понял, короче будем думать решать как работать с линуксом, просто щас срочно понадобилось сайт создать и некогда было разбираться
28 3324734
>>24731
На самом деле если сайт свой то пох. А вот когда это чет сеньезное то надо знать
29 3324737
>>24734
Ну я с заделом на будущее. Пока просто не особо пазл складывается, хотя вроде знаю какая технология для чего, например редис, бд, ларавел, апачи, пхп, реббитмк, а как все это вместе сделать сложить и почему именно линукс понимания нет. Я так сказать неуспешный студент и вписался в проект один. Поэтому выбрал что то попроще по типу опенсервер где все уже есть
30 3324749
>>24737

>и почему именно линукс понимания нет


Хостинги на линуксе (если это не для .NET насколько я помню). Но пока нет доступа к терминалу, можно не заморачиваться наверное.
31 3324751
>>24308

> ПХП вообще что-то актуальное или уже нет?


Открой хх и посмотри кол-во вакансий
32 3324794
>>24724
А че там накатывать то? Я просто скачал докер, ткнул галку с wsl, всё запускает работает, как я понимаю используя всл сразу.

Или ты предлагаешь прям взять всл, туда скачать образ линукса и уже на Линуксе запускать докер? Тогда наверное проще виртуалку поставить
33 3324796
>>24794

>Я просто скачал докер, ткнул галку с wsl


Это и имел ввиду, этого достаточно.
34 3324814
>>24737

>и почему именно линукс понимания нет



Потому что Windows Server в целом не очень. Для маленьких сайтиков он слишком сложный и обладает кучей корпоративных функций. Для больших сервисов он недостаточно свободы дает.

У него ниша это только "энтерпрайз .NET". То есть вы не айтишная компания, например крупная авиакомпания. И у вас есть собственное мега-приложение на .NET которое вы используете для автоматизации работы компании.

Вот тут виндосервер еще +- норм. Но опять же, не в российских реалиях.
35 3325326
Копченый ку как жизнь
36 3325357
>>24453

>100% помощь


Максимум разберут типичные вопросы с собесов и помогут с оформлением резюме, всё. По блату никого никуда не протолкнут.
>>24498
Всё так. Сам пробовал курс по питухону, это пиздец, никто вообще не понимал чё к чему, все повторяли какой то код за преподом как обезьянки, потом он по минимуму пытался объяснить что это всё значит и переходил к следующей теме. Тупо чел сидит на зп и ему срать какого качества кадры выпустятся с курса, задаёт алгоритмические задачи при том что алгоритмам даже не учит, они вообще не упоминаются на курсе, то есть он даже не вдупляет чему вообще учил и какого уровня знаний ожидать от людей. Пара дней уделяется ООП, столько же SQL, и сразу по программе приступаешь к Джанге с кашей в голове. Мм найс. Может в яндексе всё получше, учитывая что там годовая программа, хз.
37 3325438
>>25357

>Сам пробовал курс по питухону


Скиллбокс какой-нибудь?
38 3325827
>>24498

>владельцы курсов просто продают лопаты во время местной залотой лихорадки


По-моему и золотая жила уже иссякла.
39 3325949
>>25827
До сих пор яростно пиарят курсы. Каждое видео открою - там реклама ебаного курса
40 3325988
>>24646

>Норм парни не кодят на пыхе из-под винды.


Сейчас 2024 год на дворе, в win10 есть ядро линукса из коробки, wsl называется.
41 3326793
>>25988
На линухе придётся без пхпшторма кодить, там же только триалка.
42 3326809
>>26793
Он ломается блядь, сука, вы в КАЖДОМ треде про это говорите нахуй. Вам лень по ссылкам в шапке и по гуглу метнуться?
43 3326816
>>26793
Ты вообще знаешь что такое wsl? Редактор запускаешь из под винды, а кодовая база находится в wsl. И пхпшторм не нужен когда есть vscode.
44 3326828
>>26816
Ну чёт слышал, попробовать надо.
46 3327502
>>24737
Если только вкатываешься то опенсервер норм.

В тот момент, когда ты поймёшь, что пердолинг с виндой в попытках завести очередную хуйню начинает занимать слишком много времени, спокойно перекатишься на Линукс. Убунта казуальнее некуда.

Для более-менее серьёзной разработки Линукс необходим. Винда слишком херово работает под веб парашу.

И это говорит тебе убеждённый хейтер красноглазой недосистемы.
47 3327518
>>27502
W S L
S
L
48 3327567
>>27502

> В тот момент, когда ты поймёшь, что пердолинг с виндой в попытках завести очередную хуйню начинает занимать слишком много времени, спокойно перекатишься на Линукс


АХАХАХАХААХАХАХАХА
49 3327584
>>27502
Даже спермоблядь, макакающая на мразотном быдлокодерском ПЕХОПЕ, признаёт, что виндус говно, спешите видеть.
50 3327882
Как изучить симфони нормально?
51 3327913
>>27882
Это к репетитору
52 3327940
>>27882
Ну надо кароч нормально так сесть, с пивасом и кальмарами. И нормально так прочитать доку за вечер. Ну и все кароч.
53 3328209
Я вот так задачу на файлообменник сделал (пока без фреймворка и на sqlite). Что скажете, все ещё леденящий душу пиздец?

https://github.com/casshh87/uppu.ru
54 3328213
>>28209
Кринжанул с твоего списка студентов
55 3328244
>>28213
Потом переделаю
56 3328260
>>28209

>87


Дед, тебе уже пора макинтош деревянный примерять, а не вкатываться.
57 3328400
>>28260

У меня дежавю
Уже ведь ловили какого-то пенсионера с ником 1975
58 3328445
>>28213
А что с ним не так?
59 3328480
>>24202 (OP)
1) Есть еще какие-нибудь ресуры, где помогают реализовать свой pet проект?
2) Какие самые понятные ресуры для полного понимая MVC и SOLID, чтобы хватало на проекты и собеседования?
3) Есть какой-нибудь понятный курс для изучения алгоритмов (желательно с применением PHP)?
4) Как быстро освоить книгу Чистый код Душного Боба?
5) Какие курсы или ресуры посоветуете для изучения английского
60 3328497
>>28480
1-4 - подписка на Хекслет за 4к в месяц, лучше по пыхе ничего нет, там как раз разбираются все эти штуки + книга ACWA Book Adel F.
5 - хз это в /fl/
61 3328552
>>28209
Первое что бросается в глаза: используется композер, прописан автолоад, но какого-то хуя везде все равно include и require. Разберись как работает автозагрузка наконец.

Второе это классика: вся хуйня со всей хуйней. Вот есть у тебя файл file.php Там внутри внезапно нихуя не file, а FileHandler что бы это не значило. Который делает кучу какой-то хуйни, рисует какие-то теги, за каким-то хуем лезет в базу и поет и танцет и кофе варит. А самое главное там в конце файла прописан какой-то код, который дропает все приложение и чем-то срет в буфер вывода.

Ну тебя самого то не смущает что при подключении файла с названием file у тебя приложение работу завершает? Я уж не говорю про file_list в котром уже какой-то свой хэндлер и внезапно появляется класс File. Какого хуя FIle не в file, а в file_list - загадка.

Выглядит типичный говнокод на пхп пятнадцатилетней давности. Это даже не процедурное программирование, а какое-то полускриптовое, я хуй его знаю. То что там какие-то классы используются погоды не делает, они все равно хранятся в каких-то глобальных переменных, а вместо функций используется подключение файлов.

1. Надо изучить как пишутся ооп приложения на пхп, как работает автолоадинг, как пишутся и используются классы итд.
2. Надо разобраться как пишутся сайты. Как создать конфиг, что такое роутинг, про Index.php итд.
3. Надо наконец узнать что такое MVC и привести в минимальный порядок кодовую базу.
Дальше еще пунктов до тысячи. Но начать нужно с этих трех.
62 3328585
>>28480

>1) Есть еще какие-нибудь ресуры, где помогают реализовать свой pet проект?


>2) Какие самые понятные ресуры для полного понимая MVC и SOLID, чтобы хватало на проекты и собеседования?


>3) Есть какой-нибудь понятный курс для изучения алгоритмов (желательно с применением PHP)?


>4) Как быстро освоить книгу Чистый код Душного Боба?


Не, братан, ниче больше нет во всем интернете. Все сами тыкаем вслепую.
63 3329136
>>26837
Выглядит страшно такая конструкция с геттерами и сеттерами. Мне нубу с публичными атрибутами такого не понять.
64 3329226
>>26837
языку почти 30
UTF в язык так и не добавили
basedir() так и не может не обосраться на директории с русским названием
65 3329229
>>29226
basename()

фикс
66 3329246
>>29229
Походу basename исправили все таки..
https://bugs.php.net/bug.php?id=62119
67 3329256
>>28552
Пасиб за подробный ответ, будем изучать
Снимок экрана 2023-11-16 225819.png700 Кб, 1151x546
68 3329339
Посоны, какой компонент норм для раскидывания загруженных файлов по папкам?

Типа загружается файл -> хешируется, на выходе сохраняется в папки и вложенные папки (чтобы ФС не охуевала от количества) -> uploads/dfdf/dfdf/vbvbcv.jpg
69 3329843
>>29339
У нас название тримится по три символа и создаются подпапки по на abc/def/ghi/abcdefghi.txt
70 3329910
>>29843
Рандомное название + md5? Или прям хеш самого файла вычисляете типа crc?

Так же сама генерация в цикле типа while (true), типа если файл там такой есть, то по новой имя придумываем?
71 3329985
>>29910

>Рандомное название + md5


Да, именно так.

>типа если файл там такой есть


Теоритически такое может случиться. Но за 5 лет еще не случалось. Может это заслуга генератора случайной строки во фреймворке.
https://scrutinizer-ci.com/g/yiisoft/yii2/code-structure/master/operation/yii%5Cbase%5CSecurity%3A%3AgenerateRandomString
72 3329994
>>29985
Ну вот как я тебе написал - я так уже делал с while(true) if file_exists ... работает. У md5 коллизии же, перезапишет какой-нить файл и все
73 3330009
Нашел в телеге группу пхпшников, а там продакт менеджеры, проект менеджеры, системные аналитики и киберскоттеры обуждают лут с кс и ставки на доту. Вот у нас вроже бы срач, но все равно на древнегреческие симпозиумы походит.

>>29994
Ну если ты планируешь там держать больше 10к файлов, то наверное и стоит замарочиться. Я бы архивиро архивированием.
74 3330028
>>30009

>Я бы архивиро архивированием.


Чиво?

Это контент файлы для сайта, или пользователей. Тут явно архив не подойдет, т.к. нужно отдавать все
75 3330100
>>29910
>>29985
Так коллизии именно то что и нужно.
Берется хэш от содержимого файла. Это и будет его название.
Потом этот файл ищется в структуре, обычно это двойная вложенность по первым буквам /ab/cd, но если планируются миллионы файлов то можно сделать тройную.
Если файл с таким названием уже есть, то сравниваем тело файлов и в 99.999% случаев это дубль.

Какой нахуй цикл? Мы тыкаем в то место где должен храниться новый файл и проверяем занято ли оно.
76 3330108
>>30100

>Какой нахуй цикл? Мы тыкаем в то место где должен храниться новый файл и проверяем занято ли оно.


Это прикол? Ты проверяешь - он есть. Далее пересоздаешь - такой тоже есть. Твои действия без цикла? 10 раз if else бужешь писать, если есть то пересоздать имя?

Мой же вариант - цикл, сохранили -> break; или повторно создаем имя которого нет в папке
77 3330122
>>30108
Бля, ты рофлишь? Если это один и тот же файл, та каким хуем он два раза будет в твоем хранилище? Хэш берется ОТ ТЕЛА ФАЙЛА БЛЯДЬ, он не случайный.
78 3330143
>>24308
Он не-модный, но актуальный кто бы там чего не говорил.
79 3330145
>>24351

>В мире есть куча консервативных людей, которые как выучили jquery, php, mysql двадцать лет назад, они так и будут лет 20 его использовать, до 2044 года.


Дело даже не в этом, дело в том, что создано дохуя легаси которое надо поддерживать и развивать. Да и инструментарий стал настолько хорош, что на пыхе современной с совреенными фрейворками тупо быстро и удобно разрабатывать проекты типовые. Берешь условный Laravel и поехали.
80 3330146
>>28552

>Выглядит типичный говнокод на пхп пятнадцатилетней давности


То ощущение когда я вижу код худшего качества, который был написал американцем менее 10 лет назад для крупной компании кек.
81 3330225
>>30146
Пиндосы... хули с них взять?
image.png238 Кб, 421x354
82 3330247
83 3330276
>>30225
>>30247
Да нет, просто так существует жизнь вне айти-компаний. Это хэлскер и образование, у них айти тема это просто инструмент, работает и слава богу. Васян пришел считай нубом к ним, делал у них считай всё что надо, опыта не было, скиллов не было, хуяк-хуяк и клепал, а хуле работает, задачу выполняет. Зашквары там конечно были, вроде плэйнтекст паролей в БД и т.п., но в целом почему нет. У меня конечно глаза на лоб немного вылезли, поэтому мы им по чуть-чуть переписывали самый зашквар и более нормальные подходы внедряли.
84 3330483
Мне нечего делать, поэтому я разведу срач.

У меня одного ощущение что ебаные исключения - это говно и ненужный рак?
Серьезно, по факту это сраный goto хуй знает куда.

Если ты (или библиотека которой ты пользуешься) пробрасываешь исключения грамотно, то есть свой тип исключения на каждую возможную проблему - у тебя уродуется код, половина логики переезжает в блоки catch. Если же исключения кидаются хуй знает как (99.9% всех библиотек), то и обработать их ты нормально не можешь, и все что тебе остается - оборачивать код на самом верхнем уровне просто для того, что бы отдавать клиенту не 500 ошибку, а 400.

Проанализировал свой опыт.
Сколько раз у нас были проблемы от того, что мы не перехватывали исключения, а прямо и открыто хуярили юзеру 500 ошибку в ебало?
Да на самом деле нисколько, лол. Дело кончается визгами менеджеров и оперативным фиксом проблемы.
А вот попытки ОБРАБАТЫВАТЬ исключения рано или поздно кончаются тем, что ты проблему скрываешь, но не решаешь. И вот в таких случаях всплывают уже косяки такого уровня, при которых тимлида ебут, а разрабов пиздят арматурой.

Годтир решения - на одном из проектов мы перешли на пробрасывание по методам дтошек, которые содержали в себе статус операций, массив ошибок если есть, массив соообщений если есть. И это было супер пиздато. Ловкой исключений занимались только там, где были уверены что это необходимо и мы этой ловлей делали что-то полезное и нужное,.а не заметали проблему под плинтус.
image.png22 Кб, 611x454
85 3330561
Поч не заводится? Уже порт менял, всё делал, плак.
Di9Zl1Wyj9s.jpg71 Кб, 1280x720
86 3330580
>>30483

>есть свой тип


>уродуется код



>массив


>массив


>супер пиздато



Старина...
87 3330647
>>30122
Мы вообще про разные подходы говорим, ты свое думаешь, я свое. Надо изначально было писать - для чего. А не додумывать что вот у него так как у меня. - это правило нужно внедрять всем программерам чтобы не плодить лишние разговоры и недопонимание.

Мой вариант просто сохранять файлы, если удаляешь пост, то все удаляется без лишнего кода и напряга что затронет что-то другое.

Твой вариант файл строредж для хостинга, чтобы экономить место на диске, но дрочить процессор. Вычисления хеша файлов очень долгая операция. Если есть 7zip архив, сам проверь, там в контекстном меню будет вычисления crc32 + будет хуево если популярный сервис куда дохуя че заливается и нужно думать как все делать асинхронно для обработки, очереди подключать, логику разруливания мол если Вася удалит пост, то общий файл не удалять.
88 3330851
>>30647

>Мы вообще про разные подходы говорим


Ну если ты называешь подходом "насрать хуйней", то да. Я говорю как сделать нормально.

>Мой вариант просто


У нас разные понимания о простом. Чтобы сделать все по уму нужно написать небольшую либу из нескольких классов. Это для программиста минимальные усилия, делается за пару часов. Я хуй знаю куда еще проще. Запихнуть это все в одну функцию, которую вклячить где-нибудь прямо в шаблоне посреди хтмл?

>Твой вариант файл строредж для хостинга, чтобы экономить место на диске, но дрочить процессор. Вычисления хеша файлов очень долгая операция.


Ну и нахуя ты начал кукоретизировать если нихуя в теме не шаришь? Вычисление хеша будет твоей самой меньшей проблемой при большом потоке файлов и нагрузке.

Короче как всегда. Написать нормальный код это сложна. А маняфантазировать про то как оно "если популярный сервис" легко.
89 3330866
>>30851

>"насрать хуйней


Аргументы

>Я говорю как сделать нормально.


Аргументы

Ты же думаешь что ты обладаешь авторитетом и твои слова теперь нужно воспринимать на веру?

>кукоризироваться


>не шаришь


>маняфантазии


Очередной петух ЧСВ-шный, который в реальности смотрит всегда в пол, прячет глаза и боится людей в реале, чтобы по ебалу не получить ненароком, сейчас же, сидя в безопасности расписывает тему на 10 постов с целью самоутвердиться хоть где. Вместо того чтобы написать верный путь в качестве одного ответа, он плодит посты как хуесос и выебывается наслаждаясь что гандона вынужденно терпят - Да пошел ты нахуй чмошник.

Адеватный люди либо не отвечают, либо отвечают сразу и не сосут внимания на 10 постов попутно говоря что ты хуесос. Это как ученик приходит учится водить машину, а инструктор вместо того чтобы показать как - хуесосит его. Так вот нахуй иди потомок гнилозубых крестьян, шариков ебаный.
Бля, будет бизнес, с русскими работать не буду. А то как же свое ВЕЛИЧИЕ не продемонстрировать, не самоутвердится за счет другого, нахуй иди пидорас
16792914653930.jpg18 Кб, 246x250
90 3330898
>>30866
Ебать там насрано в башке.
С такими вводными надо не в пхп вкатываться, а на прием к психологу.
С пассажа про крестьян, бизнес и величие прогиграл.
91 3330962
>>30561
А Логи что пишут? Вообще связку пхп-апачи-БД можно и вручную запустить спокойно
image.png8 Кб, 438x60
92 3331059
>>30962
Вот такую штуку заметил, теперь надо поискать что за сервер уже работает, хотя вроде никаких не ставил и не запускал.
93 3331093
>>30962
Всё анон, разобрался, оказывается какойто апач и правда уже был в системе и работал, теперь всё норм, решил проблему с ксампом, спасибо!
Screenshot 2024-11-28 at 14-12-43 шаблонизатор php - YouTube.png232 Кб, 1113x251
sage 94 3331128
95 3331144
>>31128
Поясни вкатуну. Типа что жс можно и на бек сайд использовать?
96 3331495
>>28497
Спасибо
>>28585
В чем проблема поделиться ссылкой? Поиском в инете все равно годноту найти сложно
sage 97 3331615
>>31495

>поделиться ссылкой



>годноту найти сложно



У тебя уже с логикой траблы. Ну и вкатываться сейчас бесполезно
98 3332292
>>31128
Хуйня.
99 3335364
Симфонисты в чате есть? Когда оправдано использование событий, какие обработчики разумнее навесить на события?
Когда работал на прошлом проекте, при создании сущности было нахуеверчено несколько обработчиков, которые ходили в сторонние сервисы и что-то писали в базу. Заебался это говно отлаживать. Какие нормальные юзкейсы есть?
100 3335448
>>35364
А причем тут симфони? Как событийная модель связана с фреймворком?

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

Событие это результат выполнения чего-то. Доменное событие - это результат выполнения метода доменной модели. Системное событие - это резултат обращения к методу апи или контроллеру. refreshCart() -> CartRefreshed, createOrder() -> OrderCreated.

Юзкейсов для этого миллион. По сути весь CQRS, всё DDD и микросервисы так работают. В статью не уместится объяснение как это правильно организовывать и почему. Это надо серию лекций проводить. Объяснять что такое юнит оф ворк, про два эвент лупа итд.

Тут скорее вопрос какие такие проблемы с отладкой? Включил дебаггер, поставил брейкпоинт в нужном обработчике, дернул апишку через постман или форму в браузере отправил. Ну или в нужных обработчиках логи подрубил и все. Какие проблемы?
101 3335469
>>35364

>Когда оправдано использование событий


Почти никогда

>Какие нормальные юзкейсы есть


Когда лень думать над потоком выполнения данных -- пукнул в кафку и забыл
102 3335615
>>35469

>Почти никогда


Ебало вкатуна имаджинировали?
103 3335671
Нужно ли попробовать свой фреймворк создать перед работой с другими? И надо ли перед этим паттерны проектирования знать
104 3335706
>>35671
Таненбаума еще прочитай и в опенсорс коммиты.
105 3336179
>>35671

>И надо ли перед этим паттерны проектирования знать


Это для продвинутых, ты все равно нихуя не поймешь если прочитаешь про них
106 3336352
>>35671

>Нужно ли попробовать свой фреймворк создать перед работой с другими?


А зачем? На работе ты все равно будешь работать только с ларкой или симфонией. Как работает mvc надо знать, в вакухаа часто встречается такое требование, но с этим разберешься по ходу изучения существующего фреймворка.
>>36179
Я лично понял, уделив пару недель чтобы вникнуть. Они напрямую из изучения ооп вытекают как и солид, и грасп, эти темы неотрывны друг от друга. Не понимаю, как можно обходить эти темы при вкате. Это же маст хэв.
107 3336363
>>36352

>из изучения ооп вытекают


>грасп


>Я лично понял, уделив пару недель


И сразу ясно что ты нихуя не понял.
Грасп это сборник паттернов аля GoF. Только крайне неудачный. Навыдумано куча не прижившихся теминов для уже устоявшихся вещей. Перепутанны паттерны с принципами. Все это полито хуевым слогом автора и хуевыми же переводами из девяностых. Интерес это представляет чисто археологический. И уж совершенно точно ниоткуда не вытекает и никуда не втекает.
108 3336408
>>36363

>Грасп это сборник паттернов аля GoF.


Грасп это не "шаблоны" буквально, просто так назвали, а скорее "принципы", - это слово больше подходит, - такие как солид - как разделять ответсвенность между классами при проектировании. В нем хотябы эти 2 высокое единство и низкое зацепление напрямую проистекают из приинципа единой ответсвенности и инверсии зависимостей.

Паттерны банды четырех, у меня сложилось впечатление, практически все solid'ные [по крайней мере из примеров на рефакторинг гуру], это действительно "паттерны", а не это грубое слово "шаблоны": фабрики, адаптеры, это все добро ты пишешь и без знания как они именуются, но знать бы хорошо. Кроме банды 4х еще есть другие такие как Спецификация, null object, текучий интерфейс.

>И уж совершенно точно ниоткуда не вытекает и никуда не втекает.


Как же - вся эта ооп хуйня взаимо переплетена, логикой и здравым смыслом, даже многослойная архитектура, ddd, например, то что зависимость слоев должна быть внутрь.
Это помогает писать понятный хорошо поддерживаемый код.

Разве я где-то ошибся, не нужно это знать вкатуну? Просто в вакансиях вижу часто, значит есть причина, по которой это туда записывают.
109 3336477
>>36408

>Грасп это не "шаблоны" буквально, просто так назвали, а скорее "принципы"


Пчел. Хватит гадать и фантазировать. У этой хуйни есть конкретный автор - Крейг Ларман. У него есть конкретная книга. Книга хуевая. Че ты тут раскумариваешь вилами по воде?

>Паттерны банды четырех, у меня сложилось впечатление, практически все solid'ные


Опять, нахуя с умным видом че-то из пальца рассусоливать? Год выпуска книги 1994. А значит она основана на опыте ДО 1994 года. Никакими солидами еще лет десять вонять не будет.

>Как же - вся эта ооп хуйня взаимо переплетена


>даже многослойная архитектура, ddd, например, то что зависимость слоев должна быть внутрь


Просто чушь написана. Внутрь чего блядь? Снаружи чего? Ты просто определение "слоя" можешь сформулировать?

>Это помогает писать понятный хорошо поддерживаемый код.


Формальные доказательства этому какие-нибудь есть? Вот и думай.

>Разве я где-то ошибся, не нужно это знать вкатуну? Просто в вакансиях вижу часто, значит есть причина, по которой это туда записывают.


Потому что хотят сеньора по цене вкатуна. А получают человека, который начитался всего подряд и следующие десять лет будет эту информацию в башке систематизировать, производя километры говнокода. В лучшем случае разумеется. В худшем будет просто срать говном и в бороду не дуть.
c8o8fxqwcf921.webp66 Кб, 640x754
110 3336491
>>36477

>Хватит гадать и фантазировать. У этой хуйни есть конкретный автор - Крейг Ларман.


Я чё, ебич книги читать? Лучше тикток короткие статьи посмотрю, видосы в ютубе, да чат гопоту подрочу. Меньше времени и мозговых усилий.

> Год выпуска книги 1994.


Я их везде вижу, эти билдеры, адаптеры, фабрики. Что ты имеешь ввиду?

>А значит она основана на опыте ДО 1994 года.


И что с того? Законы гравитации открыты Ньютоном в 1666 году.

>Внутрь чего блядь? Снаружи чего?


Зависимости классов в каждом слое должны быть направлены внутрь.
- Слой представления или слой интерфейса (слой UI, UIL, пользовательский интерфе́йс, уровень представления в многоуровневой архитектуре)
- Слой приложения (сервисный слой, сервисный уровень)
- Слой бизнес-логики или доменный слой (слой предметной области, BLL, доменный слой)
- Слой доступа к данным или слой инфраструктуры (слой хранения данных, DAL, слой инфраструктуры; логирование, сетевые взаимодействия и другие сервисы, требующиеся для поддержания конкретного слоя бизнес-логики).
Слой это логический уровень, который выполняет строго определённые функции и изолирован от других слоёв, чтобы обеспечить модульность, читаемость и переиспользуемость кода.
Каждый слой отвечает только за свои задачи и общается с другими через четко определенные интерфейсы.
Зависимости должны быть направлены внутрь и это согласуется DIP.
По уровню вложенности центральный слой - бизнес-логики(домейнс). Он же одновременно самый абстрактный (абстракция ооп), автономный и не зависит ни от чего.
Слой инфраструктуры зависит от слоя приложения и бизнес логики(доменного слоя)
Слой приложения от слоя бизнес логики.
Слой презентации/интерфейса самый внешний. Презентация обращается к Application Layer, он обращается к слою бизнес логики, имплементацию которого мы делаем в слое инфраструктуры. Связываем короче с фреймворком и библиотеками.
Эта вся архитектура опирается на ооп принципы, солид, грасп и прочую хуйню, вероятно о которой я еще не знаю. Оно все взаимосвязано, понимаешь?

>Формальные доказательства этому какие-нибудь есть?


Например, если меняется технология базы данных (например, с MySQL на PostgreSQL), изменения вносятся только в Infrastructure Layer, не затрагивая доменную логику. Проект с разделением слоёв требует меньше времени на адаптацию, так как центральные модули во внутренних слоях остаются неизменными.
Модульность, переиспользуемость, расширяемость, меньше времени на адаптацию посторонних. В случае говнокода, все наоборот. Разумные люди все эти принципы вывели!

> следующие десять лет будет эту информацию в башке систематизировать


Я всё систематизировал, успокойся, братишка. Просто выделил место и время чтобы вникнуть. Может еще расписать именно какие классы в каком слое писать, какие классы фреймворка соотвествуют слоям? Мне не лень, правда интересно.
c8o8fxqwcf921.webp66 Кб, 640x754
110 3336491
>>36477

>Хватит гадать и фантазировать. У этой хуйни есть конкретный автор - Крейг Ларман.


Я чё, ебич книги читать? Лучше тикток короткие статьи посмотрю, видосы в ютубе, да чат гопоту подрочу. Меньше времени и мозговых усилий.

> Год выпуска книги 1994.


Я их везде вижу, эти билдеры, адаптеры, фабрики. Что ты имеешь ввиду?

>А значит она основана на опыте ДО 1994 года.


И что с того? Законы гравитации открыты Ньютоном в 1666 году.

>Внутрь чего блядь? Снаружи чего?


Зависимости классов в каждом слое должны быть направлены внутрь.
- Слой представления или слой интерфейса (слой UI, UIL, пользовательский интерфе́йс, уровень представления в многоуровневой архитектуре)
- Слой приложения (сервисный слой, сервисный уровень)
- Слой бизнес-логики или доменный слой (слой предметной области, BLL, доменный слой)
- Слой доступа к данным или слой инфраструктуры (слой хранения данных, DAL, слой инфраструктуры; логирование, сетевые взаимодействия и другие сервисы, требующиеся для поддержания конкретного слоя бизнес-логики).
Слой это логический уровень, который выполняет строго определённые функции и изолирован от других слоёв, чтобы обеспечить модульность, читаемость и переиспользуемость кода.
Каждый слой отвечает только за свои задачи и общается с другими через четко определенные интерфейсы.
Зависимости должны быть направлены внутрь и это согласуется DIP.
По уровню вложенности центральный слой - бизнес-логики(домейнс). Он же одновременно самый абстрактный (абстракция ооп), автономный и не зависит ни от чего.
Слой инфраструктуры зависит от слоя приложения и бизнес логики(доменного слоя)
Слой приложения от слоя бизнес логики.
Слой презентации/интерфейса самый внешний. Презентация обращается к Application Layer, он обращается к слою бизнес логики, имплементацию которого мы делаем в слое инфраструктуры. Связываем короче с фреймворком и библиотеками.
Эта вся архитектура опирается на ооп принципы, солид, грасп и прочую хуйню, вероятно о которой я еще не знаю. Оно все взаимосвязано, понимаешь?

>Формальные доказательства этому какие-нибудь есть?


Например, если меняется технология базы данных (например, с MySQL на PostgreSQL), изменения вносятся только в Infrastructure Layer, не затрагивая доменную логику. Проект с разделением слоёв требует меньше времени на адаптацию, так как центральные модули во внутренних слоях остаются неизменными.
Модульность, переиспользуемость, расширяемость, меньше времени на адаптацию посторонних. В случае говнокода, все наоборот. Разумные люди все эти принципы вывели!

> следующие десять лет будет эту информацию в башке систематизировать


Я всё систематизировал, успокойся, братишка. Просто выделил место и время чтобы вникнуть. Может еще расписать именно какие классы в каком слое писать, какие классы фреймворка соотвествуют слоям? Мне не лень, правда интересно.
a03370bdd41f239550f13f91c83d4f82.png1,1 Мб, 1600x1200
111 3336503
>>36491

>Слой это логический уровень, который выполняет строго определённые функции и изолирован от других слоёв, чтобы обеспечить модульность, читаемость и переиспользуемость кода.


Водянистая мокрая вода с точки зрения банальной эрудиции.
Где у слоя верх, а где низ? Вот я добавляю в мое приложение слой "похуйструктуры", куда у него внутрь смотрит, а куда наружа?

>Зависимости должны быть направлены внутрь и это согласуется DIP


Вот есть сервис "календарь" и сервис "часы". Кто от кого зависит и кто направлен внутрь?

>В случае говнокода, все наоборот.


Ну я тебя и спросил: есть этому какие-то доказательства кроме "траст ми бро"? Пикрелейтед тоже умные люди писали, модульно и понятно с первого взгляда, а если че-то надо поменять... кайф.

>Я всё систематизировал, успокойся, братишка.


Оно и видно. Хуйню несешь с вдохновением, СИСТЕМНО.

>Может еще расписать именно какие классы в каком слое писать, какие классы фреймворка соотвествуют слоям?


Кароч квадратные классы пиши в верхнем слое, чтобы с крыши не скатились. А круглые в нижнем, чтобы пружинило.
Ты че-то такое хотел увидеть? Ты как вообще классы друг от друга отличешь? Что значит "какой" класс? Че в нем особенного?
112 3336516
>>36503

>модульно и понятно с первого взгляда, а если че-то надо поменять...


Вот поэтому надо читать ТАНЕНБАУМА полностью.
113 3336526
>>36516
Главное не забыть ISBN на удачу три раза перечитать и описание.
114 3336547
Вот бы программирование качалось как в Скайриме. Пишешь хелло ворлд 1000 раз каждый день и через неделю становишься сеньером.
115 3336634
А что может быть креатором, который в граспе? Сервис, репозиторий или активрекорд/елоквент?
116 3336911
>>36503

>Где у слоя верх, а где низ?


Верх - ближе к клиенту. Низ - ближе к фреймворку, внешним библиотекам, базе данных.
Они в разных местах по разному называются, я пишу их через слэш чтобы было понятно что это одно и то же.
Слой интерфейса/презентации самый верхний, тут контроллеры, artisan команды, вьюхи.
Слой инфраструктуры - самый нижний. Тут происходит реализация интерфейсов, наследование, композиция из верхних слоев чтобы связать абстракцию с реализацией.
Критерий отделения - ответственность. Если у тебя модель элоквент инжектится в контроллер напрямую, то тут слои смешиваются. То же самое касательно отдельно взятых классов.
Ответственности:
- Слой интерфейса/презентации отвечает за взаимодействие с пользователем, не более.
- Слой приложения(application) чисто координирует классы из слоя бизнесс-логики/доменной логики. Не более.
- Слой бизнесс-логики/доменный слой -

> Вот я добавляю в мое приложение слой "похуйструктуры"


Полагаю, ты можешь условно нарезать лишь существующие 4 слоя на подслои. Потому что они исчерпывают вопрос полностью. На пике 1, например, бизнес слой это слой application + domain слой, а persistence и database это слой инфраструктуры. Я хз по какому критерию они здесь нарезаны.

>Вот есть сервис "календарь" и сервис "часы". Кто от кого зависит и кто направлен внутрь?


В слое бизнес логики у тебя абстрактный календарь. Его можно бесконечно делить на подсущности (по необходимости), а можно сделать эти подсущности/Value Objects просто полями сущности. Например таймстемп класс может быть поделен еще на value object'ы здесь - дата, время, секунды, etc.
Что описывает слой доменов/бизнес-логики конкретно? Он выполняет конкретную работу. Слой доменов не знает о внешнем мире. Если конкретно понятие "доменный", а не бизнесс-логики, то он выполняет атомарные операции над классами-сущностями домена, которые тоже лежат в в слое доменов. И бизнесс-правила - как они должны обрабатываться, не зависимо от фреймворк-специфичной хуйни. И эти классы, что выполняют конкретную работу в более абстрактном доменном слое "связываются" с фреймворком, внешними библиотеками через слой инфраструктуры (реализация интерфейсов, наследование, композиция), понял?
Слой приложения более верхний к пользователю собирает в себе эти атомарные операции в сценарии/экшины и координирует.
Слой интерфейса чисто взывает эти сценарии. Отсюда правило что контроллеры должны быть "тонкими."
Вернемся к календарю. Роадмап как проходит процесс через слои.
Слой интерфейсов:
Ты нажимаешь кнопку "назначить встречу", это отправляется реквестом, оборачивается фреймворком в объект форм реквест.
Слой приложения:
Далее вызывается событие/сценарий/экшин/похуй "НазначитьВстречу". В него импортируются классы из слоя бизнесс-логики/доменного. Эти классы атомарны, здесь они все связываются по "идеи" того что происходит, круд операции, рассылка, синхронизация между календарями.
Слой домена/бизнес логики
Здесь переводится из человеческого языка и понятий (Ubiquitous Language) в классы.
Слой инфраструктуры:
Классы домена/БЛ абстрактны, здесь они связываются через сервис провайдер с их реализациями. Реализации тоже здесь.
Напомню, что структура папок !== архитектуре.

>Оно и видно. Хуйню несешь с вдохновением, СИСТЕМНО.


Я так и не понял твой доеб. Все объясняю как я понял.

>Ты че-то такое хотел увидеть? Ты как вообще классы друг от друга отличешь? Что значит "какой" класс? Че в нем особенного?


Неясен вопрос. Может быть переменнная, может быть массив, может быть трейт, ватэвер.
116 3336911
>>36503

>Где у слоя верх, а где низ?


Верх - ближе к клиенту. Низ - ближе к фреймворку, внешним библиотекам, базе данных.
Они в разных местах по разному называются, я пишу их через слэш чтобы было понятно что это одно и то же.
Слой интерфейса/презентации самый верхний, тут контроллеры, artisan команды, вьюхи.
Слой инфраструктуры - самый нижний. Тут происходит реализация интерфейсов, наследование, композиция из верхних слоев чтобы связать абстракцию с реализацией.
Критерий отделения - ответственность. Если у тебя модель элоквент инжектится в контроллер напрямую, то тут слои смешиваются. То же самое касательно отдельно взятых классов.
Ответственности:
- Слой интерфейса/презентации отвечает за взаимодействие с пользователем, не более.
- Слой приложения(application) чисто координирует классы из слоя бизнесс-логики/доменной логики. Не более.
- Слой бизнесс-логики/доменный слой -

> Вот я добавляю в мое приложение слой "похуйструктуры"


Полагаю, ты можешь условно нарезать лишь существующие 4 слоя на подслои. Потому что они исчерпывают вопрос полностью. На пике 1, например, бизнес слой это слой application + domain слой, а persistence и database это слой инфраструктуры. Я хз по какому критерию они здесь нарезаны.

>Вот есть сервис "календарь" и сервис "часы". Кто от кого зависит и кто направлен внутрь?


В слое бизнес логики у тебя абстрактный календарь. Его можно бесконечно делить на подсущности (по необходимости), а можно сделать эти подсущности/Value Objects просто полями сущности. Например таймстемп класс может быть поделен еще на value object'ы здесь - дата, время, секунды, etc.
Что описывает слой доменов/бизнес-логики конкретно? Он выполняет конкретную работу. Слой доменов не знает о внешнем мире. Если конкретно понятие "доменный", а не бизнесс-логики, то он выполняет атомарные операции над классами-сущностями домена, которые тоже лежат в в слое доменов. И бизнесс-правила - как они должны обрабатываться, не зависимо от фреймворк-специфичной хуйни. И эти классы, что выполняют конкретную работу в более абстрактном доменном слое "связываются" с фреймворком, внешними библиотеками через слой инфраструктуры (реализация интерфейсов, наследование, композиция), понял?
Слой приложения более верхний к пользователю собирает в себе эти атомарные операции в сценарии/экшины и координирует.
Слой интерфейса чисто взывает эти сценарии. Отсюда правило что контроллеры должны быть "тонкими."
Вернемся к календарю. Роадмап как проходит процесс через слои.
Слой интерфейсов:
Ты нажимаешь кнопку "назначить встречу", это отправляется реквестом, оборачивается фреймворком в объект форм реквест.
Слой приложения:
Далее вызывается событие/сценарий/экшин/похуй "НазначитьВстречу". В него импортируются классы из слоя бизнесс-логики/доменного. Эти классы атомарны, здесь они все связываются по "идеи" того что происходит, круд операции, рассылка, синхронизация между календарями.
Слой домена/бизнес логики
Здесь переводится из человеческого языка и понятий (Ubiquitous Language) в классы.
Слой инфраструктуры:
Классы домена/БЛ абстрактны, здесь они связываются через сервис провайдер с их реализациями. Реализации тоже здесь.
Напомню, что структура папок !== архитектуре.

>Оно и видно. Хуйню несешь с вдохновением, СИСТЕМНО.


Я так и не понял твой доеб. Все объясняю как я понял.

>Ты че-то такое хотел увидеть? Ты как вообще классы друг от друга отличешь? Что значит "какой" класс? Че в нем особенного?


Неясен вопрос. Может быть переменнная, может быть массив, может быть трейт, ватэвер.
117 3336914
>>36911

> - Слой бизнесс-логики/доменный слой -


Недописал здесь, но дописал дальше по тексту:

>Здесь переводится из человеческого языка и понятий (Ubiquitous Language) в классы.

118 3336921
>>36634

> А что может быть креатором, который в граспе? Сервис, репозиторий или активрекорд/елоквент?


Все верно. Отличие от фабрики из GoF - в том, что оно хранит в себе создаваемые объекты, чисто фабрика занимается только генерацией.
119 3336932
>>36911

>Потому что они исчерпывают вопрос полностью.


Ну так хули ты тогда тут воду льешь? Верх, низ, ебало умное делаешь. Заучил как дядя сказал и все. Какая разница где там верх, а где наружа, если это ригидная не изменяемая структура, котрую нужно просто принимать целиком как должное, просто потому что?

>Налил какой-то воды про сущности хуючности


>Начал про календарь, закончил тем что контроллеры долджны быть тонкие.


Пчел. Чтобы вычислить правильное время нужно знать какое сегодня число. А чтобы узнать какое сегодня число нужно знать время. Кто от кого зависит? Кто куда направлен? Ты в двух сервисах запутался? Меньше некуда, вопрос предельно простой.

>Неясен вопрос. Может быть переменнная, может быть массив, может быть трейт, ватэвер


Это твой вопрос не ясен. Ты спросил "какие классы в каком слое?". Это бессмыслица. Что блядь значит какие? Они что в разных "слоях" разные что-ли? В одном трейты, а в другом "переменные"? А в третьем что круглые блядь? Класс - это структура языка. Ты же не пишешь в одном обзаце предложениями, а в другом сказуемыми. Не пишешь же? Вопрос риторический. Не надо его сводить к слоям и высирать жпт пасту на страницу.

Короче эта дискуссия утомляет. Напоминает анекдот про студента на экзамене по зоологии, который выучил только про блох и ебет мозги преподу.
120 3337006
>>36932

>это ригидная не изменяемая структура


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

>нужно просто принимать целиком как должное, просто потому что


Не обязательно. Тогда не будет всех преимуществ solid и многослойной архитектуры.

>Чтобы вычислить правильное время нужно знать какое сегодня число. А чтобы узнать какое сегодня число нужно знать время.


Запросы и команды это 2 разных экшена, относится к слою приложения, из принципа CQR. Я описал команду "назначить встречу". Описать как происходит получение времени (запрос)? То же самое, только возвращаются данные.

>Кто от кого зависит? Кто куда направлен?


Зависят - слои. Абстрактные от реализаций. Конкретное выражение - в классах. Как выражается - DIP. Как связываются - через наследование, композицию, агрегацию, сервис-контейнеры.

>Ты спросил "какие классы в каком слое?" Это бессмыслица. Что блядь значит какие? Они что в разных "слоях" разные что-ли?


Конечно.

>Класс - это структура языка.


Ну ок. Ты не поверишь, но функциями тоже допустимо реализовать многослойность.

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


Ну так а что я не учёл, может скажешь мне? Будь няшкой. Я буду благодарен, потому что только начал изучать всё вышеперечисленное. Возможно у меня в голове на самом деле каша и/или пробелы в компетенции и знаниям. Со стороны виднее. А возможно что ты просто доёбываешься до ответов, спор ради спока, ибо я под твоими вопросами не улавливаю объеденяющего ничего.
Ты бака или няша?
121 3337018
>>37006

>Нет, почему?


Может потому что ты так и не смог найти место новому слою в этой структуре?

>Тогда не будет всех преимуществ solid и многослойной архитектуры.


И хуй стоять не будет, и деньги из дома уйдут.

>из принципа CQR


Все бля смешал. Пиздец просто. Без DDD и CQRS не разобраться какой из двух сервисов от какого зависит. Но ответа так и нет. Через пару постов выяснится что надо коллайдер строить чтобы это вычислить.

>Зависят - слои. Абстрактные от реализаций.


До этого угарали над абстрактными фабриками интерфейсов. Щас будем угорать над абстрактными слоями. Слой календаря и слой часов. Абстракный. Как выражается - DIP. Как связываются - через наследование, композицию, агрегацию, сервис-контейнеры. В народе — колхозник. В магазине — продавец. В экономике, так сказать, необходим. ШИЗОФАЗИЯ.

>Они что в разных "слоях" разные что-ли?


>Конечно.


В одном классе методы курсивом написаны, а во втором задом наперед?

>Ну так а что я не учёл, может скажешь мне? Будь няшкой. Я буду благодарен, потому что только начал изучать всё вышеперечисленное.


Код забыл написать.
Забить башку хуйней - забил. А написать реальный код, чтобы увидеть как этот мусор с реальной жизнью соотносится - забыл.
122 3337057
>>37018
Давай включим счетчик дебила.

>Может потому что ты так и не смог найти место новому слою в этой структуре?


Ты дебил, потому что я уже говорил, что их можно только на подслои поделить условно и их делят кто по какому критерию хочет. Как ты более конкретно ниже инфраструктуры опустишься, шизик? Что это за слой будет, приведи пример? Это физически и логически невозможно. Или выше слоя интерфейса? Чтение мыслей пользователя? Нейролинк? Это будет тот же слой интерфейса. Поделить существующие слои - да. Разделить по каком-то другом критерию ответственности - да, но это будет за рамками сабжа, о котором сейчс речь. Поэтому здесь вывод очевиден - ты дебил.

>Все бля смешал.


Ты дебил, потому что я несколько раз говорил, что эти все принципы взаимосвязаны. Что тебе еще не ясно? Ну можешь вместо запросов и команд назвать блять как хочешь, сервис, не пользуйся CQRS. Но суть его от этого не поменяется. Вывод здесь - ты дебил, потому что игнорируешь факт что все взаимосвязано. Аргументов против не услышал.

>ШИЗОФАЗИЯ


Да-да, держи в курсе.

>В одном классе методы курсивом написаны, а во втором задом наперед?


Чё сказать то хотел?
>>37006

> Ну так а что я не учёл, может скажешь мне?


На вопрос ты не ответил, значит я не ошибся, ты дебил, критикующий ради критики. Спор ради спора. С твоей стороны аргументов нет, только >пук. Я аргументы привел, почему все эти принципы взаимосвязаны и почему их нужно использовать.

> А написать реальный код, чтобы увидеть как этот мусор с реальной жизнью соотносится - забыл.


Говнокодера порвало. Какой у тебя стаж говнокода? Дебил, ты проигнорировал аргумент про говнокод.
Итого, ты заработал очков дебила: 4. В следующий раз уже постарайся!

Смысла продолжать не вижу, пользы от тебя и разговора с тобой никакой, пошел нахуй.
123 3337108
>>37057
Ну в общем какой итог беседы?

0) Что такое слой? Ответа нет. Налито воды что стой это кароч классы. Почему один класс в одном слое, а другой в другом? Ответа нет. Как глядя на класс определеить в каком он слое? Ответа нет.

1) Как определить куда добавить новый слой? Ответа нет. Есть какая-то залупа про подслои. Но даже рассказать что мы отслаиваем: низ вернего или верх нижнего ты не в состоянии.

2) Как определить какой из двух сервисов от какого зависит? Ответа нет. Есть охуительные истории про то как все взаимосвязано (ноу щит шерлок, это в вопросе написано) и на кой-то хуй приплетено CQRS.

3) Выдан тезис что в разных слоях классы написаны по разному. Объяснений нет. Ну по разному епты. Как по разному и что это вообще означает ответа нет.

Ну и разумеется именно меня порвало. И разумеется именно я не смог внятно ответить на вопросы. И именно я в бессильной злобе послал собеседника нахуй.
1509008861038.jpg98 Кб, 800x1201
124 3337118
>>37108

>Что такое слой?


Я тебе ответил здесь:
(>>36491)

>Слой это логический уровень, который выполняет строго определённые функции и изолирован от других слоёв, чтобы обеспечить модульность, читаемость и переиспользуемость кода.


-----

>Как глядя на класс определеить в каком он слое?


Ответил здесь:
(>>36911)

>Критерий отделения - ответственность.


-----

>Как определить какой из двух сервисов от какого зависит?


Ответил здесь:
(>>36911)

>И эти классы, что выполняют конкретную работу в более абстрактном доменном слое "связываются" с фреймворком, внешними библиотеками через слой инфраструктуры (реализация интерфейсов, наследование, композиция), понял?


И здесь:
(>>37006)

>Зависят - слои. Абстрактные от реализаций. Конкретное выражение - в классах. Как выражается - DIP. Как связываются - через наследование, композицию, агрегацию, сервис-контейнеры.


-----

>Выдан тезис что в разных слоях классы написаны по разному.


Глупый вопрос, ибо ответ очевиден и вытекает из вопроса про разделение слоёв. Или не очевиден? Дебилы просто мыслят квадратными, круглыми, курсивными классами, отсюда и желание приводить подобные аналогии, правильно понимаю?
-----

>И разумеется именно я не смог внятно ответить на вопросы.


Какие вопросы, такие и ответы.
-----

>Налито воды что


>И именно я в бессильной злобе послал собеседника нахуй


В текст нужно вникать, для начала, тогда не будет вопросов про воду и как один ответ связан с другим. Не удивляйся, почему ты послан нахуй.
1509008861038.jpg98 Кб, 800x1201
124 3337118
>>37108

>Что такое слой?


Я тебе ответил здесь:
(>>36491)

>Слой это логический уровень, который выполняет строго определённые функции и изолирован от других слоёв, чтобы обеспечить модульность, читаемость и переиспользуемость кода.


-----

>Как глядя на класс определеить в каком он слое?


Ответил здесь:
(>>36911)

>Критерий отделения - ответственность.


-----

>Как определить какой из двух сервисов от какого зависит?


Ответил здесь:
(>>36911)

>И эти классы, что выполняют конкретную работу в более абстрактном доменном слое "связываются" с фреймворком, внешними библиотеками через слой инфраструктуры (реализация интерфейсов, наследование, композиция), понял?


И здесь:
(>>37006)

>Зависят - слои. Абстрактные от реализаций. Конкретное выражение - в классах. Как выражается - DIP. Как связываются - через наследование, композицию, агрегацию, сервис-контейнеры.


-----

>Выдан тезис что в разных слоях классы написаны по разному.


Глупый вопрос, ибо ответ очевиден и вытекает из вопроса про разделение слоёв. Или не очевиден? Дебилы просто мыслят квадратными, круглыми, курсивными классами, отсюда и желание приводить подобные аналогии, правильно понимаю?
-----

>И разумеется именно я не смог внятно ответить на вопросы.


Какие вопросы, такие и ответы.
-----

>Налито воды что


>И именно я в бессильной злобе послал собеседника нахуй


В текст нужно вникать, для начала, тогда не будет вопросов про воду и как один ответ связан с другим. Не удивляйся, почему ты послан нахуй.
17336392946920.jpg246 Кб, 800x1201
125 3337128
>>37108
Вот, точно про тебя описано, слово в слово ситуация итт. Без обид, братишка.
https://ru.m.wikipedia.org/wiki/%D0%94%D0%B5%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C

>При нерезко выраженной дебильности ребёнок может ничем внешне не отличаться от сверстников. Сохраняются механическаяпамятьиэмоционально-волевая сфера. Внимание очень трудно привлечь и фиксировать. Запоминание замедленно и непрочно. У них преобладает конкретно-описательный тип мышления, в то время как способность кабстрагированиюпочти отсутствует. Тем не менее они могут формировать простейшие обобщения. Для них составляет трудность охватывание ситуации целиком, и обычно они улавливают только внешнюю сторону событий. Сложно воспринимают логические связи между предметами, понятия «пространство», «время» ит.д. Часто встречаются нарушения речи (отстаёт в развитии, искажение звуков, нарушения грамматического строя речи, скудныйсловарный запас). Хотя может быть и достаточно большой словарный запас, но речь при этом всё равно бедна и однообразна. Обычно не могут пересказать прочитанное, услышанное. Однако некоторым дебилам при задержке общего психического развития и малой продуктивностимышлениясвойственна частичнаяодарённость(вплоть досиндрома саванта): отличная механическая память (без осмысления повторяемого), способность производить в уме сложныеарифметические операции, умениерисовать,абсолютный слухи др.При более тяжёлой степени олигофрении (имбецильности) одарённость также встречается.Эмоциипреобладают актуальные на данный момент. Действия не целенаправленны, импульсивны, развитнегативизм.

126 3337138
>>37118

>Слой это логический уровень, который выполняет строго определённые функции и изолирован от других слоёв


Сепульки.
Ты просто подменил термин. Слой - это логический уровень, а логический уровень - это слой. Слой - это когда слой отделен от других слоев. Слой - это когда слои.

Чел, это софистика. Причем топорная. Никакой ценности такое определение не несет. Из него нет никаких формальных следстий. Высрешь таке на собесе - отлетишь обратно в пицценосцы мгновенно.
cirnotouhoudrawnbylimengshan98a32f246dafe75576cf74a7e1955ad7.png15,2 Мб, 4000x4000
127 3337179
>>37138
Ну давай разберем по частям тобою написанное.

>Ты просто подменил термин.


>Чел, это софистика.


>Слой - это логический уровень, а логический уровень - это слой. Слой - это когда слой отделен от других слоев. Слой - это когда слои.


Нет, я дал определение, а не выразил тождество терминов. Моё определение включает существенное понятие логический уровень. А также второстепенные, которые ты не заметил, они выводятся легко из предложения дальше после "логический уровень:

>чтобы обеспечить модульность, читаемость и переиспользуемость кода.


-----

>Логика. Учебник для средней школы. 1954 г.


>Определение понятия есть такое логическое действие,


в процессе которого раскрывается содержание понятия.

>Каждый предмет имеет бесконечное число признаков, и пытаться указать все признаки предмета невозможно.


>Определение содержит в себе лишь такие признаки, которые, являясь существенными, отграничивают понятие от других понятий.


То есть, определение это множество понятий. Смотри пикрил.
А понятие это смысловая единица в этом множестве.

>Понятие — это мысль, которая отображает общие и существенные признаки предметов>Например, в понятии «комета» отображены следующие признаки комет: 1) светило, 2) состоит из крайне разреженных газов, 3) при приближении к Солнцу постепенно выбрасывает светящийся хвост.


>Все три перечисленных признака являются общими и существенными для комет


>термин


>софистика


https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD

>Те́рмин (от лат. terminus «предел, граница») — слово или словосочетание, являющееся названием строго определённого понятия какой-нибудь области науки, техники, искусства и так далее.


Нет противоречия, я дал строго конкретный термин и далее в предложении второстепенные в рамках определения, а не выразил тождество понятий.
-----

>Из него нет никаких формальных следстий.


Следствие это вывод из множества понятий.

>Никакой ценности такое определение не несет.


Для тебя не несёт, ты же говнокодер. Пруфы что ты говнокодер:
(>>36179)

>Это для продвинутых, ты все равно нихуя не поймешь если прочитаешь про них


(>>36363)

>Интерес это представляет чисто археологический.


>Перепутанны паттерны с принципами.


Это при том, что эти граспы, солиды везде используются, считаются best practice. Но говнокодер будет упираться до последнего. Без учёта того, что там перепутано, потому что термины отражают смысл предназначения этих принципов.
-----
Примеры хорошо спроектированной архитектуры, следующей граспам, солидам и прочему, я приводить не буду. Почему не буду? Ты говнокодер, занимаешь пассивно-агрессивную позицию ко всему хорошему. Ценности от разговора с тобой - ноль, ну разве что посмеяться с клоунизма. К тому же легко, проходишь тест на дебильность. Но я знаю, почему ты так трясёшься перед моим превосходством: я посмотрел тиктоки о всему сабжу, почитал статьи и понял смысл и назначение всего этого добра за минимальное время. А ты видимо читал оригинальные книги, въебал времени и не осилил из-за дебильности (тест на которую ты прошёл выше) и остался в позиции говнокодера.
Пруфы, что ты не осилил:
(>>36363)

>Все это полито хуевым слогом автора и хуевыми же переводами из девяностых.


>Опять, нахуя с умным видом че-то из пальца рассусоливать?


(>>36477)

>Опять, нахуя с умным видом че-то из пальца рассусоливать?


(>>36179)
>Это для продвинутых, ты все равно нихуя не поймешь если прочитаешь про них
С учётом всего этого, делаем заключение, что я умнее тебя, поэтому ты трясёшься и приебываешься, пытаясь хоть где-то самоутвердить свою ничтожную глупость.
Возвращайся, когда сможешь в анализ и осилишь то, в чём ты обосрался в этой нити.

Вот этот самый учебник логики. Почитай на досуге и не позорься больше.
https://techlibrary.ru/b1/2j1j1o1p1d1r1a1e1p1c_2z.2v.,_2s1u1i2d1n1j1o_2h.3c._2t1p1d1j1l1a._1954.pdf
cirnotouhoudrawnbylimengshan98a32f246dafe75576cf74a7e1955ad7.png15,2 Мб, 4000x4000
127 3337179
>>37138
Ну давай разберем по частям тобою написанное.

>Ты просто подменил термин.


>Чел, это софистика.


>Слой - это логический уровень, а логический уровень - это слой. Слой - это когда слой отделен от других слоев. Слой - это когда слои.


Нет, я дал определение, а не выразил тождество терминов. Моё определение включает существенное понятие логический уровень. А также второстепенные, которые ты не заметил, они выводятся легко из предложения дальше после "логический уровень:

>чтобы обеспечить модульность, читаемость и переиспользуемость кода.


-----

>Логика. Учебник для средней школы. 1954 г.


>Определение понятия есть такое логическое действие,


в процессе которого раскрывается содержание понятия.

>Каждый предмет имеет бесконечное число признаков, и пытаться указать все признаки предмета невозможно.


>Определение содержит в себе лишь такие признаки, которые, являясь существенными, отграничивают понятие от других понятий.


То есть, определение это множество понятий. Смотри пикрил.
А понятие это смысловая единица в этом множестве.

>Понятие — это мысль, которая отображает общие и существенные признаки предметов>Например, в понятии «комета» отображены следующие признаки комет: 1) светило, 2) состоит из крайне разреженных газов, 3) при приближении к Солнцу постепенно выбрасывает светящийся хвост.


>Все три перечисленных признака являются общими и существенными для комет


>термин


>софистика


https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD

>Те́рмин (от лат. terminus «предел, граница») — слово или словосочетание, являющееся названием строго определённого понятия какой-нибудь области науки, техники, искусства и так далее.


Нет противоречия, я дал строго конкретный термин и далее в предложении второстепенные в рамках определения, а не выразил тождество понятий.
-----

>Из него нет никаких формальных следстий.


Следствие это вывод из множества понятий.

>Никакой ценности такое определение не несет.


Для тебя не несёт, ты же говнокодер. Пруфы что ты говнокодер:
(>>36179)

>Это для продвинутых, ты все равно нихуя не поймешь если прочитаешь про них


(>>36363)

>Интерес это представляет чисто археологический.


>Перепутанны паттерны с принципами.


Это при том, что эти граспы, солиды везде используются, считаются best practice. Но говнокодер будет упираться до последнего. Без учёта того, что там перепутано, потому что термины отражают смысл предназначения этих принципов.
-----
Примеры хорошо спроектированной архитектуры, следующей граспам, солидам и прочему, я приводить не буду. Почему не буду? Ты говнокодер, занимаешь пассивно-агрессивную позицию ко всему хорошему. Ценности от разговора с тобой - ноль, ну разве что посмеяться с клоунизма. К тому же легко, проходишь тест на дебильность. Но я знаю, почему ты так трясёшься перед моим превосходством: я посмотрел тиктоки о всему сабжу, почитал статьи и понял смысл и назначение всего этого добра за минимальное время. А ты видимо читал оригинальные книги, въебал времени и не осилил из-за дебильности (тест на которую ты прошёл выше) и остался в позиции говнокодера.
Пруфы, что ты не осилил:
(>>36363)

>Все это полито хуевым слогом автора и хуевыми же переводами из девяностых.


>Опять, нахуя с умным видом че-то из пальца рассусоливать?


(>>36477)

>Опять, нахуя с умным видом че-то из пальца рассусоливать?


(>>36179)
>Это для продвинутых, ты все равно нихуя не поймешь если прочитаешь про них
С учётом всего этого, делаем заключение, что я умнее тебя, поэтому ты трясёшься и приебываешься, пытаясь хоть где-то самоутвердить свою ничтожную глупость.
Возвращайся, когда сможешь в анализ и осилишь то, в чём ты обосрался в этой нити.

Вот этот самый учебник логики. Почитай на досуге и не позорься больше.
https://techlibrary.ru/b1/2j1j1o1p1d1r1a1e1p1c_2z.2v.,_2s1u1i2d1n1j1o_2h.3c._2t1p1d1j1l1a._1954.pdf
Снимок экрана от 2024-12-08 10-38-24.png7 Кб, 219x190
128 3337180
>>37179
Забыл пикрил присобачить.
7967142-doubt.png193 Кб, 960x476
129 3337214
>>37179

>я умнее тебя


>аватаркоблядь

130 3337229
>>37214
Будто что-то плохое.
images-1.jpeg3 Кб, 157x170
131 3337237
>>37229

>Будто что-то плохое.

132 3337251
Аноны, а вы laravel sail пользуетесь?
Или ручками докер-композ пишите?
133 3337259
>>37251

>Аноны, а вы laravel sail пользуетесь?


Да.

>Или ручками докер-композ пишите?


Да.
134 3337562
>>31128
Зависит от задачи, типовая шаблонизация заруливает почти любой не-вебапп проект. Хотя бы потому что серверный рендеринг, потому что проще кешировать и в целом меньше работы.
image.png17 Кб, 522x350
135 3338106
>>24202 (OP)
Читаю книгу 'Чистый код' Роберта Мартина и там в третьей главе о функциях используют понятие уровни абстракции. И я не могу нормально понять что это за уровни или как тут помогут TO-абзацы?
Я это понимаю так, что есть какое-то общее название функции, которое олицетворяет бизнес-логику, — это один уровень абстракции, а те операции, которые уже непосредственно выполняют действия, которые позволяют выполнить бизнес-логику (допустим запрос в БД или модификация строки), — это другой уровень.
Но потом в книге приводят пример из пика.
Далее в книге пишут, что эта функция

>совершенно очевидно выполняет более одной операции


А мне это вообще не очевидно, ведь тут подразумевается, что в методе несколько уровней абстракции, но почему?
Я из-за этой главы не могу дальше книгу прочитать, поэтому прошу, объясните, пожалуйста, по простому, что это за уровни абстракции, как их выделять?
136 3338184
>>38106

> Читаю книгу 'Чистый код' Роберта Мартина


дропай этот кал, блять, и не забивай себе мозг хуйнёй. Иди билди тудулист
17337566754300.png11 Кб, 522x350
137 3338198
>>38106
Убрал с твоей картинки лишний мусор. Теперь понятно?
138 3338207
>>38198
Это же одна операция.
139 3338221
Аноны, накидайте годных материалов по Битриксу.
Как на нём вообще работают?
Делают на нём API если да то вообще как?
Есть ли там роутинг как на laravel где пишешь глагол или дальше уже там путь и callback или функцию?
140 3338241
>>38221
подумой
потом не выберешься с этой параши
плак-плак, рили
141 3338258
>>38241

>подумой


Ну не с голоду же помирать.
Вопрос по материалам открыт.
Screenshot 2024-12-09 220607.png207 Кб, 1336x976
142 3338259
>>38207
Ну а кто тебе виноват что ты читаешь уебищный перевод от каких-то пидарасов? Сто раз говорено - читай в оригинале.
image.png10 Кб, 567x101
143 3338289
>>38259
Я чет запутался, тут под thing означает вещей? Или так еще действительно можно назвать функции?
144 3338292
>>38289
Ты не запутался, ты обосрался.
145 3338307
>>38259
В переводе написано, что оно выполняет больше одной операции, в оригинале написано, что оно выполняет больше одной вещи, в чем разница?
146 3338322
>>38307
Где ты там увидел "выполняет", дебс? Тут из контекста очевидно что имеется ввиду не прямо сейчас блядь выполняет, а в потенциале делает разную хуйню. И общий интерфейс это наебка.

Пиздец, еще англискому вас кретинов учить. Давайте лучше дальше занюхивайте этот уебищный перевод. Будем считать чтоя нихуя не видел. Проехали.
147 3338333

>читаю клин код


>не додумался забилдить хотя бы один рил симпл проджект


брух... джаст стоп
148 3338338
>>38221

>Аноны, накидайте годных материалов по Битриксу.


Нету, лол. Смотри в депрессию не скатись когда начнешь вкатываться в битрикс
149 3338426
Я в пыху хочу вкатиться. Первый урок в шапке этого треда - это про apache. Ну блеть придется начинать учить apache чтоб по шапке учиться.

Начинаю читать первую главу книги 2003 года про apache
image.png2,3 Мб, 1200x1200
150 3338465
Я вот считаю, что чтобы учиться водить машниу, нужно повторять действия по видео урокам и ездить в селе. Потом после того как более менее начал нормально сцепление отжимать начинать читать книжки про коробки передач и тормозные колодки. Ну и правила пдд конечно, чтобы в люди не было стыдно выйти. А вот так прямо с нуля и читать мануал любую охоту водить у меня отобьет.
151 3338472
>>38289
Не один ты запутался. Я вот не читал книжку, но очень хочется узнать про "there is more than one reason to change", это он к свитчу придрался?
https://qntm.org/clean
152 3338476
>>38472
Речь о направлении зависимостей в коде.

Ты когда добавляешь в Employee новый type обязан знать что на это завязан какой-то код и его тоже нужно поменять.
В свою очередь функция вычисления оплаты должна меняться потому что кому-то за каким-то только ему известным хуем понадобилось что-то поменять в Employee.

Все эти ваши "нипанимаю" от того что вы нихуя не пишете код, а тем более не пишете код в команде. Не согласовываете изменения и не переписываете друг за другом.
153 3338482
>>38476

>Ты когда добавляешь в Employee новый type


Ты пиешь про "fourth, it violates OCP". А он в "third, it violates SRP" что-то другие имел виду похоже.

>обязан знать


Так в тестах же исключение будет, что там знать?
muzhik-shitaet.gif13 Кб, 220x176
154 3338488
Пчел.
Причина "меняться" у калькулятора зарплаты - изменился расчет зарплаты. А в этом коде вычисление зависит от совершенно другой структуры. Получается что причин "меняться" уже две: поменялся расчет зарплаты или поменялаясь структура Employee.
Ты до двух считать умеешь?
155 3338504
>>38488

>поменялся расчет зарплаты


Этот момент изменяет только кподфункцию расчета. Сам calculatePay при этом не изменяется.

>поменялаясь структура Employee


если подфункциям claculate* требуется класс Employee, то расчет зарплаты изначально зависит от структуры, иначе бы он в родительскую функцию просто EmployeeTypeEnum передавал, а подфункции были бы без аргументов вообще.

По этой логие гораздо справидливее было бы придираться к "подфункциям", CalculateHourlyPay(e) например. ВОт он действительно и от стркутуры класса зависит и от изменения расчета выплаты. Что такого плохо сделал calculatePay(Employee e) не вижу вообще.
156 3338529
>>38504
Для нового типа нужно написать новый case в switch. Это троллинг тупостью? Да даже если не троллинг, то объяснять что-то такому тупорезу - мартышкин труд.
Нахуй я на это тупое говно байчусь каждый раз?
157 3338551
>>38529
Просто ты не можешь объяснить что автор имел в виду, когда писал, "очевидно, что функция делает больше одной вещи" и "она нарушает прицип единой ответственности". На эти оба пункта ты третий раз приводишь пример из его четвертого замечания "он нарушает принцип открытости/закрытости". Потому что это единственный пункт, который он разжевал. У тебя чувство на уровне инстинкта, что так писать не нужно, а доводов в пользу этих 2 пунктов нет. Поэтому ты скорее всего просто создашь 3 класса Invoice-ов c единым интерфейсом calculate?
158 3338571
Мужики, обьясните дауну пожалуйста
Вот я привык создавать отдельно класс модели, отдельно репозитории моделей, отдельно сервисы под бизнес логику с этими моделями (если нужно), отдельно контроллеры

Открыл ларавель и гайды, так мне там предлагают в модель засовывать бизнес логику и вызывать в контроллере. Что за хуйня?
159 3338584
>>38571

Хотя нашел бест практикс ларавель на гитхабе
Видимо репозитории тут не в почете
А сервисы норм
sage 160 3338813
>>38258
На завод
161 3339031
>>24421
хорошо, а разве накрутить нельзя?
162 3339034
как лучше всего php установить на linux для разработки, через что? хочу использовать под Laravel
163 3339047
>>39034
Сначала ставь в систему: php, mysql, apache/nginx.
Поставив и запустив первый домен у себя будет некоторое понимание как это работает. Сделаешь пару проектов, поиграешься с версиями и можешь пробовать docker compose.
Я, работая на аутсорсе, обычно всякие проекты на cms ставлю на системную mysql + php + nginx. А вот проекты на фреймворках - или сразу в докере, или встройка php + бд(sql/no sql) под проект в контейнере.
164 3339048
>>39031
выписку из трудовой предоставьте, пожалуйста
165 3339050
>>39048
Да ладно, мало ли как человек работал
166 3339052
>>39047
не засоряя систему как поставить? docker или что
167 3339056
>>39050
к сожалению уже не прокатывает, им дешевле скипнуть
169 3339094
>>39076
Благодарю
170 3339562
>>35364

События придуманы (как мне кажется) для того, чтобы можно было расширять функционал фреймворка. То есть, например, ты хочешь писать в лог каждый запрос - ты вешаешь обработчик на событие kernel.request, или же это может делать сторонняя библиотека.

Если ты пишешь свой код, то в нем генерировать события особо смысла нет, так как ты можешь вызвать нужные функции напрямую и это будет проще.
171 3339568
>>30483

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

Без исключений писали до их изобретения, приходится if писать после каждой функции.

> у тебя уродуется код, половина логики переезжает в блоки catch.



Исключения вбрасываются в исключительных ситуациях, и их, как правило, не обрабатывают специально.

> что ты проблему скрываешь



Ты же сам понимаешь, что это неправильно.

> на одном из проектов мы перешли на пробрасывание по методам дтошек, которые содержали в себе статус операций, массив ошибок если есть, массив соообщений если есть.



Ну это просто возврат в прошлое, где ты после каждой функции пишешь if и раздуваешь код.

> а не заметали проблему под плинтус.



Так с исключениями ты ничего не заметаешь - при исключении программа падает с 503 ошибокой, а подробности исключения пишутся в лог. Не понимаю, чем твой вариант лучше.
172 3339661
>>39568

>Ну так просто не лови их.


Ты вообще не понял о чем он.
Он использует исключения как возврат негативного результата. Как с валидацией, например: ты не можешь просто упасть с 503 если мыло с пробелом заполнено, тебе нужно показать пользователю что не так, причем желательно сразу для нескольких проверок, а не по одной за раз.

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

>Ну это просто возврат в прошлое, где ты после каждой функции пишешь if и раздуваешь код.


Так эту проверку невозможно избежать в принципе. Если тебе нужно что-то сделать если что-то не получилось, то у тебя будет условный оператор или try.

Самое пиздатое решение этой проблемы - монада Maybe. Оно тоже не избавляет от условного оператора, пушо это невозможно. Но зато позволяет этот условный оператор передвинуть выше по цепочке вызовов, каждый из которых возвращает maybe. В пхп что-то похожее недавно добавили ?-> если значение не null, то вызов выполнится: $user?->getAddress()?->getHouse()
4fcczf.jpg28 Кб, 718x536
173 3339980
Как после изучения ООП понять MVC и его реализацию? Если само ооп прям разжевывали и по полочкам раскладывали, то его реализацию на реальном проекте через модели и автозагрузки - "ну вот тут так, тут так, сюда это пишем", есть где прям нормально объясняют чтобы саму суть понять? Я понял что там идет разделение логики от отображения, но вот техническую часть не могу вкурить...
174 3340043
>>39980
Звучит так, будто ты не mvc пытаешься понять, а как работает какой-то конкретный фреймворк.
175 3340189
подскажите как лучше всего почтовую рассылку реализовать, для подтверждения регистрации на сайте, сброса пароля, уведомлений об ответе?
176 3340198
>>39980
Помню на андроид давно курс платный проходил, там прям ахуенно рассказано было и очень легко, правда БД была локальная прям в программе, то есть не настоящая. А что щас смотрю тоже не понятно, либо теория либо реализация без обьяснений на фреймворке
17336430047670.jpg119 Кб, 640x640
177 3340204
>>39980

>Я понял что там идет разделение логики от отображения, но вот техническую часть не могу вкурить...


Ну так что тебе еще не понятно? Контроллер - просто собрание обработчиков эндпоинтов, модель - абстракция, через которую ты лезешь в БД, вьюха это шаблон без логики для вставки готовых обработанных данных.
Весь интерес у тебя в обработчиках контроллера происходит, вот там про ооп надо думать.
178 3340215
>>40198
Почему андроид обезьяной не стал если даже за курс заплатил?
179 3340230
>>40215
Как сказать заплатил, там чисто косарь был символически как поддержка. А андроид нахуй надо у нас в городе 2(!) вакансии и то на мидла. На пхп их 110
180 3340232
>>40204
есть еще роутс всякие
181 3340239
>>40230
И сколько из этих пхп вакансий являются битриксом?
182 3340241
У меня есть список файлов, я их читаю в цикле, один файл допустим битый и возникает ошибка. Я могу его скинуть и дальше следующие читать ? Или ошибка останавливает скрипт ?
183 3340246
>>40241
Вот бы был сайт, где бы были прописаны пхп функции, что они возвращают и какие исключения выбрасывают.
184 3340247
>>40204

>Весь интерес у тебя в обработчиках контроллера происходит, вот там про ооп надо думать.


А можно пример как думать об ооп в "обработчиках контроллера"?
185 3340250
>>39980

>техническую часть


Во первых в шапке про студентов есть описание mvc, техническая часть в том что вся логика твоего приложения это модель. Набор кода в виде классов и функций который делает все расчеты и обращается к базе данных. Один или много файлов похуй, моделью будет папка с набором папок. Контроллер это просто вызов метода этой модели что бы вызывать их напрямую из модели, что бы было "отдельно". Ну а отображение очевидно фронтенд - html код с шаблонами.

В laravel при обучении мне показалось что работы больше с контроллерами чем с моделью, ну видимо потому что пример был простенький, я не писал банковское приложение.

Еще я видел книгу по ларавелю которую тут как то кидали, там было сказано что MVC в современных фреймворках невозможно нормально реализовать и все равно придется насрать гору логики например в контроллеры. Потому что у тебя не 3 файла, и все усложняется.

Поэтому предлагаю забить хуй на MVC и не ебать себе мозги.
186 3340257
>>40247

>А можно пример как думать об ооп в "обработчиках контроллера"?


Дебил, опять ты?
187 3340259
>>40232
Почитай главу про mvc в книге php в подлиннике 8 котерова, там полный пример mvc разделения с роутером. Или глянь курс Лаврика по ООП, лежит на рутрекере, в нем пример разработки простого mvc фреймворка с нуля.
188 3340266
>>40246

>прописаны пхп функции


Да я понял, у меня ниче не останавливалось лол, просто предупреждение.
189 3340271
Суп двощ. Можно ли как-то в пешапе сделать дамп всего приложения? Я начал делать ивент листенеры, и мне кажется, что я где-то обосрался, потому что у меня начала вытекать память, и memory_usage показывает больше, чем должно.
190 3340277
>>40271
xhprof
191 3340282
>>40257
Да я. Пишу хуйню с умным видом. Вкатуны не понимают что в моих постах просто тарабарщина из терминов. А если кто более сведущий спросит че я блядь вообще несу, то я его просто шлю нахуй и продолжаю городить бессмысленную хуйню.
192 3340289
>>40282
Шизло не осилило эти термины и как они взаимосвязаны и обвиняет в этом всех окружающих. Это надо просто видеть. Спокидзе, это не последнее, что ты не поймешь в своей жизни
Screenshot20241212224345Samsung Internet.jpg122 Кб, 1080x412
193 3340291
Напоминаю, как отлечить этого дебила итт:

>не осилил


>сложно


>ни нужно


>как это связано? бред

a03370bdd41f239550f13f91c83d4f82.png1,1 Мб, 1600x1200
194 3340302
>>40289
"обработчики контроллера" это вообще не термин. Это шиза которую ты просто выдумал на ходу. То что ты имеешь ввиду называется Action.

Про ооп написана полная хуйня.
Причем тут вообще "думать" или не думать? У тебя все приложение это иерархия объектов. Я выше по треду уже скидывал скриншот. Пикрелейтед как выглядит ооп приложение. Это не вопрос "думанья" или какого-то выбора. Твой код будет внутри метода объекта. Без вариантов.

Когда читаешь высеры такого кукоретического долбоеба от кринжа можно сдохнуть. Физически больно эту хуйню видеть. Нет бы сука взять сесть вечерком и написать код. Ну просто блядь статью на вики запостить если зудит. Нет нахуй, надо свою шизофрению вывалить. И ведь сука двух слов связать не может, контроллеры эти в глаза блядь не видел, но срееееет паскуда.
195 3340330
>>40302

>это вообще не термин.


Я буду называть обработчики запроса, методы контроллера, как мне нравятся, а на твое мнение срал. Вопросы какие-то еще?
>>40302

>Причем тут вообще "думать" или не думать?


У тебя пример с фреймворком приведённый, тут за тебя уже подумали и решили. А твоё самостоятельное "думать в рамках ооп" начинается именно с обработчиков контроллеров, как сделать их тонкими. Я не знаю, почему ты решил высраться и усложнить вопрос ввиду того, что у анона простой вопрос, как работает mvc. Почему?
196 3340366
>>40330
Какое отношение "тонкость" контроллеров к ооп имеет? Типа толстые контролееры перестают объектами быть? Может речь идет про ПРОЕКТИРОВАНИЕ или АРХИТЕКТУРУ, а не про ооп?

>усложнить вопрос


Рашн мазафакер, ду ю спик ит? Ты же блядь двух слов связать не можешь. Чем отличается вопрос от ответа знаешь?

>Почему?


Потому что твой ответ это бессмысленный высер шизоида, который не то что сам mvc не реализовывал, а вообще ни одного контроллера в жини не написал.
197 3340371
А мне в одной компании в качестве теста попросили написать свой фреймворк без исспользования автолоадера композера и вообще без использования композера. Я просто посмотрел как работает yii и переписал его. Мне потом сказали, что автоладер, который я написал не по PSR-4 работает и все остальное тоже говно. Все равно не было жалко потраченного времени.
198 3340463
А eloquent обязательно учить, если на лару метишь устроиться?
Так не хочется этим аналом пользоваться...
199 3340494
>>40463
Фреймворк на 70% это его орм. Если не нравятся элоквент, лучше другой фреймворк выбери.
200 3340507
>>40366

>Какое отношение "тонкость" контроллеров к ооп имеет?


Прямое: контроллер mvc это controller из граспа, он занимается чисто координацией и делегированием, что не должно нарушаться согласно SRP из солида, это значит, что контроллеры должны быть тонкими и заниматься только своей ответсвенностбю.GRASP и SOLID это о том как реализовать 4х принципа ооп. Объектами они быть не перестанут, но и ты должен понимать, что ооп не заканчивается этими 4мя принципами.

>Ты же блядь двух слов связать не можешь.


В глаза ебешься или трудности с обобщением? С диагнозом "дебильность" это частый симптом, не переживай.
201 3340539
>>40507
Тонкие контроллеры
@
Жирные сервисы
@
Реквест передается через параметры
@
Ad hoc сервис разбирает мелкодрисню из реквеста
@
Ко-ко-ко! Архитектура!
мышка 202 3340569
кто нибудь объясните что такое сервисы в SOA с точки зрения реализации.
чатгота спамит мне такой информацией: "В SOA (Service-Oriented Architecture) сервис — это отдельная единица функциональности, которая решает конкретную задачу. Это как "черный ящик", который выполняет определенную операцию, и у него есть чётко определённые входные и выходные данные. Сервисы взаимодействуют друг с другом, используя стандартизированные интерфейсы, как, например, REST API или SOAP.". но блять это же просто описание философии сервиса, а как его блять писать я не понимаю. пока что догадка что сервис это просто монолит на Laravel, который только по api общается.
cirnotouhoudrawnbyreitonbo0430sample-85c5250c564b5cd1c605f772b15f81c8.jpg54 Кб, 850x751
203 3340592
>>40539

>Тонкие контроллеры


Да, так и следует быть.

>Жирные сервисы


>Ко-ко-ко! Архитектура!


Перемещение говна из контроллеров в сервисы должно было бы тебе показаться лишней работой чтобы задуматься о смысле действия.
"Сервис" о котором ты говоришь это service layer / application layer. Он не должен быть жирным как и контроллеры, а должен лишь собирать в себе логику из bussiness layer / domain layer (он ниже по зависимостям DYP, - от него зависят, - и выше по абстракции ООП), в последнем слое и содержится основная логика. Она здесь "атомарна", то есть поделенная на домены или модули, ватевер. Эта "атомарность" собственно и разбивает основную жирность, протекающую через слои. Вместо имя "сервис" в service layer / application часто используются CQRS/UseCases/Action найменования.

>Реквест передается через параметры


Между слоями данные передаются через DTO.
204 3340600
>>40592
Сычев, ты когда интеграцию с тинков банком доделаешь? Ты уже три месяца возишься. Какие блядь юзкейсы, какой эскьюэрэс? Там просто хттп ручку дернуть. Понедельник крайний срок. Если не будет готово к дейлику в понедельник, для тебя будут плохие последствия...
205 3340608
>>40592
Граспа ебаная, ты со своими солидами в конец одебилел?
О том чтобы язык соответствовал принципам ооп заботятся те кто этот язык пишет. В го нет нихуя наследования, и классов нет, а в ооп стиле на нем писать можно.

То что ты до бесконечности в своих жпт пастах из граспа в солид слои переливаешь абсолютно бесполезная хуета.
206 3340611
>>40592
Аниме дурачок как всегда опозорился на весь тред
cirnotouhoudrawnbyferdyslabsample-a71abef2ce7cd3ebedbabf16520ec52d.jpg79 Кб, 850x775
207 3340626
>>40608
Сам сказал, что понял?
Ты же по вопросу жирных контроллеров и сервисов только что попустился. А к чему это нахрюк? Сам с собой параллельно разговариваешь?
>>40611
Тохо не аниме, поэтому опозорился тут ты.
16792914653930.jpg18 Кб, 246x250
208 3340635
>>40626

>Сам сказал, что понял?


Сам...
209 3340648
>>40608

>То что ты до бесконечности в своих жпт пастах из граспа в солид слои переливаешь абсолютно бесполезная хуета.


А ты в контроллерах пишешь всё?
210 3340650
Можешь не отвечать, это риторический вопрос.
211 3340819
>>40648
Нет, это service layer / application layer. Он не должен быть жирным как и контроллеры, а должен лишь собирать в себе логику из bussiness layer / domain layer (он ниже по зависимостям DYP, - от него зависят, - и выше по абстракции ООП), в последнем слое и содержится основная логика.
Ю ноу?

И не спрашивай меня что такое "зависимости DYP" и откуда я эту формулировку высрал. Меня попустило и я того прихода не помню.
212 3340821
>>40569
Такой срач из-за архитектуры и никто не знает ответ?
213 3340831
>>40821
Здесь это база. Здесь с важным видом кидаются баззвордами, но никто нихуя не понимает нахуй всё это надо. Такой карго-культ.
214 3340834
>>40831

>Пишу логику в контроллерах, нихуя не понимаю сам и агитирую тоже нихуя не понимать


пофиксил тебя
215 3340837
>>40819

>DYP


DIP, Dependency Inversion Principles
Теперь поправмл себя
216 3340838
>>40834
Че ты лепишь. Аниме хуесос ничего не пишет. Он просто пиздит. Он даже не читал нихуя про этот грасп и солид.
217 3341018
>>35615
Ага потом сидишь дедлоки полдня на проде ковыряешь из-за евент-дривен пидарасов криворуких
218 3341058
>>36491
Чел, ты набрался баззвордов и думаешь, что все понял. Когда начнутся реальные задачи твои "знания" посыпятся как песок. Чтобы нормально вкурить ООП, нужно несколько лет, понимание приходит с годами и опытом.
219 3341090
читаю паттерны фаулера и что-то хуйня. что в книге, что в его статьях хуйня. очень расплавчатое описание. вот например паттерн row data gateway чем он отличается от dm?
220 3341096
>>41018
У тебя на проекте долбаебы работают просто, тут что угодно будет и они прод положат к хуям
221 3341145
>>41058
>>40838

Уловка 32. Озадачить и сбить противника с толку бессмысленным набором слов и фраз. Эта уловка основывается на том, что «люди, если что нибудь слышат, привыкли думать, будто под фразами скрывается какая-нибудь мысль».

Если противник такой человек, который в душе сознает свою слабость и привык слышать много непонятных вещей и делать вид, что все отлично понимает, то можно импонировать ему, засыпая его с совершенно серьезным выражением лица ученым или глубокомысленно звучащим абсурдом, от которого у него онемеют слух, зрение и мысль; все это можно выдавать за бесспорное доказательство своего тезиса. Всем известно, что подобную уловку употребляли в последнее время немецкие философы с поразительным успехом, когда имели дело даже с большим скоплением публики.

- Артур Шопенгауэр
cirnotouhoudrawnbykibisake421c0c9f0543827c8a51e846a322ab0f.jpg116 Кб, 1100x898
222 3341165
cirnoandtannedcirnotouhoudrawnbynoriuma2e5d3313854f8a92d8f07df2c059042e.jpg976 Кб, 1000x1224
223 3341208
Просвещайся, быдло!

https://youtu.be/fx6NWIgjH7w?feature=shared
224 3341213
>>41208
Твоя самоуверенность спадет, когда тебе дадут спроектировать элементарную систему (просто классы).
Ты как человек, который насмотрелся научпопа, запомнил какие-то кротовые ноты, сигнулярности и теперь думает, что он что-то понимает в физике, но стоит только тебе столкнуться с реальной задачей, как ты обомлеешь от собственного незнания и немощи.
225 3341220
>>41213
Ну я потренеруюсь на кошках в предстоящем учебном проекте, прежде конечно же нужно было разобраться как писать код. В пхп чатиках часто срачи за архитектуру четаю. К тому же, дядьки с видео приводят разумные аргументы в пользу, тем более это опирается на баззворды, которые я постоянно вижу в вакансиях, этот же DIP из солида. Хочется сразу учиться писать правильно.
226 3341224
>>41220

>Хочется сразу учиться писать правильно.


Не получится. Умные люди всю эту ООП дрисню выводили из своего опыта, у тебя такого опыта нет, ты просто не докумыкаешь "зачем" и "почему" что-то использовать.
Screenshot 2024-12-14 225128.png34 Кб, 748x130
227 3341415
>>41165

>30 минут


Не правы в том что слишком дохуя минут.
17302240114620.jpg139 Кб, 686x800
228 3341431
229 3341444
>>36491
Прикинул как приходит такой мамин архитектор с паттернами, слоями и домейнсами. А ему суют проект который вчерашний студент наговнякал на коленке впопыхах и говорят "роботай".
Даже ебало его в тот момент не могу имаджинировать.
230 3341543
>>41431
Но ты то посмотрел десять минут из тридцати, а на одиннадцать часов хуй забил, дауненок.
231 3341559
>>41543
Проецируешь, свинья.
232 3342852
Готовлюсь к собеседованиям. Как научиться отвечать на вопросы, типа "а что не так с этим кодом?". Смотришь на код - вроде должен работать. А потом оказывается, что они где-то скобку "забыли", где-то в конструктор не то передают, где-то private вместо public стоит и запрещает методом пользоваться. А сверху ещё и SOID нарушается во все поля.
233 3342959
>>38426
база, затем клин код, потом ci/cd, кафку, редис, эсскьюэл, докер, алгосы подрочи, потом через 1-2 года можешь начать пыху учить, через ещё год ларавель и можешь выкладывать калькулятор на гитхаб акк (ток надо гит выдрочить в нулину ещё месяцок)
>>42852
в claude копипастишь и отвечаешь
234 3343030
>>42852

> Как научиться отвечать на вопросы, типа "а что не так с этим кодом?"


Смотришь что не так с кодом - отвечаешь что не так.

>Смотришь на код - вроде должен работать.


Отвечаешь что всё ок, лажаешь, после занимаешься поиском ошибок. В следующий раз стараешься не допускать подобного рода ошибок.
235 3343036
>>42852

Чтоб понять что не так с кодом - ты должен сам что-то подобное реализовывать и на своих ошибках понять почему это говно.
Даже если просто прочитаешь clean code, не факт что поймешь
236 3343247
Почему пул работает, а коммит нет?

>git pull origin master


Already up to date.

>git push origin master


Everything up-to-date

>git commit


× No valid configuration found.

Это мой приватный репозиторий древний. Какие еще конфиги нужны?
237 3343395
Ураа мой первый каркулятор
https://github.com/CackeBepHucb/calculator
послушал бы предложения/пожелания там по архитектуре, чистому коду и тд.
238 3343408
>>43395

>страница 404


Мы вам перезвоним.
239 3343412
>>43247
Загляни в git status.
Снимок.PNG36 Кб, 1571x331
240 3343416
>>43408
Не пойму чяднт.
image576 Кб, 1910x1014
241 3343420
>>43416
Не звоните нам больше.
242 3343424
>>43420
А ну ты неавторизован, другие страницы открываются разве?
243 3343428
>>43424
С авторизованного тоже самое, заебал, клади трубку. Айти не твое
244 3343431
>>43428
Ты меня тролешь, всё там нормально открывается.
245 3343432
>>43431
Я не троллю, попробуй сам открыть свою ссылку через инкогнито, с неавторизованного акка твой репозиторий должен спокойно открываться
246 3343433
Хихихи майкрософт в shadow ban анончика отправили с первого пет проекта.
247 3343434
>>43432
Блин ряльно. Пойду ковырять настройки чтотам не так
image.png10 Кб, 601x83
248 3343442
>>43412
Есть файлы готовые для комита.
249 3343444
>>43247
Юзер, емейл в гите указан чтобы коммит подписать?
image.png52 Кб, 652x469
250 3343446
>>43444
Локальный недавно ввел. Сейчас поробую затереть локальный и переписать глобальный. Если не получится, то буду заново вытягивать проект.
251 3343522
>>43433
Пох другой акк сделаю. Странно конечно они так.
1644611051119.jpg104 Кб, 1280x720
252 3344425
Поясните нюфане, вот когда в вакансии пишут React и Laravel вместе, то это имеется в виду, что в Laravel пишется api, а страница делается в реакте?
В туториалах по laravel страницу пишут на php, на blade этом самом, то есть можно и фронтенд на laravel сделать что ли?
253 3344432
>>44425
Сериал - начали за здравие, кончили за упокой
Книга - автор куколд
254 3344433
>>44432
Поч куколд то?
255 3344434
>>44433
Потому что весь цикл книг про то как жену ГГ ебут злодеи. Видимо Гудкайнд на это теребонькает
256 3344435
>>44425
Смотря на пик, я боюсь ответить да.
257 3344436
>>44434
Только один раз ебали, да и то через магическую связь.
258 3344440
>>44425

>Поясните нюфане, вот когда в вакансии пишут React и Laravel вместе, то это имеется в виду, что в Laravel пишется api, а страница делается в реакте?


Да. Но чаще Лару с Вью берут для SPA.

>В туториалах по laravel страницу пишут на php, на blade этом самом, то есть можно и фронтенд на laravel сделать что ли?


Конечно можно. Будет классическое MPA веб-приложение. Но никто не мешает и ажакс прикрутить, или livewire.
259 3344442
>>44440

> Конечно можно. Будет классическое MPA веб-приложение.


А как совместить js с php вообще? Что то у меня в голове все это не стыкуется. С одной стороны js скрипты отдельными файлами, с другой стороны эти <?php-вставки в html файлах
260 3344443
>>44442
У Лары из коробки идет фронтенд модуль для ажакс запросов, называется axios. Погугли с ним примеры, там понятнее должно стать.
261 3344460
Когда-нибудь технологии так разовьются, что специалисты не-инженера перестанут понимать что происходит под капотом. Вместо html будет просто один хромиум с кучей готовых библиотек на 10 гигов, которые исполняются на клиенте с молниеносной скоростью, а сервера будут только инструкции и медиа контент содержать. И вместа браузера это будет метаверс.
262 3344586
>>44442
Эти хтмл вставки могут генериться и в отдельных пхп-файлах. А совмещается это всё просто - жс может отправлять запросы на сервер, напр. тем же ажаксом, и получать ответы от сервака и что-то дальше с ними делать, вот и совмещение получается. Я вот как раз мозгоеблей с ажаксом и занимаю в данный момент, чатик пилю.
263 3344643
Как же тяжко без фронтендера и дизайнера сайт пилить рибята
264 3344706
>>44643
а все я передумал, мне чат гпт ахуенный дизайн наконец сгенерил. фронтендеров в помойку
b2201091792f729728597ed034ecbaec.jpg20 Кб, 360x335
265 3344758
>>44425
Если я правельно понял, есть 3 вида фулл стека на ларке, эти аббревиатуры в вакухах и роадмапах часто можно видеть:
1. VILT (React, Inertia, Laravel, TailwindCSS)
2. TALL (TailwindCSS, Alpine.js, Laravel, Larawire)
3. RILT (React, Inertia, Laravel, TailwindCSS)

Как для фуллстека их там на беке и фронте связывают библиотеки Inertia и Larawire. Но можно и без них обойтись, с изолированным апи от фронта. Тогда больше писанины, но меньше гибкости в случае если надумаешь мобильное приложение делать.
Популярны они именно в том порядке, в котором я перечислил. Если вздумал реакт учить, то лучше не надо, лучше вуе.
266 3344763
>>44758

>1. VILT (Vue, Inertia, Laravel, TailwindCSS)


fix
267 3344903
Обьясните дебсу пжлст

Вот в ларке не описываются поля модели, следовательно и тайпхинтов нет. Мне запоминать их что ли для обращений и работы с ними?
268 3344920
>>44903
Да. А еще харкодить имена таблиц и колонок в строках.
image.png18 Кб, 282x160
269 3344931
>>44903
Попробуй так.
270 3344933
>>44706
Только дизайн или еще код наговнокодил за тебя?
271 3344937
>>44931
Ваще почти нихуя не дает в контексте кверибилдера в ларке. Разве что в ресурсах будешь говно из одного места (модель) в другое (ресурс) перекладывать.
272 3344980
>>44933
Ну код да еще сделал, но там тупо чтобы рутинной работой не заниматься и не подгонять шрифты, флексы и прочую хрень. Типо нахуй эта свора фронтендеров нужна и дизайнеров? Щас 90% функционала это ненужные свистоперделки, я понимаю бекенд нужен там с БД работать, кешем и другими нужными вещами. Но нахуя вообще фронтенд как явление нужен? Смотри я не работал с фреймворками типо вью и реакты, но на голом ксс и хтмл написал ахуенный сайт по типу пикрил, где все понятно, МИНИМУМ кнопок, всего лишь 3 основных цвета в дизайне и все очень просто и доступно НОРМАЛЬНОМУ человеку. Теперь смотрим на пикрил 2 говно которое клепают на смсках
image.png1,3 Мб, 1319x657
273 3344985
>>44980
ладно пикрил 2 плохой пример, щас приблизительно вот такое клепают уебанство, просто вы еще представляйте как заходите на сайт а там миллиард всплывающих окон и лаги
274 3345003
>>44920

И вы мне скажите, что ларавель имба после этого?
Ебать, антиудобно
275 3345005
>>44980

На фронте куча логики удобной и запросов накидать, чтоб у тебя не как статичная залупа сайт выглядел
276 3345007
>>45003
Не нравится - сделай сам. Нах ты тут ребёнка включил?
277 3345012
>>44980

>МИНИМУМ кнопок


У тебя к кнопкам какая-то личная обида?
278 3345021
>>45012
>>45005
Да так всего лишь расстрелять КАЖДОГО пидараса который испортил все сайты и приложения любимые своими свистоперделками, заебись теперь открываются полчаса и лагают. Зато дети с сдвг довольны. Главное не забыть контекстной рекламы накидать, чат бота с ВАМ ТРЕБУЕТСЯ ПОМОЩЬ?, предложением о ПОСЛЕДНЕЙ СКИДКЕ 99%, предложение зарегистрироваться, предложением принять куки и еще стопицот предложений, и только потом ты гой можешь посмотреть на содержимое
279 3345022
>>45021
А ну и легендарное "ВЫ ТОЧНО УВЕРЕНЫ ЧТО НЕ ХОТИТЕ ВОСПОЛЬЗОВАТЬСЯ СКИДКОЙ? СКИДКА СГОРАЕТ ЧЕРЕЗ ОДНУ НАНОСЕКУНДУ"
И "ПОДПИШИТЕСЬ НА НАШИ СОЦ СЕТИ ЧТОБЫ БЫТЬ В КУРСЕ"
280 3345035
>>45021
>>45022
Так просто не ходи по этим говносайтам. Если тебе в лицо сходу начинают тыкать всплывающими окнами, то нехрен там делать - у говносайта юзабилити на дне.
281 3345165
>>44643

>Как же тяжко без фронтендера и дизайнера сайт пилить рибята


Не пизди, ничего не тяжко. В чём заключается тяжесть? В том, чтобы пойти на маркетплейс и купить готовый дизайн за 50 баксов? Или в том, чтобы скачать бесплатный ui кит типа fluent ui, material ui, sapui5, chakra ui?
282 3345171
>>44980

>первый пик


Литерали пикрелейтед. Бездушное, холодное, илитное позерство. Добавили эти три точки, чтобы уж совсем страница не выглядела как пустой проект на WindowsForms.
283 3345203
>>45022
>>45021

>легендарное


ВЫ ТОЧНО ИЗ "МУХОСРАНСК"?
284 3345209
>>45165
Погроммисты дизайн не покупают.
285 3345211
>>45203
Ага, причем спрашивает каждый раз и ты залогинен. Так и хочется таким похуистам в рожу руки нассать.
286 3345228
>>45021

Это кстати в большинстве случаев сайты на пэхапэ+битрикс такой залупой страдают
287 3345269
>>45228
Ты ебанулся? Причём здесь технологические стек если придумывают пихание всех этих окошек в морду посетителю именно эффективные менеджеры?
288 3345400
>>45171
Скажи в чем блять недостаток то? Такими сайтами просто ахуенно пользоваться, можно чисто кончать от использования, допустимо если там будет какая нибудь мягкая анимация ползунков и кнопок и все. И самое главное - такие сайты как ты видишь не для нищей хуеты создаются, а для богачей которые ценят эстетику. Ты давно видел стул с бабкиного гаража за 250 евро?
Вот для питоpахи обычной там уже не важно, накидал в кучу говна всяких цветов баннеров и реклам, приправил всплывающими окнами и дешевой анимацией ШОБ НЕОБЫЧНА, и скормил ей же
289 3345843
>>45400
Без лица, без души. Ты хоть понять на каком сайте находишься можешь, по этим уебищным скриншотам?
Ты бы еще принес этих корпоративных блевотных человечков на одно ебало.
290 3345853
>>24202 (OP)
Наткнулся на слитый код крупного ру даркнет маркета, так вот он написан на ларавеле. Вопрос, это база писать сайты для даркнета на пыхе? Чем-то обосновано или просто совпало?

мимо залетный питонодебил
291 3345917
>>45853

Ну ты пидарас, я нофап из-за тебя сорвал

Задумался о сайтах на пыхе, которые знаю. Пошел чатурбейт проверять, он на джанге оказался
292 3346017
>>45843
Ты своими тезисами питараху напоминаешь. Которая живет внутри пик1, который выглядит снаружи как пик2 или пик3. Нет ну а чо. Зато душевно, оригинально
293 3346027
>>45843
Конкретно вот эти детали интерфейса просто ебаный мусор, нахуя он? Чтобы нищей хуете впарить какое то говно в обертке СПЕЦПРЕДЛОЖЕНИЯ СКИДКИ? Вот в чем качественное отличие богатых и успешных людей от нищего скота. Нищих держат за обезьян и помыкают разноцветными баннерами об очередной "скидке". Пользоваться сайтами для скота значит не уважать себя
294 3346132
>>46017
>>46027

>Пользоваться сайтами для скота


>Какие-то претензии к живущим в хрущебах


>Закупается в Louis Vuitton несуществующими часами


Вот за это я и люблю двачи. Тут порой таких ебанашек встретишь - цирк отдыхает.
295 3346139
>>46017
Колхозан, это frutiger aero
296 3346250
Чет перед новым годом джуновских вакансий резко меньше стало и и уже пет проекты опытом не считают ))). Походу не зря я фоном 1С почитываю.
297 3346263
>>46250
Да не ссы ты, это обычная сезонность через месяц все станет как было. Ну и на худой конец битрикс всегда ждёт тебя.
298 3346277
>>46250
Перед новым годом всегда так было, пчел.
299 3346289
>>46250

>)))


Там просто сразу поняли по обилию скобочек, что ты заводобыдло гречневое и ФИТА С КОМАНДОЙ упругих зумеров у тебя не будет. И нахуй ты такой нужен, скуфидон кринжовый?
300 3346298
>>46289

Я нужен, чтобы молодые лучше обьединялись на фоне чмырения меня за спиной. И переставали думать о плохом кабане, маленьких зарплатах и потогонке. Я один их теперь буду раздражать одним своим видом
301 3346345
>>46277
Так а смысл в этих вакансиях? Все на новогодние праздники уходят недели на полторы-две. Зачем кого-то нанимать чтобы он тупо ждал когда все работать начнут?
302 3347313
>>46139
>>46132
Однако сайты для мажоров выглядят минималистично. Дальнейшие споры бесполезны
303 3347463
А что вы на галерах делаете в основном?
Апишки и круды чистые или mvc дефолт сайтик на пыхе?
304 3347565
>>47313
И не имеют собственного лица, до полного смешения с интерфейсом телефона.
305 3347666
>>47313

>сайты для мажоров


Таких не существует.
306 3347682
>>47463
И то, и другое
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее