«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Клуб изучающих PHP #127 Аноним 2022/04/29 21:18:11  №2347129 1
php-noob-1.png (32, 500x500)
500x500
cat-cafe-osaka.jpg (140, 1024x683)
683x1024
l0-sensei.jpg (34, 650x384)
384x650
cat-sad.jpg (194, 1024x768)
768x1024
Здесь мы изучаем язык PHP (а также JS/CSS/HTML/SQL) и учимся делать сайты. Зачем? Кто-то хочет открыть стартап, кто-то заработать на лапшу быстрого приготовления, кому-то просто нечего делать.

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

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

Предыдущий тред был тут: >>2241613 (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 - это что-то вроде их хабра.

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

Также, у нас есть задачи которые позволят тебе изучить или подтянуть до нормального уровня знания 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? — Да, однозначно. Посмотри любую вакансию.
Оформление кода Аноним 2022/04/29 21:19:16  №2347130 2
Код лучше писать аккуратно и оформлять, как принято. Потому, что другой человек, который будет смотреть твой код, вряд ли обрадуется, когда ему придется разбирать слипшиеся строчки, разбросанные в беспорядке скобки и написанные русскими словами названия переменных. Особенно плохо будет если это, например, код тестового задания, которое ты сделал, чтобы устроиться на работу. Если он будет неряшливым, это будет большой минус.

Для этого достаточно вставить код на 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/
Аноним 2022/04/30 11:49:23  №2347315 3
16236178381240.jpg (69, 1516x1076)
1076x1516
> 2k2k2
> PHP
Ответы: >>2347372 >>2347518
Аноним 2022/04/30 12:34:21  №2347372 4
>>2347315
>любой год
>упоминать в качестве мёртвого языка что-либо кроме того, что действительно мертво, а не занимает охуиллиард процентов рынка
>что-то кроме кобола, иными словами
Аноним 2022/04/30 15:24:45  №2347483 5
Php.jpeg (49, 530x342)
342x530
Аноним 2022/04/30 16:28:59  №2347518 6
>>2347315
>2k2k2
>аниме на аве
>мать в канаве
Аноним 2022/04/30 22:38:15  №2347788 7
ку,захотел написать бота для тг на php. Я правильно понимаю,чтобы он постоянно работал сервер должен быть постоянно включенным и я должен постоянно обновлять страницу со скриптом?
кто шарит, объясните ,пожалуйста, как это все работает
Ответы: >>2348364 >>2348753
Аноним 2022/05/02 01:21:45  №2348364 8
Аноним 2022/05/02 03:59:12  №2348375 9
>работал эникеем и сталкивался с хуйней под названием битрикс
>решил стать веб макакой
>именно в этот момент западные компании сьебнули с России
>теперь все бэкенд вакансии для джунов/трейни это ебучее битрикс болото
Ну и хули делать то? Копаться в этой параше с надеждой на то что через год-два перекачусь в что-то нормальное?
Ответы: >>2348522
Аноним 2022/05/02 05:32:35  №2348383 10
Сап, я возможно, не по адресу, но в шапке увидел знакомые слова (HTML + CSS). Вопрос такой: если нужно создать сайт в одно лицо, то как обычно вы поступаете с фронт-стороной? Верстаете все руками или на каких-то быстрых конструкторах? на каких? Вообще мое основное это java бэк, но наша контора настолько оптимизирована, что приходится разбираться в совсем непривычном
Ответы: >>2348830
Аноним 2022/05/02 09:44:16  №2348484 11
Сап, как поставить библиотеку на хост через композер?
Ответы: >>2348840
Аноним 2022/05/02 10:34:12  №2348522 12
>>2348375
Битрикс на пхп сделан?
Аноним 2022/05/02 12:13:10  №2348580 13
Когда стоит переходить к изучению фреймворка?
Ответы: >>2348784
Аноним 2022/05/02 14:10:30  №2348708 14
>>2347129 (OP)
4 года назад я увидел этот тред, меня завлек анимешный и ламповый гайд и я решил стать web разрабом.
Какая же это была ошибка.
Поработал только 4 месяца версталой
Ответы: >>2348742
Аноним 2022/05/02 15:06:35  №2348742 15
>>2348708
>версталой
>пэхапэ тред
Где связь?
Ответы: >>2348781 >>2348782
Аноним 2022/05/02 15:31:05  №2348753 16
>>2347788
обновлять постоянно страницу - плохая идея. предполагаю, что бота делаешь через getUpdates, такой бот в бесконечном цикле получает и обрабатывает новые сообщения. запускать надо через php cli, а не обновлять постоянно страницу.
если хочешь хостить на хостинге для сайтов - только webhook. через апи указываешь ссылку на скрипт, телега сама будет слать туда новые события то ли в php://input, то ли в $_POST, не помню
Аноним 2022/05/02 16:14:37  №2348781 17
>>2348742
Неясно.
Для несведущих: пыха это про бекенд, а вёрстка - про фронтенд.
Я понимаю если бы он в фуллстеки вкатился, но нет же.
Аноним 2022/05/02 16:16:00  №2348782 18
>>2348742
ВЕРСТАЛОЙ НА WORDPRESS, ПОПРОШУ!!!!
А если серьезно, увидел задание с таблицей и студентами, охренел, подумал, что лучше стану Frontend... ну и понеслось. А если бы не этот анимешный тред, к web разработке может бы не притронулся.
Справедливости ради, сложным для меня в задании со студентами являлась именно верстка
Аноним 2022/05/02 16:21:13  №2348784 19
>>2348580
Бамп вопросу. Из проектов есть ту ду лист, список студентов из шапки треда,что-то вроде галереи, сайт с отображением погоды (юзал API)и расписание для разных групп универа. Могу ли я перейти к изучению ларавеля?
Ответы: >>2348786 >>2348965 >>2348971
Аноним 2022/05/02 16:23:38  №2348786 20
Ответы: >>2348791
Аноним 2022/05/02 16:27:23  №2348791 21
>>2348786
Спасибо блять. Спрашиваю мнение шарящих челов, ты к таким относишься?
Ответы: >>2348797
Аноним 2022/05/02 16:35:49  №2348797 22
>>2348791
Ты задал дебильный вопрос и получил соответствующий ответ.

Иди изучай.
Получится у тебя или нет - не знаю. Я видел вчерашних студентов, которые на своей первой работе писали просто охрененные решения и схватывали все на лету. И, в то же время, видел людей, что в профессии по 3-4 года сидят. И они ничего не понимают, могут заниматься только копипастой с форумов.

Я вот лично разрешаю тебе перейти к изучению Ларавеля. Или Симфони. Или любой другой херни.
Хочешь - сейчас, хочешь через месяц, хочешь - вчера.

Получится - красавчик. Не получится - вернись через месяц и попробуй еще раз.

А дибильных вопросов задавать не нужно.
Ответы: >>2348804
Аноним 2022/05/02 16:43:17  №2348804 23
Ответы: >>2348809
Аноним 2022/05/02 16:47:58  №2348809 24
>>2348804
Ты меня не обидел. Не волнуйся.

Через две-три недели вернись в тред и расскажи, как идут дела. Сделаешь хорошее дело для других растущих ребят.
Ответы: >>2348810
Аноним 2022/05/02 16:49:29  №2348810 25
Ответы: >>2390637
Аноним 2022/05/02 17:17:57  №2348830 26
>>2348383
Bootstrap или другой CSS-фреймворк. Изучается быстро, даёт вполне невырвиглазный результат, если соблюдать основные правила дизайна (вроде "не более 3-х цветов на странице"), классно не получится, но для нетребовательного заказчика сойдёт.
А если нужно что-то красивое и "вкусное", есть бесплатные template'ы, но вот если потом придётся что-то серьёзно поменять на странице, будет беда...
Аноним 2022/05/02 17:35:10  №2348840 27
>>2348484
установить сам composer.
инициализировать проект (composer init)
вызвать composer require author/package
А затем пойти читать в доках, как работает сам композер, какие у него есть команды, что такое /vendor/autoload.php, стандарт PSR-4 и так далее
Ответы: >>2348865
Аноним 2022/05/02 18:26:35  №2348865 28
>>2348840
Установить кампозер на хост?
Заранее сори за тупой вопрос
Ответы: >>2348878
Аноним 2022/05/02 18:56:08  №2348878 29
>>2348865
в ispmanager есть shell-клиент, через него можно запустить composer.phar
Аноним 2022/05/02 23:12:24  №2348965 30
>>2348784
Можешь перейти к поиску работы
Аноним 2022/05/03 00:07:58  №2348971 31
>>2348784

Давно пора. Только если ты хочешь познакомиться с чуть более правильным использованием ООП и готов к x10 сложности, то попробуй Симфони.
Аноним 2022/05/03 16:45:19  №2349540 32
Тестирую апишку через постман. Вставляю туда свой json и отравляю реквест, но как мне его принять в laravel?
Ответы: >>2349575
Аноним 2022/05/03 18:07:46  №2349575 33
>>2349540
Мб так
$data=file_get_contents('php://input')
Ответы: >>2349597 >>2349630
Аноним 2022/05/03 18:52:53  №2349597 34
>>2349575
Почему эта тема стала всплывать постоянно?
Ответы: >>2349598
Аноним 2022/05/03 18:54:25  №2349598 35
>>2349597
Не понимаю что в твоём сообщении значит тема
Ответы: >>2349599
Аноним 2022/05/03 18:56:16  №2349599 36
>>2349598
Прием json в пхп через file_get_contents('php://input')
Ответы: >>2349604
Аноним 2022/05/03 18:59:49  №2349604 37
Ответы: >>2349612
Аноним 2022/05/03 19:09:33  №2349612 38
Аноним 2022/05/03 20:02:48  №2349630 39
>>2349575
Как отправить курл запрос с джейсоном с серв1 на серв2 и принять джейсон? Надеюсь, понятно обьяснил
Аноним 2022/05/03 22:46:32  №2349658 40
Шалом, няши. Хочу однажды проснуться fullstack, решил начинать с бэкэнда, тянуло к разным языкам (Go, Js, Sisyarp), но я вот остановился и подумал.

PHP это

1) 75% веба
2) Легкий вкат на начале, но такие же возможности роста, а вакансий больше.
3) Базовая база веба, а его понимание для фуллкека это хлеб

И подумал таки изучать PHP

This is right way?
Ответы: >>2349736 >>2349793
Аноним 2022/05/04 06:56:46  №2349736 41
>>2349658
Фуллкеку должно быть поебать на язык: PHP, JS/TS, Python, Ruby, Go, Java/Scala, C#. Я рекомендую начинать с сишки, чтобы ты понимал как оно всё работает. Как напишешь свой первый веб-сервер поверх epoll и первое расширение для sqlite, то можешь браться за свою скриптопарашу.
Аноним 2022/05/04 07:58:32  №2349793 42
>>2349658
>Легкий вкат на начале
Так бывает вообще сейчас?
Ответы: >>2350098
Аноним 2022/05/04 14:01:36  №2350098 43
Ответы: >>2350126
Аноним 2022/05/04 14:51:39  №2350126 44
Аноним 2022/05/04 16:55:35  №2350209 45
shop.lenovo.com
как они это сделали вместо lenovo/shop.com
Ответы: >>2350238 >>2375973
Аноним 2022/05/04 17:43:52  №2350238 46
Аноним 2022/05/04 19:03:25  №2350277 47
предложили поменять стек с symfony + api platform на nestJS
кайфану от смены стека или не?
Ответы: >>2352387
Аноним 2022/05/06 12:07:38  №2351277 48
JSLzp.png (125, 1280x800)
800x1280
Привет, пхпач.
Как реализовать кодинг на сайте, как на пикриле ?
Ответы: >>2351337 >>2351368
Аноним 2022/05/06 13:49:59  №2351337 49
Аноним 2022/05/06 14:24:52  №2351368 50
>>2351277
отправлять код на сервер, запускать новую копию интерпретатора в изолированном окружении, возвращать ответ
Аноним 2022/05/06 18:52:36  №2351563 51
Если кто-то работал с библиотекой telegram bot sdk, помогите.
Не приходят обновления через getWebhookUpdates (). С чем это может быть связано? Setwebhook сделал, все норм.
Ответы: >>2351687
Аноним 2022/05/06 21:51:14  №2351687 52
Ответы: >>2351698
Аноним 2022/05/06 23:19:17  №2351698 53
Ответы: >>2351707
Аноним 2022/05/06 23:42:27  №2351707 54
>>2351698
телеграм присылает события только по https, гугли letsencrypt, там бесплатные сертификаты
Ответы: >>2351713
Аноним 2022/05/07 00:15:11  №2351713 55
>>2351707
Лучше nginx в режиме reverse proxy + certbot сразу нагуглить.
Аноним 2022/05/07 15:37:49  №2351984 56
Где работку искать?
Ответы: >>2355001
Аноним 2022/05/07 18:46:05  №2352104 57
fdg.jpg (48, 637x301)
301x637
Заебало на хуй, запилите уже блять в шапку треда как эту пыху устанавливать
Ответы: >>2352138 >>2352608
Аноним 2022/05/07 19:30:52  №2352138 58
Аноним 2022/05/08 08:55:46  №2352387 59
nestjs.png (75, 1335x874)
874x1335
>>2350277
>nestJS
Хуйня перехайпленная. Там нет ничё такова, чего не было бы в express.js. Так, чисто синтаксическим сахарком посыпали, добавили декораторов, которые вообще нихуя не делают. Серьёзно, ты почитай их документацию, они прямо говорят типа "ну да, мы знаем, что всё это одной строчкой обычным express / fastify делается". И сами же приводят список аналогичного кода. Там есть ноль целых хрен десятых полезного функционала: роли, валидации, orm. Но я не думаю, что ради валидаций стоит ставить такого слона на сервер. В остальном, проще поставить обычный express-generator, он плюс-минус mvc тебе сгенерирует.
Ответы: >>2352404
Аноним 2022/05/08 09:18:24  №2352404 60
>>2352387
По крайней мере там typescript и DI из коробки. Уверен что на проекте
1) для чужого дяди
2) когда нет времени вылизывать код
3) на рынке куча интересных вакансий, я на проекте долго не задержусь...
ты непременно будешь ковырять вилкой говнокод, в котором
4) нет тестов, потому что говнокод не реально протестировать
Так выглядит рядовой проект на express
Ответы: >>2352486
Аноним 2022/05/08 11:03:04  №2352486 61
>>2352404
И чё DI? Они дополнительную сложность добавили в проект. Там, где можно было обычной функцией/классом обойтись, придётся заводить ебучие сервисы, контроллеры, фабрики, хуябрики. А что толку? Ничего же принципиально нового они не дают. Это дрочка ради самой дрочки. Синтаксический сахар.
Ответы: >>2352614
Аноним 2022/05/08 13:06:55  №2352608 62
>>2352104

В твоем репозитории скорее всего нету пакета с данной версией. Надо сделать так:

- сначала обновить информацию о доступных пакетах их репозиториев:

sudo apt-get update

- сделать поиск по слову php и отсортировать результаты:

apt-cache search php

- затем установить выбранный пакет:

sudo apt-get install название пакета

Аноним 2022/05/08 13:08:49  №2352614 63
>>2352486

Ты, по моему, просто не понимаешь, что такое DI. Смысл DI не в том, чтобы городить лишние фабрики, а чтобы решить проблему получения зависимостей для функции или класса.
Аноним 2022/05/08 15:16:12  №2352741 64
Какова производительность гонять json из фронта в пхп?
Ответы: >>2353091
Аноним 2022/05/09 08:37:21  №2353091 65
>>2352741
всё хорошо
такие вещи вообще не должны бескопоить в 99% случаев
Аноним 2022/05/09 09:37:17  №2353121 66
Что лучше random_int или mt_rand?
Ответы: >>2355316
Аноним 2022/05/09 09:40:24  №2353123 67
Как можно запилить в проекте старую версию композера и ларавеля? Предположим на опен сервере выставил седьмую пыху, и нужно все в районе 2017 года, как это все устанавливать в domains?
Ответы: >>2354991
Аноним 2022/05/09 10:13:17  №2353140 68
Поставил PHP8.1, закинул свой проект, который писал под 5 версию. Охуел от числа ошибок и варнингов. Ошибки исправил, большинство варнингов - тоже. Никаких плюсов от перехода на новую версию не заметил.
Ответы: >>2353144
Аноним 2022/05/09 10:20:51  №2353144 69
>>2353140
Прекрашай тролить тупостью.
Аноним 2022/05/09 20:45:08  №2353588 70
Ищу компаньона на собственный проект. Вкачу в докер, на простых задачах выучим yii2, познакомимся с работой через api, расскажу за композер. Проект ноукоммерс зарплаты не будет, пилю его для себя. Для чего мне это, спросишь ты, а я тебе не отвечу. Проект уже приелся т.к пилю его больше года, плюс времени стало меньше. Помогу со всеми вводными что бы ты мог вкатиться в it. С тебя знания php и yii2 хотябы на минималках. Интересно? Пиши в телегу @hcan359
Ответы: >>2353688
Аноним 2022/05/10 07:38:19  №2353688 71
16492992064690.jpg (24, 423x222)
222x423
Ответы: >>2358924
Аноним 2022/05/11 21:30:14  №2354991 72
>>2353123
Все не надо, разобрался
Аноним 2022/05/11 21:35:46  №2354993 73
какой же ларавель саил копрокал пиздец просто
я бы уже образ быстрее ручками собрал припердолив нжинксу чем разбираться почему что и где не дает установить нужные зависимости
Аноним 2022/05/11 21:36:23  №2354995 74
про то что этот кал с мускулем из коробки не запустил пустой проект я даже и говорить не буду
Аноним 2022/05/11 22:18:53  №2355001 75
Аноним 2022/05/12 01:20:05  №2355019 76
в итоге я пытался прикрутить стандартную регистрацию на laravel/breeze. Ок, прикрутил, пытаюсь зарегистрироваться - хуйня какая-то, connection refused. Гуглю часов 6, и потом, чисто случайно, меняю DB_HOST 127.0.0.1 на mysql (имя контейнера), и, о чудо, работает. Но теперь у тебя явно вопрос - а нахуя я вообще трогал DB_HOST и поломал, но все намного интереснее - DB_HOST=127.0.0.1 выдает ошибку при попытке сделать миграцию артисаном. Да. В итоге у меня теперь интересная последовательность действий - меняю дб хост, делаю миграцию, меняю дб хост обратно. Пиздец ваш ларавель дерьмо блядь.
Ответы: >>2355082 >>2355287
Аноним 2022/05/12 01:21:34  №2355020 77
DB_HOST=mysql выдает ошибку*
быстрофикс
Аноним 2022/05/12 06:44:01  №2355082 78
>>2355019
Макакен, в докере разберись, а не куски .env из гугла копипасти.
Ответы: >>2355293
Аноним 2022/05/12 13:35:52  №2355274 79
так ладно еблан все таки я а не писавший саил
Аноним 2022/05/12 13:36:11  №2355275 80
так ладно еблан все таки я а не писавший саил
Аноним 2022/05/12 13:57:40  №2355287 81
>>2355019

Контейнер докера чем-то напоминает виртуальную машину. Внутри него есть свои виртуальные сетевые карты.

Когда ты на реальной машине коннектишься к 127.0.0.1, ты можешь подсоединиться к программе, запущенной на том же компьютере. Тут 127.0.0.1 обозначает "этот компьютер".

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

А если ты хочешь со своего компьютера подсоединиться к сервису внутри контейнера (например, к БД), ты тоже должен использовать IP-адрес контейнера или DNS-имя, а не 127.0.0.1

То есть, представляй себе, что каждый контейнер это как отдельный компьютер со своим адресом.
Аноним 2022/05/12 14:03:21  №2355293 82
>>2355082

Ты даешь неправильный совет. Если анон сейчас начнет читать документацию Докера, он половину не поймет.

В данном случае сначала надо изучить основы сетевых технологий: что такое сетевой интерфейс, сокеты Беркли (не вебсокеты), протоколы IP, UDP, TCP, что такое маршрутизация и пакеты, система DNS, файл hosts, команды ifconfig, ss, ping.

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

И после этого можно читать документацию Докера.

Докер это не инструмент для новичков-вкатышей. Это для тех, кто знает Линукс и сетевые технологии и свободно ориентируется в командной строке.
Ответы: >>2355298
Аноним 2022/05/12 14:08:15  №2355298 83
>>2355293
То, что ты перечислил, в моем понимании для вкатуна в бек подразумевается, иначе всё как магия выглядит.
Аноним 2022/05/12 14:12:36  №2355302 84
Аноним 2022/05/12 14:45:41  №2355316 85
>>2353121

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

То есть, там есть формула, по которой из предыдущего числа получается следующее. И он каждый раз применяет эту формулу.

Приведу упрощенный пример, как можно генерировать псевдослучайные числа (mt_rand устроен во много раз сложнее, я же специально упростил логику для понимания). Пусть у нас формула для генерации следующего числа (y) из предыдущего (x) такая:

y = (11 * x + 7) % 10

%10 значит "остаток от деления числа на 10", то есть, последняя цифра из числа.

Если мы возьмем начальное значение x = 1 и подставим в формулу, то получим новое случайное число y = (11 * 1 + 7) % 10 = 18 % 10 = 8. Если мы подставим в формулу 8, то получим 5. И так далее.

Последовательность чисел, которые сгенерирует генератор, состоит из 10 цифр и выглядит так:

1 8 5 2 9 6 3 0 7 4 1 8 5 2 9 ....

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

(если тебе интересно, откуда я знаю эту формулу и числа в ней, то читай википедию: https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D0%B3%D1%80%D1%83%D1%8D%D0%BD%D1%82%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4 )

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

Для генератора выше, если ты получил числа 8 и 5, то ты знаешь, что дальше он выдаст число 2.

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

Вот еще пример, где нельзя использовать такой генератор. Допустим, у тебя на сайте сделан вход через код в СМС. То есть, ты вводишь номер телефона, сайт генерирует случайный код и высылает его в СМС. Злоумышленник, зная, что ты используешь mt_rand(), несколько раз вводит свой номер и получает несколько кодов подряд. Имея эти коды, он рассчитывает, в каком месте последовательности находится генератор и предсказывает, какие следующие коды будут сгенерированы. После этого он вводит номер телефона жертвы и угаданный код, и получает доступ к его аккаунту.

То есть, mt_rand подходит для ситуаций, где не критично, если кто-то угадает числа.

Для случаев, когда нужна безопасность, предусмотрен random_int. Это криптографически надежный генератор. Он генерирует непредсказуемые числа, но его скорость работы ниже и он не может их генерировать быстро и много.

Если тебе нужно генерировать много криптографически надежных чисел с большой скоростью, то придется раскошелиться на аппаратный генератор случайных чисел. Или использовать современный процессор, в который такие генератор часто встроен (если ты конечно доверяешь Intel или AMD и веришь, что американское правительство не встроило закладки в этот генератор, чтобы обчистить твое казино, прочитать твои сообщения и взломать СМС-коды на твоем сайте).
Аноним 2022/05/13 09:13:16  №2355654 86
DREAM MACHINES ТОП!
Аноним 2022/05/13 12:10:00  №2355756 87
Привет, Анон, подскажи, оформлял список преимуществ, создал див, сделал его флексом, размеры накидал дочерним и вышло 2 ряда по 4 преимущества, вроде бы все как хотел, но стоят преимущества слева-справа почти впритык, в тз виден отступ пикселей 10-20 без указания его, якобы он такой дефолтный, но почему у меня нет?
Ответы: >>2355985
Аноним 2022/05/13 17:38:41  №2355985 88
>>2355756

А почему отступ должен быть? Отступы надо делать либо с помощью margin/padding, либо сделав ширину элементов меньше, чтобы осталось свободное место.

То есть, если у тебя 2 колонки и ширина элемента равна 50%, то отступа не будет. А если ты сделаешь ее 45%, то оставшиеся 10% превратятся в отступ между колонками.

Если ты не задаешь ширину элемента в флексбоксе явно, то она рассчитывается автоматически по алгоритму shrink-to-fit, про который я написал урок: https://github.com/codedokode/pasta/blob/master/html/shrink-to-fit.md#%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-shrink-to-fit

Аноним 2022/05/14 03:33:42  №2356093 89
Товарищи, а можете починить ссылку на учебник из шапки?
Ответы: >>2356438
Аноним 2022/05/14 17:05:01  №2356438 90
>>2356093

Спасибо за информацию. К сожалению, продление предыдущего домена стоит 10 долларов, а смена домена бесплатная, потому мы переехали.

Ссылка на учебник: https://codedokode.github.io/phpbook

Если кому-то захочется скачать учебник на компьютер, то заходите на https://github.com/codedokode/phpbook и нажмите зеленую кнопку Code, там выберите Download ZIP.
Ответы: >>2356454
Аноним 2022/05/14 17:29:19  №2356454 91
>>2356438
Спасибо за труд. Подскажи пожалуйста хороший курсик по ларе, на примере блога там например, еще раз спасибо.
Аноним 2022/05/15 10:26:43  №2356826 92
Ajax еще актуален?
Аноним 2022/05/15 10:30:50  №2356828 93
php11.PNG (69, 982x920)
920x982
Ответы: >>2356843 >>2356845 >>2356855
Аноним 2022/05/15 11:20:13  №2356843 94
>>2356828
В цикле ты обращаешься только к тому, который отправляешь в функцию.

Обращайся к тому, который ты переопределяешь

Вместо $l->val, используй $c->val
Аноним 2022/05/15 11:27:16  №2356845 95
image.png (18, 433x391)
391x433
>>2356828
И, возможно, так будет лучше
Ответы: >>2356847
Аноним 2022/05/15 11:36:12  №2356847 96
>>2356845
Спасибо.
Алсо, торжественно клянусь впредь использовать нормальные имена переменных, даже когда печатаю с тапка телефона.
Аноним 2022/05/15 11:50:09  №2356855 97
>>2356828
А эти структуры данных вообще нужны в разработке веб-сайтов? Тем более с нуля, а не основе библиотек?
Аноним 2022/05/15 20:41:55  №2357161 98
Господа ПХПшники может кто подскажет как хитро реализовать следующую задачу:
Есть страничка на пхп, нужно не дожидаясь загрузки контента (хтмл) отправлять get request на определенный урл. Отправлять не блокируя остальной код. На респонс плевать, главное очень быстро и не дожидаясь респонса и не блокируя рендер контента кидать реквест на определенный урл.
Ответы: >>2357222 >>2357277 >>2357639
Аноним 2022/05/16 00:50:33  №2357222 99
>>2357161

Мб заслипать на секунду
Ответы: >>2357253
Аноним 2022/05/16 06:05:36  №2357253 100
>>2357222
ПХПшники нэвэр чейндж
Один спрашивает как сделать хуйню, другой ему рандомную хуйню советует
Аноним 2022/05/16 07:24:24  №2357277 101
Аноним 2022/05/16 21:00:33  №2357639 102
>>2357161
Если я правильно понял (если вообще реально понять хуйню, у которой даже название есть - xy problem), можно открыть tcp соединение через сокет, сформировать get запрос (это несложно - там всего лишь текст), отправить и.. всё, response можно не считывать.
Ответы: >>2358862
Аноним 2022/05/17 16:41:34  №2358201 103
xcv.jpg (126, 1440x254)
254x1440
Как фиксить?
Ответы: >>2360219
Аноним 2022/05/17 22:04:50  №2358305 104
image.png (131, 758x727)
727x758
сап тред, просматривал видеоуроки по шаблонам проектирования и столкнулся с непониманием тех строк которые подчеркнул. Зачем они нужны, объясните кто нибудь.
Ответы: >>2358311 >>2360226
Аноним 2022/05/17 22:27:27  №2358311 105
>>2358305
Кажись понял,это чтобы вернуть ссылку на текущий объект
Ответы: >>2358319
Аноним 2022/05/17 22:42:38  №2358316 106
Запрос на url - ошибка 401
Затем запрос на на домен/challenge
Опять запрос на то же url - успешно, код 200

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

Что это за 2ch.hk/challenge? Для чего это? Каким образом это защищает сайт?
Ответы: >>2358914
Аноним 2022/05/17 22:48:54  №2358319 107
>>2358311
Не текущий объект, а объект messenger внутри текущего объекта.
Ответы: >>2358328
Аноним 2022/05/17 23:53:27  №2358328 108
Аноним 2022/05/18 05:04:30  №2358351 109
подскажите сайт где можно взять шаблон блока фотогалереи для своего лендинга, бесплатно, а то я подписался на простой лендинг а не умею нифига
Аноним 2022/05/18 20:26:29  №2358862 110
>>2357639
Добавлю, что частично response сосчитать всё-таки нужно, чтобы убедиться, что реквест дошёл. Например, status-line. Но сделать это можно в самом конце.
Аноним 2022/05/18 23:06:56  №2358914 111
>>2358316
Разобрался, это Cloudflare, защита от ддос атак.

Пиздец вы твари, сложно было 2 слова написать. Теперь я понимаю, почему этот тред мертвый.
Аноним 2022/05/19 00:11:33  №2358924 112
>>2353688
Что не так, школьник? yii2 уже ~8-9 лет и все работает

Любой фреймворк это набор компонентов
роутер
контроллер с коллбеками и работа с данными и отображение.
Ну и рюшечки типа проверка почты, отправка и все такое.

Ответы: >>2358991
Аноним 2022/05/19 06:42:22  №2358991 113
>>2358924
держи в курсе, борщехлеб
Ответы: >>2359204
Аноним 2022/05/19 12:44:23  №2359204 114
Аноним 2022/05/20 08:07:07  №2359696 115
16217031796450.jpg (295, 1083x1080)
1080x1083
Ну что вкатуны, как дела? А я сижу, пью кофе дома и работаю на немецкий продукт. Ну как работаю, уже час двачи листаю.
Когда то я был как вы, в 2019м году открыл ПХП, установил линукс и начал писать коды эти ваши. А теперь я сижу в тепле и наслаждаюсь весной, пока быдло на заводах за копейки пашет, может на обеде поеду покатаюсь по дорожкам в лесу.

мимо symfony/react developer
Ответы: >>2359711 >>2359803 >>2359943
Аноним 2022/05/20 08:33:03  №2359711 116
>>2359696
Идут два данмера по Алинору и видят волшебную лавку, на прилавке сидит альфик и лукаво размахивая хвостом, говорит данмерам:
- За 99 септимов превращу в имперца
Уримал покопался у себя в карманах и нашел 98 септимов, а Азарат у себя 100 септимов. Азарат говорит другу
- Давай испытаем заклинание на мне. Если все пройдет успешно, то я отдам тебе лишний септим и ты тоже станешь имперцем.
- Давай! - обрадовался Уримал.
Зашел Азарат вместе с альфиком в лавку и через пять минут из лавки выходит статный имперец.
- Скорее же давай мне септим. обрадовался Уримал.
- Найди себе работу чумазый попрошайка!
Ответы: >>2359840
Аноним 2022/05/20 09:51:14  №2359803 117
>>2359696
Какой линукс установил?
Аноним 2022/05/20 10:28:43  №2359840 118
>>2359711
Анектодды двумя блоками ниже.
Аноним 2022/05/20 12:02:52  №2359943 119
php2.jpg (72, 640x1280)
1280x640
php1.jpg (65, 640x1280)
1280x640
python.jpg (75, 640x1280)
1280x640
react.jpg (67, 640x1280)
1280x640
>>2359696
Да нормально, все - по совету местного анона вкатился по подписке на хекслет, в итоге за 3 месяца освоил больше чем за весь прошлый год.
По поводу на рыка труда, мне с дивана кажется, что на пыхе все более менее норм, по сравнению с тем же фронтом и питоном, если говорить про офисные джуновские ваки.
Как нашел удаленку на западного барина? Или ты галеру РАБотаешь? Скок платят? Че молодым-задорным посоветуешь?
Ответы: >>2360010
Аноним 2022/05/20 13:05:31  №2360010 120
>>2359943
Да конечно на пыхе збс, конкуренции мало, а работы валом.
Я в офисах не работал, сразу удалёнку нашёл на галере(но нормальной, с долгими продуктами без легаси), там 1,5 года проработал. Сейчас удалёнка на продукт на западного барина.

Молодым дам важный совет как найти работу:
- Сделать хотя бы один проект нормальный на гитхабе и задеплоить на хост куда-нибудь.
- Самому искать МАЛЕНЬКИЕ компании, где НЕТ ЭЙЧАРОВ. Там ты вероятность оффера будет 95% и сразу со старта платят.

Кто поопытнее и ищет вторую работу:
Сделать полезную-интересную composer-либу и залить на packagist.
Ответы: >>2360074 >>2360366
Аноним 2022/05/20 14:15:15  №2360074 121
>>2360010
Какой проект ты делал?
Ответы: >>2360099
Аноним 2022/05/20 14:51:56  №2360099 122
>>2360074
>А где?
>А покажи?
>А мне?
Чужой опыт на себя не натянешь, чел


мимо шел
Ответы: >>2360107
Аноним 2022/05/20 14:56:33  №2360107 123
>>2360099
Мне просто интересно, причём здесь на себя натягивать
Аноним 2022/05/20 17:11:07  №2360219 124
>>2358201

Сообщения с Deprecated можно игнорировать — это лишь предупреждения. Важная информация в конце:

composer не нашел файл composer.json в текущей директории (PhpStormProjects).

Скорее всего ты запустил команду не из той папки. Нужно сначала перейти в папку с проектом, а потом запускать композер. Перейти можно командой

cd имя-директории



Аноним 2022/05/20 17:15:39  №2360226 125
>>2358305

Я тоже не очень понимаю, в чем смысл этого кода. Есть такой подход, когда функции-сеттеры (которые задают какой-то параметр) заканчиваются строкой return $this; и это позволяет вызывать их по цепочке:

$someObject->setA(1)->setB(2)->setC(3);

Но зачем возвращать $this->messenger, я не очень понимаю. Может, это какая-то ошибка?

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

Также, мне не нравится здесь дублирование кода. У функции указан тип возврата MessengerInterface и зачем-то в комментариях это указано второй раз:

@return MessengerInterface

Так не нужно делать. Если ты уже указал тип возвращаемого значения, не не надо его писать второй раз.
Ответы: >>2360246
Аноним 2022/05/20 17:51:26  №2360246 126
>>2360226
>У функции указан тип возврата MessengerInterface и зачем-то в комментариях это указано второй раз:
>@return MessengerInterface

1) PHPStorm считает по-другому
2) Документация инструментами генерится из PHPDoc а не тайпхинтов

мимо
Ответы: >>2360759
Аноним 2022/05/20 21:57:22  №2360366 127
>>2360010
>Да конечно на пыхе збс, конкуренции мало, а работы валом.

Это такой троллинг? Или ты про западный рынок. В этой стране уже с опытом 10 лет за еду работы в айти не найти, тем более на пыхе
Ответы: >>2360439 >>2360453 >>2361609
Аноним 2022/05/21 06:20:39  №2360439 128
Аноним 2022/05/21 06:59:13  №2360453 129
>>2360366
>В этой стране уже с опытом 10 лет за еду работы в айти не найти
А что случилось? Почему же никто не хочет с нами работать?
Аноним 2022/05/21 15:58:30  №2360759 130
>>2360246

PHPStorm это не стандарт, это всего лишь IDE. Я знаю, что PHPStorm любит генерировать бесполезные комментарии, но это не значит, что это правильно. Я думаю, это отключается где-то в настройках.

При этом, PHPStorm умеет парсить тайп-хинты и использовать их для анализа и подсказок. Также и другие анализаторы вроде phpstan умеют читать тайп-хинты.

Что касается PHPDoc, то я не вижу упоминания в документации, что он не умеет парсить тайп-хинты.
Ответы: >>2360780
Аноним 2022/05/21 16:39:22  №2360780 131
>>2360759
Вообще да. PHPDocumentor из
class App
{
public function test(): array
{
return [];
}
}

сгенерил

public test() : array<string|int, mixed>
Ответы: >>2360785
Аноним 2022/05/21 16:43:42  №2360785 132
>>2360780
Но все же я не могу в тайпхинте указать дженерик, так что я могу его указать в phpdoc, а тайпхинт array оставить для проверок в рантайме.
Ответы: >>2360970
Аноним 2022/05/21 18:17:47  №2360854 133
Аноны где работу искать в инете по php?? готов работать но не могу ничего найти
Ответы: >>2360864 >>2360980
Аноним 2022/05/21 18:27:33  №2360864 134
Аноним 2022/05/21 20:04:14  №2360900 135
Тут есть, кто хоть немного в блейде понимает?

Хочу понять, какая структура должна быть у шаблонов.

Вот есть базовый шаблон с повторяющимся хедером, футером, посередине вставляется @yield content, назовем его app.blade.php. Дальше я создаю дочернюю страничку, пусть будет about, которая наследуется от базового шаблона app, описываю секцию, хуе-мое, блять. И таких страничек будет штук 5. Потом я осознаю, что в эти 5 страничек нужно вставить абсолютно одинаковый кусочек кода, не слишком маленький, но и не на 100 строк. Как бы мне это сделать красиво и без копипаста?
Ответы: >>2360970 >>2361792
Аноним 2022/05/21 23:17:59  №2360970 136
>>2360785

Я не написал, что я против PhpDoc. Я против таких PhpDoc, которые просто дублируют тайп-хинты и не несут никакой новой информации. Они бесполезны и лишь увеличивают время на чтение и модификацию кода.

>>2360900

В твиге есть макросы для этого, наверно и в блейде что-то есть.Гугление показывает, что есть директива include: https://laravel.com/docs/9.x/blade#including-subviews

Также, там есть компоненты: https://laravel.com/docs/9.x/blade#components


Аноним 2022/05/22 00:20:21  №2360980 137
>>2360854
Да нету работы больше спасибо пыне, выкатываемся
Ответы: >>2361053 >>2361416
Аноним 2022/05/22 08:25:55  №2361053 138
image.png (548, 980x707)
707x980
>>2360980
Но ведь внутренний рынок остается?
Ответы: >>2361957
Аноним 2022/05/22 16:15:44  №2361319 139
Перед изучением laravel стоит изучить шаблоны проектирования?
Аноним 2022/05/22 19:54:30  №2361416 140
ИБ Аноним 2022/05/22 21:51:48  №2361469 141
Аноны привет. Мне очень нравится PHP, но пишу я на Golang, где "приложение компилируемое".

Вопрос такой: Что, если я напишу "самописный" движок сайта или сайт(сервис) на PHP, он раскрутится и кто нибудь(кабанчик подсуетится) отожмёт его у меня или возьмёт исходный код немного подправит, изменит "шаблон" и запустит свой аналогичный сайт? Что мне в этом случае делать? Какие методы защиты кода на PHP существуют: бэкдор для своего человека, супер пользователь вшитый в код, обфускация кода? Как защищаете Вы(Ваша контора) свой проект, как защищают крупные компании использующие PHP(Производители коммерческих CMS например)?

Ответы: >>2361536
Аноним 2022/05/22 23:57:45  №2361536 142
>>2361469
Ты в курсе, что пыха серверный язык? Как кабанчик у тебя его отожмет, если он на хостинге крутится, а не в браузере? Ты по сути даже не его видишь, а результат его работы.
Ответы: >>2361538
Аноним 2022/05/23 00:18:13  №2361538 143
>>2361536
В курсе конечно, но в "некоторой" стране можно доступ получить за деньги практически к любым данным. Например к SMS переписке или детализации звонков. Я не знаю как в остальных странах, но предполагаю не сильно лучше. Тем более в некоторых странах требуют, что бы "хостился" именно на их территории, если хочу их домен. Представь какой нибудь "Губер" или "Сенатор" в стране третьего мира захочет получить данные с сервака - думаю ничто ему не помешает или я не прав?
Ответы: >>2361541 >>2361563
Аноним 2022/05/23 00:53:30  №2361541 144
Аноним 2022/05/23 06:01:00  №2361563 145
>>2361538
Чел, когда на тебя покусятся кабаны с такими возможностями у тебя будет своя СБ, а тебя самого будут интересовать больше яхты, а не твой пионерский говнокод.
Ответы: >>2361604
Аноним 2022/05/23 07:22:13  №2361604 146
>>2361563
Спасибо за мечты, но в успех я не очень верю. Возможно я пессимист.По теме: Есть знакомый - относительно взрослый дядя, Program Engineer (надеюсь правильно написал должность) который работает на иностранцев. Он тоже пишет, что, если идея которую ты реализуешь годная, то бабки появятся и уже потом будешь думать о безопасности, производительности, оптимизации кода и тд.
Аноним 2022/05/23 07:44:35  №2361609 147
>>2360366
Работы валом, что на местных, что на западных. Тем более на пыхе.
Я как только год опыта получил - просто игнорил местных, зачем, если есть западные продукты с западной зар.платой и западными условиями.
Аноним 2022/05/23 09:03:41  №2361641 148
Здрасьте, что щас с фрилансом на пыхе и реально ли студенту-перваку ворваться на этот дикий запад? Прогал на си, писал сайтики на дженге, на ней же апишку писал, к пыхе не притрагивался но хочу на ней фрилансить.
Аноним 2022/05/23 13:01:53  №2361792 149
>>2360900
Если где-то есть повторяющиеся элементы, выносишь их в отдельный файл .blade.php и импортируешь в те, которые нужно. Если есть необходимость его чуток видоизменять (текст, картинки, что-то показывать/убирать и т.д.), то blade шаблоны умеют принимать переменные и с их помощью можно колдовать над шаблонами как хочешь.
Аноним 2022/05/23 15:17:16  №2361957 150
>>2361053
Давно занят, да и сам по себе он маленький
Аноним 2022/05/23 16:14:13  №2361998 151
Вопрос к знатокам, насколько это сложно?
Аноним 2022/05/23 18:12:41  №2362065 152
>>2362016
Там же еще подмена ойпи нужна, так что еще про мультипрокси не забудь.
Аноним 2022/05/24 13:07:01  №2362379 153
1562139349156.jpg (70, 669x702)
702x669
Аноним 2022/05/24 15:36:02  №2362486 154
>>2347129 (OP)
Сука, ну как искать работу? Мрази требуют пхп, ооп, хуяпе, вью, джс, тесты. Коммерческого полгода, а по сути ничему не научился толком. С каждой вакансии в ахуе
Ответы: >>2362524 >>2362534
Аноним 2022/05/24 16:15:28  №2362524 155
>>2362486
А где ты работал и че умеешь?
Похожая проблема, но я только в феврале вкатился
Ответы: >>2362650
Аноним 2022/05/24 16:29:03  №2362534 156
>>2362486
>ооп
>джс
>тесты
Это все баззворды, которыми на собесе в голову срут и используют, чтобы непонравившегося кандидата зарубить. В реальности у тебя будет код-лапша без всяких там солид, просто раздробленный по куче классов/методов, и ajax запросы/таблички на жквиери на фронте.
>вью
Тебя наебать хотят, будешь макакой фулстеком.
Ответы: >>2362538 >>2362590
Аноним 2022/05/24 16:33:45  №2362538 157
Ответы: >>2362561
Аноним 2022/05/24 16:57:07  №2362561 158
>>2362538
Фронтофреймворк, который будешь выдрачивать дольше, чем пхп до уровня мидла.
Аноним 2022/05/24 17:37:07  №2362590 159
>>2362534
А что тогда надо знать чтобы устроиться?
Аноним 2022/05/24 18:30:48  №2362628 160
>>2362625
>простые морды, если я бэкендер
ПРостые морды для бэкендера это jquery + bootstrap, как показывает моя личная практика, лучше уж так чем говнокод на SPA.
Ответы: >>2362637
Аноним 2022/05/24 18:51:29  №2362637 161
>>2362628
Почему обязательно говнокод с vue? Пишу чисто, функционально на vue 3 как на реакте. С jquery у тебя в 99% случаев на проектах встретится говнокод. На жиквери можно компоненты писать в виде плагинов, но все любители жиквери предпочитают лапшу.

мимо
Ответы: >>2362642
Аноним 2022/05/24 18:57:46  №2362642 162
>>2362637
>функционально на vue 3
>как на реакте
Ты насрал в штаны, дружище. Во vue нет функциональных компонентов, а те, что там называются "функциональными" представляют из себя ничего более, чем статичную рендер-функцию без ветвлений внутри.
>С jquery у тебя в 99% случаев на проектах встретится говнокод.
У тебя и с реактом/вью 99% встретится говнокод, но в отличии от жиквары - он еще и будет с горой бойлерплейта, который без траты огромного количества времени не разберешь.
Ответы: >>2362645
Аноним 2022/05/24 19:04:58  №2362645 163
>>2362642
Извини, но я в твои в штаны не срал. Это ты сам наделал. cоmposition api позволяет функциональный код писать насколько это возможно в жс и даже использовать this не дает.
Ответы: >>2362646 >>2362648
Аноним 2022/05/24 19:06:36  №2362646 164
>>2362645
>cоmposition api
>функциональный код
Хватит позорится уже. Твой composition api это буквально конактенация стрех строк: "export default { setup(){" . <Текст твоего компонента> . "}}". Где ты тут функциональное программирование увидел?
Аноним 2022/05/24 19:10:02  №2362648 165
>>2362645
Потому что код полностью на функциях, без использования контекста. Тебе никто не мешает его использовать вместе с какой-нибудь ramdajs
Ответы: >>2362655 >>2363289
Аноним 2022/05/24 19:11:47  №2362650 166
>>2362524
Немного пыхи, лару, апи писал, постман, докер, гит. Вот сейчас учу вью, но сука, не хочется распыляться
Ответы: >>2362653 >>2362661
Аноним 2022/05/24 19:14:12  №2362653 167
>>2362650
И не распыляйся. Сам себе какаху в карьере сделаешь. Учи БД, куберы, рабиты и так дале. И английский язык
Аноним 2022/05/24 19:14:42  №2362655 168
>>2362648
В JS даже контекст можно реализовать на замыканиях. Отсутствие контекста и преобладание функций - не гарантирует использования парадигмы ФП. Тот же composition api функционален только в момент инициализации, потом у тебя все равно появляется тобой ненавистный контекст, в отличии от реакта - где весь жизненный цикл компонента выполнен в виде функций. Исключение в виде ErrorBoundary не рассматриваем
Ответы: >>2362659 >>2362667 >>2363329
Аноним 2022/05/24 19:19:10  №2362659 169
>>2362655
И шо? Я против реакта ничего не говорил. Я же не шизик чтобы искать чистые идеальные формы, в практических приземленных вещах как веб фреймверки
Аноним 2022/05/24 19:23:22  №2362661 170
>>2362650
Уволили? Через сколько времени после вката устроился?
Ответы: >>2362829
Аноним 2022/05/24 19:30:37  №2362667 171
>>2362655
Кстати раз ты такой спец покажи мне где этот контекст появляется?
setup() {
const = reactive({test: 'hello world'});

provide('HEHE', () => {
//
})

onMounted(() => {
//...
})

watchEffect(() => {
...
})
}
Ответы: >>2362670 >>2362683
Аноним 2022/05/24 19:40:22  №2362670 172
>>2362667

Кстати в вуе 3 не принято писать defineComponent({setup() {
а принято вообще чисто на функциях и макросах

<script lang="ts" setup>
defineProps({
propName: {
...
}
})

watchEffect(() => {
//})
</script>
Аноним 2022/05/24 20:06:31  №2362683 173
>>2362667
Прямиком после выполнения метода setup, когда неожиданно все, что возвращалось из него становится полями объекта внутри прокси, доступ к которым из метода render осуществляется через with(this){}
Ответы: >>2362687
Аноним 2022/05/24 20:15:10  №2362687 174
>>2362683
А разве если в реакте мы залезем в метод render или shouldComponentUpdate нам this не нужен будет?

render() {
...
this.props
...
}

не писал не когда?
Ответы: >>2362696
Аноним 2022/05/24 20:25:11  №2362696 175
>>2362687
В реакте в 2022 методы используются только в единичных случаях, все остальное уже на функциях.

function Example(props){
return <div>{props.value}</div>
}
Ответы: >>2362698
Аноним 2022/05/24 20:27:32  №2362698 176
>>2362696
Ну так вуе заставляет тебя в метод render лезть в 2022? Кстате необходимость shouldComponentUpdate тебя сейчас может заставить класс написать
Ответы: >>2362700 >>2362702
Аноним 2022/05/24 20:29:08  №2362700 177
>>2362698
>вуе заставляет тебя в метод render лезть в 2022?
Не заставляет, если ты используешь вуй для генерации статичного HTML. Во всех остальных случаях - заставляет, просто через костыль with, потому что иначе код на вуе побил бы все рекорды по размеру бойлерплейта.
Ответы: >>2362708
Аноним 2022/05/24 20:30:33  №2362702 178
>>2362698
> необходимость shouldComponentUpdate тебя сейчас может заставить класс написать
Не заставит. useMemo и useCallback
Аноним 2022/05/24 20:36:41  №2362708 179
>>2362700
расшифруй пожалуйста. я писал разные многоуровневые меню и, таблицы с динамически подгужаемым контентом в ячейках и всякую другую SPA муру и нигде не использовал render
Ответы: >>2362711
Аноним 2022/05/24 20:37:58  №2362711 180
>>2362708
>я писал разные многоуровневые меню и, таблицы с динамически подгужаемым контентом в ячейках и всякую другую SPA муру и нигде не использовал render
<template> в твоем вуй файле это ничто иное, как render()
Ответы: >>2362717
Аноним 2022/05/24 20:40:51  №2362716 181
братья помогите,не открывается в браузере дебагбар ларавеля(его просто нет),что делать как фиксить? все сделал по гайдычу,хз почему не работает
Ответы: >>2362719
Аноним 2022/05/24 20:41:21  №2362717 182
>>2362711
>jsx это ничто иное как render
И шо? Где потерян гешефт?
Ответы: >>2362718
Аноним 2022/05/24 20:42:36  №2362718 183
>>2362717
Гешефт в том, как туда данные попадают. В рякте - через область видимости, а в вуе/классовом рякте - через контекст.
Ответы: >>2362723
Аноним 2022/05/24 20:44:40  №2362719 184
>>2362716
Это же сторонний пакет. Ты его ставил?
Ответы: >>2362722
Аноним 2022/05/24 20:46:21  №2362722 185
Ответы: >>2362724
Аноним 2022/05/24 20:53:38  №2362723 186
>>2362718
А доку читал?

The Debugbar will be enabled when APP_DEBUG is true.
Ответы: >>2362724 >>2362751
Аноним 2022/05/24 20:54:36  №2362724 187
>>2362722
>>2362723
насрали тут фронтендом извините промазнулся
Аноним 2022/05/24 22:02:59  №2362751 188
>>2362723
Уже фиксанул, появилось когда изменил сервер на апач
Аноним 2022/05/24 22:15:24  №2362759 189
Вкатился на работу джуном чуть больше месяца назад, вроде и закрываю таски, но очень тяжело вносить изменения в проект которому уже больше чем полгода и у которого твоего кода меньше процента. Иногда бывает за день пишу 5-10 строчек, и то после подробных объяснений ментора, бывают дни без единой строчки кода. Как фиксить? Наверное мерить работу в строках неправильно, но сколько строк в день - норм? Сроков как таковых нет, но мне кажется что если я продолжу вот так писать в среднем 15 строк в день меня уволят нахуй.
Аноним 2022/05/24 23:27:40  №2362785 190
>>2362759

Мерь в джесонах и ретурнах!


Все хорошо будет
Аноним 2022/05/25 02:41:33  №2362809 191
>>2362759
Расскажи как вкатывался. Что на собесах спрашивали?
Задачки с литкода давали? Лайвкодингом заставляли заниматься? Про пет-проекты узнавали?
И как ты вообще пробился, если сейчас на одну вакуху 10000 курсовичков и вкатышей?
Ответы: >>2363538
Аноним 2022/05/25 03:21:29  №2362811 192
Можно истории про вкат и трудоустройство перенести в другой тред? Тут не всем нужна РАБота, некоторые ради своих проектов сидят.
Аноним 2022/05/25 03:48:02  №2362817 193
Меня удивляют завидки, которые говорят, что пыха давно мертва, ведь почти все сайты на ней крутятся, в том или ином виде.
Дайте мне пример языка/фрейма/платформы, где можно так же легко и непринужденно за пару вечеров сделать работоспособный набросок проекта, где было бы такое живое комьюнити, что ответы на все твои вопросы уже есть на форумах, а если произошел экстраслучай, то пыха настолько простая, то можно методом тыка и экспериментов решить проблему самому и даже не понять, как это получилось.
Ответы: >>2362823 >>2362864 >>2365034
Аноним 2022/05/25 04:23:58  №2362823 194
>>2362817
>Меня удивляют завидки, которые говорят, что пыха давно мертва
Это из той же серии что и про мёртвые рельсы. Эти дауны, чванливо заявляющие о мёртвых языках только и могут что словоблудить почём зря.



Аноним 2022/05/25 04:52:20  №2362829 195
>>2362661
Куда уволили, что? Не понял.
Устроился по дружбе
Аноним 2022/05/25 06:44:04  №2362864 196
>>2362817
Студенты тупые-зелёные такое говорят, которые с проектами не сталкивались даже. У PHP один минус - нет крупных проектов вроде амазона. Пыха это джава, только для мелких-средних проектов.
Работы валом, зар.платы как у всех, вкатиться легче, поднять проект легко, сервера копейки стоят, скорость отменная у пыхи.
Оно и хорошо что хейтят с другой стороны - меньше вкатунов, меньше конкуренции у новичков.

>>2362759
Ты полностью проект развернул? Базы должны быть полностью заполнены данными, все пароли предоставлены, все зависимости и утилиты установлены. Документации нет там? Главное проект полностью разверни, плюс в проектах всегда есть костыли, о которых ты можешь не знать.
Ответы: >>2362867
Аноним 2022/05/25 06:52:10  №2362867 197
>>2362864
> нет крупных проектов вроде амазона
Фейсбук же
Ответы: >>2362885
Аноним 2022/05/25 07:15:29  №2362885 198
>>2362867
Ну может, но я не знаю всм берут ли туда на работу или там и так бородатых дядек хватает.
Т.е. при релокейте мне кажется сложно на пыхе найти работу уровня айти-гиганта. Ну это и так, на любителя, может кому важно и мечтает попасть в корпорацию какую.
Ответы: >>2362889
Аноним 2022/05/25 07:21:23  №2362889 199
>>2362885
> может кому важно и мечтает попасть в корпорацию какую.
Да нахуй они нужны. Я там не работал, но слышал в этих корпорациях платят меньше рынка. И это не только IT компании касается. Зато представляю какой там дрочь, субординация и прочая корпоративная шиза, которую я блять просто терпеть ненавижу.
Ответы: >>2362907
Аноним 2022/05/25 08:07:30  №2362907 200
>>2362889
Аналогично. Мне маленькие ламповые продукты-компании больше нравятся, где контроля нет, пишешь себе код когда вздумается и не паришь голову.
Ответы: >>2363170
Аноним 2022/05/25 14:37:02  №2363170 201
haha.webm (226, 640x360)
360x640
>>2362907
>пишешь себе код когда вздумается
Аноним 2022/05/25 16:16:44  №2363289 202
>>2362648

Позвольте вмешаться. Не могу пройти мимо.

Вы почему-то ограничиваете выбор "хорошим" SPA на Vue и "ужасным" древним jQuery. Как будто нет других вариантов.

Но, на мой взгляд, реализация произвольного проекта как SPA имеет множество недостатков:

- очень медленная начальная загрузка, требующая передачи огромного объема данных
- при этом у разработчиков почему-то не хватает ума впечь нужные данные прямо в страницу, и они делают ajax-запросы
- разработчики не умеют правильно проектировать API, чтобы при переходах между страницами отправлялся бы единственный запрос, а не много
- страница не отображается при единственной ошибке в любом компоненте, в то время как при использовании HTML ошибка загрузки одного CSS/JS файла или картинки не препятствует отображению страницы
- с реактивным стилем написания кода легко сделать так, что приложение будет потреблять много CPU
- написание SPA требует по сути написать два приложения: серверное и клиентское. Значительно увеличивается объем работы.
- мне не нравится идея делать каждую кнопку отдельным файлом. Это выглядит красиво в концепции, но с таким кодом тяжело работать, прыгая по файлам на 10 строчек. Вы в коде тоже каждую функцию в отдельный файл выносите?
- необходимость возиться со сборщиками и упаковщиками кода. На большом проекте, конечно, они все равно понадобятся, но на маленьком можно обойтись и без них.
- проблемы с поисковой оптимизацией

Наконец, вы предполагаете, что использование реактивных фреймворков обеспечивает лучшую архитектуру. Но я открываю случайный блог и вижу, как автор пишет fetch() прямо в компоненте. Для тех, кто не понимает - это как если бы в PHP вы писали SQL-запросы и всю логику в HTML-шаблоне. Это вы называете лучшей архитектурой? Это же даже протестировать нормально не получится.

Или возьмите тот же Redux. Они предлагают сделать гигантский switch на 100 опций и на нажатие любой кнопки клонировать все состояние.

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

Лично мне из клиентских библиотек понравился preact (это не реакт). Его идея в том, что у него мало возможностей, но зато он весит всего несколько килобайт и позволяет при желании писать компоненты без компиляции и сборщиков. Если у вас есть простая интерактивная форма, то вполне возможно, что реализация одной формы на preact подойдет гораздо лучше, чем переделка всего приложения на SPA на популярном фреймворке, с весом бандлов под мегабайт и сложным процессом сборки.
Ответы: >>2363414
Аноним 2022/05/25 16:38:49  №2363329 203
>>2362655

> В JS даже контекст можно реализовать на замыканиях.

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

> в отличии от реакта - где весь жизненный цикл компонента выполнен в виде функций.

Ты случайно не намекаешь на использование хуков вроде useState()? Я видел много хвалебных постов про эти хуки, но когда решил прочесть документацию и разобраться, то ужаснулся. То, что подают как лучшее решение, на самом деле превращает код в лапшу в стиле "функция возвращает функцию, которая возвращает функцию".

Вот, например, кусочек из Реакта (отсюда https://reactjs.org/docs/hooks-intro.html ):

function Example() {
[count, setCount] = useState(0);
...

А вот, как это выглядит с использованием ООП:

class Example {
counter = new Counter();

render() {
...

Плюсы кода с ООП:

- объект счетчика создается один раз при создании компонента. С хуками же мы пытаемся создать счетчик при каждом рендеринге. Это просто нелогично.
- с ООП класс устроен просто и понятно: есть состояние и есть методы для его изменения. С хуками же у нас функции возвращают функции и это просто сложно читать и, как следствие, легко сломать при редактировании.
- функции вроде useState используют костыли (порядковый номер вызова), чтобы понять, к какой переменной мы обращаемся. В ООП таких костылей нету.

Такое ощущение, что люди готовы усложнять код, лишь бы не использовать ненавистные классы. То, что делается на хуках, ,можно сделать аналогично на ООП, только без костылей.
Ответы: >>2363340 >>2363431
Аноним 2022/05/25 16:43:19  №2363340 204
>>2363329

Ой, там в примере кода наверно надо писать

counter = new Counter(this);

а то counter не сможет пнуть компонент, чтобы он обновился.
Аноним 2022/05/25 19:05:35  №2363414 205
>>2363289
>- очень медленная начальная загрузка, требующая передачи огромного объема данных
Решается SSR
>- при этом у разработчиков почему-то не хватает ума впечь нужные данные прямо в страницу, и они делают ajax-запросы
Решается фреймворками вроде next и nuxt
>разработчики не умеют правильно проектировать API, чтобы при переходах между страницами отправлялся бы единственный запрос, а не много
Решается http/2
>- страница не отображается при единственной ошибке в любом компоненте, в то время как при использовании HTML ошибка загрузки одного CSS/JS файла или картинки не препятствует отображению страницы
Во первых, нужно писать код таким образом, что бы он не выкидывал ошибки. Во вторых, в любом фреймворке есть возможность отлавливать ошибки аналогично try/catch и выводить юзеру соответствующую инфу/производить другое действие/etc.
>- написание SPA требует по сути написать два приложения: серверное и клиентское. Значительно увеличивается объем работы.
Не согласен. Ты в любом случае будешь писать клиентское приложение (html + js+css) и бэк (любой язык на твой выбор).
>- мне не нравится идея делать каждую кнопку отдельным файлом. Это выглядит красиво в концепции, но с таким кодом тяжело работать, прыгая по файлам на 10 строчек. Вы в коде тоже каждую функцию в отдельный файл выносите?
Ну так не делай, сделай в одном файле 20 кнопок и экспортируй. Кто тебе запрещает?
>- необходимость возиться со сборщиками и упаковщиками кода. На большом проекте, конечно, они все равно понадобятся, но на маленьком можно обойтись и без них.
Тут согласен, да. Я так с cmake не заморачивался как с вебпаком.
>- проблемы с поисковой оптимизацией
Решается SSR
>Это вы называете лучшей архитектурой?
Нет, выводить отдельную функцию для AJAX запроса и передавать данные из неё в компонент через контекст/провайдИнжекты накмного практичнее.
> Это же даже протестировать нормально не получится.
То, что fetch можно мокать ты не слышал?
>Они предлагают сделать гигантский switch на 100 опций и на нажатие любой кнопки клонировать все состояние.
Что ты понимаешь под "всем состоянием"? Тебе никто не мешает вывести в отдельное хранилище логику работы с кнопкой и мутировать только его.
>Если вы хотите сделать переход между страницами сайта без перезагрузки, то вам не нужен SPA.
Проиграл. Если вы хотите сделать Single Page Application вам не нужен SPA. Сам свои высеры читаешь?
> Если вы пишете интернет-магазин или развлекательный ресурс с постами и лайками, вам даром не нужен SPA
>Если же вы пишете высокоинтерактивное приложение, например, редактор электрических схем или мобильную версию Инстаграма, то вам пригодится SPA.
Тут даже без комментариев.

Ответы: >>2363567 >>2363725 >>2374485
Аноним 2022/05/25 19:20:46  №2363431 206
>>2363329
>Классы читать гораздо проще.
Когда у тебя в классе есть конструктор и пара методов - несомненно. А вот когда у тебя компонент переваливает за сотню строк все значительно хуже. В функциональщине в таких случаях ты точно знаешь что у тебя за состояние и что за метод его мутировал, а вот в классах...
Когда у тебя в состоянии больше одного поля код превращается в лапшу. Попробуй сделать компонент с 3 считчиками и 3 кнопками, которые увеличивают соответствующий ей счетчик и потом посмотри на количество бойлерплейта. Аналогичная проблема происходит, когда ты пытаешься расширить логику компонента, в функциональном компоненте тебе просто надо один раз написать useState, в классовом тебе надо менять единственное состояние компонента, возможно далеко не в одном месте. Аналогичная проблема в компонентах вуя, которые не используют композишн.
Ну и на последок: классы из-за своей специфики в JS работают медленно.
Ответы: >>2374480
Аноним 2022/05/25 22:07:54  №2363538 207
>>2362809
На собесе спрашивали по синтаксису, фишки ларавела, солид, рест. Никаких задач и кода. Правда было условие, что для отклика нужно приложить свой пет-проект. У меня был простой файлообменник на ларе. Как отправил пет проект, через пол часа уже договорились о собесе, там не ответил на примерно 15% вопросов (по фичам лары в основном), сам собес где-то минут 20 длился, на след день написали с оффером. Было 20 откликов на эту вакансию, но уверен что большинство не посмотрели что нужен петпроект или надеялись без него договориться. Вопросы совсем простые были, я хз в чем сложность у предыдущих кандидатов была, я даже не готовился, это был первый собес, планировал просто узнать какие вообще требования и вопросы, резюме за 15 минут нарисовал
Ответы: >>2364330
Аноним 2022/05/26 02:16:52  №2363567 208
>>2363414
> Я так с cmake не заморачивался как с вебпаком.
Почему бы не использовать cmake вместо вебпака? Нахуя все жрут кактус?
мимо
Ответы: >>2363585 >>2363742
Аноним 2022/05/26 04:25:27  №2363585 209
>>2363567
Потому что в таком случае cmake будет использовать webpack. cmake - это замена gulp или grunt, а не вебпака.
Аноним 2022/05/26 07:50:08  №2363725 210
>>2363414
> Решается SSR
Как у ангуляра с SSR?
Ответы: >>2363741
Аноним 2022/05/26 08:07:01  №2363741 211
>>2363725
С SSR у него отлично, даже получше чем у рякта с вуем. А вот с изоморфным роутингом дела обстоят не очень...
Аноним 2022/05/26 08:09:32  №2363742 212
>>2363567
У вебпака лучше интеграция со всякими фронтовыми штуками, вроде SCSS, JSX/Vue, SVG, транспиляции под старые браузеры.
Аноним 2022/05/26 21:30:30  №2364330 213
>>2363538
сколько времени прошло с момента вката до работки?
Аноним 2022/05/27 15:15:28  №2364965 214
>>2347129 (OP)
Доброго времени суток, форумчане. Просветите в вопросе о микросервисах.
Знаю что есть разные протоколы для связи между сервисами, типа http, amqp. И так вот: допустим есть микросервис-шлюз на него делает запрос пользователь(хочет что-то получить). Шлюз в свою очередь дергает нужный микросервис путём помещения job'a в очередь rabbitmq. В итоге обмен данными между сервисами происходит асинхронно, каким тогда образом шлюз должен дождаться ответа от сервиса, чтобы вернуть пользователю?

Я подозреваю что в таких случая общение между сервисами реализуется по другому, например http.
А такой синхронный тип общения между сервисами самый частный получается rabbitmq редко юзается?
Ответы: >>2374470
Аноним 2022/05/27 16:37:53  №2365022 215
Сап, какие проекты сделать на пыхе, js для портфолио? Работаю 5 месяцев, знаний везде по немногу
Ответы: >>2365032
Аноним 2022/05/27 16:53:53  №2365032 216
>>2365022
Так если ты работаешь, зачем делать какие-то проекты? Просто расскажешь про свой опыт работы, что делал там.
Ответы: >>2365059
Аноним 2022/05/27 16:55:36  №2365034 217
>>2362817
рельсы ларавель без неприятного привкуса
Аноним 2022/05/27 17:48:16  №2365059 218
>>2365032
Делаю всего по немногу прост. Так сказать подавашка. Хотелось бы гит заполнить чем-то полноценным. К тому же, в резюме то надо что-нибудь показать. А то на собес и не позовут
Ответы: >>2365223
Аноним 2022/05/27 20:31:32  №2365148 219
16531626185420.png (2700, 2456x1736)
1736x2456
После реализации файлообменника из шапки на yii уже можно пытаться найти работу, или стоит потерпеть и сделать ещё и крупный проект из шапки на laravel/symphony?
А на удалённую работу вкатиться получится?
Ответы: >>2365996 >>2368285
Аноним 2022/05/28 04:31:52  №2365223 220
>>2365059
Ну если ты хочешь заполнить гит, сделай то, что тебе действительно нужно.

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

Но если тебе нужен проект ради проекта, можешь просто взять из шапки.
Аноним 2022/05/28 21:51:03  №2365996 221
Аноним 2022/05/29 08:38:00  №2366172 222
image.png (9, 552x125)
125x552
Вопрос по Yii2.
В туториале ошибка валидации отображается красным цветом. Почему у меня черный? Как сделать красным?

На stackoverflow есть только один топик с такой проблемой. Решения предлагаются такие
1. В лоб прописать css.
2. Залезть в vendor и нахимичить с ассетом бутстрапа.

Я правильно понимаю, что вторым лучше не заниматься?
Есть ли другие способы кроме прописывания css?
Ответы: >>2366277 >>2374470
Аноним 2022/05/29 10:12:47  №2366277 223
>>2366172
Зачем ты учишь этого г мамонта?
Ответы: >>2366280 >>2380082
Аноним 2022/05/29 10:19:40  №2366280 224
16507049471600.jpg (40, 1018x683)
683x1018
>>2366277
Учусь использовать фреймворки на простых примерах, затем хочу перейти на лару или симфонию.
Ответы: >>2366328 >>2367893
Аноним 2022/05/29 10:54:07  №2366328 225
>>2366280
Начинай с лапы сразу
Ответы: >>2366348
Аноним 2022/05/29 11:01:58  №2366348 226
>>2366328
Я правильно понимаю, что с ней будет проще найти работу, чем с симфонией?
Ответы: >>2366497
Аноним 2022/05/29 14:32:13  №2366497 227
>>2366348
Ты хоть что нибудь выучи для начала, тебе не о работе надо думать. Первую работу ты найдешь минимум через год обучения. Выдержишь?
Ответы: >>2366652
Аноним 2022/05/29 18:04:06  №2366652 228
>>2366497
Как фрейм вообще можно учить? Это ж не анатомия тебе и не французский язык. Его надо понять и применять. Попробуй-ка выучи для меня набор гаечных ключей, их форму, размерный шаг, допуск до микрона. Ты спросишь, нахуя? Да просто так. Ты скажешь, нет, пошел отсюда нахуй, когда они понадобятся, я просто откручу гайку или болт и все. Так же и тут.
Учить надо пыху или французский, потому что его применение в чистом виде нихуя тебе не даст. Что в разговоре, что в кодировании. Его нужно применять с какой-то целью. Считай, что язык это отдельные слова. А фреймворк это грамматика, словарный запас, пунктуация, и все в одном флаконе. Найди себе француженку и пизди с ней на ларавеле.
Ответы: >>2366667 >>2374452
Аноним 2022/05/29 18:35:09  №2366667 229
16488814974381.png (2978, 999x1863)
1863x999
>>2366652
Анон, меня ведь не обманывают глаза при поиске вакансий на hh?
Laravel действительно самый популярный фреймоворк в рф на данный момент с которым будет проще всего устроиться?
Ответы: >>2366670 >>2366710 >>2367994
Аноним 2022/05/29 18:40:29  №2366670 230
>>2366667
Без понятия, я никогда в жизни не работал программистом. Более того, я не знаю, что сейчас популярно на галерах. Но твой месседж звучит логично.
Аноним 2022/05/29 19:25:18  №2366709 231
Аноны, помогите мыслями. Такая задача: есть сервис (фронт на вью) и апишка (бек на ларавел). Как мне сделать jwt авторизацию в данном случае? Погуглил и ничего путного по теме нет. Алсо, резонно ли вообще разделять так сервисы? Или проще все в один проект запихнуть?
Ответы: >>2366716 >>2374449
Аноним 2022/05/29 19:28:09  №2366710 232
>>2366667
С ларавелем иногда возникает ощущение, что в нем ничего нет по сути, как на голой пыхе пишешь.
Самое ценное кверибилдер, некоторые мидлвары по умолчанию, очереди, простенькое DI, как раз такое какое нужно для мелко средних проектов (не в пример симфони). Коллекции - обычно спорят о их нужности, но пользоваться ими легко.
Научился пользоваться моделями и кверибилдером, который возвращает коллекцию моделей - понял 50% ларки. Главное разобраться как модели устроены и работают с данными из запросов с помощью магических методов (все данные в модели хранятся в массиве атрибутов).
полезные утилиты config, env, app_path, storage_path и др.
Миграции
Все остальное вторично. Всякие там форм реквесты.
Ответы: >>2367386
Аноним 2022/05/29 19:37:22  №2366716 233
>>2366709
Гуглил плохо. Но авторизацию на jwt делать плохо. jwt хорош кода имеет короткий срок гидности и тебе не нужно рефреш токены всякие выдумывать.
Ответы: >>2366738
Аноним 2022/05/29 20:28:06  №2366738 234
>>2366716
Лучше бы по теме сказал что-нибудь
Ответы: >>2366746
Аноним 2022/05/29 20:37:29  №2366746 235
Ответы: >>2366756
Аноним 2022/05/29 21:01:34  №2366756 236
>>2366746
Аутентификации и авторизации точнее. Для авторизации однократных действий жвт подходит. Например схема с жвт авторизацией
1) Фронтенд проходит обычную сессионную аутентификацию на ларке. У фронтенда есть кукисы что пользователь залогинен.
2) Есть микросервис, который тоже торчит в интернет. Например отправка сообщений в телегу. Микросервис не должен позволять отправлять сообщения кому попало. Но микросервис сам не занимается авторизацией пользователя на отправку.
3) Фронтенд говорит ларке дай жвт на отправку сообщения. Поскольку фронт аутентифицирован в ларкиной сессии, он получает жвт
4) Фронтенд посылает команду микросервису отправить сообщение и дает ему этот жвт.
5) Микросервис делает запрос ларке на проверку жвт. Если все ок то микросервис отправляет сообщение в телегу.
6) Все этот жвт больше не нужен.
Ответы: >>2374424
Аноним 2022/05/30 15:42:36  №2367329 237
Сап. Подскажите, как называется штука, которая позволяет избежать get-запросов на странице и вместо этого генерить отдельную "директорию". Например, как у вк: vk.com/id111 вместо того, чтобы было vk.com/profile.php?id=111
Ответы: >>2367342
Аноним 2022/05/30 15:57:47  №2367342 238
>>2367329
Чпу(Человеко понятные ссылки)
Ответы: >>2367384 >>2367387
Аноним 2022/05/30 16:41:31  №2367384 239
>>2367342
Ссылки вроде не с буквы "у" начинаются.
Ответы: >>2367385
Аноним 2022/05/30 16:43:03  №2367385 240
Аноним 2022/05/30 16:43:37  №2367386 241
>>2366710
Человека, который не написал ни одного крупного проекта на чистой пыхе видно издалека.
Ответы: >>2367435
Аноним 2022/05/30 16:45:01  №2367387 242
Аноним 2022/05/30 17:40:12  №2367435 243
>>2367386
Шито поделать, рыбак рыбака видит из далека...
Ответы: >>2367439
Аноним 2022/05/30 17:41:29  №2367439 244
>>2367435
>из далека
Знаешь значение?
Ответы: >>2367441
Аноним 2022/05/30 17:45:41  №2367441 245
>>2367439
Шито поделать, издалека мы, нехрамотные.
Аноним 2022/05/30 19:37:28  №2367570 246
Я хочу написать сайт с главной страницей(там будет текста много), картинками и кнопкой: "Скачать". Смогу ли я написать такой сайт на чистом html ?
Ответы: >>2367626 >>2367685
Аноним 2022/05/30 21:49:15  №2367626 247
>>2367570
При большом желании да, но советую все же потратить некоторое время на изучение css.
Ответы: >>2367801
Аноним 2022/05/31 04:35:35  №2367685 248
>>2367570
Одностраничный сайт с кнопкой скачать.
Мужик, под статью не попади))
Аноним 2022/05/31 07:56:40  №2367801 249
>>2367626
Что там изучать? Просто смотришь какие стили тебе надо и копипастишь.
Аноним 2022/05/31 09:51:24  №2367871 250
Здравствуйте.
Гайд по вкату в шапке треда актуален?
Планирую вкатываться, но по php как то мало гайдов. В основном все дрочат фронтенд, там каждый пук обсосан до мелочей
Аноним 2022/05/31 10:17:02  №2367893 251
>>2366280
Озон таки стал челочником
Аноним 2022/05/31 12:31:10  №2367994 252
>>2366667
Популярный - да, насчет проще устроится только если 10 лет опыта
Аноним 2022/05/31 17:50:15  №2368285 253
>>2365148
Yii-шник с полугодовалым стажем, планирую сваливать на ларку. Взяли на первую работу после курсов от webformyself (есть на ютуб), когда предоставил в качестве резюме магаз оттуда. Yii для старта конечно подойдёт, но вот потом начинаешь задумываться о более вкусных штуках, особенно когда скроллишь hh. Так что советую подумать, оно тебе надо?
Ответы: >>2368297
Аноним 2022/05/31 18:46:19  №2368297 254
>>2368285
Сколько учился до первой работы, если не секрет?
Аноним 2022/05/31 21:55:32  №2368386 255
Есть смысл сейчас это покупать?
https://www.chitai-gorod.ru/catalog/book/1095225/
Если нет, что можете посоветовать?
Сорри за копи-пост с ньюфаг-треда, надо уже к завтрашнему дню подобрать книгу в подарок.
Ответы: >>2368458 >>2369076
Аноним 2022/06/01 04:21:49  №2368458 256
image.png (9, 562x49)
49x562
image.png (7, 538x38)
38x538
>>2368386
Ну главу про JS я бы точно оттуда читать не стал. jQuery в 2022 2019 тоже это нечто.
Аноним 2022/06/01 18:01:05  №2369065 257
Сап. Есть ли какие-нибудь решения, чтобы быстро собрать фронт на vue? Что угодно, что может помочь
Ответы: >>2369105 >>2369146
Аноним 2022/06/01 18:19:25  №2369076 258
Ответы: >>2369221
Аноним 2022/06/01 19:05:48  №2369105 259
Ответы: >>2369146 >>2369169
Аноним 2022/06/01 20:19:38  №2369146 260
>>2369105
>>2369065

>cli
НИ В КОЕМ СЛУЧАЕ НЕ ИСПОЛЬЗУЙ!
Используй официальный тулинг в виде vite, который разрабатывается самим автором vue. Он, кстати, поддерживает не только vue.
https://vitejs.dev/guide/
Ответы: >>2369169
Аноним 2022/06/01 20:36:34  №2369169 261
Ответы: >>2369207
Аноним 2022/06/01 20:59:48  №2369207 262
>>2369169
Главное не используй cli. Это не просто мусор весом в несколько сотен мегабайт, туда еще и периодически всякие трояны попадают. гугли node-ipc
Аноним 2022/06/01 21:34:13  №2369221 263
>>2369076
>2016
Так она еще старее вышеуказанной книги.
Аноним 2022/06/02 08:11:02  №2369441 264
Подскажите, нужно при нажатии на bootstrap'овский button вызвать vue компонент. Как это сделать?
Ответы: >>2369458
Аноним 2022/06/02 08:26:05  №2369458 265
>>2369441
addEventListener('click', ()=>{вызываешь vue компонент })
Аноним 2022/06/02 12:24:29  №2369673 266
Насколько сильно изменился laravel с 2018 года? Суть в том, что я учу фронтенд фреймворк vue. А язык php знаю лишь чуть чуть, прошёл часть учебника по php до ООП из ОП-поста этого треда. И я хочу посмотреть на youtube примеры приложений на vue с бэкендом. Очень часто на youtube попадаются плейлисты, где делают приложение в связке laravel и vue. Дело в том, что эти плейлисты старые, годов 2018 - 2020.

Насколько сильно с 2018 года laravel изменился? Будут ли у меня в 2к22 году тонны ошибок из-за того, что я пытаюсь запустить старый код 2018 года?
Аноним 2022/06/02 13:00:06  №2369713 267
>>2369673
Посмотри какая версия laravel в курсе и устанавливай ту же
Аноним 2022/06/02 14:30:32  №2369804 268
Подскажите сайтов с макетами bootstrap. Интересуют отдельные части для копирования. Например, columns, rows и подобное, а не полный функционал
Ответы: >>2374424
Аноним 2022/06/02 16:24:39  №2369902 269
>>2369673
>Насколько сильно с 2018 года laravel изменился?
Ох, не о ларавеле тебе беспокоится надо...
Ответы: >>2369907
Аноним 2022/06/02 16:28:57  №2369907 270
>>2369902
Говори, что знаешь.
Ответы: >>2369915 >>2369933
Аноним 2022/06/02 16:33:26  №2369915 271
>>2369907
Главное - насколько ты сильно изменился с 2018 года.
Аноним 2022/06/02 16:40:59  №2369933 272
>>2369907
vue, который был в 2018 уже не котируется
Аноним 2022/06/02 16:55:10  №2369964 273
>>2369673
Ларка-то 5 от 9 не прям особо сильно отличается отличается, конечно, в дохуя местах, но основа та же самая по сути своей и синтаксис не менялся, а вот вуй...
Аноним 2022/06/02 17:56:18  №2370017 274
16516845965770.jpg (16, 184x184)
184x184
Аноны. Вопрос по ларе.
Создаю кастомное правило валидации что запись существует в бд можно было бы конечно дефолтный exists сделать но там бы спагетти получлось и прикол в том что первичный ключ это uuid. И если формат неверный, то мое правило все равно пытается отработать и закономерно 500 ошибка что uuid имеет неверный формат. Как правильно поправить?
Ответы: >>2370101
Аноним 2022/06/02 19:40:22  №2370101 275
Ответы: >>2370110
Аноним 2022/06/02 19:49:54  №2370110 276
>>2370101
Первое правило стоит на проверку uuid. Кастомное стоит вторым.
Ответы: >>2370114
Аноним 2022/06/02 19:54:52  №2370114 277
Ответы: >>2370166
Аноним 2022/06/02 20:51:34  №2370166 278
>>2370114
Не совсем подходит. Я короче заимплиментил какой то там интерфейс и у меня в правило валидатор записывается. И там я уже проверяю есть ли ошибка или нет.
В любом случае спасибо за отклики.
Аноним 2022/06/04 12:23:29  №2371457 279
Как можно обмазаться реактивностью и не обосраться с СЕО?
SSR не предлагать, слишком жирно получится для моего небольшого сайтика.
Ответы: >>2371760 >>2374420
Аноним 2022/06/04 18:37:43  №2371760 280
>>2371457
Рендери страницу синхронно вместе с загрузкой страницы
Ответы: >>2371764
Аноним 2022/06/04 18:39:39  №2371764 281
>>2371760
Тавтология получилась. В общем, тебе надо при загрузке страницы сразу запускать полный её рендер, без ожидания асинхронных запросов и подобного
Аноним 2022/06/04 21:34:51  №2371863 282
Сап, <router-link> во vue заворачивает всё в тег <a>, соответсвенно сбиваются стили. Как этого избежать? Может знает кто...
Ответы: >>2371877 >>2371877 >>2371987
Аноним 2022/06/04 22:35:43  №2371877 283
>>2371863
>>2371863
В смысле сбиваются? У чего? Роутер-линк это и есть тег а, в соответствии с ним и стилизуй.
Аноним 2022/06/05 09:06:11  №2371946 284
>>2362759
>Сроков как таковых нет
Сроки ставят либо на типовые задачи, либо отбитые долбоёбы с фриланс-бирж всем подряд. Если пишешь кастомный функционал, то никакие сроки тебе ставить не будут - как их считать то? Ну скажут тебе неделю на какую-то таску, а там неучтены костыли будут, и выйдет 2. И хули толку от этих сроков тогда? Пальцем в небо. Обычно смотрят чтобы ты коммиты делал, а не волынил по неделе.

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

>Наверное мерить работу в строках неправильно
В закрытых тасках меряют обычно. Таски закрываются значит всё правильно идёт. Остальное от лукавого.
Аноним 2022/06/05 10:05:10  №2371987 285
>>2371863
Нахуй ты ссылки пытаешься завернуть не в <a>? Совсем больной?
ответ на твой вопрос буквально на первой ссылке в гугле
Аноним 2022/06/07 08:57:27  №2373577 286
>>2373567
>подводные?
no hire с подтвержденным попытом 5 лет, работающими в проде приложухами. Даже не отказывают, а просто собесят и съябывают в закат.
Аноним 2022/06/07 09:02:57  №2373586 287
>>2373567
Подводные в том, что все эти знания нужно применять в проекте. Сами по себе они бессмысленны. На собеседовании вопросы задают так: "С вставить нужное работал? А с вставить нужное?"

И только самые отбросы (которые хотят ставку тебе понизить) будут гонять по вопросом пыхи, ларавел джс и т.д.

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

>>2373582
Украина не европа.
Ответы: >>2374303
Аноним 2022/06/07 09:10:53  №2373598 288
>>2373593
Ну слушай, так то и на senior вакансии требования на бумажке совсем не сложные. Такое же знание пхп, ларавел, вью, гит. Но вот опыт работы с этим, вот что важно. Я первую работу нашел спустя примерно 4 месяца, с учетом того, что меня устроил друг. Только через год работы я начал немного понимать, что к чему.
Знания из курсов и роадмапов вообще не пригодились по сути. Советую как можно скорее искать работу, там научишься.
Ответы: >>2373603 >>2374284
Аноним 2022/06/07 09:13:42  №2373603 289
>>2373598
Так тебя же не возьмут просто так если нихуя толком не знаешь.
Ответы: >>2373610
Аноним 2022/06/07 09:16:29  №2373610 290
>>2373603
Пройдя парочку курсов на ютубе и изучив основные термины ты тоже нихуя знать не будешь. Порочный круг.
Ответы: >>2373742
Аноним 2022/06/07 11:07:02  №2373742 291
>>2373610
Я и не спорю, сам что-то читаю-смотрю всякую фигню а практики нет толком, и воз и ныне там. Просто говорю, без знакомства вряд ли возьмут.
Ответы: >>2374284
Аноним 2022/06/07 19:39:25  №2374284 292
>>2373742

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

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

Если у тебя нет идей для своего проекта (что маловероятно), можно попросить помощи у анонов.

>>2373598

Senior по определению предполагает наличие опыта. Не имея опыта, ты никак не можешь стать Senior, только стажером или джуниором.

Аноним 2022/06/07 19:54:44  №2374303 293
>>2373586

Ты можешь применять знания в личных проектах. Вот, для примера, блог одного человека, который решил каждые пару месяцев делать по маленькому и в идеале прибыльному проекту (правда, у него уровень не джуниора и он делал проекты не для поиска работы, но блог сам по себе довольно вдохновляющий): https://tinyprojects.dev/

> будут гонять по вопросом пыхи, ларавел джс и т.д.

Это приходится делать, потому что в резюме все Львы Толстые, а по факту нет.

Ответы: >>2374385
Аноним 2022/06/07 20:45:27  №2374385 294
>>2374303
Личные проекты это не прод. Я хз какой у тебя уровень, раз ты можешь такое сравнивать.

>Это приходится делать
Ну делай, мне с такими не по пути
Ответы: >>2374489
Аноним 2022/06/07 21:04:01  №2374398 295
>>2373567

У меня ощущение, что помеченные синим блоки (nice-to-have) это тоже обязательно. Знать только красные блоки будет маловато. Как это так - знать SELECT, но не знать JOIN. Никуда не годится.

С другой стороны, знать Yii и Wordpress не требуется, если вы с ними не планируете работать.

Не хватает основ линукса и командной строки. Не хватает шаблонизаторов. Не хватает ORM и связанных с ними паттернов: ленивая загрузка, identity map, unit of work.

Насчет паттернов: много бесполезных паттернов вроде registry или service locator, абстрактная фабрика, и мало полезных вроде паттернов для ORM или паттернов для работы с БД (TableGateway, Data Mapper).

Насчет ООП. Тут, увы, материалов по ООП мало (вообще, во многих учебниках и туториалах с ООП беда). В Роадмапе я вижу ООП рассматривается всего лишь с двух сторон:

- синтаксис классов и объектов со ссылкой на документацию
- паттерны проектирования со ссылкой на сайты или книги

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

Мне это хорошо знакомо, так как я сам, когда начал свою карьеру не знал ООП, а знал только синтаксис. То есть, я знал, что такое класс и объект, как их описывать, создавать, как вызвать методы, но не понимал, зачем они нужны и, подозреваю, успел налепить много кода сомнительного качества. Например, я не понимал, зачем в нашем приложении использовались классы, если можно обойтись без них. Или, если уж мы решили использовать классы, то почему бы не сделать все на статических методах, чтобы не надо было создавать объекты.

Вот этой информации вы не найдете в документации по PHP. Она описывает только синтаксис. И не найдете в книгах по паттернам, так как они рассчитаны на тех, кто уже знает ООП. А если вы полезете в паттерны, не зная ООП, то толком ничего не поймете.

И мне кажется, по этой причине, то есть из-за непонимания, у людей "ООП" ассоциируется с чем-то излишне переусложненным. Хотя это очень полезная и важная идея, улучшающая качество кода.

По ООП роадмап дает ссылку на oodesign, а там по сути рекламируются две книги:

1) Head First OO Analysis & Design. Я пролистал книгу, и она не объясняет что такое ООП, а предполагает, что читатель это уже знает. Примеры кода на Java (она довольно похожа на PHP). В первой же главе есть сеттеры и геттеры, и никто не объясняет, чем они лучше, чем публичные свойства. Опять же, предполагается, что читатель знает про инкапсуляцию.

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

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

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


Ответы: >>2374409 >>2380167
Аноним 2022/06/07 21:11:43  №2374409 296
>>2374398
>Посередине между этими двумя направлениями не хватает важной вещи: самой концепции ООП, понимания, зачем оно нужно, какие плюсы дает, где и как его использовать (без паттернов) и где его использовать не надо, и как его использовать правильно.
>Вот этой информации вы не найдете в документации по PHP. Она описывает только синтаксис. И не найдете в книгах по паттернам, так как они рассчитаны на тех, кто уже знает ООП. А если вы полезете в паттерны, не зная ООП, то толком ничего не поймете.
Меткое наблюдение, и где вот этот промежуточный слой добывать, методом собственных проб и ошибок?
Ответы: >>2374489
Аноним 2022/06/07 21:21:28  №2374420 297
>>2362759

От 50 до 200-400 за 8 часов. 50, если ты значительную часть времени занимался проектированием или реверс-инжинирингом.

>>2371457

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

SPA это не только плюсы, но и минусы, и надо их взвешивать, прежде чем использовать.

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

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

То есть, у меня ощущение, что SSR мало когда нужен. Для классических сайтов с текстом и картинками мы рендерим все на сервере и отдаем HTML. А для приложений не нужна индексация интерактивной части приложения в поисковике, достаточно индексировать текстовые страницы и сгенерированный контент.

Или в том же интернет-магазине ты можешь сделать каталог и страницы товаров на серверных технологиях, а блок оформления заказа на интерактивных технологиях. И этот блок как раз индексировать не требуется. То есть, SSR тут тоже не нужен.

Если у тебя что-то промежуточное, например, аналог Инстаграма, то тут придется извернуться, чтобы картинки и индексировались гуглом, и просматривались через SPA. Инстаграм, как я понимаю, генерирует для Гугла отдельную страницу для каждого пользователя. То есть, он отдает Гуглу только контент (картинки), но не приложение с лентой, лайками, комментариями, подписками.
Ответы: >>2376102
Аноним 2022/06/07 21:30:15  №2374424 298
>>2369804

Документация по bootstrap чем плоха? Там как раз готовые примеры кода, которые можно копировать.

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

>>2369673

Без ООП и паттернов работы с БД за Ларавель браться нельзя. Это не фроеймворк для не знающих ООП или ORM.

>>2366756

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

Я думаю, что твой пример больше бы подошел для случая, когда один сайт дает другому разрешение что-то сделать. Иначе описанная тобой схема просто не имеет смысла.
Аноним 2022/06/07 21:38:13  №2374449 299
>>2366709

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

То есть, никто не начинает писать фронтенд на вью потому, что это модно. Обычно для этого есть какая-то важная причина.

Например, ты пишешь приложение для подбора цветовых схем и без использования вью получается куча лапши, которую ты хотел бы упростить за счет грамотного применения архитектуры MVC и data-binding. Даже в этом случае, возможно, что ты сделаешь не все приложение на SPA, а лишь интерактивный блок с редактором схем.

> Как мне сделать jwt авторизацию в данном случае?

При логине фронтенд отправляет на бекенд запрос на авторизацию. В запросе содержится логин и пароль. В ответе от сервера приходит JWT токен с содержимым вроде { "id": id пользователя, "issued": время выдачи }.

После этого фронтенд добавляет этот токен во все запросы, которые требуют авторизации.

Никакого рефреша не нужно. Если ты хочешь, чтобы пользователь никогда не перелогинивался, то разрешаешь использовать токен вечно. Если хочешь чтобы он логинился заново каждый месяц, то ставишь соответствующее ограничение и отказываешься принимать слишком старый токен.
Аноним 2022/06/07 21:40:39  №2374452 300
>>2366652

Набор гаечных ключей "учить" не надо. А набор сверл или фрез? А станок с ЧПУ? Или ты предлагаешь взять первую попавшуюся фрезу (не зная, для каких материалов она подходит) и нажимать случайные кнопки на станке?

Ты долго на работе не задержишься с таким подходом.
Аноним 2022/06/07 21:53:00  №2374470 301
>>2366172

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

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

>>2364965

А зачем в твоем примере rabbit? Его добавление выглядит как лишнее усложнение. Проще отправлять запросы напрямую.

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

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

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

Другой пример использования очередей - фоновая обработка задач. Пользователь загружает на сайт видео, и тебе надо его конвертировать, но это медленно. Ты добавляешь задачу на конвертацию в очередь, и фоновый скрипт рано или поздно дойдет до нее и выполнит. А если не выполнит, то задача останется в очереди. Опять же, вместо rabbit ты можешь использовать очередь на основе БД.

То есть, попробуй при проектировании подумать, зачем тебе нужна очередь и что она дает. Никто не проектирует архитектуру наугад, каждое решение на чем-то основывается, есть причина, почему делают так, а не иначе.
Аноним 2022/06/07 22:05:15  №2374480 302
>>2363431

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

Я ничего не понял. Если ты напишешь компонент на 1000 строк, используя useState, он вряд ли будет легче для понимания, чем ООП-компонент на 1000 строк. Решение тут состоит в том, чтобы не писать слишком большие компоненты, а не заменить ООП на его имитацию через костыли.

> Попробуй сделать компонент с 3 считчиками и 3 кнопками, которые увеличивают соответствующий ей счетчик и потом посмотри на количество бойлерплейта

В ООП мы можем вынести логику подсчета в класс Counter и создать три экземпляра класса:

class DemoComponent {
#counter1 = new Counter(this);
#counter2 = new Counter(this);
#counter3 = new Counter(this);

render() {
...
}
}

Не вижу, чтобы этот код был бы сложнее чем код с использованием useEffect/useState. По моему, он даже проще.

Про расширение компонента я не очень понял, где это надо и как тут хуки могут помочь.

> классы из-за своей специфики в JS работают медленно.

Это же просто неправда. Я буквально вчера читал вот это вот описание, как работа с объектами оптимизируется в вебките: https://webkit.org/blog/10308/speculation-in-javascriptcore/

Классы и объекты в JS очень хорошо оптимизируются, если ты не пытаешься на лету создавать или удалять свойства и методы, а определяешь их один раз заранее.

ООП наоборот логичнее, так как ты в нем создаешь все поля и методы один раз при создании объекта, а с хуками ты объявляешь поля заново при каждом вызове функции рендеринга. Это просто противоречит здравому смыслу.
Ответы: >>2374723
Аноним 2022/06/07 22:12:53  №2374485 303
>>2363414

>>Если вы хотите сделать переход между страницами сайта без перезагрузки, то вам не нужен SPA.
> Проиграл. Если вы хотите сделать Single Page Application вам не нужен SPA. Сам свои высеры читаешь?

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

Вконтакте, если мне не изменяет память, когда-то работал по такой схеме.

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

>>- очень медленная начальная загрузка, требующая передачи огромного объема данных
>Решается SSR
Мы придумали себе проблему и героически ее решаем.

>>разработчики не умеют правильно проектировать API, чтобы при переходах между страницами отправлялся бы единственный запрос, а не много
> Решается http/2
Это не поможет, если следующий запрос зависит от предыдущего.

> Не согласен. Ты в любом случае будешь писать клиентское приложение (html + js+css) и бэк (любой язык на твой выбор).

Да, только вывод данных на стороне сервера проще, так как нам не надо делать никаких аякс-запросов, нам не нужно никакое хранилище, не нужно поддерживать его в корректном состоянии ит.д. То есть, вывести профиль пользователя на сервере в разы проще, чем на клиенте.
Ответы: >>2374503 >>2386389
Аноним 2022/06/07 22:17:24  №2374489 304
>>2374385

Личные проекты вместе с изучением документации и туториалов дадут достаточный для джуниора уровень.

>>Это приходится делать
> Ну делай, мне с такими не по пути

Тебе не по пути с компаниями, которые хотят отбирать только компетентных специалистов и отказывают тем, у кого нет достаточных знаний? Которые нанимают только лучших из имеющихся на рынке? (задумчиво чешущий подбородок смайлик)

>>2374409

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

По многим темам нет хороших уроков, например по HTTP на русском я как-то искал информацию и ничего толком не нашел. По концепциям ORM тоже нету ничего.
Ответы: >>2374766
Аноним 2022/06/07 23:10:37  №2374503 305
>>2374485
А если тебе нужно вывести профиль пользователя, чат и проводки из бухучета, а на другой странице чат, баланс и интерактивные видоуроки по системе, а если нажимаешь на кружочек сверху, то чат уезжает в угол и счезает , а вместо чата открывается профиль пользователя, а если в проводках нажмешь на символ человечка, то открывается модальное окно с исхдящим звонком к коллеге, а если коллега начнет редактировать провоки у себя, то ты будешь видеть у себя изменения... абырвалг ... абырвалг ...
Аноним 2022/06/08 10:32:30  №2374723 306
>>2374480
>навигацию без перезагрузки без многомегабайтного SPA и API не реализовать?
SPA это и есть навигация без перезагркузки.
Аноним 2022/06/08 10:59:23  №2374766 307
>>2374489
Как связаны отбор компетентных специалистов и вопросы по пхп, ларе? Если человек имеет опыт, проекты, нахуя ему знать в чем там отличие =, == и === (как пример).

Я не беру в расчет такие компании как вк, яндекс и подобные. Где кандидатов куча и они отсеивают их алгоритмами, которые в работе не применяешь
Аноним 2022/06/08 19:05:13  №2375254 308
>>2374981
бери и пиши (при наличии знаний должно занять пару часов), что тебе ннада?
Аноним 2022/06/09 07:49:25  №2375529 309
Можно ли сделать свою имаджборду используя ларавел?
Ответы: >>2375532
Аноним 2022/06/09 07:55:43  №2375532 310
Ответы: >>2375533
Аноним 2022/06/09 07:56:13  №2375533 311
Аноним 2022/06/09 16:37:57  №2375913 312
>>2375820
Могу предположить несколько вариантов:
1. Попробуй использовать App без первого слэша.
2. Сначала require, потом всё остальное.
Аноним 2022/06/09 17:19:00  №2375926 313
>>2375820
путь то покажи слева. неправильный роут указал, нет там контроллера
Аноним 2022/06/09 17:55:05  №2375949 314
>>2375928
В чем там дело-то было? Я этих композиторов даже не касался пока, тут просто бы разобраться с базой.
Аноним 2022/06/09 18:12:11  №2375973 315
>>2350209
А зачем это вообще делать?
Аноним 2022/06/09 19:42:45  №2376017 316
>>2375928
Небось в композер.жсон забыл корень автолоада указать, да?
Аноним 2022/06/09 21:58:28  №2376102 317
>>2374420
Какие 400 строк в день? Иногда на фикс одного бага в две строки уходит 6 часов.
Ответы: >>2376103
Аноним 2022/06/09 22:01:35  №2376103 318
>>2376102
Я так понимаю самое сложное это доказать что ты не верблюд и пройти собес?
Аноним 2022/06/10 01:21:58  №2376127 319
>>2374981

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

Для более глубокого понимания разработки я бы советовал так же покрывать код тестами. Они тебе помогут убедиться, что код написан правильно и помогут обнаружить проблему, если ты вдруг при рефакторинге что-то сломаешь.
Ответы: >>2376222
Аноним 2022/06/10 06:54:12  №2376222 320
>>2376127
Вкатунам тесты кажутся чем-то нереально сложным, обычно. Вряд ли он это будет делать.
Хотя ничё вообще сложного в этом нет. Достаточно видосиков посмотреть немного.
Аноним 2022/06/10 09:54:48  №2376348 321
>>2376276
ну естественно то над чем ты сейчас работаешь ты будешь тестировать (дебажить) через дебаг или вручную. тесты не для этого - тесты для поддержания кода. чтобы последующие правки ничего не поломали. к тому же они документируют код, по тесту можно понять чего ждет (и не ждет) метод. плюс в системах со сложными связями это может помочь, т.к. иногда при правках одного места ломается другое, а заметить сразу не выходит. а тут поправили че надо, запустили юнит тесты и убедились в том, что вероятно все нормально
но то что нерабочий тест бесполезен это правда, и на поддержание тестов тоже нужны ресурсы и время, которое иногда выделить сложно..
Аноним 2022/06/10 12:09:11  №2376441 322
Что пишут на пхп серьезного?
Ответы: >>2376523
Аноним 2022/06/10 13:54:32  №2376523 323
>>2376441
На нем сегодня половина интернета. Достаточно серьезно?
Ответы: >>2376528
Аноним 2022/06/10 13:56:37  №2376528 324
>>2376523
Только половина интернета это говноблоги на вордпресе.
Ответы: >>2376547
Аноним 2022/06/10 14:16:55  №2376547 325
>>2376528
Так, ну и что для тебя тогда "серьезный проект"?
ВК достаточно серьезный?
Ответы: >>2376614
Аноним 2022/06/10 14:42:57  №2376568 326
image (3, 94x51)
51x94
Аноны, кто-нибудь работал с библиотекой TinyButStrong? Реально ли используя ее сделать скрипт, который будет объединять несколько docx файлов в один?
Аноним 2022/06/10 15:18:05  №2376614 327
Аноним 2022/06/10 17:08:11  №2376699 328
>>2376272

Насчет неймспейсов, можешь почитать урок https://github.com/codedokode/pasta/blob/master/php/autoload.md если остались какие-то непонятные моменты.

Насчет фреймворка, то вот на что стоит обратить внимание:

Ты в composer.json использовал и auto-load, и autoload и require. Чтобы не сомневаться, открой документацию по composer https://getcomposer.org/doc/04-schema.md и проверь, какие ключи там можно использовать в конфиге. Удали некорректные ключи.

> class Request{
> public function getPath(){
> $path = $_SERVER['REQUEST_URI'] ?? '/';

Это не очень правильно, точнее совсем не правильно. У тебя класс Request всегда берет данные из глобальных переменных. Это значит, что ты к примеру не можешь создать Request с какими-то вручную заданными данными. Более того, непонятно вообще в чем тогда смысл создавать объект Request, если можно было просто сделать функции вроде getPath(), которые делают то же самое.

Лучше будет, если в Request данные будут храниться в полях и будет можно создать его как с вручную заданными параметрами, так и на основе глобальных переменных. Ты можешь посмотреть на класс Request из Симфони: https://github.com/symfony/symfony/blob/6.2/src/Symfony/Component/HttpFoundation/Request.php#L290

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

> $path = substr($path, 0, $possition);
Для этого есть стандартная функция parse_url().

> if($callback === false){
> echo "404";
При ошибке 404 надо не выводить на экран число 404, а отдавать правильные заголовки с кодом 404. Но в любом случае, это не задача роутера что-то выводить. Логичнее было бы вызвать какой-то заранее определенный обработчик.

Вообще, роутер ничего не выводит. Он лишь определяет, какой обработчик надо вызвать. Если твой роутер не только разбирает URL, но и вызывает обработчик, то это правильнее называть Front Controller.

Насчет Yii, ты можешь изучить его для начала как относительно простой фреймворк, но если ты захочешь взять что-то посовременнее, то есть микрофреймворк Slim и Symfony.
Ответы: >>2376809
Аноним 2022/06/10 17:11:40  №2376701 329
>>2376276

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

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

Или ты захочешь обновиться с PHP7 на PHP8, опять же, надо все вручную перепроверять.

Или ты написал модуль, и хочешь, чтобы его кто-то другой не сломал. Опять же, тесты тут помогут.

Отсутствие тестов приводит к тому, что разработчики боятся делать какие-то большие изменения, а просто дописывают свой код, не заботясь об архитектуре.
Аноним 2022/06/10 19:15:02  №2376809 330
IMG20220610221403373.png (1542, 1019x1668)
1668x1019
>>2376699
хех, ты исправил папку где я уже не работал, я на время отложил разработку мвс фреймврка из за того что мало что пока знаю, уже сегодня-завтра перепишу по новой всё, что бы выглядело нормально


>Насчет неймспейсов
да с этим я уже разобрался не беда

>Также, советую ставить тайп-хинты у функций

да я хотел колегу спросить про это, просто не знал как они зовуться, теперь знаю, уже нашёл статью на хабре и буду изучать

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

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

да я уже заметил, я уже на 6 уроке, тобишь почти прошёл, буду ещё доку читать и разбираться более глубоко, в yii2 прям досконально хорошо реализована модель мвс


>то есть микрофреймворк Slim и Symfony

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


Я впринцыпе довольно сильно зайнтересован в изучений пыхи потмоу планирую много времени изучать

Не знаю как правельнее выразиться, но скажу как есть

дай свои контакты телеги/слаки/матрикс/что угодно, я буду переодичестки писать и спрашивать всякую интеерсную хуйню, я вижу ты кое что да знаешь. будет интересно попиздеть, если что заранее модешь написать мне в телегу @suityan
Аноним 2022/06/11 09:51:27  №2377124 331
Сап, хочу вернуть boolean значение из sql запроса для проверки существования email
function emailExists($email)
{
$conn = new mysqli('localhost', 'root', 'somePass', 'Students');
return $conn->query("Select case when exists(select * from students where email='$email')
then cast(1 as bit)
else cast(0 as bit) end ;");
}
Однако выдает ошибку синтаксиса sql near 'bit) else cast(0 as bit) end' at line 2.
В чем собственно ошибка и как ее можно исправить?
Ответы: >>2377135 >>2377241
Аноним 2022/06/11 10:12:55  №2377135 332
>>2377124
Почему бы просто не вернуть пхпшный булеан?
Ответы: >>2377138
Аноним 2022/06/11 10:19:53  №2377138 333
>>2377135
А как в таком случае определить зависимость от запроса в бд?
То есть мне нужно, чтобы функция возвращала true при наличии записи с указанной почтой, и соответственно false при ее отсутствии.
Ответы: >>2377387
Аноним 2022/06/11 11:42:04  №2377176 334
>>2377139
...WHERE `email`=:mail LIMIT 1
Вроде как-то так
Аноним 2022/06/11 13:36:41  №2377241 335
>>2377124
Сделал так в итоге, сяп за помощь)
$search=$conn->query("select * from students where email='$email';");
return$search->num_rows;
Ответы: >>2377376 >>2377390
Аноним 2022/06/11 16:53:46  №2377376 336
>>2377241
$email = "vasya@mail.ru'; DROP DATABASE;";
Ответы: >>2379463
Аноним 2022/06/11 16:59:55  №2377380 337
1622423576173.jpg (22, 346x387)
387x346
Аноним 2022/06/11 17:05:56  №2377387 338
>>2377138

Ты можешь просто посчитать, сколько записей в базе есть с такой почтой. Если 0, то email не занят. Если 1 или больше, то занят.

То есть не надо писать сложную логику в запросе, когда проще получить количество и проверить его средствами PHP.
Аноним 2022/06/11 17:06:54  №2377390 339
Аноним 2022/06/11 17:32:22  №2377408 340
Вот вы делаете сайты на работе, а потом заказчику надо что-то там добавить/исправить, как это реализуется?
Аноним 2022/06/11 22:39:52  №2377539 341
Ну вот вы выучили language_xи может даже какие-то фреймворки/либы, далее что?
Вы понимаете что сейчас рыночек схлопнулся, и если вы не мид+ от 3х лет, то конкуренция очень большая.
Требуются знающие кадры чтобы сходу делать упругие вещи, там задачи реально не тривиальны.
Аноним 2022/06/12 09:33:15  №2377691 342
>>2377539
я вообще программистомвебмакакой работать не собираюсь =)
Ответы: >>2377733
Аноним 2022/06/12 10:09:09  №2377725 343
>>2377539
ну все во вкусно и точку пойдем работать и жрать воду с хлебом, че доебался
Ответы: >>2377733
Аноним 2022/06/12 10:21:36  №2377733 344
>>2377691
с какой целью тогда изучаешь и тратишь время?

>>2377725
лучше контент менеджегером программировать всякое на аштимел всякое для адинце
Ответы: >>2377847
Аноним 2022/06/12 10:25:36  №2377736 345
Блять как резюме писать?
Аноны которые уже нашли работку, покидайте свои
Ответы: >>2377782
Аноним 2022/06/12 11:11:23  №2377782 346
>>2377736
https://spb.hh.ru/employer?hhtmFrom=main


с подобным уровнем самостоятельности тебе непросто будет не то что даже найти роботу, а элементарно жизненные вопросы какие-то решать
Ответы: >>2377998
Аноним 2022/06/12 12:29:58  №2377847 347
>>2377733
для кого-то это как в дотку пошпилить, написать пару строчек
а с утра на заводик пойти =)
Ответы: >>2377988
Аноним 2022/06/12 14:12:09  №2377988 348
>>2377847
но быть упругим специалистом получающим $3k+ намного кайфовее же.
Ответы: >>2378030
Аноним 2022/06/12 14:21:06  №2377998 349
>>2377782
Я написал резюме, лежит на hh и ждёт пока его прочтут, просто мне кажется что оно хуевое
Ответы: >>2378020
Аноним 2022/06/12 14:45:05  №2378020 350
>>2377998
лол, имитация деятельности. (типа оправдание для себя -- ну смарите, что-то же делаю)

реально оценивай себя >>2377539

этого мягко говоря не достаточно, но это твой выбор.


Аноним 2022/06/12 14:56:50  №2378030 351
>>2377988
ну бля не всем дано иметь зп чтобы покупать нефтяные вышки нахууу
Ответы: >>2378045 >>2378120 >>2378120
Аноним 2022/06/12 15:15:45  №2378045 352
>>2378030
а ваще мне настолько похуй стало на поиск стажировок на пыхомакакена, что я просто уже f# дрочить стал фор фан. именно фарш, который вообще не выстрелит
Ответы: >>2378108 >>2378120
Аноним 2022/06/12 16:15:55  №2378108 353
>>2378045
Чего не golang какой-нибудь?
Алсо что за "упругие" (вещи, специалисты и тд)?
Ответы: >>2378120 >>2378527
Аноним 2022/06/12 16:29:49  №2378120 354
>>2378030
это не что-то запредельное или недоступное, >>2378030
качественно работаешь, проявляешь трудолюбие в своем деле, после этого приятные цифры уже вопрос времени.

>>2378045
такое себе развлечение.

>>2378108
со временем поймешь.



Аноним 2022/06/13 06:35:10  №2378527 355
>>2378108
Потому что дотнет очень классный
Ответы: >>2378884
Аноним 2022/06/13 16:02:11  №2378884 356
>>2378527
дотнет говно для пидоров.
Аноним 2022/06/13 16:37:16  №2378923 357
Ответы: >>2378950 >>2379078
Аноним 2022/06/13 17:24:07  №2378950 358
>>2378923
Да мне похуй, я битрикс макака на 7.4 сидеть всю жизнь буду наху.
Ответы: >>2378987
Аноним 2022/06/13 18:28:00  №2378987 359
>>2378950
соболезную )))))))))))))))))))))))))))))))))))))))))))))))
Аноним 2022/06/13 19:23:30  №2379049 360
Чем лучше Джумла и Друпал Вордпресса??
Аноним 2022/06/13 19:54:39  №2379078 361
>>2378923
Как мне обновить openserver и чтобы все перенеслось кстати?
Ответы: >>2379080
Аноним 2022/06/13 19:55:55  №2379080 362
>>2379078
так это только альфа,причем фичи так себе
Ответы: >>2379081
Аноним 2022/06/13 19:57:18  №2379081 363
>>2379080
Да у меня вообще старая пыха там, 7я.
Аноним 2022/06/13 23:20:28  №2379152 364
>>2379141
здоровья котику :3(перевод получил?)
Аноним 2022/06/13 23:41:51  №2379158 365
>>2379141
Если ты не наживаешься на доверчивых людях, то сделай себе кредитку (в Тинькофф например тебе просто на следующий день после заполнения формы на сайте привезут домой и можно уже пользоваться) или подключи овердрафт на дебетовой карте и возьми эти жалкие 1300 рублей, за займ на 6 дней даже проценты платить не придётся, сколько взял столько вернёшь.
Аноним 2022/06/14 07:08:51  №2379300 366
>>2377539
Смотри офисные вакансии за прелелами ДСов - там конкуренции как не было так и нет.
Аноним 2022/06/14 10:45:05  №2379443 367
>>2347129 (OP)
Подскажите, пожалуйста, самую простую SQL инъекцию для тестирования поля
Ответы: >>2379463
Аноним 2022/06/14 11:07:15  №2379463 368
Ответы: >>2379474
Аноним 2022/06/14 11:22:51  №2379474 369
>>2379463
Чет не слишком ли радикально базу удалять? Хотя почти просто, согласен
Аноним 2022/06/14 14:29:35  №2379632 370
А почему
<? php
echo "hello!";
?>

не выводиться через xampp?
Ответы: >>2379637
Аноним 2022/06/14 14:31:23  №2379637 371
>>2379632
<? php
Тут не должно быть пробела
Ответы: >>2379638 >>2379645
Аноним 2022/06/14 14:33:40  №2379638 372
Аноним 2022/06/14 14:37:14  №2379645 373
>>2379637
а как сделать,чтобы две команды не печатали 2 слова в одну строку?
Ответы: >>2379653 >>2379654 >>2380710
Аноним 2022/06/14 14:45:51  №2379653 374
Ответы: >>2380417
Аноним 2022/06/14 14:46:58  №2379654 375
>>2379645
Если работаешь в консоли, а не в браузере, то
echo "hello!\n";
Аноним 2022/06/14 15:30:16  №2379672 376
Какой есть самый примитивный фреймворк на пхп?
Ответы: >>2379935 >>2379948
Аноним 2022/06/14 20:02:27  №2379918 377
Аноним 2022/06/14 20:49:20  №2379935 378
Аноним 2022/06/14 20:59:26  №2379948 379
>>2379672

Slim, это микрофрейморк. Но если ты собираешься изучать его код, то придется поднапрячься.
Аноним 2022/06/14 21:31:45  №2379959 380
Аноним 2022/06/14 21:37:20  №2379960 381
image.png (150, 973x990)
990x973
image.png (88, 612x412)
412x612
Я долбоёб или так и должно быть?
Ответы: >>2380708
Аноним 2022/06/15 06:16:50  №2380082 382
>>2366277
А что надо учить?
Документация у yii2 охуенная, курсов полно. Всяких библиотечек полно
Ответы: >>2380192 >>2380337
Аноним 2022/06/15 06:37:26  №2380098 383
Аноним 2022/06/15 08:00:15  №2380167 384
>>2374398
>ООП
На торрентах - Дмитрий Елисеев. Скорость x2
Аноним 2022/06/15 08:04:08  №2380170 385
>>2374981
На торрентах - дмитрий лаврик php и альберт степанцев profit
Там как раз mvc пилят с нуля по типу yii2. ORM которая возвращает объекты, view на основе буферизации с $this->render('main', ['model' => $model])
Аноним 2022/06/15 08:05:24  №2380172 386
>>2375820
На пике Visual studio? Если на пиратку поставить оно мне винду не заблокирует проверкой?
Ответы: >>2380178 >>2380709
Аноним 2022/06/15 08:14:24  №2380178 387
>>2380172
Это полу-опенсорсный VSvode, ничего не заблокирует
Аноним 2022/06/15 08:25:13  №2380192 388
>>2380082
На нем никто уже не пишет
Ответы: >>2380208
Аноним 2022/06/15 08:35:10  №2380208 389
>>2380192
>На нем никто уже не пишет
Пишут. Глупо отказываться от такого простового фреймворка у которого все есть без пердолинга.
Аноним 2022/06/15 11:10:59  №2380337 390
>>2380082
Ларавел или симфони
Ответы: >>2380470
Аноним 2022/06/15 12:20:43  №2380417 391
>>2379653
>Изучи html
Кстати есть какой-нибудь хороший сжатый справочник-памятка? Я как-то по верхам нахватался и часто путаю/забываю вещи. inb4 htmlbook
Ответы: >>2380468
Аноним 2022/06/15 13:33:57  №2380468 392
>>2380417
Там нечего запоминать.
Ответы: >>2380477
Аноним 2022/06/15 13:36:58  №2380470 393
>>2380337
Вообще без разницы, это просто инструмент, который будешь использовать. Важно понимание как оно работает просто. А по фреймворку базовые вещи за вечер освоить можно.

Если фанбой какой-то то можно так достаточно долго в скорлупе просидеть, но это ваше дело
Аноним 2022/06/15 13:40:37  №2380477 394
Аноним 2022/06/15 19:01:33  №2380701 395
>>2380695
>vs code
Целый день пытался включить там дебаггер для пыхи, в конце концов настроил, но как им пользоваться так и не научился.
Аноним 2022/06/15 19:20:17  №2380708 396
>>2379960

В этой задаче в учебнике под спойлером есть правильная цифра - 61270 р.

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

Попробуй поменять сумму кредита на 4 000 и проверить расчеты вручную. Должно получиться 6123 р.
Аноним 2022/06/15 19:23:56  №2380709 397
>>2380172

VS Code бесплатный, но с телеметрией. Заметь, что есть еще VSCodium, в котором вырезана телеметрия, но какие-то расширения могут отсутствовать.

Если ты хочешь писать PHP код в нем, то стоит поставить дополнительные расширения для автодополнения и проверок кода.
Аноним 2022/06/15 19:41:23  №2380710 398
Аноним 2022/06/15 20:00:32  №2380719 399
>>2380706
Я видел эти гайды, во-первых, у меня open server, а во-вторых, все равно не работало по ним пока я не добавил php.debug.executablePath в settings.json
Аноним 2022/06/16 10:57:04  №2381073 400
Сап, слоны. Вкатываюсь в Laminas (a.k.a. Zend framework). Использую phpstorm и nginx. Не понимаю, как их подружить. Вот у меня есть nginx с конфигом, который хуй пойми, работает ли. Есть в phpstorm скелет приложения, который я могу запустить на встроенном веб-сервере пыхи через терминал. А как сделать так, чтобы nginx взял весь этот код и начал юзать? Нужен просто правильный конфиг, и сервер автоматически будет подключать интерпретатор на запросах, а phpstorm - это чисто редактор текста? Или я всё равно должен как-то запускать сервер в phpstorm?
Ответы: >>2381695
Аноним 2022/06/16 11:03:09  №2381082 401
>>2381078
Он у меня есть. Я так понял, они чисто в конфиге дружатся?
Аноним 2022/06/16 15:03:57  №2381271 402
Объясните пожалуйста, зачем нужна буферизация? Не проще сначала написать header/setcookie, потом уже все остальное?
Ответы: >>2381652
Аноним 2022/06/16 15:27:15  №2381289 403
>>2381287
Короче это нужно практике, если приспичит хедер где-то в середине файла вывести?
Аноним 2022/06/17 01:31:08  №2381555 404
Аноним 2022/06/17 03:55:29  №2381586 405
Установил Open server,создал файл с хеллоу ворлдом,запускаю,вместо сообщения какой то Index of,name,last modified,size,description.Что не так?
Ответы: >>2381594 >>2381635
Аноним 2022/06/17 04:58:50  №2381594 406
>>2381586
В конфиге пропиши, что индексный файл может иметь форматы html, php.
Ответы: >>2381635
Аноним 2022/06/17 06:33:42  №2381635 407
>>2381586
>>2381594
Странно, у меня все из коробки работало, правда у меня далеко не самая последняя версия. Они там что-то подкрутили в конфиге?
Аноним 2022/06/17 06:48:57  №2381652 408
>>2381271

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

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

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

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

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

Анон >>2381287 упомянул, что буферизация может ускорить отдачу контента. Такое возможно, но маловероятно. Такое бывает, если ты не используешь буферизацию и твой сервер отдает контент очень медленному клиенту, до которого долго идут данные. То есть, ты в PHP делаешь

echo "<html>";

И PHP стоит и ждет, пока клиент примет и подтвердит получение данных. Но сейчас обычно PHP отдает контент не клиенту напрямую, а в nginx, а nginx принимает данные быстро и охотно, потому такая ситуация маловероятна (и кстати по этой причине nginx способен улучшить производительность сервера).

Что касается кук и заголовков, то обычно во фреймворках их напрямую никто не ставит, а используют объект Response, потому проблемы с их отправкой нету. Буферизация для этого не нужна.
Аноним 2022/06/17 07:51:08  №2381695 409
>>2381073
> Laminas (a.k.a. Zend framework)
Где это используют?
Аноним 2022/06/18 08:43:05  №2382608 410
Не понял как найти эту тему в мануале (это наверное не по пхп вопрос вообще), я хотел узнать поподробнее про строку пути, вот например <a href='index.php'>Ссылка</a>(в данном случае вызывается файл из самого корня), когда в папке домена много подпапок и там тоже есть такой же файл index.php.
Мне надо было сделать <a href='../index.php'>Ссылка</a> чтобы вернуться к корректному файлу скрипта в одной из подпапок, так вот не хотелось бы экспериментировать, а знать правила построения пути к файлам.
Ответы: >>2383283
Аноним 2022/06/18 09:03:21  №2382618 411
>>2382610
https://puzzleweb.ru/en/html/8_links2.php
Все, нашел. Теперь только небольшой вопрос чем отличается просто 'index.php' от './index.php', по идее оба одинаково вызовут из текущей директории файл.
Аноним 2022/06/18 10:00:04  №2382667 412
Сап, пыхари. Собираюсь в php вкатываться, живу в России. Есть три вопроса:

1. Сильно ли порушился внутренний рынок вакансий внутри страны после 24-го? Уменьшились ли зарплаты? Если да, то насколько в среднем?

2. Насколько я понял, php не востребован в Европе/США, но при этом востребован в России и странах СНГ. Действительно ли расклад такой, или я ошибся в своих наблюдениях?

3. Реально ли выйти на вакансию джуниора? Слышал краем уха, что php-джуниоры не нужны, и работодатели в РФ ищут как минимум миддлов.
И я-то в принципе мог бы поработать годик на фрилансе, и соврать, что у меня был коммерческий опыт.
Если бы не одно но: крупные фриланс-биржи уходят из России, а финансовой подушки хватит мне месяцев на 10, не больше.
Если буду пахать часов 9-10 в день без выходных, то смогу ли выйти на позицию джуниора через 10 месяцев, или лучше вкатываться в какой-нибудь другой язык?

Заранее спасибо за ответы и информацию.
Аноним 2022/06/18 10:21:07  №2382687 413
Программировать прикольно,но нет идей для чего и что создавать.
мимо просто любитель
Ответы: >>2383287 >>2383288
Аноним 2022/06/19 03:18:25  №2383283 414
>>2382608

По твоей ссылке приведены не все возможные формы относительных URL. Общее правило такое, что мы можем откинуть один или несколько компонентов URL слева и получится относительный URL, например:

http://example.com/page.html?a=1#target - это полный URL
//example.com/page.html?a=1#target - без схемы
/page.html?a=1#target - без authority (хост, порт и авторизация)
?a=1#target
#target - тут остался только последний кусочек от URL

Это расписано тут: https://github.com/codedokode/pasta/blob/master/network/urls.md
Аноним 2022/06/19 03:31:26  №2383287 415
>>2382687

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

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

Например, напечатав prifqi я получаю

private function |(): ?int {

}

pri значит private, f - function, q = ?, i = int

Кстати, самые часто употребляемые слова это $this-> и return. Я сделал для них сниппеты с буквами t и r. Ну и дополнительные сочетания вроде rn для return null.

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

Я даже поймал себя на мысли, что может быть имеет смысл это как-то автоматизировать, чтобы IDE анализировала проект и автоматически выдавала самые вероятные подсказки (используя теорию вероятности) вместо редко используемых функций или классов.
Аноним 2022/06/19 03:33:18  №2383288 416
>>2382687

Ну и может тебе будет интересно почитать блог, человек создает всякие простые проекты и даже с некоторых пытается заработать какую-то копеечку: https://tinyprojects.dev/projects

Аноним 2022/06/19 09:02:02  №2383425 417
>>2382667
> Насколько я понял, php не востребован в Европе/США, но при этом востребован в России и странах СНГ. Действительно ли расклад такой, или я ошибся в своих наблюдениях?

Не ошибся.
Если хочешь перекот в Европу, то паралельно изучай Golang.
Аноним 2022/06/19 11:26:04  №2383566 418
>>2347129 (OP)
Сап, php'ач!

Аноны, как настроение? Можно, я для поддержания общения буду иногда задавать тупые вопросы, на которые мог бы найти ответы в гугле или в документации, сюда? Здесь ведь все мои друзья, и мне интересно мнение анонов!

Заранее благодарен.

Чем отличается echo от print_r? Что лучше использовать?

Мимо вкатун, хех. Желаю всем отличного дня, а себе - удачи.
Ответы: >>2383646 >>2383832
Аноним 2022/06/19 12:30:07  №2383646 419
>>2383566
П.С. И почему если из 100 извлечь квадратный корень, записать в переменную, то var_dump выводит - float? А если же озвести в квадрат, то var_dump выводит - int? Вроде ведь и 10 и 10000 - целые числа? Или это - вопрос высшей математики уже?
Ответы: >>2383650 >>2383653 >>2383830
Аноним 2022/06/19 12:32:05  №2383650 420
>>2383646
П.С. Или так происходит потому, что в данном случае 10 - это результат как бы деления, поэтому результат в итоге считается дробным?
Аноним 2022/06/19 12:35:14  №2383653 421
Ответы: >>2383673
Аноним 2022/06/19 12:39:39  №2383658 422
>>2382667
> Слышал краем уха, что php-джуниоры не нужны, и работодатели в РФ ищут как минимум миддлов.
Правда. Но если IRL вакансию и можно найти(в крупных городах, естественно), то на удалёнке скорее всего лососнёшь тунца. Никому не нужен джуниор на удалёнку. Даже хороший и толковый.
Ответы: >>2383662
Аноним 2022/06/19 12:41:23  №2383662 423
>>2382667
> Если буду пахать часов 9-10 в день без выходных, то смогу ли выйти на позицию джуниора через 10 месяцев, или лучше вкатываться в какой-нибудь другой язык?
И да, не сможешь.

>>2383658-кун.
Аноним 2022/06/19 12:51:50  №2383673 424
>>2383653
Я это написал же.
Вопрос в другом - Почему это значение именно float, а не int? Получается, потому что квадратный корень можно извлекать и из дробных чисел, поэтому для удобства приняли, что даже если результат от извлечения корня будет целым, то просто везде будем писать float, чтобы не делать лишних движений?

Но дробное число при возведении в квадрат тоже может быть дробным, а целое - будет целым, но после возведения 100 в квадрат возвращается int.
Аноним 2022/06/19 17:04:35  №2383830 425
>>2383646

Это хороший и довольно интересный вопрос.

Возможно, ты подумал, что целые числа всегда имеют тип int. Это не так.

Тип int позволяет представлять целые числа от примерно -9×10¹⁸ до 9×10¹⁸ (в 64-битной версии PHP, в 32-битной предел около 2 миллиардов). Числа этого типа представлены точно, то есть каждая цифра в таком числе правильная. Мануал: https://www.php.net/manual/ru/language.types.integer.php

Тип float позволяет хранить и дробные, и целые числа примерно от -10³⁰⁸ до 10³⁰⁸ (в 64-битной версии). Этот тип неточный и сохраняет только первые 14-16 цифр числа, а остальные цифры теряются (но их количество не теряется). Хуже того, многие дробные числа вроде 0.1 нельзя точно представить в формате float. Также этот тип интересен тем, что в нем есть отрицательный ноль -0, минус и плюс бесконечность и NaN, "не число". NaN можно получить, если вычислить sqrt(-4). Мануал: https://www.php.net/manual/ru/language.types.float.php

Как видишь, целое число может быть и типа int, и типа float. Обычно целые числа представлены типом int, но они могут превратиться в float если выйдут за допустимые пределы или если станут дробными. Например, если ты поделишь int(5) на int(2), то получишь float(2.5).

Функция вычисления корня возвращает тип float. Так сделано, потому что корни чаще получаются дробными, чем целыми и функция, которая всегда возвращает int, была бы бесполезна.

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

Перечитай написанное выше: float это приближенный тип. Если после извлечения корня из 10 000 ты получил float(100), то ты не можешь быть уверен: это точно 100 или это на самом деле 100,000 000 000 000 000 1 и последняя цифра просто не сохранилась. Так как мы не можем гарантировать, что там ровно 100, мы не хотим преобразовать число в int. Обычно, если число превратилось во float, в int оно само уже не вернется.

Конечно, эту проблему можно решить: можно преобразовать результат в int, возвести в квадрат и сравнить с исходным числом. Если они совпадут, значит, результат действительно целый. Но это надо заморачиваться и писать дополнительный код, и наверно просто никому это не нужно (но ты можешь написать свою функцию, которая будет это делать, если есть желание).


Ответы: >>2394964
Аноним 2022/06/19 17:07:13  №2383832 426
>>2383566

echo может выводить только строки и числа. print_r и var_dump выводят данные любых типов, например, массивы. print_r и var_dump предназначены больше для отладки, чем для использования в реальном коде. Выбирай, что использовать, в зависимости от ситуации.
Ответы: >>2394968
Аноним 2022/06/19 20:33:57  №2383971 427
>>2347129 (OP)
Заливаю проект на прод сервер. Проект laravel + vue. Сервер работает, но фронт выдает ошибку 404 (redirected you too many times.).
Нода установлена. В чем проебался? На локальном работает все заебок. Видимо, вью установлен как-то неправильно. Может, делал кто-нибудь подобное?
Ответы: >>2384053
Аноним 2022/06/19 22:40:25  №2384053 428
Ответы: >>2384124
Аноним 2022/06/20 04:18:31  №2384124 429
Аноним 2022/06/20 13:19:47  №2384455 430
>>2382667
>1. Сильно ли порушился внутренний рынок вакансий внутри страны после 24-го? Уменьшились ли зарплаты? Если да, то насколько в среднем?
Сильно - вакансий в разы меньше стало.

>2. Насколько я понял, php не востребован в Европе/США, но при этом востребован в России и странах СНГ. Действительно ли расклад такой, или я ошибся в своих наблюдениях?
В РФ тоже почти не востребован - все на ноде делают. Или питоне.

>3. Реально ли выйти на вакансию джуниора? Слышал краем уха, что php-джуниоры не нужны, и работодатели в РФ ищут как минимум миддлов.
Да. На позицию джунов ищут миддлов, на позицию миддлов - синьёров. Без опыта делать там нечего, тем более сегодня.

>Если буду пахать часов 9-10 в день без выходных, то смогу ли выйти на позицию джуниора через 10 месяцев, или лучше вкатываться в какой-нибудь другой язык?
Лучше в питон тогда - там легче учиться. Или в жс.
Ответы: >>2384748 >>2384864
Аноним 2022/06/20 16:15:49  №2384677 431
Что вообще спрашивают на собеседованиях? Лучше честно отвечать "не знаю" или булшитить что-нибудь?
Ответы: >>2384752
Аноним 2022/06/20 17:54:02  №2384748 432
>>2384455

> В РФ тоже почти не востребован - все на ноде делают.

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

Ну и твое утверждение не проходит проверку на hh:

разработчик php, вся Россия - 3432 вакансии
разработчик node, вся Россия - 1311 вакансий
разработчик python, вся Россия - 4315 вакансий

Ты бы потратил минуту, прежде чем выдавать свои фантазии за реальность.

Что касается Питона, он мне нравится и я его использую (numpy, sympy, sqlalchemy, плюс в нем есть библиотеки для нейросетей), он дает высокую скорость написания кода, но в нем нет проверки типов в рантайме, mypy выдает очень много левых предупреждений, и его производительность, как я понимаю, ниже, чем у PHP, так как в Питоне больше ценят простоту кода, чем оптимизацию.
Аноним 2022/06/20 17:55:36  №2384752 433
>>2384677

Погугли вопросы к собеседованию. Новичков без опыта спрашивают по теории, то есть, то, что описано в официальном мануале PHP, ООП, реляционные СУБД, джойны, транзакции, блокировки, внешние ключи. Какие фреймворки/библиотеки знаешь.
Аноним 2022/06/20 18:25:27  №2384778 434
>>2384748
Да не пишут бек на ноде без тайпскрипта уже. Инкрементальную компиляцию почти не замечаешь. Типизация в общем лучше чем в пхп 8, но в пыхе добавляют фичи в язык"шоб было как у шарпе с жавой", а в js мало кардинальных улучшений.
Аноним 2022/06/20 18:29:59  №2384783 435
>>2347129 (OP)
Есть спецы по вордпрессу? Есть один сайт. Залез в базу, а там в поле post_content таблицы wp_posts текст поста хранится с html тегами. Это нормально? Пробовал гуглить, но ничего не нашел.
Ответы: >>2384797
Аноним 2022/06/20 18:45:09  №2384793 436
>>2384748
Сейчас вроде Go становится популярным.
Аноним 2022/06/20 18:45:51  №2384794 437
>>2384748
>разработчик php, вся Россия - 3432 вакансии
80% - параша уровня завода по заёбистости и зарплате. Что смыс циферками мерятся если на пыхе 90% это сайтики на вп и битриксе, а у остальных нормальная разработка?
Аноним 2022/06/20 18:48:11  №2384797 438
>>2384783
Для ВП это норма. С другой стороны как ты пост с разметкой сохранишь? Правда в норме это не норма нихуя и БД там полный ад.
Аноним 2022/06/20 19:17:54  №2384825 439
>>2384748
вакансии по питону по разным областям, не только по вебу. Плюс преподавателей курсов ищут )
Аноним 2022/06/20 19:28:23  №2384832 440
>>2384748
963 вакансии по запросу «django or flask not преподаватель»
Ответы: >>2384849
Аноним 2022/06/20 20:02:37  №2384849 441
>>2384832
сори неправильно посчитал. По России 826 получается.
Аноним 2022/06/20 20:41:21  №2384864 442
>>2384455
>Лучше в питон тогда - там легче учиться. Или в жс.
Мда блат. Если ищешь полегче - курьером.

Нужно учить то что востребовано и на что есть спрос там где живешь/собираешься работать.

По пайтону при поиске будешь конкурировать со студентами/выпускниками которых плотно штрунделировали по алгоритмам на этом самом пайтоне не один год.





Ответы: >>2384873
Аноним 2022/06/20 21:05:15  №2384873 443
>>2384864
> Нужно учить то что востребовано и на что есть спрос там где живешь/собираешься работать.
И что же востребовано в России? PHP? Кулстори, Боб. Кулстори. Расскажи ещё.
Ответы: >>2384879 >>2384881
Аноним 2022/06/20 21:57:02  №2384879 444
>>2384873
Дык, открой вакансии и посмотри... Symfony/Laravel, как везде. Плюс вордпресс для школоты.
Аноним 2022/06/20 22:17:12  №2384881 445
>>2384873
Бозе, ну вороти нос, ага))

На пьиЭйчьПьи работает ~80% всех сайтов. Это нужно дорабатывать и обслуживать. На рыночке в целом спрос есть.

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




Аноним 2022/06/20 22:36:16  №2384887 446
Через heredoc php функции вызываются вообще? Например date() чтобы вывести у timestamp'а из бд.
Ответы: >>2384889
Аноним 2022/06/20 22:45:16  №2384889 447
>>2384887
конечно,
просто напиши cli-утилиту/скрипт на php,
можно даже с параметрами,
и вызывай с помощью интерпретатора, а-ля /bin/php
Ответы: >>2384891
Аноним 2022/06/20 22:47:56  №2384891 448
>>2384889
Не, я просто думал он типа echo работает, в крайнем случае фигурными скобками выделить как значения.
Ответы: >>2384893
Аноним 2022/06/20 22:51:09  №2384893 449
Ответы: >>2384894
Аноним 2022/06/20 22:54:54  №2384894 450
>>2384893
Ну вот я выбираю записи из бд, мне их надо на страницу все отобразить, а там у каждой записи timestamp вместо времени человеческого, как поступить лучше?
Ответы: >>2384896
Аноним 2022/06/20 22:57:32  №2384896 451
Ответы: >>2384898
Аноним 2022/06/20 23:01:58  №2384898 452
>>2384896
Не знал про такое, спасибо. Читаю эти книги по пхп и как рыба об лед бьюсь, в жизни все равно вещи по-другому делают. Хз как устраиваться куда-то вообще.
Ответы: >>2384899
Аноним 2022/06/20 23:03:44  №2384899 453
>>2384898
если освоишь ООП, MVC и Solid -- иди пили Symfony/Laravel, за них платят по-человечески
Ответы: >>2384900
Аноним 2022/06/20 23:05:04  №2384900 454
>>2384899
Да я уже про деньги не думаю, мне бы хоть за еду, лол.
Ответы: >>2384905
Аноним 2022/06/20 23:14:47  №2384905 455
>>2384900
А что ты уже умеешь, и где обитаешь?
Аноним 2022/06/21 00:54:25  №2384944 456
Аноним 2022/06/21 01:50:58  №2384945 457
Пытаюсь создать проект Laravel , ввожу команду php composer.phar create-project --prefer-dist laravel/laravel mysite , получаю сообщение To enable extensions, verify that they are enabled in your .ini files:
- C:\php\php.ini
Что это означает и что делать?

Ответы: >>2384978
Аноним 2022/06/21 04:33:07  №2384978 458
>>2384945

У тебя не установлены (или установлены, но не включены в php.ini) какие-то расширения PHP, которые требуются для Laravel. Какие именно, должно быть написано в сообщении об ошибке.
Ответы: >>2385258
Аноним 2022/06/21 05:07:09  №2385001 459
image.png (98, 947x613)
613x947
Как в шаге установки модуля получить введенные данные в инпут?

Почему через GET/POST не получается вытащить данные с инпута? Битрикс их куда-то в другое место сохраняет или как?

Я пробовал и вручную указывать метод и пост и гет, но толку ноль.
Ответы: >>2385025 >>2385026
Аноним 2022/06/21 06:28:00  №2385025 460
>>2385001
Всё пацаны, разобрался. Сейчас у меня что-то данные с чекбокса не хотят устанавливаться. Думаю туплю где-то как обычно.
Аноним 2022/06/21 06:28:46  №2385026 461
>>2385001
Через контекст, а с него через $request оказывается надо всё брать.
Ответы: >>2385081
Аноним 2022/06/21 08:08:52  №2385081 462
Ответы: >>2385104
Аноним 2022/06/21 08:33:06  №2385104 463
Ответы: >>2385117
Аноним 2022/06/21 08:40:01  №2385117 464
>>2385104
А, это эксклюзивно к битриксу относится, я так и думал. Кстати как ты его начал изучать? У меня в регионе вроде пользуется спросом, в вакансиях зачастую идет вместе с пхп.
Ответы: >>2385745
Аноним 2022/06/21 11:13:59  №2385258 465
Аноним 2022/06/21 11:26:02  №2385269 466
const от define() отличается ведь, да? Там в комментах мануала пишут что-то про время доступа или что-то в этом роде.
Ответы: >>2385751
Аноним 2022/06/21 17:17:46  №2385716 467
Можно ли базовыми средствами зашифровать(или как там) передачу данных с формы на сервер?
Ответы: >>2386064
Аноним 2022/06/21 17:38:15  №2385745 468
>>2385117
Начинал в 2019 в июне вкатываться. Начал с фронта как и большинство вкатунов. Потом забросил, даже не осилив жс. Потом через 3 месяца снова начал пытаться, у меня случилось горе, и я снова сдался. Потом через полгода начал изучать C# по метаниту, прошел где-то до делегатов, охуел от сложности всего и снова сдался.
Потом я наконец пришел в пхп, его уже довольно основательно изучил по разным ресурсам, уже и задачи на кодварсе решал, правда несложные, максимум 5кую. Параллельно немного изучил sql и фронт. Ну и тоже периодически бросал, возвращался и так вот до начала этого года. С начала года начал пытаться в Битрикс, т.к. подумал, что это изи вкат во ВСЕХ планах. Но оказалось изи вкат только в плане количества вакансий и меньшей конкуренции.

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

Щяс вот на обучении был в компании одной с середины мая, все задания сдавал вовремя, жду результатов. Могу и на стажировку попасть. Хотя все мне на дваче говорили, что это плохая компания, раз она набирает на стажировку не сразу, а после какого-то обучения. Типа это неправильно. Как по мне, а как еще отсечь полных аутов и незаинтересованных людей? Если только набирать сразу джунов, но они почему-то не делают этого. Нас из 50 человек вкатунов осталось меньше 10-ти. Обучение ес что бесплатное было.

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

Ответы: >>2385753 >>2385764
Аноним 2022/06/21 17:41:04  №2385751 469
Ответы: >>2385771 >>2386063
Аноним 2022/06/21 17:41:52  №2385753 470
>>2385745
>Щяс позволю себе посмотреть аниме перед сном.
ненадо, а то опять случится горе и ты сдашься
Аноним 2022/06/21 17:57:16  №2385764 471
>>2385745
Я вообще конкретно про битрикс интересовался, может хорошие курсы или книги, но твоя история тоже интересна. У меня тоже уже несколько раз руки опускались и сам я очень медленно все делаю в плане обучения. Там наверное надо бац-бац кабанчикам быстро все.
Ответы: >>2385782
Аноним 2022/06/21 18:05:57  №2385771 472
>>2385751
О, спасибо. Все подробно и понятно.
Аноним 2022/06/21 18:12:42  №2385782 473
>>2385764
Ну хорошие курсы только от самого битрикса, еще можно посмотреть Михаила Базарова. Остальное только по крупицам собирается с опытом и гуглением.
Аноним 2022/06/21 18:24:59  №2385797 474
Почему полям класса все равно надо писать модификатор public (иначе не пропускает интерпретатор), вроде там public по-дефолту должен быть?
Ответы: >>2385872 >>2386067 >>2386149
Аноним 2022/06/21 20:40:33  №2385872 475
Ответы: >>2385879
Аноним 2022/06/21 20:52:21  №2385879 476
>>2385872
Ну вот написано же
>Свойства класса могут быть определены как public, private или protected. Свойства, объявленные без явного ключевого слова области видимости, определяются как общедоступные (public)
Я делаю вывод что можно объявлять без указания области видимости и будет назначено public. Так вот я не могу просто написать свойство класса $x без всего, пишет ошибку.
Ответы: >>2385959 >>2386149
Аноним 2022/06/22 04:47:50  №2385959 477
>>2385879
>можно объявлять без указания области видимости и будет назначено public
Схуяли? И зачем вкатышу вообще об этом думать?
Аноним 2022/06/22 08:18:19  №2386063 478
>>2385751

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

Это неправильный вывод. Объявлять лучше с помощью const, так как это более чистый синтаксис и он (наверно) лучше понятен статическим анализаторам кода. define можно использовать только если const не работает.
Аноним 2022/06/22 08:18:52  №2386064 479
>>2385716

Если использовать протокол HTTPS, то все передаваемые и получаемые данные шифруются.
Аноним 2022/06/22 08:21:37  №2386067 480
>>2385797

Да, такая рекомендация есть в стандартах. Я думаю, это ради читаемости, чтобы было видно, что поле публичное, а не то, что ты пока не решил, каким его сделать.
Ответы: >>2386118
Аноним 2022/06/22 09:11:45  №2386118 481
>>2386067
Просто мне показалось странным, что методы пропускает без указания, а свойства нет. Там похоже ноги растут из старых версий пыхи где надо было var писать.
Ответы: >>2386149
Аноним 2022/06/22 09:36:12  №2386149 482
image.png (53, 945x532)
532x945
Аноним 2022/06/22 09:47:19  №2386160 483
image.png (15, 588x285)
285x588
ну что за хуйня? уже весь интернет перелопатил. Заливаю проект на сервер, а он выдает 404. Хотя на локальном все отлично работает. в чем ошибка то блять?
Ответы: >>2387636
Аноним 2022/06/22 10:49:17  №2386222 484
Правь .htaccess
У тебя скорее всего рут сайта на папку public поставлен.
Ответы: >>2388622
Аноним 2022/06/22 12:10:27  №2386300 485
>>2386273
Так полно вакансий где нужен опытный разраб пхп, чтоб переписывать код на го.
Ответы: >>2386309
Аноним 2022/06/22 12:14:55  №2386309 486
>>2386300
Что там, по скорости такой прирост?
Ответы: >>2386323
Аноним 2022/06/22 12:23:15  №2386323 487
Аноним 2022/06/22 12:58:09  №2386372 488
Привет всем. Как себя чувствует пхп в плане вакансий в настоящее время? Стоит вкатываться? Развивается ли пхп или загнивает?
Ответы: >>2386383 >>2386449 >>2386753
Аноним 2022/06/22 13:06:11  №2386383 489
Аноним 2022/06/22 13:10:32  №2386389 490
>>2374485
>достаточно добавить известную библиотеку на десяток килобайт, которая перехватывает клики по ссылкам и грузит страницы аяксом. Мы получаем переходы без перезагрузки, отличную поисковую оптимизацию, не написав ни строчки клиентского кода.

что за библиотека?
Ответы: >>2387636
Аноним 2022/06/22 13:12:48  №2386394 491
>>2375820
что за цветовая схема?
Аноним 2022/06/22 14:28:29  №2386449 492
>>2386372
как обычно, вакансий полно -- открой сам и посмотри
Аноним 2022/06/22 20:55:09  №2386753 493
image.png (1338, 1376x764)
764x1376
>>2386372
Сижу обновляю приложение на РНР, которое я написал на заказ в одно лицо на
plain PHP + MariaDB + Bootstrap +JS/jQuery + SCSS + Gulp + RabbitMQ + Java.

Бизнес, основанный на этом приложении, принёс владельцам около 1 млрд рублей за 5 лет. Я получил за это время свои скромные 2-3 М, параллельно работая над другими подобными проектами.

Работать буду до утра, и могу ответить на вопросы по программированию и фрилансу.
хуи не сосу, бочку не делаю
Ответы: >>2386811
Аноним 2022/06/22 22:23:15  №2386780 494
>>2386778
В вопросе тебе стоило бы указать версию РНР и тип БД.
Попробуй так:

$statement->execute();
$statement->setFetchMode(PDO::FETCH_ASSOC);
while($row = $statement->fetch()) {
print_r( $row );
}
Аноним 2022/06/22 22:25:40  №2386781 495
>>2386778
Не по теме конечно, но писал бы ты лучше альтернативным синтаксисом, а то выглядит как блевота, честно говоря.
Аноним 2022/06/23 00:32:58  №2386810 496
есть ли смысл писать на php8? или лучше сидеть на 7.4? просто многие либы как будто не поддерживают восьмерку и работают на ней хуево
Аноним 2022/06/23 00:34:00  №2386811 497
>>2386753
сколько потребовалось чтобы вкатиться в работу?
Ответы: >>2386841
Аноним 2022/06/23 04:03:07  №2386841 498
>>2386811
вкатиться на первые копейки -- пара месяцев после курсов (в сертифицированном обучающем центре, очно)

на +- норм деньги -- стандартные 10 000 часов коммерческого опыта
Ответы: >>2386923
Аноним 2022/06/23 04:04:37  №2386842 499
>>2386808
открой код страницы и посмотри, что там на месте изображений
Аноним 2022/06/23 05:17:08  №2386848 500
>>2386807
<? php foreach(): >?
#code
<php endforeah; ?>
Аноним 2022/06/23 07:27:07  №2386923 501
>>2386841
Какой раньше вкат легкий был, сейчас уже после никаких курсов не возьмут
Ответы: >>2386942
Аноним 2022/06/23 07:50:54  №2386942 502
Как обновить opensever без настраивания всего заново и потери существующих БД?
>>2386923
А сейчас как вкатываются вообще тогда?
Ответы: >>2387257
Аноним 2022/06/23 13:54:48  №2387257 503
>>2386942
> А сейчас как вкатываются вообще тогда?

Никак, джуны не нужны, сделаешь пару пет проектов, 18 летний тимлид обоссет на собесе и пойдешь с лицом лягушки на завод
Ответы: >>2387295 >>2387421
Аноним 2022/06/23 14:32:27  №2387295 504
>>2387257
На заводе пишут на пыхе? Или ты имеешь в виду гайку крутить?
Ответы: >>2387509
Аноним 2022/06/23 16:32:03  №2387421 505
>>2387257
>18 летний тимлид
Нах в такие уебанские конторы ходить, лол.
Я стал отказываться от таких цирковых собеседований (могу себе позволить)
Аноним 2022/06/23 19:37:22  №2387509 506
>>2387295
На завод только с ВО прогеров берут, а вкатуны гайки крутить, да
Ответы: >>2387521
Аноним 2022/06/23 20:08:47  №2387521 507
>>2387509
Ну у меня бакалавриат по ит, толку.
Ответы: >>2387532
Аноним 2022/06/23 20:30:10  №2387532 508
>>2387521
так ты умеешь что-то или нет?
Ответы: >>2387578
Аноним 2022/06/23 22:53:17  №2387578 509
>>2387532
Define "что-то". Могу из формы значения в базу писать и потом выводить их через echo. Но так никто не делает ведь да, там какие-то шаблонизаторы нужны и т.д.
Ответы: >>2387643 >>2394856
Аноним 2022/06/24 06:17:26  №2387636 510
>>2386160

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

Открой инструменты разработчика в браузере (F12) на вкладке Network, перезагрузи страницу и посмотри, что там выведется.

>>2386389

Пиджакс, на vanilla js, 6 Кб в сжатом виде. https://github.com/MoOx/pjax

Меня удивляет, что люди не знают про такую библиотеку и начинают изобретать велосипеды на реакте.
Ответы: >>2388622
Аноним 2022/06/24 06:26:39  №2387638 511
>>2386778

Это PDO? Тогда в нем есть fetchAll(). Однако, в него не надо передавать текст SQL запроса. Ты ведь уже указал текст запроса при вызове prepare(). Вот мануал (и там есть примеры кода с fetchAll): https://www.php.net/manual/ru/pdostatement.fetchall.php

Кто выдает ошибку? Твоя IDE или при выполнении кода реально возникает ошибка?

Не надо писать цикл с fetch, если тебе нужны все записи, то лучше использовать fetchAll().

Также, при выводе данных на странице нужно использовать htmlspecialchars, чтобы не было уязвимости XSS и чтобы все символы корректно вставлялись в HTML, как описано тут: https://github.com/codedokode/pasta/blob/master/security/xss.md
Аноним 2022/06/24 06:31:42  №2387640 512
Аноним 2022/06/24 06:37:04  №2387643 513
Ответы: >>2387678 >>2394856
Аноним 2022/06/24 07:40:09  №2387678 514
>>2387643
Я читал урок и в принципе понимаю как поделить обработку формы и "шаблон", который вызывает через action этот обработчик, но вот этих сторонних шаблонизаторов не касался.
Сейчас на чистом не пишут, только фреймворки и CMS? И предполагается что джун уже знает это все чтобы с 1го дня с этим работать?
Ответы: >>2388380
Аноним 2022/06/24 10:57:54  №2387826 515
Не могу определиться какой вариант лучше использовать.

От тебя жду ответ - какой вариант предпочтешь и почему.
Код: 3v4l.org/sJMke
Ответы: >>2387831
Аноним 2022/06/24 11:09:30  №2387831 516
>>2387826

Есть еще вариант с array_reduce, по моему, в плане читаемости вариант с циклом лучше и короче, только скобку лучше перенести:

foreach ($enjoyers as $e) {
$sum += $e->getSomething();
}

Также, в коде с array_map желательно закрывающую скобку ставить в начале строки

echo array_sum(array_map(
....fn($e) => $e->getSomething(),
....$enjoyers
));

array_map выгодно использовать, когда вызов функции умещается в одну строку:

$ids = array_map('intval', $iids);
Ответы: >>2388356
Аноним 2022/06/24 13:40:13  №2387949 517
Аноним 2022/06/24 19:40:17  №2388356 518
image.png (8, 545x77)
77x545
>>2387831
Ну да, вышло короче на одну функцию.

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

Спасибо.
Аноним 2022/06/24 19:53:02  №2388360 519
>>2387918

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

mysql -uroot users

Если происходит такая же ошибка, то придется немного заморочиться.

Тут https://askubuntu.com/a/763359 пишут, что теперь подсоединиться к mysql как root можно только если ты залогинен в систему как root. Работать из-под root это очень плохая идея, потому нужно создать в MySQL нового пользователя и дать ему права на все базы данных. Для этого коннектимся к БД, используя sudo:

sudo mysql -uroot

Далее, создаем нового пользователя БД:

CREATE USER 'имя пользователя'@'localhost' IDENTIFIED BY 'пароль';

Обрати внимание на @localhost - это значит, что пользователь сможет подключаться только с твоего компьютера, снаружи под ним нельзя зайти.

Далее, даем новому пользователю все виды доступа ко всем таблицам всех баз данных:

GRANT ALL PRIVILEGES ON звездочка.звездочка TO 'имя пользователя'@'localhost' WITH GRANT OPTION;

И применяем изменения:

FLUSH PRIVILEGES;

Если ты хочешь дать доступ не ко всем базам данных, а только к одной, то пиши ... PRIVILEGES ON базаданных.звездочка ...

После этого проверь, что логин работает:

mysql -uпользователь -pпароль

Если все ок, то впиши данные в свой скрипт.

Мануал:

CREATE USER https://dev.mysql.com/doc/refman/8.0/en/create-user.html
GRANT https://dev.mysql.com/doc/refman/8.0/en/grant.html

Чтобы увидеть всех пользователей, выполни запрос

Ответы: >>2398708
Аноним 2022/06/24 20:43:44  №2388380 520
>>2387678
Ну где-то и на яве пишут, джун сейчас во-первых никому не нужен, во-вторых да, должен знать все и больше
Ответы: >>2388396
Аноним 2022/06/24 21:25:09  №2388396 521
>>2388380
Ну охуенно, а где нужны джуны тогда? Сейчас вроде "дефицит айти специалистов".
Ответы: >>2388464 >>2388625
Аноним 2022/06/24 21:34:06  №2388400 522
в общем спустя какое-то время подумал - нафиг это программирование, вот это всякое айти там да.
бездушно это, не лежит действительно к этому душа так сказать.

Ответы: >>2388438 >>2388464
Аноним 2022/06/24 22:26:18  №2388438 523
Аноним 2022/06/25 03:15:14  №2388464 524
>>2388396
>>2388400
Ну в битрикс вкатывайся. Там не нужны алгоритмы, надо просто разбираться в самом битриксе, в ООП, в MVC, которое у битры немного другое, немного скуль, немного фронт. Хотя где-то много фронта, т.к. нет отдельного, по-разному короче.

Я к тому, что тут проще вкатиться, конкуренция меньше, знаний надо меньше. Надо лишь разобраться в устройстве всего битрикс фреймворка и всё.
Ответы: >>2389453 >>2396147
Аноним 2022/06/25 10:49:55  №2388622 525
>>2386222
>>2387636
Спасибо, ошибка действительно была из-за непрвильно выставленного рута сайта
Аноним 2022/06/25 10:51:55  №2388625 526
>>2388396
Действительно дефицит, только как ты написал СПЕЦИАЛИСТОВ. А джун нахуй нужен? Чтобы его учить? Ты хоть 2 года учи дома за проектами свой ларавел, разработка это совсем другое. В компании будешь учиться с нуля, это никому не нужно
Ответы: >>2388671 >>2388742
Аноним 2022/06/25 11:59:37  №2388671 527
>>2388625
Ну и откуда кабаны хотят новых "мидлов" тогда получить?
Ответы: >>2388691 >>2388692
Аноним 2022/06/25 12:28:32  №2388691 528
>>2388671
Обучать есть смысл, если работа узкопрофильная. А на пхп у кабана всегда найдется работник с подходящим опытом. Даже если поиск будет долгим это профитнее чем учить новичка с нуля.
Аноним 2022/06/25 12:28:33  №2388692 529
>>2388671
Да им поебать, придет человек хорошо, не придет итак деньги капают, вакансия есть не просит
Аноним 2022/06/25 13:06:17  №2388742 530
>>2388625

Ты не прав. Джун, если он дома тщательно изучил HTML, CSS, PHP, ООП, фреймворк, СУБД, алгоритмы, проектирование интерфейсов, очень полезен.

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

Во-вторых, правка всяких мелких багов вроде того, что при вводе номера телефона длиннее 15 символов база выдает ошибку. Джун, конечно, потратит много времени, но зато в процессе хорошо разберется в коде.

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

Естественно, везде речь идет о сообразительном джуне, готовом разбираться в коде и любящем читать англоязычную многостраничную документацию. Если это какой-нибудь выпускник курсов по информатике, которого учили только числа Фибоначчи считать, или вкатыш, не понимающий ООП и не желающий читать мануалы, но считающий, что он заслуживает средней зарплаты по отрасли, то конечно, толку от него 0.
Ответы: >>2388749
Аноним 2022/06/25 13:14:26  №2388749 531
>>2388742
Откуда вы это берете пздц. Тут одни диваны-вкатыши сидят? Какие-то абстракции в голове придумываете, как можно джуна занять и за что ему все таки заплатить. Такое может написать только тот, кто в компании никогда не работал
Ответы: >>2388785 >>2389088
Аноним 2022/06/25 13:37:41  №2388785 532
>>2388749
Расскажи реальную ситуацию из собственного опыта.
Ответы: >>2388807
Аноним 2022/06/25 14:07:52  №2388807 533
>>2388785
Рассказываю, джунов никто не берет, нигде, хантят одних и тех же людей туда сюда, делают проектики, потихоньку зарабатывают
Аноним 2022/06/25 18:41:54  №2389009 534
image.png (24, 314x186)
186x314
image.png (87, 250x367)
367x250
кароче решил изучить этот ваш пиэйчпи. буду каждую неделю теперь отписывать об результатах. сам я работаю полу эникеем полу админом так что я не вкатывальщик, похуй искать работу по этой залупе или нет посмотрим. до этого програмирование вообще не изучал по факту(так в шараге проходили но я ничего не делал)
Ответы: >>2389154 >>2389170
Аноним 2022/06/25 20:18:01  №2389088 535
>>2388749

Открываем hh, выбираем "без опыта", получаем вакансии: https://hh.ru/search/vacancy?area=1&area=113&experience=noExperience&search_field=name&search_field=company_name&search_field=description&text=%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA+php&from=suggest_post

Ну и может быть, как опытный, ты расскажешь никогда не работавшему в компании человеку, кто у вас занимается прикручиванием форм обратной связи, перекрашиванием кнопок и правкой текста условий использования сайта? Исключительно сениоры с 10 годами стажа?
Аноним 2022/06/25 21:31:19  №2389154 536
>>2389009
Принтер почини мне, компьютерщик
Аноним 2022/06/25 21:44:16  №2389170 537
>>2389009
Я умею подключаться к mysql, делать запросы, еще могу решать задачки на кодварсе, еще задачки с ОП книги, еще... Синтаксис ООП знаю, но применять пока не умею, только собираюсь писать свой фреймворк по гайду. Потом мб свой целиком зделаю, хотя зачем, тут ведь главное понять внутренности плюс-минус, а потом уже переходить к популярным фреймворкам типа битрикса или ларавель или симфони. Оттуда уже делать какой-то проектик, хотя это сложно когда нет поставленной задачи, за которую тебе заплатят. Но один проект заставить себя можно сделать. Правда до конца не получилось пока ни разу.

Держу в курсе.
Ответы: >>2389201 >>2389274
Аноним 2022/06/25 22:16:17  №2389201 538
>>2389170
>Zdelau
xdddddd
>derju v kurse
ok. pohui.
Аноним 2022/06/26 06:14:07  №2389273 539
Ответы: >>2389352
Аноним 2022/06/26 06:14:50  №2389274 540
>>2389170
>собираюсь писать свой фреймворк по гайду
Есть гайд?
Ответы: >>2389329
Аноним 2022/06/26 08:06:28  №2389329 541
>>2389274
Ну степ бай степ гайд только. Но есть и статья просто с подсказками. Загуглиш сам.
Ответы: >>2389635
Аноним 2022/06/26 08:40:08  №2389352 542
>>2389273

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

Элементы делят на два вида: терминалы и не-терминалы. Терминалы это элементы, которые нельзя разделить на части, а не-терминалы - это составные элементы, которые собраны из других терминалов или не-терминалов.

Например, мы можем сказать, что выражение 2 + 2 это не-терминал, так как оно составлено из трех терминалов: ЧИСЛО 2, +, ЧИСЛО 2.

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

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

Например, лексическая грамматика может выглядеть так:

ЦИФРА (не-терминал) - это '0', '1', ... '9'
БУКВА это 'a'...'z'
ПОДЧЕРКИВАНИЕ это '_'
ЦЕЛОЕ_ЧИСЛО - это одна или более ЦИФР
ИМЯ_ПЕРЕМЕННОЙ - это '$', затем (БУКВА или ПОДЧЕРКИВАНИЕ), затем 0 или более (ЦИФР, БУКВ или ПОДЧЕРКИВАНИЙ)

Здесь ЦИФРА - это не-терминал. Но в синтаксической грамматике ЦИФРА и ИМЯ_ПЕРЕМЕННОЙ будут уже терминалами, и они могут использоваться так:

ПРИСВАИВАНИЕ - это ИМЯ_ПЕРЕМЕННОЙ, '=', ВЫРАЖЕНИЕ

Правила грамматики по-английски почему-то называют productions.

Для описания правил грамматики есть стандартные синтаксисы вроде BNF (очень старый и неудобный), ABNF, EBNF.

В спецификации используют свой стандарт, которые расплывчато описан тут https://phplang.org/spec/09-lexical-structure.html#grammars

Аноним 2022/06/26 10:48:36  №2389453 543
>в общем спустя какое-то время подумал - нафиг это программирование, вот это всякое айти там да.
бездушно это, не лежит действительно к этому душа так сказать.


>>2388464
у меня вопрос вообще не в том что не осилил, это не проблема в чем-то разобраться.


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







Аноним 2022/06/26 13:51:05  №2389635 544
>>2389329
Ну раз тебе тяжело ссылку на гайд дать, то я не скажу в какой книге разрабатывается фреймворк на PHP.
Ответы: >>2389653
Аноним 2022/06/26 14:08:28  №2389653 545
>>2389635
https://habr.com/ru/post/654983/

https://stackoverflow.com/questions/1831610/how-to-develop-a-mvc-framework-from-scratch - тут рекомендуют сначала хорошо разобраться в MVC на уже существующих фреймворках. Хотя на других ресурсах рекомендуют сделать свой по гайдам, чтоб разобраться в нутре MVC фреймворков.
Трудно сказать, что лучше. Выбери свой путь. Я решил изучать уже существующие. Сначала один, потом другой для сравнения. Потом мб напишу свой для развития.

https://www.youtube.com/watch?v=6ERdu4k62wI - классика, очередное видео FreeCodeCamp.

Сам я ничего из этого не пробовал, просто погуглил за тебя, чтоб ты сказал мне книгу.
Ответы: >>2390807
Аноним 2022/06/26 14:38:31  №2389689 546
Есть ли разница между != и <> сравнением, может по приоритету? Или это для тех кто пришел из других языков (не знаю где правда такой оператор сравнения).
Ответы: >>2389711 >>2389712 >>2389961
Аноним 2022/06/26 15:01:34  №2389711 547
>>2389689
<> является стандартом SQL. Наверное оттуда.
Аноним 2022/06/26 15:02:31  №2389712 548
>>2389689
Разницы нет. Обычно юзают !=
Аноним 2022/06/26 19:28:28  №2389961 549
image.png (16, 632x157)
157x632
>>2389689
По примеру с постгрес, он потом сам конвертирует != в <>
Аноним 2022/06/27 15:02:54  №2390529 550
После колледжа есть шанс найти работу?
Ответы: >>2390540
Аноним 2022/06/27 15:09:43  №2390540 551
>>2390529
Я после шараги 2 месяца чилил, потом за 2 нашел)
Был на двух собесах, на первом сначала отказали, потом через неделю написали на почту "вы ещё не трудоустроились?"
Ну а я уже был на другом месте. Как-то легко меня берут.
Аноним 2022/06/27 17:05:27  №2390637 552
>>2348810
Эй, анон, если ты еще тут. Прошло уж два месяца вместо двух недель.

Как твои успехи?
Ответы: >>2390654
Аноним 2022/06/27 17:18:49  №2390654 553
>>2390637
Хихихм, привет. Лару учил откровенно говоря мало, так как учёба и другие обстоятельства. Дописал файлообменник до вида более менее, решал задачи, структуры данных какие-то реализовывал, сейчас пишу сайт с новостями, на чистой пыхе. С июля (закончится сессия как раз) буду дрочить лару и жс, проектом на ларе будет форум (имидж борда, кто как хочет). В общем-то, все неплохо, хотя могло быть намного лучше
Ответы: >>2390664 >>2390702
Аноним 2022/06/27 17:19:56  №2390659 554
Почему sql запросы так долго выполняются? Я например беру данные с бд и сравниваю их с данными из формы и это происходит долго, секунды 2(да для меня это долго)
Ответы: >>2390701
Аноним 2022/06/27 17:22:11  №2390664 555
>>2390654
А, по поиску работы. Разослал в компании 4 наверное. В одной посмотрели резюме но ответа не было, в другой отказали (я решил мало ли меня удалённо могут взять, написали что возможно вернутся к моей кандидатуре, но это пиздеж очевидный ) и в других нашли разработчика до того как даже глянули резюме. Как-то так
Аноним 2022/06/27 17:52:21  №2390701 556
>>2390659

Это не очень нормальная цифра. Обычно запросы занимают миллисекунды или меньше.

Во-первых, дело может быть не в запросе, а в чем-то другом. Попробуй запустить консоль MySQL (если ты используешь MySQL) и выполнить запрос напрямую с параметром SQL_NO_CACHE:

SELECT SQL_NO_CACHE x FROM y WHERE ... ;

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

Если запрос выполняется медленно, то можно поискать причины. Для начала сделать EXPLAIN, то есть добавить в начало запроса EXPLAIN и выполнить:

EXPLAIN SELECT x FROM y ...;

Документация (может быть сложновата для начинающего): https://dev.mysql.com/doc/refman/8.0/en/explain.html

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

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

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

Аноним 2022/06/27 17:53:18  №2390702 557
>>2390654
Кинь проект, посмотрю =)
мимо проходящий
Ответы: >>2390717
Аноним 2022/06/27 18:16:43  №2390717 558
>>2390702
Возможно,как сделаю. Хуйня в том что я верстать не умею :)
Ответы: >>2390719
Аноним 2022/06/27 18:17:18  №2390719 559
>>2390717
да просто ссылку на гит скинь, я фронт не хочу смотреть, чисто как ты на бэке писал
Ответы: >>2390729
Аноним 2022/06/27 18:28:50  №2390729 560
>>2390719
дай свой телеграм,не хочу здесь кидать
Ответы: >>2390732 >>2390733
Аноним 2022/06/27 18:31:28  №2390732 561
Аноним 2022/06/27 18:31:47  №2390733 562
>>2390729
черт, кинул, а не сохранилось
Back1ng
Аноним 2022/06/27 19:26:15  №2390770 563
Подскажите где посмотреть примеры кода других людей? Интересует php laravel
на гитхабе только? а как искать? пишу в поиск laravel, а там одни package (либо вообще элементарные проэкты вроде блогов), а мне проекты интересно посмотреть
Ответы: >>2390825
Аноним 2022/06/27 20:13:44  №2390807 564
>>2389653
Учти только, что MVC это минимальная база для джуна. По-хорошему ещё надо микросервисную архитектуру понимать, а там уже SOLID, юнит-тесты, обязательный ООП, полезно знать структуры данных хотя бы базовые и прочее такое. Хотя если собираешься на вордпрессе говнокодить, то необязательно. Но учти, что это именно программерская база, а не только веб-макаки.
Ответы: >>2390832
Аноним 2022/06/27 20:49:20  №2390825 565
Аноним 2022/06/27 20:59:09  №2390832 566
>>2390807

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

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

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

Также, можно услышать, что микросервисы позволяют использовать разные языки программирования. Согласен, если у тебя высоконагруженный сервис, то можно, как Вконтакте, писать свои хранилища на Си или на Расте, или Го. Но если ты не способен осилить эти языки, то наверно микросервисы тебе не очень-то и нужны.
Ответы: >>2390833 >>2390867 >>2398570
Аноним 2022/06/27 21:01:28  №2390833 567
>>2390832
Что такое микросервисы в это контексте, через soap когда пересылаются данные?
Ответы: >>2391723
Аноним 2022/06/27 22:28:34  №2390867 568
>>2390832
>ООП и юнит-тесты никак не связаны с микросервисами
Связаны напрямую.

>Наоборот, монолит, скорее всего окажется лучше и удобнее, чем гора микросервисов
Для чего окажется? Для какого проекта? Приведи примеры.

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

>А компания анона использует микросервисы, потому что прочитали про них в блоге.
Какая компания? Можно конкретику?
Ответы: >>2391238 >>2391723
Аноним 2022/06/28 08:53:27  №2391089 569
>>2347129 (OP)
Ананас, подскажи что лучше начинать учить вместе с php, сервер apache или ngnix на linux?

Установил на второй ноут ubuntu, никогда им не пользовался но вроде весело все идет, сейчас думаю какой сервер поставить. О apache двойственные впечатления, пердолинг с htaccess заебал для статичных сайтов (учился), и говорят он устарел вообще и тормозит быстродействие.PHP разработчики пользуются же VDS а не виртуальными серверами как я понял?(git там,laravel) я же по сути любой сервер(ngnix или apache) на этот VDS могу поставить, и панель управления типа ispManager? Правильно мыслю или лучше все учить для рынка?
Ответы: >>2391110 >>2391233
Аноним 2022/06/28 09:15:44  №2391110 570
>>2391089
Можешь позже изучить пердолинг серверов, мне за полгода работы один раз пришлось менять конфиг нжинкса, я про него на тот момент нихуя не знал, но за пару часов нагуглил и пофиксил, больше ни разу его не приходилось трогать
Аноним 2022/06/28 09:33:37  №2391121 571
Если бы вы сейчас вкатывались в серверную часть веба чтобы начали учить python/django или pho/laravel. На питоне могу писать простенькие скрипты по работе, но есть ощущение что на позицию джуна бекендера на пистоне не найти, а на пхп есть хоть какие-то шансы. Вообще задумка такая, что нати работу на пхп и как более менее втянусь голанг учить. Норм план или хуйня, айти в РФ всё и вообще надо огород сажать?
Ответы: >>2391248
Аноним 2022/06/28 11:16:58  №2391229 572
>>2347129 (OP)
Сап, аноны. Убедительная просьба не кидаться говном, мб есть тут люди шарящие за битрикс.
Как отсортировать элементы в catalog.section по конкретному значению множественного свойства типа список?
Т.е. есть свойство "Тэги", значения "Популярное", "Рекомендуемое" и т.д. У элемента могут быть выбраны хоть все сразу. Мне же нужно отсортировать каталог по этому свойству, чтоб сначала шли элементы у которых проставлено значение "Популярное"
Аноним 2022/06/28 11:21:01  №2391233 573
>>2391089
А нахрен тебе апачи и энжникс? Это не задачи разработчика, а ебаться тебе придется с тем что будет. Тут уже все от звезд на небе зависит
Аноним 2022/06/28 11:24:29  №2391238 574
>>2390867
Хули ты тут высрал? Анон прав, монолит в подавляющем большинстве выигрывает, хотя бы тем что его разрабатывать проще.
На кой хуй ебаться с кучей сервисов маленькой команде разработчиков, когда речь идет о небольшом интернет магазине? Или у тебя все разрабатывают огромные проекты по типу какого-нибудь контакта?
Аноним 2022/06/28 11:32:16  №2391248 575
>>2391121
>python/django
Абсолютно бесполезная хуйня без задач, которая умерла не успев достичь популярности. Node во всем лучше.
Ответы: >>2391280 >>2391730
Аноним 2022/06/28 11:58:01  №2391280 576
>>2391248
На году вакансий почти нет. Либо для мидлов минимум. Мне интересно в плане поиска работы в первую очередь.
Аноним 2022/06/28 15:15:14  №2391485 577
Анончики, можете сразу полить меня говном, но все же.
Я устраиваюсь в некоторую контору, не на программерскую должность, и тестовое задание получил в виде требования написать модуль с использованием связки ZF1+extJS3.4.

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

Можете порекомендовать как и откуда вообще начать с этим работать?
Повторюсь, я из совершенно другой сферы микроконтроллеры/асм/си, и для меня всё это вот ПИЗДЕЦ как сложно.

Ответы: >>2391552 >>2391734
Аноним 2022/06/28 15:54:47  №2391552 578
1522592353462.gif (2712, 304x200)
200x304
>>2391485
Нахуя давать тестовое по левым вещам?
Ответы: >>2391562
Аноним 2022/06/28 15:58:09  №2391562 579
>>2391552
Потому что у них другого нет, это госконтора. Потому что так вышло, что начальник хочет этого, независимо от того чем я буду заниматься.
Аноним 2022/06/28 19:52:30  №2391723 580
>>2390833

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

Данные можно пересылать и через SOAP, но сейчас обычно используются более современные технологии вроде HTTP+JSON, JSON-RPC, ProtocolBuffers, Thrift, очереди сообщений и тд.

>>2390867

Пример: я хочу получить какие-то данные из БД. В монолите я просто захожу в консоль MySQL, пишу запрос с 8 джойнами (а я хорошо умею использовать джойны) и получаю нужные данные. В микросервисном проекте я должен потратить во много раз больше времени, писать какие-то кастомные скрипты, чтобы добиться того же. Хотя, может есть какая-то компания, которая за большие деньги дает возможность делать поиск в распределенных базах данных?

Пример 2: у меня монолитный проект. Он написан на одном языке и я могу прочесть и исправить любое место в коде. А у микросервисников каждый проект написан на своем языке, потому что его автор считает что это самый лучший язык в мире. В итоге разработчик микросервисов большую часть времени занимается изучением языков и фреймворков вместо полезной работы.

Пример 3: есть много функций, которые нужны в разных частях проекта. В монолите это не проблема, а что делать в проекте на микросервисах? А если сервисы на разных языках?

Я кстати, когда-то давно решал похожую проблему, генерировал классы для JS кода из PHP-классов (только поля и константы, без методов), чтобы иметь возможность работать с моделью и на сервере и на клиенте и не заниматься копипастой.

Пример 4: в монолите я жму на название функции и перехожу к ее определению. А в микросервисе я попадаю на функцию отправки запроса в другой сервис и не могу перейти к определению в один клик.

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

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

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

А что, что ты пишешь про тесты, я вообще не понял. Тесты без проблем используются в монолитных проектах.
Ответы: >>2398570
Аноним 2022/06/28 20:08:08  №2391730 581
>>2391248

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

Нода вообще сейчас занимает странное место. Если ты хочешь удобный язык, пожертвовав скоростью выполнения, то есть Питон. Если ты хочешь высокую скорость, то есть Раст, если ты хочешь удобную асинхронность и высокую скорость, то есть Го. А какие плюсы у Ноды?
Ответы: >>2397831
Аноним 2022/06/28 20:14:22  №2391734 582
>>2391485

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

https://github.com/zendframework/zf1/blob/master/INSTALL.md

> Zend Framework requires no special installation steps. Simply download the framework, extract it to the folder you would like to keep it in, and add the library directory to your PHP include_path

Ну и ты бы написал, что за ошибки пишет композер, может у тебя просто чего-то не установлено?

Я из любопытства посмотрел страницу zf1 на packagist, и там из зависимостей только PHP >= 5.2.11. Я также из любопытства сделал composer.phar require zendframework/zendframework1 и он установился без ошибок на моем Линуксе.
Ответы: >>2391822
Аноним 2022/06/28 22:31:11  №2391781 583
Xammp или OpenServer?
Ответы: >>2391879 >>2391923 >>2391950
Аноним 2022/06/29 00:59:50  №2391822 584
>>2391734
Анончик, всё заработало, просто вручную без компостера раскидал.
Добра тебе.
Аноним 2022/06/29 05:32:14  №2391879 585
>>2391781
У нас на работе почти все OpenServer используют.

мимо битриксоид
Аноним 2022/06/29 07:07:55  №2391923 586
>>2391781
Установить линукс и LAMP
Аноним 2022/06/29 07:47:38  №2391950 587
>>2391781
Open server позволяет выбирать версию пыхи, апача/нгинкса, субд без переустановок, просто меняя в настройках ospanel.
Аноним 2022/06/29 09:22:31  №2392024 588
Вот тут кто-то нахваливает Ноду, а давайте посмотрим на реальный код на Ноде, написанный профессиональными разработчиками:

https://github.com/npm/cli/blob/latest/workspaces/arborist/lib/arborist/build-ideal-tree.js

const _applyUserRequestsToNode = Symbol('applyUserRequestsToNode')
...
await this[_applyUserRequestsToNode](tree, options)
...
async [_applyUserRequestsToNode] (tree, options) {

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

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

const GRAVITY = 9.81;
const MONTHS = ['Jan', 'Feb', ...];

А они используют const для обычных переменных, это запутывает при чтении кода. Хуже того, "константы" в Ноде не такие уж и постоянные:

const cant_change_this = [];
cant_change_this.push(1); // никаких ошибок

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

И еще, почему-то разработчики на Ноде не любят называть вещи своими именами и объявляют функции как константы, то есть вместо:

function some_name(some_arg1 = 5, some_arg2 = 6) { return some_arg1 == some_arg2; }

Пишут

const some_name = (some_arg1 = 5, some_arg2 = 6) => some_arg1 == some_arg2;

Очевидно, что первый вариант намного лучше: прочитав первое слово, уже понятно, что перед нами функция. А во втором варианте нужно прочесть всю строку, и найти в ней стрелку, спрятанную среди знаков равенства, прежде чем поймешь, что у нас функция, замаскированная под константу.
Ответы: >>2392033 >>2392143
Аноним 2022/06/29 09:45:22  №2392033 589
>>2392024

Кстати, приватные свойства в JS все-таки недавно добавили. Однако, там много чего не хватает, например:

- автогенерация конструктора
- автогенерация геттеров/сеттеров

То есть, если у меня есть класс

class Test {
#someProperty;
}

То я хочу, чтобы я мог добавить какую-то пометку вроде @property и JS для меня сгенерировал бы конструктор, который заполнит это свойство и геттеры-сеттеры, которые позволят мне обращаться к этому полю:

let test = new Test(10);
test.someProperty = 20;

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

При этом, естественно, я бы хотел выбирать, что сделать:

- сгенерировать геттеры и сеттеры
- сгенерировать только геттеры
- перенаправить обращение к свойству в выбранную мной функцию
- сгенерировать конструктор или методы вроде "получить все свойства"/"обновить все свойства"
- сгенерировать методы для сравнения или хеширования объектов

Так что я не понимаю того анона, который сказал, что Нода лучше Питона, хотя в Питоне описанное выше есть, а в Ноде нету. Это есть в Питоне, в Свифте, в C# если не путаю.
Ответы: >>2392041 >>2392143
Аноним 2022/06/29 09:56:20  №2392041 590
>>2392033
Питон хуйня потому что из-за этих ебаных отступов трудно копипастить.
Ответы: >>2392064 >>2392070
Аноним 2022/06/29 10:14:43  №2392064 591
>>2392041

Ты пишешь странные вещи. Во-первых, копипастить нет никаких проблем, если твой редактор поддерживает команды "увеличить отступ" и "уменьшить отступ" (все нормальные редакторы кроме какого-нибудь легаси времен DOS это поддерживают).

Во-вторых, если ты копипастишь код на JS, тебе точно так же надо поддерживать в нем правильные отступы.
Аноним 2022/06/29 10:19:57  №2392069 592
Вот еще наблюдения насчет кода менеджера пакетов npm. Названия функций, взятые из одного файла:

const rpj = path => readFile(path, 'utf8')

Кто догадается, что значит rpj?

const readBinDir = async (path, data) => {
const add_id = data => {

Каждый называет функции как хочет, никакого единообразия.

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

array.map(e => e.name)

Это не значит, что слово function устарело и теперь надо везде писать громоздкую и плохо читаемую конструкцию с const. Я подозреваю, это функциональщики хотят сделать JS код похожим на их функциональные языки, где функции объявляются через равенство. Но JS это не функциональный язык и у него есть свой синтаксис, и код должен быть читаемым, а не похожим на твой любимый функциональный язык.
Аноним 2022/06/29 10:21:09  №2392070 593
>>2392041

И да, кстати, что тебе мешает настроить редактор или написать плагин, чтобы при вставке он исправлял отступы сам?
Аноним 2022/06/29 10:24:19  №2392073 594
Вот еще проблема из JS кода:

er => {
if (er.code === 'EJSONPARSE') {

Похоже, разработчик на Яваскрипте не слышали, что можно делать разные классы исключений и проверять эти классы. Тогда хотя бы IDE будет подсказывать и проверять их имена.
Ответы: >>2392091 >>2392144
Аноним 2022/06/29 10:29:09  №2392078 595
Вот еще кусок из npm. Такое ощущение, что этот код сгенерирован обфускатором, а не написан человеком:

https://github.com/npm/cli/blob/latest/workspaces/arborist/lib/arborist/build-ideal-tree.js#L327

.then(root => this[_global] ? root
: !this[_usePackageLock] || this[_updateAll]
? Shrinkwrap.reset({
path: this.path,
lockfileVersion: this.options.lockfileVersion,
resolveOptions: this.options,
}).then(meta => Object.assign(root, { meta }))
: this.loadVirtual({ root }))


Это же просто тяжело читать. Ужасный стиль кода. Я не робот, чтобы в уме разбирать такие выражения.
Ответы: >>2392080 >>2392082
Аноним 2022/06/29 10:30:47  №2392080 596
>>2392078

Ну и отдельно минус им за то, что нагородили там кучу .then вместо использования await. Эта асинхронность в Ноде полезна в 1% случаев и только мешается в 99%.
Ответы: >>2392090
Аноним 2022/06/29 10:32:37  №2392082 597
Ответы: >>2392084
Аноним 2022/06/29 10:34:14  №2392084 598
>>2392082

Если такой код написали функциональщики, то, конечно, желания когда-либо использовать функциональные языки у меня поубавилось. Императивный код однозначно лучше хотя бы тем, что в нем не пишут return на 70 строк и гору из then.
Аноним 2022/06/29 10:37:14  №2392090 599
>>2392080
Так это одно и тоже по сути - await это синтаксический сахар просто, который так же работает через промисы, просто декларация более привычная, но это так же асинхронно работает.
Ответы: >>2392093
Аноним 2022/06/29 10:38:04  №2392091 600
>>2392073
Они пишут свои скрипты в notepad++
Аноним 2022/06/29 10:39:35  №2392093 601
>>2392090

Читается лучше.

let x =await getX();
let y = await getY(x);

Против горы из коллбеков.

А еще лучше, конечно, использовать язык, где есть блокирующие функции и await не нужен.
Ответы: >>2392103
Аноним 2022/06/29 10:40:58  №2392095 602
Аноним 2022/06/29 10:48:00  №2392103 603
>>2392093
Ну да, await дает некое удобство, но все равно продолжает оставсть асинхронным.

Так в ноде же вроде есть блокирующие и неблокирующие операции: типа readFile() и readFileSync()
Аноним 2022/06/29 10:54:49  №2392108 604
Нашел на мозилле ресурс для основательного изучения JS, подписка 5 лет и довольно дешевая. Но первые 7 глав бесплатны.

https://learnjavascript.online/
Ответы: >>2392115 >>2397831
Аноним 2022/06/29 11:05:21  №2392115 605
>>2392108
есть же наш православный сайт для изучения JS

learn.javascript.ru
Ответы: >>2392121
Аноним 2022/06/29 11:09:21  №2392121 606
Аноним 2022/06/29 11:40:21  №2392143 607
>>2392024
>Какие костыли им приходится изобретать из-за отсутствия приватных свойств.
Уже как несколько лет есть.
> это запутывает при чтении кода
Запутывает только тебя, когда ты пишешь на JS больше одной недели - привыкаешь.
> "константы" в Ноде не такие уж и постоянные
Потому что объекты передаются по ссылке. Тут абсолютно логичное поведение. Для неизменяемых объектов в JS есть Object.freeze
>Очевидно, что первый вариант намного лучше
Нет, не очевидно. Ты забываешь про минификацию
>найти в ней стрелку
Зачем ты ищешь стрелку, если тебе IDE цветом показывает, что это функция? Даже если ты в блокноте пишешь код, то наличие скобок после = сразу говорит о том, что эта функция.
>>2392033
>пометку вроде @property
Уже есть в планах на 2023.
>в Питоне описанное выше есть
А в ноде есть нормальная асинхронность, лучшая производительность, интеграция с SPA-фреймворками, более дешевая цена разработки.
Ответы: >>2392156
Аноним 2022/06/29 11:42:27  №2392144 608
>>2392073
Причем тут вообще JS, если это очевидная проблема макаки-формошлепа, который это писал? Говнокодить можно и на питоне и на пыхе и на чем душе угодно.
Ответы: >>2392146
Аноним 2022/06/29 11:50:04  №2392146 609
>>2392144
Ну вообще есть концепция, одна из, что исключения нужно использовать при критических ошибках в логике программы, а если речь идет об ожидаемом поведении: вроде как пользователеь что не так ввел - то тут лучше воспользоваться паттерном увдедомлений.
Аноним 2022/06/29 12:04:09  №2392156 610
>>2392143

> привыкаешь.
А зачем привыкать к плохому?

>> "константы" в Ноде не такие уж и постоянные
> Потому что объекты передаются по ссылке. Тут абсолютно логичное поведение.

Зачем мы используем const? Чтобы сказать читателю кода, что эта переменная не изменится, и чтобы защититься от случайного изменения. Если ты массивы и объекты при этом разрешаешь изменять, то весь смысл const теряется. const для массивов и объектов по сути ничего не значит.

И это точно не константа.

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

> Зачем ты ищешь стрелку, если тебе IDE цветом показывает, что это функция?
Я смотрю код на Гитхабе и там никак цветом не показано, что это функция. Более того, ты не прочел мой аргумент, читай внимательно. В случае с function ты понимаешь, что это функция, увидев первое слово, а в твоем случае я должен просмотреть глазами всю строку, найти в ней нужное место и убедиться что оно нужного цвета.

IDE, конечно, может улучшить восприятие плохого кода. Но это не значит, что можно писать плохой код.

Если уж ты упоминаешь IDE, то я замечу, что IDE может так же подсвечивать другим цветом переменные, которые не меняются, и слово const становится ненужным - просто ставь везде let и пусть IDE подсвечивает их разными цветами.

> А в ноде есть нормальная асинхронность, лучшая производительность, интеграция с SPA-фреймворками, более дешевая цена разработки.

только вот код на Ноде, судя по npm, нечитаемая лапша.
Аноним 2022/06/29 16:31:07  №2392345 611
Сколько версий PHP нужно знать в общем? PHP5/7/8 верно? Перечитывать документацию?
Ответы: >>2392490 >>2392515
Аноним 2022/06/29 17:07:05  №2392382 612
Ого, очень рад, что тред жив и ОП ещё тут спустя столько лет! Когда-то тоже тут сидел и много задачек решал, даже делал калькулятор с парсингом дробных значений и вектор в стиле ФП. Сейчас работая фуллстеком столкнулся с необходимостью синхронизировать код между PHP и TS/Dart, вручную это делать было утомительно, а автоматические решения не удовлетворяли требованиям - какие-то инструменты вроде grpc заставляют всю архитектуру приложения менять, какие-то инструменты вроде swagger заставляют писать большие yml/json. Подумал, что было бы удобно просто отметить нужные PHP-классы и как-то одной командой получить TS/Dart. Сделал, в проде больше чем полгода: https://github.com/riverwaysoft/dto-converter

Что думаете? Под капотом работа с AST и кодогенерацией. Планирую добавить больше документации (сейчас её мало так как in-house инструмент) + описать внутреннее устройство в большой статье на хабре.
Ответы: >>2392513
Аноним 2022/06/29 17:16:58  №2392393 613
Аноним 2022/06/29 19:41:28  №2392490 614
>>2392345
Да можешь с первой начать, че там читать то, ну =)
Аноним 2022/06/29 20:11:57  №2392513 615
>>2392382

Я когда-то давно тоже делал конвертацию PHP классов в JS, чтобы можно было работать с моделью и на сервере и на клиенте. Правда там все было в разы примитивнее, копировались только константы и публичные поля, и еще, по моему, генерировались геттеры/сеттеры, чтобы модель могла слать события при изменении свойства (вью слушало эти события и обновляло картинку на экране).

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

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

Что касается swagger, то для PHP есть инструменты для его генерации через DocBlock-аннотации. Хотя, если у тебя есть хорошие DTO, то может быть swagger можно генерировать как-то из них. Swagger хорош как язык документирования API, то есть ты передаешь коллегам не кучу TS-классов со словами "на, разбирайтесь", а человеко- и машинночитаемую документацию.

Ну и иногда в описанной тобой ситуации за основу берут описание класса/интерфейса на IDL. Это не конкретный язык, а скорее разновидность языка. Пример IDL можно увидеть в спецификациях DOM, в исходных кодах Chrome/Firefox.
Аноним 2022/06/29 20:14:07  №2392515 616
>>2392345

5 не нужна, можно изучить последнюю версию + прочитать на сайте PHP список изменений между последней версией и PHP7.4. У них есть удобный список того, что поменялось в каждой версии: https://www.php.net/manual/ru/migration81.php
Аноним 2022/06/29 20:25:07  №2392524 617
PDO::quote может все равно пропускать sql-инъекции?
Ответы: >>2392686
Аноним 2022/06/30 06:26:36  №2392686 618