Программирование

Ответить в тред Ответить в тред
Check this out!
Клуб изучающих PHP #124 /php/ Аноним 08/06/21 Втр 23:40:53 20624941
php-noob-1.png 32Кб, 500x500
500x500
cat-cafe-osaka.jpg 140Кб, 1024x683
1024x683
welcome-to-php.png 187Кб, 853x480
853x480
cat-sad.jpg 194Кб, 1024x768
1024x768
Оказывается, лимоны выведены искуственно. И кому только пришла в голову идея вывести кислый несъедобный фрукт? Пока кто-то выводит фрукты, мы изучаем язык PHP (а также JS/CSS/HTML/SQL) и учимся делать сайты. Зачем? Кто-то хочет открыть стартап, кто-то заработать на лапшу быстрого приготовления, кому-то просто нечего делать.

ОП довольно занят, но постарается ответить на все вопросы. Также, ответы и решения задач можно поискать в архиве тредов phpclub.

Это тред и для начинающих. Слово "классы" у тебя ассоциируется только со школой, а в аттестате тройка по математике? Ты наш человек.

Предыдущий тред был тут: >>1998470 (OP) . Все старые треды есть в архиве: https://phpclub.tech/ (там есть поиск, можно искать решения и обсуждения задач).

С чего начать

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

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

Ты прошел весь учебник? Молодец, но это были лишь основы языка PHP. Вот что в идеале надо изучить еще: ООП, как работает веб-сервер, HTML/CSS, SQL, PDO, работа с таблицами в БД, работа с формами, MVC, git, composer, JS, фреймворки, автоматизированное тестирование. У нас есть задачи для изучения этого:

- для начала прочти урок https://github.com/codedokode/pasta/blob/master/soft/web-server.md
- установи Апач + PHP (советы выше и ниже) и читай туториал http://php.net/manual/ru/tutorial.php
- Учи HTML/CSS и SQL, PDO, хотя бы основы
- Далее простая, но полезная задача сделать список студентов, в ней много полезных советов: 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
- Почитать про паттерны http://designpatternsphp.readthedocs.org/ru/latest/README.html (если ты не изучил ни одного фреймворка, то это будет рановато), тут с примерами кода http://designpatternsphp.readthedocs.org/ru/latest/README.html . Имей в виду что без примеров использования их учить бесполезно - не поймешь, хочешь увидеть примеры использования паттернов - ковыряй исходники Симфони, например Symfony Forms. Не заучивай паттерны - смотри код и думай, зачем тут они использованы.

Чтобы делать эти задания, тебе надо установить Апач + PHP (можно заодно сразу и MySQL) на компьютер. Вот полезные инструкции:

https://github.com/codedokode/pasta/blob/master/soft/php-install.md
https://github.com/codedokode/pasta/blob/master/soft/apache-install.md

Может тебе понадобится пользоваться командной строкой, вот гайд https://github.com/codedokode/pasta/blob/master/soft/cli.md

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

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

- HTML/CSS: https://github.com/codedokode/pasta/blob/master/html/html.md
- 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/
- MySQL: https://github.com/codedokode/pasta/blob/master/db/databases.md

Что почитать

- Мануал по PHP — http://www.php.net/manual/ru/langref.php
- Сайт phptherightway (перевод на русский: http://getjump.me/ru-php-the-right-way/ )
- По PHP: Профессиональное программирование на PHP Джордж Шлосснейгл
- По PHP: Мэтт Зандстра — PHP: Объекты, шаблоны, методики программирования
- JS: learn.javascript.ru
- Про Git: https://git-scm.com/book/ru/v1
- Новости IT на англ. https://news.ycombinator.com/
- какой-то древний, устаревший, но большой и на русском справочник по веб-разработке, посоветованный аноном: https://starcat.dp.ua/doc/wdh/

Оформляй код аккуратно!!! — например пропусти через phpformatter.com . Также, если ты пользуешься IDE вроде PhpStorm, Netbeans, Eclipse, то в них эта опция встроена, подробнее: https://gist.github.com/codedokode/8759492

У ОПа нет аккаунтов и групп вконтакте, в фейсбуке, в твиттере, все "пхп-треды" там поддельные.

Платиновые вопросы

- Почему PHP? Потому что вакансий море, и учить легко.
- Сайт опять упал!!!!! — Не паникуй, а зайди на https://github.com/codedokode/phpbook, нажми зеленую кнопку Clone or Download -> Download ZIP, распакуй на рабочий стол и получи личную копию сайта, не требующую интернетов.
- Что надо знать чтобы найти работу - разработчику: PHP, SQL, HTML/CSS, JS, ООП, Git, композер, MVC, фреймворк. Верстальщику - HTML/CSS, JS, jQuery. У нас в треде были люди, которые практически с нуля учились и смогли найти работу (ищи в архиве по слову "устроился").
- Что будут спрашивать на собеседовании если 0 опыта - гонять по теории, по официальному мануалу PHP, давать дурацкие задачки на переворачивание строк, гонять по SQL (транзакции, внешние ключи, напиши запрос), по JS (как сделать анимацию при нажатии кнопки), ну погугли, не ленись
- Можно подробнее про поиск работы, собеседования - нет, ОП писать не будет, но может кто из анонов захочет рассказать. Поищите тред перезвонивших, а также раздел /wrk/
- Сколько времени надо изучать все это? - все зависит от тебя, но не меньше 6-8 месяцев
- Нужен ли ООП, фреймворки, MVC, git, composer? — Да, однозначно. Посмотри любую вакансию.
Аноним 08/06/21 Втр 23:41:53 20624952
grammar.png 55Кб, 500x644
500x644
Код стоит писать аккуратно и оформлять, как принято. Потому, что другой человек, который будет смотреть твой код, вряд ли обрадуется, когда ему придется разбирать слипшиеся строчки, разбросанные в беспорядке скобки и написанные русскими словами названия переменных. Особенно плохо будет если это, например, код тестового задания, которое ты сделал, чтобы устроиться на работу. Если он будет неряшливым, это будет большой минус.

Для этого достаточно вставить код на http://beta.phpformatter.com/ и нажать «format». Робот оформит все как надо. Если ты используешь IDE, то там есть горячая клавиша для этого. Список клавиш для IDE: https://gist.github.com/codedokode/8759492

Вообще, в PHP долгое время не было единого стандарта оформления кода, все писали как попало и было много бардака, но сейчас дело лучше — есть рекомендации PSR-1 и PSR-12. Вот как надо оформлять код:

- переменные и функции пишутся с маленькой буквы, подчеркивание не используется, используется camelCase, пример: $x, $numberOfPeople, printResults()
- Название функции начинается с глагола, в стиле «сделайЧтоТо»
- не знаешь английский? Не беда, в 21 веке есть решение этой проблемы. Не пиши транслитом, открой лучше Гугл Транслейт и найди название для переменной там
- в именах классов используется CamelCase, первая буква большая, «_» может использоваться
- мы предпочитаем подстановку переменных вместо конкатенации строк: "I am $age years old" — хорошо, 'I am ' . $age . ' years old' — плохо из-за обилия точек и кавычек
- мы используем для отступов 4 пробела (можно настроить редактор, чтобы при нажатии Tab он вставлял 4 пробела)
- ставим тайп-хинты на аргументы функций, результат функций и поля классов

Вот ссылка на рекомендации PSR, где все это описано подробнее и даны примеры оформления:

PSR-1 (рус.): https://svyatoslav.biz/misc/psr_translation/#_PSR-1
PSR-12 (англ.): https://www.php-fig.org/psr/psr-12/
Аноним 09/06/21 Срд 06:17:33 20626643
>>2062494 (OP)
А чего у вас в шапке так тухло с книгами?
Наверняка уже кучу годноты завезли под новые версии пыхи, а у вас только Зандстра 2009 года выпуска
Аноним 09/06/21 Срд 07:08:45 20626744
>>2062481 →
>Но дальше ты заметишь, что ты делаешь в начале каждого файла одни и те же действия
+.
Из-за этого и появилась мысль сделать одним файлом.

>микрофреймворк вроде Slim.
Гляну.
Аноним 09/06/21 Срд 09:34:59 20627315
Аноним 09/06/21 Срд 11:43:39 20628016
image.png 91Кб, 1322x243
1322x243
image.png 61Кб, 1196x396
1196x396
image.png 11Кб, 656x163
656x163
image.png 10Кб, 673x125
673x125
Ну шо вы тут, живы?
Нид хелп
На вп натягиваю вёрстку бутстрепа, первое это результат, навбар вывожу через wp_nav_menu, всё отлично но вот проблема в дропдавн меню, я не знаю как задать классы для li и ul внутри дропдавна. Видел что на пхп можно заменять нужные аттрибуты и классы, но они вроде заменяются везде, а мне нужно что бы только в дропе были особенные. Кто может подсказать чем путним, как лучше сделать
Аноним 09/06/21 Срд 12:28:16 20628327
Как сделать,чтобы после записи суммы в бд,через 7 дней списали часть от нее?
Аноним 09/06/21 Срд 12:37:17 20628438
Я так и не понял,зачем нужен htmlspecialchars?
Аноним 09/06/21 Срд 12:46:35 20628529
>>2062832
Добавляешь колонку с датой записи.
Потом по крону апдейтишь как-то так
UPDATE hui SET amount = amount * 0.2, added = NULL WHERE added IS NOT NULL AND DATEDIFF(NOW(), added) >= 7;
Аноним 09/06/21 Срд 12:47:50 206285310
>>2062852
>Потом по крону апдейтишь как-то так
что?
это таймер?
Аноним 09/06/21 Срд 12:49:25 206285411
>>2062843
Чтобы можно было вывести <b> - жирный шрифт
а не - жирный шрифт
Аноним 09/06/21 Срд 12:49:54 206285512
>>2062853
Планировщик задач в линупсах.
Аноним 09/06/21 Срд 13:00:56 206286513
>>2062855
а на пыхе нету такого?
Аноним 09/06/21 Срд 13:09:33 206288314
>>2062865
Можно придумать какие-то анальные костыли, но нормально делается на кроне.
Аноним 09/06/21 Срд 13:11:13 206289015
>>2062865
Например в ларе есть свой шедалер, но это калька с крона и крон там используется как точка входа.
Аноним 09/06/21 Срд 13:42:19 206294216
>>2062890
те под виндой я не сделаю?
Аноним 09/06/21 Срд 14:22:33 206300417
>>2062942
Скорее всего насосешься хуев с виндой. Юзай докер хотя бы
Аноним 09/06/21 Срд 14:34:26 206302418
>>2063004
Виндузятникам не привыкать, фигли делов-то
Аноним 09/06/21 Срд 14:36:09 206302719
>>2063004
у меня домашняя винда,а не Профессиональная или Корпоративная с юбилейным обновлением (версия 1607) или более поздней версии.
Аноним 09/06/21 Срд 15:34:10 206313520
>>2062664
Книги хуйня, все на ютубе
Аноним 09/06/21 Срд 15:37:35 206314021
Аноним 09/06/21 Срд 15:39:28 206314522
>>2063027
Ну так накати проф или корп винду свежую, или бубунту в дуалбут
Аноним 09/06/21 Срд 15:39:49 206314623
>>2063135
Что там годного на ютубе?
Перечисляй
Аноним 09/06/21 Срд 16:07:51 206316924
>>2063146
Кнопки там ниче такие
Аноним 09/06/21 Срд 16:21:00 206318125
>>2063145
если поставлю в дуал буте-отвалиться инет
Аноним 09/06/21 Срд 16:23:38 206318326
Аноним 09/06/21 Срд 16:25:48 206318427
>>2063140
>>2063146
Ну смотрите, ввожу в поиске "php mysq(любой другой язык) простой сайт\проект" и получаю видосы по полчаса-час где сразу на практике могу сделать что-то и заебенить на гитхаб, и он не пустой и рука набита, плюс экспириенс как применить знания на практике. В книжках тебе сто страниц будут просто ебать мозг копипастой.
Аноним 09/06/21 Срд 16:30:59 206319028
>>2063181
Я бы на твоем месте не вкатывался в айти. А то хуй отвалится
Аноним 09/06/21 Срд 16:33:24 206319229
>>2063184
>ввожу в поиске "php mysq(любой другой язык) простой сайт\проект"
Первое видео - ускоренное видео как чел пишет код с комментариями уровня: вот тут делаем это, а там вот то. Почему, зачем, что делаем и куда двигаемся - не понять
Аноним 09/06/21 Срд 16:51:39 206321530
Аноним 09/06/21 Срд 17:20:41 206325831
>>2063184
>видосы по полчаса-час где сразу на практике могу сделать что-то и заебенить на гитхаб
>>2063215
>Делаем дырявую форму час
>Выкладываем на гитхаб
>"Мам, я програмист! Ну скажи им"
Аноним 09/06/21 Срд 18:12:33 206335432
Воркер, за которым следит супервайзор, нужно руками запускать или он при загрузке ОС сам запустится?
Аноним 09/06/21 Срд 20:11:32 206358733
>>2062843

В HTML некоторые символы имеют специальное значение. Например, символы < и > используются для открытия/закрытия тегов, символы " и ' используются в атрибутах, а символ & используется для кодирования символов, которых нет на клавиатуре, вроде & copy; (символ ©).

Соответственно, если ты выведешь echo "<b>", то это будет воспринято браузером как тег b.

Но что, если ты хочешь просто вывести текст, как есть, чтобы спецсимвол вроде < не начинал бы новый тег, а просто выводился бы как угловая скобка? Для этого тебе надо в тексте заменить спецсимволы на HTML-сущности:

< - на & lt;
> - на & gt;
& - на & amp;
" и ' на & quot; и & #039;

Функция htmlspecialchars этим и занимается.

Всегда, когда ты выводишь какой-то текст в HTML-документ, надо применять эту функцию. Если этого не делать, то можно получить уязвимость XSS, как она работает, описано тут: https://github.com/codedokode/pasta/blob/master/security/xss.md

Вообще, это относится не только к HTML. Если ты подставляешь текст в ссылку, ты должен экранировать спецсимволы (но не с помощью htmlspecialchars, а с помощью urlencode), если ты подставляешь переменную в SQL-запрос, ты тоже должен экранировать спецсимволы и так далее.


Аноним 09/06/21 Срд 20:18:40 206359934
>>2062942

Под WIndows тоже есть планировщик задач, и можно сделать, чтобы твой php скрипт запускался в определенное время. Только не забудь настроить, чтобы он запускался из-под нужного пользователя.

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

>>2063004

Докер это корявое решение. В винде есть свой планировщик задач.

Аноним 09/06/21 Срд 20:23:16 206360635
>>2063184

Если в видео объясняется теория, а не просто показывается как писать код, то конечно, имеет смысл его посмотреть.

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

>>2063354

Должен запуститься сам.
Аноним 09/06/21 Срд 20:24:54 206361036
>>2063135
PHP за час
от-прафессианала

>>2063184
На ютубе оче много ничего не умеющих балаболов, к тому же через чтение инфа быстрее воспринимается - где там очередной прафессионал будет жопу тянуть 15 минут, ты за это время уже гугл прошерстишь и прочитаешь что надо.
Аноним 09/06/21 Срд 20:36:19 206362537
где в РУ инете есть самый активный форум по пхп?
Аноним 09/06/21 Срд 20:49:29 206363638
Для каких целей вы использовали кастомные middleware?
Аноним 09/06/21 Срд 20:57:00 206364039
>>2063610
Двачую, книги и документация наше всё
Аноним 09/06/21 Срд 20:57:36 206364140
>>2063215
А есть адекватный аналог?
Аноним 09/06/21 Срд 20:58:17 206364341
По MVC,паттернам посоветуйте пожалуйста годную книгу.
Аноним 10/06/21 Чтв 09:41:21 206396142
>>2063643
Head first design patterns - книга старая, но очень годная и написанная очень простым языком. Примеры там на джаве, но это не мешает. Классика жанра "Приемы объектно-ориентированного проектирования" от банды четырех. Ну и Зандстра "Объекты, шаблоны и методики программирования"

Еще можешь читануть https://designpatternsphp.readthedocs.io/en/latest/README.html
Аноним 10/06/21 Чтв 11:11:34 206401143
>>2063961
>Ну и Зандстра "Объекты, шаблоны и методики программирования"
Бля пыхыписты, у вас за 10 лет реально что ли другой книги не вышло? Какого хрена вы советуете всегда один и тот же протухший антиквариат?
мимо
Аноним 10/06/21 Чтв 11:37:40 206403544
photo2020-11-24[...].jpg 30Кб, 503x514
503x514
Аноним 10/06/21 Чтв 12:16:42 206409045
>>2062494 (OP)
Насколько вообще реально за год выучить php и вкатиться джуниором? А то я слушаю и все вокруг говорят о том что джуниоров даже за еду работать уже не берут так как программистов такая куча что без опыта работы они нахуй не нужны никому стали.
Аноним 10/06/21 Чтв 12:32:08 206410646
>>2064011
Там же дохуя обновлений вышло, буквально недавно видел под 8 спиздили переиздание.
Аноним 10/06/21 Чтв 12:35:13 206411047
>>2064090
Как повезет, я пришел вообще нихуя не зная, написав разве что кривой калькулятор, который мне итт обосрали. На собесе честно сказал что хочу и готов учиться и внезапно прокатило. А первое же задание мне дали писать на луа, а не пыхе, тут то я и охуел
Аноним 10/06/21 Чтв 12:52:22 206412848
>>2064110
Сейчас до сих пор там же работаешь?
Аноним 10/06/21 Чтв 13:26:44 206415049
>>2064128
Да, пилю простенькие серваки для мобильных казуалок и подумываю наконец свалить куда-нибудь, но я тот еще аутист, так что дико стремаюсь собесов.
Аноним 10/06/21 Чтв 13:46:26 206416650
>>2063599
>Докер это корявое решение. В винде есть свой планировщик задач.
Почему?
Какова вероятность, что php проект будет на продакшене на windows сервере крутиться?
Имеет же смысл осваивать то, что встретишь на работе
Аноним 10/06/21 Чтв 13:47:03 206416751
Аноним 10/06/21 Чтв 13:49:03 206417052
>>2064090
>Насколько вообще реально за год выучить php и вкатиться джуниором?
Год даже много. Бери пол года
Аноним 10/06/21 Чтв 14:07:46 206419853
>>2064011
И хули? Head first design patterns вообще 2004 года, но для новичков ничего лучше до сих пор нет
Аноним 10/06/21 Чтв 14:10:43 206420454
>>2064090
Если по 6-8 часов хуярить можно и за месяца три спокойно, но обычно ещё фреймворки и бд нужно знать
Аноним 10/06/21 Чтв 14:16:37 206422255
>>2064150
Вакансии на hh искал?
Аноним 10/06/21 Чтв 14:34:51 206425956
>>2064204
Так вся суть пыхи в бд и фреймворках. Голая пыха мало кому нужна.
И что там можно 3 месяца в голой пыхе фултайм херачить?
Аноним 10/06/21 Чтв 15:01:32 206429957
>>2064259
С нуля учебник ОПа, а потом ООП, разбирать шаблоны ООП. Ну, и помимо этого основы хтмл, цсс и жабаскрипта.
Аноним 10/06/21 Чтв 15:03:33 206430358
>>2064222
Вакансии смотрю, да.
Аноним 10/06/21 Чтв 18:43:23 206454159
>>2064204
У меня нет столько времени, работа сама себя не работает к сожалению, так что в будние дни максимум часа 2-3 смогу выделять в лучшем случае, поэтому и спросил про год.
Аноним 10/06/21 Чтв 21:56:34 206468360
>>2064299
>жабаскрипта

Кстати, а на хуя пыхеру фронтенд язык знать?
Аноним 10/06/21 Чтв 21:57:14 206468461
>>2064541
А, ну тогда да, год понадобится, но это все равно маловато да и усталость после работы влияет
Аноним 10/06/21 Чтв 22:45:58 206473162
>>2064683
Раньше все веб давалоперы были фулстеки, потом всё дохуя усложнилось и разделились на бек и фронт, но с пхп некоторая инерция осталась.
Аноним 11/06/21 Птн 00:44:26 206489363
Сап, пхпаны, что нужно помимо вордпресса для заработка на лапшу быстрого приготовления?
Аноним 11/06/21 Птн 03:09:32 206495464
>>2064893
Ну можешь попробовать еще опенкарт посмотреть и битрикс. Правда с этой тройкой ты только на лапшу и сможешь расчитывать.
Аноним 11/06/21 Птн 10:02:34 206507065
>>2064954
Регулярно вижу вакансии на битрикс с нормальными зарплатами. Если порог брезгливости не очень высокий, то можно и там зарабатывать
Аноним 11/06/21 Птн 11:48:56 206513466
>>2065070
Битрикс так то довольно популярен так что не так уж мало людей на нем работает.
Аноним 11/06/21 Птн 14:02:47 206531567
ДОБРОЕ УТРО! ПОМОГИТЕ, ОТВЕТИТЬ НА МОИ ВОПРОСЫ! Я ВКАТЫВАЮСЬ В ВЁРСТКУ, НО МНЕ СКАЗАЛИ, ЧТО В 2К21 ГОДУ БОЛЬШЕ ВЕРСТАЛЬЩИКОВ НЕ СУЩЕСТВУЕТ, СКАЗАЛИ УЧИТЬ РНР, ПОТОМУ ЧТО ДАЖЕ ВОРДПРЕСС ИМЕЕТ REST API И МОЖЕТ СЛУЖИТЬ КАК HEADLESS CMS. ПОЭТОМУ Я ОЗНАКОМИЛСЯ С САМЫМИ БАЗОВЫМИ ОСНОВАМИ РЕАКТА

1) Если я хочу быть верстальщиком, фронт-жабаскриптером, реакт-макакеном. То что мне нужно знать об аутентификации, сессиях и jwt токенах? Процесс аутентификации полностью лежит на плечах бэкенда или мне как фронт-жабоскриптеру что-то надо ajax,fetch-запросами куда-то посылать для аутентификации?

Я читал на хабре про jwt-токенты, РНР сессии, но нихуя не понял

2) Что мне нужно знать об web-сокетах? Если я как верстак, фронт-жабаскриптер должен буду делать чат. То что мне нужно знать об web-сокетах?
Я тоже про них читал на learnjs, но нихуя не понял.

ОЧЕНЬ СИЛЬНО ПРОШУ ПРОЩЕНИЯ ЗА СВОЁ СУЩЕСТВОВАНИЕ! ПРИНОШУ ГЛУБОЧАЙШИЕ ИЗВИНЕНИЯ!
Аноним 11/06/21 Птн 14:12:13 206532768
>>2065070
Хз как вкатиться в этот ваш битрикс. Я пробовал его установить и потестить, так там ведь просто тонны лапшекода, в котором по идее надо хорошо разбираться и решать возникающие проблемы.
Книг по нему нет, туториалов нет, документация на сайте полное гавно и т.д.
Короче вариант не для новичков, имхо
Аноним 11/06/21 Птн 14:14:22 206532969
>>2064090
>джуниоров даже за еду работать уже не берут
Вообще да. Только куча не программистов, а таких вот вкатывальщиков. Требования к джунам выкатывают в зависимости от запрлаты - у одних будешь за 30к Попенкарт пердолить целыми днями, другие попросят фреймворк, докер, юнит-тесты и дадут со старта 80к.
Не слушай местных зазывал - пиздят либо ошибка выжившего.
Аноним 11/06/21 Птн 14:18:44 206533570
>>2065315
Блядь, анон, ты ёбнутый совсем местных двачеров слушать? Они тебе такого насоветуют - охуеешь. Какие фреймворки, какие, в жопу, вебсокеты?
Любой веб начинается с вёрстки - что бекенд, что фронтенд. Фронтенду вообще особенно хорошо вёрстку знать надо.
Выглядит это так: статичная вёрстка + методы + инструменты, потом чистый жаваскрипт и немного динамики, потом уже фреймворки и тд. Куда ты полез вообще, тебя тупо затроллели, либо борщехлебы хейни понаписали из манямирка?
Аноним 11/06/21 Птн 14:27:00 206534571
>>2065335
Суть в том, что поковырял вёрстку. Немножко жабаскрипт поковырял.

Но дальше я уже ничего не понимаю. Поэтому родились вопросы:
1) Что я должен знать как верстальщик в процесс аутентификации? Я должен что-то отправлять ajax-запросами? Или я ничего не должен и всё бэкенд сам сделает.

2) Что я должен знать как верстальщик, если придется делать чат. Что я должен делать с веб-сокетами?
Аноним 11/06/21 Птн 14:41:28 206535372
>>2065345
>поковырял вёрстку
>жабаскрипт поковырял
>дальше я уже ничего не понимаю
Плохо поковырял значит и надо больше.

>Что я должен знать как верстальщик в процесс аутентификации?
>если придется делать чат
Очень странные вопросы. Если тебе это всё нужно только для чата, то проще будет нанять кого-то или купить готовый.
Аноним 11/06/21 Птн 15:25:36 206542473
>>2065353
>Плохо поковырял значит и надо больше.
Это уже в бэке ковыряться надо. Я пытался, на w3schools основы РНР прошёл и SQL. Читал Мэтта Зандстру про РНР ООП, но дальше главы про абстрактные фабрики не осилил. Потом смотрел вводные видео про next.js. Читал на хабре джве статьи про jwt токены. Но нихуя не понял.

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

>Очень странные вопросы.
|Они родились из того, что я читал в learnjs тему про веб-сокеты. Я всё подряд читаю из learnjs. И я не понял, что это за хуйня, и что я должен из этой темы знать как верстальщик.
Аноним 11/06/21 Птн 15:36:42 206543774
>>2065424
>меня высмеяли, что я хватаюсь за всё подряд
Ну да. Ты по верхам пробежался просто и думаешь, что освоил что-то. В норме опыт считается только выполненными проектами - сперва говно из палок, потом всё лучше и лучше. Туториалы, книжки и статейки никто в серьёз не воспринимает и не будет - в одно ухо влетело, в другое вылетело.

>не понял, что это за хуйня, и что я должен из этой темы знать как верстальщик
Ничего. Верстальщик верстает статические страницы, его динамика почти не касается. Фронтенд разработчик это верстальщик + динамика на js. В вебсокеты не лезь пока - тебе ещё рано.
Аноним 11/06/21 Птн 15:48:26 206544475
>>2065424
>Они родились из того, что я читал в learnjs тему про веб-сокеты
Тебе вообще туда лезть не нужно, раз хочешь верстку. Вообще всё, что касается бека не трогай
Аноним 11/06/21 Птн 16:38:14 206548076
Аноним 11/06/21 Птн 22:03:00 206581877
>>2065327
Это вариант для говноедов
Аноним 11/06/21 Птн 22:12:54 206582478
Ребята, а реально ли релокейтнуться в Восточную Европу(Литву например) с пхп?
Аноним 11/06/21 Птн 22:18:31 206582879
>>2064090
За месяц синтаксис изучаешь, пробуешь сделать что-то связанное базой данных и идешь искать работу. Жопаскрипт освоишь уже на самой работе, хотя, перед тем как устроится, желательно уметь им пользоваться в плане написания функций и вывода ajax запросов. Это не сложно, учится буквально за вечер.
Я когда пхпшником устроился, то мне вообще дали говнокод ковырять на asp classic, смачно подохуел тогда.
Аноним 11/06/21 Птн 22:20:30 206583080
>>2065828
Смотришь PHP за час От профессионала и идёшь раскидывать заявки на вакансии - ты ж теперь у мамы синьор. Сам язык уже на работе подтянешь.
Аноним 11/06/21 Птн 22:22:46 206583281
>>2065830
Не утрируй. Я через месяц учебы работу на пхп нашел, говорю исключительно о своем опыте. Работа правда гавно, за 25к всего.
Аноним 11/06/21 Птн 22:24:23 206583482
>>2065832
Так тебя обычным эникеем взяли фактически, но заставили код писать. Причём тут пхп?
Аноним 11/06/21 Птн 22:25:18 206583583
>>2065834
Ну так сначала говно делал, постепенно стали давать проекты на yii допиливать. Чем не работа?
Аноним 11/06/21 Птн 22:29:04 206583784
>>2065835
>проекты на yii допиливать
>25к

>Чем не работа?
На стройке больше заработаешь.
Аноним 11/06/21 Птн 22:31:05 206583985
>>2065837
Вопрос был о том, КАК НАЙТИ РАБОТУ, а не о заработке. Я на него ответил. К чему доеб, не понимаю?
Аноним 11/06/21 Птн 22:49:35 206585086
p
Аноним 12/06/21 Суб 00:29:18 206592687
>>2065315

> НО МНЕ СКАЗАЛИ, ЧТО В 2К21 ГОДУ БОЛЬШЕ ВЕРСТАЛЬЩИКОВ НЕ СУЩЕСТВУЕТ

Это не совсем так. Речь о том, что нет спроса на верстальщиков, умеющих делать только HTML-верстку с CSS без JS. Обычно от верстальщика ожидают, что он реализует и JS-код. При этом JS-код может быть в форме простых скриптов на jQuery (при нажатии на кнопку, показать попап, отправить аякс-запрос), так и в форме приложения на фреймворке вроде React, Vue. То есть предпочтительнее быть не верстальщиком, а полноценным фронтенд-специалистом.

> То что мне нужно знать об аутентификации, сессиях и jwt токенах?

Тебе надо тщательно изучить, как работают куки. Это твоя зона ответственности.

Сессии работают полностью за счет бекенда. Форма логина отправляется на сервер, и в случае успеха, сервер выставляет куку (она содержит id сессии), которая подтверждает наличие авторизации. Эта кука шлется автоматически при любом запросе (то есть и при открытии страницы, и при аякс-запросах) и автоматически проверяется сервером. От фронтенда тут требуется разве что сверстать красивую форму логина.

Отличие JWT-токена от id сессии в том, что для проверки сессии бекенд должен искать (на диске, в редисе, в БД) идентификатор сессии и проверять его правильность. Если у тебя все хранится на одном сервере - проблем нет. Но если у тебя хайлоад и куча серверов, то тебе надо выделить какое-то центральное хранилище для сессий и на него будет сыпаться куча запросов от бекендов.

JWT-токен же содержит цифровую подпись и для его проверки бекенду не надо отправлять никаких запросов в хранилище, а достаточно проверить валидность подписи в токене. Теоретически, JWT-токен можно передавать в куках так же, как и идентификатор сессии, и тогда для фронтенда вообще ничего не меняется. Но часто используют такой паттерн, когда фронтенд шлет логин/пароль на определенный URL, получает JWT-токен и далее должен слать его вместе с каждым запросом явно (а также, в случае получения ответа, что токен устарел, перенаправлять пользователя на форму логина).

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

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

> Что мне нужно знать об web-сокетах?

Тебе сначала хорошо бы изучить не веб-сокеты, а классические сокеты Беркли. Понять, как вообще данные передаются в сети между машинами. После этого веб-сокеты, после этого прикладные протоколы вроде Autobahn.

> должен буду делать чат.

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

Аноним 12/06/21 Суб 00:38:37 206593388
>>2065837

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

С другой стороны, в строительстве крутятся огромные деньги. Посмотрите цены на квадратный метр. Обычному программисту такие деньги, конечно, никто не даст, а строительным компаниям люди из последних средств платят. Очень выгодный бизнес.
Аноним 12/06/21 Суб 00:41:52 206593489
>>2065424

> Я всё подряд читаю из learnjs. И я не понял, что это за хуйня, и что я должен из этой темы знать как верстальщик.

Ты должен знать принцип работы, как отправлять и получать сообщения по веб-сокетам, как сериализовать данные (например: тебе надо отправить объект с кучей полей), знать, какие бывают прикладные протоколы поверх WS вроде Autobahn (хотя, может он уже устарел?).
Аноним 12/06/21 Суб 00:42:53 206593590
>>2065327

Исходный код лучшая документация.
Аноним 12/06/21 Суб 00:45:55 206594191
>>2063636

Я не использовал, но обычно middleware используют там, где надо что-то сделать с HTTP-запросом или ответом. Например: зашифровать куки, залоггировать запрос, сжать HTTP-ответ, добавить какие-то HTTP-заголовки.

Что-то более высокоуровневое там делать неудобно. Например, проверку прав доступа сделать там тяжело, хотя некоторые и пишут, что для этого можно использовать middleware.
Аноним 12/06/21 Суб 00:50:09 206594692
>>2063961

> https://designpatternsphp.readthedocs.io

Это не очень удачная книга. Она объясняет, как реализовать паттерн, но не объясняет, зачем он нужен. Также, там дурацкие примеры, например тут: https://designpatternsphp.readthedocs.io/en/latest/Creational/Builder/README.html

Тут в примере используются классы TruckBuilder и CarBuilder. В каком приложении тебе понадобится создавать машины с помощью билдера?

Более того, там приведен сложный код, используются интерфейсы, наследование, но нет никаких поясенений, зачем это нужно.
Аноним 12/06/21 Суб 01:01:52 206595993
>>2065824
Работаю на фирму, которая релокейтнула пачку пыхеров в Чехию в Прагу. Т.е. большая часть команды разрабов работает из Праги. Кто-то собирается переезжать, как с ковидлом поуляжется
Аноним 12/06/21 Суб 01:03:47 206596194
>>2065835
Тоже начинал с yii до сих пор на нем, блядь, ебаное легаси, мать его. Так что относительно неплохой старт. Главное - срыгнуть на симфу
Аноним 12/06/21 Суб 01:09:52 206596995
>>2064166

Автор вопроса спрашивал, как ему настроить выполнение заданий под Windows, значит его интересует именно эта ОС.
Аноним 12/06/21 Суб 07:51:22 206604496
Аноним 12/06/21 Суб 09:56:07 206606997
>>2065824
Реально. Я из Беларуси и мне сейчас компания предлагает помощь с релокацией в Польшу, Литву или Украину.
Аноним 12/06/21 Суб 09:59:14 206607098
>>2065959
>>2066069

Спасибо за ответ ребята, а то я что-то приуныл, и уже подумывал стэк сменить.
Аноним 12/06/21 Суб 11:04:22 206608699
>>2066044
Тому що нужно проверять существование ключа subject в массиве прежде чем обращаться к нему. Регулярка у тебя тоже кривая Спасибо, вернул мне мой 2005-й
Аноним 12/06/21 Суб 11:57:40 2066104100
>>2065926
>Тебе сначала хорошо бы изучить не веб-сокеты, а классические сокеты Беркли. Понять, как вообще данные передаются в сети между машинами. После этого веб-сокеты, после этого прикладные протоколы вроде Autobahn.
Очередной посылатель учить левую хрень.
Аноним 12/06/21 Суб 12:06:33 2066105101
>>2066086
>вернул мне мой 2005-й

А что не так, так уже не пишут?
Аноним 12/06/21 Суб 12:19:48 2066106102
>>2066105
В процессе учебы писать так абсолютно нормально, но не более того. Хотя возможно, что в каких-нибудь конторах, клепающих лендинги, обработка форм сделана именно так.
Аноним 12/06/21 Суб 12:28:33 2066111103
>>2066106
А как по стильному современному будет?
Аноним 12/06/21 Суб 12:51:47 2066126104
>>2066106
А как правильно? С аяксом? Или какой-то структурой?
Аноним 12/06/21 Суб 12:55:04 2066129105
>>2066069
Компания не EPAM случайно?
Аноним 12/06/21 Суб 15:04:51 2066219106
>>2066104

Сам ты левая хрень. Сокеты Беркли надо понимать, так как веб-сокеты на них основаны.

>>2066106

Он написал код просто, чтобы протестировать регулярное выражение. Ты предлагаешь (угробив кучу времени) сделать полноценное приложение на Симфони ради проверки регулярки?
Аноним 12/06/21 Суб 15:10:14 2066224107
>>2066219
Тогда пиздуй учить диодно-транзисторную логику, а еще лучше начинай с квантовой механики и физики полупроводников, ведь веб-сокеты на этом основаны. Пока не выучишь не возвращайся в IT.
Аноним 12/06/21 Суб 16:21:25 2066274108
>>2066219
>Сокеты Беркли надо понимать
Тыскозал? Как это поможет накатить библиотеку и сделать по документации? Нахуй надо ковырять левые доки по другому языку, ты ебан какой-то.
Аноним 12/06/21 Суб 16:25:50 2066281109
>>2066219
>Сокеты Беркли надо понимать
Их вендору надо понимать, а не имплементатору. Сразу нуба в разработке видно. Небось ещё и на ВУЗы дрочишь - типа без вышки и знания тысяч алгоритмов только не пизди, что ты их все учил не бывает программистов.
Аноним 12/06/21 Суб 16:43:28 2066299110
Есть тут аноны, которые работают с Битрикс?
Расскажите плиз как вкатывались, что читали/смотрели?
Аноним 12/06/21 Суб 16:57:25 2066315111
>>2066111
>>2066126

По стильному-современному это будет экшен контроллера в который будет инжектиться либо реквест, из которого ты руками (не надо так) или с помощью десериализации достанешь нужные тебе данные, скормишь их валидатору и потом будешь с ними работать, либо готовая провалидированная дтошка (в ларке это из коробки, в симфони нужно запилить аргумент ресолвер) опять таки с нужными тебе данными
Аноним 12/06/21 Суб 18:30:00 2066387112
index.jpg 307Кб, 1224x826
1224x826
Напомните почему так сложно установить пыху на винду и заставить работать с фреймворками? Это говно даже собственный конф файл не может поcтавить: php.ini
Аноним 12/06/21 Суб 18:32:43 2066389113
>>2066387
Ну если тебе распаковать зип и добавить в path сложна, то хуй знает.
Аноним 12/06/21 Суб 18:44:17 2066404114
15989214252560s.jpg 6Кб, 270x217
270x217
>>2066389
>Ну если тебе распаковать зип и добавить в path сложна, то хуй знает.
Аноним 12/06/21 Суб 19:25:29 2066459115
>>2066387
А зачем страдать, если можно поставить линукс в дуалбут? Все равно на работе придется иметь с ним дело. Сами себе придумывают сложности на ровном месте, а потом героически с ними сражаются
Аноним 12/06/21 Суб 19:33:47 2066469116
>>2066299
Читал доки symfony/laravel, смотрел AFUP PHP. Пошел на собес с требованиями "symfony, laravel, wordpress". На тех. собесе мне сказали: "Ты молодец, конечно, у нас проекты для тебя есть, но пока что завал с битриксом, так что подсоби". Ну я согласился: первый собес, хули. Прочитал доки и прошел тесты за неделю, поработал месяц и убежал.
Аноним 12/06/21 Суб 19:35:13 2066471117
symfony-в чем ее фишка?
Аноним 12/06/21 Суб 20:25:31 2066504118
>>2066471
Symfony - это ОН
Laravel - ОНА

Не путай!
Аноним 12/06/21 Суб 20:57:08 2066521119
Аноним 12/06/21 Суб 21:28:21 2066548120
>>2066469
Сколько заплатили хоть за такую вилкочистию?
Аноним 12/06/21 Суб 22:16:14 2066594121
>>2066471
В компонентности, например
Аноним 12/06/21 Суб 22:17:13 2066596122
>>2066594
и в чем отличие от монолитной лары?
Аноним 12/06/21 Суб 22:17:53 2066597123
>>2066469
>symfony, laravel, wordpress
Ничего не насторожило?
Аноним 12/06/21 Суб 22:19:57 2066598124
>>2066596
В том, что можно взять только то, что тебе необходимо. К примеру только контейнер зависимостей и роутер. А в ларке даже педрильный блейд гвоздями прибит по крайней мере раньше было так
Аноним 12/06/21 Суб 22:20:59 2066599125
>>2066598
те я могу взять только роутинг,а дальше сам велосипедить?
Аноним 12/06/21 Суб 22:47:37 2066610126
>>2066599
Еще доктрина, если ты адепт предметного подхода в архитектуре, может ебенейшую по вложенности структуру из сущностей и вэлью обжектов подхватить без изменений. Причем тебе твою бизнес логику никак не придется переделывать под фреймворк, а элоквент так не может и заставит тебя писать кучу борлеплейта по преобразованию структур бизнес логики в модели и наоборот, либо заставит прибивать БЛ к ларавелу гвоздями.
Аноним 12/06/21 Суб 22:49:59 2066611127
>>2066469
>symfony, laravel, wordpress
Ну ты нашёл куда сунуться. Мог бы сразу на фрилансе к очередному дебилу с "нужон розробочтик на Тилда, Вопркперс, Ларавел, Опенкарт за 20к\мес" пойти в услужение.

>На тех. собесе мне сказали: "Ты молодец, конечно, у нас проекты для тебя есть, но пока что завал с битриксом, так что подсоби"
Ожидаемо.
Аноним 12/06/21 Суб 22:54:11 2066614128
>>2066599
Для этого проще микрофреймворк взять и самому накидать туда что нужно.
Аноним 13/06/21 Вск 14:44:24 2066992129
>>2066614
А чем симфони не микрофреймворк?
Аноним 13/06/21 Вск 16:48:23 2067067130
16164188827072.jpg 22Кб, 720x720
720x720
>>2062494 (OP)
Дошёл до задачи с палиндромом в учебнике, вроде решил её, но у меня стойкое желание что я наговнокодил, вот сам код https://ideone.com/DGq6ON

Я для отсчета символов с конца строки создал лишнюю переменную и у меня стойкое ощущение что это можно было сделать как-то по другому, но я не понимаю как. Я находил в интернете решения этой задачи через функции, но я до них ещё не добрался поэтому меня интересует более оптимальное решение из тех знаний что предоставил учебник до этого момента.
Аноним 13/06/21 Вск 16:48:59 2067069131
>>2067067
Желания => ощущение

быстрофикс*
Аноним 13/06/21 Вск 17:00:55 2067078132
Аноним 13/06/21 Вск 17:29:17 2067105133
>>2067078
Спасибо за подсказку, так и знал что нагавнокодил.
Аноним 14/06/21 Пнд 10:48:00 2067636134
>>2066610
использование доктрины не делает твой код "предметным"
Аноним 14/06/21 Пнд 14:03:27 2067774135
>>2066299
>Есть тут аноны, которые работают с Битрикс?
Есть. Потрогал говно, блеванул, больше с ним не работаю
Аноним 14/06/21 Пнд 14:06:45 2067777136
>>2067067
Тяжело наговнокодить в функции на 5 строк. Работает и ладно
Аноним 14/06/21 Пнд 15:44:09 2067841137
>>2067636
Не шизи, там такого не написано.
Аноним 14/06/21 Пнд 19:51:33 2068110138
>>2066129
З якой мэтай цікавішся?
Аноним 14/06/21 Пнд 20:08:50 2068123139
>>2068119
Шизик, тебе уже отвечали, что ты обращаешься к несуществующему ключу массива.
Аноним 15/06/21 Втр 05:40:28 2068607140
Сап, двач. Вопрос следующий. Я программирую уже год и 5 месяцев на языке программирования "пи эйч пи".

Короче, первая моя работа была около года в компании работающей на CMS и делающей магазинчики ебучие. Это было больно, но я работал и учился. Потом перешел в другое место и начал делать проект на Yii. Там продуктовая компания, продукт всего один. Стартапщики ебучие.

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

Что я научился за эти полтора года:
- Ну собсна ПХП. 7ой ясен хуй. С пацанским ООП.
- Базы данных. Запросы, джойны, репликация, нормальная форма. Вообще на машке работаем, но я и на монге успел.
- Редиска и мемкэшд. Для, что характерно, кэша.
- Слегка JS. У нас в админке интерфейс простой, хуйня на бутстрапе с жиквири. Модалочки хуялочки научился делать, всякие говногулпы.
- Докер с компоузом, куда же без него.

Так вот. Что мне делать КАЖДЫЙ ДЕНЬ помимо работы чтобы дальше расти в скилле? Сейчас начал читать книжку по Yii для более глубокого понимания. Так же начал писать мелкий фронтенд на реакте чтоб научиться и этому тоже. Че ещё посоветуете?

Аноним 15/06/21 Втр 07:53:57 2068619141
>>2068607
>Что мне делать КАЖДЫЙ ДЕНЬ помимо работы чтобы дальше расти в скилле?
Бля, да много чего ещё можно делать!

1) Учить какие бывают архитектуры. Событийно-ориентированные, микроядро, микросервисы, многослойная, space-based и т.д.

2) Учить облачные сервисы - AWS, Azure, Google Cloud. Проходить воркшопы https://awsworkshop.io/ Смотреть Well Architected Framework https://aws.amazon.com/ru/architecture/well-architected/

3) Учить инструменты деплоя/автоматизации архитектуры - Hashicorp, Pulumi, Chef, Puppet, Ansible, Salt и т.д.

4) Учить стандарты PHP - https://www.php-fig.org/ PHP CodeSniffer, и т.д.

5) Учить CI/CD - тот же Сicle CI.

6) Учить Github/Github экшены.

7) Учить как отслеживать приложения - Lumigo, Dynatrace, Datadog, и проч.

8) Проджект менеджмент - ту же Asana, какие стили бывают agile, lean, scrum, kanban и т.д.

Короче учить можно до бесконечности.
Аноним 15/06/21 Втр 13:53:48 2068868142
>>2068619
Какой смысл это все учить без применения на практике?
Аноним 15/06/21 Втр 14:43:10 2068937143
>>2068619
1. Согласен, общее понимание неплохо бы иметь.
2. Особо не задрачивать, просто понимать что в принципе на рынке есть. В каждой галере всё по своему.
3. Нахуя? Во-первых это дело ДевОпсов, во-вторых, максимум нужно примерно понимать пару-тройку команд для деплоя.
4. Согласен, было бы неплохо знать.
5. Нахуя? Опять же, это работа ДевОпса, разве что общий принцип как работает в твоей компании CI/CD.
6. Ага, блядь, и пайплайны битбакета. Что там учить то? Просто конфигурируешь настройки под каждый проект (по ридми и мануалам), что конкретно ты учить там собрался-то?
7. Нахуя ты опять советуешь учить не технологии/подходы, а какие-то частные реализации? Опять же, это работа ДевОпса. Твоя работа как программиста максимум помочь в интеграции, всё. Тебе не нужно учить все сервисы которые тот или иной продукт предлагает.
8. Угу, ещё "выучи Жиру" забыл добавить.

Короче, советы не для программиста, а для девопс/кодера/продакт менеджера/архитектора/продакт оунэра комбайна. Тот, кто всё это знает, по сути не знает ничего, нахватался по верхам.
Я бы челу предложил копать глубже, а не в ширь. Посмотреть паттерны, поразбираться как устроены популярные фреймворки, попробовать написать экстеншены к ним, попробовать покоммитить в опен сорс проекты.
Аноним 15/06/21 Втр 14:57:52 2068961144
>>2068937
>3, 5, 7
В мелких фирмах/командах сеньор бекендер может быть девопсом на пол ставочки. Там как раз хватает знаний по верхам, т.к. нужно поднять дефолтный си/сд
Аноним 15/06/21 Втр 17:55:07 2069238145
>>2068607
>Что мне делать КАЖДЫЙ ДЕНЬ помимо работы чтобы дальше расти в скилле?
Как минимум начать использовать единственный нормальный фреймворк на похапе
Аноним 15/06/21 Втр 18:21:23 2069294146
>>2069238
Двачую, сам хочу на Битрикс пересесть
Аноним 15/06/21 Втр 18:23:33 2069301147
>>2069294
Он имел в виду Вордпресс
Аноним 15/06/21 Втр 18:32:14 2069327148
15293260325950.jpg 117Кб, 645x410
645x410
Аноним 15/06/21 Втр 18:48:25 2069352149
>>2068110
Интересно, для себя
Аноним 15/06/21 Втр 20:18:32 2069494150
всем привет.
до уровня джуна (хорошие знания php + база laravel/yii2 + mysql) за сколько подтягивается?
Аноним 15/06/21 Втр 20:19:23 2069496151
>>2069327
Я Макаров, но, скорее всего, не тот, о котором ты написал
Аноним 15/06/21 Втр 20:22:07 2069501152
>>2069494
Оптимально за пол года фултайм (40ч в неделю) можно выйти с нуля на джуна и пойти штурмовать собесы.
Только побольше кода пиши на голой пыхе и с фреймворками.
Результатом учебы должен быть какой-нибудь пет проект на фреймворке с основными фичами (пара крудов, авторизация, хождение в сторонние апи)
Аноним 15/06/21 Втр 20:32:13 2069506153
Как через PDO получить количество затронутых строк? Надо проверить есть ли уже в дб вводимое значение. То что пробовал нихуя не работает(((
Аноним 15/06/21 Втр 20:39:21 2069512154
>>2069506
rowCount, это rows affected для запроса.
А если просто количество, то через select count, очевидно же.
Аноним 15/06/21 Втр 20:42:00 2069515155
>>2069501
ну знания пыхи на базе есть в связке с бд. могу круд приложение написать. я переживаю по большей части за то, что я ебланил всё своё время. как вытекающие: 5 записей в тк (начал с веб-разработчика, потом пошёл на завод, на склад, в вуз программистом, потом блять логистом поработал, причём только в двух местах работал 5 и 12 месяцев. в остальных по две недели). это уже пиздец тотальный? даже если ахуенные знания будут, мне кажется не возбмут чела со склада блять.

мне 25 только стукнет
Аноним 15/06/21 Втр 21:28:47 2069551156
>>2069496
Да ладно, Санек, не шифруйся.
Аноним 15/06/21 Втр 21:34:21 2069559157
Аноним 15/06/21 Втр 23:20:54 2069695158
>>2069551
>>2069496
>>2069327
А чё за приколы? Так-то если без шуток СамДарк крутой программист и дизайн архитектор. дрочу на него
Аноним 16/06/21 Срд 00:39:58 2069748159
ПОЧЕМУ ЭТО ВЫДАЕТ 23?
<?php
$s = 2;
switch ($s){
case 1:
echo 1;
case 2:
echo 2;
case 3:
echo 3;
break;
default:
echo "default";



}
Аноним 16/06/21 Срд 00:42:26 2069752160
>>2069748
Вопрос отпал.
Но нахуя?
Аноним 16/06/21 Срд 00:51:06 2069757161
>>2069748
Это пиздануто из си, а там вроде было сделано, чтобы несколько кейсов хуярить, т.е.
case 1:
case 2:
hui
break;

case3:
Аноним 16/06/21 Срд 05:12:45 2069805162
>>2069515
Что мешает завести новую трудовую если тебя это так беспокоит? Да и вообще если ты по скиллам и знаниям устроишь работадателя то не похуй ли ему где ты там раньше работал?
Аноним 16/06/21 Срд 07:42:40 2069818163
>>2069494
Смотря с какого уровня. Если не умеешь кодить вообще - год с нуля. Если умеешь кодить на питоне задачи, быстрее.

>>2069748
Это тебя зумера троллят чувак поопытнее? Жоска


> попробовать покоммитить в опен сорс проекты.

Кста, я хочу покоммитить куда-то. Но даже в душе не ебу как начать. Мануал есть?

>>2069515

Хуйня все это. У нас люди уходили на контракт на 3 года а потом возвращались и снова в код. И нихуя. Некоторые выкатывались из айти и вкатывались обратно. Одному мне збс
Аноним 16/06/21 Срд 09:47:50 2069867164
>>2069695
Вот тройку зарелизит лет через 15, тогда и посмотрим.
Аноним 16/06/21 Срд 10:15:07 2069882165
>>2069818

> Кста, я хочу покоммитить куда-то.

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

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

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

Или другой пример: тебе нужно проверять на правильность какой-нибудь ИНН, а готовой библиотеки нету. Ты пишешь свою и выкладываешь в опен-сорс.

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

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

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

А как именно контрибьютить: клонируешь проект, делаешь правки, проверяешь, если в проекте используются тесты, то покрываешь свои правки тестами, оформляешь свой код в соответствие с требованиями, делаешь пулл-реквест.
Аноним 16/06/21 Срд 13:06:43 2070045166
Симфоводы, почему у класса Request нет интерфейса и соответственно половина фреймворка завязана на эту конкретную реализацию? Что делать, если я хочу написать обертку над реквестом с парой нужных мне методов? Уже не нужно на самом деле, но просто любопытно
Аноним 16/06/21 Срд 13:51:15 2070119167
>>2070045
Имхо, скорее всего он был написан еще при царе горохе.
Там один класс на 2к строк, хз, какой ты интерфейс туда хочешь
Аноним 16/06/21 Срд 16:20:00 2070319168
>>2069515
Лол блять, я с пустой трудовой в 34 ватываюсь
Аноним 16/06/21 Срд 16:54:12 2070377169
>>2070319
и что, долго вкатываешься?
Аноним 16/06/21 Срд 17:07:51 2070404170
>>2070319
Лол, я в свои 29 лет уже понимаю, что поезд ушел, и развиваться реально только в своей, уже надоевшей, специальности, а ты в 34 такой глупый.
Аноним 16/06/21 Срд 17:24:01 2070419171
>>2070119
> хз, какой ты интерфейс туда хочешь
Да хоть marker interface как в жабе
Аноним 16/06/21 Срд 17:38:17 2070427172
image.png 338Кб, 1920x1080
1920x1080
Аноним 16/06/21 Срд 17:42:59 2070429173
>>2070427
Лет через 20 будет полно дидов.
Аноним 16/06/21 Срд 17:43:59 2070430174
>>2070404
>уже понимаю, что поезд ушел
Ну так все правильно, ты уже выгорел, потерял интерес. Нефиг было с 14 лет кодить.
Уходи на пенсию и дай место молодым, 30+ летним, которые про кодинг узнали год назад.
Аноним 16/06/21 Срд 17:48:09 2070436175
>>2070429
Или не будет. В любом случае, сейчас 34 - слишком великовозраст для реального шанса на вкат.
Аноним 16/06/21 Срд 17:53:11 2070440176
>>2070436
Чел.. на мнение двачеродаунов по поводу возраста уже давно всем похуй, просто смирись с этим.
>>2069515
Да, ты уже слишком старый. Устраивайся продавцом в пятерочку и не мешай адекватам вкатываться.
Аноним 16/06/21 Срд 17:56:49 2070442177
Аноним 16/06/21 Срд 18:00:43 2070445178
>>2070442
Ну ты там другие графики посмотрел бы тоже.
>White or of European descent 70.8%
>Black or of African descent 3.6%
Ох, фсееее, бида-печаль
Если ты темнокожий, то у тебя нет шансов на вкат.
Аноним 16/06/21 Срд 18:08:28 2070454179
>>2070445
И что не так?
И при чем другие графики, если речь шла о возрасте
Аноним 16/06/21 Срд 18:10:36 2070458180
>>2070045

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

Для этого не нужен интерфейс (зачем?), ты просто можешь унаследовать свой класс от Request. Хотя мне не нравится такая идея, так как это неожиданно, что вместо стандартного реквеста используется что-то нестандартное. Это плохая идея расширять какие-то стандартные классы, как мне кажется.

Или, как вариант, просто делаешь класс RequestUtils и в нем статические методы для работы с реквестом. Здесь нет никаких проблем с неочевидностью кода.

А так, интерфейс для реквестов есть - PSR-7. Просто он придуман позже, чем реквест из симфони.
Аноним 16/06/21 Срд 18:12:33 2070462181
>>2070454
>И при чем другие графики
Ну если ты не в состоянии это понять, то на твое место точно очень скоро вкатится успешный дедок 30+, хех.
Аноним 16/06/21 Срд 18:13:10 2070463182
>>2070436
Ну а хули ещё делать? Я все ещё девственник, все свободное время провожу за компом, тут либо самовыпил либо вкат с перспективой покупки японской секс-куклы
Аноним 16/06/21 Срд 18:16:31 2070464183
>>2070462
Ну так объясни, что тебе дают другие графики? Пока что выглядит как перевод стрелок с не приятной темы возраста.

>>2070463
Есть много других работ
Аноним 16/06/21 Срд 18:20:56 2070468184
>>2070463
>все свободное время провожу за компом
Вот здесь кстати кроется серьезная ошибка.
"Проводить время" - фактически досуг, это совсем не значит, что тебе понравится/получится за компом работать. Как бы даже не наоборот.
Аноним 16/06/21 Срд 18:26:31 2070474185
>>2070463
Пет проект написал?
Аноним 16/06/21 Срд 18:32:00 2070478186
>>2070464
>Ну так объясни, что тебе дают другие графики?
Статистику они дают, такую же точно статистику.
По статистике темнокожих кодеров на стековерфлоу - 3 процента
По той же статистике кодеров в возрасте 45+ - 3 процента
Означает ли это, что у кодера 45+ такие же шансы на вкат, как у темнокожего?
Каковы шансы на вкат у темнокожего кодера в возраста 45+?
Уверен ли ты, что на графиках достаточно информации, чтобы ответить на эти вопросы?
Аноним 16/06/21 Срд 18:32:38 2070479187
>>2070440
я просто указал, что стукнет 25. без мысли, что уже поздно. Переживаю за то, что везде блять поработал
Аноним 16/06/21 Срд 18:39:56 2070493188
>>2070478
Я уверен, что эта выборка - репрезентативна.

>Означает ли это, что у кодера 45+ такие же шансы на вкат, как у темнокожего?
Ну вот пошли откровенные виляния и маняврирования. При чем здесь темнокожий, если изначально речь шла о возрасте.
Аноним 16/06/21 Срд 18:39:59 2070494189
>>2070479
Ни сы. В пхп не идут упругие зумеры. Так что еще успеешь вкатится
Аноним 16/06/21 Срд 18:45:16 2070495190
>>2070493
Что интересно, пхп появился, когда 45-летнему было 20 с не большим. А первые годы (если не десятилетие) рождения языка - это практически полное отсутствие работы на нем.
Таким образом наш 45летний пациент сам мог вкатиться в пыху ближе к 30-35 годам, а сейчас это обычный синер
Аноним 16/06/21 Срд 18:48:04 2070497191
>>2070493
>При чем здесь темнокожий, если изначально речь шла о возрасте.
Ты реально довольно тупенький.
Но это хорошо:) Больше тупых зумерков = меньше конкуренции.
Даже не буду тебе советовать прочитать одну книжку, вдруг и вправду прочтешь, лол.
Аноним 16/06/21 Срд 18:52:31 2070503192
>>2070497
Ну то есть по существу тебе сказать нечего и ты отчаянно переводишь стрелки с неприятной темы возраста
Аноним 16/06/21 Срд 18:53:46 2070506193
>>2070495
>Таким образом наш 45летний пациент сам мог вкатиться в пыху ближе к 30-35 годам,
Это с хуя ли вдруг? "Вкатываются" в любые языки в основном молодые упругие зумеры.
Аноним 16/06/21 Срд 18:57:56 2070510194
image.png 442Кб, 535x495
535x495
Не понимаю, о чем вообще разговор, ладно чел 25lvl, он и вебмакакой побывал, релевантный опыт вот это всё. Но 30+лвл вкатыш это пиздос, такое резюме летит в корзину автоматически, по первой цифре возраста.
Даже hh вам ебалаям уже открыто говорит видимо совсем доебали, что для смены сферы деятельности в 30+ ты уже староват, нееш подумой, а если всё же долбоеб решился - ищи блядь по связям:

https://hh.ru/article/28696
Это возрастное! Как сменить профессию после 30 лет


>Ищите работу через нетворкинг: расскажите всем, что хотите перейти в новую сферу, через личный контакт вам будет проще объяснить ваше решение. Напишите в социальных сетях и поиске.
Аноним 16/06/21 Срд 19:18:46 2070524195
>>2070510
Твое мнение очень важно для нас, оставайся на связи.
>Анна Чуксеева
>карьерный психолог
>hh
Лол
Какие же зумеры дегенераты, пиздец просто.
Аноним 16/06/21 Срд 19:21:41 2070531196
>>2070503
Мне нет выгоды объяснять тебе простейшие положения статистики и теории вероятности.
Аноним 16/06/21 Срд 19:26:15 2070533197
>>2070524
>>hh
Да, что не так? Первой будет оценивать твоё резюме такая же анна - и для неё в свои 30+ ты уже возрастной и вообще лучше поискал бы по знакомым.

>>2070531
Простейшие положения статистики и теории вероятности: из общего количества профессиональных разработчиков 71,7% младше 35 лет, а 85% — младше 40 лет. Это необычно по сравнению почти с любой профессией в мире.
Аноним 16/06/21 Срд 19:36:48 2070545198
>>2070510
Приходит такой зумер устраиваться пыхарям, а у них легаси возрастом старше этого зумера
Аноним 16/06/21 Срд 19:39:02 2070547199
Аноним 16/06/21 Срд 19:45:45 2070556200
z16132018099450.png 83Кб, 400x344
400x344
>>2070533
>Да, что не так? Первой будет оценивать твоё резюме такая же анна - и для неё в свои 30+ ты уже возрастной и вообще лучше поискал бы по знакомым.
Аноним 16/06/21 Срд 19:51:21 2070564201
>>2070547
Кризису доткомов 20 лет исполнилось, дедуль
Аноним 16/06/21 Срд 19:57:41 2070567202
Аноним 16/06/21 Срд 19:58:04 2070568203
>>2070564
А первому компьютеру так вообще 80 лет.
Ты иди лучше пориджа наверни, манька.
Аноним 16/06/21 Срд 19:58:58 2070569204
zimages.jpg 5Кб, 237x213
237x213
>>2070567
>Ирония в том, что такой зумер может оказаться твоим начальником
Аноним 16/06/21 Срд 20:04:19 2070575205
Что за кипеш в треде? Пориджеблядки из /б/ протекли что ли? Сам вкатился в 16-м году будучи дедом за 30. Менял работу четыре раза и никто на этапе собеседований ни разу не интересовался моим возрастом. Возможно, что на галерах все иначе (скорее всего там действительно отдадут предпочтение малолетней петушне без самоуважения, которая позволит собой помыкать), но я там работать и не собираюсь
Аноним 16/06/21 Срд 20:05:25 2070576206
image.png 1254Кб, 1280x720
1280x720
Аноним 16/06/21 Срд 20:10:54 2070583207
>>2070458
Я не могу ничего унаследовать, поскольку некоторые симфонивские штуки требуют именно этот самый реквест, вместо интерфейса.

>мне не нравится такая идея, так как это неожиданно, что вместо стандартного реквеста используется что-то нестандартное.
Если при наследовании код может работать с потомком наследуемого класса так же как с предком какая буква из солид? лол, то никакой проблемы в этом нет
Аноним 16/06/21 Срд 21:44:23 2070701208
>>2070045
>почему у класса Request нет интерфейса
наследие
>хочу написать обертку над реквестом
класс открыт для наследования

напиши что конкретно ты хотел сделать и зачем?
Аноним 16/06/21 Срд 22:12:01 2070707209
>>2069882

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

Но нужно что-то где есть норм баги, а не где все стабильно и их воспроизводить 100к. И хотелось бы не в либу контрибутить на самом деле а в продукт. Я бы в блендер хуярил есл бы кресты зн
Аноним 16/06/21 Срд 22:18:33 2070710210
Нахуй вы меня демотивируете своими сообщениями, что диды не нужны???

мимо30лвл-начал-изучать-только-только

Короче, если эти карьерные психологи будут выебываться на собесах, сразу на фриланс уйду, на англоязычные биржи.
Аноним 16/06/21 Срд 22:25:31 2070714211
зunnamed.png 101Кб, 512x460
512x460
>>2070710
>Нахуй вы меня демотивируете своими сообщениями, что диды не нужны???
Это порриджи развлекаются, не обращай внимания.
Аноним 16/06/21 Срд 22:37:49 2070723212
>>2070710
На фрилансе нужны уже опытные, с нуля нахватаешь за щеку таких минусов, что проще будет самому удалить аккаунт
Аноним 16/06/21 Срд 22:39:54 2070725213
5kXFRdBNsz0.jpg 181Кб, 2318x506
2318x506
Всем приветики. Задача про кубики (рандомные значения). Я её решил, слегка переделал. Подскажите, код нормальный или говноедство?
Аноним 16/06/21 Срд 22:43:38 2070727214
>>2070725
Ну так-то любой год на пхп это говноедство.
Такой уж у вас язык.
Аноним 16/06/21 Срд 22:45:53 2070730215
>>2070727
А ты чего тогда тут забыл?
Аноним 16/06/21 Срд 22:49:00 2070738216
>>2070725
не до 6, а до 10 поставил просто потому что так захотел. я не кубики бросаю!!!
Аноним 16/06/21 Срд 22:54:13 2070744217
реактор-свинарн[...].jpeg 394Кб, 580x931
580x931
Аноним 16/06/21 Срд 23:00:54 2070752218
>>2070725
Какой там код, лол.
По оформлению лучше ифы со скобками и юзай интерполяцию вместо конкатенации.
Аноним 17/06/21 Чтв 01:11:19 2070862219
f2d3fc216e2a83c[...].jpg 20Кб, 576x84
576x84
>>2070510
>для смены сферы деятельности в 30+ ты уже староват

Так тут не о смене сфере деятельности базар, а о первой работе после 30+ вообще.
Аноним 17/06/21 Чтв 01:12:41 2070863220
>>2070576
>саморазвитие

>Яндекс

Чел...
Аноним 17/06/21 Чтв 01:16:00 2070867221
>>2070862
>а о первой работе после 30+ вообще.
Земля свободной кассой и желтой торбой
Аноним 17/06/21 Чтв 01:37:02 2070872222
апр.jpg 32Кб, 510x360
510x360
>>2070867
>Земля свободной кассой и желтой торбой
Аноним 17/06/21 Чтв 01:56:36 2070882223
image.png 194Кб, 510x360
510x360
>>2070872
>я вкачусь вот увидити
Аноним 17/06/21 Чтв 02:07:58 2070885224
>>2070882
Не проецируй на взрослых дядек то что мамка тебя из дома выгоняет на работку и у тебя встал выбор между маком и выгоранием в 25. Я могу хоть до пенсии дома просидеть.
Аноним 17/06/21 Чтв 09:37:18 2070960225
>>2070727
«Ну так-то любой год на пхп это говноедство.
Такой уж у вас язык» — раздался пронзительный голос со стороны параши.
Но пацаны, как всегда, не обратили внимания на это визгливое кукареканье. Пусть кукарекает, что с него взять?
Перекладыватель жсончиков на других языках — не человек, и сегодня ему предстоит очень трудная ночь. У него уже в течение полутора лет каждая ночь была очень трудной, и теперь его анус был разработан настолько, что он без труда мог спрятать в нём макбук.
Аноним 17/06/21 Чтв 09:55:02 2070972226
>>2070960
Пиздец у тебя подгорело. Видимо в самую точку.
Аноним 17/06/21 Чтв 10:15:52 2070992227
>>2070583

Я не очень тебя понял. Допустим, в Симфони есть функция

doSomething(Request $req) { ... }

В соответствие с принципом Лисков, в эту функцию можно передать объект-наследник Request и это не нарушит тайп-хинты:

class MyRequest extends Request { ...}
doSomething(new MyRequest(...));

Аноним 17/06/21 Чтв 10:21:11 2070997228
>>2070583

По моему, проблема есть. Допустим, у нас есть функция Symfony, которая возвращает реквест:

function getReq(): Request { ... }

И код, который ее использует, вызывает какой-то метод из твоего кастомного реквеста:

getReq()->doSomething();

при чтении кода здесь возникнет непонимание: откуда в реквесте из Симфони взялся метод doSomething()?

IDE и статический анализатор тоже здесь укажет на ошибку.

Или я что-то не понял?







Аноним 17/06/21 Чтв 10:41:37 2071005229
>>2070972
А вот и тот самый рисователь кнопочек/перекладыватель жсончиков/крудоеб на петухоне/жопаскрипе нарисовался. Видимо, в самую точку, раз с копипастой заговорил.
Аноним 17/06/21 Чтв 10:50:07 2071012230
Приветики-привет.
Назрел такой вопрос: масса книг и не знаю какую выбрать первой для изучения пыхи. Посмотрел учебник ОПа, который в шапке, мне не понравился. Мало конкретизации даже по типизации, а как по мне, это немаловажно.
Какую книжку выбрать? Котерова? Или видео-курсы какие-нибудь скачать или на ютубе вкуривать и параллельно гуглить?

А что если смотреть курсы или книги по пхп7, а щас уже 8, это не хуёво?

Сори за тупые вопросы, без них никак.
Аноним 17/06/21 Чтв 11:12:29 2071033231
>>2071005
>рисователь кнопочек/перекладыватель жсончиков
Чем это отличается от говноёба пыхаря?
Аноним 17/06/21 Чтв 11:21:11 2071047232
>>2071033
Зарплатой в 1.5-2 раза больше пыхарской
Аноним 17/06/21 Чтв 11:21:23 2071048233
image.png 48Кб, 931x254
931x254
>>2070992
>>2070997
Что-то ты не туда разговор уводишь. Повторяю, что моя проблема состоит в том, что я не могу использовать наследник реквеста, так как симфони в разных местах требует тот самый конкретный реквест. И попытка подменить его наследником во фронт контроллере не прокатила.

PHP Fatal error: Declaration of App\ArgumentResolver\BlaBlaBlaResolver::supports(App\Request\Request $request, Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata $argument): bool must be compatible with Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface::supports(Symfony\Component\HttpFoundation\Request $request, Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata $argument)
Аноним 17/06/21 Чтв 11:25:43 2071051234
>>2071033
Например, раздутым на пустом месте самомнением. Но юным петушкам-максималистам это объяснять бесполезно.
Аноним 17/06/21 Чтв 11:29:12 2071057235
Аноним 17/06/21 Чтв 11:33:00 2071061236
>>2070727

То же самое можно сказать про любой другой язык.

>>2070725

У тебя слишком длинные строки и это тяжело читать. Также, не надо забывать фигурные скобки. Надо писать так:

if (...) {
код 1;
} elseif (....) {
код 2;
} else {
код 3;
}

Также, подстановка переменных в строку ("число $number") читается лучше, чем склеивание строки из кусочков.
Аноним 17/06/21 Чтв 11:38:17 2071067237
>>2071048

Приведенная тобой ошибка возникает не из-за того, что в Симфони нет интерфейса для реквеста. Если бы для реквеста был интерфейс, она бы точно так же возникла.

Если у тебя есть класс A, в нем метод принимает объект класса B, то при наследовании ты не можешь поменять тип аргумента на C (наследника B). Так как это нарушило бы принцип подстановки Лисков: старый код, передающий в метод объект B, сломался бы.

То же самое было бы, если бы аргумент имел тайп-хинт RequestInterface. Как только ты бы попытался заменить его на MyRequest, ты бы получил ту же самую ошибку.
Аноним 17/06/21 Чтв 12:06:25 2071097238
>>2071012
>Посмотрел учебник ОПа, который в шапке, мне не понравился. Мало конкретизации даже по типизации, а как по мне, это немаловажно
На пыхе можно писать без типов.
У ОПа учебник для самых маленьких. Если ты уже можешь написать круд с/без фреймворка, то тебе учебник вряд ли пригодится.

>А что если смотреть курсы или книги по пхп7, а щас уже 8, это не хуёво?
1. 8ка еще не в продакшене и будет там не раньше чем через пару лет
2. В 8ке ввели 1.5 фичи, которые можно за вечер пощупать

Можешь взять котерова, но это по сути вольный пересказ документации
с php.net
Либо попробовать ларакасты - серии коротких видео по темам, там есть и основы пыхи и ооп
В любом случае твоя задача писать код, а не книжки читать и видео смотреть
Аноним 17/06/21 Чтв 12:19:46 2071116239
>>2071097
Спасибо большое. Да, я знаю, что надо шкодить, просто я всегда привык прочитать что-то, например, когда тернарный оператор пробовал, а потом уже хуевертил с ним всё подряд. Мне проще запоминается, когда я что-то прочту, не пойму, попробую сделать, пойму наполовину, прочту ещё раз 10 и пойму окончательно, после чего ещё закеплю на практике. Ебанутый способ наверно, но для меня он рабочий.
Аноним 17/06/21 Чтв 12:22:03 2071123240
>>2071061
> не надо забывать фигурные скобки
Я когда-то наткнулся на статью, что скобки можно опустить, если одна операция в них идёт.
>чем склеивание строки из кусочков
Просто привык к конкатенации ещё с вуза (пиздец блять, 4 года почти прошло, как в вузе прогал и забросил это дело, и щас по новой учусь. какой же я бездарь, блять.)

Аноним 17/06/21 Чтв 12:25:41 2071130241
>>2071123
>Я когда-то наткнулся на статью, что скобки можно опустить, если одна операция в них идёт.
Почитай этот момент в PSR. Насколько помню, скобки нужны, чтобы можно было зрительно распознать конструкцию. Без скобок это выглядит как обычная строчка вызова метода или присвоения
Аноним 17/06/21 Чтв 12:37:54 2071146242
>>2070707

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

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

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

Ты можешь зайти в список багов и сделать поиск по меткам. Во многих проектах есть метки вроде "help-wanted" или "up-for-grabs", которыми помечают баги для начинающих. Ты можешь использовать поиск на гитхабе для поиска таких багов. Тут есть список ссылок и меток для начинающих: https://gist.github.com/stefanmaric/d5a03eeb89af81e5537e2efe7dd479cf




Аноним 17/06/21 Чтв 12:40:59 2071152243
>>2071123

Язык позволяет пропускать скобки, но рекомендация PSR не рекомендует так делать, так как это ведет к ошибкам вроде такой:

if (...)
....action1;
....action2; // это действие выполняется независимо от условия!

Здесь кажется, что оба действия внутри if, а по факту только одно. Чтобы такого не было, надо ставить скобки.
Аноним 17/06/21 Чтв 12:45:29 2071155244
>>2070430
Да я ж не про кодинг писал, а про свою профу, я вообще юрист.
Аноним 17/06/21 Чтв 13:23:22 2071192245
>>2071067
Это печально. А есть ли способы обойти такое поведение? В принципе у меня сейчас нет необходимости делать эту штуку, но просто интересно.
Аноним 17/06/21 Чтв 13:23:54 2071194246
>>2071152
Спасибо за разъяснения!
Но я бы и не подумал использовать два действия без скобок.
Аноним 17/06/21 Чтв 13:27:02 2071197247
>>2071057
Посмотри зарплаты симфонистов на том же джинне (все свои четыре места работы на данный момент я находил именно там) и твой мирок пошатнется.
Аноним 17/06/21 Чтв 13:34:54 2071206248
>>2071097
> 8ка еще не в продакшене и будет там не раньше чем через пару лет
С марта на восьмерке живем. Брат жив
Аноним 17/06/21 Чтв 13:37:34 2071216249
>>2071197
Так у хохлов зп больше, т.к. аутсорс за доляры + требуют разговорный инглиш
Аноним 17/06/21 Чтв 13:41:27 2071224250
>>2071197
Посмотри зарплаты жопаскриптеров на том же джинне и заплачь
Аноним 17/06/21 Чтв 13:54:53 2071254251
>>2071224
С чего бы мне плакать, если я фуллстек?
>>2071216
>требуют разговорный инглиш
И что? Хороший способ отсеять необразованную падаль.

Аноним 17/06/21 Чтв 13:59:05 2071263252
>>2071254
>И что? Хороший способ отсеять необразованную падаль.
В рф много продуктовых с русскоязычными командами
Аноним 17/06/21 Чтв 14:05:30 2071276253
>>2071254
С того, что работаешь за двоих, а зарплату получаешь за одного
Аноним 17/06/21 Чтв 14:06:05 2071278254
>>2071263
Такая у вас специфика рынка и не факт, что это хорошо. Я сам из Беларуси и иногда вижу российские вакансии на сеньерские позиции с такими вилками, что хочется плакать. Удивительно, как они вообще умудряются кого-то нанимать
Аноним 17/06/21 Чтв 14:10:23 2071286255
>>2071276
Не за одного, а как минимум за полтора.
Аноним 17/06/21 Чтв 14:14:36 2071297256
>>2071278
Не все хотят заморачиваться изучением разговорного инглиша
Аноним 17/06/21 Чтв 14:48:35 2071349257
>>2071276

Ты пишешь какую-то ерунду. Он бы работал за двоих, если бы работал по 16 часов в сутки. Если он работает 8 часов в сутки, то он работает за одного.

Аноним 17/06/21 Чтв 15:00:31 2071371258
>>2071349
Он фулкек - выполняет работу фронтендера и бекендера
Аноним 17/06/21 Чтв 15:08:23 2071385259
>>2071349
Так ему нужно сначала выдрочить скилы с двух проф, потом поддерживать их актуальными. Так что хотя бы х1.5 должна быть зп
Аноним 17/06/21 Чтв 18:38:50 2071628260
>>2071385
Можно подумать, что колупание форм, кнопочек и запросиков требует каких-то неимоверных умственных усилий. Да там любая макака справится. А со времен появления vue.js это даже перестало вызывать особое отвращение
Аноним 17/06/21 Чтв 18:40:42 2071630261
>>2071297
А получать жалких полтора косаря, будучи сеньером-помидором, хотят.
Аноним 17/06/21 Чтв 18:41:33 2071632262
>>2071630
Получаю жалкие полтара косаря, не являясь синьором помидором
Аноним 17/06/21 Чтв 18:42:16 2071633263
>>2071628
Что ж тогда фулстеки не стоят по 20к руб в месяц, раз любая макака справится?
Аноним 17/06/21 Чтв 18:49:18 2071639264
>>2071633
Потоиу что за работу с жопаскрипом принято доплачивать за вредность, типа как в совке сварщикам молоко выдавали.
Аноним 17/06/21 Чтв 20:34:27 2071705265
Аноним 17/06/21 Чтв 20:38:27 2071706266
>>2071033
Как минимум тем, что на современном похапе жсончики перекладывать в разы приятнее, чем на пятоне или, прости Господи, жопаскрипте
Аноним 17/06/21 Чтв 21:46:02 2071759267
>>2071705

Ты что-то переусложнил. По моему, тут можно было бы обойтись и наследованием:

class Request {}
class BetterRequest extends Request {}

function test(Request $r) {}
test(new BetterRequest()); // работает

Интерфейс нужен там, где есть 2 разных реализации. Ты же хочешь не делать реквест с нуля, а доработать стандартный, значит тебе нужно наследование.
Аноним 17/06/21 Чтв 23:10:15 2071855268
Я чего-то туплю.
Поднял бабла ЛАМПУ, на неё накатил вордпресс. Хотел бы обращаться на неё по имени http://235, но не судьба.
По ip фурычит.
Что я делаю не так?

Аноним 18/06/21 Птн 00:26:35 2071946269
image.png 16Кб, 482x282
482x282
>>2071855
Это скорее вопрос в софтач или в веб. Резолвер у тебя на компьютере, с которого обращаешься, какой? Винда там? В настройки роутера зайди, там должна быть возможность настроить разрешение кастомных адресов в конкретные ip.
Аноним 18/06/21 Птн 00:45:21 2071962270
Аноним 18/06/21 Птн 00:46:18 2071965271
>>2071855
а что ты для этого сделал?
Аноним 18/06/21 Птн 02:39:11 2072013272
>>2071946
> Это скорее вопрос в софтач или в веб.
Пока посижу тут, а потом подсяду к ним.

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

> В настройки роутера зайди, там должна быть возможность настроить разрешение кастомных адресов в конкретные ip.
Гляну.

>>2071965
1. Изменил настройки пермалинка на "дружелюбные"
2. включил в апаче rewrite
3. отредактировал файл по пути /etc/apache2/sites-available/000-default.conf
4. Перезапустил апач

Аноним 18/06/21 Птн 04:50:58 2072030273
>>2072013
>Отдельная машина в локалочке, а на ней стоит Ubuntu.
>с которого обращаешься
Аноним 18/06/21 Птн 09:38:49 2072083274
yodabeingnaughty.png 568Кб, 707x695
707x695
Я не совсем понимаю, как должен выглядеть шаблон формы в HTML, чтобы при ошибке заполнения форма выводилась с уже подставленными значениями (и сообщением об ошибке). У текстовых полей можно через переменные заполнять value, но ведь формы ещё могут содержать select-элементы, в которых value не проставишь. В свою очередь, select'ы могут содержать сотни опций выбора. Я знаю об аттрибуте selected, но как мне его проставить автоматически именно в той опции, которую выбрал пользователь, а затем ввёл что-то невалидное. Нужно сделать так, чтобы его опции в select'ах сохранились при выводе ошибки на страннице формы.

Единственное, что приходит на ум - это составление функции, которая будет принимать аргументом уже проставленные пользователем значения, собирать форму по элементам и возвращать её код. Но это будет именно функция, а не шаблон. Наверняка тут есть какой-то конвенциональный подход. Как это лучше запилить?
Аноним 18/06/21 Птн 09:59:48 2072091275
>>2071962
Ты по ходу не прочитал в чем суть проблемы.
Аноним 18/06/21 Птн 11:40:04 2072171276
11.jpg 53Кб, 500x480
500x480
>>2072013
> 1. Изменил настройки пермалинка на "дружелюбные"
> 2. включил в апаче rewrite
> 3. отредактировал файл по пути /etc/apache2/sites-available/000-default.conf
> 4. Перезапустил апач

И как компьютер, с которого ты вводишь этот адрес, должен узнать, что где-то в каком-то апаче отредактирован конфиг?

Если я сейчас у себя отредактирую /etc/apache2/sites-available/000-default.conf и напишу туда хост BBC.COM -- у тебя он начнёт открываться с моего компа? очевидно нет

Читай про DNS, редактируй файл hosts на машине, с которой обращаешься.
Аноним 18/06/21 Птн 12:58:44 2072271277
>>2072091
Все я прочитал. В симфони по старинке используется https://symfony.com/doc/current/components/http_foundation.html
В то время как стандартом является PSR-7 https://www.php-fig.org/psr/psr-7/
И давным давно написали конвертер под этот стандарт https://github.com/symfony/psr-http-message-bridge

А написал я что вы велосипедите хуйню, в то время как все уже сто лет как по полочкам разложено. Что использовать в качестве реквеста, как делаются кастомные обертки над объектами, как какать и как писоть.
Аноним 18/06/21 Птн 13:02:55 2072274278
В шаблон так же можно прокинуть переменные из контроллера (введенные юзером значения формы, например). В популярных фреймворках это реализовано
Аноним 18/06/21 Птн 14:00:26 2072341279
>>2072271
И как то, что ты написал, поможет подменить симфонивский реквест другой реализацией и использовать эту реализацию там, где различные штуки явно требуют симфони реквест?
Аноним 18/06/21 Птн 14:52:46 2072431280
Допустим есть красная точка на пикче, мне нужно удалить её(выкрутить альфа канал до полной прозрачности)
Через imagesetpixel у меня это чёт не получается, как я понял если указать в imagecolorallocatealpha прозрачность, он тупо этот(прозрачный) цвет и прибавит, нихуя в итоге не изменив.
Как зделоть-то?
Аноним 18/06/21 Птн 14:55:34 2072440281
>>2072341
В симфони реквест явно вставляется или через di контейнер?
Аноним 18/06/21 Птн 15:06:21 2072456282
>>2072341
Ты там угашенный что-ли? Попустись, пивка глотни.
Симфонивский реквест используется в симфони. А вне симфони используется PSR-7 реквест. ВНЕ, блядь. В НЕ симфоневском роутере, например. В собственных классах или бандлах. Каким хуем ты собрался менять код в штуках, которые "явно требуют симфони реквест"? Ты там vendor что-ли правишь?
Аноним 18/06/21 Птн 15:07:39 2072457283
>>2072440
Создается во фронт контроллере, а потом инжектится при необходимости
...
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
...
Аноним 18/06/21 Птн 15:17:25 2072471284
>>2072456
Сам ты, блядь, угашенный. Посмотри на https://github.com/symfony/symfony/blob/5.4/src/Symfony/Component/HttpKernel/Controller/ArgumentValueResolverInterface.php и увидишь, что там явно требуется симфонивский реквест. И при написании своего резолвера хуй ты свой реквест туда засунешь. По крайней мере у меня не получилось, поэтому и задал вопрос.
Аноним 18/06/21 Птн 15:31:29 2072487285
>>2072471
Пробовал туда передавать наследника от симфони реквеста?
Аноним 18/06/21 Птн 15:50:04 2072502286
Аноним 18/06/21 Птн 16:14:39 2072511287
>>2072487
Конечно. И получал ошибку - >>2071048

>>2072502
Пока не приведешь пример, как с помощью того, что ты принес в тред, написать резолвер для DTO или VO, который внутри будет использовать наследник реквеста, тугой здесь ты.
Аноним 18/06/21 Птн 16:17:04 2072517288
>>2072511
Так ты не декларацию этих методов правь, а передавай, где надо, свой класс вместо симфонивского
Аноним 18/06/21 Птн 16:28:15 2072540289
TameRequiredJae[...].mp4 292Кб, 576x304, 00:00:08
576x304
>>2072511
В резолвер инжектится ФАБРИКА. Фабрика принимает симфоневский реквест, а возвращает PSR реквест. Ты можешь прокинуть эту ФАБРИКУ в ЛЮБОЙ резолвер, пусть он хоть DTO возвращает, хоть АЛЛАХА.
Аноним 18/06/21 Птн 16:42:24 2072558290
15986403473341.mp4 7506Кб, 640x360, 00:03:23
640x360
>>2072431
Очевидно что альфа-канал не влияет на сам цвет.

Что (какой цвет) должно остаться под альфа? оно само за тебя должно придумывать, что ли?
Аноним 18/06/21 Птн 16:43:08 2072559291
>>2072540
напомните, откуда кадры?
Аноним 18/06/21 Птн 16:51:51 2072565292
>>2072083

Простановка атрибута selected делается так. Пусть $value - это выбранное пользователем значение, которое надо пометить:

<select>
<option value="x" <?= $value === 'x' ? 'selected' : '' ?></option>
<option value="y" <?= $value === 'y' ? 'selected' : '' ?></option>
...

(тут использован тернарный оператор)

Если ты не пишешь <option> руками, а генерируешь из массива опций, то код будет еще проще.
Аноним 18/06/21 Птн 16:53:34 2072568293
>>2072565
selected="selected" же, не? хОтя могу ошибаться, а проверять лениво.
Аноним 18/06/21 Птн 17:13:10 2072585294
>>2072540
Так анону требовался наследник симфореквеста с дополнительной функциональностью, а не PSR.
Аноним 18/06/21 Птн 17:19:47 2072589295
>>2072585
Так я ему и объясняю что он пытается дрочить вприсядку. Если тебе нужен именно реквест, то PSR-7 это отраслевой стандарт, он покрывает все что ты только можешь с реквестом сделать. А если тебе нужна производная от реквеста, то это уже нихуя не реквест и нахуй не надо что-то там наследовать или имплементировать.
Аноним 18/06/21 Птн 17:41:06 2072605296
>>2072540
Корявое говно. С таким же успехом я могу просто инжектить в резолвер сервис с нужной функциональностью. Именно этого я и пытался избежать в попытке подменить реквест на уровне приложения. Ну и нихуя не удивительно, что от человека, который хотел кого-то удивить адаптером, ускользнул основной смысл моего вопроса.
Аноним 18/06/21 Птн 18:02:24 2072641297
>>2072605
>С таким же успехом я могу просто инжектить в резолвер сервис с нужной функциональностью. Именно этого я и пытался избежать
А нахуя?

>в попытке подменить реквест на уровне приложения
Зачем?
Аноним 18/06/21 Птн 18:05:26 2072646298
>>2072605
Да все, все. Пену вытри. Ты охуенный программист. Верю. Только про PSR не в курсе. Да и di с композицией у тебя говно корявое, а вот подменять вендорские объекты для всего приложения это заебись идея. Ну заебень рефлексией или трейтом, как там у вас гениев принято.
Аноним 18/06/21 Птн 18:41:55 2072692299
>>2072646
Чел, речи про ПСР реквест изначально не шло вообще, это ты его приплел. Касательно подмены объекта, я же не изменяю старое поведение, а добавляю новое. Все в соответствии с заповедями Варвары. Рефлексию я, конечно же, использовать не буду да и вообще уже отказался от этой идеи. Извини, если погорячился.
Аноним 18/06/21 Птн 18:57:20 2072705300
>>2072692
Да я просто подъебываю. Ты понимаешь что только ты решил следовать заповедям варвары? Ты не контролируешь процесс, что там с этим реквестом будет происходить, и кто че подменял и ещё подменит не знает никто.

Поэтому трогать вендорную хуйню нельзя ни в коем случае. В реальном проекте я бы определил твой реквест в di контейнере и прокидывал бы в контроллер просто через конструктор. И сразу начнет вырисовываться что это нихуя не реквест. Потому что реквест, даже симфонивский может делать все что нужно http запросу - возвращать пришедшие на сервер данные. А все остальное это уже обработка запроса.
Аноним 18/06/21 Птн 23:32:09 2073107301
038b124bcf7e5ff[...].mp4 5162Кб, 360x640, 00:00:48
360x640
Это реально так?
Аноним 18/06/21 Птн 23:59:23 2073128302
>>2073107
Просто смотри на зарплату. Иногда с джуна просят докеры, ПСР, ООП, юнит-тесты, и плотят 80к со старта, а иногда уметь вордпресс\опенкарт настроить и плотют 30к.
Главное не перепутать: прогинг за 80к, имплементация за 30к. Работодатели же обожают просить ВСЁ за 30к.
Аноним 19/06/21 Суб 08:29:25 2073304303
>>2072568

Можно писать просто selected, так как это boolean attribute.
Аноним 19/06/21 Суб 11:26:02 2073400304
Screenshot from[...].png 398Кб, 894x707
894x707
>>2072565
Спасибо за подсказку, я никак не мог до этого додуматься.
Аноним 19/06/21 Суб 12:34:26 2073477305
>>2072568
а тред засирать тебе не лениво, пидор?
Аноним 19/06/21 Суб 20:36:16 2073937306
>>2073477
пидор твоя мать, пидор
Аноним 20/06/21 Вск 02:00:42 2074148307
15989850078290.jpg 188Кб, 912x1282
912x1282
>>2073937
> пидор твоя мать, пидор
суть PHP
Аноним 20/06/21 Вск 09:20:00 2074217308
Сап двач. Подскажите пожалуйста, что кидать в портфолио, помимо интернет-магазинов, CMS, и блогов. Чтобы выделятся, от остальных?
Аноним 20/06/21 Вск 11:26:49 2074282309
>>2072030
Шинда дриснятая.
Сборка: много говна, мало палок

>>2072171
Вот как раз я не хочу редактировать файл hosts. Планируется заход с дрюса.
Ищу альтернативный путь.

Почитаю про DNS.


Аноним 20/06/21 Вск 14:10:41 2074425310
>>2074217
> портфолио

Ты уже выделился
Аноним 20/06/21 Вск 14:12:44 2074430311
>>2074217

согласен с этим
>>2074425

чекни резюме вкатунов - быть лучше них довольно легко.
Аноним 20/06/21 Вск 15:09:04 2074477312
Аноним 20/06/21 Вск 15:14:14 2074484313
Аноним 20/06/21 Вск 21:55:45 2074992314
Gjj
Аноним 21/06/21 Пнд 11:12:52 2075357315
>>2074282
>Вот как раз я не хочу редактировать файл hosts.
Как бы ты или покупаешь домен и направляешь на ip, или поднимаешь в локалке DNS свой, в нём делаешь редирект(будет работать только внутри локалки, и то только если ты этот днс укажешь в том роутере который за интернеты отвечает), или редактируешь hosts. Как ещё это по твоему может работать?
Аноним 21/06/21 Пнд 15:11:39 2075778316
Кто-нибудь использует api platform в рабочих проектах? Поясните за плюсы и минусы
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов