Этого треда уже нет.
Это копия, сохраненная 3 июня 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
PHP тред №116 /php/ 1630065 В конец треда | Веб
Уже Весна за окном, а мы по-прежнему изучаем PHP (а также JS/CSS/HTML/SQL), решаем задачки и даже делаем простые сайты! Зачем? Кто-то хочет открыть стартап, кто-то заработать на лапшу быстрого приготовления, кому-то просто нечего делать.

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

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

Предыдущий тред был тут: >>1599201 (OP) . Все старые треды есть в архиве: https://phpclub.tech

Форматируй свой код, если хочешь, чтобы его читали.

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

С чего начать

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

Устанавливать пока что ничего не требуется, разве что редактор кода вроде Sublime Text 3, Notepad++, Visual Studio Code, Netbeans PHP или PhpStorm (с ним будет удобнее).

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

Ты прошел весь учебник? Молодец, но это были лишь основы языка 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
- Еще более сложная и долгая задача на Yii/Symfony: https://gist.github.com/codedokode/8733007
- После нее можно изучать автоматизированное тестирование https://gist.github.com/codedokode/a455bde7d0748c0a351a
- Если ты все решил, переходи к Symfony 3/Doctrine 2
- Почитать про паттерны http://designpatternsphp.readthedocs.org/ru/latest/README.html (если ты не изучил ни одного фреймворка, то это будет рановато), тут с примерами кода http://designpatternsphp.readthedocs.org/ru/latest/README.html . Имей в виду что без примеров использования их учить бесполезно - не поймешь, хочешь увидеть примеры использования паттернов - ковыряй исходники Симфони, например Symfony Forms. Не заучивай паттерны - смотри код и думай, зачем тут они использованы.

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

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

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

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

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

- HTML/CSS: https://github.com/codedokode/pasta/blob/master/html/html.md
- JS: https://gist.github.com/codedokode/ce30e7a036f18f416ae0
- SPA (сложно): https://github.com/codedokode/pasta/blob/master/js/spa.md
- Проверялка решений на JS: http://dkab.github.io/jasmine-tests/
- MySQL: https://github.com/codedokode/pasta/blob/master/db/databases.md

Что почитать

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

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

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

- Почему PHP? Потому что вакансий море, и учить легко.
- Сайт опять упал!!!!! - Не паникуй, а открой http://rghost.ru/6bfCY9lfl и получи личную немного устаревшую оффлайновую копию сайта (можно читать хоть на андроиде без интернета)
- Что надо знать чтобы найти работу - разработчику: PHP, SQL, HTML/CSS, JS, ООП, Git, Composer, MVC, Фреймворк. Верстальщику - HTML/CSS, JS, jQuery. У нас в треде были люди, которые практически с нуля учились и смогли найти работу.
- Что будут спрашивать на собеседовании если 0 опыта - гонять по теории, по официальному мануалу PHP, давать дурацкие задачки на переворачивание строк, гонять по SQL (транзакции, внешние ключи, напиши запрос), по JS (как сделать анимацию при нажатии кнопки), ну погугли, не ленись
- Можно подробнее про поиск работы, собеседования - нет, поищи тред перезвонивших, а также раздел /wrk/
- Сколько времени надо изучать все это? - всё зависит от тебя, но не меньше 6-8 месяцев
- Нужен ли ООП, Фреймворки, MVC, Git, Composer? - Да, однозначно. Посмотри любую вакансию.
2 1630068
>>630065 (OP)
Может кто-нибудь поделиться несложным проектом с выделенным rest/graph бэком на пыхе?
Без темплейт говна типа MVC/Vue MVVM, просто бек
3 1630085

> Использовать SELECT таким образом удобно, когда нужно просмотреть всю таблицу, например, после того, как в нее была загружена первая порция данных. Как часто случается, в выведенных на экран данных сразу можно увидеть ошибку в таблице: Bowser, оказывается, успел умереть еще до того, как родился!


Прям как я...
4 1630095
>>1630066 →

> Он мёртвый русский, это была агония


Не понял
5 1630104
Анонсы, я правильно понял, что классы в php - это по сути набор из разных функций? Которые можно вызывать как методы у класса?

В JS например всю эту поеботу с класами по сути может заменить обычный объектака ассоциативный массив, который вместо обычных хначенйи может хранить и функции? То есть в JS обычный объект так же можно превратить в набор функций и использовать его как классы в php? Только вот наверно объект не может наследовать другие объекты, хотя их можно объединяться, что по сути тоже можно назвать наследованием, только с заменой

Я в правильную сторону тону?
6 1630118
>>630104

>я правильно понял, что классы в php - это по сути набор из разных функций


Это еще и собственный стейт (состояние).

>поеботу с класами по сути может заменить обычный объект


По нормальному это называется "объект анонимного типа". Поебота, как ты говоришь, на самом деле не девается никуда.

>В JS например всю эту поеботу с класами по сути может заменить обычный объект


В жсе впринципе почти все есть, что дает аналогичный функционал с классами, что и в пхп (притом я ес6+ не учитываю даже).

>Наверно объект не может наследовать другие объекты


В жсе есть наследование. Посмотри по прототипам и по inherit или типа того.

>Я в правильную сторону тону


Думаю нет.
7 1630139
>>630118
Так в JS можно класс заменить обычным объектом?

Не понял про состояние, так класс - это просто набор функций? То есть это всё тот же процендурный метод, просто в оболочке с общим родителем и дочерними функциями которые называют методами этого класса ака обёртки для обычных функций, а столько кукареканий было в сторону функционального подхода
8 1630146
Расскажите, какие плюсы есть в Битриксе? Как я понимаю, главный плюс - это то что с 1С хорошо интегрируется?
9 1630147
>>630139
класс это не набор функций а одна функция
я тебе в джаваскрипт треде привёл пример аналога классовой нотации через функцию, где создаётся инстанс со стейтом
10 1630151
>>630139

>Так в JS можно класс заменить обычным объектом?


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

>Не понял про состояние


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

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


Думаю тебя на эту мысль натолкнуло то, как создавались новые типы (классы) в жсе до ес6 как раз (функция конструктор и поехали).
В случае жс классы это и правда синтаксический сахар над тем, что ты описал.
11 1630158
>>630151
Анонимный экземпляр - это типа var obj = {"a": "1"}? Объект который создаётся без new ClassName?

Синтаксическйи сахар - это типа закос под стандарты других языков? Чтобы тебе кто начинал с других языков могли использовать привычный синтксис, который на самом деле просто копия других способов?я бы почитал, но чувствую что сейчас запутаюсь ещё сильнее, если нарвусь на статью васяна
12 1630170
>>630158

>var obj = {"a": "1"}


Как вариант. У этого объект нет конкретного типа, он как бы сам по себе, но он при этом остается объектом с вытекающими. Значит он что? Правильно. Объект анонимного типа. Тип как бы есть, но у него беда с именем.

>Синтаксическйи сахар - это типа закос под стандарты других языков?


Не только. Это в целом упрощение кода. Общеязыковые конструкции типа class или допустим async не просто так существуют и растаскиваются по всем языкам. С ними просто удобнее.
Так то даже тернарку можно назвать сахаром, хотя она управщает всего-лишь условие. Хотя почему можно, сахар это и есть.
Ну можно глянуть дальше например на какой-нибудь null coalescing. Он тоже просто избавляяет тебя от избыточного кода.
Вот это и есть сахар.
В контексте жс классы ес6+ являются сахаром над тем, что было до этого, потому что в сути своей ничего не поменялось. В других языках это вполне вероятно даже недостижимо без специального синтаксиса. Ну и да, сама конструкция class и прочее сопутствующее плюс минус общеязыковая.
13 1630184
>>630170
Спасибо анон, продвинул меня ещё дальше в этом запутанном деле

Кстати, а из какого языка спиздили тернарный оператор?
14 1630189
Вы юзаете нативные запросы или орм? По-моему орм в пыхе очень медленное.
15 1630222
>>630189

>нативные запросы или орм


Можно примерчик пожалуйста
16 1630225
Анонсы, есть какой-то костыль или фреймворк помогающий писать код короче? Типа библиотеки JQ на JS, где собраные всякие ништяки и готовые функции заменяющие кучи строк кода, делающие код читабельнее и красивее
17 1630247
>>630146
один из. ну и хорошо интегрировать битрикс24. еще на самом деле там очень удобные и ахуенные инструменты для SEO продвижения самого сайта. а в основном да, сорта говна лютые

аноны, кто нибудь пользовался постманом для отправки запросов на сторонние апи? нихуя не получается
18 1630251
>>630222
sql в программе или методы у объекта дергать.
19 1630296
>>630225
Любой MVC фреймворк даст охеренный буст производительности кодера, т.к. там по сути готовое веб приложение, только бизнес логику добавить.
20 1630315
>>630296

>бизнес логику


Что за дегенеративное название, что это значит в двух словах?
По мне так MVC это деградация, куча папок и файлов с аутистскими названиями и стопицот тысяч подключений их друг в друге
21 1630333
>>630315

>По мне так MVC это деградация, куча папок и файлов с аутистскими названиями и стопицот тысяч подключений их друг в друге


Гораздо лучше идти по пути "чистого кода", верно?
Один файл на всё и сотни функций. А лучше просто лапшу написать.
22 1630336
>>630315

>бизнес логику


>Что за дегенеративное название, что это значит в двух словах?


Гуглить не пробовал? Общеизвестный термин
23 1630341
>>630315
Попробуй написать что-нибудь сложнее гостевой книги. Тогда поймёшь, зачем Mvc нужен.
24 1630383
Аноны, хотелось вам сказать спасибо что за любой вопрос не переходите на оскорбления, как это принято в других темах, молоца.
25 1630386
>>630336
Я всё больше перестаю доверять гуглению, весь поиск стал засран купленными на биржах текста статейниками, а объяснять программирование пытаются дегенера самоучки, которые сами ничего не зная пытаются учить других, по этому лучше спроситть у анона в 2 словах, чтобы не переваривать всё это дерьмо и лишнюю информацию часами ради ответа в 2 слова
26 1630390
>>630333
По твоему MVC удобно, красиво и адекватно разделяет все эти сотни функций по назначанию? Сколько не начинал смотреть видео по MVC на ютубе, каждый раз начинаются рвотные рефлексы, или же не один ютубер не в состоянии нормально объяснять MVC, потому что сам понимает его только на 10%

>>630341
Это понятно, но я и не собирался писать портал, мне больше для модулей и фитч для сайтов, по этому и хочу какой-то хз что это фреймворк или библиотеку, где самые топовые функции уже собраны в кучу, как это сделано в JQ для JS
image.png125 Кб, 662x486
27 1630393
>>630386
Ты долбоеб?
28 1630395
>>630390
Смотришь русскоязычный ютуб?
29 1630411
>>630393
Я хочу на русском языке, а не языке гуманитария
30 1630412
>>630395
Да, другому в своё время не научили, а учить сейчас чтобы начать читать оригинальные источники, уйдёт не 1 год
31 1630446
>>630412
В этом твоя проблема. На ру сегменте ютуба нет годного контента.
32 1630451
>>630411
Процессы в фирме, которые происходят независимо то того, что у тебя в коде написано.

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

Это же ты мог бы сделать без интернета - по телефону. Это и есть бизнес логика.
33 1630458
>>630451
Или русичи неправильно перевели, или это название реально не подходит, адекватного человека просто путает
34 1630463
>>630451
функции, классы, переменные, методы, рекурсии, циклы, массивы, операторы и тут на тебе, высрался бизнес
35 1630468
>>630463
Думал, для кого мы код пишем? Для бизнеса. Описываем бизнес процессы с помощью кода и таким образом автоматизируем
36 1630477
>>630468
Интересно что думают "прогеры", которые пишут код для анального контроля за всеми жителями своей страны, они понимают что они роют могилу сами для себя, хоронят себя же и своих же родтсвенников и будущих детей за тысячу гривен кода сейчас
37 1630493
>>630477
Кушать икорку с маслицем хочеца, вот и пишут
38 1630496
>>630493
Тупые люди живущие сегодняшним днём, за бумагу и мать продадут
39 1630499
>>630496
Будто ты дохуя умный
40 1630504
>>630499
Нет, но мне хватает мозгов не копать могилу самому себе
41 1630533
>>630065 (OP)
Эх, без котов шапка какая-то бездушная
42 1630535
Перды, а все фреймворки написаны на богомерзком мвц? Есть что-то более для натуралов?
43 1630538
>>630533
Прям как тело предыдущего ОПа
44 1630544
>>630535
Бери симфони и строй из компонентов что хочешь
45 1630547
>>630538

> Прям как тело предыдущего ОПа


Что случилось?
>>630533

> Эх, без котов шапка какая-то бездушная


Двачаю
46 1630557
>>630547
Он утонул вместе с предыдущим тредом
566.png1 Мб, 1434x608
47 1630562
>>630065 (OP)
Хочу фрилансить.
48 1630579
Анонсы, что получается, структурировать всё по mvc это разделить всё на отдельные функции и классы каждый в своей папке и файле для более простого их поиска и редактирования, но по сути они получается всегда так же все подключены и работает всё так же в плане скорости как если бы мы весь код из этих файлов писали в 1 файле? Ведь по сути всё это дело всё так же подключается в 1 коренной файл и в общем представляет собой 1 большой код просто подгружающийся из разных файлов, так?
49 1630639
Аноны, киньте парочку простейших фреймворков и готовых сайтов написанных на mvc, чтобы понятнее на примере разобраться как это всё работает, смотреть на Ютубе как чел постоянно меняет папки, файлы в редакторе и ошибается переделывает ну это нихуя не помогает не терять суть происходящего и понять суть работы mvc

И как вообще лучше смотреть такие видео, делаю это с телевизора лёжа и придя в диван, сдаётся мне это очень ненадёжный вариант
50 1630644
>>630639
В ларакастах есть серия видео, где джефри с нуля пишет простенький mvc фреймворк с пояснениями
51 1630645
>>630639
Смотреть надо сидя за пекой, а не лежа на диване. Это тебе не развлекательный контент - тут думать надо и код писать следом
52 1630646
>>630579
Тут больше суть в разделении логики на слои: представление, контроллеры, модели. Разделение файлов по папкам лишь следствие подобной архитектуры

>1 большой код просто подгружающийся из разных файлов, так?


Да, если посмотреть с высока. Это разделение нужно в первую очередь человеку. Машине можно и байт код скормить
53 1630655
>>630646
А это разделение никак же не влияет на скорость работы? Просто один огромный код делится на куски, но всё так же работает в 1 момент? Наверно даже на подгрузку файлов уходит время и работает это на доли секунд медленнее
54 1630658
>>630644

>ларакастах


>джефри


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

> Это тебе не развлекательный контент


Вот и мне так показалось, хотя может зависит от учителя
55 1630680
>>630655
Влияние этого разделения на производительность ничтожно мало.
В беке наиболее узкое место это io (http, sql) - их и оптимизируют в первую очередь. До самой пыхи редко доходят.
56 1630681
>>630658

>нужен русскоязычный контент


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

> > Это тебе не развлекательный контент


>Вот и мне так показалось, хотя может зависит от учителя


Максимум, что может сделать учитель - грамотно подать материал. Заинтересовывать вас он не будет. Сами должны себя мотивировать на изучение.
57 1630683
>>630681
Блять как же у меня сгорела жопа вот с этого пидораса https://www.youtube.com/playlist?list=PLVfMKQXDAhGWCBTca7m-snWrZZkjX2jGB
Это просто ад нахуй как он объясняет, а что русня? А они блять лайки ему ставят и говорят что он лучший учитель что они видели, хуйло которое мычит и не может объяснить свои действия, жопа сгорела так что зарегистрировался и проставил вручную дизы на все 40 уроков по php, ебучая мразь, вот после таких учителей человек уже и не может понять язык и начинает путаться и бояться его
58 1630684
>>630680
По сути получается все эти файлы можно собрать в 1 и всё будет работать ровно так же? Ведь это и происходит постоянно, объединение кусков кода в 1 сразу из всех папок и файлов?
загружено.jpg5 Кб, 208x242
59 1630718
>>630065 (OP)
Эх, вот в скриптах то было всё!
60 1630739
>>630247
Спасибо большое за ответ.
61 1630776
Аноны, я научился в более менее фреймворки, в логику приложения и все такое. Но я хуевый программист.
Сейчас парсингом морочусь, юзаю либу для парсинга html. Но все равно , ножно рекурсивно побегать по дереву html, и я понимаю что я хлебушек.
Есть какой то задачник по подобного рода задачам с ответами желательно, что бы просто решать всякие задачи на циклы, рекурсию и прочую дребедень.
Знаю кодеварс, но там если затупил - ебись конем. Пока не решил задачу - нихуя подсказок нет.
62 1630788
>>630683
Всё еще продолжаешь смотреть русских ютуберов?
Всё в порядке с головой?
63 1630856
>>630788
Ладно, ладно, все, пойду смотреть Дмитрия Петрова - лучший переводчик Руси с английского и на английский, работал переводчиком с Горбачевым, Ельциным с самим тем, кого нельзя называть.
64 1630858
>>630788
Ты вот такой умный, а как смотреть ютуб на другиз языках - если ты их не знаешь? Учить новый зяык это та ещё ебля и займёт не 1 год, а научиться в похапе хочется уже сейчас.
65 1630860
>>630858
А это плохо, программист без английского - это писос, сложность в разы возрастает, это дефицит нормальной информации, живешь в вакууме, гроб, гроб, кладбище, пидор.
66 1630866
>>630683

> жопа сгорела так что зарегистрировался


Я думал только у меня аккаунта нет... Но может быть теперь я один.
67 1630868
>>630579
Тебя зря волнует скорость того, как работает 1 файл на 200к строк или 2000 файлов по 100 строк условно. Люди делают так, как удобно им. Вся пляска вокруг качества кода для того, чтобы избегать энтропии так долго, как только можешь. Компу реально похуй, че ты ему отдашь, он сожрет все. А вот человеку - не похуй. Стараясь сделать код гибче мы выигрываем в скорости внесения изменений, дополнений, да даже баг фиксов, вообще всего, что с разработкой связано.
Относительно блогеров на русском так то есть очевидный вариант, который нужно посмотреть - Елисеев. Если ты и дальше не будешь понимать в чем прикол - ну значит у тебя еще мышление не готово для этого.
68 1630893
>>630868

>Если ты и дальше не будешь понимать в чем прикол - ну значит у тебя еще мышление не готово для этого


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

>>630860
После коронавируса перейдут все на русский, осталось подождать
69 1630897
>>630893

> После коронавируса перейдут все на русский, осталось подождать


Так у нас тоже вирус есть. Только в РФ всем на него плевать, что позволит ему распространиться чуть лучше и убить 2% заболевших, или сколько там. Надеюсь он мутирует и повысит КПД
70 1630898
>>630893

> осталось подождать


Удачи, бротишь.
71 1630907
>>630858
Есть субтитры. Читать на инглише проще, чем слушать.
Не можешь на ходу читать и переводить, останавливаешь видео и забиваешь в гуглпереводчик
image.png1 Мб, 1118x817
72 1630908
>>630897
>>630898
Переезжаем в казахстан
73 1630911
>>630868
Поддвачну Елисеева. Довольно подробно расписывает все свои действия, перед этим дает теоретическую базу того, что будем делать и изучать. Единственный минус - очень долгие видео. Смотреть нужно с ускорением + паралельно код писать.
image.png54 Кб, 176x176
74 1630913
75 1630914
>>630893
Без наследования, пространств имен, кучи файлов и папок весь код лежил бы в одном файле в перемешанной куче (10к+ строк), разобраться в которой не сможет даже аллах.
Ты не поймешь, где у тебя шаблон, где бизнес логика, где общение в базой, где общение с внешними апи.
Примерно такой код в исходниках битрикса, за что его и чмырят.
76 1630917
>>630858
Нахуя ютуб нужен? Ты совсем хлебец?
ютуб нужен онли для того что бы обьяснили нубу что такое mvc, зачем нужен роутер и контроллеры. И все это для того что бы у начинающего был костяк, на который он сможет навешивать свой код.
Дальше - статьи, документация, чужой код.
77 1630922
>>630917
Да он ебантяй. Уже второй тред сред, как испоганили разработку своими классами и папками и мвц. Как было лампово писать скриптики на 100 строк.
И всё надеется найти что-то в ру сегменте ютуба...
78 1630924
>>630893

>>Я бы сказал мне больше не нравится то какой подход для этго выбрали


Ты просто нихуя больше чем хелловорд не писал.
До меня недавно снизошло откровение и я понял зачем нужны "практически" абстрактные классы к примеру. И ты до этого дойдешь, с опытом.
79 1630929
>>630922

>>Да он ебантяй


Думаю что его оппоненты такие же. Потому что как то тупо обсуждать такую ернуду. Не нравится ООП - вперед к функциональщине. Там понравится.
80 1630930
>>630914
Нормальные такие грабли и подводный камень значит битрикс навернул, но всё равно уверен могли бы придумать лучше, чем то что сейчас

>>630917
Как минимум лень, да и читать сейчас - это засорять мозг, хотя увидев вот это https://github.com/codedokode/pasta от прошлого опа, я был удивлён и мне даже стало интересно начать читать, наверно не стоит вас мучить вопросами пока не дочитаю всё до конца
81 1630931
>>630929
Только из php треда стоит выйти
82 1630932
>>630929

>Думаю что его оппоненты такие же


Но у меня нет друзей, от слова совсем.
83 1630935
>>630922

>как испоганили разработку своими классами и папками и мвц. Как было лампово писать скриптики на 100 строк


Идеально описал то что нужно, не смог бы сказать лучше
84 1630937
>>630930
Что лучше то?
До этого было структурное программирование (отказ от goto).
На его основе процедурное.
На основе процедурного строятся (и частично переплетаются друг с другом) функциональное и ооп.
Больше ничего не придумали вряд ли придумают в ближайшее время
85 1630938
>>630908
Да там ещё хуже, раз красной точки нет. Власти скрывают, либо всем ещё больше похуй на болезнь.
86 1630940
>>630935
Прогрес ушел далеко. твои 100 строк уже никому не нужны.
Нужен круд с админкой и фоновыми задачами, а еще чтобы интегрировался с несколькими внешними апи. Ну и апи для мобильного приложения и веба.
87 1630943
>>630935
>>630940
Уложил всё это в 100 строк кода? ограниченной длины
88 1630945
Wordpress убьет нода!
89 1630949
Пока в треде есть живые, подскажите простой фреймворк для изучения MVC подхода, нашёл вот это https://github.com/php-youtube/php-framework но мне кажется это говнокод который поведёт меня не туда
90 1630952
>>630945
Кстати, а в вордпресс и дле тоже используется mvc подход?
91 1630953
>>630945
Ты на ней писал то хоть что то сложнее хеловорда?
Нахуй он в общем случае не нужны.
92 1630957
мимо шел. Господа вкатывальщики, а вам не стремно тратить минуты свеой жизни на "доказывание чего либо" странноватым персонажам типа того анона, что ооп лишним считает.
Ведь в эти минуты вы могли чето полезное сделать/подумать.
Банально, но на самом деле пипец какая важная вещь. Понмаить на что стоит тратить врремя/мысли а на что нет.
93 1630959
>>630957

>Господа вкатывальщики


Я не вкатывальщик и многим тут отвечаю на их вопросы.
94 1630962
>>630957
Для этого и создал тред, чтобы доказать правильный путь оступившимся после беспощадного русского ютуба.
95 1630966
Тут кажется завелся человек, которому целый день нечем заняться и он готов флудить на любые темы. Найди себе занятие поинтереснее.
96 1630977
>>630966
Попытки понять MVC - это флуд? да, заняться совершенно нечем и не с кем
97 1630978
>>630977
Если ты не понмаешь зачем MVC - то ты в принципе не потянешь, и на тебя нет смысла тратить время. Мой младший брат, пару дней поковыряв пхп на нулевом уровне - за час понял зачем нужно MVC.
98 1630984
>>630978
Не всем быть сверхукровоином света как твой брат от чистокровного укрохряка с чупчиком на голове с враждённым геном служения и писания говнокода за хрывны в копеечном эквиваленте
99 1630989
Как тред умудрился дегроднуть?
Тут никого не осталось из вкатывальщиков 2+ давности?
100 1630991
>>630989

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


Возможно это всё из-за меня. Я пришёл полгода назад в более менее адекватный фронтенд тред, он скурвился за месяц-два, сейчас там просто пиздос творится, потом я пришёл в жс тред, та же история, а в итоге я дошёл сюда, ведь в моем городе фуллстаки/бэкендеры нужны, а остальных почти всегда опытных ищут и видимо угробил этот тред. Одно могу сказать точно - мвп тред был ебанутым, я не при чём.
101 1630994
>>630991
А ты кто?
102 1630996
>>630984
Ебу дал? Я русский, в Сочи живу.
103 1630997
>>630989

>Тут никого не осталось из вкатывальщиков 2+ давности?


Ну я например сижу тут с 2к17. Успел сделать студентов, файлообменник. Сейчас пилю тестахаб на ларавеле. Вообще есть работа не связанная с кодингом, айти и т.д., а то если бы я дома хикковал и фулл тайм это дело пердолил, то наверное бы уже смог вкатиться.
104 1631001
>>630994
Просто вкатыш. От меня никакой шизы не исходит, но где я, там шиза появляется. А ещё меня битрикс контора игнорирует и надо бы им написать, а то я настроился к ним идти.
105 1631010
>>630957

>не стремно тратить минуты свеой жизни на "доказывание чего либо"


Не потрачу здесь, потрачу где-то еще. Это всяко интереснее унылых тасок с прода по ковырянию в очке говнокоде
106 1631013
>>630997

>сижу тут с 2к17


Какой-то супервялый вкат. Ну максимум год это должно занимать от хелоуворлда до работы стажером/джуном.
107 1631016
>>631013
А я уже и со счёта сбился
4й год точно
108 1631017
>>631013
Так мне не надо. Просто время убиваю с относительной пользой, не в игры же играть.
109 1631018
>>631017

> не в игры же играть.


Почему бы и нет?
110 1631074
>>631017
В чем польза собственно?
Толку 0. Заработанных денег 0. Переката в кодинг нет.
Рили лучше б в игрули играл.
111 1631080
>>631074

>Рили лучше б в игрули играл.


В чем польза собственно?
Толку 0. Заработанных денег 0. Переката в игрульки нет.
Рили лучше б в кодинг кодил.
112 1631093
>>631074
Для удовольствия же, это иногда даже лучше чем порно
113 1631104
Анонче помоги написать регулярку

Как выбрать все между hash: '2', data:function(){return

и

?

preg_match("@hash: '2', data:function(){return (.*?)}});</script><script aria-hidden=@u", $info, $out);
114 1631152
>>631104
Ты что наркоман?
115 1631162
сдэк api кун снова в треде. анон подскажи такой момент. вот я получил массив с данными после ввода своего города и теперь их паршу через цикл for. и там есть две такие строчки:
$addarray['coordX'] = ''.$pvz_list_data['pvz'][$i]['coordX'];
$addarray['coordY'] = ''.$pvz_list_data['pvz'][$i]['coordY'];
проблема заключается в том что когда я ввожу только дс1 или дс2 он мне выбрасывает Notice: Undefined index: coordX и Undefined index: coordY.
Смотрю заново массив что прилетает - там все есть. и индексы необходимые и у них есть нужные числа
С другими городами все норм работает, эти индексы он без проблем тянет, и они такие же непустые. в чем может быть проблема?
116 1631265
Существует ли еще какой-нибудь относительно популярный язык, в котором для обращения к переменной используется та же конструкция, что для ее объявления? Очень хочется написать

$a=1;
echo a;

, а вот хуй.
117 1631272
>>631265
Перл? Пхп из него много содрал.
118 1631303
Как убедить заказчика что нужно переписать проект со старого yii на ларавел?
119 1631311
>>631152
Дай контакты, убежу его переписать на функциях
120 1631320
>>631303
"Я могу добавить функционал текущей задачи на йи за 20 часов, следующей за 30, третьей за 50. Или переписать проект за 50 часов и сделать все три задачи за 10 часов каждую."
Проблема в том что со стороны заказчика, новый функционал нужен сейчас, а НУЖНО ПЕРЕПИСАТЬ наступает когда говнокод его проекта никто не хочет трогать даже одиннадцатифутовой палкой.
121 1631386
>>631265
JavaScript
122 1631631
>>631303
Дропнуть заказчика
123 1631741
Аноны оцените код, хорошой вариант для обучения в MVC? https://github.com/php-youtube/php-blog Насколько он безопасен от инъекций и прочих видов взлома? Можно без опасений на нём создать например информационный сайт как на ворпрессе?

Где можно ещё достать такие протейшие готовые фреймворки для понимая скруктурирования и деления файлов и классов? Таких чтобы были написаны по минимуму и максимально понятны?
124 1631744
>>631017
А я вкатываюсь чтобы кодинг юыла основной фриланс работой, ещё в игры поигрываю
125 1631810
>>631741
Это новый мем какой-то? Напиши что тебе непонятно один раз и мы всем тредом тебе ответим в надежде что ты перестанешь срать про свой мвс в пхп или хотя бы сменишь тему на поворот красно-чёрного дерева.
126 1631899
>>631744

> основной фриланс


Земля тебе пухом братишка
127 1631912
Ну как на пыхе писать нормально? Везде бардак! Что-то присваивает что-то и вызывает метол, возвраха
128 1631918
>>631810
Я не могу понять как правильно разделять классы, что помещать и писать в модал, что в контрол, а что в вьюв, и что откуда подключать и что где нужно писать чтобы было правильно, пример что в контрол ненужно писать рендер страницы, это делают файлы из вьюв, хз как это называется, структура фрейворка по вмс чтоли
129 1631920
>>631810
По этому решил просто найти самый простой вариант и задрачить его до строчки пока не пойму, пример выше хороший? И можно вообще его всерьёз использовать для своего сайта или он как решето? Плюс хотелось бы посмотреть на другие реализации сайтов простейшей направленности, типа блог/киносайт/инфосайт
131 1631926
>>631921

>english


Я бы с удовольствие, но не научили
132 1631927
>>631926
Ты сам учиться должен!
133 1631929
>>631927
Это делается не за день и не год, а мне нужно сейчас
134 1631934
>>631926
Ну и пошел нахуй из айти
135 1631935
>>631934
Нет, я выучу и без английского
136 1631936
>>631929
Значит тебе еще рано сейчас. Штулируй duolingo хотя бы весь курс. Читай с переводом только незнакомых слов, даже если это будет долго.
137 1631945
Анончики, подскажите, как поменять корневой каталог на сервере? Это через htaccess или инструментами хостинга надо делать?
image.png261 Кб, 480x360
138 1631958
139 1631977
Аноны, а все фрейворки написаны на ООП? Какие ещё есть и можно примеры на них?
140 1632080
>>631977

>Какие ещё есть и можно примеры на них?


Если решил угореть по фп, то пыха для этого не подходит.
Хочешь кушать процедурщину и лапшу - бери любую цмс битрикс, там нет ооп
141 1632090
>>632080

>фп


Что это?

Хочешь сказать все фрейворки собраны на ООП? Дядя из видео сказал что в основном, то есть есть и другие, вот и хочу узнать как она выглядят
142 1632127
143 1632129
>>632090

>Дядя из видео сказал


Этот дядя русский?
144 1632141
Почему ни 1 пидорас не сказал мне про namespace, и ни в однмо обучающем видео этого тоже не было, аноны, кто уже изъебался в попытках понять как эти долбаёбы подключают кучу файлов без использования инклуд, посмотриет это, вся каша говна в вашей голове улетучится украинцам https://www.youtube.com/watch?v=Ajmn6afKsYM
145 1632145
>>632141
Читать надо нормальные источники, а не говно с ютуба смотреть.
https://phptherightway.com/ - ответ на 99% вопросов про то как писать
146 1632149
>>632129
жопаузкий
147 1632150
>>632145
Сидеть всё это и читать сидя за пк можно остаться без жопы и глаз
148 1632155
>>632150
Разработка это вам не курорт. Сидим за пекой, выжигаем глаза, сажаем шею и спину, зарабатываем геморой
149 1632186
>>632155
По этому можно учить лёжа на диване пока украинская похапе макака тебе всё уже расжевала и объясняет с экрана на пальцах
150 1632191
>>632080
Меня недавно кент один ппопросил помочь в его цмс - редкая, даже не буду называть, ее один человек пилит.
Я вам скажу это лютый пиздос. Как я понял все барахло, классы%%их там нет кстати вроде, функци везед%, хтмл, запросы - все это в одном файле. Это полный пиздец если честно.
151 1632194
>>630776
Бампаю свой вопрос.
Сейчас в треде какой то унылый пиздец творится.
Давайте всетаки ближе к прогингу. Кто какие ресурсы сзадачками знает?
По sql мне в свое время очень sql-tutorial помог. Задачник там отличный.
152 1632195
>>632080

>фп


Что такое фп?
153 1632198
>>632191

ОТКРЫЛ
@
УВИДЕЛ ГОВНО
@
ЗАКРЫЛ


никакого бугурта
154 1632242
Я пришёл в php из js, у меня возникли такие вопросы

В ассоциативном массиве обязательно задавать значение стрелочкой => ? У нас это делалось простым двоеточием, здесь есть альтертивный синтаксис?

При вызове метода у объекта класса он так же вызывается стрелочкой -> , можно это делать как-то тоже альтернативным способом? У нас это делается просто точкой

Ещё мне не нравилось что конкатенация идёт точкой, в js это был просто + , но вчера понял что это очень даже логично, перечисление параметров идёт через запятую, а их склеивание через точку, тут я согласен с синтаксисом
155 1632268
>>632242

>Я пришёл в php из js, у меня возникли такие вопросы


А я пришел потыкать пхп палочкой из жс и у меня возникло недоумение, как на этом собачьем языке вообще кто-то программирует. Про обращение к переменным через $ я уже бугуртил выше, но $cars[] = 'Mersedes'; это же тоже пиздец.
156 1632274
>>632242

>Я пришёл в php из js


Иди дальше, не задерживай
157 1632298
>>632268
Не знаю, всё вполне логично, переменная машина котороая массив равна мерседес, объявление переменных тоже заебись, никаких ебучих варов летем и констанов
158 1632301
>>632268
А в чем бугурт с $? Мне после питона и джс наоборот это понравилось, сразу видно, что вот тут переменная, не надо всяких варов писать и т.п.
IMG20200313203737773.JPG48 Кб, 720x711
159 1632302
>>632298

> переменная машина котороая массив равна мерседес,


Сам то понял что написал? Это пуш в конец массива
160 1632304
Я пришел в php из джавы.
161 1632305
>>632302
Ладно, добавить в массив кар значение мерседес и автоматически задать ему максимальный ади+1, что тут непонятного, всё заебись, ты дура
162 1632306
>>632242
Блять инвалиды не переводите тему, а отвечайте на вопрос, обязательно значения в объекте задавать стрелкой с равно, а вызывать методы стрелкой с дефисом? Может есть альтернативный способ, как с созданием массива, или через аррей или просто через квадратные скобки
163 1632315
>>632305

>что тут непонятного


Мне то все понятно, это ты написал какую-то дичь
164 1632321
>>632306

>обязательно значения в объекте задавать стрелкой с равно, а вызывать методы стрелкой с дефисом


Ох ты ж блядь, еще и стрелки разные.
165 1632323
>>632306
Это на объект, а мапа. Объекты у нас по другому делаются. Нет, нельзя, разве что через обычное =, но уже после объявления.
Без -> вызывать в целом нельзя. Можно через квадратные, если запаришься реализовать ArrayAccess. Можешь через рефлексию всякую. Но это легче твою жизнь не сделает, так что ответ - просто нельзя. Для статики если че у нас :: используется, и если я все правильно помню сама эта херота еще с крестов пошла.
Относительно точки - ну не знаю, что там особо логичного ты увидел, но о ней было бы прикольно вспомнить в том контексте, что именно из-за такой конкатенации и обратной совместимости в пхп не уйдут от ->.
166 1632324
>>632301
За переменные платить надо целый доллар за штуку.
167 1632325
>>632304
Чем джава не угодила?
168 1632327
>>632325
Громоздкостью. И ритуалами священного интерпрайзного ооп со спецификациями.
169 1632333
>>632327
Тогда лучше в питон или жс. Пхп стремится к тому, от чего ты ушел.
170 1632344
>>632301
В том что вызов тоже через $. Если ты до пыхи писал на чем-то кроме перла, открой учебник в ОП и делай задачки. Только пиши код, а не только читай условия. Баттхерт гарантирован.
171 1632356
>>632323
Ну смотри, передаём в функцию значения, разделяются они запятой, а склеить их из нескольких значений можно точкой, пример

foo('Файл', "index".".php")

Мне кажется очень даже удачно придумали с точкой

По стрелочкам тогда придётся смериться, просто очень нравилось делать это доеточием и точкой, задаём двоеточием, вызываем точкой
172 1632357
>>632344
Поебать на чём писали инвалиды повидавшие говноязыки, мы начинаем с js и php и нам создание и вызов переменной через $ нравится, разу видно где идёт работа с переменной, она сразу выделяется в куче писаннины
173 1632359
Я JS тоже нужно сделать создание и вызов перменной через $, и пусть всем варо лете конста бляди отсосут
174 1632360
Мы пишем на языке не тепезированного типа, так что нам на ваши константы в 90% случаев просто поебать
175 1632370
>>632195
Функциональное программирование
176 1632383
>>632370
Понял, принял, тупанул, в следующйи раз пиши капсом, ФП наше всё!
177 1632415
Где можно скачать ларакасты?
На рутрекере есть некоторые серии, но не все.
Поделитесь кошерным трекером.
178 1632485
>>632323
Зачем ты этому ебанату вообще отвечаешь? Его вопросы чистой воды троллинг, ну или кристальный идиотизм.
179 1632500
>>632415
Заплати дяде Джефри и выкачай все. Потом в облако зальешь
180 1632517
>>632485
то что ты агресивный петух украинец не означает что все такие
181 1632562
Точно! Верно
182 1632569
>>632500
Давай скинемся 50/50?
183 1632585
>>632569
Мне лучше симфоникастс, т.к. ливаю туда.
Заебал ваш херак-херак-в-продакшен ларавел.
184 1632607
>>632585
Ишь ты какой!
someApprentice !EaaiHmIJms 185 1632648
Тред не легитимный и не спарситься для phpclub.tech, потому что не содержит слова 'Клуб' https://github.com/phpclubtech/phpClub/blob/master/src/BoardClient/DvachClient.php#L79
186 1632654
>>632648
ебать вы лохи, не могут расширить фильтр или искать по тегам
187 1632668
Yii устарел лет 5 назад, выпилите его из шапки и поменяйте на Laravel уже. Вообще от всего описания несет каким-то старческим песком - давно пора все обновить.
188 1632821
Решил изучить ООП, прочёл Мейера, понял где-то 20% книги. Это нормально?
189 1632888
>>632585
Господа граждане! Вы же понимаете что симфони бессмысленная штука. Зачем на пхп писать сложно, если его ВСЕГДА берут чтобы было быстро и просто. Если допустимо долго и сложно нужна строготипизированая хуйня с тырпрайз наворотами дотнет например

мимо симфонист не из филармонии
190 1633025
>>632821
Наверно да, я вот на циклах застрял, не могу понять их логику
191 1633031
>>633025
Помню в колледже сделал цикл без выхода. На TASM.
192 1633034
>>632301

> А в чем бугурт с $?


В слепой печати 300+ символов в минуту, которая идёт по пизде, потому что неудобно до доллара тянуться. Это не значит, что я хочу код писать с большой скоростью - просто я привык печатать не особо уделяя время тому, на какие клавиши я жму - а с долларом и промахнуться можно.
193 1633038
>>633034
Быстро привыкается. У меня тоже был бугурт по этому поводу первое время, а сейчас уже даже не замечаю. При этом пишу как минимум еще на 2 языках, кроме пхп, постоянно.
194 1633069
>>630913
С лица воду не пить. Тебе легче было бы, если бы этот РНР учитель был красивым няшкой Чедом?
195 1633081
Многие пишут, что после X нельзя уже вкатиться на Y. Х может быть любым, как и Y в общем то.
Что-то типа проработал хоть день в госучреждении пхп джуном - всё, никуда больше не возьмут, зашкварен. перейти на чистый фронт с модным фреймворком и так далее.
А почему так? inb4 научат плохому - вроде как можно постепенно полировать знания, учиться хорошему
196 1633082
>>633081
Можно, просто есть крайние случаи, типа ковырять пару лет вротпресс. Это звоночек. Но все равно можно.
197 1633089
>>630065 (OP)

>Уже Весна за окном


Зачем в каждом треде вспоминать это окно? За окном - улица. Нам туда не надо.
198 1633091
>>633089
УМЕРАЕТ ЛЕТОВ
199 1633094
>>630296
Удвою про буст. За 2 дня написал тестовое на пару сущностей, с админкой и АПИ. Ещё и тестами это АПИ покрыл.
И это при том, что я фреймворк только изучаю и много читал в процессе.

На чистом пыхе ебался бы недели полторы.
200 1633129
>>633081

> зашкварен. перейти


Я ж знал, что что-то не то с текстом произошло. Тупо пара предложений куда-то исчезло.
201 1633146
>>633081
Если человек трудился в более худших условиях и потом осилил новую профессию/навык/язык и т.д., то это лишь ему плюс в глазах работодателя - что он превозмог и покинул болотце, по крайней мере, у меня так в инженерной среде заводчан.
202 1633216
>>632888

>его ВСЕГДА берут чтобы было быстро и просто


Когда надо просто, берут Laravel или Yii2 на худой конец. Symfony - это когда хочется/требуется тырпрайз, но денег нету на джавистов. Ну и по личному опыту могу сказать, что на симфони писать в целом в разы приятнее, чем на Spring.
203 1633220
>>633216
Что на ларке, что на ии сейчас может каждый себя уважающий сеньор устроить тырпрайз. И даже без низ. Даже скорее без них, потому что ему так будет удобнее.
Вообщ глядя на всю эту пляску вокруг парочки фреймврков и смешно и грустно становится. Все совсем не так в итоге. Дохуя опытные пилят все мимо всей этой параши. Неопытные же пилят в мусорную корзину походу.
204 1633225
>>632585
Вообще нифига не понял этот Ларавел. Быстрее, чем на Yii2, по времени разработки все равно не выходит, местами все какое-то больно мудреное, хотя по идее должно наоборот облегчать и ускорять разработку. В итоге для личных проектов, когда надо что-то быстро накидать и запустить, по-прежнему использую Yii2, а на работе Симфони.
205 1633226
>>633220
На чем угодно можно устроить тырпрайз, даже без всего, но зачем это делать, когда есть готовое.
206 1633228
А что насчёт Slim?
207 1633229
>>633228
Это хороший выбор, но ты при этом должен уметь все, что слим тебе не дает. А что, что дает - должен полностью понимать.
208 1633233
>>633229
Начал смотреть по нему уроки для осиляния mvc, так как местные омёбы так и не смогли мне ничего посоветовать, двач стал тупым таким же как и я, стадо пидорасов неспособные меня ничеу научить
209 1633267
>>633233
Чтобы объяснять материал нужно иметь опыт объяснения или педагогическую жилку. Часто бывает так что способные схватывают материал без труда, но не могут передать навык так как они его сразу в свернутой форме усваивают, без периода обучения. Вот что не характерно для способных - это потребность, чтобы кто-то им этот материал объяснял.
210 1633319
>>633233
Ну, я та же самая амеба, которая советовала тебе посмотреть Елисеева. Чувак неспешно, но по делу, показывает как от говна к нормальному коду прийти. Получается ты мой совет случать не стал. Ну зря че уж, там очень поднобно человек объясняет. Ну а а слим был бы следствием вообще после усвоенного материала.
211 1633406
>>633319
Не, его видео по MVC я посмотрел, нормально, но очень долго, пока отложил его на потом
212 1633411
Сейчас занялся вопросом безопасности, пользуясь случаем, анончики, подскажите VPN сервисы которыми пользуетесь, я правильно понимаю что лучше всего купить VPS и установить на нём VPN самому? И брать его где-нибудь в Нидерландах, чтобы тебя точно не сили правосекам? Дорогова-то конечно выходит до 5$ в месяц для пары подключений в день к своим серверам для выгрузки кода
213 1633413
>>633233

>стадо пидорасов неспособные меня ничеу научить


Мог бы хотя бы не называть пидорасами тех, кто на тебя и твои проблемы внимание обратил. Так то они тебе ничего не должны.
214 1633436
>>633413
Им я сразу сказал спасибо, а пидорасы это те которые начали мне втирать что я даун что не изучаю другие языки и что я без них никто и прочую хуйню
215 1633496
>>633233

>так как местные омёбы так и не смогли мне ничего посоветовать


Уебок, блядь. Ссылку кидал на ларакасты, где препод с нуля пишет мвс фреймворк.
Хули еще тебе советовать, если ты ленивое хуйло?
216 1633497
>>633406

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


Просто иди нахуй из треда
217 1633506
>>633496
Уёбище учи сам английский ради твоего обосанного курса по ларавел
Сам иди нахуй чсв ебаное
218 1633534
>>633506
Заяц, нахуй тебе этот англицкий луравел, иди учи битрикс
219 1633536
>>633534
Нахуй мне битрикс, когда мне нужен php чтобы писать скрипты для себя
220 1633602
>>633496

>ларакасты, где препод с нуля пишет мвс фреймворк


Шо?
Ларакасты это обучалка по ларавель, как бы. Причём тут написание фреймворка?
221 1633672
>>633506
>>633602
Вы ебанаты?
Там есть раздел по чистому php без привязки к ларавелу, где препод с нуля пишет мвс фреймворк (не ларавел).
Палишь им годноту, они нос воротят.
222 1633674
>>633536

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


Нахуй ты сюда пришел тогда и спрашиваешь за мвц?
Сиди да пиши на чистом php без фреймов и библиотек.
Хуле тебе еще надо?
223 1633677
>>633672

>Там есть раздел


Где там то, поехавший? Ни одной ссылки не видел.
1-223 224 1633814
>>630139

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

>>630579

MVC - это архитектура, в которой код разнесен в модели, вью и контроллеры, у которых свои роли, как описано в статьях и учебниках. Первоначально придумывалась для интерактивных программ с GUI, позже была адаптирована для серверной части веб-приложений. Я уже давал в прошлом треде ссылку на урок но видимо это платиновый вопрос какой-то: https://github.com/codedokode/pasta/blob/master/arch/mvc.md

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

Разделение на файлы не имеет отношения к MVC, его делают, когда код становится слишком большим по объему, для удобства.

>>630655

Что тебе мешает измерить? Это зависит от ситуации, от используемых файлов, характеристик компьютера и еще кучи факторов, потому надо мерять. Используй функцию microtime(true) и померяй.
225 1633815
>>630776

Изучай DOM. DOM - это представление HTML кода в виде дерева из элементов (погугли, что такое дерево как структура данных). Если гуглить, попадается в основном информация по JS, но поддержка DOM есть и в PHP, правда, довольно ограниченная, без функций вроде querySelector. Можно взять задачи на DOM из JS, или взять такие задачи:

- вывести, какие теги и сколько раз встречаются в HTML
- найти все поля <input type="password"> на странице
- найти картинки без атрибута alt
- добавить атрибут alt="Картинка" в те места, где его нет
- найти все абзацы (<p>), в которых нет ни одной картинки, и добавить туда картинку
- заменить теги <i> на <em>
- заменить текст, разделенный <br> на текст, обернутый в абзацы (<p>)

DOM описан в мануале PHP: https://www.php.net/manual/ru/book.dom.php - потребуется понимание ООП, чтобы разобраться.

Советую написать вспомогательные функции: 1) для обхода дерева с вызовом функции на каждом элементе 2) для трансформации дерева, с вызовом функции на каждом элементе, и эта функция решает, как его заменить.

>>630893

Вместо того, чтобы ныть, разберись, зачем эти пространства имен придмали. Твоя проблема в том, что ты не зная основ, берешься сразу за сложное, ничего не понимаешь, и начинаешь ныть. А надо идти потихоньку от простых вещей к сложным. Не понял неймспейсы - потрать время на их изучение, прежде чем двигаться дальше. Не понимаешь ООП - изучи его. И так по каждому пункту. Тебе еще рано изучать фреймворки без базовых знаний.
226 1633816
>>631104

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

>>631162

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

>>631945

Это делается директивой DocumentRoot. Если открыть ее описание, то видно, где ее можно размещать: https://httpd.apache.org/docs/2.4/mod/core.html

> Context:\tserver config



(щелкнув по ссылке)

> server config


> This means that the directive may be used in the server configuration files (e.g., httpd.conf), but not within any <VirtualHost> or <Directory> containers. It is not allowed in .htaccess files at all.



То есть нужно править конфиг сервера, на хостинге это делается как-то через панель управления. Если ты поднял Апач у себя, то просто редактируется файл в /etc/apache2/ (иногда на каждый хост делается отдельный файл) из-под админа.

>>632654

Расширить фильтр можно, но проще просто называть тред, как обычно, и проблем не будет. Не надо себя вести агрессивно.
227 1633817
>>633672
Скажи лучше где скачать, чтобы не платить по 15 шекелей в месяц.
228 1633935
Не знаю куда написать, вообщем мне дали тестовове:
https://drive.google.com/file/d/1amAqS96pIkOt6nb1p0yaNcUrpUjYCeu_/view

Я вообще не уверен что это нормально, вакансия зп 18к контент-менеджер, про существования водпресса только слышал, как мне его делать, если сдавать после завтра.
229 1633951
>>633935
контент менеджер это тот кто и будетнаполнять сайт контентом, а большинство сайтов убраляется вордпрессом, админка водпресса как майкрософт ворд, проста и изящна, что тут сложного, просто залей вордпресс на хостинг и скопипасть новости с красивым оформлением
230 1633953
>>633951
Так и знал что пыхари - это контент менеджеры.
231 1633962
>>633953
А где в вакансии собственно говоря нужен php? Для такой работы как в этом тестовом вообще человек даже не нужен, скрипт на селениуме сойдет
232 1633965
>>633935

>про существования водпресса только слышал


Просто накати и потыкайся - там для домохозяек всё сделано. Разберёшься до послезавтра как нехуй.
233 1634026
>>633935

> не уверен что это нормально


Я тоже, ведь 18к это больше не всегда, конечно, чем в моем городе начинающий разработчик получать будет, а вроде разработчик поквалифицированнее будет, если я правильно понимаю то, что делает контент-менеджер.
234 1634038
>>634026
контент менеджер просто копирует и вставляет текст на сайт, наполняет его бесполезным говном о компании
235 1634039
>>633229
Я на нем написал мвц фреймворк с орм для монги и MySQL, потом почесал репу и взял для проекта ларавель. Не очень понимаю зачем нужен Слим, если ты не апи реализовать пытаешься, это по сути просто роутер и 2 интерфейса, для запроса и ответа, там даже из реализации из коробки нет, нужно ставить отдельно, как и di. По крайней мере в 4 так.
236 1634044
>>633951
Так и куда тыкать поставил этот сайт в виде темы дальше то что, рубрики абсолютно никак не добавляются, дажу пишут к этой теме нельзя, мне вот что с 0 ваше говно верстать по макеты этому и натягивать за спасибо, ах да сдать надо завтра утром.
237 1634047
>>633965
Мне сдавать уже прям сейчас нужно, щас попробую посленее кое-что и забью хуй.
238 1634050
>>634038
Я веб разработчиком меньше заебывался так что ты тут не пизди.
239 1634053
>>634044
зайти на ютуб, там тонный видео по вордпресс, это просто готовй конструктор, установил, надел любой понравившийся дизайн кнопкой установить и пошёл наполнять, тебе же просто контент сказали добавить и оформление текста сделать
240 1634054
>>634039
ставишь на слим твиг и вот у тебя уже дизайн есть
241 1634058
>>634053
мне сказали перенести готовый сайт на вордпресс и потом хостинг попутно внедрсяя всякие правки
242 1634059
>>634058
Видимо вордпресс для сверхразумов веернусь на галеру питонистом.
243 1634060
>>634058
Ты наверно не понял задание, контент менеджер наполнят сайт контентом, а не переносит чужие сайты на хостинг
244 1634061
>>634060
Видимо они не поняли что конетнт-менеджер делает я выше скидывал скрин тз.
245 1634062
>>634039

>Не очень понимаю зачем нужен Слим


Чтоб собрать свой фреймворк с моделями и сервис-провайдерами.
246 1634130
>>634054
Ты хотел сказать ставишь твиг, орм, либу для авторизации, di, регистрируешь там сервисы.
Или просто качаешь ларавель
247 1634285
>>633817
Сука блядь, курс где он пишет мвц в свободном доступе, качай прямо с ларакастов.

Неужели вы такие дегенераты?
248 1634286
249 1634299
Не так давно тестовое было - огромное, из 10 комплексных задач, на 3 дня. С игнором после выполнения.
Сегодняшнее тестовое - тест на 10 минут.
Как так? Почему тестовые такие разные?
250 1634317
>>634285
Да мне нафиг не нужен твой курс про мвц. Я тот анон, который ищет трекер с ларакастами. То что бесплатные курсы можно смотреть БЕСПЛАТНО я знаю.
Чего ты такой агрессивный? Лучше бы помог с поиском трекера.
251 1634326
>>630065 (OP)
Может кто-нибудь(что нибудь) конструктивной мотивации подкинуть, как начать кодить и где тот самый мой катализатор работоспособности?!
252 1634327
>>634326

> конструктивной мотивации подкинуть, как начать кодить


Кодь. Это в твоих интересах, если ты хочешь работать кодером. Если не хочешь - не кодь.

> где тот самый мой катализатор работоспособности?!


Я не брал.
253 1634341
Аноны, киньте с гитхаба открытый простетский готовый скрипт статистики на похапе, без всяких свистоперделок, написанный мужиками и с обычным дизайнов в стиле бутстрапа, есть такой? Чтобы показывал какой количество юзеров, с каких ос, какого браузера, куда зайшли, откуда пригли, и чтобы можно было передавать туда свой параметр, например для идентификации пользователя, смотреть что он посещал, и чтобы всё это в простой таблице в стиле бутстрапа, есть такой готовый код для натуралов?ну очень не хочется ебаться и делать всё с нуляяндекс метрику и гугл анальный зонд сразу нахуй
254 1634360
>>634317
Сори, нервничаю.
Насчет трекера по ларакастам - сам в свое время искал.
Что-то есть на рутрекере, что-то на ннм.

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

Вкатиться в лару (вплоть до работы джуном) можно вполне без платного контента я так и делал
Если кровь из носа нужен платный контент - платишь разово 15 бачей и выкачиваешь себе в облако весь ларакаст с офф сайта.

Еще можно посмотреть на курсхантерс.

Помимо этого у елисеева есть мастер класс по ларавелу рутрекер
255 1634362
>>634326
Не кодь. Эта работа из тебя всю душу высосет. Лучше на завод с мужиками
256 1634363
>>634341
Тебе еще в прошлом треде кидали
257 1634384
>>632821
По сколько страниц в день читал? Читаю по 20 "Создаем динамические веб-сайты"
258 1634396
>>634384
30-40. Там в конце пошла ненужная херня про Ada и прочий легаси.
Я вообще сейчас беру учебники "брутфорсом" - прочёл учебник, понял не до конца, читаю другой учебник, понял ещё больше и т.д..
259 1634456
Есть где свежий мануал по работе с phpstorm ?
260 1634459
>>634456
Вообще о таком не слышал. Даже если и есть, то это уровня мануалов по работе с вордом.
262 1634500
>>634285

>дегенераты


Вот, кстати, почему англоговорящие в ИТ не такие токсичные уебаны. На этих ларакастах вполне мирные ребята поясняют по-простому и без выебонов в сторону слушателя. Почему вы этому у них не учитесь?
263 1634501
>>634500
Ну и да - это не ларакаст.
264 1634579
>>634341

Есть сложный скрипт - piwik, про простые не слышал.
265 1634609
>>634360
Спасибо.

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

Но приятно посмотреть как пишет Джефри, некоторые вещи в голове встают на свои места, код становится красивее и т.д.

Эх, видимо придется заплатить 15 долларов.
266 1634615
>>634609
А ну пакаш чё за джефри, покаш своего мальчика, тоже хочу посмотреть на красивый код
267 1634636
>>634615
Вот тут смотри https://laracasts.com/

Курсы вроде https://laracasts.com/series/laravel-6-from-scratch бесплатные.

А такое https://laracasts.com/series/solid-principles-in-php платно, но можно по названию на Рутрекере поискать.
268 1634638
>>634636
Трекляты янки убийцы, ничего не пойму на их собачем языке, нет пути
269 1634640
>>634636
Аноны, есть же на ютубе озвучатели, дайте им эти курсы, пусть договорится с автором и переведёт, и сам заработает и нам хорошо
270 1634646
>>634638
Ты все равно посмотри, там все понятно.
271 1634649
>>634500
Да потому что в постсовке все уже хотят вайти, даже собаки со двора.
Реально заинтересованных в кодинге людей практически нет.
272 1634650
>>634609
За красивым кодом нужно идти к джавистам. Роберт Мартин, Фаулер, банда четырех - их книги стоит изучать, чтобы писать тырпрайзный код
273 1634659
>>634650
Двачую твои слова, брат Паджит! Учись у жавистов станешь как великий сир Нагур Бабу!
274 1634669
Ждуны, пилите стори, мне очень-очень интересно.
1. Какой лвл?
2. Сколько изучали для того, чтобы вкатиться?
3. Что ещё кроме php изучили?
4. Сколько платят? (можете диапазон писать, кто не хочет писать цифры)
Буду рад, если отпишитесь, друзья!
275 1634696
>>634650
Не спорю.

Но тут двух зайцев убиваешь. И инстремент (фреймворк) учишь и полезные практики перенимаешь.

Никто не мешает параллельно читать и книги про паттерны.

Кроме пользы никакого вреда!
15428541741340.jpg10 Кб, 329x331
276 1634699
>>634669

>мне очень-очень интересно


Ну ок.

1. Какой лвл?
24

>2. Сколько изучали для того, чтобы вкатиться?


3 года

>3. Что ещё кроме php изучили?


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

>Сколько платят? (можете диапазон писать, кто не хочет писать цифры)


25-35
nwordpastor.png141 Кб, 440x428
277 1634746
Дошел до ООП по туториалам от ОПа. По прочтению теории создалось впечатление, что весь материал усвоился - все логично и понятно. Однако как только подошел к задачам про Вектор, сразу стало ясно, что я понятия не имею, как ООП используют на практике. Поскроллил архивы на phpclub.tech, почувствовал что в среднем у местных анонов общий уровень понимания PHP гораздо выше, потому что я даже не имею представления, как подступиться к решению, в то время как аноны хотя бы накидывают свои соображения.
У меня лишь пару идиотских вопросов, но я был бы признателен, если бы кто-нибудь оставил комментарии по ним.
#1 В каком формате мы получаем input от пользователей скрипта? В каком виде поступает raw data, из которой нужно построить статистику?
#2 По поводу свойств сотрудника. ОП говорит: "У Сотрудника есть ранг, базовая ставка, профессия, является ли боссом. Потребление кофе или зарплата не являются свойствами так как они вычисляются из других свойств и хранить их не надо."
Есть базовая ставка (свойство), из которой высчитываем реальную зарплату. Однако у каждого специалиста есть базовый уровень потребления кофе, из которого выявляется фактический объем выпитого вещества. Почему базовая зарплата - это удачный кандидат для свойства, а базовый уровень потребления кофе - нет? Стоит ли указывать принадлежность к отделу как свойство?
278 1634781
>>634669

>1. Какой лвл?


28

>2. Сколько изучали для того, чтобы вкатиться?


Около года

>3. Что ещё кроме php изучили?


Базовая верстка (барбершоп), python django (не пригодился), php laravel

>4. Сколько платят?


Начинал с 30к, сейчас апплаюсь на 100-120к
279 1634919
>>634669
1)21
2)3 месяца
3)питон, джангу, алгоритмы, базы данных, верстку, javascript
4)25-45к
280 1635168
>>634669
1. 14
2. 1 час на утубе для каждого языка
3. все что есть на утубе за 1 час
4. 300к я фулл стак синиор
281 1635235
>>634669
На самом деле это просто ещё один тред для ищущих работу.
282 1635245
>>634669
Вот нахрена тебе эти стори? Все отвечают одно и то же.
283 1635247
>>635245
Он 300кккк\наносек школьников пересчитать хочет.
284 1635270
>>635235
Все кто искал давно вкатились и ебашут.
А ленивые аноны из треда так и продолжают третий год колупать круд
285 1635298
>>635245
Для мотивации, имхо. Второй месяц в треде, на вкатившихся без вуза смотрю как на полубогов, а на сеньоров - как на богов. Процесс хоть идет по плану и вполне успешен для меня как дна, но все равно факт получения желаемой работы кажется чем-то сказочным и несбыточным. А когда посмотришь на других анонов, что они сидели-пердели над пыхой и у них все получилось - то становится легче.

мимо
286 1635301
Пыхап живёт в 2020? Не верю своим глазам. Я думал, там все на жанги и ноды перешли, а он живёт...
287 1635302
>>635301
Умер давно уже.
Проходи - не задерживайся.
288 1635359
Аноны, подскажите по феншую как правильно сделать - допустим у меня ошибка с запросом к бд, и есть класс логгера, который запишет инфу о этой ошибке в файл.
Как правуильно - поднять ошибку из базы до контроллера, и там уже вызывать класс логгера, или на месте генерации исключения вызывать класс логгера и логгировать данные?
По идее логгинг - это что то типа представления, поэтому из контроллера его нужно вызывать, не?
289 1635389
>>634669
хе-хе
1. 33 лвл
2. уже три года копротивляюсь.
3. nodejs, питон уровня синтаксиса, js, react уровня простых компонентов.
Работаю в гос.шараге - в принципе в контексте специальности, должность программист. sql + пхп, даже написал кое че для шараги. 45 зп. Вышка профильная давно забытый бэйсик и делфи.

Итог - я у мамы хобби-программист. То пишу, то в носу ковыяюсь, не умею в дисциплину, не умею в ответственность.
Деньги этим зарабатывать категорически не умею. Один раз только какой то элементарный калькулятор на JS накатал, за пять рублей, потому что случайно упала в руки задача.
Короче получилось как я когда то и опасался - из за личных качеств я 90% времени проебывался.
Личные качества > навык или знания.
290 1635470
291 1635530
>>1612508 →

>Если ты смог генерировать комбинации кубиков, то ты можешь попробовать теперь сделать функцию-генератор, >выдающую комбинации кубиков, а затем и купюр, с помощью yield. Погугли "генераторы в PHP".



Погуглил, разобрался, но ничего не выходит https://ideone.com/drWFhh
292 1635552
>>635530
https://ideone.com/29reT5

Этот yield полезен только в случаях, когда у тебя огромные объёмы данных - он выдаёт эти данные порциями на обработку, не загружая полностью. Тем самым экономится оперативка.
293 1635585
>>635552
https://ideone.com/d5RNX0
Можно ещё всякую ересь генерить.
294 1635612
>>635298

>Процесс хоть идет по плану и вполне успешен для меня


>факт получения желаемой работы кажется чем-то сказочным и несбыточным



И где тут успех?
Критерий успеха - устроиться разрабом и получить первую зп за код
295 1635613
>>635301
Это говно просто так не умрет
296 1635638
>>635613
Чего ему умирать?

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

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

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

А если произошла именно "ошибка", то мы эту ошибку уже тащим до контроллера, или где там её нужно обработать.

Но то в идеале. А на деле и очень опытные люди ходят кругами в этих goto эксепшенах. Доебланились до того, что в нормальных языках вообще понятие исключения выпиливают.
298 1635895
>>635612
Я последний человек в мире математики был в школе, а ее закончил давно и многое забыл, в логике тоже не шарю, но осваиваю уроки из шапки и попутно книги читаю, вроде есть понимание процессов. Я на это не рассчитывал.
299 1635902
Поскольку тут пишут чаще всего, хотелось бы спросить: какой язык самый легкий и какой самый сложный? Те же джава и php сравнятся с sql? Что лучше начать изучать, если прицел на работу с карьерным ростом в будущем? Есть ли какая -то градация: этот язык наиболее легок для освоения обладателям аналитического мышления, этот - системного и т д?
>>635895
Сложно ли так осваивать? Я был далеко не последним человеком в математике (одним из первых), но в обычной школе, не физ мат? Большие ли объемы информации для изучения с нуля? Сколько тратишь в день по времени?
300 1635924
>>635902

>Сложно ли так осваивать?


Не сильно просто, информация новая, мозгу приходится напрягаться, иногда что-то конспектирую даже и блок-схемы рисую, начал с книги по Компутер Саенс (Теоретический минимум по Computer Science. Все что нужно программисту и разработчику), чтобы получить представления про логику и алгоритмы, занимаюсь как получится, иногда по 4 часа, иногда на час хватает, от настроения зависит.

>но в обычной школе, не физ мат


После 9-го класса потерялся в математике, решили класс сделать математическим, а я гуманитарий. Логарифмы, интегралы - их смысл не понимал вообще, кое-как по образцу делал примеры, но с переменным успехом.
301 1635938
>>635924
Прости за нескромный вопрос: сколько тебе лет?
302 1635973
>>635895
Математика веб-макаке не нужна.
Логика нужна уровня И и ИЛИ.
Не знаю, что там можно годами осваивать
303 1635977
>>635902

>какой язык самый легкий и какой самый сложный?


Самые легкие для вката сейчас это php и js по совокупности критериев (кол-во работы, кривая сложности)

>Те же джава и php сравнятся с sql?


Не сравнятся. Это разные языки.
Только рассматривать php в отрыве от sql нет смысла, т.к. на работе они идут в паре.

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


То на что ты сможешь найти работу в своем городе. Зачастую это пыха. Дальше возможен перекат на другой стек при желании.
Карьерный рост - опыт+портфолио/резюме, релокейт в дс либо удаленка на дс/апворк

>Есть ли какая -то градация: этот язык наиболее легок для освоения обладателям аналитического мышления, этот - системного и т д?


Си-подобные языки во многом похожи. Больше отличается подход в разработке, инструментарий, экосистема.
Конкретно такой градации нет.
304 1635987
>>635977
ты давно обучаешься/работаешь?
305 1635988
>>635938
22
>>635973
Циклы очень сложные были, пришлось рисовать себе схемы и разжевывать, чтобы понять. Думал, что на них прервется обучение, но иду дальше.
306 1635993
>>635987
Работаю 4ый год
307 1635996
>>635988
Что сложного в повторении действий/переборе элементов?
Ты эти же задачи делаешь в реале. Например чистишь картошку/моешь посуду.
for (текущая_картошка; текущая_картошка не последняя_картошка; следующая_картошка) {
почистить(текущая_картошка)
}
308 1635998
>>635993
на что можно рассчитывать к 4 году работы при хорошем уровне старания и способностях?
309 1636004
>>635996
Не знаю, как описать, но осознать суть работы было сложно.
310 1636012
Аноны, а где можно получить бесплатный/триальный ssl сертификат? Хочу попердолиться с https
15665616018660.jpg37 Кб, 312x310
311 1636015
Аноны, у меня вопрос по Ларавел.
Вот есть контроллер ресурса с крудом. Есть админка с крудом по той же сущности и публичная часть со списком. Всё соотносится с этим контроллером ресурса и фактически реализует его функционал на своих страницах. Как это всё готовить?
Создавать отдельно контроллер админки, и игнорировать ресурсный, или обойтись только маршрутизацией к ресурсу? С публичным списком я тоже не понял - через маршруты методы ресурса ставить или не трогать и просто сделать контроллер страницы?
В общем не понимаю я как пользоваться этими контроллерами ресурсов. Пока что у меня есть подозрение, что это 2 разные пути реализации одного и того же функционала. Если так, то какой и когда предпочтителней?
312 1636023
>>635902
Не дрочись хуитой. По своему, и уверен опыту 99% вкатывающихся, скажу что основное что потребует твоих усилий это не божески, как сложно то, не могу понять, а бля, как бы не забить хуй на работу через 5 минут после ее начала, и не начать скроллить сосач/вк/чеугодно другое. Сконцентрируйся в первую очередь на этом.
313 1636025
>>636015
Сначала ничего не понял, а потом вроде понял. У тебя "публичное" приложение и админка это два разных приложения, ресурсы для них тоже лучше сделать разные, ибо это сейчас там 1 в 1 поля сходятся, а потом пиздос начнется. Например у тебя есть сущность пост, в публичной части круд этого поста ограничивается например по автору поста, а в админке клиент хочет чтобы мы могли изменять дату создания поста. В итоге тебе в одном контроллере у тебя будет одна форма, в админке другая совершенно.
314 1636040
>>636025

>Сначала ничего не понял, а потом вроде понял


У меня чаще наоборот - сперва вроде понял, а потом оказывается, что ничего не понял.

>ресурсы для них тоже лучше сделать разные


Понял - буду разделять. Скорее всего из-за этого и непонятки были.
315 1636079
>>635998
На шестизначные суммы
316 1636080
>>636004
Мб нужно голову полечить?
В конфе есть шизик, ему очень туго дается кодинг.
317 1636083
>>636015
На эту тему лучше читать книжку дядюшки боба, либо любой другой материал по солид
318 1636086
>>636080
С ней порядок, только вот я ее редко нагружаю чем-то сложным и поэтому ловлю тупняки периодически, мозг атрофировался, как мышцы, и не может поднять условный килограмм.
319 1636187
>>636086
Ты учишься в универе, окончил?
320 1636297
>>636086
Чувак, это нормально. У человека так мозг работает. Если будешь продолжать упарываться в кодирование то со временем с этим станет лучше. Причем, по моим ощущениям, буквально пару недель или месяц и начнешь продуктивно работать. Попробуй кстати пройти вот этот тест: https://eruditor.ru/z/?CRT7 . Он иллюстрирует как раз ту особенность нашего мозга, когда мозг старается из кеша по быстрому найти решение проблемы.
321 1636314
>>636297

>Попробуй кстати пройти вот этот тест: https://eruditor.ru/z/?CRT7 .


Какие-то задачки для первых классов.
322 1636325
>>636314
Почему для первых . В наше время дажевыпускники и студенты, а не просто школьники не могут это решить.
323 1636337
15 highest and 15 lowest - тяжело было понять эту фразу и сообразить, что по замыслу,это, очевидно, середина. А так всё без проблем решила
>>636297
324 1636345
Есть вопрос по структуре создания моделей
Делаю простенькую социальную сеть, есть модели User, Friends, Posts, Likes

дело в том, что количество методов у модели User растет очень с добавлением новых сущностей в проект. Все модели так или иначе завязаны на User'а.
Какой шаблон или архитектуру простроения моделей нужно применять в таком случае? Что гуглить на эту тему?
325 1636417
>>636187
Оканчиваю, довольно успешно, но по спецухе придется за копейки ишачить, переводчики не ценятся в пердях
>>636297
Довольно простые, на смекалочку
326 1636483
>>636417

>переводчики не ценятся в пердях


Так подожи? У тебя какой уровень инглиша?
327 1636485
>>636345
Посмотри на то, как организуют модели(сущности) в симфони.
Там это обычные классы без какой-то логики, кроме геттеров/сеттеров.
Вся логика в сервисах лежит.
Общение с базой в репозитории.
Итого твоя сущность - набор её атрибутов и отношений.
328 1636490
>>636483
Думаю, с1 можно натянуть точно. Технический шарю, обычный тоже, но был положен болт на сленг, хотя наверстать можно за месяц-два при желании.
329 1636513
>>636485
Т.е. это именно тот случай когда Active Record нинужен?
330 1636517
>>636513
Активрекорд антипаттерн, нарушающий солид
331 1636519
>>636490
Это же золотая жила.
Катись на апворк, там больше нужен инглиш, чем собственно навык разработки.
image.png173 Кб, 400x368
332 1636524
333 1636541
>>636519
А что такое апворк?
334 1636550
>>636541
гугл в помощь
335 1636637
>>636519

>больше нужен инглиш, чем собственно навык разработки


В смысле попиздеть за жизнь с заказчиком, а не работу сделать?
336 1636734
>>636637
В смысле выяснить, что ему реально нужно.
337 1636744
>>635552
Спасибо я в курсе, предположим , что в этой задаче я работаю с огромным количеством данных, я хочу научиться пользоваться yield, и как мне казалось я все понял , но в моей задаче он не работает и я не понимаю почему
338 1636821
>>636519
Хз, это дно, как по мне, все выпускники сосут лапу за минималку, самые предприимчивые дают занятия с личинками и набивают неплохую клиентскую базу.
classemployee.png150 Кб, 1147x980
339 1636827
>>634746
Bump определением абстрактного класса Employee.
У меня мало опыта написания скриптов на PHP, поэтому опять прошу помощи и напутствия. Вопросы остались те же, однако основной - #1. С исходными данными какого вида мы работаем в данном случае? Помогите, пожалуйста.
340 1636894
>>636821
В айти навык инглиша важнее навыка разработки.
Кодинг можно подтянуть даже во время проекта. А вот инглиш нужен здесь и сейчас попиздеть с клиентом и урвать заказ.
341 1636946
>>636821

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



Чё бля? Риииил?
342 1637092
>>634669

>1. Какой лвл?


31

>2. Сколько изучали для того, чтобы вкатиться?


Учился в вузе.

>3. Что ещё кроме php изучили?


C++, Java, Python (в рамках вузовской программы)

>4. Сколько платят? (можете диапазон писать, кто не хочет писать цифры)


Прогать за деньги начал с 25, щас в среднем получаю 70-100к (фуллтайм, офис, зависит от премий). Планирую перекатываться во что-то другое, где меньше веба (от него уже тошнит), больше статики в языке (динамикодрисня надоела). В качестве вариантов для перекота смотрю на Go, Java, Kotlin.
343 1637096
>>636827
Перед полями и методами класса нужно ставить PHPDoc-комментарии / ... */ (PHPStorm такое умеет делать автоматически, достаточно ввести / и нажать Enter).

Щас в моде PHP7.4, поэтому не надо проебывать типы везде, где их можно ставить - в данном случае типы у полей класса и типы возвращаемых значений из методов.

Скобки в тернарном операторе не нужны.
344 1637098
>>636827
Начни с другого конца. Сначала опиши процесс своими словами, без кода вообще.
Типа: сотрудник пьет кофе, ему начисляется зарплата, сотрудник дрочит хуй, ему начисляется зарплата. Определи кто в этом процессе что делает, без свойств и прочей поеботы, а потом записывай что получилось с помощью кода.
>>637096
Правильно пишет. Все функции должны быть типизированны, а комментарии в виде PHPDoc'ов. В скобочки бери только выражения, а не одиночные переменные и используй строгое сравнение. Избавься от этих мерзких сокращений, пиши полное название.
345 1637166
>>637096

>Щас в моде PHP7.4, поэтому не надо проебывать типы везде, где их можно ставить


Как на яве пишем уже.
346 1637185
>>637096
Парсер сожрал спецсимволы, но и так все ясно должно быть.
347 1637191
>>637166
Дык пых это уродливый младший брат своей не менее уродливой старшей сестры джавы.
image.png17 Кб, 400x421
348 1637223
Играюсь с паттерном репозитория и у меня тут сомнения появились.
Добавляю и получаю записи оттуда я по имени - это правильно? Или только по айдишнику доставать надо, а сохранять без указания имени - просто добавляя запись?
Или паттерн этот момент оставляет без внимания?
image.png19 Кб, 410x462
349 1637231
>>637223
Так правильнее.
Суть вопроса в 9 и 20 строке, где я с репозиторием через имя записи общаюсь.
350 1637275
>>636946
Такой расклад, может выборка неудачная.
351 1637302
Там у вас в программе обучения сказано не пользоваться готовыми сборками серверов и делать всё самому - может оно конечно и правильно, но я вот установил опенсервер после того, как вручную всё настроил, просто захотелось чего-то лаконичного, а не так, что всё в разных папках. А ещё с доменами не получилось ничего, хотя вроде в хостс всё правильно писал и это реально удобно. Без лишней возни всё работает. Интерфейс включения/выключения/настройки удобнее, чем апачевский.
352 1637320
>>637302

>с доменами не получилось ничего


Поэтому и рано тебе опенсервер. У заказчика апач накроется что делать будешь? Тоже опенсервер ему поставишь на хостинг?
353 1637328
>>637302
Лучше какой-нибудь Laravel Homestead, опенсервер абсолютно ок штука, но он скорее тестовое окружение для быстрого калякомалякания простых крудов, реальное окружение это все равно линух и скорее всего nginx и какие-нибудь редисы и кроны и все всегда надо кастомизировать до пизды
354 1637452
>>637223

В определении Репозитория про это ничего не сказано: http://design-pattern.ru/patterns/repository.html

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

Когда он нужен - описано у Фаулера по ссылке:

> В таких системах может быть полезным добавление ещё одного слоя абстракции поверх слоя распределения данных (Data Mapper), в котором бы был собран код создания запросов. Это становится ещё более важным, когда в области определения множество классов или при сложных, тяжелых запросах. В таких случаях добавление этого уровня особенно помогает сократить дублирование кода запросов.



Репозиторий используется в сложных системах как слой поверх Data Mapper. Задача Data Mapper - сохранять объекты в виде строчек в БД или загружать строчки и представлять их в виде объектов. У него могут быть методы вроде update(), loadEntity() и тд. (описание: http://design-pattern.ru/patterns/data-mapper.html ) Репозиторий же сидит уровнем выше и позволяет делать более сложные операции с данными. Например, в Репозитории могут быть методы вроде findEmployeesByRank, countEmployees, итд. Эти методы внутри будут вызывать какие-то методы Data Mapper.

То есть, задача Репозитория - содержать в себе разные методы для выборки или изменения данных в хранилище, данные в которое передаются через Data Mapper.

В Доктрине есть репозитории, например. И это должна быть очень сложная система, чтобы надо было писать свои Репозитории.
355 1637453
>>634746

> В каком формате мы получаем input от пользователей скрипта?



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

$employees = [
// count, profession, rank
[3, Employee::JOB_MANAGER, 1],
[5, Employee::JOB_ENGINEER, 2],
...
];

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



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

> Стоит ли указывать принадлежность к отделу как свойство?



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

>>636827

Вот тут вполне нормальный код, только слишком сокращать названия не нужно.
image.png218 Кб, 990x612
356 1637576
>>630065 (OP)
Я сейчас разрабатываю свой первый проект с использованием php. Почти его не учил, если что-то не понимаю гуглю. Я создал на php:
-Комментарии
-Создание страницы для блога
-Добавление в базу - (Блог, студию, платформу и саму игру)
-Беру некоторую информацию с других сайтов, и конечно я пока не знаю быстрой загрузки, поэтому он берёт данные только после загрузки страницы (чтобы сама страница долго не грузилась)
-Выучил ajax за 30 мин
-Вход и регистрация
- Рейтинг
И кучу ещё чего, при этом я прочитал максимум 200 стр.
P.S. Я знаю что это мало, но я считаю что нужно знать только базу, т.к. всё равно ты всё не запомнишь.
Вот скрин из проекта:
357 1637589
>>637576
Без теории плохо будет. Читать тоже надо.
Что у тебя по архитектуре на проекте, какие паттерны, по солиду что?
Запилить по-быстрому много ума не надо. Как потом это поддерживать и не поехать?
Как-то видел, где тоже один практик свою CMS для магазина делал - код был практически нечитабелен и работать с его CMS мог только он один и никакой другой разработчик. Сейчас сдохло всё, насколько я понял - в одиночку такие вещи никак не вытащишь, а для командной разработки нужно общие понятия знать и применять.
358 1637602
>>637589
Там всё легко, Я занимаюсь им уже два месяца, успел многое сделать. Нахожу проблемы, уязвимости и т.д. Нашёл хороший фреймворк для MySQL, называется RedBeanPhp, советую всем. На удивлении пишу так чтобы мог понять любой. Проблемы решаю с лёгкостью. Любое что придёт в голову, сделаю. Потом тестирую на работоспособность, конечно проблемы есть, но все решаемые. Я не пишу на CMS, не знаю нужен ли вообще он мне.
359 1637604
>>637589
Я не хочу похвастаться тем что я не знаю php и при этом пишу на нём. Нет, просто я долго учил js и эти знания мне помогают.
image.png96 Кб, 1469x521
360 1637607
>>637576
Вот пример кода.

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

Например чтобы самостоятельно не прописывать тэги ссылок, я ставлю запятые, которые отправляются в бд. Потом с бд отправляется на сайт, где уже заменяются запятые тэгами ссылками. Но не только ссылки могут быть, но и целые таблицы, например для системных требований и т.д.
362 1637614
>>637607
Самое сложное скачивание фотографии для блогов. Например вы копируете фотографию и вставляете в блог. Код перебирает все ссылки фотографий, и скачивает их и менять их имя так:
Номер блога: 21
Значит фотографии будут начинаться с 21 потом "-" и затем номер фотографии.
Я на это потратил пол дня. Т.к. большинство фотографий имело ссылки, и приходилось их чистить потом менять источник фотографий, а это нужно было делать после отправки самих ссылок по ajax, а два раза отправлять ajax я не хотел поэтому я создал массив в котором сохранил все ссылки и отправлял их так по ajax уже с измененным источником изб.
363 1637628
Третьего дня, прочитал про preloading в пхп 7.4 и roadrunner. Назрел вопрос хранения стейта запроса в классе Request в laravel (обьекте текущего принятого запроса). Требуется что-то вроде глобальных переменных, которые устанавливаются и хранятся в рамках конкретного запроса: например, отложенное добавление мета тегов из контроллера/миддлвора с последующим их рендером во view.
thonk.png2 Кб, 200x200
364 1637691
А как вообще сайт опубликовать, шоб он в интернетах виден был? Вот апач на своей бубунте я поставил, положил пару тестовых страничек. Но доступ к ним только через localhost есть, а хочется попробовать сразу в глобальный доступ залить, и чтобы адрес модный был, www.vasyan666.ru.
По шапке пробежался и ничего не увидел на эту тему. Есть какой-нибудь гайд для нубасов?
365 1637717
Пачаны, нас троллят походу.
Screenshot9.png52 Кб, 1919x334
366 1637768
Анончик, каким образом можно отследить все сетевые запросы на странице в отладчике firefox, если страница после их совершения сразу перезагружается и список запросов очищается?

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

У FF нет логгера запросов чтобы можно было просмотреть историю?
367 1637769
>>637768
Забыл упомянуть, галка "Warn you when websites try to redirect or reload the page" стоит, не помогает. при отключении жаваскрипта вообще все перестает работать
368 1637771
>>637768
В Storage поищи - там обычно куки лежат.
369 1637772
>>637768

У меня там в версии 72 есть галочка "непрерывные логи". Возможно, она скрыта в настройках. Помни только, что эти логи требуют память, так что включай галочку только временно.
370 1637802
>>637576
Глянуть бы код этого чуда.
Кидай гитхаб
371 1637803
>>637607
Ты ебанутый так писать?
Такой код только выбрасывать.
372 1637934
По поводу curl

К примеру, я делаю свои заголовки для отправки на сервер -

curl_setopt($ch, CURLOPT_HTTPHEADER, $array['HTTPHEADER']);

Внезапно, от этого отваливается CURL-овская отправка кук методом CURLOPT_COOKIEJAR CURLOPT_COOKIEFILE

Тобишь мне теперь куки надо отправлять руками

Есть какая-то библиотечка, преобразующая cookies.txt сгенерированный курлом, в header строку ? Хуй знает как преобразовывать, работы на 2 часа
373 1638151
>>637803
Зато он пишет сайты, а ты на дваче говном швыряешься.
374 1638185
>>637802
Он у меня пока ещё не готов
375 1638190
>>637803
Так, кстати, написаны все эти популярные цмски и прочие магазины. Дешево и сердито, можно с нихуя не знания до готового проекта за неделю рвануть. Но мало кто решится это потом поддерживать.
376 1638196
>>638190

>Дешево и сердито


Я ещё его чукча-стайл называю - что вижу то и пою пишу.
377 1638201
>>638151
Лучше на дваче сидеть, чем писать такое.
Потом хер найдешь лоха, чтобы спихнуть ему это говно на поддержку.
Любой спец плеваться будет
378 1638202
>>638190

>Так, кстати, написаны все эти популярные цмски и прочие магазины


Поэтому избегаю работы с ними. Хватило опыта с modx и prestashop. Больше туда ни ногой
379 1638207
>>638201
Ну Битриксу норм же - кушают свой кактус жопой и все довольны.
380 1638274
Помогите, есть сайт - https://www.languagesandnumbers.com/how-to-count-in-russian/en/rus/
Там я нашел скрипты - https://www.languagesandnumbers.com/javascript/all-js-20.js
Мы посылаем числа цифрами и получаем ответ буквами на самых разных языках.
Мне нужны все цифры определенная часть на всех языках, хотя бы и в столбик в sql базе ноутпаде.
Есть варианты - написать бота или подобрать и понять пост запрос.
Собственно, яваскрипт я вообще не знаю, подскажите, пожалуйста, правильный пост запрос или объясните как скрипт работает и как его подключить к нормальному языку программирования.
381 1638281
>>638207
То что он застрял в говне - тот кто такой код пишет, у него явно трудности с изучением технологий - это его проблемы. Только не надо вот тут всяких маняфантазий, что можно не развиваться, делать говно и хорошо зарабатывать. Все такого уровня макаки сидят на хлебе с водой в своих питомниках.
382 1638284
>>637934
анон помогии
383 1638287
>>638274
А какой смысл объяснять тебе логику работы сайта и как всё это подключить к нормальному языку программирования и почему тут не нормальный? а какой нормальный тогда, если ты ничего не знаешь?
Консультация разработчика денег стоит, или сам разбирайся.
384 1638291
>>638281

>такого уровня макаки сидят на хлебе с водой в своих питомниках


Да вполне неплохо зарабатывают так-то. С этим говном работать - не всякий пойдёт.
А кто-то просто больше в уши заказчику срать лучше умеет, чем программировать.
385 1638296
>>638274
Пост запрос отправляется на 'ajax/en/' передаются два параметра "numberz" - число и "lang=" - код языка. К примеру запросить курлом:
curl -d "numberz=1488&lang=ukr" -X POST https://www.languagesandnumbers.com/ajax/en/
386 1638300
>>638296
Большое спасибо.
>>638287
Мне всего лишь нужен был пример правильного пост запроса, либо если там все сложно, то какие-нибудь подсказки. Теперь я смогу сделать что мне нужно зациклив пост с помощью какого-нибудь си шарпа, а ты злой.
387 1638320
>>637628

Бамп
388 1638330
Умные мира сего, подскажите дурачку, рабочий ли это вариант решений задачки, или я совсем перемудрил?
https://ideone.com/DnEFmZ
389 1638337
>>637691
Адрес модный надо покупать. Если хочешь на локалке по приколу - открываешь 80 порт, в роутере или что у тебя там. И потом заходишь по ip адресу. А так, копай в dns.
390 1638341
>>638337

>Адрес модный надо покупать


Адрес и хостинг. Ну или вместо хостинга - белый IP, чтобы из интернета виден был.
Лучше хостинг - там и панелька тебе с настройками нескучными, и апач\нгинкс настроенный уже, и статистика.
391 1638352
>>638330
К тебя for какой-то всратый. Лучше использовать более стандартные конструкции. Если у for один из элементов выражения не нужен то обходиться while. Что -то типа https://ideone.com/2Qui6k но в общем-то похуй.
392 1638375
Сап. Хочу вкатится в работу, но не знаю, хватит ли того, что я сейчас умею.
Охуенно знаю(по моему мнению) PHP, что могу с закрытыми глазами писать качественный код. С паттернами, сокетами и базами данных тоже работал, свои игры пилил.
Немного под-учил JS, но мне он не понравился, поэтому только на уровне чтения. Ну и конечно могу в (HTML, CSS), тоже на уровне чтения.
Думаю начать учить фреймворки для пыхи, для работы, но их много, и я не знаю какой востребованней.
Что думаете?
393 1638388
>>638375
Если правда то, как ты охуенно знаешь пхп и как с закрытыми глазами жонглируешь всякой хитровыебанной херне - можно даже сразу на сеньора аплаиться. Но может статься, и даже вероятно, что ты свой уровень знаний перецениваешь. На собесах выяснишь.

>Думаю начать учить фреймворки для пыхи


По твоим описанным знаниям - ты все 3-4 востребованных фрейма в пхп выдрочишь за недельку лучше, чем мидлы.
394 1638398
>>638375

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


Могу найти кучу говна в твоём коде.

>С паттернами, сокетами и базами данных тоже работал


Невеликое дело - по докам разобраться.

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


Так и пиши - не умею в ЖС.
А я умею - писал на нём парочку игор и кулькуляторов на странички.

>могу в (HTML, CSS), тоже на уровне чтения


Могу верстать на бутстрапе, флексах и гридах.

К этому я ещё имею пройденный ларакаст, туториал, тестовое на круд и апи, собственную пет в процессе.
Иду на джуна на следующей неделе.

>Что думаете?


Думаю, что ты слишком большого о себе мнения. У тебя только базовые знания.
395 1638415
>>638388

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


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

>ты все 3-4 востребованных фрейма в пхп выдрочишь


То есть, все сразу учить? А потом пойти на собеседования?
Понятно.

>>638398

>Могу найти кучу говна в твоём коде.


Я и сам могу найти в нем кучу говна, но в чужом еще больше.
396 1638421
>>638415

>От чужого кода воротит


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

Я бы на твоём месте показал тут свой гитхаб - чтобы отзыв кто-нить дал. В своём манямирке ты можешь быть супер-пупер синьором, тогда как ИРЛ у тебя, кажись, проблемы.
397 1638424
>>638421

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


И свой у меня тоже воспринимается не очень, если он старый. Это то же "важнейший признак"? Ладно. Я могу читать и понимать чужой код, но у меня навязчивая идея его переписать.

>Я бы на твоём месте показал тут свой гитхаб


Не выкладываю ничего на гитхаб.
398 1638427
>>638424

>Не выкладываю ничего на гитхаб.


Потому, что боишься оценки или показать нечего?
399 1638441
>>638427
Из второго вытекает первое. Допустим, я написал код и выложил его на гит, потом я захожу через год и вижу этот мусор, понятное дело мне будет больно кому-либо его показывать. И я понимаю, что если сейчас что нибудь выложу а потом потеряю доступ к аккаунту, забыть это будет непросто. Обычно свой написанный код я просто удаляю через какое-то время.
Но думаю, на работе(если собеседование пройду), я смогу как нибудь себе в голову вбить не обращать внимание на это.
400 1638453
>>637628

А разве метатеги - это свойства HTTP-запроса? Логичнее было бы сделать объект Лейаут (метатеги, параметры меню и все, что относится к лейауту), например, создать его в базовом классе контроллера до обработки запроса, в ходе работы контроллера менять его свойства, и в конце передавать во вью.

Не знаю, правда, получится ли такое в Ларавеле. Может, это не в контроллере надо делать а как-то по другому.
401 1638457
>>638441
Просто учти, что без внешней оценки твоего кода прогресс невозможен.
Либо самолюбие, либо программирование. У тебя пока что - первое.
402 1638485
>>638415

>То есть, все сразу учить?


Если ты описал свои скилы корректно - то тете даже учить не придется. В этом суть.
403 1638508
>>637628

>отложенное добавление мета тегов из контроллера/миддлвора


Из откуда? Почитай в ОПпосте и на хабре про MVC - у тебя ересь какая-то.
223-359 404 1638518
>>635359

Обычно в начале выполнения кода ставят глобально обработчик непойманных исключений (set_exception_handler()). В нем ловят ошибку, логгируют ее и выдают страницу 503. Многие фреймворки уже содержат в себе такой код.

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

>>635530

Проблема тут:

> generateCombinations($n, array_merge($values, [$i]))



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

То есть надо так:

// Функция не выполняется в этот момент, а лишь вернет итератор
$iterator = generateCombinations(...);

// Функция выполняется, доходя до yield и возвращая управление в foreach
foreach ($iterator as $value ) {
yield $value;
}

Так как такое требуется часто делать, то есть специальная конструкция yield from, которая заменяет вышеопесанный код.
405 1638519
>>636012

letsencrypt выдают, но временный и нужен сервер с DNS и белым IP.

>>636345

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

Не $user->getLatestPosts(), а $postService->getLatestPosts($user), $friendsSvc->getTopFriends($user).
406 1638704
>>638519
То есть, правильно писать так, чтобы в контроллеры взаимодействовали с моделями только через эти сервисы-посредники?

Это делается для структурирования кода или для того, чтобы не создавать лишних методов моделям? Или оба?
407 1638794
Есть какие то методы повышения концентрации? А точнее продления. Надо над кодом сидеть по 10 часов вместо 8, не уставая.

Пока придумал - каждые 1.30 часа работы - 30 минут лежать, обдумывать тз и листать мемы. Лежание хорошо восстанавливает силы. Есть ли еще варианты?
408 1638798
>>638794
поменьше работать над проектами в которых нихуя не понимаешь
409 1638806
>>638794
никак. если ты совершаешь большую работу мозгом, то он устает. пробовать сидеть через силу не эффективно. единственный способ - тренироваться и набивать руку превращая все в рутинные задачи
410 1638814
>>638794
я например, делал марафоны. сначала по 5-6 чаcов, 10 часов и так до полноценного дня, а может даже и несколько дней с перерывами. хотя у меня никогда не получалось больше нескольких дней, всегда отрубался прямо за компьютером.
411 1638818
>>638794
Вставать в 8 а не 12. Циркадный ритм сохраняется, организм выдерживает больше
412 1638855
>>638453
>>638508

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

Вопрос скорее в другом: как и где более правильно хранить и отчищать для след запроса подобные данные. Еси пример с мета тегами был не очень, то пусть будет пример с капчей: в проекте стоит в куче миддлваров триггеры на рекапчу (при успешном выполнении запрос просто повторяется с добавленым challenge response). Если с капчей все ок - в синглтоне просто меняется стейт на «он уже прошел капчу на этом запросе, его триггерам не трогать».

Все это идеально работает в модели «пхп бутится, обрабатывает запрос, отдает респонс, умирает». А в модели «загрузился и отдавай респонсы» требуется отчищать данные для след. запроса https://github.com/Hunternnm/laravel-roadrunner
413 1638869
>>638855

>preload призван бороться с оверхедом при подключении файлов


>RoadRunner мы пока не нашли эффективного применения


И это блядь в баду, где триста серверов на пыхе на пределе хуярят.
Дядь, храни данные в мемкеше/редисе и не выебуйся.
414 1638983
>>638704

Это делается для того, чтобы не совать все в модель, От чего она становится антипаттерном God Object. Логичнее сделать FirendsService и в нем все операции с друзьями, PostsService для постов, LIkeService для лайков.

В моделях можно делать методы, но не относящиеся по смыслу к сервисам и простые. Например: $post->calcRating() , $user->isVip().
415 1638985
>>638855

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

Другой вариант - сделать свой RequestContext, в котором есть Request, а также доп. методы вроде: detectCity(), detectLanguage(), requiresCaptcha(). Передавать в контроллер наш RequestCOntext вместо Request. Сюда, правда. метатеги никак не приварить. Не часть это запроса. Из плюсов: доступ есть только в контроллере, у постронних классов его нет.

Мне кажется, это правильный дизайн, когда какие-то данные доступны только там, где они нужны. Мешает писать неправильный код.
416 1639007
Аноны, а поясните мне пожалуйста за рынок парсинга сайтов ? Он существует? Кто нибудь этим занимается?
417 1639030
На ларакасте сейчас скидка, как думаете, стоит взять? Или говно?
someApprentice !EaaiHmIJms 418 1639469
>>1632501 →

>Ну ок. Вообще, есть еще вариант попробовать поменять алгоритмы шифрования. Асимметричное шифрование медленное. Потому часто (например, в SSL (и в HTTPS)) с помощью асимметричного шифрования шифруют только ключ, который используется в быстром алгоритме симметричного шифрования. А сообщения уже шифруют симметричным ключом.


Мне нравится эта идея. Можно секретные чаты сделать медленные с асимметричным шифрованием, а простые с симметричным. Нужно изучить как это можно сделать, и сначала сделать хотя бы секретные чаты, иначе разработка может затянуться на целую вечность!
419 1639478
>>639030
Ларакасты - хорошие. А где там скидка?
420 1639544
Двощ, а накидай мне каналы в твиттере на похапе или просто веб тематику
421 1639725
>>639544
Накидал тебе за щеку, проверяй
422 1639729
>>639544
А почему бы тебе самому не поискать, ленивая ты жопа?
423 1639732
>>639729
Потому что я хз как гуглить
По тегу похапе высвечиваются вакансии и какая-то нерелейтед херня
Да и не нужны мне каналы вида "последние новости мира пхп". Хочу странички обычных вкатышей, которые иногда постят что-то пхпшное, а иногда мемчики и околорабочие смехуечки. Как это гуглить вообще?
424 1639734
>>639478
Из-за карантина скидка 50%
buffalo.png600 Кб, 729x704
425 1639812
>>637453
>>637096
>>637098
Очень благодарю за подсказки! Помогли тронуться с мертвой точки.
Обновил PHP на своем Ubuntu, чтобы воспользоваться type hints для элементов классов. Теперь, кстати, предпочитают термин Type declarations:
https://www.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration
Однако возникли дополнительные вопросы.

1) Читал ранее, что комментарии к свойствам и методам рекомендуется оставлять только там, где они не совсем интуитивны. Я оставил пояснения почти перед каждым свойством и методом. Это неправильный подход?

2) Выше анон назвал мои сокращения мерзкими и предложил использовать полные названия. Я это осуществил:
https://ideone.com/G9GxAT
Возможно это мое мнение, но как раз-таки полные названия мне кажутся совсем не элегантными и делают код менее компактным. Первоначально c целью избежать этого я единожды использовал комментарии-пояснения в декларации класса. Какие мнения на этот счет?

3) По исходным данным. Это меня интересует больше всего.

$employees = [
// count, profession, rank
[3, Employee::JOB_MANAGER, 1],
[5, Employee::JOB_ENGINEER, 2],
...
];

Идею понял: конструирую функцию, которая из массива данного формата будет выплевывать объекты-сотрудники и складывать, например, в другой массив ($employeeObjects). Однако опять же: почему в начальном массиве не задаются два дополнительных свойства, отражающие статус руководителя (true | false) и принадлежность к департаменту? Ведь, во-первых, $chief = true | false - это одно из свойств abstract class Employee. А во-вторых, следующим шагом мне, скорее всего, нужно будет создавать объекты отделов, которые одним из своих свойств будут иметь штат сотрудников. Я так понимаю, что это свойство я буду определять методом-конструктором, который будет получать аргументом тот самый массив объектов-сотрудников ($employeeObjects), в которых принадлежность к отделу никак не обозначена. Другими словами, как конструктор из общей массы объектов сможет выцепить сотрудников, которые относятся к определенному департаменту, если из "опознавательных знаков" у них есть только название должности и ранг?
buffalo.png600 Кб, 729x704
425 1639812
>>637453
>>637096
>>637098
Очень благодарю за подсказки! Помогли тронуться с мертвой точки.
Обновил PHP на своем Ubuntu, чтобы воспользоваться type hints для элементов классов. Теперь, кстати, предпочитают термин Type declarations:
https://www.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration
Однако возникли дополнительные вопросы.

1) Читал ранее, что комментарии к свойствам и методам рекомендуется оставлять только там, где они не совсем интуитивны. Я оставил пояснения почти перед каждым свойством и методом. Это неправильный подход?

2) Выше анон назвал мои сокращения мерзкими и предложил использовать полные названия. Я это осуществил:
https://ideone.com/G9GxAT
Возможно это мое мнение, но как раз-таки полные названия мне кажутся совсем не элегантными и делают код менее компактным. Первоначально c целью избежать этого я единожды использовал комментарии-пояснения в декларации класса. Какие мнения на этот счет?

3) По исходным данным. Это меня интересует больше всего.

$employees = [
// count, profession, rank
[3, Employee::JOB_MANAGER, 1],
[5, Employee::JOB_ENGINEER, 2],
...
];

Идею понял: конструирую функцию, которая из массива данного формата будет выплевывать объекты-сотрудники и складывать, например, в другой массив ($employeeObjects). Однако опять же: почему в начальном массиве не задаются два дополнительных свойства, отражающие статус руководителя (true | false) и принадлежность к департаменту? Ведь, во-первых, $chief = true | false - это одно из свойств abstract class Employee. А во-вторых, следующим шагом мне, скорее всего, нужно будет создавать объекты отделов, которые одним из своих свойств будут иметь штат сотрудников. Я так понимаю, что это свойство я буду определять методом-конструктором, который будет получать аргументом тот самый массив объектов-сотрудников ($employeeObjects), в которых принадлежность к отделу никак не обозначена. Другими словами, как конструктор из общей массы объектов сможет выцепить сотрудников, которые относятся к определенному департаменту, если из "опознавательных знаков" у них есть только название должности и ранг?
426 1639818
>>639732
приятно видеть таких как ты вкатывальщиков.
Это значит что таким как я ничего не угрожает.

>>которые иногда постят что-то пхпшное, а иногда мемчики и околорабочие смехуечки


Продолжай сидеть на таких страничках.
427 1639819
>>639732

>Потому что я хз как гуглить


Тогда забей на вкат - ты не потянешь, если инфу искать не умеешь в нете.
Я тебя в свои приглашать не собираюсь - ты ленивый и довольно тупой. Не мочь найти сообщество программистов в сети это уже показательно.
428 1639919
>>639818
Я уже с декабря как джун, чини детектор.

>Продолжай сидеть на таких страничках.


Охуеть, вот это новости. Для двача кодеры должны быть угрюмыми и 24/7 читать только документацию, можно даже вместо сна
429 1640105
>>639812

>Однако опять же: почему в начальном массиве не задаются два дополнительных свойства


Если ты ждешь конкретный ответ, типа потому что, вот это храним, а вот это не храним, то его нет.
Так сложилось, так было надо, вышло как вышло, на проектировали что на проектировали.
В реальных проектах такая хуйня постоянно. Если у бабушки хуй, и у белки хуй, и на лбу хуй, то замеряем их длину и если сумма длин четная, и марс в доме юпитера, и его хуй тоже четный, то внучок руководитель. И сопровождается такое вычисление запросом в базу на две страницы. А все потому что нужно все в реальном времени, а вдруг у белки хуй подрос.
430 1640115
>>630065 (OP)
Смотрю уроки по созданию CMS на Slim и немного охуеваю от этих ваших MVC, PHP работает в многопотоке да? Как он блять будет выдерживать нагрузку если 100 человек одновременно запросят разные страницы? Это же пиздец какое дрочево и хуевертело со всеми этими классами, роутерами, просто тысячи операций обращения одного роутера в другой и обратно через один главый файл index.php, или для PHP это норма совершать 100500 операций со созданию сессии, считываю сессии, запросу к бд, считываю роутера и выводу нужного содержимого из базы в зависимости от того что считал роутер, в общем пиздец, сколько человек в онлайн PHP и сама база MySQL может выдержать с такими свистоплясками? Мне кажется 8 ядерный сервак загнётся от такого количества вычислений от 100 человек одновременно
431 1640186
>>640115
Прекрасно выдерживает.
432 1640226
>>640115
есть такая вещь как кеширование и балансировка нагрузки
433 1640284
>>640115

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


>совершать 100500 операций со созданию сессии, считываю сессии


Файловая система кеширует в памяти те файлы, к которым идёт постоянное обращение.

>запросу к бд


>выводу нужного содержимого из базы


БД тоже кеширует повторные запросы.

>Мне кажется 8 ядерный сервак загнётся от такого количества вычислений от 100 человек одновременно


Все данные есть в гугле. Не надо тут вести себя как девочка.
434 1640367
>>640115
Как человек, работавший с хайлоад PHP проектом говорю: хуево выдерживает. PHP не работает в моногопотоке, а реляционные базы пиздой поростают при работе с таблицами от нескольких миллионов записей.

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

А потом у тебя комок легаси говна, переписать который на нормальный язык будет стоить миллионы долларов и тысячи человекочасов. Даже если бабки не проблема программистов на норм языке хуй найдешь в нужном количестве, а в недостаточном количестве сроки растут до нескольких лет. А клиенты уже сейчас охуевают от ошибок, падений и прочей залупы, которую латают какие-то опездалы, потому что норм программисты давно съебали из легаси ада.
435 1640369
>>640367
а нода как бы себя показала в там-же проекте?
436 1640370
>>640367
Что за хуйню ты написал. Через много лет все превращается в легаси и все сталкивается с трудностью поддержки
437 1640374
>>640369
На ноде проекты столько не живут. Как только разработка заканчивается подрядчик растворяется в тумане , хотя криптолох с бабками к тому моменту сам теряет интерес к хуйкоину, а для пиздокоина делается новый проект
438 1640403
Помогите советом. Есть пост форма для отправки комментариев, при обновлении страницы форма отправляется повторно в БД.Как сделать что бы при нажатии на ф5 не делался еще один такой же комментарий, в какую сторону копать? Спасибо.
439 1640408
>>640403
При получении формы делать редирект на эту же страницу. Попахивает костылем но нектостыльных способов нет.
440 1640413
>>640408
Это не костыль а стандартный способ независящий от серверного языка.
1. Форму обработали нормально - редирект
2. Форму обработали с ошибками - без редиректа, иначе пользователь потеряет ввод
441 1640414
>>640403
>>640413
Альтернатива аякс
442 1640425
>>638441
Удалять написанный код такое себе. Обычно, его переписывают.
443 1640471
>>638337
>>638341
Блин, у меня адрес динамический похоже. Да ещё и в другой подсети. Ну ладно, в будущем может стоит задуматься о выделенном канале чтоли
444 1640480
>>640408
Хорошо, а как сделать редирект страницы на саму себя? Прочитал про функцию header, а куда ее воткнуть? Перед кодом в самое начало страницы или в условия проверки?
445 1640482
>>640367

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


Это десять высеров из десяти.
Мимо работаю с базой в которой 500 таблиц и в самых больших больше 50 миллионов записей.
446 1640493
>>640482
Ну так сделай селект десяти случайных записей по двум параметрам. Если в 100мс не уложится значит про хайлоад можешь забыть.
447 1640501
>>640480
Все хедеры должны отдаваться до того как будет выдан любой другой вывод (с помощью echo к примеру). Куда ты ее воткнешь нет разницы, главное чтобы до нее небыло другого вывода (кроме других header())
448 1640517
>>640367
Хайлоад от прямоты рук зависит.
Безымянный.png3 Кб, 726x275
449 1640561
Решаю тут задачу, по математике было тройка.
Аноны, а как переделали 3% в десятичную дробь?
450 1640566
>>640561
Название переменной пиздит. Это не проценты. Чтобы увеличить число на три процента нужно его умножить на 1.03
451 1640575
>>640566
а как становится понятно что нужно умножить именно на 1.03 ?
452 1640593
>>640575
пиздец, тебе наверное лучше не php учить, а математику за 4 класс
453 1640596
>>640575

>а как становится понятно что нужно умножить именно на 1.03 ?



y = x + x ✶ 0.03

y = x ✶ (1+0.03)

y = x ✶ 1.03
454 1640598
>>640575
У нас есть какая-то сумма: S.
3 процента от него это: S3/100.
Нам нужно эти 3 процента добавить к изначальной сумме: S+S
3/100.
Выносим S за скобки: S(1+3/100) = S 1.03
455 1640599
>>640596

Лал, вот и первая ШКОЛОТА с КОРОНАВИРУСНЫХ КАНИКУЛ байтнулась.
456 1640607
>>639732

>Хочу странички обычных вкатышей, которые иногда постят что-то пхпшное


Тебе в wdh надо
457 1640731
>>640598

Увеличить на 3% - это значит взять число + 3% или 103% от числа. Так как 1 процент = 1/100 числа, или 0.01 умножить на число, то 103% это 1.03 умножить на число.
458 1640734
>>640403

Урок по обработке форм тебе может быть поможет: https://github.com/codedokode/pasta/blob/master/forms.md
459 1640766
>>640734
объясните нахуя нужнн данный урок, если реально никто так формы не обрабатыввает уже наверное лет 10
460 1640769
>>640766
Дурик картоный, ты путаешь современные либы и механизм, который класссика знать надо. Твои современные тухнологии на святом духе работают?
461 1640773
>>640769
это ты путаешь основы, которые классика знать надо и говно мамонта
462 1640777
>>640773
Иди нахуй я форм на твоих реактах написал сколько у твоей мамки хуев не было
463 1640782
>>640777

>реакт


>обработка форм


вечный вкатывальщик спалился
464 1640787
>>640782
Рассказывай что там в уроке не актуально
Не описано как в твоем любимом фреймворке десериализация пост запроса происходит? Так же это не основы, зависит от фреймворка, але
465 1640791
>>640787
имхо вообще какая-то дикая хуйня, где контроллер, работа с бд и вьюха в одном файле расположены.
это не основы, а просто какое-то устаревшее говно из-за которого потом нужно долго вникать в MVC. я сам начинал с этих уроков если что..
466 1640792
Есть какие-то норм IDE кроме шторма и нетбинса.
467 1640798
>>640791
Причем здесь эта хуйня
Основы это
1. Как браузер отправляет формы при субмите form enctype
2. Почему без редиректа он заставляет повтрно сделать отравку
3 Как сериализовать данные формы js сом и сделать аякcом пост запрос. FоrmData
4. Обработка на сервере. $_GLOBALS, $_REQUEST
5. Оптравка файлов
6. Обработка аякса на сервере json_decode
468 1640800
>>640798
ладно может ты и прав
sage 469 1640802
>>640792
Это был вопрос если че.
470 1640805
>>640800
если ты вкатываешся, то тебе хватит любого бесплатного, а если ты работаешь, то тебе должны купить
471 1640807
>>640805
Хватит любого бесплатного phpstorm -а?
472 1640810
>>640802
Phpstorm
Netbeans
Eclipse
Мертвая Aptana
phpdesigner
codelobster
codelite
emacs
473 1640812
>>640810
Забыл phpedit древняя говняшка для винды
474 1640848
>>640501
Я понимаю правильно, если ставлю хедер, то даже при первом запросе страницы она будет редиректить на саму себя?
475 1640850
>>640734
Спасибо изучу после работы
476 1640887
>>640792

>нетбинса


Кривая хуета. Больше на студенческую поделку похоже, чем на норм иде.
Интерфейсы из коробки - привет из 90х сетчатку такими выжигать заебца, не поддерживает многие современные форматы, лезет в вендор и гордо показывает там ошибки, периодически подтормаживает, у меня позже ещё и глючить начал - по полчаса сканирует файлы проекта, а в гугле внятных советов нет.
Прямо как на десктопном линуксе каком-то, где постоянно что-то не так работает.
477 1640912
>>640887

>нетбинса


Так я потому и спрашивал что хочу с этого гавна слезть. На работке еще как-то норм было, там наверное версия старая. Перевели на удаленку. Скачал новую версию. Под нее нет плагина для автосейва. Думаю типа - 2020 год, в IDE нет автосейва, наверное чувакам норм без него, может я чего не понимаю. Начинаю гуглить какого хуя вообще в нетбинсе нет автосейва. Нахожу какого-то клоуна который пишет что ему заебись без автосейва потому что бывает такое что пишешь весь день код, а потом понимаешь что все хуйня. И можно сразу файл откатить, а не жать кучу раз ctrl+Z. Меня это сразу напрягло - когда в комньюнити такие клоуны то глупо ждать нормальную IDE. А сегодня совсем пригорел. Делал новую модель, из верстки вытянул пачку имен переменных для свойств. И решил типа по крутому мультикурсором им сразу всем private вписать. Гавно после первой введенной p показывает список автодополнения. Если выбрать прайват то оно вставляет прайват во все строки. Но при этом меняет имена все переменных на имя переменной из первой строки. Если отменить автодополнение ескейпом то гавно заодно сбрасывает и мультикурсор. Короче решил менять. Шторм купить не проблема, но он у меня почему-то вызывает необъяснимые негативные эмоции. Попробую еклипс, если не зайдет то прийдется шторм жрать.
478 1640914
>>640912
Некоторые на vscode сидят. Можно нагуглить списки плагинов для пхп или другого языка. У меня он в качестве временной замены шторма и других жидбрейнс идешек лежит, иногда помогает.
А еще тут нужен вимоеб, чтобы постучать нам исполинским хуем по лбу за использование оверхед говна вместо божественного.
479 1640925
>>640887

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


Иди нахуй, гандон! Сам James Gosling сидит на нетбинсе, работая в Amazon. Ты умнее его?
А так да, нетбинс изначально разработали студенты, но проект купили сантехники и сделали свободным ПО.
image.png772 Кб, 1425x712
480 1640930
>>640925

>Gosling


Да иди ты нахуй со своим Гослингом.
Тоже мне показатель качества ИДЕ нашёлся.
481 1640932
>>640930
Два чаю. Все равно что сказать - дед бутылки собирает и мы должны.
482 1640937
>>640912

>он у меня почему-то вызывает необъяснимые негативные эмоции


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

2к20 год, а из толковых редакторов один нотепад++

>>640914

>вимоеб


Я как-то поставил и не понял нихуя. Какие-то команды надо вбивать на элементарные действия, интерфейс прямо из ДОСа почти. Люди реально на этом сидят?
483 1640945
А почему вы не сидите на ИДЕ с чайником на логотипе не помню названия?
484 1640949
Зато нетбинс умеет в
Autocomplete for PHP property and method without $this→
485 1640950
>>640937

>Люди реально на этом сидят?


Да. Но он кастомизируемый, и потому в итоге не выглядит так же, как его голая версия. Впрочем сейчас все такое, не знаю почему это игнорируют вимоебы. Полная свобода настройки хоткеев сейчас тоже везде (только вроде как в контексте вима это немного другое), в том числе под схему вима.
В общем да, сидят еще как и других подсаживают. Сам многих таких знаю.
486 1640951
>>640937

>vim


Я считаю его нужно юзать с тайловыми оконными менеджерами, тогда пропадает нужда в мышке отчасти. Ещё плюсом можно накинуть что открывает проекты быстрее, меньше жрёт оперативы, и какая ни будь замена слов работает быстрее.
487 1640954
>>640937

>Я как-то поставил и не понял нихуя. Какие-то команды надо вбивать на элементарные действия, интерфейс прямо из ДОСа почти. Люди реально на этом сидят?


Потому что надо large version ставить, она удобна. Не надо в командный режим переключаться из-за опечатки. Хотя в виме мало смысла, если в 10-пальцевый набор не умеешь.
488 1640960
>>640782

>реакт


>обработка форм


Ты ебанулся? Реакт прекрасно работает с данными из форм.
489 1640962
>>640950
>>640951
Я бы не прочь его заценить, но отдавать в таком виде, как они это делают просто глупо.
Пришёл пацан на сайт и хочет вим. Ну дайте ему демку, где всё красиво, с туториалом небольшим, в стиле того же ПхпШторма, чтобы он заценил и тут же кончил. Ну не умно отдавать ему кусок полурабочий - "на, копайся с доками сам сколько хошь. Я сильно настраиваемый - настраивай меня полностью!".
490 1640964
>>640954

>если в 10-пальцевый набор не умеешь


Умею рус\англ. Я не девочка с бухгалтерии.
491 1640974
>>640962
А зачем им это делать?Если хочешь то пердолься, если не хочешь, то непердолься. В целом я тебе так скажу, если ты сидишь на линукс, и ты хочешь чего то нового, то ставь тайловый оконный менеджер и вим, попердолишься неделю или больше, может понравится и останешься. Если всё и так устраивает, то оставайся в своей иде.
Тайловый оконный менеджер + вим это удобная и приятная глазу штука правда придётся какое то время красноглазить, я лично пересяду, но мне ща нужна винда кое какое время, как пропадёт нужда перекачусь.
492 1640975
>>640974

>тайловый оконный менеджер


Думал попробовать - хвалят их часто. Они же на Луа конфигурируются, если не ошибаюсь?
493 1640982
>>640975
Есть на лиспе. Будет мотивация СИКП изучить
494 1640986
>>640982
А что ещё на лиспе есть кроме этого?
495 1640989
>>640974

>тайловый оконный менеджер


Чтоэта?
496 1640996
>>640989
Будущее десктопов.
497 1640998
>>640986
Имакс же. А плеер сам на лишпе на имакслишпе напишешь.
91pVM6UtEUL.SS500.jpg39 Кб, 500x500
498 1641052
Анончики, нужен небольшой совет. Допустим есть функция которая принимает кучу значений и как-то их обрабатывает. Например
function predictAge($age1,$age2,$age3,$age4,$age5,$age6,$age7){

}
Собственно вопрос, как их записать в массив, чтобы дальше с ними работать? Ничего в голову не приходит кроме как сделать это вручную.
499 1641128
Как максимально быстро вкатиться в фриланс, что нужно знать/уметь? С этими короновирусами скоро ламповую работку на заводике прикроют и надо будет зарабатывать на пакет доша.
500 1641131
>>641052
https://www.php.net/manual/ru/function.func-get-args.php
>>641128
Либо говносайты и магазины на cms клепать, либо писать парсеры для сомнительных порталов, либо мобильные приложения. Фриланс это для малого бизнеса краткосрочные проекты по 30к
501 1641185
>>641131
Сайты писать это еще в верстку надо уметь, или можно юзать плагины какие-то?
502 1641203
>>641131
>>641052
Благодарю.
503 1641267
>>640593
>>640596
>>640598
Получается, если я такие простые задачи не могу решить сам, то мне нечего делать в php?
504 1641280
>>641267
Нет, тебе никто не запрещает учить php, просто вопросы у тебя пиздец глупые, ты вместо того чтобы спрашивать попытался бы гуглить это куда более важное умение, у меня знакомый, который вкатывался, нихуя не знал, но на софт скиллах и умении гуглить смог найти себе компанию, где из него сейчас делают человека, правда на js.
505 1641317
тут есть аноны которые работали с cms ? нужна ваша помощь.
да, это нихуя не гуглится сука
506 1641516
А хули ваша самообучалка не работает?
507 1641524
>>640766

Не согласен, что алгоритм устарел. В фреймворках вроде Симфони примерно так и происходит. Там есть и проверка CSRF, и валидация данных в форме, и POST/redirect/GET для защиты от повторной отправки.

Вот я открываю мануал по Symfony Forms https://symfony.com/doc/current/forms.html#processing-forms и что же я вижу? Точно такой же алгоритм, только используется класс-помощник, представляющий объект формы.

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

>>640791

А где я написал, что все надо писать в одном файле? Описан лишь алгоритм, естественно, не надо все писать в одном файле, а надо делать вызовы сервиса-валидатора, шаблониатора и тд.
508 1641656
>>641317
Скорее всего тебе никто не поможет, если не гуглится и нет доки по конкретной цмс. Только в исходники цмс лезть и курить
509 1642228
Какие есть хорошие гайды по Selenium WebDriver на русском?

В js понимаю слабо, в английском слабо, в php хорошо

Может есть какая не устаревшая готовая библиотека на Github с примерами работы? Каждый шаг дается с трудом
510 1642283
>>641656
начиная с декабря регулярно тут спрашиваю про это. пока никто не откликнулся. видимо никто на этом каличе не работает. в гугле есть конечно такие вопросы, но все ответы на них это хуйня в стиле: ой у вас тут модуль/тема/еще чтоугодно стандартные/бесплатные и они говно. а вот купите мой модуль всего лишь за 499$ и там уже все из каробки работает и есть поддержка лично от меня. вообще в 99% случаев такие ответы.
511 1642285
>>642283

>начиная с декабря регулярно тут спрашиваю про это. пока никто не откликнулся.


Так ты спрашивай нормально, а не в вакууме.
Что за проблема, что за ЦМС, что сам пробовал, про деньги намекни и контакты оставь.
Нормально сделай, короче, а не через жопу.
image.png441 Кб, 600x600
512 1642287
>>642285
Вот картинка для понимания. Можно её распечатать и повесить над рабочим местом.
513 1642300
>>642285
да так и делал. но с тем учетом что никто не отвечал - забил. даже на битрикс отвлекались, а тут вообще все глухо
514 1642324
>>642300
Битрикс довольно популярн в снг, хоть и говнище.
А ноунейм цмс больше чем звезд на небе.
515 1642326
>>642283

>начиная с декабря регулярно тут спрашиваю про это


Сходил бы на фриланс биржи. И если там тихо, то нахуй дропай задачу, возвращай деньги клиенту и не еби мозг ни себе, ни остальным
516 1642346
>>642300
Тут ещё такое дело: если ты решишь человеку эту проблему, то он и впредь к тебе с аналогичными вещами обращаться будет. Но дело в том, что никому не всралось разбирать левый говнокод, написанный жопой, не умеющей в проганье и нормальные абстракции. Т.е. нужно будет постоянно это говно разгребать за мелкий прайс. Нахуй надо короче.
С битриксом сколько, вон, жопоболи, а он документирован и куча форумов по нему.
Screenshot10.png38 Кб, 1416x460
517 1642398
>>642228
Заебись поставил php-webdriver из инструкций на гитхабе

0.5 ответов даже в англоязычной среде

Хуя тут ошибка Fatal error: Uncaught Error: Class 'DesiredCapabilities' not found in ? Я же все поставил по инструкции
518 1642444
>>642398
composer install
Screenshot12.png20 Кб, 444x686
519 1642629
Как преобразовать обьект с защищенными параметрами в массив? как получить доступ к элементам такого обьекта?
520 1642643
>>642629
рефлексия
либо отнаследоваться от объекта и дописать методы доступа к протектед полям
521 1642665
Господи, какая же сложная реализация правильного решения задачки о размене в банкомате.

Скажите, что я не один тут такой тупой?
522 1642730
О великие и светлые умы, свет и хлеб нашего будущего, повелители компутеров и интернетов, объясните глупенькому дурочку смерду, где я так оплошал и почему в данном случае проверка выходит ложной? https://ideone.com/h1L0Q6
523 1642740
>>642730
Потому что ты вместо $symbol1 используешь $symbol
Screenshot from 2020-03-25 20-24-10.png25 Кб, 405x489
524 1642741
>>642665
Я на верном пути методом тупого перебора? Пиздос конечно сложная вещь это проганье.
Реально нужно уметь декомпозировать задачу. Начало что-то получаться только после того, как блок while отдельно решил пилить от for и потом дошло как его всунуть.
это конечно совсем приблизительный набросок, без учета кол-ва банкнот.
525 1642752
>>642740
И ведь действительно тупенький... Большое спасибо, зайчик.
526 1642753
>>642741
Еще плюс конечно нужно добавить проверку на суммы, которые невозможно выдать
Screenshot from 2020-03-25 21-07-42.png19 Кб, 394x307
527 1642774
>>642753
Ого, по чуть-чуть получается
528 1642777
Блин, сам даже не ожидал, что получится осилить эту задачку. Никогда бы не подумал.

Всем успехов!
vector.png49 Кб, 1344x264
529 1642984
>>639812
>>637453

ОП, взгляни на мое решение докризисного Вектора, пожалуйста: https://ideone.com/glM8Eg

Решение вышло super long-winded, в 4 файлах: classes.php, input.php, main.php, padstring.php
На скрине результат.
530 1643011
>>642774
Осознал, что хуйню сделал
Теперь вот так: https://ideone.com/kR1W7a

Умненькие, проверьте, пожалуйста, надежность такого тупого перебора.
b2baf33181fc6828898d7ead495a1203.jpg23 Кб, 640x480
531 1643043
Хочу выбрать какой-нибудь бэк-язык для простых проектов.
Пых это лучший выбор до сих пор или его решает уже пистон? Я просто в танке
Screenshot from 2020-03-26 14-08-36.png9 Кб, 178x304
532 1643099
>>643011
Короче, снова обосрался: https://ideone.com/WMKMww
Никак не дается.
533 1643107
>>640115

>Смотрю уроки по созданию CMS на Slim и немного охуеваю от этих ваших MVC


Сейчас ради интереса глянул пару уроков - ну и срань. Зачем вы это говно смотрите? Автор курса по уровню в разы слабее местных джунов и: всё усложняет, везде лепит свои синглтоны, зачем-то вручную при это довольно хуёво работает с неймспейсами когда рядом композер лежит, не понимает MVC и лепит контроллеры поверх контроллеров, какие-то левые проверки defined('хуета') or die('аццесс запрещено!!111') в стиле вордпресса зачем это делать в файлах с объявлениями классов?, при этом любит понтоваться и говорить микрофреймворк, полное квалификационное имя и аналогичные детские выебоны.

Ещё и других этому учит.
Просто пиздец.
534 1643115
>>643099
Неужели нормальные люди без проблем справляются с решением этой задачки..
535 1643129
>>643115
Еще идея есть: через деление суммы на каждый номинал найти максимально возможное целое кол-во банкнот (округлив результат деления) определенного номина, которое может содержать сумма и перебирать их примитивным комбинаторным методом типа декартово произведение или как там
Норм?
536 1643183
Боже за що я такой тупой
537 1643313
Сап двощь, в прошлом треде уже спрашивал. Где в гите хранить конфиг нгинкса например, если он важен при тестировании системы в целом? Если есть два приложения, главное на пыхе, и наносервис на жсе, роутинг через конфинг нгинкса происходит потому что а чего нет. Как это решалось до всяких докеров?
image.png44 Кб, 1170x397
538 1643384
Привет, ребят.
Такое дело: решим обмазаться ПДО, но у меня выдает 500 ошибку, дескть, запрос обработать не может.

Я, блять, в шары долблюсь где-то или что?

Другие запросы работают: достать из БД, чтоб проверить, есть ли логин, добавить в БД логин, это все работает, а как надо препейр/экзекут - нихуя. В чем дело?
539 1643394
>>643384
Че за хуйня? Ничего не делал и оно заработало через бинд парам с заглушкой, через execute('$log').
Это троллинг духа-машины, что ли?
Screenshot2020-03-2620-28-04.png4 Кб, 184x73
540 1643522
>>643384
Попробуй почитать доки
541 1643533
А если у тебя в купе с судимостью и образованием 6 классов дикое желание познать прерогативы IT индустрии, стоит ли здесь искать содействия? Ибо качество здешних обитателей, как я понимаю, дисперсионно ровно настолько, насколько противоречива моя жизнь в вышеуказанном предложении.
542 1643547
>>643522
Ну и хули?
Читал - не работало, показал погромисту с работы - не работало, запустил спустя день - заработало.
Я нихуя не изменил в коде, а лишь сменил нотпад++ на пхп шторм, и запустил тот же свмый файл с хостинга.
www.jpg81 Кб, 800x800
543 1643556
>>643547
Ты зачем оборачиваешь плейсхолдеры в кавычки?
544 1643630
>>643556
Справедливости ради - БД иногда действительно ведёт себя ебануто.
545 1643631
>>643313
Создай папку в корне и храни. Но я бы на твоем месте сделал шаг дальше и хранил докер образ, в котором прописал куда этот конфиг копировать. Да и вообще docker-compose охуенная тема чтобы все окружение одной кнопкой поднимать и nginx и php-fpm и базу.
546 1643632
>>643533
К чему ты про свою судимость и образование тут рассказываешь?
Думаешь тут святые сидят? Я, например, тоже не ангел ни разу, особенно в молодости был да и щас старина не отсохла. Очень даже повезло, что не набутылили.

Хочешь учиться - учись, нафига у кого-то спрашивать разрешения?
547 1643701
>>643533
Два раза отчисляли из ВУЗа, работаю веб-макакой за 30к. Главное это желание учиться. В твоем случае еще и алгебру хотя бы до уровня 9 класса подтянуть надо. Чтобы мозги лучше думали
548 1643703
>>641185
Можно сайт и без знания php сделать. Только он не сможет ничего крутого
549 1643705
Аноны, у меня чет шляпа, нужно отсортировать массив руских слов.

Почему на ideone сортирова работает:

https://ideone.com/qT4HWn

А на моем компе нет?

Свою функцию сортировки написать спообен, но чет непонятно почему встроеная не работает.
550 1643712
опенкарт кун снова в треде. анон поясни вот такую вещь. пушу свой проект в гит ветку вместе со своим дампом бд. другой человек полностью выкачивает мою ветку и накатывает сам этот дамп. и ему на главной не выводит те же самые блоки что выводятся у меня. эти настройки по выводу на главной странице этих блоков хранятся в бд. в самом дампе они есть. а другой человек их не видит. и через терминал и через пма пробовал. нихуя. в чем трабл? в движке миграций нет, если че
kimsuperpetrash.png443 Кб, 908x659
551 1643739
>>639812
>>637453
>>642984

Небольшой update: я интегрировал функцию создания департаментов в конструктор класса Company (отделы все равно не могут существовать вне компании). Также сделал функцию распечатки отчета по расходам элементом класса.
Код: https://ideone.com/Egnb9D

Буду очень признателен за любые замечания/напутствия.
Без названия (1).jfif11 Кб, 276x183
552 1643762
>>630065 (OP)
<?php
$i=5;
echo '$i' . "\n";
echo "$i" . "\n";
echo $i . "\n";

Почему выводится
$i
5
5
Я почему-то всегда думал что echo "$i" должно вывести $i а не саму переменную.
553 1643784
>>643762
Потому что интерполяция строк идёт в двойных кавычках, для одинарных надо ещё фигурные скобки
554 1643892
Аноны, как мне с конца таблицы в обратном порядке выгребать данные по допустим десят строк?
Что то типа обратного LIMIT
SELECT * FROM table LIMIT 5 , 2

Я типа пагинацию велосипедю.
555 1643911
>>643892
Добавь DESC в конце, ну ты совсем как маленький.
556 1643921
>>643911
Да яя уже вспомнил, чет протупил, да.

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

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

Пока не пойму как можно отсортировать все статьи по алфавиту не полчая весь массив статей.
557 1644050
>>643921
Итераторы чем плохи?
558 1644075
блять пиздец какой то. кое как нашли проблему. оказывается движок опенкарта хранит где то у себя в ебенях (?) из за чего половину картинок из постов сохраняет где то у себя, а половину ттянет из бд. смотришь sql-запрос в модель, а он возвращает 10 картинок. открываешь саму бд - там информация только о четырех... хуй знаает че происходит, но кажется, началось
>>643712 - кун
559 1644082
>>643921

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



order by article_title (asc|desc) LIMIT N OFFSET X?
560 1644086
>>644075
Эти все системы вроде опенкарта и вордпреса делались не для людей. Там бестпрактис это на проде что-то пилить в одно рыло с выключенным дебагом
561 1644113
>>644075
Как то смотрел его испходники - с запашком код.
562 1644126
>>644050
Не знаю как использовать в контексте задачи.

>>644082
Т.е. сортировать данные в sql запросе?
563 1644240
>>644113
Это говно с запашком кода цмскок.
564 1644287
>>644240
Как именно характеризуется код цмсок и чем отличается от не цмсок? И у всех ли цмсок код цмсочный?
565 1644411
Почему популярность лучшего скриптового языка для написания серверов так падает?
Неужели в пыхе 7ой нет возможности писать охуенную бекенд логику со всеми новомоднейшими паттернами и при этом это будет работать не хуже жабы/шарпа?

Или это наоборот сигнал, что самое время теперь уже вкатываться в этот охуенный язык и становиться в нем профессионалом, пока все школьники лезут теперь в питон/жс?
566 1644479
>>644411
У меня ощущение, что ты в треде уже не первый раз так пукаешь.
Не нравится - не держим.
567 1644604
Хуль так медленно?
Это норма?
568 1644615
>>644604
Вагрантодебилы дико орут: https://github.com/hashicorp/vagrant/issues/5319

С 2015 года, лол.
Screenshot35.png13 Кб, 1006x115
569 1644624
>>644604
Подключился с мобилы, теперь нормас
570 1644830
>>644411
Я бы тебе просто за то разницу в ООП между питоном и ПХП хуем по щекам бы надавал.
В ПХП отличная спижженая с джавы модель ООП.
В питоне такое
в js, хоть я и люблю ноду - тоже хотелось бы
571 1644832
>>644287
Смотрел ток одну цмс, какой то странные фарш. Главный файл - гигантский файл на 8000 строк в котором подгружается все - хтмл, запросы в бд, всякие функции подгружаются.
Из классов что я видел в этом коде - только сторонние либы.
Мне если честно не понравился этот пиздец.
572 1644880
Двоч, помогай. Будь добр.

Короче, есть один кусок кода, который не выполняется. Этим куском кода является Альберт Эйнштейн функция header().

Я прочел, откуда могут быть проблемы, предполагаю, что мой обсер тут:

>Довольно часто возникает ошибка, когда при чтении кода файловыми функциями, вроде include


Так как у меня include() вызывает функцию, где и находится header() с нужными параметрами.

Как можно это обойти? Есть ли фиксы, анон?

Если я просто вынесу функцию вместо include(), то обсер будет уже таким, я предполагаю:

>Те же проблемы могут возникать и при использовании PHP/HTML в одном файле.

573 1645063
>>644880
header должен выводиться до контента. Любой текст включая пробелы перед тегом php и переводы строки может его поломать.
574 1645095
>>645063
Если сделать так:

<?php
Некоторый код
?>
<?php header("file"); exit; ?>

Не сработает?
575 1645116
ineedhalp.jpg149 Кб, 1920x1080
576 1645154
Пездец, анон, помоги, нихуя не могу понять почему сраная иконка не устанавливается на сайт. Код полторы строки, поэтому на скриншоте. Ебусь уже второй день, пробовал картинки и в директории, и в папку images, и ссылкой, как указано на пике, ничего не получается. Кэш в хроме чистил, в других браузерах тоже самое.
ЧЯДНТ?????
577 1645162
578 1645166
>>645154
Вёрстку подтяни.
579 1645172
>>645166
Я этим и занимаюсь, учу верстку.
Посмотрел по этому поводу кучу статей, везде одно и тоже, делаю тоже самое, тупо копирую код, иконка не добавляется...
580 1645265
>>645154
Попробуй добавить локальный файл, а не со стороннего ресурса.
581 1645276
>>645154
<link rel="shortcut icon" href="{{ "http://".$_SERVER['HTTP_HOST']."/images/favicon.ico" }}" type="image/x-icon">
у меня используется такой вариант. Попробуй поменять на ico
4.jpg167 Кб, 1920x1080
582 1645321
>>645265
Вот, самое простое, с локальным файлом.
https://jsbin.com/hoponepuce/1/edit?html,output

>>645276
Этот вариант тоже попробовал, не помогло.
583 1645324
>>630065 (OP)
<?php
$a=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for($i=1;$i<=count($a);$i+=2){
unset($a[$i]);
}
print_r($a);
Пацаны почему получается такой вывод?
Array
(
[0] => 1
[2] => 3
[4] => 5
[6] => 7
[8] => 9
[9] => 10
)
Он же по сути должен удалить 9 элемент???
584 1645325
>>645324
https://ideone.com/2ZejWZ
Вот ссылка на ideone, чтобы удобно было читать.
585 1645337
586 1645364
>>645324
Потому, что не надо каждую итерацию проверять количество элементов в массиве. Тем более когда ты из него удаляешь элементы.
https://ideone.com/VtTdWR
image.png81 Кб, 1406x489
587 1645375
Привет всем.
Разбираюсь с ПДО и нужна ваша помощь.

Как из запроса в prepare вернуть результат?
Пробовал разные параметры в fetch: _ASSOC и _BOTH.
Если с _ASSOC код продолжает работать, то в случае с _BOTH мне просто execute возвращает TRUE и сидит, сука, молчит.

_ASSOC же выдает массив с индексами-имена столбцов, так чому я при запросе $res['login'] получаю тишину?
Анон, прошу помощи.
588 1645383
>>645375

>чому я при запросе $res['login'] получаю тишину?


В $res лежит массив, а не единственное значение.
Мог бы сам его сдампить и посмотреьть чё и как.
589 1645388
>>645383
print_r не дампит?
image.png12 Кб, 598x147
590 1645421
>>645375
Так, окей. По совету анона >>645383 сделал вардамп и получил то, что получил:

В чем причина? Почему false вообще?
591 1645443
>>645375
Какая IDE?
592 1645445
>>645443
PHP Storm.
593 1645485
>>645364
Спасибо, даже как-то не сталкивался с этим.
594 1645496
>>644880
мой тебе совет, завязывай с этим ванильным говном и переходи быстрее к фреймворкам
359-549 595 1645509
>>638330

Надо исправить предупреждение:

> PHP Notice: Undefined variable: comisson in /home/s6LME6/prog.php on line 12



Ты там опечатался в имени перемеенной.

Также, надо убрать копипасту, у тебя выражение ($credit * $bankPercent) + $comisson скопировано три раза.

>>638704

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

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

>>638855

Сигнлтоны это вообще плохая штука, тем более в такой модели. Ты зря их используешь. Мой вариант с RequestContext вполне решает твою проблему. При поступлении запроса создается новый объект RC и передается сквозь все слои middleware. Middleware может менять поля этого RC как хочет. И далее этот RC передается в контроллер, используется и выкидывается по завершении запроса. Если параллельно обрабатывается несколько запросов, то существует несколько независимых объектов RC.

Но я не знаю, как это сделать в Laravel. Это уже к тебе вопрос.
596 1645510
>>639469

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

>>639812

> Я оставил пояснения почти перед каждым свойством и методом. Это неправильный подход?



Совсем очевидные комментарии, не несущие новой информации, не нужны, такие не нужны:

// Складываем b и c
$a = $b + $c;
// Получить число работников
function getEMployeeCount()

Все, что не так очевидно, допустимо.

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



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

> Однако опять же: почему в начальном массиве не задаются два дополнительных свойства, отражающие статус руководителя (true | false) и принадлежность к департаменту?



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

> Другими словами, как конструктор из общей массы объектов сможет выцепить сотрудников, которые относятся к определенному департаменту, если из "опознавательных знаков" у них есть только название должности и ранг?



Он и не должен этим заниматься. Конструктор вообще не имеет отношения к этому массиву. Этим должен заниматься код, разбирающий массив, создающий объекты сотрудников, и передающий их в нужные отделы. Лучше у отдела сделать метод "добавить сотрудника" и туда передавать созданных сотрудников.
596 1645510
>>639469

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

>>639812

> Я оставил пояснения почти перед каждым свойством и методом. Это неправильный подход?



Совсем очевидные комментарии, не несущие новой информации, не нужны, такие не нужны:

// Складываем b и c
$a = $b + $c;
// Получить число работников
function getEMployeeCount()

Все, что не так очевидно, допустимо.

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



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

> Однако опять же: почему в начальном массиве не задаются два дополнительных свойства, отражающие статус руководителя (true | false) и принадлежность к департаменту?



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

> Другими словами, как конструктор из общей массы объектов сможет выцепить сотрудников, которые относятся к определенному департаменту, если из "опознавательных знаков" у них есть только название должности и ранг?



Он и не должен этим заниматься. Конструктор вообще не имеет отношения к этому массиву. Этим должен заниматься код, разбирающий массив, создающий объекты сотрудников, и передающий их в нужные отделы. Лучше у отдела сделать метод "добавить сотрудника" и туда передавать созданных сотрудников.
597 1645512
>>642665

Там есть простой вариант - "жадный" алгоритм. Берем по максимуму самой старшей купюры, потом максимум купюры поменьше, и так пока либо не наберем сумму либо поймем, что это невозможно. Условно, если сумма 6500, а старшая купюра 2000, то берем 3 по 2000, остаток 500, и переходим к купюре поменьше.

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

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

>>642984

> protected int $numOfDepts;


Это избыточно, всегда можно использовать count($this->departments). Незачем его хранить и поддерживать. Нужно заменить это на метод для вычисления.

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

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

В сотрудниках лучше использовать абстрактные методы вроде getBasePay() для определения базовых ставок. Так как сейчас у тебя никак не документировано и не проверяется, что наследник задал эти поля. А с абстрактными методами ему придется их реализовывать.

>>643705

По идее сортировать надо с помощью класса Collator из расширения intl: https://github.com/codedokode/pasta/blob/master/php/collation.md
598 1645540
Функция для работы с массивами сори за тавтологию в функциональном стиле ленивые или с отложенным копированием?
599 1645549
>>645485
На будущее погугли про иммутабельность. И вообще лучще не удалять из структуры, а возвращать новую, с нужными данными.

Типа вот так:
https://ideone.com/eAAXuO
600 1645558
Аннонии, увлекся парсингом.
Щас с Авито развлекаюсь.
И как дело дошло до вытаскивания больших данных - меня авито начало отфутболивать.
Редиректит мои запросы на "https://www.avito.ru/blocked",
и кадает заголовки "X-Content-Type-Options=nosniff"
Парсер на ноде у меня,может эта барышня асинхронно устраивает "бомбалейо" для сервера авито? Типа в секунду много запросов. И авито меня отфутболивает из за этого?
Или еще какая причина?

заголовки я выставлял будто я браузер.

Где почитать инфы на тему парсинга и всякого такого?
601 1645564
>>645558
п.с.
Но опять же - захожу через браузер - все пускает
602 1645760
Аноны, помогите разобраться с ПДО.

Я уже писал, но чот дольше того, что fetch пуст дело не пошло. Пробовал fetchAll, дает пусто массив array(0) { }.

Анон, как, блять, взять то, что я в prepare запросил?
603 1645830
>>645760

Может, нет записи с таким логином?

Также, посмотри примеры тут https://www.php.net/manual/ru/pdo.error-handling.php и выставь PDO::ERRMODE_EXCEPTION если он еще не выставлен, для сообщения об ошибках.
sage 604 1645883
блять тред мёртвого языка нахуй никому ненужному кроме предыдущего опа долбаёбы который не может его пересоздать и сделать нормальную краткую шапку
605 1645930
>>645883
Пыха еще тебя переживет не пизди
606 1645935
>>645883
Держи нас в курсе.
607 1646038
>>645760
Мне кажется ты не то делаешь. Как ты из подготовленного запроса хочешь взять массив? Это же строка. Попробуй взять так - $ex->fetch(...);
608 1646109
Почему ругается на $rp[1] = false, ?
609 1646125
блять. стоит такая задача. есть магазин. к нему в админке надо прикрутить поле куда я ввожу скидку (например 10%) и он шлет мне запрос и в бд в таблицу скидок добавляет все это. объясните как мне эу хуйню через mvc реализовать то? чтто в разметке формы писать чтобы я по нормальному при клике на баттон мог этот запрос перехватить, взять че прислал пользователь (в моем случае это просто дискаунт) и послать это в базу перебирая все айдишники товаров?
алсо, как еще прикрутить datetimеfield по нормальному и чтобы его распарсить оптом в конроллере?
610 1646137
>>646125
Если не знаешь как сделать - найми программиста. Нефиг самому лезть.
611 1646217
>>645883
Ну раз он никому не нужен, так проходи мимо, к более нужным языкам, тебя вроде сюда силой никто не загонял.
612 1646244
>>646125
Какой фреймворк?
613 1646249
>>646109
Потому что в аргументах функции нельзя задать принятие параметров в конкретный индекс массива. Делай это ручками, если надо, в теле функции уже.
А еще лучше не делай, помой руки с мылом, и сходи поспи своим наркоманским сном. Кто знает, вдруг ты проснешься другим человеком.
1431258559542.png17 Кб, 476x117
614 1646325
>>630065 (OP)
Можно ли заменит эту рекапчу на капчу с дашачана, или как-то сделать так что бы всегда рекапча давала выбрать картинки а не крутилось 4 минуты без результата?

Сколько будет стоить такое у вас или на фриланс ру там?

вот это апи
https://2ch.hk/api/index.html (М)
615 1646457
>>645830
Запись такая есть, пробовал другие логины, но результат всегда один: bool(false) - вардамп fetch.

Про отрибут ошибок знаю, включено это: setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Но вряд ли для них пустой массив это ошибка.

>>646038

>$ex->fetch(...);


Анон, но ведь в $ex лежит только TRUE. Вряд ли это даст мне массив. Я попробовал, словил ошибку 502 о неверном запросе.

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

Его вообще мои сервис-провайдеры касаться не должны - удалил, почистил конфиги и забыли. Как жить то теперь?
617 1646522
>>646520
У меня всё встало теперь хрен знает насколько. и вышло
Хоть через гит откатывай.
618 1646577
>>646522
Хвала святому гиту - откатил и аккуратно удолил.
Вроде работает как надо.

Держу в курсе.

Вообще есть у кого советы на такой случай, кроме очевидных сейвпоинтов на гите?
619 1646681
>>646577

>Хвала святому гиту - откатил и аккуратно удолил.


В следующий раз попробуй git clean -xn, n покажет тебе что удалит, но удалять пока ничего не будет

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


В данном случае хз что у тебя там произошло, можешь попробовать или руками снести всё в bootstrap/cache или через команду clear-compiled, сюда еще добавить cache:clear, config:clear, route:clear, view:clear если ты накой-то хуй в деве кешируешь это говно
image.png9 Кб, 342x191
620 1646781
>>646457
У меня был такой вариант и оно работает
621 1646784
>>646681

>В следующий раз попробуй git clean -xn, n покажет тебе что удалит, но удалять пока ничего не будет


Удалял уже я, выполняя clear-compiled и dump-autoload через каждое движение. Гитом только состояние сбросил на последний коммит, где всё нормально работало.

>через команду clear-compiled, сюда еще добавить cache:clear, config:clear, route:clear, view:clear


В том то и дело, что он не выполнял никакие команды вообще - писал, что не найден такой-то сервис провайдер и всё.

>руками снести всё в bootstrap/cache


Я видел, что там прописана эта зависимость, но когда сносил, то вообще всё работать переставало. Хз что это было такое.
622 1646850
Как в Symfony, точнее Doctrine сделать удаление через IN и подзапрос?
Через QB делаю запрос, который выбирает нужные мне id. Но есть проблема (и видимо все дело в этом): он возвращает массив массивов (проверил через dd: что с getResult, что с getScalarResult).
Я думаю, что оставшаяся часть с удалением, где я просто в выражение вида "t.id IN (:param)", в :param поставляю getDql от подзапроса сработает отлично, если эта хуета вернет мне тупо массив id, а не массив массивов с id.
В select - 't.id', больше ничего, если что.
97x0zui8gp1z.png360 Кб, 858x725
623 1646988
Запостил в "Мы вам перезвоним", там особо не в теме. Господа, итак... Рассчитываю на вашу помощь.

PHP-шники, подскажите, блядь. Что за хуйня происходит? Последние 3 года работал на одной и той же работает, получал свою "условно сотку" и радовался жизни. Стек: PHP, Laravel, MySQL, Redix, чуть-чуть React/Node.

Благодарю ЕБАНОМУ коронавирусу мой работодатель просто взял и за два месяца обанкротился (бизнес был связан с перевозками пассажиров, перевозки всё). Всех уволили, офис даже закрыли.

Постю резюме на hh.ru. И уже который собес меня ебут чем-то типа:
- напишите интернет-магазин на symfony + react за 6 часов
- как сделать селект у кластера из 1000 mysql-серверов?
- с postgres не работали? идите нахуй
- а мы еще кодим на python и go, помимо php, идите нахуй
- то есть как это вы забыли L в SOLID, идите нахуй
- напишите микро-фреймворк, у вас два часа
- как бы вы оптимизировали супер-сложный-и-медленный запрос (запрос не показывают), если все индексы расставлены правильно? нет, джоины на подзапросы менять нельзя. не знаете? идите нахуй
- забыли чем отличается ES5 от ES6, хотя претендуете на бекенд? идите нахуй
- работали с очередями, но не работали с RabbitMQ, идите нахуй
- шлют тестовые задания на JS, хотя указано, что я хочу PHP
- не знаете как организовать шаблон чейн респонсибилити в ларавеле через внутренние механизмы? нахуй
- назвали вообще не все шаблоны, а только те, которые помните? нахуй
- не писали на тайпскрипт, нахуй

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

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

Отчаялся, переделал резюме, сделал пометку, что ищу место на джуна (хотя на последней работе считался сеньером, блядь), только НАУЧИТЕ. Вообще звонить перестали.

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

В общем, я в ахуе. Кредиты есть. Долги есть, в том числе уже и за ЖКХ. А работа не ищется, от слова "совсем". Один плюс, хоть хата своя, но и это уже не выглядит таким уж плюсом.
97x0zui8gp1z.png360 Кб, 858x725
623 1646988
Запостил в "Мы вам перезвоним", там особо не в теме. Господа, итак... Рассчитываю на вашу помощь.

PHP-шники, подскажите, блядь. Что за хуйня происходит? Последние 3 года работал на одной и той же работает, получал свою "условно сотку" и радовался жизни. Стек: PHP, Laravel, MySQL, Redix, чуть-чуть React/Node.

Благодарю ЕБАНОМУ коронавирусу мой работодатель просто взял и за два месяца обанкротился (бизнес был связан с перевозками пассажиров, перевозки всё). Всех уволили, офис даже закрыли.

Постю резюме на hh.ru. И уже который собес меня ебут чем-то типа:
- напишите интернет-магазин на symfony + react за 6 часов
- как сделать селект у кластера из 1000 mysql-серверов?
- с postgres не работали? идите нахуй
- а мы еще кодим на python и go, помимо php, идите нахуй
- то есть как это вы забыли L в SOLID, идите нахуй
- напишите микро-фреймворк, у вас два часа
- как бы вы оптимизировали супер-сложный-и-медленный запрос (запрос не показывают), если все индексы расставлены правильно? нет, джоины на подзапросы менять нельзя. не знаете? идите нахуй
- забыли чем отличается ES5 от ES6, хотя претендуете на бекенд? идите нахуй
- работали с очередями, но не работали с RabbitMQ, идите нахуй
- шлют тестовые задания на JS, хотя указано, что я хочу PHP
- не знаете как организовать шаблон чейн респонсибилити в ларавеле через внутренние механизмы? нахуй
- назвали вообще не все шаблоны, а только те, которые помните? нахуй
- не писали на тайпскрипт, нахуй

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

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

Отчаялся, переделал резюме, сделал пометку, что ищу место на джуна (хотя на последней работе считался сеньером, блядь), только НАУЧИТЕ. Вообще звонить перестали.

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

В общем, я в ахуе. Кредиты есть. Долги есть, в том числе уже и за ЖКХ. А работа не ищется, от слова "совсем". Один плюс, хоть хата своя, но и это уже не выглядит таким уж плюсом.
624 1647034
>>646988
Думал всю жизнь на одном стекер просидеть? А вот хуй.
Технологии развиваются семимильными шагами.

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

Ну и хули делать, сижу осваиваю докер.
625 1647043
>>646988

>Благодарю ЕБАНОМУ коронавирусу мой работодатель просто взял и за два месяца обанкротился (бизнес был связан с перевозками пассажиров, перевозки всё). Всех уволили, офис даже закрыли.


Пиздёж какой-то. Что за бизнес такой, который за неделю выходных накрылся? Очевидно же, что потом опять эти перевозки начнутся.
Максимум отправят тебя в неоплачиваемый отпуск.

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

>Кредиты есть. Долги есть, в том числе уже и за ЖКХ.


Чё, за неделю уже накопились? Нихуя ты даёшь!
Ладно тебе пиздеть-то - и так в "Мы вам перезвоним" треде всё засрал своей короной, шизоид.
626 1647198
>>646988
Некоторые примеры похожи на толстоту.
Особенно этот

>напишите интернет-магазин на symfony + react за 6 часов


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

Некоторые вменяемые, но ты их выставляешь как что-то неподъемное.
Например вот:

>напишите микро-фреймворк, у вас два часа


На самом деле 2 часов и правда достаточно.

>не знаете как организовать шаблон чейн респонсибилити в ларавеле через внутренние механизмы?


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

Возможно вещами типа "у нас тут постгрес, так что вы нам не подходите" или "нууу тут еще питон" срезают конкретно тебя, а реальную причину называть не хотят. Как и добрая половина твоих этих пунктов.
627 1647242
ОП, сделал задачу про вопросы с разными типами ответов.
Проверь, пожалуйста.
http://sandbox.onlinephpfunctions.com/code/5f0893bc30f217e4c660a90a081dc5dbd156445e
628 1647681
>>638518
С генерацией комбинации с помощью генератора справился вот так https://ideone.com/XhuCwE.

Следующим моим шагом уже стало решение задачи про банкомат, следуя твоим советам, сделал так: одна функция генерирует комбинации, по примеру как с числами, тут только вопрос правильно ли я это осуществил генерацию комбинаций купюр, с числами было попроще. Другая функция проверяет комбинацию, соответствует ли комбинацию тому количеству денег , которое требуется выдать. Сделал все это пока без оптимизации, хочется для начала узнать адекватно ли я вообще написал этот код , и есть ли тут грубые ошибки. Вот сам код https://ideone.com/6tgkDv . Далее уже буду делать оптимизацию.

Есть еще вопрос , можно же было бы осуществить все без генераторов запихнув функцию проверки в функцию генерации комбинации https://ideone.com/5L3qJh , или это ужасно выглядит ?
629 1647688
>>647681
>>638518
Первый код из-за поставленной точки в конце не открывается , вот он если что https://ideone.com/XhuCwE
WhatsApp Image 2020-03-19 at 5.42.45 PM.jpeg94 Кб, 525x564
630 1647817
>>645510
>>645512

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

> В сотрудниках лучше использовать абстрактные методы вроде getBasePay() для определения базовых ставок.



Я поправил код, удалив поля в абстрактном классе Employee, которые получают разные значения в каждом субклассе и определив ряд дополнительных методов.
Kак иначе? Ведь если я объявлю те поля в абстрактном классе и забуду задать им значения в наследниках, то они автоматом примут значение 0 и код сработает, но даст некорректный результат.

Однако тут я столкнулся с дилеммой.

Вариант 1: https://ideone.com/OVnT1P
Новые методы возвращают свойства не объявленные в данном классе. Сами те методы не являются абстрактными. Таким образом мне не нужно их имплементировать в каждом наследнике - код становится короче.
Однако не нарушает ли данное решение принципа, который ты упомянул в учебнике: предки не должны знать ничего о своих наследниках?

Вариант 2: https://ideone.com/SLNNfE
Новые методы являются абстрактными. Соответственно, абсолютно идентичный код копируется в каждом наследнике, зато принцип вроде как соблюдается.

Что лучше?

> В конструкторе Департамента не надо создавать сотрудников. Надо принимать просто объекты сотрудников. Этим должен заниматься код, разбирающий массив, создающий объекты сотрудников, и передающий их в нужные отделы.



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

$employees = [
// count, profession, rank
[3, Employee::JOB_MANAGER, 1],
[5, Employee::JOB_ENGINEER, 2],
...
];

Я разбираю входящий массив при помощи функции, которая не относится ни к одному классу? Создаю объекты и складываю в другой массив? Или все-таки сразу же распределяю по департаментам?
В любом случае я не очень понимаю, как то осуществить в условиях отсутствия каких-либо указаний на принадлежность к отделу и статуса начальника в стартовом массиве.
То есть, вот я сложил все получившиеся объекты в единый массив: https://ideone.com/ikKea2
Но как их теперь автоматизированно разбросать по отделам? Меня очень интересует твой вариант.

Тот формат начального массива, который я составил, вероятно, выглядит витеевато, однако в нем я поместил все указания, без которых я затрудняюсь следовать дальше. Вот он с функцией разбора: https://ideone.com/P8mQ6j
WhatsApp Image 2020-03-19 at 5.42.45 PM.jpeg94 Кб, 525x564
630 1647817
>>645510
>>645512

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

> В сотрудниках лучше использовать абстрактные методы вроде getBasePay() для определения базовых ставок.



Я поправил код, удалив поля в абстрактном классе Employee, которые получают разные значения в каждом субклассе и определив ряд дополнительных методов.
Kак иначе? Ведь если я объявлю те поля в абстрактном классе и забуду задать им значения в наследниках, то они автоматом примут значение 0 и код сработает, но даст некорректный результат.

Однако тут я столкнулся с дилеммой.

Вариант 1: https://ideone.com/OVnT1P
Новые методы возвращают свойства не объявленные в данном классе. Сами те методы не являются абстрактными. Таким образом мне не нужно их имплементировать в каждом наследнике - код становится короче.
Однако не нарушает ли данное решение принципа, который ты упомянул в учебнике: предки не должны знать ничего о своих наследниках?

Вариант 2: https://ideone.com/SLNNfE
Новые методы являются абстрактными. Соответственно, абсолютно идентичный код копируется в каждом наследнике, зато принцип вроде как соблюдается.

Что лучше?

> В конструкторе Департамента не надо создавать сотрудников. Надо принимать просто объекты сотрудников. Этим должен заниматься код, разбирающий массив, создающий объекты сотрудников, и передающий их в нужные отделы.



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

$employees = [
// count, profession, rank
[3, Employee::JOB_MANAGER, 1],
[5, Employee::JOB_ENGINEER, 2],
...
];

Я разбираю входящий массив при помощи функции, которая не относится ни к одному классу? Создаю объекты и складываю в другой массив? Или все-таки сразу же распределяю по департаментам?
В любом случае я не очень понимаю, как то осуществить в условиях отсутствия каких-либо указаний на принадлежность к отделу и статуса начальника в стартовом массиве.
То есть, вот я сложил все получившиеся объекты в единый массив: https://ideone.com/ikKea2
Но как их теперь автоматизированно разбросать по отделам? Меня очень интересует твой вариант.

Тот формат начального массива, который я составил, вероятно, выглядит витеевато, однако в нем я поместил все указания, без которых я затрудняюсь следовать дальше. Вот он с функцией разбора: https://ideone.com/P8mQ6j
631 1648094
Как заполнить селектор значениями из БД?
Php 7

Вот у индусов всё получается, а у меня нетъ.

Вот элемент на основной страничке.
<select>
<?php
require_once('s_num_car.php');
while($row1=mysqli_fetch_array($zapros1))
?>
<option value="<?php echo $row1[0]; ?>"><?php echo $row1[0]; ?></option>
</select>

Вот тут скрип доставания записей.
s_num_car.php
<?php
require_once('c.php');//это говно работает как надо.

$sql="select * from cars";
$zapros1 = mysqli_query($con,$sql);
?>
XoXC-iznPnw.jpg140 Кб, 1080x1080
632 1648101
>>630065 (OP)
Почему не выводится тело if?
Все же правильно!
https://ideone.com/Min7CF
<?php
$value=5;
$nb=463;
$factorial=gmp_fact($value);
if($factorial <= $nb){
echo intdiv($nb, $factorial);
}
6d9083bc974f1105776b70c9f0e4da91.jpg9 Кб, 256x256
633 1648171
ОП, привет. Посмотри кошек-мышек пожалуйста.
https://ideone.com/4gcagK
634 1648177
>>648101
Добавил, проверь https://ideone.com/pJMX8o
image.png108 Кб, 1539x657
635 1648183
Всем приветик, это снова я. И мне удалось вытянуть данные из запроса.
А обсер знаете в чем был? В ЕБУЧИХ КАВЫЧКАХ СУКА.
636 1648197
>>648177
Спасибо, дал бы сразу наводку про GMP. А то я даже и не слышал про такое)
637 1648216
>>648183
Я сам SQL не очень люблю - байтопердолики ни ошибки внятно вывести не могут, ни синтаксис сделать вменяемый.
Чистые запросы копипащу, когда приходится, а так либо билдер, либо ОРМ использую.
638 1648334
>>648216
Он смешно одбристался не в самом sql даже, но ты зачем-то именно про sql зашел поныть. Уровень знаний посетителей треда - один познает подстановку параметров, на что никто ему не может ответить, потому что в упор нихуя не видят сами, а второй занимается копипастом запросов и не может pdo от sql отличить.
Второй поди уже работает и какой-нибудь гордый "состояшийся" ларавел-мидл, как дурачек выше по треду с толстотой про поиск работы.
639 1648359
>>648334

>первый


>второй


А третий пришёл пукнуть своим важным мнением.

Советы, дурачок ты мамин, надо было раздавать когда тебя спрашивали.
640 1648387
>>646988
Кароч даю советы по пунктам:
1. Если в тестовом микрозалупамагазин сразу шли нахуй, эти пидоры времени людей вообще нихуя не ценят. Разбирать твою писанину никто не станет, в лучшем случае просмотрят. А ты ведь стараться будешь, душу вкладывать. Сразу нахуй.
2. Никак. Нет в природе MySql кластера на 1000 нод. Пытаться делать что-то такое это как забивать гвозди хуем, звучит круто, а на деле хуи меняются, а работа не сделана.
3. Поработай с постгресом, на деле хватит изучить как работают CTE, все равно будут спрашивать только используешь ли ты их.
4. Ну тут хуйня какая-то если обязательно нужны другие языки, то как ты до собеса добрался вообще? Лечи что изучишь как только так сразу, скорее всего не придется.
5. Так выучи уже эту поеботу, там пять букв сука.
6. Смотри пункт один.
7. Звучит как хуйня, тут либо спрашивает некомпетентный уебан, либо ты слишком утрированно описал. Оптимизация такого запроса это попытка наебать планировщик базы, и если выгодно писать подзапрос, то ты пишешь подзапрос или сосешь бибу.
8. Не нравятся вопросы по фронту, сразу говори что фронт в рот ебал, сэкономишь время.
9. Подними в докере ебучий реббит и отправь/прими пару сообщений и все, ты работал с очередями, нихуя там сложного нет.
10. Сразу нахуй.
11. Я бы сразу нахуй слал, лютая завязка на фреймворк никого до добра не доводила. Потом нужно будет гланды через ларавель удалять, а очко твое не казенное.
12. Смотри пункт пять, открой рефактоинг гуру и под пивас почитай, делов на час, а пользы как от бутылки пива.
13. Смотри пункт восемь. Лезешь на фуллстека, получай по хую в каждую дырку.
641 1648418
642 1648502
>>647034
Сука, ты - это я, один в один, я чуть слезу не пустил.

> Тоже ахуеваю от мидловых собесов. На каждом спрашивают про хуйлоад, про еба архитектуры, про докер, про оптимизацию скл запросов.



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

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



Да. Тестовые - просто доебали. Я за день связался с пятью компаниями и все выслали тестовые. Мне эти тестовые теперь надо месяца полтора делать. И как мне быть? Пока я их пилю, там вакансии уже закроются. Я закономерно забил хуй на самые сложные из них (типа "напишите нам интернет-магаз на symfony + react" и еще требований к нему на два листа А4).

> Ну и хули делать, сижу осваиваю докер.



Я тоже осваиваю. Прочитал книгу, запилил себе докер конфиг для docker-compose. В итоге на последнем собесе был такой диалог:
- Знакомы с докер?
- Да, использую его для разработки на локальной машине, контейнеры удобнее, чем поднимать всё руками, хуйемо.
- Ааааа как бы вы сконфигурировали докер для CI/CD на продакшн сервере под нагрузкой?
- ........ не знаю.

Сука. Где вообще вакансии вменяемые? Почему они считают, что я должен знать вообще все на свете?

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

На последних двух работах не то, что никого всё это не ебало, никто, наверное и не в курсе был. Там люди не успевали задачи-то решать толком, ибо задач вагон, времени нихуя и т.п.
643 1648505
>>648387
Слушай, спасибо тебе за адекватный ответ. Я только одно уточнить хочу - ты сейчас работаешь, именно PHP? Просто я не вижу вакансий, где PHP-шнику не нужен JS (либо их две из ста, грубо говоря, а попытки-то не бесконечные).
644 1648510
>>646325
Ты наркоман что ли? При чем тут "стоить"? Капча интегрирована в бекенд двача. Капча работает не только в твоем браузере.
645 1648514
>>647043
>>647198
Без обид, поцаны, я жутко горел, когда писал. И до сих пор горю, но не так сильно. Давайте поясню, что ли. Всё равно собесы доебали уже, сил нет.

> Пиздёж какой-то. Что за бизнес такой, который за неделю выходных накрылся?



Мелкий бизнес, собственно. Маленькая команда, несколько своих проектов, которые приносят доход. Зарплата меня устраивала, но больше всего нравились коллеги, охуенные прямо, поэтому никак не мог решиться сменить работу. А разорились очень просто: у туризма январь и февраль всегда провальные месяцы, почти никто не ездит. А к марту началась херня с нефтью, короной и вот это всё. В итоге их финансовой подушки хватило на 3 месяца и гудбай. Дело не в самом карантине, а вообще в обстановке в целом.

> Чё, за неделю уже накопились? Нихуя ты даёшь!


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

> "Мы вам перезвоним" треде всё засрал своей короной


Я там пару постов сделал, наркоман. Кто тут еще пиздит-то.

> Ты зря так перегибаешь


Да, я тут откровенно утрирую. Срок на такую задачу дали около 5 дней. Проблема в том, что ВСЕ дали тестовое, той или иной степени сложности. Да и вообще, у меня нет этих, блядь, пяти дней, мне работа нужна сейчас.

> На самом деле 2 часов и правда достаточно.


Я около 5 часов только свой роутер придумывал, чтобы он не был роутером инвалида (и всё равно он мне не нравится). Может быть я тупой, конечно, но за 2 часа написать фреймворк, даже простой, это невозможно.

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


Я его использую, а не программирую. Все проекты, что я на нем видел - это ж детский сад. MVC, роутинг, модели, очереди и еще что-нибудь, ну и всё. Там не надо никуда лезть, чтобы в этом разобраться и сидеть себе, фигачить проект. Для чейн респонсибилити используется встроенный в Laravel пайплайн (я это уже потом узнал), но я ни разу не видел ничего даже близкого к такому в реальном проекте. Просто MVC, если контроллер стал толстый (да, все пихали логику в контроллер), делаем сервис. Это максимум просто из того, что я видел.

> а реальную причину называть не хотят


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

Хотя весь фидбек, который удалось выпросить, коротко можно описать как "вы слабый программист" (где-то я не знаю сложность поиска по какому-нибудь красно-черному дереву, где-то вот забыл L в SOLID, где-то не знаком с Монго, где-то еще что-то).

Вопрос в том, как пробиться на работу, чтобы получить опыт всего этого? Я готов пахать хоть сутками, но не могу найти тех, кто взял бы.
645 1648514
>>647043
>>647198
Без обид, поцаны, я жутко горел, когда писал. И до сих пор горю, но не так сильно. Давайте поясню, что ли. Всё равно собесы доебали уже, сил нет.

> Пиздёж какой-то. Что за бизнес такой, который за неделю выходных накрылся?



Мелкий бизнес, собственно. Маленькая команда, несколько своих проектов, которые приносят доход. Зарплата меня устраивала, но больше всего нравились коллеги, охуенные прямо, поэтому никак не мог решиться сменить работу. А разорились очень просто: у туризма январь и февраль всегда провальные месяцы, почти никто не ездит. А к марту началась херня с нефтью, короной и вот это всё. В итоге их финансовой подушки хватило на 3 месяца и гудбай. Дело не в самом карантине, а вообще в обстановке в целом.

> Чё, за неделю уже накопились? Нихуя ты даёшь!


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

> "Мы вам перезвоним" треде всё засрал своей короной


Я там пару постов сделал, наркоман. Кто тут еще пиздит-то.

> Ты зря так перегибаешь


Да, я тут откровенно утрирую. Срок на такую задачу дали около 5 дней. Проблема в том, что ВСЕ дали тестовое, той или иной степени сложности. Да и вообще, у меня нет этих, блядь, пяти дней, мне работа нужна сейчас.

> На самом деле 2 часов и правда достаточно.


Я около 5 часов только свой роутер придумывал, чтобы он не был роутером инвалида (и всё равно он мне не нравится). Может быть я тупой, конечно, но за 2 часа написать фреймворк, даже простой, это невозможно.

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


Я его использую, а не программирую. Все проекты, что я на нем видел - это ж детский сад. MVC, роутинг, модели, очереди и еще что-нибудь, ну и всё. Там не надо никуда лезть, чтобы в этом разобраться и сидеть себе, фигачить проект. Для чейн респонсибилити используется встроенный в Laravel пайплайн (я это уже потом узнал), но я ни разу не видел ничего даже близкого к такому в реальном проекте. Просто MVC, если контроллер стал толстый (да, все пихали логику в контроллер), делаем сервис. Это максимум просто из того, что я видел.

> а реальную причину называть не хотят


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

Хотя весь фидбек, который удалось выпросить, коротко можно описать как "вы слабый программист" (где-то я не знаю сложность поиска по какому-нибудь красно-черному дереву, где-то вот забыл L в SOLID, где-то не знаком с Монго, где-то еще что-то).

Вопрос в том, как пробиться на работу, чтобы получить опыт всего этого? Я готов пахать хоть сутками, но не могу найти тех, кто взял бы.
646 1648538
>>648505
Да я чисто бекэнд пхп макака сеньор помидор.
Ну не бывает так, что человек в равной степени шарит и в ES6 и в бэке. Эти темы настолько разные и объемные, что занимаясь одним, теряешь в другом. Про верстку я вообще не говорю.
Когда хотят фуллстека, и доебываются что ты хуево знаешь одну из частей, то тут явно пиздежь и наебка. Ну нет в природе таких самородков, тем более мидлов.
647 1648539
>>648514
Все это хуйня, не парься. Просто подтягивай то в чем просел на собесе и иди на следующий. Все будет. Я на собесах двадцати побывал, пока нашел норм контору. На таких долбоебов насмотрелся пизда, и это при зп от 200К, че там у джунов представить боюсь.
Если у тебя опыт от года смело пиши мидл, мнение ебланов с собеса близко к сердцу не принимай, просто подтягивай то на чем прокололся и иди дальше.
648 1648560
>>648539

>На таких долбоебов насмотрелся пизда


Да я по ХХ смотрю - долбоёбов в этой сфере просто пропасть. Причём с обеих сторон.
649 1648700
>>648502

>Я тоже осваиваю. Прочитал книгу, запилил себе докер конфиг для docker-compose. В итоге на последнем собесе был такой диалог:


- Знакомы с докер?
- Да, использую его для разработки на локальной машине, контейнеры удобнее, чем поднимать всё руками, хуйемо.
- Ааааа как бы вы сконфигурировали докер для CI/CD на продакшн сервере под нагрузкой?
- ........ не знаю.

В конец охуели мрази. Им уже не бек нужен, не фулстак, а еба фулстек-девопс
650 1648702
Да на фрилансе ебанутых не меньше так то.
651 1648709
>>648183

Если дело в кавычках, то в таком случае PDO должен был выкинуть исключение, и ты бы увидел там подробности ошибки. Значит, ты либо не включил ERRMODE_EXCEPTION, как тебе советовали, либо как-то еще скрыл вывод ошибок.

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

Я это написал скорее как совет, и тебе на будущее, и другим: всегда включайте вывод ошибок, не пытайтесь их ловить и скрывать, или отключать.
652 1648718
>>648502

Давайте поплачемся с другой стороны. Приходят люди, 10+ лет опыта, устно не могут объяснить индексы, или блокировки в транзакциях. Или отвечают "я думаю, это всегда можно в гугле найти, незачем это знать".

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

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

Или N лет опыта с Симфони в резюме - объяснить, что делает persist, не может. Как вы N лет используете функцию, не зная, что она делает, а?

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

Зато любой может рассказать про микросервисы (принцип "пришел, внедрил, свалил") и паттерны. С этими паттернами вообще какая-то проблема, я видел как люди вместо функции со свитчем сделали стратегию с 16 классами с наследованием и трейтами. Я бы лично отсеивал всех, кто хоть что-то пискнет хорошее про паттерны или микросервисы. Вы не Фаулер, и работать устраиваетесь не в Гугл. Ваши микросерисы тут даром не нужны. У нас денег столько нету, чтобы это поддерживать.

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

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

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

> забыли чем отличается ES5 от ES6



Ну блин, синтаксис классов в голову не приходит? Ты хоть раз в жизни учебник JS открывал? Есть 3 версии, ES3, ES5 и Es6 и более новые версии, и уж минимум несколько их особенностей выучить можно. А то потом такие как вы пишут код, что в телефоне 3-летней давности сайт не работает.

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

Тестовых сложнее, чем на полчаса-час-два не давал ни разу.
652 1648718
>>648502

Давайте поплачемся с другой стороны. Приходят люди, 10+ лет опыта, устно не могут объяснить индексы, или блокировки в транзакциях. Или отвечают "я думаю, это всегда можно в гугле найти, незачем это знать".

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

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

Или N лет опыта с Симфони в резюме - объяснить, что делает persist, не может. Как вы N лет используете функцию, не зная, что она делает, а?

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

Зато любой может рассказать про микросервисы (принцип "пришел, внедрил, свалил") и паттерны. С этими паттернами вообще какая-то проблема, я видел как люди вместо функции со свитчем сделали стратегию с 16 классами с наследованием и трейтами. Я бы лично отсеивал всех, кто хоть что-то пискнет хорошее про паттерны или микросервисы. Вы не Фаулер, и работать устраиваетесь не в Гугл. Ваши микросерисы тут даром не нужны. У нас денег столько нету, чтобы это поддерживать.

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

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

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

> забыли чем отличается ES5 от ES6



Ну блин, синтаксис классов в голову не приходит? Ты хоть раз в жизни учебник JS открывал? Есть 3 версии, ES3, ES5 и Es6 и более новые версии, и уж минимум несколько их особенностей выучить можно. А то потом такие как вы пишут код, что в телефоне 3-летней давности сайт не работает.

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

Тестовых сложнее, чем на полчаса-час-два не давал ни разу.
653 1648722
>>648700
Впринципе сейчас бекендеры многое из этого умеют на достаточном для себя уровне, т.к. просто удобство и культура разработки. Одно только но - ci/cd не на каждой работе пощупать удастся, даже если он там есть (либо ci/cd такие простые, что за опыт не считается).
>>648538
У меня получается больше одного стека технологий в голове удерживать, хотя есть основной, в котором я эффективнее всего работаю. Теряется при одновременной работе время. Фулстек делает, грубо говоря, 50% фронт и 50% бек от того, который мог бы сделать чисто на чем-то одном. Добавь еще к этому еблю с девопсом сейчас. Хотя она не ежедневная, так что 5% всего на это. В общем если работодатель понимает, что фулстак это экономия на качестве и не гнет пальцы, то они норм сосуществуют. Если нет - наступает тщетность бытия и забитый хуй на проект.
Алсо, когда увлеченно какие-то свои петы пилишь так и так становишься тем самым фулстеком. Иногда даже на несколько стеков.
654 1648802
Аноны, дайте какой нибудь реальны таск на связкупхп + нода.
Для чего и как это можно сплести в объятьях братских?
655 1648812
>>648538
Не знаю. Я такой странноватый недовкатившийся. Сам себе программист, для своей конторы небольшое пхп-приложение запилил. С нодой люблю поковыряться. Но опыта совместной разработки у меня ноль. И опыта "вката" у меня тоже нет.
Пока что все тестовые что проходил - были вполне адекватные. В частности на пхп - что то типа таск менеджера оч простого, с пагинацией и фильтрами на ней. Все на чистом PHP 7< ООП и без фреймворков. Считаю это адекватным тестовым - потому что человек с опытом либо из своих исходников собирет свое MVC с роутером, моделями и валидаторами за пару часов, либо найдет по быстрому уже готовые классы и из них опять же соберет весь этот венегрет.

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

Оба тестовых я сделал, но не в срок, и оба тестовых мне очень много дали. Так что совсем не адекватных заданий я не встречал.
656 1648813
>>648812
бля, промахнулся
это тебе >>648718
657 1648820
>>648510
Хорошо, как тогда решить эту задачу можно?
658 1648822
>>648820
Решение простое: купи пасскод.
659 1648829
>>648718
А я с тобой не везде согласен.

>Приходят люди, 10+ лет опыта, устно не могут объяснить индексы, или блокировки в транзакциях. Или отвечают "я думаю, это всегда можно в гугле найти, незачем это знать".


Тебе чтобы водить машину тоже досконально двигатель внутреннего сгорания надо знать - какие там давления, какие топливо-воздушные смеси и тд? Или может всё же достаточно понимания общих принципов и знания ПДД?
А может и правда права вождения перестанем выдавать всем тем, кто магистратуру по автомобилестроению не сдавал?
У них 10+ лет опыта построения приложений согласно требованиям бизнеса, а не дрочки индексов. Наймите уже отдельно себе аутиста для баз данных - чтобы сидел и над индексами аутировал.

>Про фронтенд лучше вообще не спрашивать - никто ничего не знает.


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

>Зарплату ему оплатить изволите?


Дай угадаю - когда вы про фронтенд спрашиваете, то речи о, эквивалентной добавке к зарплате не идёт? Может это вы халявы хотите тогда?

>Вы бы лучше вместо курсов по повышению самоуверенности запросы поучились оптимизировать и мануалы почитали.


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

>из-за вас приходится


Кого нас то? Люди работают как умеют - с тупняком, косяками и прочее. Это вообще к любой деятельности относится: от подметания улиц до построения АЭС в прибрежной зоне.
Думаешь сам идеальный? Твоя позиция впринципе инфантильна.
Хочешь лучше? Найми фронтендера для фронтенда, бекендера для бекенда, тестеров пачку, аутиста для бд и шлюх им всем на выходные например. Но обычно же так никто не делает - не делает по-нормальному.

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


А ты уверен, что говнокод люди по своей воле пишут? А как тогда с постоянными авралами например? А почему специалистов подороже не берём? Пряников нет на них? Ну так значит на ваших проектах будут говнокодеры учиться. Всё справедливо.
659 1648829
>>648718
А я с тобой не везде согласен.

>Приходят люди, 10+ лет опыта, устно не могут объяснить индексы, или блокировки в транзакциях. Или отвечают "я думаю, это всегда можно в гугле найти, незачем это знать".


Тебе чтобы водить машину тоже досконально двигатель внутреннего сгорания надо знать - какие там давления, какие топливо-воздушные смеси и тд? Или может всё же достаточно понимания общих принципов и знания ПДД?
А может и правда права вождения перестанем выдавать всем тем, кто магистратуру по автомобилестроению не сдавал?
У них 10+ лет опыта построения приложений согласно требованиям бизнеса, а не дрочки индексов. Наймите уже отдельно себе аутиста для баз данных - чтобы сидел и над индексами аутировал.

>Про фронтенд лучше вообще не спрашивать - никто ничего не знает.


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

>Зарплату ему оплатить изволите?


Дай угадаю - когда вы про фронтенд спрашиваете, то речи о, эквивалентной добавке к зарплате не идёт? Может это вы халявы хотите тогда?

>Вы бы лучше вместо курсов по повышению самоуверенности запросы поучились оптимизировать и мануалы почитали.


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

>из-за вас приходится


Кого нас то? Люди работают как умеют - с тупняком, косяками и прочее. Это вообще к любой деятельности относится: от подметания улиц до построения АЭС в прибрежной зоне.
Думаешь сам идеальный? Твоя позиция впринципе инфантильна.
Хочешь лучше? Найми фронтендера для фронтенда, бекендера для бекенда, тестеров пачку, аутиста для бд и шлюх им всем на выходные например. Но обычно же так никто не делает - не делает по-нормальному.

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


А ты уверен, что говнокод люди по своей воле пишут? А как тогда с постоянными авралами например? А почему специалистов подороже не берём? Пряников нет на них? Ну так значит на ваших проектах будут говнокодеры учиться. Всё справедливо.
660 1648855
>>648502
>>646988
я вкатывальщик, но судя по логике тут два варианта

либо ты хуевый спец, у которого проблемы со скиламми или с общением на собеседовании ( это вариант мы не рассматриваем, ведь ты же крепкий мидл по твоим словам

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

а вообще это похоже на какую-то пасту из бэ в тредах вкатывальщиков. потому-что сейчас во время эпидемиии я вообще сомневаюсь, что кто-то ищет кадры
661 1648997
>>648718
Ты же поехавший, ты себя слышишь? Вот твои требования к соискателю:
1) Знает нутрянку бд. Шарит в уровнях изоляции, помнит всю эту еботу на зубок.
2) Шарит в верстке, может див по центру другого дива расположить сходу, все это помнить без гугла разумеется.
3) Коммуникабельный и харизматичный.
4) Имеет абсолютно релевантный опыт, уже делал точно то что вам надо.
5) Знает что персист это доктрина, а не симфони и может грамотно послать нахуй чсв интервьюера.
6) Умеет оптимизировать запросы, шарит за планировщик базы.
7) Внезапно не коммуникабельный и не харизматичный.
8) Не просто знает паттерны, а как минимум несколько вывел сам и понимает когда в них возникает реальная необходимость, обычно просто пишет код, а паттерны возникают интуитивно.
9) Не использует паттерны (что бля?).
10) Не знает про современные методы разработки в крупных компания, не интересуется микросервисами (чего нахуй?).
11) Возрастом 15-20 лет, ковырял спектрумы.
12) Может нормально работать.
13) Знает чем отличается ES5 от ES6.

Насколько я понимаю это требования к фуллстек мидлу. В голове не укладывается как можно быть таким ебанутым и охуевшим одновременно. Даже в этих нескольких абзацах у тебя взаимоисключающие параграфы и шизофазия. Че там у тебя на собесах я представить боюсь.
Просто прикинь, что есть на свете кандидат, который соответствует этим требованиям, и подумай нахуй ты ему обосрался с твоими вопросами ебанутыми и со своей конторой? Если он это все умеет он может пойти КУДА УГОДНО БЛЯДЬ, для него, с таким набором скилов, открыты буквально все двери офисов на планете.
662 1648999
>>648802
Из классики: чатик запили с вебсокетами.
663 1649004
>>648855
Вы заебали меня пастой называть. Пойди, запости резюме на ХХ и посмотри сам, как обстоят дела, все вопросы отпадут.
664 1649006
>>648538
Надеюсь, я пока просто нарывался на неадекватов и всё. Я с тобой согласен, невозможно шарить во всём и сразу. Я тут полгода Java учил, хотел перекатиться (и обосрался в итоге). Но смысл в том, что через полгода Java я забыл к хуям даже PHP, начал писать public void method() и не понимать, чому оно не запускается.

Я к тому, что да, знать всё - это невозможно. Но эти пидорасы думают, что возможно.
665 1649007
>>648539
Спасибо, бро. Так и делаю. Что характерно - узнал для себя много нового. Если бы не острая необходимость в деньгах, то собеседовался бы и радовался, т.к. их тестовые и их вопросы (даже не релевантные вакансии) на самом деле довольно полезные.
666 1649008
>>648700
Думаю, те, кто это спрашивают, так и работают. Ищут за 80к человека, который может всё, еще и гендиру сосать будет. Самое страшное, что даже в Джавку это проникает, разговаривал тут с другом. В один крупный российский банк (я даже переписку видел) ищут людей, которые джава сеньеры на бекенде и JS-мидлы на фронте. Вот это я охуел.
667 1649021
>>649006
У тебя что-то с памятью, так быть не должно. Добавь к этому свою проблем с ес5 и ес6 еще. И то и то похоже на одно и то же указывает.
668 1649029
>>648718
Меня отдельно порадовало, что ты даже не думаешь о том, что человек может волноваться, для него это стресс. Меня сегодня собеседовали ВПЯТЕРОМ, блядь. Догадайся с трех раз: я забыл даже то, что неплохо знаю? Все ответы сказал именно так, как хотел? Не бился ли головой в стену после собеса, т.к. неожиданно придумал ответы гораздо лучше?

> Приходят люди, 10+ лет опыта, устно не могут объяснить индексы, или блокировки в транзакциях.


Ты вообще спрашиваешь, какой у них именно опыт? Я, например, честно говорю, что 6 лет педалил сайты на CMS, над большими проектами не работал и т.п. И объясни, что такое индексы. Серьезно.

> Про фронтенд лучше вообще не спрашивать - никто ничего не знает.


Какое серьезное обобщение, бро. Ощущение, что ты вообще никого не собеседовал на самом деле.

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


Во-первых, ты где их ищешь? Я готов педалить всё подряд, в том числе и фронт, только возьмите. Не берут. А ты пишешь, что все такие выебистые, что личного раба хотят. Один из нас пиздит? Во-вторых, с какого хуя разработчика должны волновать твои финансовые проблемы?

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


Бедненький ты наш. Ни сколько не уходит. Я собеседовал джунов, было наоборот прикольно перестать кодить и поделать что-то подобного рода.

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


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

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


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

> Или N лет опыта с Симфони в резюме - объяснить, что делает persist, не может. Как вы N лет используете функцию, не зная, что она делает, а?


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

> Вы бы лучше вместо курсов по повышению самоуверенности


Какую зарплату ты предлагаешь? А то сейчас окажется, что ты ищешь за 50к фулстек макаку, помняющую за персист и симфони.

> С этими паттернами вообще какая-то проблема, я видел как люди вместо функции со свитчем сделали стратегию с 16 классами с наследованием и трейтами.


Я даже с тобой согласен тут. Но ты не поверишь просто. Смотри, вот я ищу работу. Собеседуюсь с тобой и рассказываю про паттерны, а ты мне говоришь, что паттерны не нужны и говно. И думаешь, что я идиот, который везде пихает паттерны. Через час я собеседуюсь с другим пидорасом и говорю ему, что паттерны не нужны и говно. А он мне говорит, что я ебанутый и без паттернов жизни нет. И как мне быть? P.S. Ты же понимаешь, что ты ты однобоко смотришь на соискателя и очень специфически (и непопулярно) смотришь на программирование?

> Ваши микросерисы тут даром не нужны. У нас денег столько нету, чтобы это поддерживать.


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

> Как-то разговаривать еще можно с 15-20 летними и не фейспальмить, с теми, кто еще спектрумы ковырял.


Шизофазия какая-то, я даже не распарсил. Мне 32, я ковырял. 15-летние про спектрумы даже не слышали. Тем не менее, от этого я тебе не расскажу лучше, как там индексы работают.

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


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

> крутые спецы все сидят на хорошей работе, на зарубеж


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

> Ты хоть раз в жизни учебник JS открывал?


Ясен хуй. Только если я что-то и делаю, то есть babel, есть typescript. Помнить в чем там отличия просто не нужно. И я бы сказал, что если ты хочешь возложить ответственность "откроется ли моё говно в старом браузере" на себя, а не на babel, то ты очень опасный и неопытный. Из того, что я ответил и помню - подвезли стрелочную функцию, декларацию классов не через протатип, let, вот эту хуйню "...array". Дальше хуй его знает. Ну и понятное дело, что этого не хватило для ответа, тем более я звучал неуверенно (т.к. не был уверен).

> Тестовых сложнее, чем на полчаса-час-два не давал ни разу.


Ну хоть где-то ты молодец.
668 1649029
>>648718
Меня отдельно порадовало, что ты даже не думаешь о том, что человек может волноваться, для него это стресс. Меня сегодня собеседовали ВПЯТЕРОМ, блядь. Догадайся с трех раз: я забыл даже то, что неплохо знаю? Все ответы сказал именно так, как хотел? Не бился ли головой в стену после собеса, т.к. неожиданно придумал ответы гораздо лучше?

> Приходят люди, 10+ лет опыта, устно не могут объяснить индексы, или блокировки в транзакциях.


Ты вообще спрашиваешь, какой у них именно опыт? Я, например, честно говорю, что 6 лет педалил сайты на CMS, над большими проектами не работал и т.п. И объясни, что такое индексы. Серьезно.

> Про фронтенд лучше вообще не спрашивать - никто ничего не знает.


Какое серьезное обобщение, бро. Ощущение, что ты вообще никого не собеседовал на самом деле.

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


Во-первых, ты где их ищешь? Я готов педалить всё подряд, в том числе и фронт, только возьмите. Не берут. А ты пишешь, что все такие выебистые, что личного раба хотят. Один из нас пиздит? Во-вторых, с какого хуя разработчика должны волновать твои финансовые проблемы?

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


Бедненький ты наш. Ни сколько не уходит. Я собеседовал джунов, было наоборот прикольно перестать кодить и поделать что-то подобного рода.

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


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

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


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

> Или N лет опыта с Симфони в резюме - объяснить, что делает persist, не может. Как вы N лет используете функцию, не зная, что она делает, а?


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

> Вы бы лучше вместо курсов по повышению самоуверенности


Какую зарплату ты предлагаешь? А то сейчас окажется, что ты ищешь за 50к фулстек макаку, помняющую за персист и симфони.

> С этими паттернами вообще какая-то проблема, я видел как люди вместо функции со свитчем сделали стратегию с 16 классами с наследованием и трейтами.


Я даже с тобой согласен тут. Но ты не поверишь просто. Смотри, вот я ищу работу. Собеседуюсь с тобой и рассказываю про паттерны, а ты мне говоришь, что паттерны не нужны и говно. И думаешь, что я идиот, который везде пихает паттерны. Через час я собеседуюсь с другим пидорасом и говорю ему, что паттерны не нужны и говно. А он мне говорит, что я ебанутый и без паттернов жизни нет. И как мне быть? P.S. Ты же понимаешь, что ты ты однобоко смотришь на соискателя и очень специфически (и непопулярно) смотришь на программирование?

> Ваши микросерисы тут даром не нужны. У нас денег столько нету, чтобы это поддерживать.


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

> Как-то разговаривать еще можно с 15-20 летними и не фейспальмить, с теми, кто еще спектрумы ковырял.


Шизофазия какая-то, я даже не распарсил. Мне 32, я ковырял. 15-летние про спектрумы даже не слышали. Тем не менее, от этого я тебе не расскажу лучше, как там индексы работают.

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


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

> крутые спецы все сидят на хорошей работе, на зарубеж


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

> Ты хоть раз в жизни учебник JS открывал?


Ясен хуй. Только если я что-то и делаю, то есть babel, есть typescript. Помнить в чем там отличия просто не нужно. И я бы сказал, что если ты хочешь возложить ответственность "откроется ли моё говно в старом браузере" на себя, а не на babel, то ты очень опасный и неопытный. Из того, что я ответил и помню - подвезли стрелочную функцию, декларацию классов не через протатип, let, вот эту хуйню "...array". Дальше хуй его знает. Ну и понятное дело, что этого не хватило для ответа, тем более я звучал неуверенно (т.к. не был уверен).

> Тестовых сложнее, чем на полчаса-час-два не давал ни разу.


Ну хоть где-то ты молодец.
669 1649030
>>649021
Ну хуй знает. Я уже подумывал про это. Курить бросить, что ли.
670 1649045
>>648718
Хотя я могу защитить тебя в одном, пожалуй. Я писал, что собеседовал джунов. Так вот, найти джуна, который хотя бы установил ларавел и потыкал его палкой оказалось неожиданно серьезной проблемой. Взяли парня, который был просто смышленый и интересующийся, без опыта. Просто потому, что остальные не могли даже ответить, что такое PHP, что такое класс, что такое база данных, как из PHP к ней подключиться. Про индексы и паттерны даже спрашивать не пытался. Проебались, кстати, даже через полгода его код был лютым говном.
671 1649046
>>649021
Охуительные истории. ES5, ES6, TS, Bem, MySql, Postgres, Node, Mongo, Rabbit, Kafka, Python, Go. Все знает, все умеет. Без гугла ебать. Профессионал вещает из дурки.
>>649030
Не слушай дураков, чтобы хоть что-то понять в стеке нужно убить огромное количество времени. Кнопки нажимать и обезьяна может, а вот написать что-то толковое могут единицы.
672 1649047
>>649046
Спасибо. Блин, я рад, что в треде есть ты. Если бы не ты, я бы уже, наверное, решил, что я слишком стар/туп/плохо-с-памятью для программирования вообще. Побольше бы таких интервьюверов как ты.

Кстати, вот это:

> ES5, ES6, TS, Bem, MySql, Postgres, Node, Mongo, Rabbit, Kafka, Python, Go



Почти что точная копия требований к соискателю в одну очень известную контору, куда я сходил на собес через скайп недавно. Ух, как они мою самооценку пошатнули, не передать.
673 1649048
>>649046
Таблетки забыл принять?

>Все знает, все умеет. Без гугла ебать.


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

>ES5, ES6, TS, Bem, MySql, Postgres, Node, Mongo, Rabbit, Kafka, Python, Go.


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

>Go


А туда планирую перекат, пока довольно халявно выглядит.
674 1649050
>>649048

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



Слушай, ну я не такой психопат, как ты пишешь. Я имел ввиду, что, грубо говоря, целый день читал Джавку, сел за Пыху и с ходу нахерачил переменные без "$". 5 секунд потупил, ударил себя по лбу и продолжил спокойно работать. А не так, что я в принципе не способен в голове два синтаксиса держать. Ну ты чо, блядь. Это не ты, интервьювер? А то он склонен к обобщениям и гипертрофированию.
675 1649051
>>649050
Ну тогда мб норм, механика.
Не писал бы тогда так.

>через полгода Java я забыл к хуям даже PHP, начал писать public void method() и не понимать, чому оно не запускается.

676 1649052
>>649051
Забей, в общем. Это проблема коммуникации. Люди друг друга и в жизни неправильно иногда понимают. А уж на дваче...
677 1649057
>>649048
Напоминаю что ты на двощах, в треде для вкатывальщиков в пхп макакинг, кому тут пыль в глаза пускать. В джава треде расскажи как ты охуенно с джавы на пхп перекатился, не потеряв скила.
Что блядь значит твое "работал"? Речь о том что помнить всю эту залупу нереально. Более того писать что-то адекватное нереально, слишком много всяких нюансов языка, я даже не говорю про фреймворки и их заебы.
Взять твой текущий стек. Ты понимаешь почему используется именно монга? Почему используется редис, а не мемкешед, например? То что ты можешь написать запрос к монге не означает, что ты понимаешь что происходит.
Да хули там, сам факт того что ты хочешь перекатиться в Го из-за халявы, и ты не в ужасе от этого языка говорит о том что ты нихуя не понимаешь.
678 1649060
>>649048

> Если без хуйни 2 года джавы, 3 пхп и 3 питона


Что я читаю, блядь? Два года джавы, а СЕЙЧАС ты пишешь на пхп? Ты ебанутый? Или твои "два года джавы" - это туду листы в стол писал?
679 1649066
>>648829

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


Профессиональный водитель я не о совеременных таксистах типа дальнобоя - отлично знает как устроен его автомобил. Какой нибудь гонщик порою механов переплюнет по знанию матчасти. Профессионал с 10+ лет опыта и отличается от нуба тем что глубоко занет свой предмет.
680 1649068
>>648997
Он не поехавший, а вполне адекватный. Просто высоты современного кодера - очень низок.
Ты просто в ответе своем требования в абсолют вывел.

Я читаю всхлипы в треде - и похоже народ просто вообще не делает тестовых, и не шляется по собесам. Все мои тестовые были вполне адекватны. Требовалось просто показать что ты в общем занешь что делать. Что знаешь язык на котором пишешь.
Скулежа относительно БД вообще не пойму. Ахуеть программисты пошли, запрос в базу сами написать не могут.
681 1649070
>>649068

> Ахуеть программисты пошли, запрос в базу сами написать не могут.


Обвинил его в том, что он возводит в абсолют и тут же сам возвел в абсолют. Ну найс аргументы, чо.
682 1649072
>>648999
А как там сплетать пхп и ноду? и зачем там вообще пхп?

А с вэб сокетами для меня история интересная - я наешл гайд по которому этот стандарт реализуется самостоятельно. Хочу покопаться в этом , разобрать реализацию протокола пошагово.
683 1649073
>>649072
При чем тут "зачем", если он просил такую задачу. Не хочешь - не сплетай. Мне-то что вообще?
684 1649075
>>649029
Чел, я прочел твое эмоциональное выступление.
1. Мне кажется ты не очень умеешь торговать ебалом
2. Ты все таки как то с точки зрения "о боже мир не справедлив" смотришь на реальность.

Фактически вкатывальщики демпенгуют, и чисто психологически бизнесу платить опытному человеку тяжелее. Как это мидлу 150 платить, если джун готов за 30 к пердолиться. Тем более со стороны бизнеса результат "типа" одинаков, только джун дольше делает "раз в 10".
Но на "очень относительном" лайте можно въехать совсем не глубоко. И появляются такие пхп программисты, которые за 6 лет профессиональной работы с пхп не могут сказать что такое индесы. И это в пхп, который по сути обертка вокруг базы данных.
Естественно руководители немного ахуевают. Все таки нулевого роста можно ожидать от офисного планктона, но никак не от профессии где на каждом углу кукарекается о том что "программист учится всю жизнь".

Я тебя понимаю, ты потерял работу когда в ней нуждался, и это стрессовый момент. Соберись, и далее вперед на собеседования. Пусть сейчас и конечно штиль, но он окончится.
685 1649077
>>649047

>>Ух, как они мою самооценку пошатнули, не передать.


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

Личность твоя важнее чем твои навыки.
686 1649079
>>649070
Это не абсолют. Это элементарщина. sql - базы это достаточно сложное говно, но для разраба знать это не нужно. Но написать уж своими руками элементарный запрос с объединениями, группировками и какой то сортировкой - это не пиздец наука. Это если с ноля - 1.5 месяца. Как за 10 лет не найти на это время, и не столкнуться с необходимостью этого - я хз.
687 1649081
>>649079

> Как за 10 лет не найти на это время, и не столкнуться с необходимостью этого - я хз.


Скажи честно, ты ебанат?
688 1649083
>>649079
>>649081
Можешь не отвечать, уже понятно, что ебанат. Намекну: из какой такой жопы ты вытащил идею, что "пошли кодеры", которые не могут написать запрос в базу? Я вообще не понимаю с какого хуя ты это взял.
689 1649094
>>649081
>>649083
А что тебе то подпекло так? От чего истерики?
Максимализм голову давит? Типа раз про базы спросили - то знать нужно на уровне какого нибудь сертифицированного oracle разраба с 10+ лет опытом и увешанным сертификатами как новогодняя елка игрушками? Если react - то ебашить не менее оверхедно чем Дэн Абрамов?
Как правило все что спрашивают, что не касается основного стеака - уровня - "знакомы, знаете"?
Опять же хозяин - барин, это реальность, че скулить. Хочит галера ассемблер/кложур/брэйнфак разраба за 30 ты - ее право, может хотеть че ей вздумается. Пусть ищут.

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

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

Я тебе с иной точки зрения скажу - программисты как правило просто очень инфантильны, и думают о всякой хуйне из своего манямирка.
А те кто не инфантильны - те скачут кабанчиком, ездят на мерсах и не участвуют в беседах на макакаче.
нуфф саид
690 1649095
>>649057

>Речь о том что помнить всю эту залупу нереально.


Я отвечал на проблемы с запоминанием синтаксиса, а тебя унесло в знания "всего". Зачем? И мы уже выяснили с ним про взаимное непонимание.

>кому тут пыль в глаза пускать


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

>То что ты можешь написать запрос к монге не означает, что ты понимаешь что происходит.


И вот на это тот же ответ, что и выше.

>Более того писать что-то адекватное нереально


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

>Ты понимаешь почему используется именно монга?


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

>Почему используется редис, а не мемкешед, например?


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

>в Го из-за халявы


А почему нет? У всех знакомых гошников не работа, а мечта. Интересные таски, отсутствие легаси, движуха и молодость. Это временно и я хотел бы успеть на этот праздник жизни. А ты нет? Не всегда есть выстреливший молодой язык не успевший обрасти говной.
>>649060
Не серверной. Андроид. Приложульки вогнали в уныние, сменил деятельность. Синтаксис я до сих пор помню и не путаю.
Алсо, хронологически на андроиде перерыв от бекенда взял, и зря.
690 1649095
>>649057

>Речь о том что помнить всю эту залупу нереально.


Я отвечал на проблемы с запоминанием синтаксиса, а тебя унесло в знания "всего". Зачем? И мы уже выяснили с ним про взаимное непонимание.

>кому тут пыль в глаза пускать


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

>То что ты можешь написать запрос к монге не означает, что ты понимаешь что происходит.


И вот на это тот же ответ, что и выше.

>Более того писать что-то адекватное нереально


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

>Ты понимаешь почему используется именно монга?


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

>Почему используется редис, а не мемкешед, например?


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

>в Го из-за халявы


А почему нет? У всех знакомых гошников не работа, а мечта. Интересные таски, отсутствие легаси, движуха и молодость. Это временно и я хотел бы успеть на этот праздник жизни. А ты нет? Не всегда есть выстреливший молодой язык не успевший обрасти говной.
>>649060
Не серверной. Андроид. Приложульки вогнали в уныние, сменил деятельность. Синтаксис я до сих пор помню и не путаю.
Алсо, хронологически на андроиде перерыв от бекенда взял, и зря.
691 1649099
>>649072

>А как там сплетать пхп и ноду? и зачем там вообще пхп?


Например есть сайт на пхп. Он достаточно большой, рабочий и тут вдруг захотели чатик на вебсокетах. Причем ноду в этой схеме можешь заменить на что-нибудь еще.
Самый очевидный, но не лучший способ их связать - банальный хттп апи.
692 1649116
Сап, недавно вкатился, столкнулся с оптимизацией скорости, вопрос как сжимать на ходу jpeg/png всякие для анонс размеров?

Также вопрос по lazyload, как правильнее всего осуществлять такие вещи?
693 1649126
>>649095
Причем здесь фатализм? Ты фокусируешься на чем-то одном и становишься профессионалом или пытаешься делать всего понемногу и в итоге не умеешь нихуя.
Ты даже не понимаешь насколько бредово звучит "монго это был лучший выбор" для человека хоть немного разбирающегося в базах.
А фоллбек с редисом это блядь взаимоисключающие понятия, если в редисе подрубить AOF и RDB, то получишь перфоманс как в реляционном постгресе, только с дополнительным гемором по настройке и поддержке этой хуйни. В реальности редисовские снапшоты используются для быстрого прогрева кеша, а не для персистенса и гарантий актуальности данных. Я уже не говорю что если есть реальная нагрузка, то нужно всю запись на диск выносить в отдельную ноду. Ведь редис сука однопоточный.
Таких мелочей тысячи. Даже для того чтобы "просто" писать идиоматичный современный код на пхп 7.4 нужно пройти огромный путь, набить шишек себе и окружающим и прочитать тонны макулатуры, которая постоянно устаревает и становится не актуальной.
Для того чтобы писать код на каком-то языке много ума не надо, но для понимания нюансов нужно убить кучу времени и сил. Слишком много времени и сил чтобы распыляться на что-то другое.
694 1649131
>>649116
На фронте JS либа https://github.com/verlok/lazyload
Картинки в теге picture, формат .webp
В параметрах ссылки на картинку указываешь размеры /picture/pic_ab4346f.webp?width=100
Если такого файла нет, то генеришь картинку нужного размера, сохраняешь себе, отдаешь пользователю.
Вот, все как в лучших домах европы.
695 1649134
>>649116
>>649131
Лучше на диск не сохранять а ложить в кеш, иначе какой-то кулхацкер в цикле засрет диск своими width=101, width=102 и т.п.
696 1649143
>>649134
Ну тут уже каждый дрочит как хочет. Можно фиксированный размер делать и в параметре передавать типа ?size=small. А можно хитровыебанно зашифровать размер и передавать size=ppqDgr.
Я просто направление указал.
697 1649161
>>649094
Ты можешь не распинаться, я даже читать не хочу. Просто скажи, где в этом треде написано, что я не умею sql-запросы составлять. С чего ты это вообще взял?
698 1649163
>>649095

> Не серверной. Андроид


Ааа, тогда окей, вопросов нет. Алсо, лучше уж идти в бекенд на джаве, чем бекенд на пхп.
699 1649194
>>649066

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


Веб-программист тоже отлично знает как работает веб и его фреймворки.
БД - не его уровень. Это к байтоёбам ближе.
700 1649202
>>649075

>пхп, который по сути обертка вокруг базы данных


Это где такое написано?
701 1649211
>>648822
Это не подходит. То есть эти капчи разные? нельзя просто заменить?

Нужно писать окошко что имитирует андроид?
Безымянный.png4 Кб, 1072x111
702 1649262
ISP manager

Создал почтовый домен домен.ру (как домен с сайтом) с dmarc без ssl
Создал почтовый ящик
Вхожу в почту через roundcube - входит

Скачал PHPMailer и вот тут перестал вообще ничего не понимать

Имя сервера входящей почты - mail.домен.ru
smtp порт: 25

Забиваю в phpmailer

$mail->Host = 'mail.домен.ru';
$mail->SMTPAuth = true;
$mail->Username = 'suppoy4~rtANUSдомqr|енPUNCTUMr_+Qu';
$mail->Password = 'пароль'; // SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 25;

Результат:

2020-04-03 11:15:11 SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Как эту ебалу настроить нихуя не понимаю ни одного гайда внятного
703 1649263
>>649194

>БД - не его уровень. Это к байтоёбам ближе.


Ну и че вы хотите от этих вкатывальщиков? Разве что порадоваться - очень овощной конкуренции.
704 1649313
>>648829

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

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

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

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

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

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

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

Зарплата в сравнении с официальной средней по РФ очень даже хорошая предлагалась. Но по знаниям они больше на среднюю по РФ тянули. С чего вы решили, что вам просто на опыт должны зарплату повышенную давать? Ее дают за знания и навыки, хоть у вас 20 лет опыта, это не важно.

>>648997

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

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

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

> Просто прикинь, что есть на свете кандидат, который соответствует этим требованиям



Такого мы бы и хотели получить, а если нет такого, то максимально близкого к нему. А не умеющих в оптимизацию запросов, не умеющих решать задачи на проектирование любителей микросервисов и паттернов с удовольствием оставим конкурентам.
704 1649313
>>648829

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

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

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

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

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

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

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

Зарплата в сравнении с официальной средней по РФ очень даже хорошая предлагалась. Но по знаниям они больше на среднюю по РФ тянули. С чего вы решили, что вам просто на опыт должны зарплату повышенную давать? Ее дают за знания и навыки, хоть у вас 20 лет опыта, это не важно.

>>648997

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

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

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

> Просто прикинь, что есть на свете кандидат, который соответствует этим требованиям



Такого мы бы и хотели получить, а если нет такого, то максимально близкого к нему. А не умеющих в оптимизацию запросов, не умеющих решать задачи на проектирование любителей микросервисов и паттернов с удовольствием оставим конкурентам.
705 1649332
>>649029

Чтобы он не волновался, у нас вначале спокойный разговор о вакансии, о предыдущем опыте работы, ответ на его вопросы.

> И объясни, что такое индексы



Структуры в СУБД, которые позволяют ускорить выполнение SQL-запросов.

> Какое серьезное обобщение, бро.



Да, часто так и говорят, фронтендом не занимаюсь, во фронтенде не разбираюсь, я бекендщик.

> Бедненький ты наш. Ни сколько не уходит.



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

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



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

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


> Ты опять, пидорас, за других додумываешь?



Это проверяется элементарно: человек говорит, что работал с технологией X. Задаем любой вопрос по ней (какие из фич вы использовали в технологии X?) и человек начинает уходить в сторону, из чего очевидно, что из технологии X он в лучшем случае слышал ее название на одном из стендапов и решил зачем-то вписать ее в резюме.

> Что бы ты спросил, если я вообще с симфони не работал?



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

> А то сейчас окажется, что ты ищешь за 50к



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

> Собеседуюсь с тобой и рассказываю про паттерны



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

> Но вопрос в том, что почти на всех собесах меня спрашивали за микросервисы.



Потому что на Хабре/на конференции про них рассказали и они теперь решили что в 2020 без этого нельзя. После ответа на такой вопрос (и про паттерны тоже) надо спрашивать, а применяют ли они их сами, какие плюсы получили. И тебе ответят, что сами они их пока не используют, но конечно, думают об этом, но пока нет времени, есть более срочные задачи.

15-20 летние - имелось в виду 15-20 лет опыта. Это обычно адекватные и грамотные чуваки, с которыми приятно побеседовать.
705 1649332
>>649029

Чтобы он не волновался, у нас вначале спокойный разговор о вакансии, о предыдущем опыте работы, ответ на его вопросы.

> И объясни, что такое индексы



Структуры в СУБД, которые позволяют ускорить выполнение SQL-запросов.

> Какое серьезное обобщение, бро.



Да, часто так и говорят, фронтендом не занимаюсь, во фронтенде не разбираюсь, я бекендщик.

> Бедненький ты наш. Ни сколько не уходит.



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

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



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

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


> Ты опять, пидорас, за других додумываешь?



Это проверяется элементарно: человек говорит, что работал с технологией X. Задаем любой вопрос по ней (какие из фич вы использовали в технологии X?) и человек начинает уходить в сторону, из чего очевидно, что из технологии X он в лучшем случае слышал ее название на одном из стендапов и решил зачем-то вписать ее в резюме.

> Что бы ты спросил, если я вообще с симфони не работал?



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

> А то сейчас окажется, что ты ищешь за 50к



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

> Собеседуюсь с тобой и рассказываю про паттерны



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

> Но вопрос в том, что почти на всех собесах меня спрашивали за микросервисы.



Потому что на Хабре/на конференции про них рассказали и они теперь решили что в 2020 без этого нельзя. После ответа на такой вопрос (и про паттерны тоже) надо спрашивать, а применяют ли они их сами, какие плюсы получили. И тебе ответят, что сами они их пока не используют, но конечно, думают об этом, но пока нет времени, есть более срочные задачи.

15-20 летние - имелось в виду 15-20 лет опыта. Это обычно адекватные и грамотные чуваки, с которыми приятно побеседовать.
706 1649336
>>649029

> Меня сегодня собеседовали ВПЯТЕРОМ



Богатая компания, раз может выкинуть 5 ч рабочего времени на каждого кандидата.
707 1649339
>>649313
>>649332
Вот вроде многое ты говоришь адекватно, но чувствуется сильное отторжение от паттернов, как от явления в целом. Получается у вас поощряется линейный код? Или как вы пишете? Может ты имеешь ввиду что-то более конкретное, чем все явление обобщенно?
Просто при использовании ооп (и даже без него) паттерны сами собой вырисовываются, т.к. уже практически любую схему взаимодействия кода между собой назвали каким-нибудь именным паттерном. В конце концов те же фреймы паттерны используют во всю, и многое идет на пользу, разве нет?
708 1649343
>>649313

>Ты ничего не понимаешь в процессе собеседования.


А ты ничего не понимаешь в разработке.
У меня складывается ощущёние, что ты просто залётный из треда про БД и думаешь, что самый умный на доске.
709 1649348
>>649263
В ПХП помимо баз данных много есть вещей.
Собственно, сами бд со стороны программирвания нужны только для того, чтобы самому хранение и выборку не писать.
Если человек знает про индексы, но не знает про современные инструменты для работы с БД, то никому он такой не нужен.
710 1649417
>>649313

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


Все современные приложения на пхп основаны на PSR-7, PSR-15 и middleware, что представляет собой паттерн "Цепочка обязанностей". Без паттерна "Репозиторий" в крупном проекте сейчас вообще нихуя не делается, паттерн "Команда" обязательно используется в домене для каскадных изменений и очередей. Прокси используются в ОРМ, а как вообще можно писать ООП код, не используя декораторы? Как можно писать АПИ не используя итераторы? Как можно использовать у себя в проекте сторонние либы без адаптеров?
Никто блядь не сидит и не придумывает а куда бы впихнуть еще паттерн, ты просто следуешь бест практис и здравому смыслу и твой код сам принимает форму паттерна.
Сам факт того, что тебе это приходится объяснять говорит о том что ты нубас, причем с предубеждениями, а требования у тебя завышенные. У тебя даже варианта нет, что если человек толковый, то он с этими индексами разберется изи, это ж не бином ньютона в конце концов.
И вообще твой спич звучит как высер манагера: "бизнесу нужны", "оставим конкурентам", "нанялся, накривокодил".
Мой поинт не изменился, я твои хотелки на себя примерил, но нихуя не понял, а зачем ты мне? Нахуя ты обосрался тому, кто твоим критериям соответствует?
711 1649418
>>649417
Где искать такие галеры (удаленка)?
На последней удаленке ничего этого не было. Писали весь код в контроллерах.
712 1649421
>>649418
Тащи бест практис с собой. Это все не так сложно, главное говорить убедительно на митингах.
713 1649427
>>649421
А если нет митингов?
714 1649428
>>649427
А что тогда есть? Совсем без митингов на удаленке разброд.
715 1649429
>>649418
Обращай внимание на стек. Версии фреймворков посвежее, базы. Сколько опытных программистов в команде. Можно совсем по охуевшему попросить показать код, но такое скорее на офисных собесах канает, на удаленке думаю тебе покажут хуй.
716 1649430
>>649428
Есть трелло в качестве таск трекера.
Есть задачи зачастую с очень краткой формулировкой и частенько блокированные другими задачами.
Есть дейли отчет: дублирование статусов задач в рабочий чатик.
717 1649431
>>649429
В том и беда что фреймворк свежий был, а код уже говном завонялся.
718 1649432
>>649430
Нехорошо. Лучше раз в день всем созвониться хотя бы на привет/пока, если нечего обсуждать, чем безлико дрочить тасктрекер с хуй пойми какими соседями. В случае чего там все и обсуждается. Скрам версия удаленки.
719 1649442
>>649432
2 тела там до сих пор работают, им норм так. Я ливнул.
720 1649468
>>649348
Ну и, назови мне широкие и конкурентные относительно других языков, сферы применения пхп без БД.
Везде абсолютно в каждом языке есть много вещей помимо БАЗ.
Но я слегонца хуею, в 2020 пхп-бекендеры оказываются решили что базы не нужны.

>>649417
А ты работаешь? или кукаретник? Не ради троллинга спрашиваю - мне интересно. Какой последний проект был в котором такое пилили?
721 1649471
>>649442
Всмысле ты отказался разговаривать с другими разрабами на удаленке? Или просто уже ливнул и обсуждать уже поздно варианты?
722 1649477
>>649468

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


Так то это ты с луны ёбнувшийся и решивший, что бд это самое главное в веб-программировании. Тогда как это просто способ хранения данных.
Ещё и заявляешь тут, что пхп это приложение к бд. Сам с себя не хуеешь?
723 1649478
>>649468

>без БД


Есть способы хранения в жсон, статические хтмл, да куча способов хранения данных вообще.
Жаль, что ты кроме индексов в бд ничего не знаешь и не умеешь.
15846535430960.jpg641 Кб, 2043x1373
724 1649492
Господа, помогите. Всю жизнь кодил на чистом пхп, а тут кинули на стек Symfony+Doctrine.
Не понимаю, как реализовать триггер для бд. Нужно при каждом INSERT чистить базу от старых записей. Доки Доктрины пиздец скупые, написано про четыре типа эвентов и примеры нихера не объясняют. В гугле все примеры тоже уровня 2+2.
Что мне сделать, чтобы автоматически чистить таблицу от старых Entity? Объясните русским языком, пожалуйста.
725 1649494
>>649468
Работаю, не кукаретик.
А какое "такое"? Если проект на актуальном симфони с доктриной, то все это там уже есть.
726 1649502
>>649492
На мой взгляд идея крайне хуевая.
Завязывать бизнес логику на инфраструктурные события, да еще и в сторонней библиотеке, хуйня полная. Ты разрушаешь саму идею использования доктрины, для тебя процесса сохранения не должно существовать, а ты триггеры какие-то на него завязать хочешь.

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

В идеале нужно вынеси чистку в консольную команду и дергать её раз в несколько минут.
727 1649503
>>649492

>как реализовать триггер для бд.


... Через триггер бд?
728 1649510
>>649502

>для тебя процесса сохранения не должно существовать


В смысле, а зачем я тогда вызываю persist() или merge(), а после них - flush()? Автоматически в БД ничего не падает.

>В идеале нужно вынеси чистку в консольную команду и дергать её раз в несколько минут.


А как добавить в проект cron, чтоб он сам потом разворачивался? Инструменты и плагины выбраны тим-лидером, там ничего менять нельзя.

>>649503
Будь я не внутри волшебного фреймворка, то конечно. Но тут база должна корректно создаваться при последовательном выполнении миграций. Мне миграцию с триггером надо руками создавать?
videoplayback.mp44,1 Мб, mp4,
1280x720, 0:27
729 1649517
>>649510

>В смысле, а зачем я тогда вызываю persist()


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

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


Ну нельзя так нельзя, хули. Тимлиду виднее. Наебашь триггеров прям в базе, как выше советуют, пусть он себе волосы на жопе рвет потом.
730 1649520
>>649517

>пусть он себе волосы на жопе рвет потом


Если я скажу, что мне нужно то-то и то-то, оно будет добавлено, но я не знаю, что мне нужно. Не в реадми же писать, что при разворачивании проекта после композера и npm добавьте руками в крон вот этот милый скриптик, который чистит БД.
731 1649526
>>649520

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


Это функционал баз данных, гугли CREATE TRIGGER MySQL/Postgre
732 1649527
>>649520
Это может быть не только крон, это может быть демон или вообще отдельный сервис. Если сам не шаришь как у вас такое происходит, то спроси своего тимлида. Я лишь попытался тебе объяснить, что чистка должна происходить независимо от вставки.
733 1649532
>>649526
Я знаю, как создать триггер. Я не знаю, как это сделать в философии Симфони+Доктрин, где я вообще мимо Доктрины и ее миграций базу шатать не должен.
734 1649533
>>649520
Ты можешь об этом просто поговорить с коллегами, как тебе?
735 1649538
>>649471
Я пытался с ними разговаривать.
1 идет на контакт кое-как.
2 футболит.
продакт при попытке уточнения требований и деталей по таске несет какую-то хуйню, которая ничего не уточняет.

Ушел с концами, т.к. сгорел нахуй с ними.
736 1649539
>>649533
Я спросил, как сделать триггер, мне ответили "хз, не делал, надо гуглить". Вот я пришел на двач за советами мудрыми. Фреймворк же должен облегчать жизнь!
737 1649548
>>649538
>>649539
Не повезло тебе.
738 1649554
>>649539

>Фреймворк же должен облегчать жизнь!


Так погугли же! Вряд ли это настолько редкий вопрос, что гугл промолчит
739 1649562
>>649539

>Фреймворк же должен облегчать жизнь!


Это такая ловушка "простоты". Фреймворк не облегчает жизнь сам по себе. Точно так же jquery не облегчает жизнь сам по себе (и хуй на него, он мертв. Что впрочем ждет и некоторые фреймы).
Ни то ни другое или их аналоги не обещают облегчить тебе жизнь больше, чем ты облегчаешь ее себе сам с помощью собственного скила.
Меньше полагайся на чужой результат и больше думай, делай и разбирайся сам. Тогда тебе и фреймы будут помогать, и даже лучше - ты сможешь помогать им. А до тех пор такие утверждения лишние. Желание гттовой помощи на любую хуйню по запросу - это больной рак ит под названием вайтишник. Просто сиди, разбирайся, делай. Ни одна технология не должна быть проще, чем это ей позволяет предмет, так что начать надо хотя бы с этого.
740 1649571
>>649562
Нихуя ты мне абстрактно помог, теперь бы что-нибудь конкретное отсюда унаследовать
741 1649573
>>649571
Унаследуй способность делать, а не ныть.
742 1649642
>>649548
Да и похер, найду новую галеру.
А не найду - вкачусь в реакт джуном за еду.
743 1649772
>>649562
Пили свои велосипеды. Пиши какую нибудь CRM на голом php, реализовывай анимацию на голом javascript
744 1649884
Сап погромач, нужна ваша помощь. Сам я в этом не силен, от нечего делать решил побаловаться с накатыванием готовых сайтов и почувствовать себя программистом нет. Но вот уже с 3 мя движками возникают подобные косяки как на скринах. Делаю все как написано, прописываю БД запускаю install.php и... хуй мне!!! Аж трисет бля, то ли я че то непонимаю (хотя что там понимать три строчки скопировал вставил) то ли еще что. ЧТЯДНТ?
745 1649893
>>649884
Говно мамонта накатываешь потому что. Чтоб это завелось, нужен PHP 5.
746 1649922
>>649893
То есть сейчас на хостинге у меня 7 РНР, а мне нужно чтобы юзался пятый?
747 1649924
>>649893
И еще, что там за ошибка в 22 строчке на скрине?
748 1649936
>>649924
В 7ой пыхе убрали эту функцию, вот он и пишет, что "хз че за функция, чел".
749 1649960
>>649339

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

Пример: есть 2 вида скидок:

- скидка N% от цены заказа
- N-й товар идет бесплатно, если купить N товаров

Вопрос: нужно ли тут городить паттерн Стратегия? Ответ: нет, пока не нужно. Проще сделать по функции на каждый вид скидок. Так весь код будет рядом и его легко можно осмотреть и подправить что-то. Когда видов скидок будет десяток (никогда), тогда будем делать для них классы.
750 1649967
>>649936
Мда, вот так все просто и интересно. Начать изучать чтоли
751 1649968
>>649960
Масштабируемость не нужна?
752 1650020
>>649960
Ебать, сам выдумал хуйню, сам её подебил. Стратегия в пхп это блядь шизофазия в чистом виде. Этот паттерн нужен для изменения поведения в КАНПЕЛИРУЕМОЙ программе. Когда у тебя просто нет другого способа обработки разных ситуаций, ведь объект уже в памяти. Нахуй она нужна в пхп, когда под каждый запрос все объекты с нуля создаешь?
Вот ответь лучше на это >>649417

>как вообще можно писать ООП код, не используя декораторы?


>Как можно писать АПИ не используя итераторы?


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

753 1650100
>>649960

>Когда видов скидок будет десяток (никогда)


>(никогда)


В смысле никогда? Это ты так за хозяина бизнеса решил?
Тебе то откуда знать что он выдумает через неделю?
754 1650322
>>646988

>- напишите интернет-магазин на symfony + react за 6 часов


Если ты после 3 лет работы на технологии не можешь на фреймворке написать интернет магазин за 6 часов - ну как бы тебе не надо программированием заниматься.
706-753 755 1650329
>>650100

Это я решил применить принцип YAGNI, и не городить масштабируемую систему на сотни видов скидок, когда фактически нужны только 2 вида.

>>650020

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

>>649968

Если у меня 2 вида скидок, я не собираюсь строить масштабируемую систему на сотни видов скидок. И так как желания бизнеса угадать невозможно, то и спроектировать грамотно такую систему заранее тоже малореально. Потому я делаю функцию и свитч в соответствие с принципом YAGNI. Рекомендую почитать про хлеб и пекарей: https://habr.com/ru/post/153225/

Увы, замечаю нездоровую тенденцию делать десятки микроклассов (из 1-2 методов на десяток строк) там, где можно сделать несколько функций. С этим мы будем бороться, конечно.

>>649532

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

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

Недостаток событий в том, что они затрудняют чтение кода, не ясно, какие есть листенеры и когда они вызываются, трудно отследить последовательность действий. Почти всегда вместо события лучше влепить явный вызов нужной функции.
756 1650331
>>649492

Крон-таск. Зачем тут триггеры и события - не понимаю. Просто раз в час удаляй устаревшие записи.

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

> А как добавить в проект cron, чтоб он сам потом разворачивался?



Договоритесь хранить кронтаб в проекте.

>>649417

> Все современные приложения на пхп основаны на PSR-7, PSR-15 и middleware,



Вроде в Симфони нет middleware. Да и оно хорошо работает только на уровне модификации запросов/ответов (куки зашифровать, залоггировать что-нибудь).

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



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

> как вообще можно писать ООП код, не используя декораторы?



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

> Как можно писать АПИ не используя итераторы?



Приведи пример, я не понимаю, где в API используются итераторы.

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



Берешь и используешь. По принципу YAGNI. Если завтра потребуется (маловероятно) поменять библиотеку, просто найдем места, гда она вызывается и поменяем там.

Такое ощущение, что ты любишь усложнять код на ровном месте и делать лишнюю работу. Какой код проще и понятней - тот, где прямолинейно и императивно все записано (паттерн Transaction Script), или тот, где есть всякие события, очереди, декораторы, команды и десятки классов из 20 строчек?
756 1650331
>>649492

Крон-таск. Зачем тут триггеры и события - не понимаю. Просто раз в час удаляй устаревшие записи.

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

> А как добавить в проект cron, чтоб он сам потом разворачивался?



Договоритесь хранить кронтаб в проекте.

>>649417

> Все современные приложения на пхп основаны на PSR-7, PSR-15 и middleware,



Вроде в Симфони нет middleware. Да и оно хорошо работает только на уровне модификации запросов/ответов (куки зашифровать, залоггировать что-нибудь).

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



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

> как вообще можно писать ООП код, не используя декораторы?



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

> Как можно писать АПИ не используя итераторы?



Приведи пример, я не понимаю, где в API используются итераторы.

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



Берешь и используешь. По принципу YAGNI. Если завтра потребуется (маловероятно) поменять библиотеку, просто найдем места, гда она вызывается и поменяем там.

Такое ощущение, что ты любишь усложнять код на ровном месте и делать лишнюю работу. Какой код проще и понятней - тот, где прямолинейно и императивно все записано (паттерн Transaction Script), или тот, где есть всякие события, очереди, декораторы, команды и десятки классов из 20 строчек?
757 1650332
>>649339

Отторжение из-за того, что паттерны применяют просто ради того, чтобы они были. Человек прочел учебник про паттернам, увидел подходящее место для Стратегии и влепил её (или сделал класс Money, когда увидел работу с деньгами). При этом код стал сложнее читаться, разбросанным по большому числу классов. Когда требуется править код, требуется делать много изменений. Если бы он не применял паттерны, а просто сделал несколько функций, все было бы проще.

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

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

Типичный пример звездолетостроения: требуется сделать поиск по 2-3 параметрам. Звездолетчик пишет классы Query, QueryBuilder, QueryProcessor, StringTerm, NumericRange и тд. Хотя можно было просто написать функцию find($name, $minScore, $maxScore, $includeArchived). Или find(Filter $f). Ошибка зведолетчика: он думает, что завтра добавится 10 видов параметров и 10 видов условий, но только вот прошло больше года и не добавилось ни одного.

Читайте про пекарей и хлеб.
758 1650346
>>650329

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


Вообще надо смотреть что пишешь. Если какой-то онлайн магазин, то лучше бы сразу предусмотреть эту систему, чем потом сбоку её прикручивать.
759 1650383
>>650331

>Вроде в Симфони нет middleware.


Симфони с четвертой версии это и есть middleware. После ебли с бандлами, сервисами и прочей хуйней пришли к этой концепции. Просто, красиво, независимо и расширяемо, хули еще надо?

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


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

>Берешь и пишешь. Не понимаю, что мешает обойтись без них.


Пишешь процедурный код. Тут без комментариев.

>Приведи пример, я не понимаю, где в API используются итераторы.


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

>Берешь и используешь.


А потом ноешь на двощах, че это никто не идет чистить твою легаси парашу.

>просто найдем места, гда она вызывается и поменяем там.


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

>Какой код проще и понятней - тот, где прямолинейно и императивно все записано (паттерн Transaction Script), или тот, где есть всякие события, очереди, декораторы


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

Вообще все это звучит очень странно. Ну не может человек с опытом командной разработки не понимать зачем нужна архитектура, солид хуелид и какие-никакие абстракции. Давай колись, ты тралль или джун, косящий под бывалого?
759 1650383
>>650331

>Вроде в Симфони нет middleware.


Симфони с четвертой версии это и есть middleware. После ебли с бандлами, сервисами и прочей хуйней пришли к этой концепции. Просто, красиво, независимо и расширяемо, хули еще надо?

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


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

>Берешь и пишешь. Не понимаю, что мешает обойтись без них.


Пишешь процедурный код. Тут без комментариев.

>Приведи пример, я не понимаю, где в API используются итераторы.


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

>Берешь и используешь.


А потом ноешь на двощах, че это никто не идет чистить твою легаси парашу.

>просто найдем места, гда она вызывается и поменяем там.


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

>Какой код проще и понятней - тот, где прямолинейно и императивно все записано (паттерн Transaction Script), или тот, где есть всякие события, очереди, декораторы


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

Вообще все это звучит очень странно. Ну не может человек с опытом командной разработки не понимать зачем нужна архитектура, солид хуелид и какие-никакие абстракции. Давай колись, ты тралль или джун, косящий под бывалого?
760 1650394
А есть тут кто нибудь кто увлекался/увлекается ботами для телеги? Застрял на одном месте пиздец, и решения не могу найти уже пол дня
761 1650407
>>650383

>Давай колись, ты тралль или джун, косящий под бывалого?


Может даже вордпрессник. Вп будто специально именно такому подходу следует.
762 1650435
>>647242
Бамп.
763 1650567
>>650407

>Вп будто специально именно такому подходу следует.


Там один подход - сейчас сделаем одну функцию, а дальше видно будет. В стиле:

>не городить масштабируемую систему на сотни видов скидок, когда фактически нужны только 2 вида


Принцип YAGNI же. Зачем блогоплатформе гибкая архитектура с кучей классов?

Ну а потом понеслась - начали накручивать плагины, дополнения и имеем что имеем. Эа этот вордпресс всему пхп досталось.
764 1650610
Поясните пожалуйста про laravel mix. Нужен ли он мне, если я использую обычный plain css и vanila js? В laravel 7 это дело ставится принудительно, когда настраиваю авторизацию.
765 1651023
>>650383

> Симфони с четвертой версии это и есть middleware.



Что-то в документации ничего такого не гуглится. Гуглится только middleware для Messenger компонента. А я вел речь о HTTP middleware.

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



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

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

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

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



Ты на полном серьезе предлагаешь сделать адаптер к Доктрине? С интепретатором DQL? Ты на полном серьезе предлагаешь "заменить" Доктрину на что-то другое? Это нереально, это по сути переписывание всего кода с нуля.

> Ты вообще со сколькими кодовыми базами в своей жизни работал?



Ответный вопрос: опиши свой адаптер для Доктрины, который ты, по твоим уверениям, делал. Я почему-то сильно сомневаюсь в его существовании.
766 1651034
>>647242
>>650435

Молодец, решено верно.
767 1651299
>>651023

>Что-то в документации ничего такого не гуглится.


Ну это ты почему то считаешь, что если используешь паттерн, то должно быть огромными буквами написано его название. Вот тебе видео, в котором один из контрибьютеров рассказывает как все устроено в современных фреймворках, буквально с ноля, до симфони 4
https://www.youtube.com/watch?v=pz6VdH4_BSg

И вот еще до кучи видео от автора доктрины о том как вообще пхп разработка пришла туда, где она сейчас.
https://www.youtube.com/watch?v=v1I57-_Rsv0

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

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


Ты создашь метод, я создам метод, Вася создаст метод. А потом еще методы для другого функционала, а потом я уволюсь нахуй, а ты будешь сидеть с сотней несовместимых методов и горящей жопой таской. Я не зря спрашивал про твой опыт, любой кто работал с крупным проектом знает: есть вещи, которые поменять НЕВОЗМОЖНО. Еще пол года назад было возможно, а теперь нет. Я буквально сейчас чекаю самописную либу, объекты которой используются в сотнях мест, а места, в которых они используются в тысячах. Изменяя классы этой либы ты в принципе не можешь оценить последствия своих решений.

>Твой пример использования итераторов в API я просто не понял из-за сумбурного описания.


Хули там непонятного. Про стримы в гугле почитаешь. Вот тебе пример итератора http://phpfiddle.org/lite/code/exbh-xipj Апи отдает по пять, ты выводишь двенадцать, при этом не замечаешь что есть какое-то апи, или какая-то пагинация вообще.

>Ты на полном серьезе предлагаешь сделать адаптер к Доктрине? С интепретатором DQL?


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

>опиши свой адаптер для Доктрины, который ты, по твоим уверениям, делал. Я почему-то сильно сомневаюсь в его существовании.


Когда я говрю "Доктрины", то имею ввиду EntityManager, внутри которого спрятан UnitOfWork. UnitOfWork заменяется своим Persister сервисом, через который управляешь транзакциями persist(), flush() итд. Интерфейсы репозиториев пишутся свои, к ним доктриновская реализация. EntityManager используется только внутри этой реализации, там хоть DQL пиши, хоть дрочи вприсядку, я бы выбрал последнее. Вуаля, когда выйдет третья доктрина придется переписать только классы реализаций, работа нудная, но вполне рутинная и выполнимая.
767 1651299
>>651023

>Что-то в документации ничего такого не гуглится.


Ну это ты почему то считаешь, что если используешь паттерн, то должно быть огромными буквами написано его название. Вот тебе видео, в котором один из контрибьютеров рассказывает как все устроено в современных фреймворках, буквально с ноля, до симфони 4
https://www.youtube.com/watch?v=pz6VdH4_BSg

И вот еще до кучи видео от автора доктрины о том как вообще пхп разработка пришла туда, где она сейчас.
https://www.youtube.com/watch?v=v1I57-_Rsv0

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

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


Ты создашь метод, я создам метод, Вася создаст метод. А потом еще методы для другого функционала, а потом я уволюсь нахуй, а ты будешь сидеть с сотней несовместимых методов и горящей жопой таской. Я не зря спрашивал про твой опыт, любой кто работал с крупным проектом знает: есть вещи, которые поменять НЕВОЗМОЖНО. Еще пол года назад было возможно, а теперь нет. Я буквально сейчас чекаю самописную либу, объекты которой используются в сотнях мест, а места, в которых они используются в тысячах. Изменяя классы этой либы ты в принципе не можешь оценить последствия своих решений.

>Твой пример использования итераторов в API я просто не понял из-за сумбурного описания.


Хули там непонятного. Про стримы в гугле почитаешь. Вот тебе пример итератора http://phpfiddle.org/lite/code/exbh-xipj Апи отдает по пять, ты выводишь двенадцать, при этом не замечаешь что есть какое-то апи, или какая-то пагинация вообще.

>Ты на полном серьезе предлагаешь сделать адаптер к Доктрине? С интепретатором DQL?


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

>опиши свой адаптер для Доктрины, который ты, по твоим уверениям, делал. Я почему-то сильно сомневаюсь в его существовании.


Когда я говрю "Доктрины", то имею ввиду EntityManager, внутри которого спрятан UnitOfWork. UnitOfWork заменяется своим Persister сервисом, через который управляешь транзакциями persist(), flush() итд. Интерфейсы репозиториев пишутся свои, к ним доктриновская реализация. EntityManager используется только внутри этой реализации, там хоть DQL пиши, хоть дрочи вприсядку, я бы выбрал последнее. Вуаля, когда выйдет третья доктрина придется переписать только классы реализаций, работа нудная, но вполне рутинная и выполнимая.
hikarunogo.png832 Кб, 759x760
768 1651539
>>645510
>>645512
>>647817

Bump решением первой части вектора с учетом замечаний:
https://ideone.com/aXqwbZ
ОП, my dear, посмотри пожалуйста, когда найдешь время.
Решил все-таки использовать абстрактные методы, чтобы не нарушать тот принцип, который ты упоминал в учебнике.
По-прежнему очень интересно, как можно составить решение с твоим форматом входящего массива - никак в толк не возьму. Pасскажи, пожалуйста.

Также есть общие соображения по поводу дальнейшего антикризисного решения. Как насчет определения метода в Company, который создает копию департаментов, производит над ними манипуляции, после чего использует их для создания нового объекта данного класса и печатает репорт?
Такая практика вообще имеет место быть, когда метод определенного класса создает объект того же самого класса? Это нормально?
769 1651570
Анчоусы, уже третий месяц работаю джуном. В конторе три программиста, с вебом работаю я один. Подскажите следующее:
1. Тесты, чтобы понять свой уровень скилла и найти темы которые херово знаю
2. Полезные статьи где на пальцах объясняют ООП, на сайте где я работаю все через функции
3. Как развиваться наиболее эффективно, чтобы зарплату можно было просить больше?

И самый интересный вопрос, как заставить себя работать в эпоху удалёнки?
770 1651584
>>651570

>Полезные статьи где на пальцах объясняют ООП, на сайте где я работаю все через функции


Читай всё подряд + практикуйся.

>как заставить себя работать в эпоху удалёнки?


Поработать на дноработе до этого.
771 1651608
>>651570

>Полезные статьи где на пальцах объясняют ООП, на сайте где я работаю все через функции


Я ООП понял после Мейерса. где-то на середине книги щелкнуло и я познал дзен.
772 1651610
>>651570

>на сайте где я работаю все через функции


Ор, уж не с тем ли сверхразумом отрицающим архитектуру ты работаешь?
773 1651666
>>651610
Проекту 12 лет, последняя глобальная переработка была 8 лет назад
774 1651764
>>651666
Земля тебе пухом адский трипл
775 1651807
>>651764
Как первая работа считаю нормальной, но вот поддержка старых велосипедов и внедрение новых немного напрягает
776 1651952
>>651807
Максимум на пол года чисто в резюме строчку вписать спиздануть про 2 года
777 1652022
>>651299

>Вот тебе пример итератора http://phpfiddle.org/lite/code/exbh-xipj


О, прикольно. Можешь еще что-то наподобии накидать ключевых слов? Мб какие-то структуры из spl, которые имеют место быть в вебе
image.png106 Кб, 1238x1075
778 1652126
>>630065 (OP)
ОП, помоги с SILEX разобраться с аутентификацией,
я сделал класс class TokenAuthenticator extends AbstractGuardAuthenticator, настроил фаирвол, руты, отправляю хэдер с X-AUTH-TOKEN в контроллер для которого требуются определенные права - все ок, токен проверяется, доступ предоставляется или отклоняется.
Но как мне сделать контроллер для проверки формы логина/пароля? Сделать свой контроллер в котором вызывать методы TokenAuthenticator как в мануале (пикрил), или для это уже реализовано, не могу понять.

Исходники:
Точка входа https://github.com/enotocode/birthday_reminder/blob/master/src/server/public/index.php

Токенатентификатор (я его скопировал из доков https://symfony.com/doc/current/security/guard_authentication.html)
https://github.com/enotocode/birthday_reminder/blob/master/src/server/Classes/TokenAuthenticator.php

Контроллер-Аутентификатор
https://github.com/enotocode/birthday_reminder/blob/master/src/server/Controllers/AuthenticationController.php
779 1652364
>>651299

> Вот тебе пример итератора http://phpfiddle.org/lite/code/exbh-xipj Апи отдает по пять, ты выводишь двенадцать, при этом не замечаешь что есть какое-то апи



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

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

>>652364

>Какая разница, итератор тут или нет, если ты все равно результаты загоняешь просто в форич и перебираешь до последнего


В том-то и дело что без итератора мы не можем их никуда засунуть. Это ресурс, причем дискретный, который нужно теребить после каждой порции данных. А с помощью итератора мы его представляем в виде непрерывного массива.
781 1652414
давно тут не был, а вы тут срач развели. интеграция кун снова в деле. анон, посылаю запрос через file_get_contents чтобы получить список пунктов выдачи заказа на их апишки. и такая проблема: они зачастую и очень по долгу лежат. в связи с этим надо поставить затычку, что если типо возвращает мне 503 service unavailablee то фукнция прерывалась и просто возвращала false. так вот, как мне такое делать?
782 1652416
>>647817
сука с пикчи в голос
783 1652419
>>652414
Если по простому, то просто кладешь в кэш на минуту инфу о том что хост лежит, и вместо хоста дергаешь кэш. В идеале нужно ввести сущность "Хост" и у него чекать доступен он или нет. Тогда можно и отслеживать статус в реальном времени и логи вести удобнее будет. Можно будет в неловкой ситуации закричать "начальник он обосрался" и пруфануть, а то хули они лежат вообще.
784 1652431
>>652419
да зачем сущность то вводить? просто функция висит которая чекает. и вот интересует как мне это обставить? если верить ддокам по пыхе то если file_get_contents не может получить, то возвращает false. но вернет ли он мне сейчас его ?
785 1652436
>>652431
Начни с использования курла.
786 1652456
>>652436
без курла. его нет на проекте и подключаться он не будет. заказчик ебанутый чутка, да
787 1652463
>>652456
Ну земля пухом, хули. Сам решил с ебанутыми работать - раздвигай булки.
788 1652499
>>652456
К нему и все вопросы.
Ебать, он тебя рабочего инструмента лишил, а тебе норм. Пусть сам ебётся тогда.
789 1652512
>>652463
да не моя вина, начальство таких подбирает
>>652499
да проблема в том что там весь модуль с интеграцией завязан на этом file_get_contents и очень глубоко в ссистему интегрирован. перелопачивать там все тоже как то не охото
790 1652560
Пытаюсь добавить капчу в форму обратной связи, но при добавлении возникает ошибка 256. С чем это может быть связано?
791 1652578
>>652512

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


Пиши заявление по собственному
792 1652605
Народ, там аниме-учебник недоступен, что делать? Я только к циклам приступил, и тут это временно недоступен. Хотел пройти его, что делать?
793 1652868
>>652560

>256


Что еще за ошибка?
Screenshot71.png32 Кб, 1084x375
794 1652875
Laravel. Не могу запустить npm run dev.
Как фиксить это говно?

npm install выполняется нормально.
795 1652876
>>652512

>начальство таких подбирает


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


Вот так начальство работников подбирает - в вакансии было написано знание пхп, желательно фреймворков и тд. Потому и делаем говно.
796 1652884
>>652868
Хуй знает. Описания нет.
797 1652890
>>652884
Ну ты бы хоть скрин бы кинул. Ошибка чего? Ошибка в каком то php файле? Ошибка сервера 256 лол? Ошибка в консоли браузер?
798 1652970
>>652875
Открой логи и почитай, там всё будет
image.png82 Кб, 1176x788
799 1653108
Анон, прошу объяснить, в чем я не прав.

Кусок кода с проверкой логина на на уже имеющийся в БД работает, но кусок с INSERT INTO не работает.
Что я делаю не так?
800 1653113
>>653108
Дополняю.

При вводе новой инфы возвращается только "Array ( )", это, скорее всего, 66 строка, где проверяется массив fetchAll после запроса SELECT.
801 1653133
>>653113
Попробуй каждую строчку дампануть по очередно. Поймешь в какой у тебя что то не так работает
802 1653141
>>650610
Бамп
 .png26 Кб, 815x344
803 1653217
Αнοны, пοдϲκажитe κaκ пpaвильно вбить ϲтpοκy, пepeд ϲтилeм, чтοбы yбpaть ϲлοвο «Автообновление» вοзлe тaймepa, нο οϲтавив пpи ϶тοм видимым чeκбοκϲ и ϲaм тaймep, тaкжe, κaκ ϶тο peaлизοвaнο нa 4chan.
804 1653341
опенкарт кун снова на связи. нужна ваша помощь, анонсы.
есть два контроллера head.php и product.php. один обрабатывает шаблон где head со всеми мета тегами и seo парашей, а второй соответственно выводит данные о товаре для контентной части. каждый из них соответственно передает обработанные данные в свой шаблон head.tpl и product.tpl соответственно. мне нужно так же доработать seo и opengraph парашу в head.tpl, и добавить туда данные о товаре которые приходят в product.tpl и который отдает контроллер product.php
так вот: я могу как то вызвать из head.php функцию-обработчик из product.php или мне придется копипасть? сами функции в product.php никак не инкапсулированны и записаны через public если чо
image.png800 Кб, 1000x800
805 1653382
Господа, есть объект Poll (опрос) и есть объект User. Если юзер проголосован в опросе, то вызывается Poll:addVotedUsers(User $user), который добавляет юзера в список проголосовавших.
Дело в том, что каждому юзеру за участие в опросе положено начисление баллов, User::addRating($int rating).
Хочу начислять их в Poll:addVotedUsers() и написать там
$user->addRating($poll->getPrice()). Получается сайд-эффект, но который обязателен всегда.
Так можно делать или за такое убивают нахер?

Погуглил, похожий пример, в доках доктрины в методе addEntry() кроме добавления записи еще и увеличивается $balance.
https://www.doctrine-project.org/projects/doctrine-orm/en/2.7/cookbook/aggregate-fields.html#using-an-aggregate-field
Получается, сайд-эффекты можно, или это несчитово за сайд-эффект?
806 1653478
>>653382
У тебя каша в голове. Я уже тут говорил кому-то: забудь нахуй все эти передать, вызвать метод, добавить. Возьми бумажку и рот вытри опиши на ней по пунктам свой бизнес процесс, без кода, базы и прочей хуйни.

Пользователь голосует за пункт опроса, при этом пользователю начисляется рейтинг.
Что в себе эта фраза содержит:
1) Есть опрос.
2) Есть пункт опроса.
3) Есть пользователь.
4) Есть рейтинг пользователя.
5) Рейтинг пользователя увеличивается, когда пользователь проголосовал.

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

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

Подробно рассмотрим процесс начисления рейтинга.
У опроса есть стоимость, которая используется для начисления рейтинга проголосовавшему
1) Есть стоимость опроса.
2) Стоимость добавляется к рейтингу

И так далее. Ты создаешь все эти сущности по мере поступления: рейтинг, стоимость, пользователь, хуй в носу. А потом таким же образом решаешь как их компоновать, руководствуясь в первую очередь своим процессом. Потом описываешь сами процессы их взаимодействия. В итоге получается что-то примерно такое https://3v4l.org/AREPJ .

И только теперь ты решаешь как сохранять изменения своих сущностей в базу. Создаешь таблицы, прописываешь маппинги доктрины и прочую хуйню-малафью.
806 1653478
>>653382
У тебя каша в голове. Я уже тут говорил кому-то: забудь нахуй все эти передать, вызвать метод, добавить. Возьми бумажку и рот вытри опиши на ней по пунктам свой бизнес процесс, без кода, базы и прочей хуйни.

Пользователь голосует за пункт опроса, при этом пользователю начисляется рейтинг.
Что в себе эта фраза содержит:
1) Есть опрос.
2) Есть пункт опроса.
3) Есть пользователь.
4) Есть рейтинг пользователя.
5) Рейтинг пользователя увеличивается, когда пользователь проголосовал.

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

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

Подробно рассмотрим процесс начисления рейтинга.
У опроса есть стоимость, которая используется для начисления рейтинга проголосовавшему
1) Есть стоимость опроса.
2) Стоимость добавляется к рейтингу

И так далее. Ты создаешь все эти сущности по мере поступления: рейтинг, стоимость, пользователь, хуй в носу. А потом таким же образом решаешь как их компоновать, руководствуясь в первую очередь своим процессом. Потом описываешь сами процессы их взаимодействия. В итоге получается что-то примерно такое https://3v4l.org/AREPJ .

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

>$poll->vote($vote);


А это вообще законно? Разве не должна такая логика храниться вне объекта, где-нибудь в классе PollService? Опрос не может голосовать, яблоко не может выжимать из себя сок.
808 1653548
>>653478
Алсо, как приверженца делать любую сущность классом, хочу спросить.
Вот ты сделал аж 7 классов для базовой реализации опроса, а дальше - больше. В реальной жизни они лежат в разных файлах или как-то комбинируются?
А если опросы бывают радио и с чекбоксами, то такие опросы будут наследоваться от AbstractPoll и определять свой vote() в CheckboxPoll и RadioPoll или распадутся на более сложную логику?
А если в опросах может быть несколько вопросов? Это я не оверинженерю, я описываю реальный проект.
809 1653550
>>653534
Логика не может храниться вне объекта. Она может храниться в другом объекте. Ты мой пост читал? Опиши свой бизнес процесс и исходя из него реши в каком объекте хранится логика. Названия типа PollService хуевая тема. Они нихуя не говорят что на самом деле происходит. FillPoll, Voting, Polling ты пишешь код чтобы его потом читать, так пиши понятно.
image.jpeg407 Кб, 1429x484
810 1653557
>>653108
Так. По совету: >>653133

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

В чем дело?
811 1653561
>>653108
Слишком много скобочек. Здесь спокойно можно обойтись одним уровнем вложенности.
812 1653567
>>652970
Там никакой полезной информации.

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli '/root/.nvm/versions/node/v12.16.1/bin/node',
1 verbose cli '/root/.nvm/versions/node/v12.16.1/bin/npm',
1 verbose cli 'run',
1 verbose cli 'dev'
1 verbose cli ]
2 info using npm@6.13.4
3 info using n8f1odeANUSv1:5/2PUNCTUM1!l.6.1
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle @~predev: @
6 info lifecycle @~dev: @
7 verbose lifecycle @~dev: unsafe-perm in lifecycle true
8 verbose lifecycle @~dev: PATH: /root/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/var/www/node_modules/.bin:/root/.nvm/versions/node/v12.16.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
9 verbose lifecycle @~dev: CWD: /var/www
10 silly lifecycle @~dev: Args: [ '-c', 'npm run development' ]
11 silly lifecycle @~dev: Returned: code: 1 signal: null
12 info lifecycle @~dev: Failed to exec dev script
13 verbose stack Error: @ dev: `npm run development`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/root/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:311:20)
13 verbose stack at ChildProcess.<anonymous> (/root/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:311:20)
13 verbose stack at maybeClose (internal/child_process.js:1021:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid @
15 verbose cwd /var/www
16 verbose Linux 4.19.76-linuxkit
17 verbose argv "/root/.nvm/versions/node/v12.16.1/bin/node" "/root/.nvm/versions/node/v12.16.1/bin/npm" "run" "dev"
18 verbose node v12.16.1
19 verbose npm v6.13.4
20 error code ELIFECYCLE
21 error errno 1
22 error @ dev: `npm run development`
22 error Exit status 1
23 error Failed at the @ dev script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
812 1653567
>>652970
Там никакой полезной информации.

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli '/root/.nvm/versions/node/v12.16.1/bin/node',
1 verbose cli '/root/.nvm/versions/node/v12.16.1/bin/npm',
1 verbose cli 'run',
1 verbose cli 'dev'
1 verbose cli ]
2 info using npm@6.13.4
3 info using n8f1odeANUSv1:5/2PUNCTUM1!l.6.1
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle @~predev: @
6 info lifecycle @~dev: @
7 verbose lifecycle @~dev: unsafe-perm in lifecycle true
8 verbose lifecycle @~dev: PATH: /root/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/var/www/node_modules/.bin:/root/.nvm/versions/node/v12.16.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
9 verbose lifecycle @~dev: CWD: /var/www
10 silly lifecycle @~dev: Args: [ '-c', 'npm run development' ]
11 silly lifecycle @~dev: Returned: code: 1 signal: null
12 info lifecycle @~dev: Failed to exec dev script
13 verbose stack Error: @ dev: `npm run development`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/root/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:311:20)
13 verbose stack at ChildProcess.<anonymous> (/root/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:311:20)
13 verbose stack at maybeClose (internal/child_process.js:1021:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid @
15 verbose cwd /var/www
16 verbose Linux 4.19.76-linuxkit
17 verbose argv "/root/.nvm/versions/node/v12.16.1/bin/node" "/root/.nvm/versions/node/v12.16.1/bin/npm" "run" "dev"
18 verbose node v12.16.1
19 verbose npm v6.13.4
20 error code ELIFECYCLE
21 error errno 1
22 error @ dev: `npm run development`
22 error Exit status 1
23 error Failed at the @ dev script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
813 1653572
>>653548

>В реальной жизни они лежат в разных файлах или как-то комбинируются?


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

>А если опросы бывают радио и с чекбоксами, то такие опросы будут наследоваться от AbstractPoll и определять свой vote()


Абстрактный класс используется только для переиспользования повторяющегося кода. Логика должна быть типа "одинаковые методы выносим в абстрактный класс".

>CheckboxPoll и RadioPoll или распадутся на более сложную логику?


Будет логика - будет и распад. Я нихуя не знаю какие у тебя там требования, хули гадать. Вообще постами на двоще такое не очень удобно описывать, даже сниппеты с несколькими классами писать залупа та еще.
Screenshot73.png1 Кб, 443x36
814 1653599
>>653567
Еще пизже блять.
Всегда ненавидел js-говно. И не просто так.
815 1653615
>>653599
Братан, я в любой непонятной ситуации сношу node_modules и заново ставлю, попробуй и ты, и кеш нпма почисти еще
816 1653617
>>653550
Есть чё почитать по этой теме?
А если найду?
817 1653632
>>653615
Делал это уже. Один хуй баги эти идут.
Я тут начал подозревать, что это может быть как-то связано с анальным хороводом прав и пробросом папок в докер.
Хотя из-под рута запускается, должно быть вообще похуй.
818 1653643
>>653632

>докер.


С этого и надо было начинать
Screenshot76.png8 Кб, 520x140
819 1653655
>>653643
Винда сраная говна в жопу залила.
Попробовал на VDS - все нормально и работает в 5 раз быстрее.
Учитывая что на ноуте у меня i5, а на вдс 2 ядра 2 гига.

Ты вообще в какой ОС девелопишь? В смысле в какой ОС у тебя IDE стоит?
820 1653678
когда выйдет 8й?
821 1653679
>>653617
А хуй знает на самом деле. Прям хорошей книги по моделированию я не знаю, обычно все это в статьях. Гугли domain modelling, вот например неплохой конспект лекций http://stg-tud.github.io/eise/WS11-EiSE-07-Domain_Modeling.pdf
Щас домен тесно связывают с DDD, но я бы новичку не рекомендовал в DDD упарываться. Сначала научись моделировать, а потом уже грузи башку иммутабельностью, контекстами и прочей хуйней.

Хотя если есть желание, по DDD две книги основные "синяя" и "красная", правда они не по пхп. По пхп тоже есть, но там хорошие мысли сопровождаются хуевым кодом.
Аноним 822 1653737
>>653678
stable в конце года
823 1653776
>>653737
теперь запануем?
824 1653917
Аноны, у меня такой вопрос - у меня скрипт, в скрипте подключение к базе данных. Пусть это или PDO или ORM.
Вопрос - я не очень понимаю как работают подключения к базе данных.
Каждый раз когда в ПХП выполняется мой запрос - создается новое подключение? И когда скрипт выполняется полностью - подключение к базе данных умирает? Или подключение остается открытым? И если другой пользователь запускает этот же скрипт - я создаю новое в пхп подключение получается? Или пхп находит еще открытое подключение и использует его?

А в системах которые не "умирают" после выполнения скрипта - допустим в node я создаю подключение к базе, выполняется скрипт - а после него остается открытое подключение к базе?

Еще существует такая вещь как пул подключений. Для чего это нужно?
825 1653943
>>653557
Бамп вопросу.

>>653561
Возможно, в будущем я научусь сокращать подобное. Но пока что мне удобнее расписывать так.
Спасибо за это замечание, кстати.
826 1654014
>>653679
Пасиб, учту.
827 1654060
>>653655
На убунте, и то потому что там есть i3wm, с ним очень удобно. А так на винде раньше работал с виртуалкой для дев, помню там какое-то говно в гите вечно было с символами переноса строки, и я пока не настроил гит фор шиндовс то у меня любой коммит делал весь файл зеленым
828 1654110
Сап, пхпач, нужна помощь.
Работаю на PHPStotm, необходимо работать с БД MySQL.
Добавил подключение через вкладку Database, проверил подключение, все работает.
Пишу в скрипте $link= mysqli_connect('localhost', 'root','', 'forum');
Запускаю и получаю ошибку: Fatal error: Uncaught Error: Call to undefined function mysqli_connect() .
Помогите, анончики, молю.
829 1654123
>>654110
Братан, это гуглится в один клик. Надо включить расширение mysqli. Если ты на винде, то поставь OpenServer или любую WAMP хуйню, в которой дяди уже настроили все для тебя. А если ты на линухе, то тем более привыкай гуглить даже как дышать и пердеть.
830 1654129
>>654123
Бля, не хочу ставить эти уебанские сервера, они неудобные пиздец.
Пытался гуглить, не нашел ответ, который бы мне помог.
Зато нашел варнинг "Unable to load php_mysqli.dll", хз, как фиксить.
В php.ini есть extension=php_mysqli.dll.
831 1654139
>>654129
Ну да. Поднимать все нужные сервисы и выключать одной кнопкой неудобная хуйня. Ебаться с конфигами самому тоже всяко удобней, заодно учишься сам разбираться хули dll не работает, разбираешься где их качать, pear хуйню там всякую. Интерфейс для настроек тоже неудобно нихуя, через консоль вернее получается.
В общем сыглы, готовые сервера для не шарящих в админстве сплошная обуза.
832 1654142
>>654129

>Unable to load php_mysqli.dll


Потому что у тебя его просто нет. Гугли как на винду на мыху установить mysqli. А вообще используй пдо, он просто лучше
833 1654149
Вот вам подгон: новая книга по Symfony 5 от создателя фреймворка на русском языке.
ссылка на гугл диск — shorturl.at/cmuB1
834 1654153
На 7 винде ставил Докер легко, а теперь на 10-ке (правда пиратской) какая-то жопа, то со сборкой Винды колдовал для установки, то Hyper-V ошибку дает при старте Докера. Пиздец. Как я заебался. Когда-то давно на 7-ке поставил за несколько минут, сейчас же часа 3 сидел и ноль эффекта. Надо, наверное, Линукс накатить, но для этого лучше отдельный SSD брать, на этом и так места мало.
835 1654155
>>654153

>Докер


поясните простым языком,что это?
836 1654164
>>654155
Если совсем просто, то это софт для создания и запуска виртуальных машин.
В реальности конечно не для создания, а для упаковки, и не для запуска, а для управления, и не виртуальных машин, а контейнеров.
Но аналогия более-менее точная.
837 1654170
>>654164
так я могу поставить линукс и запускать там проги как на виртуалке или там чисто терминал?
838 1654171
>>654170
Сам просил просто, а теперь в залупу лезешь. Контейнер это по сути и есть линукс система, но не совсем виртуальная. И нужна она именно для запуска "проги", но по определенным правилам.
839 1654181
>>654171
допустим я там что то накалякал,я могу увидеть это в браузере?
840 1654189
>>654171

> но по определенным правилам.


по каким?
841 1654193
>>654181
Допустим ты накалякал три контейнера на базе убунты: nginx, php-fpm и postgres.
Еще ты накалякал между ними сеть.
Потом ты накалякал что Nginx контейнер слушает 80 порт твоей машины и стучится в php-fpm контейнер.
Потом накалякал что папка с твоим проектом монтируется в php-fpm контейнер.
Тогда если перейти в браузере по адресу из конфига nginx, то он постучится в php-fpm контейнер, а тот загрузит файлы проекта и ты увидишь результат в браузере.
842 1654195
>>654193
те я как бы из винды будут видеть этот файл,но он будут работать под линуксом и сторонними прогами,как браузер я могу оттуда вытащить результат?
843 1654196
>>654189
Бля, ну не буду я тут википедию переписывать иди и почитай епты.
844 1654198
>>654195
Винды в уравнении нет. Докер для винды это "настоящая" виртуальныая машина с линуксом, в которой запущен докер.
845 1654201
>>654198
те он не видит,что в том докере?
846 1654203
>>654201
Сначала ты монтируешь диск C к виртуальной машине, потом при запуске контейнера ты монтируешь часть уже виртуального диска к контейнеру. Если у тебя прокачанная удача, то все заработает нормально и все всё увидят.
847 1654215
>>654203
а на виндовс хоум это заработает?
и сколько она жрет?
848 1654267
>>654149
Спасибо.
C4RP3NT3R 849 1654387
Вопрос к знающим, как себя приучить к пыхе, как не берусь делать какой-нибудь лендос, у меня возникает стойкое отвращение к этому языку. Может кто подсказать нормальный комплекс для освоения этого языка, а то схожее я видел только с питоном
15817005175780.mp46 Мб, mp4,
640x800, 0:29
850 1654400
851 1654401
>>653557
Очередной бамп вопросу.
C4RP3NT3R 852 1654404
>>654400
Я же ебучий зумер, с чего же мне ещё начинать?
853 1654406
>>654404
Если тебе приходится писать код для лендоса дважды, то тебе лучше сменить профессию.
C4RP3NT3R 854 1654408
>>654406
Просто у меня знакомство с пыхой было не самым лучшим, посредством моего опрокидывания, конечно же. Поэтому я бы хотел нормально ему выучиться, чтобы не выглядеть посмешищем, я же не прошу чего-то большего
Да не пишу я дважды код для лендоса, откуда ты это взял?
855 1654409
>>654408
Определил что у тебя в очке бутылка по кодовой фразе "отвращение к языку". Добро пожаловать в клуб.
Аноним 856 1654410
>>654409
да я просто хочу из халявщика переклассифицироваться в обычнокодера
ванька.jpg12 Кб, 480x360
857 1654413
>>654410
Ни так пиздуй на завод или в шахту. Хули ты людей на бабки разводишь?
Аноним 858 1654415
>>654413
Ничего не знаю, клиенты не жалуются, а как я делал, это их не должно интересовать. Но мне от этого совестно, поэтому хочу заниматься делом, которое меня увлекает честно, но из-за собственной лени и возможного страха я так и не решился пылесосить документацию пыхи. Поэтому я и спросил, есть ли какие-то в тырнете комплексы для таких ленивых и красивых как я ?
540445-581068-0x0.jpg97 Кб, 1800x1800
859 1654417
>>654415
Стандартный комплекс. Принимать ректально, за пол часа до еды. Пылесосишь документацию - мое почтение.
Аноним 860 1654419
>>654417
что ж ты такой неприветливый, сказал бы сразу - я не помощник, а агрессор. Я всего лишь хочу делать свою работу качественно, что же в этом плохого?
61e87r8fpJL.ACSL1000.jpg59 Кб, 1000x1000
861 1654423
>>654419
Бля, так бы сразу и сказал. Тогда нужен качественно другой уровень. Тут уже нужно применять комплекс только с утра, а то джавистом станешь.
Аноним 862 1654424
>>654423
что, нужно в рука держать такой огромный дилдо? Это и есть комплексы по изучению пыхи? Ну тогда я не так уж и далеко ушёл, пойду навёрстывать упущенное!
779-856 863 1654438
>>654155

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

>>654129

Видимо надо с сайта PHP скачать расширение и положить в нужную папку (папка ext внутри папки PHP, я думаю).

>>653917

> Каждый раз когда в ПХП выполняется мой запрос - создается новое подключение? И когда скрипт выполняется полностью - подключение к базе данных умирает?



Да. Да.

> А в системах которые не "умирают" после выполнения скрипта - допустим в node я создаю подключение к базе, выполняется скрипт - а после него остается открытое подключение к базе?



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

Пул дает выигрыш, если установка соединения медленная. В базах вроде MySQL, вроде бы такой проблемы нет. У пула есть и недостаток - возможна ситуация, когда скрипт начнет транзакцию, но не закоммитит ее, и вернет в пул такое соединение, а потом оно достанется другому скрипту и он продолжит эту транзакцию вместо того, чтобы начать с "чистого листа".
864 1654439
>>653557

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

>>651299

По моему, твой пример с итератором можно переписать без итератора, и код станет проще. Делаем функцию вроде getCatFacts($limit), в ней обычным циклом for() дергаем API нужное число раз. Получаем тот же результат, только без сложного класса-итератора. Еще есть вариант с использованием функции-генератора, он тоже проще, чем итератор. Но в плане читабельности, на мой взгляд, проще всего будет именно обычный цикл for(), обычный императивный код.

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

> Я не зря спрашивал про твой опыт, любой кто работал с крупным проектом знает: есть вещи, которые поменять НЕВОЗМОЖНО. Еще пол года назад было возможно, а теперь нет. Я буквально сейчас чекаю самописную либу, объекты которой используются в сотнях мест, а места, в которых они используются в тысячах. Изменяя классы этой либы ты в принципе не можешь оценить последствия своих решений.



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

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



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

Я согласен, что твой подход действительно упростит переход на новую версию библиотеки. Но ценой больших трудозатрат.
864 1654439
>>653557

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

>>651299

По моему, твой пример с итератором можно переписать без итератора, и код станет проще. Делаем функцию вроде getCatFacts($limit), в ней обычным циклом for() дергаем API нужное число раз. Получаем тот же результат, только без сложного класса-итератора. Еще есть вариант с использованием функции-генератора, он тоже проще, чем итератор. Но в плане читабельности, на мой взгляд, проще всего будет именно обычный цикл for(), обычный императивный код.

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

> Я не зря спрашивал про твой опыт, любой кто работал с крупным проектом знает: есть вещи, которые поменять НЕВОЗМОЖНО. Еще пол года назад было возможно, а теперь нет. Я буквально сейчас чекаю самописную либу, объекты которой используются в сотнях мест, а места, в которых они используются в тысячах. Изменяя классы этой либы ты в принципе не можешь оценить последствия своих решений.



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

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



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

Я согласен, что твой подход действительно упростит переход на новую версию библиотеки. Но ценой больших трудозатрат.
865 1654451
>>654439

>Делаем функцию вроде getCatFacts($limit)


А функция один хуй будет в объекте, и цикл будет в объекте, и императивный код будет в объекте. И этим объектом будет Альберт Эйнштейн контроллер.

>Разве не то же самое с командами и обработчиками?


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

>Разве не то же самое с командами и обработчиками?


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

>В реальном приложении могут быть тысячи обращений к Доктрине.


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

>Хотя это может и никогда не потребоваться.


Всегда требуется. Кеширование, перенос сервиса в апи, nosql изъебы.

>Но ценой больших трудозатрат.


Заебал. Ну нахуй ты вступаешь в полемику если нихуя не понимаешь о чем говорищь? Любой крупный проект за шесть лет переписывается как минимум дважды. Я тебе дураку скинул видео где компетентный человек объясняет почему. В том числе и потому что некомпетентные дебилы плодят за месяц технический долг ТЫСЯЧЕЛЕТНИЙ. Пиздец вообще, ты рассуждаешь типа: ну сяду ебать, перепишу там хули. В крупном проекте с хотя бы пятью активными программерами в неделю прирост кодовой базы ~2К сток. Ты блядь столько не прочитаешь даже, куда там нахуй понять или переписать. Хватит хуйню нести.
866 1654483
тест
867 1654725
>>654451

>неделю прирост кодовой базы ~2К сток


Больше.
В зависимости от задач каждый из этих 5 хоть каждый день по 2к+ может выдавать. Но в целом за неделю активного пердолинга в 5 лиц думаю гораздо больше 2к будет все равно.
868 1654728
>>654149
Вольный пересказ документации?
869 1654730
>>654438

>Да. Да.


Не обязательно. Можно использовать PDO::ATTR_PERSISTENT.
870 1654778
аноны,насколько хороша реализация веб сокетов у пхп?
871 1654817
>>654725

>каждый из этих 5 хоть каждый день по 2к+ может выдавать


Ага - 4 строки в минуту. Все 8 рабочих часов.
А через неделю этих уже поехавших увезут в дурку и наймут других - выжимать.
872 1654825
>>654817
Ты понял мою мысль.
Алсо, в дурку больше шансов уехать при дебаге 5 дней в неделю, за который может и 10 строк в итоге не запушишь, зато забудешь как тебя нахуй зовут. От обычного кода настолько не заебываешься.
1200px-JSONvectorlogo.svg.png48 Кб, 1200x1200
873 1655757
>>630065 (OP)
Сап, программач.Нужна небольшая консультация.
Написал скрипт. Скрипт делает запрос, принимает в ответ JSON, декодирует(получается нихуевый такой ассоциативный массив с кучей вложений) Далее, он берет из него нужные мне строки и заносит в базу данных.
Хочу немного ускорить скрипт(снизу прилагаю кусок кода). Нужно ли создавать переменные типо, $url, $id, $sql. Если мне нужно обработать тысяч 500 строк то я полагаю это должно сильно замедлять выполнение скрипта, правильно? Может подставлять все сразу напрямую в mysqli_query?
foreach($items as $value){
$url=end($value["sizes"])["url"];
$id=$value["user_id"];
$sql="INSERT INTO users (ID, photoURL) VALUES ('$id', '$url')";
$result=mysqli_query($link, $sql);
Я только учусь, поэтому сильно не ругайте)
image.png10 Кб, 776x59
874 1655776
Ентот анон >>653557 отписывается.

Разобрался, в чем прикол был. У меня в талице 4 столбца (ид, логин, пароль, число постов), а я указывал всего два параметра (логин и пароль), а поскольку столец с количеством постов не заполнялся автоматически, требовал вписчываться вручную, запрос и не уходил.

Теперь другая беда - запис дублируется, блять. Как фиксить? У меня всего один раз ексекут делается, страница не перезагружается. В чем дело?
875 1655823
>>655757
Во первых большие JSON файлы парсятся не целиком, а постепенно. Чем нибудь вроде этого https://github.com/salsify/jsonstreamingparser . С памятью будет охуенчик, скорость соответственно тоже прибавится.

Во вторых вставку в базу делай пакетно. Примерно по 2К записей за раз. В идеале использовать UPSERT или скипать уже вставленные записи. Чтобы продолжать сразу с проблемного места, если все пойдет по пизде посреди процесса.
876 1655837
>>655823

>Примерно по 2К записей за раз


Я делаю запросы к vkapi, там ограничение на 1000 записей, соответсвенно так и получается что я делаю по 1000 записей за раз.
Там не один огромный файл на 500 тыс, просто нужно прогнать много данных через скрипт.
В принципе у меня все работало, просто снес базу, решил заново спарсить, да и немного доработать скрипт.
877 1655864
878 1656255
>>653478

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


Можешь пояснить за отличие актив рекорд от доктрины? Я периодически слышу, что доктрина "круче", типа серьезные проекты делаются на симфони на доктрине, а вот ActiveRecord в Yii2 - хуета. И почему тогда Laravel топчик, если там тот же Eloquent по сути та же AR, или я путаю?
879 1656271
>>656255
Мимо проходящий анон.
На просторах стак овер флоу был такой ответ:
ORM - Active Record и Data Mapper. Отличаются они только тем, что в AR методы работы с БД хранятся в самом объекте, а в DM - отдельно. Вследствие чего последний считается более академически правильным (разделение ответственности) и дает больше преимуществ в сложных проектах. Примерами реализации AR являются Yii AR и Eloquent, DM - Doctrine и Atlas.Orm.
880 1656324
>>649332

>уходит, они должны быть лаконичными


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


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


Как оценивал "лаконичность"? Ты сеньор-помидор из гугла, чтобы знать прикладную область настолько, чтобы свободно оперировать терминами, не вкладывая в них свое "понимание"?
881 1656362
>>655776
Бумп.
Почему двоится запись в таблицу?
882 1656443
>>652126

Я думаю, тебе нужно сделать свой контроллер для этого, который проверит логин/пароль и выдаст нужный токен. Если ты используешь токены, то у тебя stateless аутентификация (без сессий и кук) и выдачу токенов ты организуешь сам. GuardAuthenticator лишь проверяет токены, он в такой ситуации не имеет дела с логинами/паролями.

>>651539

В функции printReport() стоило ставить перенос строки после точки, чтобы не было таких длинных строк. А так, код выглядит верно.

Вместо констант вроде Employee::MANAGER можно было использовать Manager::class - это встроенная константа, которая возвращает имя класса.

Для антикризисных мер стоит разобраться с клонированием объектов и магическим методом __clone(). Сделать несколько копий компании и дальше над ними проводить эксперименты. Придется также добавить методы для поиска работников по условиям, увольнения, изменения базовых ставок. Если запутаешься, то погугли в архивах тредов эту задачу и посмотри, как другие решали антикризисные меры.
883 1656444
>>648171

В генераторе ходов вместо констант ходов (вверх, вниз итд) можно было использовать координаты вроде [+1, 0] (смещение по X и Y). Тогда не пришлось бы копипастить кучу одинаковых блоков кода. Также, можно разделить выбор хода на этапы:

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

Также, "вариант хода" можно сделать объектом с полями x, y.

Поле можно реализовать еще так: просто хранить в нем массив животных и на каждом ходе генерировать текстовое представление, не сохраняя его в массив. Выгода в том, что нам не надо тогда из класса животных при ходе обновлять поле, достаточно просто поменять координаты животного. У поля были бы методы вроде displayField(), isOccupied($x, $y), occupy($x, $y) (занимает клетку, удаляя других животных с клетки).
884 1656455
Тут стало много постов, можно переходить в новый тред >>1656450 (OP)
885 1657347
ПХП ГОВНО!!!!!
886 1658816
А кто-нибудь может ответить на элементарный вопрос по рерайт-функциям в .htaccess? У меня есть сайт на вордпрессе, мне нужно, чтобы URL вида:
site.com/123 (после слэша только цифры, любое количество)
преобразовывались в:
site.com/?p=123
Нагуглил кучу гайдов по синтаксису htaccess и типичным заменам, но так и не смог написать работающее правило, сайт ложится с ошибкой 500 от моих попыток.
С меня как всегда
887 1659709
Аноны, нужно вот этот код метрики

<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function(m,e,t,r,i,k,a){m=m||function(){(m.a=m.a||[]).push(arguments)};
m.l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");

ym(61898841, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/61898841" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

Вставить вот сюда

# Добавление Счётчиков посещений
$wgHooks['BeforePageDisplay'][] = 'addscripts';
function addscripts( $out, $sk)
{
$out->addScript("<!-- Yandex.Metrika counter -->
[содержимое скрипта со всеми тегами и ОБЯЗАТЕЛЬНОЙ ЗАМЕНОЙ ВСЕХ КАВЫЧЕК " на СЛЭШ С КАВЫЧКАМИ \" ]
<!-- /Yandex.Metrika counter -->");
};

Но где там что менять я не понимаю, в синтаксисе ноль. С меня тонна нефти
887 1659709
Аноны, нужно вот этот код метрики

<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function(m,e,t,r,i,k,a){m=m||function(){(m.a=m.a||[]).push(arguments)};
m.l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");

ym(61898841, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/61898841" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

Вставить вот сюда

# Добавление Счётчиков посещений
$wgHooks['BeforePageDisplay'][] = 'addscripts';
function addscripts( $out, $sk)
{
$out->addScript("<!-- Yandex.Metrika counter -->
[содержимое скрипта со всеми тегами и ОБЯЗАТЕЛЬНОЙ ЗАМЕНОЙ ВСЕХ КАВЫЧЕК " на СЛЭШ С КАВЫЧКАМИ \" ]
<!-- /Yandex.Metrika counter -->");
};

Но где там что менять я не понимаю, в синтаксисе ноль. С меня тонна нефти
888 1672237
>>653108
Кодстайл просто пиздец, вырвиглаз лютый. Почитай PSR или что-нибудь. Поставь PHPSTORM и нажми там "переформатировать исходный текст" что ли, не знаю.
889 1699840
Хотелось бы поговорить с PHP джунами(желательно Laravel) из Беларуси. Как учились? Где сейчас работаете, что спрашивали на собеседованиях, было ли у вас кое либо портфолио для собеседований. Идеально было бы в телеге поговорить.
tg: @sandfer
890 1701059
Только -только начинаю учить, если есть такие же — гоу объединимся
@ophbime
891 1707734
>>701059
написал тебе в телеграм
Тред утонул или удален.
Это копия, сохраненная 3 июня 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски