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

Клуб изучающих PHP #143 /php/

 Аноним 19/02/25 Срд 16:07:35 #1 №3392535 
5219e6f6de24bceee521f84d7b91c601.png
17318423340111.jpg
изображение.png
нетпхп.png
Это тред для начинающих. Слово «классы» у тебя ассоциируется только со школой, а в аттестате тройка по математике? Ты наш человек.

Предыдущий тред был тут: https://2ch.hk/pr/res/3324202.html

Старые треды тут 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 месяцев

Как вкатиться в PHP в 2025?
Шапка выше порядком устарела. На данный момент лучший способ вкатиться пройти курсы Хекселт. Проходить можно не отваливая 150к сразу за групповое обучение, которое не нужно, а обучаясь по подписке за 4к/месяц.
Аноним 19/02/25 Срд 16:09:23 #2 №3392541 
Пхпися в пхпопе
Аноним 19/02/25 Срд 16:25:32 #3 №3392549 
>>3392535 (OP)
PHP за опыт не считаем (с)
Аноним 19/02/25 Срд 16:29:59 #4 №3392550 
>>3392549
Там речь была про найм на гошника. Сейчас в РФ пхп в связке с го идёт нередко потому что кабан захотел го. И речь была про додиусов которые поработали 9 лет на пхп и 1 год на го и пишут что у них 10 лет опыта го
Аноним 19/02/25 Срд 21:24:25 #5 №3392784 
kotek.jpg
Как лучше всего прокинуть конфиг в обёрнутый класс?

Есть класс для работы с сторонним api, который принимает конфиг. Он завёрнут в адаптер - Adapter( Api( config ) )

Использую (учу) симфони

Вижу такие вары
1. собрать в контроллере всё вручную и не выёбываться
2. собрать конфиг в контроллере, прибиндить его в контейнер и взять адаптер из контейнера, куда уже подставится ранее собранный конфиг (так ведь?)
3. добавить адаптеру свой конфиг, чтобы он из него собрал конфиг api класса и сам класс. Плюс, как мне кажется, в том что тут контроллеру похуй на api класс и он зависит только от адаптера, а адаптер уже там пидорится сам с этой апишкой

Нужен максимально ентерпрайз-ориентированный патернообдроченный ответ, пожалуйста
Аноним 19/02/25 Срд 22:21:19 #6 №3392813 
>>3392784
Вот максимально энтерпрайзно https://symfony.com/doc/current/bundles/configuration.html
Аноним 19/02/25 Срд 22:28:54 #7 №3392820 
>>3392813
1) создай бандл для своего класса апи
2) создай конфиг для бандла
3) опционално можешь сделать пецепт для флекса чтобы он yml файл создавал с дефолтным конфигом при установке

будет максимально энтерпрайзно
Аноним 19/02/25 Срд 22:33:07 #8 №3392824 
>>3392820
Ну и соответственно бандл должен в контейнер добавлять твой класс сервис, а ты уже просто в акшен должен пропихивать как зависимость этот сервис
Аноним 19/02/25 Срд 22:37:18 #9 №3392828 
>>3392824
Если у тебя несколько апи и есть адаптер то можешь либо в одном бандле с адаптером из все реализовать либо разбить на отдельные бандлы и как зависимости черезкомпозер ставить.
Аноним 19/02/25 Срд 23:50:52 #10 №3392859 
>>3392832 →
>В пыхе ... дженерики
И как же выглядят дженерики в славном Personal Home Page?
Аноним 20/02/25 Чтв 01:45:00 #11 №3392878 
Screenshot 2025-02-20 014255.png
>>3392784
Что мешает просто прописать конфиг в конфиге? Берешь и без задней мысли конфигурируешь https://codebeautify.org/yaml-parser-online/y25f05b06
Аноним 20/02/25 Чтв 02:22:15 #12 №3392885 
>>3392535 (OP)
Что лучше учить - ларавель или симфони?
Аноним 20/02/25 Чтв 09:57:24 #13 №3392948 
>>3392885
Да.
Аноним 20/02/25 Чтв 10:09:32 #14 №3392961 
>>3392885
Битрикс
Аноним 20/02/25 Чтв 12:05:19 #15 №3393041 
>>3392948
>>3392961
Два клоуна одна шутка
Аноним 20/02/25 Чтв 14:33:50 #16 №3393135 
Знает кто-нибудь зачем в htmlspecialchars double_encode по умолчанию стоит в true? В чем прикол снова кодировать html-сущности в html-сущности? Спросил чатгпт, он несет какую-то хрень, которая оказывается несостоятельной на практике. Я создал шаблон в Laravel, вставил сырой php код с htmlspecialchars и передал первым параметром строку, в которой "<" и прочее уже закодировано в соответствующие html-сущности, а double_encode установил в false. И что я получил? Строку без html-сущностей, но без выполнения js кода. В чем прикол тогда? Если прикола нет, почему htmlspecialchars() по умолчанию ставит double_encode в true и Laravel тоже (внутри хелпера e)?
Аноним 20/02/25 Чтв 16:10:27 #17 №3393194 
magicheskij-shar-8-uznaj-svoyu-sudbu.JPG
17244293885350.png
>>3393135
>Спросил чатгпт
Каждый раз в голос проигрываю с этой хуйни.
Аноним 20/02/25 Чтв 16:20:40 #18 №3393206 
>>3392885
Симфони. Сам фреймврок намного лучше написан, в ларавеле куча копромагии. Но по симфе меньше учебных материалов и меньше вакансий, а порог входа выше.
Аноним 20/02/25 Чтв 17:52:31 #19 №3393309 
>>3393206
>Но по симфе меньше учебных материалов и меньше вакансий, а порог входа выше
о, да....
залез после трех лет с ларой на аутсорсе на продукт на симфе....
я как будто не работал никогда, синдром самозванца давит, привык магии, а тут почти все руками.
Аноним 20/02/25 Чтв 19:23:29 #20 №3393358 
>>3392878
>>3392820
Это для статики, а мне нужно чтобы в рантайме некоторые вещи в конфиг прописывались.

Думаю уберу из конструктора конфиг (или оставлю минимальную статику) и добавлю сетеры для установки всего остального. Тогда контейнер его сможет создать, а остальное будет ставится через адаптер такими же сетерами.

Норм придумал?
Аноним 20/02/25 Чтв 21:16:29 #21 №3393454 
>>3393358
Тогда сервис через фактри создавай, а в фактори статику прокидывай. https://symfony.com/doc/current/service_container/factories.html#non-static-factories
Аноним 20/02/25 Чтв 21:54:14 #22 №3393495 
>>3393358
Если конфигу нужно что-то в рантайме то может это не такой уж и конфиг
Аноним 20/02/25 Чтв 22:45:45 #23 №3393563 
>>3393194
Если гпт не знает, попробуй нажать кнопочку "онлайн", он в интернете тебе решение попробует найти и разжевать
Аноним 24/02/25 Пнд 11:15:50 #24 №3396037 
Аноны, для первых версий симфони была возможность скачать документацию в пдф, не знаете сейчас есть ли сейчас такое?
Аноним 24/02/25 Пнд 16:59:36 #25 №3396318 
Screenshot 2025-02-24 at 16.58.42.png
Маркетолг хекслета шапку делал?
Аноним 24/02/25 Пнд 17:02:25 #26 №3396322 
>>3396318
+ курс на 10 месяцев рассчитан, это не 4к в месяц, около 8к. Рассрочку два платить, охуенно
Аноним 25/02/25 Втр 11:39:13 #27 №3396827 
изображение.png
hex2.png
>>3396318
>>3396322
Аноним 25/02/25 Втр 11:50:43 #28 №3396834 
>>3396827
Чтобы потом к жадному микрокабану идти битриксы чинить в полуподвальном помещении и чай с собой на работу носить.
Аноним 25/02/25 Втр 13:26:31 #29 №3396971 DELETED
>>3396834
А какие ещё варианты есть на пыхе?
sage[mailto:sage] Аноним 25/02/25 Втр 14:11:54 #30 №3397007 
>>3396834
Как будто что-то плохое
Аноним 26/02/25 Срд 10:09:46 #31 №3397563 
>>3396834
>>3396971
Сидеть-пердеть на удаленке за 200-300к, ковыряясь в проекте на ларе или симфони
Аноним 03/03/25 Пнд 21:14:29 #32 №3400959 
Кто перекатился в другие языки?
Запилите стори пж
Работаю на сейчас с ларой и думаю перекатываться в го либо в джаву, но хз насколько это реально с нынешним рынком
Аноним 07/03/25 Птн 13:21:14 #33 №3403593 
Selection004.jpg
Selection005.jpg
Selection006.jpg
Selection007.jpg
>>3393358

Вопрос по Synfony DI контейнеру. А что если мне нужно создать объект не сразу, а отложенно? Вот что я имею ввиду.

Допустим, у нас есть Adapter. Как известно, в конструктор адаптера необходимо передать объект Adaptee. В свою очередь, чтобы создать объект Adaptee, нам необходимо передать в него объект конфигурации Config. Но объект конфигурации сразу создать нельзя, нам сначала в рантайме нужно получить объект Configurator, вызвать у него определённые методы, передать в этим методы некоторые значения, а уже после этого последует вызов метода у Адаптера и только тогда, когда Адаптер будет использован, контейнер должен увидеть что объект Адаптера ещё не создан, контейнер возьмёт готовый объект конфигуратора, вызовет у него метод build() который вернёт объект Config, затем этот конфиг передаст в конструктор Adaptee, а затем Adaptee в Адаптер.


Отличный вопрос про отложенное создание объектов (lazy initialization) в контексте контейнера зависимостей Symfony! Давайте разберёмся, как это можно реализовать.

В Symfony DI-контейнере есть несколько подходов к отложенному созданию объектов, и ваш случай — это классический пример, когда нужно управлять зависимостями, которые становятся доступны только в рантайме. Вот пошаговый разбор и решение:
Аноним 07/03/25 Птн 13:22:00 #34 №3403594 
Selection008.jpg
>>3393358
>>3403593

Промт я тебе дал, задавай своей неронке, разбирай с ней ответы
sage[mailto:sage] Аноним 07/03/25 Птн 16:46:40 #35 №3403732 
Сделал такое, что скажете

https://onlinephp.io/c/9b607
Аноним 07/03/25 Птн 22:06:13 #36 №3404008 
двач я самый большой лох в мире работаю за 15к уже несколько месяцев постоянно чиню всякую хуйню на фалконе на ларавеле на битриксе причем такое чувство что я так ничему не научился нормальному я просто как долбаеб правлю баги очень редко что-то с нуля пишу.... мяуы есть?
Аноним 07/03/25 Птн 22:18:57 #37 №3404014 
>>3403594
И в чем смысл второго пункта?
Изначальный вопрос был: как заинжектить рантайм параметры в конфиг. "Надо заинжектить". Ноу щит шерлок. Сделать то это как?

В пункте 3 вообще какая-то хуйня написана. Контейнер симфони это и есть сервис локатор. Задача как раз в этом сервис локаторе сконфигурировать нужный сервис. Причем тут вообще "полезность" какая-то.

Единственная "полезная" инфа - это про лэзи лоадинг, только нахуй он нужен если фабрика используется. У тебя же блядь в конфиге написано FACTORY. Она для того и нужна чтобы сервисы в рантайме создавать.

В очередной раз жпт-хуита накормила говном.
Аноним 07/03/25 Птн 22:20:32 #38 №3404016 
>>3403732
Как обычно, объект Animal придумать ума хватило, а объект Health уже никак.
Аноним 08/03/25 Суб 01:29:00 #39 №3404090 
>>3404016
В смысле
Аноним 08/03/25 Суб 01:46:56 #40 №3404094 
>>3404090
В том смысле что у тебя всего три раза написано if (!$this->alive) {return;} и всего два раза $this->health -= $damage; if ($this->health <= 0) {
Маловато как-то.
Аноним 08/03/25 Суб 12:58:01 #41 №3404315 
насколько реально на пхп трудоустроится без опыта?
какой фреймворк лучше выбрать?
Аноним 08/03/25 Суб 13:44:13 #42 №3404374 
>>3404315
>какой фреймворк лучше выбрать?
Битрикс.
Аноним 08/03/25 Суб 14:11:02 #43 №3404412 
>>3404315
Нереально. Ну а как ты хотел? Все по рыночку
Аноним 08/03/25 Суб 15:41:08 #44 №3404452 
image.png
Зачем нужна подобная шиза?
Последний пример особенно показателен - строка превращается в число, и затем к нему применяется операция битового XOR.
Единственный ответ на предложение вычесть число из строки, умножить строку на число и тем более использовать низкоуровневые системные битовые операции со строкой может быть только один - "Прими таблетки, шизик".
При этом нет совершенно нет операции деления целого числа на целое число (в 7-й версии, через 10 лет после выхода языка, добавили костыль в виде функции intdiv).
Совершенно наркоманский язык для укуренных наркоманов, в котором нет никакой логики.
Аноним 08/03/25 Суб 15:47:28 #45 №3404456 
image.png
image.png
Для сравнения, как сделано в самом понятном для людей языке.
Превразуем строку в число, и далее выполняем любые арифметические операции с числами.
Никакой шизы и наркоманщины, все интуитивно понятно даже ребенку.
Аноним 08/03/25 Суб 15:48:54 #46 №3404457 
>>3404452
Традиция не делать лишние конвертации. Из запроса приходят строки. Да отовсюду из ио приходит текст.
Аноним 08/03/25 Суб 16:10:46 #47 №3404466 
>>3404452
О, ты опять выходишь на связь, мудило?
Давненько тебя не было видно
Аноним 08/03/25 Суб 16:34:36 #48 №3404482 
Selection063.jpg
>>3404014

Смысл второго пункта в том, что ты делаешь обрётку над классом API, которая принимает не конфиг, а конфигуратор. А сам конфиг и объекта класса API создаётся только когда адаптер сделает вызов. Грубо говоря ты сам реализуешь лейзи лоадинг.

У тебя запустилась прога. У тебя сразу есть объект адаптера, конфигуратора и обрётрки над Адапти. Ты чё-то делаешь с конфигуратором, а потом вызываешь метод Адаптера, которые адаптирует не Адапти, а обёртку над ним. Эта обёртка вызовет у конфигуратора метод создания конфига, затем создаст объект Адапти с помощью этого конфига и затем сделает нужный вызов.
Аноним 08/03/25 Суб 17:09:25 #49 №3404510 
>>3404482
Я потому и сказал что жпт хуита навалила говна. Нахуя городить в классе какие-то зависимости от конфигураторов?

Есть известный любому вкатуну, простой как два рубля способ: фабрика. Фабрика соберет не достающие данные в конфиг и создаст нужный сервис в рантайме. Все.

А самое смешное что в жпт высере про лэзи лод именно так все и написано. Беда только в том что ни жп-говно, ни тот кто этот кал потребляет нихуя не понимают че там написано.
Аноним 08/03/25 Суб 18:07:52 #50 №3404538 
17373021276100.mp4
>>3404510

Смотри как я понимаю ответ:

1 Вариант:

1) Ты получаешь из Контейнера проксю Адаптера и Фабрику (Конфигуратор)
2) Ты вызываешь какие-то методы Фабрики, чтобы внутри объекта Фабрики установить какие-то поля, которые потом будут использованы при создании Конфига
3) Ты вызываешь апи метод у прокси Адаптера

После чего вот что делает Контейнер:

1) С помощью Фабрики создаёт Конфиг, вызывая метод build()
2) Создаёт Апи, передавая ему Конфиг
3) Создаёт Адаптер, передавая ему Апи
4) Выполняет апи метод прокси Адаптера, который вызывает апи метод у настоящего Адаптера
5) Адаптер выполняет метод апи у Апи


2 Вариант:

При старте программы Контейнер:

1) Создаёт Фабрику (Конфигуратор)
2) Создаёт обёртку Апи, передавая ей Фабрику
3) Создаёт Адаптер, передавая ей обёртку Апи

Далее выполняется уже твой код:

1) Ты получаешь из Контейнера Адаптер и Фабрику
2) Ты вызываешь какие-то методы Фабрики, чтобы внутри объекта Фабрики установить какие-то поля, которые потом будут использованы при создании Конфига
3) Ты вызываешь апи метод у Адаптера
4) Адаптер вызывает апи метод у обёртки Апи
5) Обёртка Апи вызывает метод создания Конфига у Фабрики
6) Обёртка Апи вызывает апи метод настоящего Апи


Понятно что формулировка у ЖПТ кривая. Типа внедрить фабрику в Адапти. Как ты её туда внедришь тупая нейронка, это просто класс который тебе дан и всё. Ну через обёртку значит, как ещё. Вот я тебе и расписал вариант с обёрткой.

Да, я тоже не понимаю типа чем второй вариант лучше первого? Только сущности зря плодить. Но МОЖЕТ БЫТЬ при каком-то раскладе это будет лучше. Надо внимательно анализировать плюсы и минусы. Но думаю тут не такая прям ахуеть задачать чтобы это анализировать. Вот если бы анон фреймворк какой-то писал то может быть там был бы смысл прям ДУМАТЬ.
Аноним 08/03/25 Суб 18:14:56 #51 №3404548 
>>3404008
Я в такой же залупе первый месяц отработал, только там еще "тимлид" был ебнутый наглухо и писал неподдерживаемую лапшу на CakePHP. Еще нужно было каждый час писать в общий чат чем сейчас занят.
Рисуй 1-2-3 года опыта в резюме иди в норм компании. Не ссы, даже если уволят спокойно устроишься на следующую
Аноним 08/03/25 Суб 18:21:22 #52 №3404553 
>>3404548

Такое реально бывает и там реально кто-то работает? Пиздец конечно. Я бы оттуда съебался сразу на испытательном сроке на следующий же день, когда понял как у них выглядит техпроцесс разработки.

В таком месте работать это деградировать как специалист.
Аноним 08/03/25 Суб 18:29:37 #53 №3404556 
>>3404553
Я почти все время сидел и читал доку по битриксу и CakePHP. На первой реальной задаче еблан-лид начал меня заебывать и я уволился
Аноним 08/03/25 Суб 18:36:21 #54 №3404560 
>>3404556

Погоди, тебе платили за то что ты читал доки? Тоже конечно моментик интересный.
Аноним 08/03/25 Суб 18:40:03 #55 №3404565 
>>3404560
Да, типо стажировка. И еще сдавал тесты по битриксу, которые гуглятся. Платили то ли 20 то ли 25к и вычитали 13% (кек)
Аноним 08/03/25 Суб 18:46:12 #56 №3404568 
>>3404565

Ну ещё ладно тогда. Знаешь, мне кажется это нормально что ты стал бы там писать код для каких-то решений для Битрикса. Главное чтобы у них все тех процессы были выстроены по-взрослому. Работа с репозиторием, ревью кода, процесс тестирования и релизов, процесс деплоя и т.д. Чтобы использовались современные практики и интрументы. Если ничё этого там не было, ты ты ничё не потерял, что ушёл оттуда.
Аноним 08/03/25 Суб 19:04:06 #57 №3404579 
>>3404568
В битриксе это невозможно. Это фрейворк одного разраба - один делет все, отдает нахуй заказчику и сразу бежит к другому. Битрикс просто так устроен.

1) Половина функиональности делается из админки, при этом генерируются всякие файлы .section.php .left.menu.php и прочие. Компоненты с 100500 параметрами всталяются мышкой. У тебя коммиты из автогенерировано мессива состоят, которое ревьювить смысла нет.

2) Ебнутая лицензия, что можно запускать 1 продовый инстанс, 1 для разработки. В доках говорится можно локальный инстанс создать для быстрофиксов, но нужно его затем удалить быстро быстро (прямо так в доках и написано лол). Иначе заблочат твой продовый сайт. В нормальных фреймворках у разработчика локальная версия годами живет, откуда он комиты пушит. Ебанутым надо быть чтобы каждый месяц настраивать.

3) Коллективная разработка ваще под вопросом. В дока битрикса некомпетентный бред про ci/cd. CI/CD это типо для больших пректов, для маленьких используйте скрам и канбан (так и написано бля)

мимо шел
Аноним 08/03/25 Суб 19:20:31 #58 №3404585 
Selection064.jpg
>>3404579

Бля, не знал что там на столько всё плохо. Я представлял себе это так, что у тебя просто лежит код какого-то решения отдельным проектом, со своей отдельной от Битрикса кодовой базой, с разными ветками для разных версий модулей, которые твоё решение расширяет или с которыми взаимодействует по API. Ты его (решение) разрабатываешь, тестируешь на каком-то своём тестовом Битриксе, а потом выкатываешь клиентам обновление решения.
Аноним 08/03/25 Суб 19:29:27 #59 №3404588 
>>3404585
В битрикс24 популярно интеграции через rest api делать. Но их пишут на разых фреймворках, на пыхе или вообще не на пыхе. Просто у многих битрикс24 в облаке и к нему у разработчиков доступа непосредственного нет, если это не коробка. В БУС для магазинов стандартной разработкой занимаются, вот этим всем, с редактированием в админке.
Аноним 08/03/25 Суб 19:39:12 #60 №3404594 
>>3404588
Короче мораль такова что в битриксе современной нормальной разработки нет, там все из ебли состоит. В нормальных пыхопроектах, ты как любой разраб, на любой языке:
1 открываешь утром ноут
2 делаешь docker compose up -d
3 колупаешь задачу
4 git commit -m "я сделаль" && git push origin
5 ждешь когда ci/cd просрется в гитлабе
6 пишет в ютреке в задаче статус 100% я все сделяль
В битре такого никогда не будет
Аноним 08/03/25 Суб 19:42:47 #61 №3404597 
>>3404594

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

Мне слишком понравилось кодить в дев контейнере и вот это всё. По-моему это база и за этим не только настоящее, но и будущее.
Аноним 08/03/25 Суб 19:53:59 #62 №3404604 
>>3404597
Можешь битрикс24 заниматься если знаешь что проект не на битриксе, а в целом на ларке или симфони выполнен, т е никаких там модулей битриксовских не надо поддерживать. Локальная разработка осложняется тем что надо тестировать на реальном портале битрикса, у которого к твоему локальному проекту доступа нет.
Аноним 08/03/25 Суб 21:17:17 #63 №3404666 
image.png
image.png
image.png
image.png
Вот примерные вакаснии пхп 80-150.
Это адекватные требования?

Сегодня гулял по лесу, слушал назарова, у него на стриме там зп 600-1лям. Говорит ЗА 2 ГОДА НАХУЙ 350.

Чем они там занимаются нахуй? Этот список на пиках учить заебешься + это все собирать чтобы оно работало. Одна РСУБД - выебет весь мозг чтобы не проебать данные, блокировки, транзакции, репликация, партицирование и прочее.

Что они там учат что за 2 года уже 200+ получают?

Я вот смотрю на эти зп и список требований и лютая дизмораль
Аноним 08/03/25 Суб 21:32:49 #64 №3404683 
>>3404579
>2) Ебнутая лицензия, что можно запускать 1 продовый инстанс, 1 для разработки. В доках говорится можно локальный инстанс создать для быстрофиксов, но нужно его затем удалить быстро быстро (прямо так в доках и написано лол). Иначе заблочат твой продовый сайт.
Чувак, как бы тебе сказать... Устанавливаешь битру локально, в ядре комментишь пару строк(легко гуглиться) и все. Локально никаких ключей тебе не понадобится никогда. По разработке - делаешь парку классов-оберток над апи битры и алга свое делать. Я полтора года грёб на галере с битрой/симфони на беке. Все было - и ревью пуллреквестов, и тесты, и ci/cd.
Аноним 08/03/25 Суб 21:34:54 #65 №3404684 
>>3404666

Да нормальные требования. Ты ж не в совершенстве должен всем этим владеть, а просто иметь опыт применения этого на деле, то есть ежедневно в своей практике пользоваться всем этим.

Бери да пользуйся.

Например не знаешь RabbitMQ? Прикрути к своему пет проекту, пойми что это, зачем, как работает, какие лучшие практики применения и т.д. Требования знать это означает лишь то, что у них это используется на проекте и если ты придёшь туда и не будешь знать чё это, то это будет хуйня как бы, согласись. Но это не значит что ты будешь его ставить, настраивать, тюнить. Ты будешь просто писать какой-то код который чё-то читает или пишет в эту очередь, должен понимать как это рабоатет, какие подводные, лучшие практики.
Аноним 08/03/25 Суб 21:37:14 #66 №3404685 
>>3404683
Охуенная компания. Заставляет варезом заниматься, чтобы тряслись и платили
Аноним 08/03/25 Суб 21:42:17 #67 №3404688 
>>3404685
Да еще деплой в докере от васянов, а официально только в вм, какой там сисд
Аноним 08/03/25 Суб 21:59:01 #68 №3404702 
>>3404684
>Но это не значит что ты будешь его ставить, настраивать, тюнить
А кто будет?
Аноним 08/03/25 Суб 22:12:32 #69 №3404713 
17365344742680.png
Прочитал Клеппмана - нихуя не понял как лучше делать репликацию в постгресе и в мускл. Как обеспеичвается линеаризуемость? Кворум я буду делать или внутренний движок?
Вот допустим есть 3-5 узлов. Синхронно он сам в 1-2 узла пишет, а потом водопадом ассинхронно кидает в другие реплики? И так же по кворуму читает одновременно с тех 1-2 узла в которые пишет, а те асинхронные - резервные и никак не учавствуют? Или они переодически тасуются?

Короче нихуя не понял как ПРАВИЛЬНО делать репликацию.
Или нужно еще костыли хуевертить как из главы читаем свои данные, например пишем на один сервер и из него же читаем 1-2 минуты например, а все остальное читаем с других, но не свои данные которые записали и тем самым получается будто бы у нас все синхронно.

Вообще это задача пхп-шника чтобы настраивать реплики, шардирование?
Аноним 08/03/25 Суб 23:06:34 #70 №3404739 
>>3404094
А если создам класс health, со своими методами и свойствами (текущее здоровье, максимальное, жив или нет), мне его передавать как свойство в энимал?
Аноним 08/03/25 Суб 23:08:47 #71 №3404741 
>>3404702

Девопсы. Там уже всё настроено и сделано девопсами, ты только юзать будешь.
Аноним 09/03/25 Вск 02:25:10 #72 №3404795 
>>3404538
>Да, я тоже не понимаю типа чем второй вариант лучше первого? Только сущности зря плодить. Но МОЖЕТ БЫТЬ
Просто пушка. Жпт написала хуйню, но ты даже эту хуйню не понял. И при всем при этом высрал её сюда как какое-то решение.

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

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

А вот как это делается есди ты не въебал говна и вместо жпт параши читал докуменитацию:
Adapter:
factory: [AdapterFactory, 'build']
Все. В момент когда нужно заинжектить Adapter, будет вызван метод фабрики build, который должен создать объект адаптера и засунуть в него все что нужно.

Это последний раз когда я берусь разбирать жпт высер. Чтобы сгенерировать этот мусор было затрачено гораздо меньше энергии, чем трачу я чтобы в этой хуйне разобраться.
Жпт говноеды сто процентно заслуживают того говна, которым их кормят. Но если пытаются накормить своим говном нормальных людей, то их ждет не разбор их мусорной нейрохуиты, а струя мочи в ебло.
Аноним 09/03/25 Вск 10:56:13 #73 №3404906 
panbabaki019.webp
>>3404795
Что же это получается, нейросети пока не заменят программистов?
Аноним 09/03/25 Вск 13:09:09 #74 №3404976 
Selection066.jpg
Selection067.jpg
>>3404795

> Жпт написала хуйню, но ты даже эту хуйню не понял.

Это ты не понял, не разобрался.

> В первом варианте ты написал полную хуйню.

Нет, я всё написал правильно в целом.

> Прокси работает так: создается фейковый объект, а когда ты вызываешь какой-то метод этого фейкового объекта - объект создается по настоящему.

Я буквально это и написал, ты просто не читал или читал невнимательно.

> Как это помогает прокинуть в него данные из рантайма?

Ты не читал или читал невнимательно.

Вот я даже проверил своё описание 1 верианта у нейронки. Всё верно.
Аноним 09/03/25 Вск 13:46:36 #75 №3404997 
>>3404976
>Вот я даже проверил своё описание 1 верианта у нейронки. Всё верно.
А я запустил приложуху на симфони и поссал тебе на ебло. Всё верно.
Аноним 09/03/25 Вск 14:35:51 #76 №3405050 
>>3404997

Ничего ты не запускал.
Аноним 09/03/25 Вск 14:50:39 #77 №3405061 
>>3404666
>слушал назарова, у него на стриме там зп 600-1лям
Лол, слушает инфоцыганчиков удивляется что инфоцыганчики срут ему в уши, ну и почему ты такой дебил?
Аноним 09/03/25 Вск 15:55:42 #78 №3405087 
>>3405061
Дебил тут только ты, греча.
6-10$ это норм зп даже для пхп. У го и явы - обычное дело. Тот же СемДарк от 10к работал еще лет 8 назад
Аноним 09/03/25 Вск 15:58:25 #79 №3405091 
>>3405061
Почему гречневый скот общаться не умеет без оскорблений? Тебя в семье стекломойной так воспитали?
Аноним 09/03/25 Вск 16:14:22 #80 №3405102 
image.png
>>3392535 (OP)
>Как вкатиться в PHP в 2025?
>Шапка выше порядком устарела. На данный момент лучший способ >вкатиться пройти курсы Хекселт. Проходить можно не отваливая >150к сразу за групповое обучение, которое не нужно, а обучаясь по >подписке за 4к/месяц.

Нихуя, армяшка тред угнал и встроил свою рекламу
Аноним 09/03/25 Вск 16:36:04 #81 №3405121 
>>3405102
Я узнал этого дурачка который форсит хекслет, это он рассказывал как вкатывался через эти курсы, а потом не осилил ларавель и пошел работать битриксойдом, забавный тип.
Аноним 09/03/25 Вск 17:30:25 #82 №3405173 
image.png
Мидлы, где? Работу даю. Кабан кормит
Аноним 09/03/25 Вск 17:32:50 #83 №3405177 
>>3405173
Фууу, не хочу. Мне Антон Назаров на стриме сказал что пхпшники зарабатывают по 600к-1000к в месяц, так что меньше этой цифры мне работу не предлагать!
Аноним 09/03/25 Вск 17:37:51 #84 №3405183 
у них кстати свой колледж в Питере, в Москве тоже вроде собираются открывать.
>>3405102
>>3405121
Аноним 09/03/25 Вск 17:44:19 #85 №3405189 
>>3405173
Ищу кидалу - пешеход бегунок, работал мидлом-пхп yii2, украл у тимлида треко из офиса. Характерная черта - опохмел, щетина.
Аноним 09/03/25 Вск 18:44:50 #86 №3405256 
>>3405173
че за чатик?
Аноним 09/03/25 Вск 18:47:15 #87 №3405260 
Selection072.jpg
>>3405173

Чё это значит?
Аноним 09/03/25 Вск 19:11:38 #88 №3405310 
>>3405260
Пхп-скуфы бомбанули и требуют чтобы минимальная зп эту работу составляла 600к рубасов в месяц
Аноним 09/03/25 Вск 23:00:45 #89 №3405507 
>>3405310
А ты сам не хочешь 600к? За полтос пойдешь работать?
Хотя если ты нихуя ничего больше не знаешь и год-два в этом варишься, то хз.
У меня в 2013 как у новичка была зп 700$ без опыта с чистым жс, жкуери, пхп и мускл, ну и цмски на уровне юзера.

А тут надо базу за которую я работал и получал 700 + еще дохуя чего
Аноним 09/03/25 Вск 23:03:28 #90 №3405510 
>>3405507
И ведь говнюк не ограничится 50 часами в месяц. Будет названивать в телегу в 23:00
Аноним 09/03/25 Вск 23:49:16 #91 №3405535 
image.png
image.png
Аноним 09/03/25 Вск 23:54:30 #92 №3405538 
>>3405183
>свой колледж в Питере
Во времена золотой лихорадки, стоит продавать кирки, все правильно делают. Нужно больше школ и курсов.

Причем на курсах еще и напугают задачками и попустят, что бы ты там учился годами. Данный персонаж, раньше постоянно затирал, про математику, логику, людям которые не могут торрент скачать.
Аноним 10/03/25 Пнд 00:02:36 #93 №3405541 
>>3405535
Приветствую будущего битриксойда. Уже мечтаешь как покупаешь виллу где-нибудь в Испании?
Аноним 10/03/25 Пнд 00:09:17 #94 №3405545 
image.png
>>3404713
бамп
Аноним 10/03/25 Пнд 09:41:12 #95 №3405655 
>>3405535

Ни разу за 15 лет работы с PHP не использовал больше одного доллара.
Аноним 10/03/25 Пнд 09:50:46 #96 №3405670 
парни, выручайте. дошёл до ларавел фреймворка, изучив ООП и базу PHP, задумался уйти на Go. Норм вариант? Живу в ДС-2, поэтому тут есть всякие стажировки/junior позиции, на которые попасть можно, как мне кажется. Опыта программирования нет, но как-то хочется сразу зарабатывать больше 100к, чем в пыхе сидеть год-два на 50–60к. Будет тестовое через месяц, нужно будет прорешать алгосы. В случае чего можно просто в GPT скормить задачки и на собесе на стажировке отвечать за реальные знания о языке, которые ты получил за месяц + всякие видосы с собесами перед этим просмотреть. План говно или рабочий? Либо лучше дальше познавать ларавел?

Вообще есть смысл лезть в Go, как первый язык, находясь в ДС-2? Я ушёл с работки 3 месяца назад, живу на подушку и учу пхп. И там и там планирую крутить опыт.
Аноним 10/03/25 Пнд 10:04:44 #97 №3405677 
путь-it-юмор-geek-6113788.jpg
>>3405670
>Я ушёл с работки 3 месяца назад, живу на подушку и учу пхп. И там и там планирую крутить опыт.
Встретимся через 3 месяца в пятерочке
Аноним 10/03/25 Пнд 11:09:40 #98 №3405731 
>>3405670
>парни, выручайте
Таких сказочных долбоебов давно не видел.
И во времена когда брали всех кто ширинку застегивать умеет, вкатывался один из десяти. А сейчас на слова стажировка/джун мгновенно выпрыгивают тысяча долбоебов с накрученным опытом. Как ты через них продираться на собес собрался? Они там все по резюме ебейшие гении с опытом.

Тебе в башку не приходило, что неосиливший пхп еблан, который планирует код писать пастой из жпт, мягко говоря, нахуй никому не обосрался?
Аноним 10/03/25 Пнд 11:30:36 #99 №3405742 
>>3405731
почему неосиливший-то? я обычный вопрос задал, а ты только нагрубил и никакого аргумента нормального не дал, хотя чего я ожидал, придя сюда.
Аноним 10/03/25 Пнд 11:31:32 #100 №3405743 
hqdefault.jpg
>>3405670
Ты за три месяца изучил базу и ООП ?
Аноним 10/03/25 Пнд 11:35:40 #101 №3405744 
>>3405743
ООП на этапе общего понимания, без коммерческого опыта ООП не изучишь на должном уровне, как я понял.
Аноним 10/03/25 Пнд 13:04:53 #102 №3405834 
>>3405742
>почему неосиливший-то?
По определению. Язык ты не выучил, приложения на нем писать не умеешь, зарабытвать с его помощью не умеешь.

>а ты только нагрубил
А чего ты хотел? Ты же бредишь. Находишься в делирии. Я хуй знаю какой правильный медицинский термин, "адекватне восприятие реальности"? Видел как врач хлопает по щекам, подсовывает к носу нашатырь и спрашивает: "Молодой человек, вы понимаете где находитесь?" Ты понимаешь где находишься?

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

И такое говно значица берут на стажировку, на котрую тысяча откликов за два дня? Бля, да фантазии про принца на белом коне, на фоне этого более реалистичными выглядят. Или расчет типа на удачу? Так может проще и быстрее пойти поставить свою подушку на красное? Там так-то шансы аж 48%. Шансы попать на вакансию с 1к откликов сам посчитать сможешь?

>хотя чего я ожидал, придя сюда
Копиума? Внимания?
Уж точно не пощечину. В себя приди. Полудурок, не жги бабки. Иди работай, а в свободное время учи пхп. И только как дойдет до успешных созвонов и собесов можешь позволить себе бросать работу. Это будет тяжелый год, и не факт что что-то из этого получится. У людей поумнее и поусерднее не получалось.
Аноним 10/03/25 Пнд 13:43:34 #103 №3405865 
>>3405744
Написал уже что-то?
Аноним 10/03/25 Пнд 16:56:55 #104 №3406020 
>>3405865
два пет-проекта: to-do-list и portfolio (своё резюме)
Аноним 10/03/25 Пнд 16:58:17 #105 №3406021 
>>3405834
вот сейчас я тебя понял, спасибо за подробный ответ. могу и бредить, хотел чтобы со стороны указали на абсурдность идеи или наоборот.
Аноним 10/03/25 Пнд 18:12:38 #106 №3406052 
>>3406020
В ооп стиле? Можешь показать
Аноним 11/03/25 Втр 15:58:47 #107 №3406644 
Аноны, откликнулся в галеру, написал HR добавил меня в чатик с техдиром - а это сам Альберт Степанцев, лол!
Завтра созвон с ним будет, че спросить?
Аноним 11/03/25 Втр 17:50:02 #108 №3406746 
>>3406644
>а это сам Альберт Степанцев
А кто это? Ты через торренты спиздил чьи-то курсы по симфони, а они по совпадению оказались этого чела?
Аноним 11/03/25 Втр 18:42:53 #109 №3406802 
>>3406746
Да это курсы с торрентов по пыхе, но он в начале каждого видео говорит, что "пиратам сделает скидку!" если ему честно написать
comments powered by Disqus

Отзывы и предложения