Также, у нас есть задачи которые позволят тебе изучить или подтянуть до нормального уровня знания JS/HTML/CSS/SQL. Решай их параллельно с задачами выше.
- скачать учебник: зайди на https://github.com/codedokode/phpbook, нажми зеленую кнопку Code -> Download ZIP, распакуй на рабочий стол и открой index.html - что будут спрашивать на собеседовании, если 0 опыта - будут гонять по теории, по официальному мануалу PHP, давать дурацкие задачки на переворачивание строк, гонять по SQL (транзакции, внешние ключи, напиши запрос), по JS (как сделать анимацию при нажатии кнопки), ну погугли, не ленись - сколько времени надо изучать все это? - все зависит от тебя, в районе 24-48 месяцев
>>3283139 >Вы даже иде бесплатную сделать не в состоянии. О чем вообще ты говоришь? Маня, учись ездить на вс коде с плагинами, если не в состоянии скачать шторм бесплатно без регистрации
>>3283154 >на голенге Чтобы на нем писать нужна ИДЕ. А тут, сюрприз, жидбрейнс тоже монополисты ебаные. Да они на всех яп монополисты, кроме C/++/#, JS/TS и все, нахуй.
Вообще не понимаю что такое blade компоненты и слоты в Laravel. Два раза перечитал документацию, пробовал читать другие статьи. Нихуя не понимаю. Особенно слоты. Вот переменная $slot. И что дальше-то? Что она из себя представляет? Какие-то строчки html-кода? А в какой части кода нужно определять значение этой переменной? Да и вообще я не понял как это руками применять. Когда создается компонент на основе классов, то создается пхп класс и файл представления. Класс немного понял зачем, а представление зачем? Чтобы объявить там тег компонента и через атрибуты html передать значения переменных или что...
дарю 50к за мое тз нужно будет организовать впн сервис (Сайт с управлением openvpn) я бы сделал это за 12*5 часов, сейчас я инвестор, понимаю что двачеры дауны и даю месяц Фронт и бек на php8.2+, mysql. (nginx, php-fpm, mariadb, debian) если не можешь в логику - не пиши. мамкины фрилансеры хотят дохуя, поэтому здесь телега @xvidis
После успешной аутентификации нужно создавать сессию? У меня сейчас аутентификация проходит так: проверяется куки на наличие токена, если его нет, то редирект на страницу ввода пароля, если пароль верный, устанавливается куки с токеном. Мб нужно не куки использовать, а сессию? Я никогда не работал с сессиями и не понимаю зачем они мне нужны... Никогда не было так, чтобы я сидел и такой: "Тут точно нужна сессия". Как я понимаю, сессия и куки это способ системе рассматривать несколько запросов к сайту под одной личностью, отличие в том, что куки проще и хранятся в браузере, а не на сервере.
>>3285901 Куки можно перехватить. >Никогда не было так, чтобы я сидел и такой: "Тут точно нужна сессия" Может это издержки фреймфорка, но у нас в проекте аутентификация всегда начиналась с сессии на бэке. Это потом уже, по мере расрастания проекта, добавлялись jwt в куки.
>>3283119 (OP) >>1008826 (OP) Я использую Xdebug в PHPStorm. Во время дебага я хотел бы найти, когда происходит присвоение какой-то переменной или элементу массив значение 'Участвует в акции'. То есть проблема в том, что я не знаю где именно это происходит и куда записываются переменные. Можно ли как-то найти то место, где происходит присваивание какой-то переменной, свойству или элементу массива значением 'Участвует в акции'? Типа поставить условие, если любое хранилище информации получает значение 'Участвует в акции', тогда сделай стоп? Текст получается из БД, поэтому по тексту в проекте не получится найти. А проект легаси, поэтому сложно дебажить
Объясните простыми словами что такое тома в docker. А также что означает ":", например, docker run -d -r /host/dir:/container/dir test/webserver? А также то, что означает "монтировать" в контексте томов docker.
Скинули тестовое задание, которое требует клонировать репозиторий. У меня недавно так получилось, что я клонировал один такой репозиторий с bitbucket и у меня самостоятельно скачался торрент + открылись страницы с криптой и торрентом. Что делать с этой хуйней? Я ньюфаня. Перенести инструменты разработки в виртуальную машину и только там кодить?
>>3287795 звали на стажку в начале 23, на тот момент изучал 5 месяцев примерно, но очканул условий и отказался. Потом вышел в другую контору через полгода примерно(никак не выйду теперь).
з.ы. был прекол - позвали не тех собес, лясим-трясим, все ок, тимлид сказал что ему нравятся ответы. Но в потом спросил готовился ли я к собесу, типа слишком хорошо отвечал. Я честно сказал что не готовился, слишком дохуя всего себе поставил в план изучения. Обещали написать и конечно нихуя не пишут уже неделю. Вот как блять с такими - плохо отвечать - плохо, хорошо отвечать - тоже плохо. Почему в этой сфере все такие ебненькие?
>>3287795 >менее чем за полгода Вводные какие? Если полный ноль, то нет. Если есть опыт, то опять же какой. Интересно что сейчас набирает популярность тезис что пыха === изи вкат в it.
>>3288069 Вроде всегда продавцы курсов питон доили на эту тему. Но тут не в рынке дело а что у самого питона почему-то считается, что низкий порог вхождения, в цыганских схемах для обучения это важно чтобы вкатуну пыль пустить типа смотри прогресс пошёл
>>3288075 >всегда продавцы курсов питон доили на эту тему Ну сейчас еще больше людей появилось которые смежные услуги предоставляют. >схемах для обучения это важно чтобы вкатуну пыль пустить типа смотри прогресс пошёл Ну эта тема с фронтендом тоже хорошо продаётся, первую страницу сверстали из header, main, footer и всё люди уже на рынок труда собираются. Теперь таких фронтендеров как говна за баней.
Всех приветствую У меня такой вопрос. Юзают ли программисты Apache/Nginx напрямую? Или это удел администраторов?
почему я задаю этот вопрос. Например я могу создать веб-приложение используя фреймфорк (Laravel, django, node и т.д.), которые возьмут всю поднаготную. Но в тоже время на докерхабе node/apache одни из лидеров по скачиваниям. Кто их использует напрямую и зачем?
>>3288069 >Интересно что сейчас набирает популярность тезис что пыха === изи вкат в it. ААА СУКА Я ВО ФРОНТ ЕНД НЕ СМОГ ПОПАСТЬ ПО ЭТОЙ ПРИЧИНЕ, ПОСМОТРЕЛ НА СТАТИСТИКУ, ПЫХА НОРМ ПО КОНКУРЕНЦИИ. НО БЛЖДАД И СЮДА ТАБУН ГОЛОДРАНЦЕВ РВЕТСЯ ВПЕРДЕ МЕНЯ!!!1!! ИДИТЕ НАХУЙ СУКИ В ТАКСИ И НА СТРОЙКЕ ХОРОШО ПЛАТЯТ. МНЕ СКОРО 30 ЛЕТ, Я НЕ ХОЧУ НА ЗАВОД ОБРАТНО
>>3288252 Пыха медленно работает с I/O, поэтому выгодно отдавать статические файлы через веб-сервер, минуя php. В большинстве случаев дополнительная логика тут все равно не нужна.
>>3288385 Да, ебаные продаваны курсов нашли нишу которая была занята скуфами. Даже пидор хауди хо недавно видос запилил по пыхе (вылезло в реках), хотя раньше ему подобные даже не знали что кроме жс и питона другие языки есть.
>>3288830 А что, в России в него разве не также просто вкатиться? Я что-то не вижу повсеместно курсов по вордпрессу, только джавв и петухон везде вылазят
Есть VS Code, есть протокол LSP и language server вроде phpactor. Конечно, есть шероховатости и недоработки, но это все при желании можно исправить. Если бы каждый жалующийся на отсутствие IDE внес хотя бы 100 строк доработок, думаю, IDE давно бы была готова.
Ты про кривую кодировку либо же про ошибку? Ошибка в том, что у тебя включено расширение php_imagick, но оно не может загрузить библиотеку imagick.
Ты можешь либо отключить это расширение в конфиге php.ini, либо убедиться, что расширение (php_imagick.dll) и библиотека (imagick.dll) установлены и находятся в правильных директориях и их версия совместима с версией Windows. На странице ImageMagick много всяких файлов, я советую попробовать ImageMagick-7.1.1-38-Q16-HDRI-x86-dll.exe отсюда https://imagemagick.org/script/download.php
> Windows users can download prebuilt DLL from the » PECL website. These packages already contain the extension DLL (php_imagick.dll) which needs to be put into the extension_dir. They also contain the ImageMagick DLLs, which need to be put somewhere in the PATH. As of Imagick 3.6.0, they also contain XML configuration files in config; to use these instead of the built-in defaults, they need to put into %USERPROFILE%/.config/ImageMagick, or alternatively in the path given by the environment variable MAGICK_CONFIGURE_PATH. Refer to the » ImageMagick configuration files documentation for further details.
Если твой вопрос был про русские буквы, выводящиеся неправильно, то попробуй погуглить, как настроить кодировку в терминале VS Code под Windows. У тебя явно включена CP866, а надо utf-8.
- сессия годится для кратковременного (1-7 суток) хранения данных, куки до нескольких лет - данные в сессии не видны пользователю, а куки он может видеть и модифицировать (но ты можешь их шифровать для защиты от этого) - объем кук ограничен 1024 байтами, в сессию можно запихнуть побольше данных
Сессия при этом использует куки, но только для хранения идентификатора сессии.
Контейнер докера это что-то вроде виртуальной машины: он изолирован от основной (хост) системы. И директории и файлы с хост-системы в нем не видны. "Том" как раз позволяет сделать директорию хост-системы видимой внутри контейнера. "Примонтировать том" значит подключить "том", то есть директорию хоста, чтобы он стал виден внутри контейнера.
> А также что означает ":"
Это разделитель, который отделяет имя директории на хосте и место, куда ее надо примонтировать внутри контейнера. То есть на хосте у тебя директория имеет путь /some/dir, а в контейнере ее можно примонтировать по другому пути, например, other/dir.
Я советую изучить основы использования и администрирования Linux, прежде чем браться за Докер - без этого многое непонятно.
Само по себе клонирование подразумевает просто скачивание файлов из репозитория к тебе на машину. А вот если ты их запустишь, не проверяя, то может произойти что угодно. Могу посоветовать проверять файлы антивирусом (можно упаковать в zip и отправить на вирустотал, если ты не можешь позволить себе антивирус), и виритуальная машина тоже неплохой вариант.
Отказать мог не только тимлид, а еще кто-то другой, например, служба безопасности. Или вдруг оказалось, что кандидат сейчас не очень-то и нужен из-за смены планов.
Апач в наши дни особо использовать смысла нет. На продакшене используют nginx + php-fpm (это не то же самое, что php), а локально ты можешь настроить то же самое или запускать php в режиме веб-сервера: https://www.php.net/manual/ru/features.commandline.webserver.php
Кстати мне нравится, что в новой капче надо уметь различать кандзи. Не зря учил!
>>3288839 Вакансий на вордпрессе меньше по сравнению с битриксом. Толку от твоих курсов если на нем работы в РФ мало так что для вката лучше все таки битрикс
>>3289608 >для вката лучше все таки битрикс А чем лучше? Что это дает помимо ачивки что вкатился? С битрикса опыт не сильно релевантный. Опыт работы на битрикс требуют аналогично други вакансиям.
>>3289763 >Смекаешь? Нет, не смекаю. Потому что, например, я изучил laravel и иду на вакансию и после мне предлагают битрикс. И чем идея? Будут обучать битриксу или мне придется самостоятельно его осваивать? И в том и в другом случае это для бизнеса проёб.
>>3289881 Много вакансий где надо писать на ларавеле используя битрикс апи. Никому чистый фреймворк в вакууме не сдался. На фреймворке решают бизнес задачи и если бизнесу надо, чтобы заявка с сайта попадала в воронку в Битрикс CRM, то хоть на хаскеле с есодом пиши, придется с битриксом взаимодействовать. Чел, 99% задач программистов сводятся к тому, чтобы одно говно к другому прилепить. Даже голангером ты пойдешь ебаные бизнес задачи решать, а не в хакатонах учавствовать.
>>3289312 И чем он плох и в чем он не прав? Я серьезно без подъебов Это лучший канал по вайти что я видел, говорит довольно объективные и реальные вещи без цели продажи курсов
>>3290048 >И чем он плох и в чем он не прав? Да никто не говорит что он плох. Просто рубит на хомяках бабки, норм тема) > вещи без цели продажи курсов Ну конечно, только на бусти подпишись)
>>3290077 > Просто рубит на хомяках бабки >только на бусти подпишись Ну ты ебать срыв покровов устроил, он буквально говорит что делает это тупо ради бабок и все его каналы называются аля дайте деняк. На качество роликов это никак не влияет, он не пускает пыль в глаза про то как ты сейчас из грузчиков за неделю станешь наносеком за неделю. В чем он не прав в видосах то
>>3287795 >кто нить вкатывался в 23-24 году менее чем за полгода в пхп разработку? Ну я за две недели вкатился недавно. Правда до этого пол года пытался вкатиться на ноде пока не осознал что она мертва. Два дня почитал о пыхе на метаните, сделал половину пет проекта на ларавеле и создал резюме с 1.5 годом накрученного опыта. Прошёл три собеса и получил оффер. Причём оффер получил с самого первого собеса. Ну а если ты с нуля вкатываешься то за пол года вкатиться более чем реально. Просто нужно не быть распиздяем и уделять по 5-6 часов учёбе каждый день, избегая траты времени на всякую лишнюю залупу
>>3291577 >Просто нужно не быть распиздяем и уделять по 5-6 часов учёбе каждый день, Вот в dr чел ведет дневничок, как вкатывается в пхп/ларавел с марта 22 года, ежедневно уделяя учебе по 7 часов в день. Можешь пойти, заценить.
>>3291767 >Можешь пойти, заценить. Заценил. Чел третий год не может дойти до примитивнейшей мысли что нужно крутить опыт и пиздеть на собесах. Значит его уровень интеллекта катастрофически низок. У таких 8 часов обучения по эффективности равны примерно 20 минутам у нормисов.
>>3291796 >У таких 8 часов обучения по эффективности равны примерно 20 минутам у нормисов. Под нормисом себя наверное подразумеваешь? Или нет, ты даже круче нормиса? 100 часов их занятий равны 1 минуте твоей, не меньше. Как не зайду на двач, так в голосину кекаю с коупинга местных чсв-обезьян.
>>3291975 >Под нормисом себя наверное подразумеваешь? Ну смотри, я вкатился за 1.5 года уделяя вкату в среднем полутора часа в день и ебланя буквально неделями. Тот чел даже ни на один собес не попал за 2.5 года вката. И тут получается два варианта: Либо я 180iq сверх человек, а тот чел нормис Либо я нормис, а тот чел долбаёб. И ты соответственно. Ну и учитывая что я решил вкатываться через бэк на ноде сверхчеловеком меня трудно назвать. В итоге получается что ты долбаёб.
Я кстати вкатился в it занимаясь 0 часов в день. Правда диплом у меня есть, но я там тоже ебланил, все пары прогуливал и мне все зачеты закрывали за "яркие и красивые" глаза. Папка мой меня устроил тимлидом в свой it отдел. Говорит пора учиться руководить. Ну и плюс по "моей сфере" всё таки, как никак я инженер-программист дипломированный. Хожу шугаю работяг и играю в игоры остальное время.
Вопрос к вкатунам, хули вы такие тупые?
Это для умника выше, который думает что вкат как-либо связан с обучением или знаниями, когда это чистая социалка, пусть зачастую и не такая прямолинейная, как в моём примере. Вкатиться можно ваще ничего не зная про программирование, в интернете полно присеров где челы проходили собесы, наебывая даже техлмдов. При этом полно реально крутых программистов, которые нигде не работали и им с нуля будет пиздец как тяжко вкатиться. Я лично знаю ебейше талантливого джависта, которого слали нахуй даже дно-вакансии, в итоге он просто стал сам писать скрипты на заказ и зарабатывает теперь прилично, а hrы ему отказы ставили, вот и думайте головой
Мне тоже непонятно, как можно не вкатиться за 2.5 года. За это время можно наизусть выучить стандартную библиотеку языка и документацию laravel вместе с примерами.
>>3292091 У тебя логическая ошибка. Скорость вката напрямую не коррелирует с твоими знаниями. Ты можешь выучить хоть всё айти мира, но если тебя hr автоматически бракует по опыту, то эти знания тебе никак не помогут.
Опять-же пример с моим знакомым джавистом. У чела по факту опыт с десяток лет, но он кодил не для коммерции, а для себя, рння у мамы на шее. Потом прижало зарабатывать и его нахуй посылали даже на дно-вакансиях, ибо hrы срали брать чела 28 лет без образования и опыта, хотя у него уровень уверенного мидл+ по знаниям.
>>3292102 Можно потратить немного времени на софты, это не рокет саенс. Твой знакомый как минимум мог бы популярно сделать что-нибудь полезное для людей и за счёт этого получить рефералку. Это посильно для уверенного мидла+.
>>3292091 А если за 2.5 года львиная доля - это дноработа и бытовуха? А чисто на кодинг был 1 месяц и то твердо и четко не было известно получится ли покодить или опять отвлекут и придется всё бросать на затычку жизненных дыр?
Узнал сегодня что в xdebug есть какие-то доп. ф-ции, помимо отладки. Какая-то трассировка, профилирование, уровень покрытия кода, стек-трейсы. В это нужно углубляться или это все не используется на работе как правило?
Будет когда-нибудь преобразование пустой строки в null из под коробки? Или как решить то, что мне надоело трейты везде подключать для фильтрации реквестов, Может где-то галочку нужно поставить?
class MyClass { public ?int $google = null;
public function __construct() { $this->google = '3'; $this->google = ''; //Exception } }
>>3292348 Не совсем понял, что ты хочешь сделать. Пустая строка и null-значение - это принципиально различные данные. Скорее всего у тебя ошибки в проектировании, если с этим возникают затруднения.
>>3292353 Ну вот в $_POST например ['google' => ''], а в форме MyClass это свойство не обязательное. В твоем фреймфорке если загрузить данные из поста в форму, он разберется, что пустую строку нужно в null превратить? И если нет, то как у вас данные с формы на фронте попадают в класс формы? >Пустая строка и null-значение - это принципиально различные данные А если в int записать (string)"3.01", то он не ругается что там флоат. Я понимаю что это numeric. Но там же в обявлении типа стоит не просто int а ?int. Можно было бы наверное еще проверку на длину строки делать.
>>3292371 $this->google = '3'; Тоже строка, но он разруливает преобразование тут.
>>3292111 >немного времени на софты Но есть нюанс, что софты зависят а некой степени от внешки, харизмочки, от врождённого характера и врождённого ай си кью. За немного времени нереал пофиксить стартовые характеристики наролленые в генетической лотерее.
>>3292379 Ты полагаешься на неявное преобразование типов, которое может без предупреждения меняться от версии к версии интерпретатора. Советую зафиксировать типы везде, где это возможно и ограничить жонглирование типами через declare strict_types. Так у тебя с меньшей вероятностью что-то сломается, будет проще дебажить и не нужно будет держать в голове, что как и каким образом к чему приводится.
В твоём случае правильно было бы (1) делать проверку строки на empty и в зависимости от результата возвращать либо null либо (2) делать следующую проверку на int через фильтры и либо возвращать int либо выбросить исключение с ошибкой валидации. https://www.php.net/manual/en/function.filter-var.php
Фреймворки делают то же самое, но прячут логику под капотом, позволяя тебе просто выбрать нужные для конкретного параметра правила валидации.
>>3292383 Избавляйся от иллюзии, что ты живёшь в рпг с фиксированными параметрами. На самом деле не существует никакой таблицы статов и проверки от них не кидаются. Но конечно чмоня, неспособный компенсировать недостатки хотя бы упорством, не сможет конкурировать с другими людьми. Его даже жалеть неинтересно.
>>3292409 >declare strict_types Вот отсюда и пошли все беды. Раньше вот хорошо было, создал класс со свойством public $google и все. Потом приходят зумеры и про то как здорово иметь строгую типизацию и все. Начинаешь под капотом там в фреймфорк лезть, трейты писать, блокировать инпуты если они пустые, чтобы в пост или гет запрос не попали пустые строки. >делать проверку строки на empty Упустил что 0 все таки стоит записывать. 0 и не заполненный инпут это разные вещи иногда.
>>3292417 > Начинаешь под капотом там в фреймфорк лезть, трейты писать, блокировать инпуты Никогда не возникало таких проблем. > Упустил что 0 все таки стоит записывать Да, ты прав. Надёжнее использовать 0 === strlen(trim($input)).
>>3292417 >Раньше вот хорошо было, создал класс со свойством public $google и все. Потом приходят зумеры и про то как здорово иметь строгую типизацию и все. Еблуша, как раз зумеры в типизацию не умеют. А говорить, что строгая типизация хуже нестрогой может только совсем бездарный вкатыш с нулем опыта работы на нормальных проектах
>>3292417 >Вот отсюда и пошли все беды. Раньше вот хорошо было, создал класс со свойством public $google и все. Потом приходят зумеры и про то как здорово иметь строгую типизацию и все. Ебать дебил
>>3292568 Не. Запросы приходят в роут и спрашивают "чё-каво"? В роуте написано "пиздуйте в контроллер". Но когда залётные пасанчики пытаются зайти с ноги в контроллер, им мидлвара (смотрящий) говорит "не-не-не, вы кто ваще и чо такие дерзкие?". Запрос представляется по форме смотрящему и либо идёт нахуй, либо его заворачивают в закуток к остальным реквестам, где проходит уже шмон-валидация. Всё достают из карманов и предъявляют "чо у тебя тире короткое?". Если запрос чотко понимает, куда попал, и какой положняк на хате, то проблем с содержимым не будет. И вот тогда-то его и пустят в хату (контроллер). В принципе, при шмоне можно что-то дополнительно напихать запросу в панамку, либо изъять ненужное. В любом случае, в контроллер он попадёт уже чистеньким, без всякого сифилиса.
>>3292568 Ну у нас в ларочке форм-реквесты есть, в которых можно играться с данными, валидировать, преобразовывать, перед передачей в контроллер и далее.
>>3292348 >>3292379 С какой стати пустая строка вдруг должна стать null? В php строки используются не только для изъятия значений из полей. Пустые строки, как и не пустые, должны корректно сшиваться друг с другом безо всяких дополнительных движений. К примеру, для генерации текста наподобие $a$b$c, где $b это color="green" в теге font, и т. п.
>>3292419 >> Упустил что 0 все таки стоит записывать >Да, ты прав. Надёжнее использовать 0 === strlen(trim($input)). Зачем strlen звать? (trim($input) === "") быстрее. На пустых строках до 10%. А на длинных почему-то одинаково считает. Не очень понимаю. По логике вроде на первом символе уже должен дать false. Хотя если strlen - это макрос над всегда известеным где-то рядом со строкой значением в памяти, то должно, наоборот, быстрее считаться сравнение с нулём...
Приходится спрашивать у нейросети как вывести инофрмацию о файле из GET, потому что в документации и гугле этого нет. Чатжпт кстати начал писать какую-то ебанину. У меня всё
Пыха гарантирует вкат проще только за счет того, что йододефицитное зумерье начиталось статей от псевдопрограммистов про то, что пыха говно. Соответственно, желающих на место меньше, чем на обоссаном петухоне, или какой-нибудь джаве. К счастью, вкатыши не повалят массово на пыху, ведь она умирает, на ней не пишут новые проекты, все переписано на го и прочая шиза от псевдопрограммистов.
Как стриминговые сайты, на которых люди смотрят аниме, сериалы, фильмы передают на клиент видео? Из того что сам знаю: hls и dash, но не понимаю генерируют ли они их «налету» или заранее режут на чанки и по CDN рассылают? Как это работает вообще? Просто как я это вижу, для своего сата, например: заходит чел на сериал, выбирает серию, я на сервере в этот момент через запуск ffmpeg начинаю нарезать кусочки и отправляю на клиент плейлист с таймингами и ссылками на куски(m3u8, например) Но это же достаточно долго(5-6 секунд ждать челу пока там все приготовится для вещания такое себе), поэтому и задаюсь вопросом, может популярные чата заранее нарезают видос и потом просто их как статику уже отдают?
Как же меня заебал этот докер. Нашел репозиторий с Dockerfile, docker-compose файлами. Скопировал файловую структуру, названия папок, нажал docker-compose up и...ошибки, ошибки, ошибки...Гуглишь ошибки, ничего не помогает. как я заебался почему с этой хуйней столько проблем...8 часов въебал сегодня на эту шляпу и профита 0, ничего толком не развернул. ну что что мне блять делать чтобы это говно работало, почему все так сложно блять
Какие минимальные требования к серверу, на котором будет сайт с Docker, Redis, RabbitMQ, ElasticSearch (может и ещё что-нибудь засуну туда)? Нагрузка на сервер минимальна. Хочу личный сервер поднять, чтобы поковыряться во всех модных свистелках и перделках, а то на работе только говно вилкой чищу в легаси десятилетней давности. Нужно покупать VDS, и немного жаба душит. Минимально там 1 гиг операативки, в среднем за 4 бакса в месяц. Или 2Гб за 6 баксов. Или ещё больше и дороже. Вот какой размер будет минимально достаточен, чтобы просто пощупать всё это руками?
Ну че вы, все изучаете, есть вкатившиеся? Пытался освоить это лет 5 назад, нихуя не понял, ушел в куа, за месяц нашел работу и уже пятый год довольно урчу.
>>3296361 Так я готов. Но скока вешать в граммах?! Вот куплю я два гига, а потом окажется, что Эластик меньше чем на 10 даже не запустится. Вот и спрашиваю.
>>3296468 На впс же всегда можно без проблем накинуть мощей нажатием одной кнопки. 10 тебе, наверное, не понадобиться, а 2 таки будет мало. Все же уже обсосано в интернете. Так и вбей - сколько гигов надо ебластику.
>>3298294 на хх так, может конечно не 80, но больше половины точно. Пыха вакухи это в основном в аутсорс студии с битриксом, а в "нативном" битриксе фуллSuck это норма. Пхп вака на чистый бек это уже более серьезные кабаны, а их конечно меньше, вот вы ходит что фуллsuck в основном.
Тоже сижу в пхп-болотце и ни разу не трогал фронт Там, где ищут со знанием фронта - очевидно, ооо васянка, куда не стоит идти даже если бы там была чистая пыха в требованиях. Вакансий с голым пхп полным-полно, хуй знает че вы тут устроили
>>3298532 пиздаболы ебаные везде есть требования фронта на пыхе умеренные хумеренные но есть верстала ваш посрать отойдет с запором ты будешь за ним говно чистить
пиздаболы ебаные везде есть требования фронта на пыхе умеренные хумеренные но есть верстала ваш посрать отойдет с запором ты будешь за ним говно чистить
Если уже есть опыт на другом стеке, то Пыха учится за один день. Ларавель за один хороший пет проект. Фронт для работы на ларе не нужен. В нормальных конторах всегда есть разделение на фронт и апишку. Если в вакухе написано что нужно знать фронт - значит перед вами вакуха нищей черве-пидорской галеры и она вам не нужна, если вы не червь-пидор, конечно.
>>3298937 Ларавель предпочитает конвенцию конфигурации, поэтому в коде получается порядочно магии. К тему же местная ORM намертво связывает бизнес-модель и базу данных и, чтобы эти слои разделить, придётся вручную мапить eloquent-записи в классы модели.
>>3299123 >Да фасады ебучие Лол, меня недавно один крендель собеседовал, тоже про фасады втирал. Вообще не понимаю, что вы до них докопались? Ну фасады. Ну скрывают реализацию всей хуйни под капотом. Блин, это фреймворк, он для этого и создан. Что не так-то?
>>3299324 Пример: юзер загружает фото. Берём файл, делаем ресайз, сохраняем на диск, пишем в базу путь до него. Допустим, есть ограничение на размер файла. В ларавеле реквест не пройдёт дальше валидатора. А там, получается, произойдёт загрузка, ресайз и сохранение в сторедж, а потом база "да не, чот ты здоровый больно, давай ошибку юзеру вернём"?
>>3299318 >>3299326 Давай другой пример. Все как ты и описал, юзер загружает фото, только лимит не на это фото, а на общий объем загруженных файлов.
То есть правила не статические, а определяются СОСТОЯНИЕМ СИСТЕМЫ. Это состояние нужно в каком-то виде откуда-то получить, проверить на соответствие правилам, а потом изменить. Это и есть буквально работа с моделью. Это то зачем модель вообще существует.
Правила типа: длина строки, только цифры/буквы/залупы, мыло/телефон простые. Их можно легко продублировать, даже в js запихнуть. А начнешь дублировать работу с состоянием - потеряшь консистентность. Понадобится работу с лимитами по файлам поменять - будешь скакать как козел по всему проекту, да еще обязательно где-то правила поменять забудешь.
>>3299422 Воспринимай работу как изменчивый рынок с клиентами, а не как блядь воспринимает папика, к которому хочет присосаться. Понимай что ты можешь продать, а что не можешь. Будет легче жить.
Как вы справляетесь с тем, что пхп однопоточный и нет никакой асинхронщины? У нас в жсе промисы есть. В ноде есть воркеры и кластеры. А вы что, с заблокированным потоком сидите?
>>3300125 Процессы используются через разные варианты : запуск через крон, очереди в ларке. Инженер не ждет когда ему лазерную сварку подгонят, а берет синюю изоленту и..
Налету генерировать будет очень дорого, поэтому все режется и конвертируется заранее, думаю что консольными утилитами вроде ffmpeg (у нее впечатляющий набор возможностей).
> Но это же достаточно долго(5-6 секунд ждать челу пока там все приготовится для вещания такое себе), поэтому и задаюсь вопросом, может популярные чата заранее нарезают видос и потом просто их как статику уже отдают?
Какая у тебя цель? Развернуть этот репозиторий или изучить Докер? Если изучить, то лучше начинать с простых примеров: к примеру, установи Докер-образ с PHP и пробрось директорию с кодом внутрь него.
Напомню, что перед изучением Докера надо изучить основы работы в Линусе и основы администрирования.
Ну и можешь еще конечно описать, что ты делал и какая вышла ошибка, может так будет быстрее разобраться.
Ошибка 502 (bad gateway) означает, что nginx пытался переслать запрос на бекенд, но он либо неверно указан, либо не работает. Тебе надо почитать документацию nginx (благо она на русском есть) и проверить каждую строчку в конфиге.
Elastic обычно много ест, минимум 1 Гб если данных мало. И на дохлом VPS он будет где-то минуту стартовать только. Попробуй в его конфиге по максимуму все отключить тогда.
А Докер может использовать много места на диске (гигабайты) под образы.
При выборе VPS обращай внимание на систему виртуализации, так как они по-разному считают память: 1 Гб на OpenVZ может быть эквивалентен 512 Mb на KVM. Не знаю как сейчас, а раньше в дешевых VPS как раз OpenVZ и использовалась.
Не валидацию реквеста, а валидацию модели. Причем делается это с помощью аннотаций по типу:
class User { #[Assert\NotBlank] private string $email; ...
Выгода в том, что ты всегда модешь валидировать модель, независимо от того, откуда ты ее взял: из базы, создал руками, создал через форму итд. Это как раз правильный и удобный подход.
А как ты валидируешь модель из базы, если у тебя правила повешены на форму?
При этом, ты также можешь делать дополнительную валидацию на уровне формы или добавить правила валидации в DTO, так как их можно повесить вообще на любой класс, не обязательно модель базы данных.
Это как раз правильная и грамотная архитектура, выбранная в Симфони.
Все зависит от того, как ты выстроишь архитектуру. Ты можешь повесить валидатор и на форму, или сделать свой виджет для загрузки файлов, который их будет обрабатывать по твоим правилам.
В Симфони правила валидации можно добавить вообще к любому классу, и это правильно.
Давай разберемся. DLL это "библиотека", то есть файл с набором функций, которую можно подключить в приложение. Но у библиотеки в свою очередь может быть зависимость от других DLL-библиотек (и функций в них), которые нужны ей для работы.
Ты можешь увидеть это, используя утилиты вроде Dependency Walker, или может сейчас есть что-то поновее.
Раширение php_pdo_sqlite позволяет вызывать из PHP функции библиотеки sqlite, и тебе надо и расширение, и эту библиотеку.
Судя по ошибкам в консоли, не удается найти библиотеку с именем sqlite3 или php_sqlite3.dll. При этом, если скачать sqlite с официального сайта ( https://sqlite.org/2024/sqlite-dll-win-x64-3460100.zip ) то там в архиве лежит sqlite3.dll.
> This extension requires the following files to be in the PATH: libsqlite3.dll.
Налицо несоответствие имен в документации, в расширении и библиотеке. И не очень понятно, кстати, что за файл положил ты, так как у тебя отключен показ расширений в проводнике и возможно ты вообще sqlite3.exe положил вместо sqlite3.dll.
Попробуй скачать по моей ссылке библиотеку и переименовать ее в php_sqlite3.dll и положить туда. И проверь, что ОС, PHP и библиотека одинаковой битности (я думаю, у тебя 64-битная ОС, но вдруг).
По хорошему, это надо зарепортить, чтобы они поправили названия библиотек. К сожалению, Windows тут как гражданин 2-го сорта и в последнюю очередь получает внимание.
Также, настрой уже кодировку в терминале:
Попробуй вводить команды chcp 1251, chcp 866, chcp 65001 и посмотри, исправится ли проблема.
А где у тебя контейнер с php-fpm? Ты только nginx же описал тут. И, конечно, было б хорошо объяснения добавлять, а то образовательная ценность стремится к нулю.
Только не надо меня слать хуями, я философ! Внутри тела функции можно объявить локальные переменные. Зачем? Затем, что они нужны только на момент выполнения функции. А что если объекты это и есть функции? Что такое объект с точки зрения наиболее часто даваемого определения? Это совокупность состояния и функций, которые работают с этим состоянием. А что такое локальные переменные внутри функции? Разве не состояние и операции, которые работают с этим состоянием? Отсюда следует, что определяя атрибуты объекта, нужно давать ему такие атрибуты, которые нужны на момент выполнения его методов, а остальные вынести как параметры этих методов. Меня эта тема до сих пор волнует, а именно: как понять какие атрибуты должны быть у объекта? И не заливайте мне о том, что нужно моделировать аналогичный объект из реального мира, ведь в любом случае приходится отбрасывать часть атрибутов из-за того, что они оказываются ненужными для выполнения задачи. Получаются, что нужно отталкиваться не от того, как представлен объект в реальном мире, а от того, какие задачи он решает, какое состояние ему для этого нужно и как я выше написал, нужно делать его атрибутами только те атрибуты, которые нужны на момент выполнения задачи. Что думаете, аноны?
>>3300392 > Зачем? Для читаемости и удобства. Записывание промежуточных результатов выполнения процедуры в переменные с понятными именами - более очевидное и поддерживаемое решение, чем цепочка вложенных вызовов.
Кроме того, из-за того, что php - императивный язык, вложенные вызовы не всегда актуальны. Между вызовами step3() и step4() может быть промежуточный вызов, не возвращающий результата, но оставляющий побочные эффекты, необходимые для корректной работы step4(). В таком случае придется записать результат step3() в переменную и затем передать ее в step4().
>>3300392 >Получаются, что нужно отталкиваться не от того, как представлен объект в реальном мире, а от того, какие задачи он решает, какое состояние ему для этого нужно и как я выше написал, нужно делать его атрибутами только те атрибуты, которые нужны на момент выполнения задачи. Охуеть! Он познал АБСТРАКЦИЮ!
>>3300283 Так это немного не про то. Тяжелыми вычислениями при желании можно что угодно раком поставить Асинхронщина. В JS есть такая штука, называется Event Loop. И вот она позволяет, например, сделать запрос на сервер и как-бы подписаться на ответ. А пока ответа нет выполнять другие команды. А после того, как ответ придет - выполнить ту часть кода, для которой требовались эти данные. И, я так понимаю, пхп из коробки такое делать не умеет?
>>3300907 >Ты путаешь FastCGI и CGI Ну ок, высрал@умер с пулом заранее заготовленных говнопроцессов, и вся эта хуйня по-прежнему сосёт по производительности у современных технологий примерно в 3 раза. Это всё ещё не сервис, это пачка скриптов, понимаешь, челик? Так делали пердиксы в нулевые. У тя небось ещё и I/O синхронный в твоих говноскриптах, да, скуфандрий?
>>3300921 Но есть и плюсы: в некоторых случаях ты не работаешь на большую корпоративную кассу, а забираешь деньги с этого херово сделанного сайтика себе.
Тебе надо изучить, что такое FatCGI, потому что по моему, ты ничего не понял. FastCGI процесс не завершается после обработки запроса и может обработать много запросов подряд.
В PHP (в отличие от устаревшего Си) длина строки в байтах записана отдельно, и никто по символу ее не считает. А вот если ты вызовешь mb_strlen, то будет подсчет.
Хочу сделать сайт на пыхе. Сам не разработчик сайтов, больше по системному программированию (c, asm), но вот появилось желание сделать сайт. Сайт будет достаточно масштабным для меня: регистрация, комментарии, что-то вроде небольшого форума и тд. Стоит ли в рамках обучения это делать на чистом пхп или выбрать Фреймворк по типу симфони? Из плюсов выбора фреймворка это роуты готовые, всякие классы форм, как я бегло посмотрел, безопасность в плане шаблонизатора от всяких xss и тд. Но из минусов это всякие orm(хочу на обычных запросах делать), миллион конфигурационных файлов yaml Как быть? Можно ли в симфони использовать только действительно нужный мне функционал, как например формы, роуты, шаблон твиг, а остальное уже на своё усмотрение?
>>3302129 Но ведь если с нуля писать, то там говнокод по идее и будет, с нуля реализовывать mvc, не имея огромного опыта в этом может быть провальной идеей, или стоит попробовать? По идее мне не так важно, чтобы внутри была конфетка, на которую отрадно смотреть, самое главное с безопасностью сайта не наговнять, это одно из моих главных соображений при разработке. Есть какие-нибудь статьи/ресурсы специально под мой кейс?
>>3302117 >Хочу сделать сайт на пыхе Это не задача, это фантазия.
Что тебе конкретно надо? Тебе нужен форум ДЛЯ ДЕЛА, чтобы на этом форуме завтра общались конкретные люди, котрые сидят и ждут этот функционал? Тогда бери готовое решение https://flarum.org/ и ставь его.
>>3302117 > Можно ли в симфони использовать только действительно нужный мне функционал, как например формы, роуты, шаблон твиг, а остальное уже на своё усмотрение? Конечно. Любой фреймворк предлагает только платформу, а то, что на ней будет реализовано - решаешь уже ты сам.
Например, вместо использования orm ты мог бы создать рядом с классом сущности класс-репозиторий, в котором уже делал бы sql запросы в базу данных через pdo.
Т.е. организовать структуру вроде следующей: Model | Comment | | Comment.php | | CommentRepositoryInterface.php Infrastructure | Persistence | | PdoCommentRepository.php
Ещё можешь посмотреть в сторону микрофреймворков вроде Slim.
>>3302274 Разве репозиторий может обращаться к бд? Это же просто хранение сущностей, по идее надо уже другой класс делать для самого обращения к бд? мимо
Для него репозиторий - это просто коллекция объектов, к которой он может обращаться и не задумываться о том, как объекты хранятся на самом деле.
А непосредственной логикой хранения занимаются реализации интерфейса, которых можно придумать безграничное количество: PdoCommentRepository, OrmCommentRepository, CacheCommentRepository, MemoryCommentRepository, FileCommentRepository, ...
>>3302541 Спасибо. Есть книги какие-нибудь где про это почитать можно и как потом применять это все на практике? То есть понимать, когда следует использовать определённый паттерн, а когда и без него обойтись можно?
>>3302601 Репазиторий это дата шлюз. Остается проблемка 1) DataMapper - бизнес логика должна вызывать метод persist на EntityManager и соответственно получает зависимость от EntityManager, что не очень гуд с точки зрения чистой архитектуры. 2) ActiveRecord - бизнес логика должна вызывать save на объектах, которые возвращаются из репозитория. Соответственно ломается независиость бизнес логики от ORM. Это нарушение закона Деметры.
>>3302601 Строго говоря, это не коллекция, а хранилище слепков объектов. Скрой от клиента явное сохранение слепка и сможешь переименовать в add(), умник.
>>3302599 Читать можешь у всяких фаулеров, вон вернонов и т.д. Понимать научишься только через практику.
>>3302639 >репозиторий - это просто коллекция >Репазиторий это дата шлюз >Строго говоря, это не коллекция >Репозиторий ничего не хранит Сколько шизов - столько и мнений.
А зачем Фаулер говорит про in-memory collection я хз. На практике я такого не видел, определение Фаулера вводит в заблуждение
https://martinfowler.com/eaaCatalog/repository.html >A Repository mediates between the domain and data mapping layers, acting like an in-memory domain object collection. И то он написал acting like а не is
Ну в общем по последним постам было установлено, что никто и никогда точно не разбирается во всех этих паттернах проектирования, что как бы и наводит на мысль о бесполезности всего этого, поскольку вводит только в заблуждение
>>3302673 >А зачем Фаулер говорит про in-memory collection я хз. Затем что это писалось для нормальных языков, а не для однопоточных одноразовых пхп ебланов?
>>3302674 Нет это не совсем так. Ждун напишет. скл портянку в контроллере, а лид как закричит - Долбаеб, тонкие контроллеры! Джун испугается и вынесет весь код в сервис. Тимлид увидит это и опять закричит - Долбаеб, вынеси запросы в репозиторий!
>>3302698 Покажи другой пример. Репозиторй это кеш по-твоему, чтобы он был одновременно коллекцией in-memory и посредником? Я понимаю он хотел сказать что репозиторй содержит методы типичные для коллекций. Но это не суть паттерна репозиторий, суть в том что это обертка-посредник.
>>3302705 >он хотел сказать Ты недавно из шкилы? Марьванна влечивает "что этим хотел сказать пушкин", а он просто был закомплексованным карликом с темной кожей и кривым ебалом и в тот день набухался сильнее обычного.
Додик, там помимо сейва еще дохуя интересного: транзакции, блокировки при чтении и прочая реляционная поебень. Как ты все это впихивать в свой репозиторий будешь?
Я уж не говорю что репозиторий может сохранять данные сразу в несколько мест, в базу и в тот самый кеш, а еще в эластик, а еще в очередь события отправлять. Если ты не кукаретик, а реальный код пишешь, то сразу приходит понимание что репозиторий всего этого делать не может и не должен.
Поэтому он блядь и остается просто ин мемори коллекцией, которую анализируют другие сервисы и построив по этой коллекции список изменений сохраняют данные туда куда надо и как надо.
Ребята примите в php семью Я устал быть никем и бояться вката Увидел в шапке книжку с аниме картинками и я смотрю аниме так что мне сюда Я больше не боюсь не вкатиться я боюсь ничего не делать ещё 5 лет подряд
>>3303062 >Тут сидит только агрессивное быдло >>3303051 >я смотрю аниме >я боюсь ничего не делать ещё 5 лет подряд Ну так отлично вписывается. Поскроллит пару лет тред вместо вката и тоже начнет рассказвать как надо репозитории строить, при этом ни строчки кода так и не написав.
>>3303062 Это просто не правда, зачем ты врешь мне, анон? Когда я заходил сюда 5 лет назад с вопросом о тупейшей задаче мне очень вежливо ответили и указали на недостатки
>>3303128 Пинал хуи и плакал, больше причин не бывает. Может быть ещё он просто ДУМАЛ вкатить но не вкатывался, но это проходит за выше обозначенные причины.
Я никак не могу создать синоним/алиас к namespace? У меня есть куча функций, к которым я хочу открыть доступ из нескольких пространств (со стороны пользователя, само собой): ns1\funcA(); ns2\funcA(); ns3\funcA(); funcA() везде одна и та же. И таких функций, как она, много.
>>3303117 В том и разница, что сюда сто лет никто не приходит с задачами. Никто код не пишет. Просто пытаются превратить тред в филиал "перезвоним" шизочата.
>>3303216 К сожалению, не подходит. Мне нужно, чтобы работало следующим образом: Foo1\Bar1\Namespace1\funcA(); Foo1\Bar1\ns1\funcA(); Это вложенное пр-во. Очень жаль, что нет такой возможности в языке.
>>3303117 Если бы ты сидел в этом треде каждый день, как и я, то ты бы со мной согласился. Я сижу в этом треде уже год и только наблюдаю мертвый тред и агрессивное быдло. Единственный человек, который нормально отвечает, это ОП, но он бывает тут редко, возможно, и тогда ответил тебе именно он.
>>3303242 Приходишь с задачей, вопросом, кодом. Ожидание: конструктивный добрый ответ. Реальность: - игнор; - агрессивный ответ. Либо ответят троллингом, либо плохим советом, либо с наездом "ты хули задаешь вопрос по теме, которую не знаешь?", либо вообще не по теме, либо прямо не отвечают на вопрос.
>>3303227 Я восимь лет назад вкатился. Пять лет назад тоже было просто прийти в студию и сказать что хочешь делать сайты. Ну задали бы тебе пару вопросов про ООП и CSS, для ответа на которых хватило неделю чтения смехуечков на программаче.
Нормальному программисту достаточно иметь развитое алгоритмическое мышление, все остальное учится за неделю непосредственно на работе. Лучше задачи решайте на алгоритмы
>>3303533 >Лучше задачи решайте на алгоритмы Тебе платят деньги за решение бизнес-задач, а не тупые алгоритмы которые нужны только чтобы пройти собес в Яндекс, сбер и другие параши
>>3303584 А пыха умрет вместе с вебом или как-то отдельно сама по себе? Если сама по себе, то в вебе, если уж на то пошло, гораздо полезнее паттерны знать.
Если ты хочешь именно разобраться, то возможно, стоит попробовать начать без фреймворка (чтобы понять, как все работает), а потом перейти на фреймворк (чтобы не изобретать велосипеды). Советую Симфони. Понадобится знание ООП, MVC, паттернов.
> Как быть? Можно ли в симфони использовать только действительно нужный мне функционал, как например формы, роуты, шаблон твиг, а остальное уже на своё усмотрение?
Давайте обратимся к Фаулеру. Изучая различные проекты, он начал видеть похожие решения проблем, и решил описать их как "паттерны" в своей книге. Паттерны могут быть удобны тем, что 2 разработчика могут легко с их помощью обсуждать архитектуру, но почему-то в нашем треде это не работает.
Domain Model (модель предметной области, "доменная" модель) - это набор классов, которые описывают предметную область. Например, для доски объявлений это будут классы Пользователь, Категория, Объявление.
Data Mapping Layer (слой отображения данных (на таблицы)) - это код, который занимается сохранением и загрузкой в/из БД объектов предметной области.
Collection, "Коллекция" - это класс, который имеет методы вроде "добавить объект", "убрать объект", "найти объекты по условию".
В принципе, этих 2 слоев (Domain Model и Data Mapping Layer) достаточно, но иногда можно сделать "репозиторий" перед Data Mapping Layer, и работать с репозиторием вместо Data Mapping Layer. Для кода репозиторий выглядит как "коллекция", то есть мы можем добавлять в него объекты, удалять, искать по условиям.
Например, когда пользователь добавляет Объявление, мы создаем такой объект и вызваем у репозитория метод "добавить объявление". А при просмотре Категории мы вызываем метод репозитория "найти объявления из данной категории с сортировкой по дате".
При этом, может быть несколько реализаций (вариантов) репозитория: одна реализация использует БД в качестве бекенда и сохраняет объекты туда. А другая - для тестов - просто хранит объекты в памяти в массиве. Код не знает, что использует репозиторий в качестве бекенда, ему это не важно.
Или же (как на картинке в статье), может быть один вариант репозитория, но разные "стратегии сохранения данных": одна Стратегия сохраняет в базу, другая в массив.
В качестве плюса Фаулер указывает то, что можно собрать в репозиторий различные запросы (запрос для поиска последних объявлений, запрос для поиска объявлений пользователя), которые иначе были бы раскиданы по всему коду. И то, что можно заменять используемое хранилище (вместо таблицы использовать массив при тестировании).
> Objects can be added to and removed from the Repository, as they can from a simple collection of objects, and the mapping code encapsulated by the Repository will carry out the appropriate operations behind the scenes.
Объекты (модели предметной области) можно добавлять и удалять из Репозитория, как будто это просто коллекция (массив) с объектами, и код для отображения внутри Репозитория выполнит нужные операции сам.
> Conceptually, a Repository encapsulates the set of objects persisted in a data store and the operations performed over them, providing a more object-oriented view of the persistence layer.
Репозиторий представляет набор объектов, сохраненных в хранилище и набор операций, которые над ними можно выполнять, давая более объектно-ориентированный интерфейс к слою сохранения данных.
> то репозиторий нечего не хранит in memory, это классический шлюз для изоляции бизнес логики от ORM
Репозиторий может использовать разные способы сохранения данных: в БД, в памяти и тд. и менять их, не затрагивая основной код.
Это посредник, который делает взаимодействие с хранилищем более конкретным, "объектно-ориентированным", как выражается Фаулер.
Без репозитория, у тебя будут общие методы вроде "найти записи в таблице по критерию", "вставить запись", "обновить запись", "удалить записи по критерию".
С Репозиторием у тебя будут более конкретные методы: "добавить объявление", "скрыть объявление", "поднять объявление", "удалить устаревшие объявления", "найти новые объявления", "найти объявления пользователя".
Нет, он не является коллекцией, а выглядит для вызывающего кода как коллекция.
> Додик, там помимо сейва еще дохуя интересного: транзакции, блокировки при чтении и прочая реляционная поебень. Как ты все это впихивать в свой репозиторий будешь?
Интересный вопрос, в Доктрине транзакции делаются уровнем выше репозиториев. А блокировки при чтении, наверно можно и в репозиторий засунуть. Отправка в несколько мест может делаться как через Репозиторий (в Доктрине есть события), так и выше него.
> Поэтому он блядь и остается просто ин мемори коллекцией, которую анализируют другие сервисы и построив по этой коллекции список изменений сохраняют данные туда куда надо и как надо.
Москва, разработчик PHP - 1071 вакансия Go - 855 (+ есть еще 655 golang, но я не знаю какая часть пересекается с Go) Typescript - 956 Python - 2679 JS - 2297 Java - 1945 C++ - 1237 C# (.NET) - 872 C - 3073 (но там в поиске много мусора, например "B2C" подпадает под этот запрос) Rust - 71 Элита этой доски, Haskell - 3 ☺️
Тайпскрипт мне не нравится тем, что у него в основе лежит JS со всем его дремучим легаси. Назови аналог Доктрины, Симфони на тайпскрипте? Или Тайпскрипт только для чатиков на 500 строчек годится?
Go мне не нравится странными идеями его автора. Назови аналог Доктрины, Симфони на Go? Или Go только для чатиков на 500 строчек годится?
Мне нравятся: Питон (где не нужна скорость), Rust (где нужна), Vue (для прототипов UI, где надо сделать побыстрее, не для серьезных задач).
Ну вот кто тут пиздит суканах что жс не требуют? В 9 из 10 вакансий он есть вот просто сука как железное требование сидит ты обязан знать или иди нахуй
>>3303900 Длинные-короткие варианты, во-первых. Одни читаемы, другие компактны. yet_another_compiler и yac. Во-вторых, что-то пишется по-разному, а означает одно и то же. ffmpeg и avconv. Есть же class_alias, почему бы не быть namespace_alias.
Потому что из глобали должна присутствовать возможность использовать любой удобный вариант: linux\ffmpeg\exec() linux\avconv\exec() Однако такой возможности нет. Есть только некий алиас внутри любого пр-ва. Но я даже не могу прописать глобальное use linux\ffmpeg as linux\avconv. Хотя вроде бы было бы логично.
>>3303898 >Ехала доктрина через доктрину Орм протекла тебе в труханы. Изолировали изолировали да не выизолировали.
>Я не вижу Кушай морковку.
>сохранения данных А этого на схеме нет, мистер пиздобол с выборочным зрением. Потому что увеличит эту схему в несколько раз.
Короче. Проектировать репозитории нужно без орм, доктрин-хуин и sql дерьма. Потому что эта залупа разрастается как раковая опухоль и начинает диктовать свои условия и влиять на проектируемые решения.
Еще и оторвать это говно от проекта будет невозможно. Банально выходит третья доктрина, а додики уже настолько зависимы от особенностей второй версии что им для перехода на новую нужны тысячи человекочасов.
>>3303908 >лежит JS со всем его дремучим легаси Каким нахуй легаси? Жс макаки уже сто лет как пишут на подмножествах языка типа ECMAScript и тайпскрипта и никакого "легаси" в глаза не видели.
>Назови аналог Доктрины, Симфони на тайпскрипте? Ну вот https://typeorm.io/ , дело тут исключительно в популярности. Как только на жабоскрипте взлетит аналог ларавеля - пхп тут же пизда. Даже кривая уебищная нода отъела часть рынка. А как только появится что-то нормальное, пхп макаки тупо станут не нужны, так и будут легаси десятилетней давности поддерживать.
>Назови аналог Доктрины, Симфони на Go? Напиши в го треде этот вопрос, развлеки пацанов.
Вся эта орм-спринг залупа заебала всех в край еще лет десять назад. Все уже давно отсмеялись над абстрактными фабриками фабрик, бесконечными аннотациями и прочим говном. И только пхп уверенно колеса катит туда где была джава десять лет назад. И похуй что от джавы всех давно тошнит и все это считается устаревшим многословным калом. Мы блядь едем. Сделаем так же но хуже, с опозданием на десять лет. И не в коем случае не сдохнем. План надежный, стоит вкатываться.
>>3303977 Но ты и правда долбоеб. Фронт просят почти в 2/3 вакансий, что даже и близко не 9/10. Но даже отсеивая вакансии с фронтом, мы получаем больше 1к вакансий - откликайся, не хочу. Но поплакать на двачике важнее, чем немного применить мозги
>>3304012 > как только появится что-то нормальное, пхп макаки тупо станут не нужны Джава не похоронила пыху, шарп не похоронил пыху, петухон не похоронил пыху, даже говноланг не похоронил, а лишь дополнил, но вот джс обязательно похоронит, вот-вот, надо лишь немного потерпеть!
>>3304039 Бля, ну вот хуй знает. Ну как с долбоебами разговаривать? Кто там писал про агрессию? А как нахуй без агрессии с вот такими поленьями разговаривать?
Как это в твоем тупорылом понимании работать должно? Джава или шарп своими действиями ЗАПРЕЩАЮТ писть код на пхп? Или как блядь? Пхп сервера отключаются потому что вышел новый язык?
Вот тебе факты. Прямо сейчас задачи которые делались на пхп растаскивают по разным языкам. 1. Отрисовку хтмл отжали фронтендеры полностью, все крупные сайты рендерятся на жабоскрипте сейчас. 2. Все тяжелые задачи, процессинги и числодробилки отжали го программисты. 3. Вся новомодная микросервисная хуйня строится сразу на го. 4. Очереди-хуечереди, события. Все это крайне хуево работате на пхп, потому что нужно держать открытый коннект, а пхп дохнет как сука и по памяти течет. Переносят на го.
Что остается? Остается то что делается с помощью фреймворков - круды, орм, бизнес логика.
Схуя-ли это тоже не уйдет жабоскрипт макакам? Они дешевле, их больше, проще нанимать, не надо держать две команды, у них прямо сейчас есть языки на котороых даже проще писать бизнес логику, с встроенной готовой многопоточностью, быстрые и эффективные.
Ответ: а он уйдет. Раньше были звоночки, а сейчас вам в КОЛОКОЛ НАХУЙ ЕБАШУТ. То что делало пхп долю рынка огромной - вордпресс перекатывают на жабоскрипт. И перекатят. И че останется? Дрочить копейки в столетнем легаси кале на битриксе? Если для тебя, тупорогого это и есть "не похороны", то хули тут сказать? Кайфуй, перспективно, свежо. На это стоит въебать жизнь.
>>3304060 Людей, которые прогнозируют какие-то вещи, не приводя пруфов, статистики, аргументированной аналитики, в моей молодости называли пиздоболами. Особо упрямым еще и ебало били в кровь.
>>3304083 Но разве становление вордпреса жс фёрст по мнению его основателя это не аргумент? Даже сам Расмус Лердорф говорил что вордпрес это база пыхи, а не эти ваши хреньворки.
>>3304060 Да уйдет и уйдет, ваще поебать. Направление работы остается тем же. Дохуя пхп макак и го тыкает периодически и с фронтом работает. В рамках одного направления хули бы не полистать доку и не перекатиться тихонько.
>>3304071 Пруфстер, а ты видел где-то обратное? Ты где видел какой-то рост пхп? Какбы факт падения даже не обсуждается. Весь спор идет только о том насколько быстро падает.
>Направление работы остается тем же И каким же, долбоебина? Копаться в битрикс кале? Заебись направление. Перспективное.
>>3304172 Популярность относительно чего? Симфони даже внутри пхп это мизерная доля. А ларавель через несколько лет вообще с исходным пхп нихуя общего иметь не будет.
>>3304456 А что интересно? Гайд из шапки двенадцатилетней давности? Или мнение долбоебов которые в треде пять лет сидят, но не то что работать, ни одной строчки кода не написали?
>>3304473 >А что интересно? >Гайд из шапки двенадцатилетней давности? Или мнение долбоебов которые в треде пять лет сидят, но не то что работать, ни одной строчки кода не написали? Неиронично это интересней очередного хуесоса пиздобольного с ютуба с кликбейтом для даунов типа тебя.
>>3304622 Такое кукарекать может только петушара, которая ни на кассе никогда не стояла, ни траншеи не копала, ни даже за пределы мкада не выезжала, скорее всего.
Строго говоря, любой высокоуровневый язык программирования "уже написан", и ты только абстракции переставляешь. Там уже ничего общего с реальным написанием кодов...
>>лежит JS со всем его дремучим легаси > Каким нахуй легаси? Жс макаки уже сто лет как пишут на подмножествах языка типа ECMAScript и тайпскрипта и никакого "легаси" в глаза не видели.
ECMAScript это и есть тонна дремучего легаси. Примеры:
- можно обратиться к несуществующему свойству объекта и не будет исключения - можно делить на ноль и не будет исключения - до сих пор есть глобальные переменные, достаточно забыть слово let
>>Назови аналог Доктрины, Симфони на тайпскрипте? > Ну вот https://typeorm.io/ ,
Нет UnitOfWork (методов вроде flush()), надо вручную каждую сущность сохранять. Иногда это неплохо, но иногда хочется больше автоматизации.
Интересно, кстати, что он так похож на Доктрину, что переучиться наверно можно за день. Такие же классы с аннотациями, как будто с PHP никуда и не уходил. У них еще и валидатор похож на тот, что в Симфони. Ну правда, все почти как в PHP.
Но вот PHP не надо компилировать при редактировании, а тайпскрипт надо. Да, там система типов получше, но в PHP через phpDoc тоже можно сложные типы городить.
> Вся эта орм-спринг залупа заебала всех в край еще лет десять назад.
Ты считаешь, что база данных больше не нужны и не актуальны? Или какую альтернативу ты предлагаешь для ORM? Руками SQL-запросы писать? Напиши конкретно.
Я об этом написал в своем посте, но может быть я плохо выразил мысль. На схеме у Фаулера изображен Репозиторий и у него есть (увеличено на твоей картинке) Стратегия сохранения данных, в данном примере это Стратегия сохранения в память. Но само название "Стратегия" подразумевает что она может быть заменена на другую Стратегию - например, Стратегию сохранения в БД, Стратегию сохранения в key-value хранилище и тд. Слово "strategy" в названии это отсылка к паттерну Стратегия. Там не написано "in-memory storage", а "in-memory strategy"
То есть, на диаграмме у Фаулера показана идея, что есть Репозиторий, с которым работает код, а в качестве бекенда к Репозиторию можно подключить одну из Стратегий, и таким образом выбрать, куда будут сохраняться данные. Логика сохранения данных специально вынесена из Репозитория в Стратегию, чтобы ее можно было менять. Но я бы назвал Стратегию (заменяемой) частью Репозитория.
Фаулер не имел в виду, что Репозиторий всегда хранит данные в памяти. Он имел в виду, что можно выбирать, где их хранить, с помощью смены Стратегии.
> Проектировать репозитории нужно без орм, доктрин-хуин и sql дерьма. Потому что эта залупа разрастается как раковая опухоль и начинает диктовать свои условия и влиять на проектируемые решения.
Так а куда данные сохранять? Ты от БД предлагаешь отказаться или предлагаешь какой-то альтернативный способ сохранять данные? Какой?
Ты все упрощаешь. Перевод сайта на SPA имеет и недостатки:
- медленная загрузка, покажи мне SPA, которое при холодной загрузке показывает контент, а не крутящийся круг - большая нагрузка на браузер из-за мегабайтов, как правило, не оптимизированного JS-кода
Поэтому, если можно сразу отдать с сервера контент и не требуется особой интерактивности, то я бы предпочел рендерить на сервере.
Но я сам использую Vue для написания простых бессерверных приложений для себя (интерактивные прототипы UI, простая программа для развития слуха). Vue и реактивное программирования мне нравятся для задач, где важно сделать как можно быстрее, когда без разницы производительность и скорость загрузки.
Что касается Го, я ловлю себя на мысли, что было бы интересно попробовать писать на нем нативные GUI-приложения с GTK вместо Си++, так как он более высокоуровневый и в нем есть сборка мусора. Если там есть еще какая-то реактивная или data binding библиотека, я определенно хотел бы попробовать написать, например, простую DAW или отладчик. Хотя Go не для этого делался, но все равно хочется попробовать.
> микросервисы
Отличный способ тратить деньги работодателя и время, не принося ничего взамен.
>>3304996 Залупа ты понурая. В том-то и дело что In memory стратегия превична. И остальные стратегии не должны протекать в репозиторий и менять его. В in memory стратегии нет save, значит и во всех остальных нет.
>Так а куда данные сохранять? Туда же куда и раньше. Просто делать это надо не в репозитории. Твоя же любимая доктрина именно так и работает. Ты просто меняешь свойства объектов. А уже потом, когда контроллер отработал вызывается flush в специальной мидлвари, и доктрина чекает все изменения объектов, которые лежат в identity map и выполняет нужные sql запросы.
И ты не учел, что перейти с PHP на другой язык, например, Питон или Го, относительно легко. Так что если завтра PHP закончится, я могу писать на Си, Раст, Питон, Го, JS, Тайпскрипт, и на других языках при наличии документации.
А почему такое падение в 2021? Оно больше напоминает какую-то техническую ошибку (отвалился один из источников данных или поменялся способ подсчета), чем массовый уход с PHP. Массовый уход выглядел бы скорее как наклонная прямая или экспонента, а не резкий скачок.
А то как-то странно, тут за 1 неделю половина разработчиков ушла с PHP.
>>3305009 >И ты не учел, что перейти с PHP на другой язык, например, Питон или Го, относительно легко Потому что...? Да хуй знает почему, просто высрал хуйню.
Все буквально наоборот. Пхп со всем остальным программированием пересекается минимально. Пхп макаки литературно не знают никакого CS и ни на каком другом языке писать не умеют, еще и на более низкоуровневом. 90% пхп макак даже ооп не осилили. Так и хуярят скриптовые портянки, а классы используют как папки для функций.
Доктрина в репозиториях ничего не хранит, обычно это просто набор методов findBySomething, которые делают запрос и возвращают список сущностей. Доктрина хранит все в Identity Map и UnitOfWork.
> А уже потом, когда контроллер отработал вызывается flush в специальной мидлвари,
В Доктрине нет middleware никакой. Ты, наверно, имел в виду middleware из какого-то фреймворка.
> и доктрина чекает все изменения объектов, которые лежат в identity map и выполняет нужные sql запросы.
Верно.
> В том-то и дело что In memory стратегия превична. И остальные стратегии не должны протекать в репозиторий и менять его.
Стратегия подразумевает возможность заменить ее на любую другую. Очевидно, что в примере in-memory используется для упрощения диаграммы, чтобы не рисовать, как данные идут дальше в ORM и в базу данных.
>>3305016 Ну конечно блядь, разумеется. Пхп макаки это титаны мысли. Именно таких свергениев-уберменшей и производит среда из битрикса, ларавеля и вордпресса.
>>3305015 >Стратегия подразумевает возможность заменить ее на любую другую. Ноу щит шерлок. Именно поэтому интерфейс, общий для ВСЕХ стратегий, определяется In memory стратегией, а не sql залупой.
>A Repository mediates between the domain and data mapping layers >Написано, что это слой между доменной моделью и слоем сохранения данных. Ебать ты чтец залупоглазый. "Data mapping" оказываетвся переводится как СОХРАНЕНИЕ. Вся суть. Двух слов прочитать не может, но на серьезном ебале пытается кого-то поучать, о чем-то спорить. Пустая трата времени - пытаться таким оленям что-то объяснить.
>>3305046 Сферы, хуеры. Давай побольше пизди. Чтобы в эти сферы устроиться тебе придется пройти собес, на котором тебе будут два часа водить хуем по губам, а твой охуительно полезный опыт писанины на пхп даже читать никто не будет. Да ты и сам его из резюме вырежешь, чтобы не позориться, когда поймешь что без него приглашают чаще.
Год назад вкатился в пхп, полет нормальный. Язык неплохой, местами очень удобный для своих задач, но по ощущениям - потолок здесь ниже, чем в го/джаве. Т.е. условный сеньор на джаве это 500к, а на пыхе - 300. Но мне и так нормально, не вижу особо смысла перекатываться в джаву и изучать тамошний зоопарк, а от ГОвна вообще тошнит.
>>3305145 Хуй с ним с потолком, но хули большинство работодателей в рф считает что пыхарю джуну не нужно платить больше 30-40к когда в других языках давно уже зп от 70к
>>3305145 >потолок здесь ниже, чем в го/джаве. Т.е. условный сеньор на джаве это 500к, а на пыхе - 300 Забыл добавить что чистый пыхарь столько не получает, либо фулстак либо пыхарь-гошник
>>3305279 О, шиз, который нонстоп тут хуячит "пыхеры больше 250 не получают", как дела? Ты тот же шиз, который про "пхп не нужен, все перепишут на джс и го" затирает частенько?
>>3304992 >ECMAScript это и есть тонна дремучего легаси. Люто двачаю весь js мир это тонны легаси с обратной совместимостью, там даже новые версии ничего не исправят
>>3305005 > Го, > GUI-приложения с GTK вместо Си++ Не лучший выбор, если хочется не ебаться с памятью, то возьми лучше Vala он с GC или Rust там при компиляции все делается. У go много синтаксических ограничений и делать окошки на нем будет больно
>>3305760 Это же найм на закрытие ноубрейн задач за знание вложенных циклов. Для кого-то шанс закатиться в айти. Кто по умнее, дальше перетечет в более продвинутую разработку.
>>3305012 >Потому что...? Да хуй знает почему, просто высрал хуйню. Потому что все высокоуровневые языки +- похожи и используют общие программисткие концепции?
>>3306093 Ну и какие у тебя концепции, дура? Структур данных нет. Модульности нет. Нормальной ситемы типов нет. Многопоточности нет. Мьютексов нет. Промисов нет. Даже авейта нет.
Ооп наиуебищнейшее. Дженериков нет. Перегрузки методов нет. Ковариантности при наследовании нет.
Какие у тебя нахуй общие концепции? Концепция переменной? Да ты с десятью годами знаний пхп завалишь собес на джуна на любой дргуой язык, даже на жабоскрипт.
>>3306129 >Как там дела в 2010 Бакс по 30. Я поступил в универ на прикладную информатику. Устроился на свою первую работу эникеем в мелкоконтору почти за 1к бачей. Сняли хату с корешем за 15к. Сидим пьем пивас с кальмарами и играем в god of war на третьей плойке. А у тебя как дела в 2024?
>>3306115 А ты с какой целью итт трясешься уже который день? Что ты пытаешься объяснить/доказать? Что пхп хуевый язык? Так мы в курсе Что пхп умирает? Так уже лет дохуя умирает, заебались слушать Что пхп никому не нужен? Вакансии говорят об обратном Что есть современные, пиздатые языки, лишенные минусов пыхи? Ну есть, и что? Ты забываешь, что программист - наемный рабочий, ему платит бизнес, а бизнесу безоблачно поебать на многопоточность, типы, промисы и прочую поеботу, бизнесу важна прибыль. Если ты даешь бизнесу рабочее решение в разумные сроки за разумные деньги - ты молодец. И само собой, далеко не каждому бизнесу надо держать 1000 rps, обрабатывать несколько задач в многопотоке, обложиться десятками микросервисов и постоянно масштабироваться. И есть огромное количество проектов, которые несколько пыхеров реализуют быстрее и дешевле, чем несколько джавистов/говноебов
>>3306164 >Бакс по 30. Я поступил в универ на прикладную информатику. Устроился на свою первую работу эникеем в мелкоконтору почти за 1к бачей. Сняли хату с корешем за 15к. Сидим пьем пивас с кальмарами и играем в god of war на третьей плойке. А до тряски в пхп треде ты как докатился?
>>3306182 >Как можно заниматься вебразработкой и не знать нтмл сиэсэс жиэс? Легенды гласят, что для гениальных гениев есть вакансии, в которых только бек...
>>3306166 >уже который день >который месяц Пофиксил. Не понимаю, раньше он успешно игнорировался. Внезапно всем скучно стало что ли на работе или в отпуск все вышли. Что вы с тредом сделали.
Как настроить nginx или php-fpm, чтобы запускаемый скрипт однократно обрабатывался, например через sed и т. п.? Приходится делать это вручную через баш, что кроме лишних действий не удобно ещё и тем, что требует дополнительных манипуляций с именами файлов, удваивая их количество в папке с проектом.
>>3306197 Но вы же нихуя не изучаете. Вы просто сидите в треде и нихуя н делаете. Оставляете себе оправдание, вот завтра начну исправлять свою жизнь, возможность все еще есть. И так годами.
Поэтому вас так корежит при любом упоминании что часики то тикают. Это же получается что ты не "без пяти минут программист-300к-наносек", а просто хуйлуша который выдумал себе манямир, а реально что-то сделать не может.
>>3306215 >rc.local Так это процесс разработки. Файлы редактируются, результат проверяется ежеминутно. И нужно при этом не тыркать каждый раз ./update_all.sh.
>>3306202 Я тут подумал. nginx вообще непричём, скорее всего. А php-fon может проверять, что файл был изменён, чтобы его перекэшировать и уже тогда пропустить через препроцессор.
Я когда ищу в гугле "php препроцессор", он не понимает меня, и пишет: "да да, php это препроцессор". А мне нужно препроцессор для php! )) Благо можно -hypertext написать. Там есть какой-то модуль, нештатный, но даже это выглядит как накладные расходы, т. к. не нужно это запускать каждый раз, а лишь единожды.
>>3306262 Я так понял тебе нужно один раз запускать php файл "через препроцессор php", как только н изменился. Можно например поставить ежеминутный крон на скрипт, который проверяет не изменился ли файл. и затем его запускает.
>>3306281 Конечно. Зарплата 15к, зато: Комфортный просторный офис в центре села Пупки-Залупки Печенье, чай и туалетная бумага в офисе Интересные и сложные задачи Добрый и приветливый коллектив
>>3306280 Вроде бы и да, но так себе. Из области решений за пределами web-tools. Во-1, иногда нужно сразу запустить, мгновенно. Исправил - запустил. Это секунда. Тогда уж можно на хоткей повесить... Это всё кривые решения. Опять-таки файлов куча остаётся в проекте валяться, темповых, названия которых не соотвествуют содержанию, потому что я редактирую одни, генерирую другие, притом nginx читает вторые; ещё и часть файлов без этой заморочки - 1 к 1. Туфта.
>>3306308 Вот видишь какой у нас хороший тредик, даже плюс на вакансии дает. А вообще, скрин выше из реальной вакансии, просто компания как-то связано с контентом для игроков доты и кс.
Можно в ответ было спросить, можно ли решить эту задачу на PHP.
И если честно, уже надоедает это натье про фронтенд. За то время, пока вы жалуетесь тут, можно основы HTML, CSS, JS, DOM, браузерные API выучить несколько раз.
>>3306813 Помню этого говнокодера, он еще неправильно понял принцип единственной обязанности и хуячил в тестовых на каждый класс по одному методу, а потом удивлялся почему его на работу не берут
Мужики, а какие щас зарплаты у пыхарей в среднем по рынку? Прошел 4 собеса на мидла (причем вакансии были и на Laravel и на Symfony, и на Yii2) и везде как-то легко соглашаются на 200к. Неужели это щас мало? Или это пыхарей щас дефицит?
Репозиторий - это когда у тебя CQRS и ты персистишь в него доменные модели. Модели для чтения же должны браться из другой абстракции. Я лучше вас понимаю этот паттерн, не шутите со мной.
>>3307128 >пыхарей щас дефицит? Да, и давно. На пыхарынке дохуя дедов, которые даже на 8-й пыхе будут писать как на 4-й, даже за MVC не пояснят. И даже среди тех, кто в курсе современных трендов, полно додиков, которые не в курсе, как работает композер
Я удивился когда на собеси спросили про внутренне устройство rabbitmq и дали задачку по геометрии. Блчть зачем? Не на девопса же иду, и геометрия (простейшая конечно, но зачем мне это в голове держать?)
гайсня, ответьте можно ли для веб-проекта пользоваться возможностями только ларавельки, не используя при этом рестапи и чудо.джс фреймворки? вот захотел я там вывести что-нибудь в блейдшаблоне, ну и вывожу собственно. а то мне сказали, что это нарушает MVC, но почему-то блейд не ограничивает меня в этом, и писать небольшие вставки я могу, что-то вроде <p>Имя: {{randomCollection->name}}</p>. Ну и эндпоинты у меня не в апи роутах, а веб роутах. А анимашки накидываю в обычном js css. я с джсом еле как обращаюсь, а тут еще и реакты какие-то. Вот чего я не смогу достичь с таким подходом, что можно было бы достичь с rest api + framework.js?
>>3309803 Давай немного проясним понятия. >рестапи API это способ одной программе общаться с другой программой. Есть программа, которая собирает данные метеослужб, есть сайт, который публикует погоду, сайт просит программу прислать данные о погоде, чтобы отобразить их для пользователей. Как им общаться? API. REST API это одна из реализаций API. В общем говоря, REST API это про HTTP-запросы, каждый из которых представляет собой одну из CRUD-операций. Сайт хочет получить данные о погоде, сайт делает GET HTTP-запрос. >чудо.джс фреймворки Набор готовых решений, чтобы писать код было быстрее и приятнее. ><p>Имя: {{randomCollection->name}}</p> Эта строка, по моему мнению, не нарушает MVC. MVC это архитектурный шаблон. Почти весь твой код делится на три слоя: Модель, Представление, Контроллер.
Модель - совокупность классов, которые делают какие-то вычисления, короче, работают с данными, например, считают стоимость налога.
Представление - обычно шаблоны, которые представляют собой, в частности, в ларавель, blade php файлы с php переменными.
Контроллер - совокупность классов, содержат методы (экшены), каждый из которых содержит инструкцию "что делать, если произошло такое-то событие".
Что такое событие? Пользователь отправил форму. Нужно как-то отреагировать. Значит будет контроллер с соот. методом, например, создать пользователя.
Нарушением MVC в случае с представлением, будет то, если ты будешь писать код в шаблонах. Не прочитать свойство, а, например, установить значение для свойства объекта. Или подключиться к БД. Или посчитать тот же налог.
Должно быть так:
Есть кнопка, например, "посчитать налог". Пользователь кликает по ней, формируется теоретическое системное событие. Оно ловится контроллером, конкретным его методом. Контроллер берет нужную ему информацию из HTTP Request. Передает эти данные каким-нибудь классам Модели. Вызывает методы у какого-нибудь класса Модели, который считает налог и потом берет значение этого налога и отдает в представление, вызывая view()->with(...);
Т.е. в представлении спокойно можно читать значение переменных и значения свойств объектов, главное никаких вычислений.
>эндпоинты у меня не в апи роутах Должны быть в api.
>я с джсом еле как обращаюсь Учебник по js + читаешь YDK JS.
>>3309816 А если я хочу вывести свойство, но с функцией date_format во вьюшке, это нарушает MVC? Я вроде бы значений никаких не присваиваю в этом случае
По поводу restapi и эндпоинтов. Я к тому, что вот эти джсончики перегоняются на клиент фреймворка (реакт, вью, etc.). Я эндпоинтом называю определенный uri, мне так проще (хоть это мб и неправильно). Как я написал, там для роутов есть отдельные пхпфайлы, вроде бы web.php и api.php. Так вот, у меня нет отдельного клиентского фреймворка, куда бы я отдавал джейсоны, я решил все эндпоинты(uri) писать в web.php, и в контроллерах я не джсончики отдаю, а рендерю вьюшки, если это можно так сказать, а на вьюшки кидаю что-то, что содержит данные. Соответственно, я не хочу юзать фреймворк.js пока намеренно, мне хочется сделать демо именно через документацию ларавеля + небольшими запросами в гугл по js. Мб вопрос неправильно задал, но суть в этом - могу ли я на вьюшках и компонентах блейда все сделать, или мне придется в дальнейшем к фреймворк.js обращаться и джсончики туда гонять?
Остальное мне понятно, но возможно я опять не так выражаюсь. В любом случае, спасибо за ответы!
>>3309829 >А если я хочу вывести свойство, но с функцией date_format во вьюшке, это нарушает MVC? Я вроде бы значений никаких не присваиваю в этом случае С чего оно должно нарушать mvc? Форматирование даты у тебя ведь к отображению данных относится, а это именно слой представления.
>>3309829 За компоненты блейд не могу вести речь, потому что я их не трогал и мельком читал о них в документации. Ну, js фреймворк не является обязательным инструментом. Как я понял тебя: Твой код генерирует какие-то данные и ты, вместо того, чтобы отдать их в формате JSON, отдаешь их в виде php-переменных. Если так, то это нормальная ситуация.
>>3310069 Да в целом крудошлепство не сильно сложное, просто не понимаю, в чем я не прав после выполнения тестового. Мне так и предъявили, что я нарушаю МВС
>>3309829 >date_format во вьюшке, это нарушает MVC? Тебе именно так и сказали? Дело именно в форматировании данных?
>>3310143 > в чем я не прав Я коллеге 2 часа доказывал, что округлять на вьюшке дробное число это нормально. Он рассказывал, что мне нужно почитать умные книжки умных людей и тогда я пойму, что вьюшки должны только показывать данные и не изменять их.
>>3310187 Так данные не меняются, они просто форматируются... По такой логике можно дойти и до того, что вьюшка должна представлять собой только сам жесон и ничего более.
Лучше ваще шибко много не читать вумного, а то фляга засвистит.
>>3310187 А ты спроси этого долбоеба: как понять что число нужно округлить и до скольки знаков? Ну типа вот какое-то поле с числом, его нужно округлять? На нем же блядь это не написано.
>>3310143 >Мне так и предъявили, что я нарушаю МВС Мож ты не понял в чем предъява на самом деле? А так - можешь посмотреть, как работают с блейдом и вкраплениями в него js на админка ларавелевских типа оркида или бэкпака.
И ваще - не тяни с вкатом во vue параллельно. Можешь попробовать через ларавеловскую inertia. Занятный вроде инструмент, хотя я толком его не тыкал.
>>3310187 Вот, я тоже делал раунд по флоат свойству на вьюшке В итоге собеседующий сказал РАУНД то, что я нарушил MVC. Скорее всего я и в правду не должен был счетчик юзать для красоты. Там прост айдишники поломались несколько раз после делитов, рефреш миграции в падлу делать было. В таблице просто считал i по foreach записи в коллекции и выводил в качестве отдельного поля. Вероятно, я тут неправым оказался и надо было просто все-таки рефрешнуть. Прям чтоб какие-то экшны, рендеры новых вьюшек (лол) на вьюшке не делал. Только самые простецкие действия. Можно было на это указать, но мне просто написали, что я нарушил мвс.
Вводные: Нет айти образования. Математику знаю на уровне средних классов. Хочу прочитать книгу по основам программирования. Не конкретные детали какого-то языка, а программисткие концепции. Не про то, что такое переменная, а что такая функция, а вообще, чтобы такая книга задавала программисткое мышление.
Одна функция получает собаку, моет ее и отдает мытую собаку второй функции, которая делает мытой собаке прививку.
Одна функция получет собаку, по информации на ошейнке формирует анкету, вторая функция берет анкеты и вставлет их в очередь на прививки, третья функция по анкете достает собаку и делает ей прививку.
Одна функция приходит к собаку, моет ее, а затем уходит. Затем приходит вторая функция и делает мытой собаке прививку и уходит. Собака идет дальше.
С временной связанностью собака не подходит. Потому что во всех этих трех связанностях нельзя вызвать функцию, которая делает прививки собакам, потому что система еще нет мытой собаки, ачтобы ее получить нужно сначала дать системе грязную собаку, чтобы она ее помыла. У них получается временнАя связанность.
>>3311398 Опять с чтением беда. Буковы не даются никак. Cohesion - это мера связанности ВНУТРИ модуля. А мера связаности МЕЖДУ модулями - это coupling.
>>3311449 У тебя вторая похоже на первую. Третья похожа на первую. Не серчай, анон, мне кажется, что авторы этого опуса, просто хуйню написали (я пробовал читать на языке оригинала и понятней не становилось).
>>3311472 В первом передаются данные между модулями, во втором случае - управление. У нас то все объекты по ссылке передаются, так что разницы никакой, потому что объект один и тот же и последовательность та же. $class = new A(); $class = $service1->doSmth($class); $class = $service2->doSmth($class); return $class;
$class = new A(); $service1->doSmth($class); $service2->doSmth($class); return $class;
Но если мытая собака это отдельный класс и отличается от грязной собаки, то будет работать только первый вариант. $classB = $service1->doSmth(new A()); return $service2->doSmth($classB);
Чтобы работал второй вариант, оба класса должны наследоваться от собаки, которую можно помыть и привить. $class = new P(); $service1->doSmth($class); $service2->doSmth($class); return $class; Ну вот короче https://3v4l.org/FA71K убираешь указатели получаешь временную связанность
>>3311665 Один ответ. Один. Я сколько тут сижу, постоянно вижу одну и ту же картину, джун что-то спросил, на него сразу агро. Ощущение, что сижу в треде с низкоквалифицированными обезьянами, которые только умеют жопой вертеть перед джуном, у которого 0 знаний, а как речь заходит о чем-то сложном, так сразу пиздак закрывается и тред полумертвый. Вот и вся ваша суть. Знаний 0, а выебонов много.
>>3311693 Так ты не джун. Ты хуесос. Вот парень, который тебе попытался ответить - джун. У него какие-то перспективы есть. А такое говно как ты тут нахуя? Твой код где? Ты просто срешь бессмысленной шизой.
>>3311702 В том и дело, чел, что задали казалось бы такой базовый вопрос, ответ на который должен знать любой тут сидящий гений ООП, который любит щемить джунов, а ответов хуй, да нихуя.
>>3311702 >>3311457 Вот тебе пример такого человека. К чему он это писал? Что в посте или пике натолкнуло его написать это? Он сам не знает, у него единственное желание защемить. Никто не путал связность и связанность, но надо же обосрать. "Не умеешь читать буковы", при том, что в тексте про связанность нихуя, только уровни связности.
>>3311717 >К чему он это писал? Что в посте или пике натолкнуло его написать это? Во втором посте он базу написал, если что. Прочитавшему одну статейку по теме просто сложно это осознать.
>>3311641 Всё так. Все умники итт - крутые только когда вкатун (даже не джун) в треде задаёт наивные вопросы. Потому что сами от этих вкатунов ничем не отличаются. Реально хорошие программисты здесь почти не сидят, а те кто сидят - отвечают раз в год.
>>3311724 Платить могут кому угодно. Как и не платить. А суть в том, что знаний у вас никаких нет. Анон выше прав, тут бесполезно спрашивать любой вопрос сложнее "как написать хеллоу-ворлд", потому что сразу молчок, ибо вы нихуя не знаете, только пиздите.
>>3311731 По какой теме ты мне говоришь? Я тебе свой опыт описываю, ВСЕ вопросы сложнее "я вчера вкатился посоветуйте IDE" тут игнорируются. Максимум какой-нибудь один ответ будет, абсолютно мимо кассы. Зато если спросить какую-то примитивную хуету, то тут местные жители сразу активизируются и могут насрать 100 постов обсуждения "зачем объявлять типы переменных", причём делают это с таким важным видом, что аж на смех пробивает.
Идею связности впервые представили Уэйн Стивенс, Гленфорд Майерс и Ларри Константайн (Stevens, Myers, and Constantine, 1974). На уровне проектирования классов ее практически вытеснили более современные концепции, такие как аб# стракция и инкапсуляция, однако на уровне проектирования отдельных методов эвристический принцип связности по#прежнему полезен.
Конечно же, пидорасики меня обосрут. Я наконец-то понял одну вещь. Нет ничего страшного в том, что один объект зависит от другого объекта. Главное это то, от какой части объекта зависит второй объект - от стабильной или нестабильной. Потому что если от нестабильной, то нестабильная часть начнет меняться, а за ней, как волна, и остальные части кода, которые зависят от нее. Детали реализации (переменные объекта, реализация публичных методов) это нестабильная часть, поэтому и есть правило "программировать на уровне интерфейса, а не на уровне реализации". Ну что, могу брать пирожок с полки?
>>3312311 Речь о другом. Кофе тут код, который получается в результате понимания логики написания программ. А инструкция как приготовить кофе - логика написания программ. >>3312314 Все 200.
>>3312332 >>3312334 А я понял ка заебенить холодный ядерный синтез и навсегда решить энергитические проблемы человечества. Я обязан делать реактор или достаточно пиздеть о том что я все понял?
>>3312349 Мне всего лишь хотелось поделиться радостной новостью с людьми, которые хоть что-то понимают в программировании. Кому мне это рассказывать? Если я своей тян начну рассказывать детали проектирования программ, то она сдохнет от скуки. Очевидно, что знание будет применяться ПОТОМ, когда встанет такая необходимость. У меня сейчас чисто теоретические занятия программированием. Ну ты и сам должен понимать, что ощутить ценность принципов проектирования можно только на сложных системах. Что я тебе тут должен высрать? Свой последний проект?
>>3312357 >У меня сейчас чисто теоретические занятия программированием А у меня теоретические занятия в качалке и бассейне. Я пока изучил баттерфляй и становою 150. Ценность принципов ощутил.
Потом когда начну тонуть, к удивлению всех, схвачу спасателя и сним подмышкой ебану баттерфляем к берегу, а там начну его над головой вертеть. Вот моя теретическая тян охуеет.
>>3312357 >Ну ты и сам должен понимать, что ощутить ценность принципов проектирования можно только на сложных системах. Вот такую хуету >Главное это то, от какой части объекта зависит второй объект - от стабильной или нестабильной. >Потому что если от нестабильной, то нестабильная часть начнет меняться, а за ней, как волна, и остальные части кода, которые зависят от нее. любая макака поймет на интуитивном уровне на первом же "проекте" в пяток функций.
>>3312395 Не смог найти токсичный ответ на пост с пожеланием удачи? Будь добрее, анончик, а еще будь не таким ленивым, у тебя вообще есть работа? Я-то хоть учусь, чем-то полезным занят, а ты как будто 24/7 срешь тут своим троллингом тупостью.
>>3312404 Вас тут не двое, еабанат. Вижу я как ты учишься - понял концепцию для пятиклашки и прибежал хвастаться и обсуждать. Мне-то хотя бы ЗП капает, пока я тут написываю.
Можно ли узнать по коду характер человека? Вот например: $dateStart = new DateTimeImmutable($model->date_start, $timeZone); $dateEnd = new DateTimeImmutable($model->date_end, $timeZone); Против $startDate = new DateTimeImmutable($model->date_start, $timeZone); $endDate = new DateTimeImmutable($model->date_end, $timeZone); Я бы назвал первого челоека занудой, а второго - легкомысленным.
>>3312933 Забей на выравнивания. Мне тоже мой окр не давал покоя долго. По итогу будешь тупо вхолостую эти пробелы дрочить. Ты надрочил все эти отступы, а кто-то другой в импорты строчку добавил, прожал автоформат и все сжал опять.
Закончится все тем, что тебе на ревью придет пул реквест, в котором половина изменений будут какие-то ебаные пробелы и выравнивания. Вот тут-то ты взвоешь и поймешь как ты ебал мозги остальным все это время. И окончательно забьешь хуй на это бесполезное выдрачивание.
В идеале такое выравнивание должно быть чисто визуальное, без изменения кода, как лигатуры например. Но хуй такое где есть.
Почему получением данных и передачей их контроллеру занимается сервис? Это же прямая обязанность репозитория и его можно напрямую к контроллеру приклеить.
>>3313086 Репозиторий возвращает не "данные", а Entity. Он не может тебе вернуть "список идентификаторов" или "название" или добавить какое-то новое поле к результату.
Для получения "данных" никаких репозиториев не надо, достаточно интерфейса для доступа к хранилищу. Репозиторий для того и делают, чтобы полностью абстрагироваться от способа хранения и получать конкретные готовые объекты, не зная кто и как их там достал и собрал.
В контроллерах репозитории не используют потому что контроллер - это часть фреймворка, а твоя программа должна НЕ ЗАВИСЕТЬ от всей внешней хуйни. Плюс дублирование кода. Есть контроллер, есть консольная команда, а есть хендлер очереди с событиями. Все вызывают одну и ту же логику. Ты по три раза будешь эту логику дублировать? Твое приложение должно работать без всего этого говна. Выкинул нахуй контроллеры и фреймворк, подключил "in memory" хранилище и твой код работает. Это и есть ОТСУТСТВИЕ ЗАВИСИМОСТЕЙ. Это и есть ТЕСТИРУЕМЫЙ КОД.
Ну а если у тебя тупо круд, который тупо маппит напрямую поля из формы на модель, так и используй для этого ебучий ларавель, в котором это все за пол минуты генерируется само. Какие нахуй репозитории.
>>3313169 Сервис нужен чтобы обрабатывать данные, а не для того чтобы возвращать результат выполнения функции из репозитория. Вот у нас есть интерфейс для сервиса, в котором есть save(Object $model) и все наследники имеют одну и ту же функцию $this->repository->save($model). Не дай Бог увидят эту статью еще и get(int $id) туда добавят.
>>3313181 Ебать насрано в башке. Если у тебя репозиторий, то тебе в своем коде уже нихуя сохранять не надо. Наследники какие-то блядь. Вот, пикрелейтед, ссу тебе на ебало.
>>3313198 Все верно, если у меня репозиторий, то мне в моем коде уже ничего из базы брать не надо. Сохранением и получением данных из базы занимается репозиторий потому что. >EbaloId $ebaloId Это ты здорово сделал. Апишки постоянно пилишь что ли?
>>3313237 >Любитель оскорблений По заслугам. Ниразу не оскорбил человека просто потому что он, например, запостил решение задачи из шапки, каким бы плохим оно не было. А быкам и долбоебам сам бог велел шершавым по губам проводить.
>функционального программирования Не сказал бы. Я любитель нормальных систем типов, по совпадению они в основном в функциональных языках.
>>3313272 Ты рофлишь, ебобо? Я инспекции для файла отключил чтобы это вообще прочитать можно было. Отсутствие конструкторов и половины используемых классов тебя не смутило?
>>3313300 А что делает кругла скобка с переменной? Я бы еще понял если бы было >(new $a)() Но там ведь $this->a уже проиницировано, строчкой выше. Почему без скобок ошибка, а со скобками ее нет? В интернете не нахожу инфы.
>>3313462 Потому что оно путает метод внутри переменной с обычным методом этого объекта. А скобки как раз проясняют что это не вызов метода, а выражение. Тебе же скидывали ссылку на баг >>3313272
>>3313531 Ну а внутри класса он всегда пытается вызвать метод, даже если метода нет, а есть только свойство. Хули тут удивляться, это пхп кал. Нос затыкай и ныряй.
Постучу пожалуй и к вам спрошу, частично свой пост скопипастю Стоит ли учить пыху 1 языком и в целом вкатываться в неё? Есть ли возможность вката, как тут обстоят дела?
Кароче, я вкатун без бекграунда, но по натуре типичный анальник. Больше всего интересен веб и уже после мобилки, хочется делать красивые сайтики и приложения, чтоб мог оценить и пощупать, что сам создал, это мне в айти привлекло (хотя мб и это быстро заебет и станет однотипной рутиной). Может какие-то прикольные высоконагруженные сервисы, да хоть что в принципе.
О пыхе я узнал года 4 назад и отмёл, т.к. тогда пели, язык для макак, станешь говнокодером, дрочить одно и тоже за копейки, пыха умирает, но это самый простой способ, если хочешь быстро зарабатывать начать. И вот до сих пор я слышу как пыха умирает, как она устарела, для скуфов и все такое. В итоге вакансий дохуя и она самая популярная в вебе. Кто-то говорит, что это скрытый гем, пока все ломятся в петухон/другую хайповую хуйню аля Go, пыха непопулярная из-за стереотипов, а здесь работы дохуя, знать и учить меньше, чем в тот же го, поэтому это находка для вката. Но здесь же я читал, что люди жалеют, что связались, переспектив нет, погрязли в этой хуйне. Попробовав, мне пыха понравилась, просто и красиво, но похоже на ту же джаву. В целом всё просто и понятно чё как на практике учить и к чему стремиться, у меня есть запросы на сайтецы, а это и цель, и путь, и мотивация, и дисциплина, и фидбэк, и комм. опыт в резюме. Но начались но... Количество вакансий оказались фейковыми (в моей мухосрани 7 вакух, но везде фигурируют битрикс или просто цмс), а если убрать их, то останется 1!!! И то там битрикс, но еще ларавель плюсом, считай 0. А вакух на ларавеле/симфони, также мало, как и остальных. И якобы мне пояснили, что вкидывают такие вакансии без опыта, чтобы перебирать лучших кандидатов за порцию риса, я им как вкатун тоже не всрался, нет легкого вката. Т.е. это я буду просто клепать сайтики в конструкторе, и допиливать сайт/нужные плагины пилить? Ну как бы это же дно, с прогерством мало что имеет, и тут развития не будет, т.е. вообще бесперспективно, буквально макака. Да и тут в треде читал жаловались, что связались с пыхой, не все так радужно. Еще и язык узкоспеализирован. Выглядит сомнительно.
Другое дело в моих глазах - джава. Строгая, кладезь годнейшей литры, всякой базы знаний, еще и общего назначения, тут полностью превосходит пыху. Но пиздец пугает что долго и сложно учить, что я не вывезу и проебу время, что это тебе не ИП Аганесян, а энтерпрайз, все ебать как серьезно, требования высокие, уже в вакансиях часто хантят студентов, и что там ничего нового не создают и не смогу пощупать, задачи может и разнообразные, зато там тоже наверное заебет делать хуй пойми что хуй пойми зачем. Зато она вечная, востребована, там и вакансии есть (но мало в мухосране), и бабки, и видно, что она развивается и популярна, в банках куча стажировок для джавы (даже на удаленке), в пыхе я никогда ничего такого не видел, да и в целом прикольно в таком бигтехе/финтехе себя попробовать, а не дрочить сайтецы всю жизнь. На крайняк я думал может попиздую в школу21 (но это маловероятно, это всё бросать и переезжать за 500км+, шансов мало) или хотя бы перекачусь попроще в петухон/жс на базе (или лучше не оставлять себе возможности ссыкануть и слиться)
Ну или все таки попытка быстрого вката в пхп, может куда на ларавель/симфони проползу, а потом задрочу JS (все равно требует) и попытаюсь во фронт, если не моё, то тогда начну гребсти в сторону Go/Node.js, что-то поперспективнее кароч
Я хз, может просто забуриться на месяц и в то, и в то, и что уже душа прикажет? Пыха звучит как синица, более приземлено, а джава - как жаворонок, но тяжело поверить, что смогу и вкачусь, сложно (хотя я мб хуйню стереотипную напридумывал и будет норм). Ну или как средне-специальное и высшка.
Есть еще с#, но чет не особо аргументы предпочесть этим двум его. Типа как джава++, но такой литры годной вряд ли найду, работы меньше, зп чуть меньше, такого ажиотажа не видел вокруг него, и копнув узнал, что там почти все вакухи - фулстэк
Остальные языки : типо жс/го/котлин/swift не вижу смысла учить первым уж точно, специфично и либо конкуренция/нет работы для вкатуна
>>3316917 >года 4 назад и отмёл Так а хули ты делал четыре года? Джун, котрого я менторил четыре года назад, давно сеньор. Две тачки сменил и хату купил. А все потому что у него не было возможности хуи четыре года околачивать.
Приехал в большой город, учился, подрабатывал и пхп дрочил. К тому моменту когда диплом получал он уже мидлом был. И уж поверь, он шизоидные фанфики страницами не высирал. Ебашил как конь.
>>3316969 Ага, конечно. Наоборот про пхп как будто больше говорить только стали, особенно в видосиках на тему вката и что будет популярно в следующем году. Не удивлюсь если через пару лет это будет новый пайтон по количеству вкатывающихся >>3316996 > К тому моменту когда диплом получал он уже мидлом был Не работая мидлом стал? Еще скажи сразу на 400к пошел после выпуска
Ну он так-то прав, что за 4 года можно не просто вкатиться, а очень далеко продвинуться профессионально в разработке софта, если ебурить каждый день.
Но ты не будешь ебурить каждый день, если у тебя нет какой-то работы, где тебя пушат, подогревают, поддувают, где у тебя каждый день какие-то задачи, постоянное повышение квалификации, ментор и всё вот это вот.
Чтобы чисто сидя дома самому ебурить хотя бы год, да не надо год, хотя бы полгода, нужно иметь железную волю и дисциплину, либо быть просто фанатиком программирования, типа как я. Я прихожу домой, мне ничё неохота делать, пожру, поскролю шебм тред, захожу по ssh на работу и продолжаю ебурить то на чём остановился на работе, но уже в чиловом режиме. Либо свои проги пилю. Либо у ChatGPT чё-то выясняю по каким-то вопросикам.
И ещё момент, что если ты не хочешь, но будешь себя заставлять ебурить каждый день, то ты выгоришь за 1-2 года до вегетососудистой дистонии и сляжешь, потому что невозможно насиловать себя каждый день, тем что тебе не хочется. Может даже раньше, смотя какая нервная система.
Другое дело то что есть люди которым вообще нихуя не хочется в жизни кроме как лежать в кресле и скролить двач или играть в игрульки, чиля в виртуальных мирах. Таким советую начать делать свою игру, без рофлов. Хотя бы чё-то браузерное на спрайтах с 2D анимацией. Взять с какой-то игры готовые спрайты и клепать из них. Очень многое вам даст в плане развития как прогера.
>>3317170 >Другое дело то что есть люди которым вообще нихуя не хочется в жизни кроме как лежать в кресле и скролить двач или играть в игрульки, чиля в виртуальных мирах. Таким советую начать делать свою игру, без рофлов. Хотя бы чё-то браузерное на спрайтах с 2D анимацией. Взять с какой-то игры готовые спрайты и клепать из них. Очень многое вам даст в плане развития как прогера. Кушать на что? Силы где взять?
Дак наверняка у мамы на шее сидит, она покормит. Либо если вынужден работать, а работа выжимает до суха, так что приходишь после смены нулевой, то я не вижу другого выхода кроме как менять работу на более чиловую, но с меньшей оплатой, после которой хотя бы можно чё-то поделать, а не просто лечь и провалиться в сон. Ну типа глупо задавать вопрос как вкатиться если я не могу ничего изучать и пушить потому что у меня нет времени и сил. Никак тогда. Ищи варики как сделать так чтобы было время и силы. Потом рассмотришь вопрос как их использовать чтобы вкатиться.
>>3317170 > . Таким советую начать делать свою игру, без рофлов Нахуй этим заниматься если у тебя нет видения своего или желания его создать. Делать клон клона очередной, который соберёт 1 скачивание на итче?
>>3317410 Ебать ты оптимист. Люди реально заряженные до релиза в 90% случаев не доползают. А тут чмоня, который четыре года сиськи мял чтобы начать просто че-то делать, да так и не начал.
Какая нахуй игра, ставлю косарь, что он даже курс не досмотрит на ютабе бесплатный, не то шо код какой-то писать.
>>3317427 Я ответил челику, котрый решил что будет какой-то клон и будут какие-то скачивания. Ты с утра уже наебенился? Или ты тоже в генетическую лотерею мозги проебал?
>>3316917 О чем ты думал когда в веб вкатывался? Эта самая худшая область, это место куда идет каждый вкатун (после питона разумеется). Сам я начинал с джавы, с полного нуля, ни о чем не думал, просто ресурс нашел удобный. Джава мне очень понравилась, я после нее синтаксис котлина, пхп и жс на изи освоил. Но на джаве работать не собирался ибо там челы знающие от корки до корки спринг, мавен и прочее вкатиться не могли годами также, да и в ентерпрайс работать мне не судьба. Ради интереса еще попробовал андроид, да ахуенно конечно, но вакансий 0, тупо 0. Веб макакинг на пхп/ларавел учил уже для вузовского проекта, понимая что вкат в веб с такой же нулевой вероятностью возможен. Сейчас выбор стоит или дрочить эту залупу в вебе дальше или на 360 развернуться и вкатываться в ембедед. Там уже давно курсы для вкатунов есть и профессия +- хлебная, когда читал учебник по микроэлектронике даже нравилось, хоть и с физикой тяжко очень было в школе как и с математикой. Лучше уж это чем дрочить эти ссаные фреймворки и драться с толпами обезумевших от нищеты вкатунов в веб, ЕЕ и мобилки
>>3317433 Че несёшь? Я говорю что смысла нет за свою игру браться уебку типа того анона. Даже если он допердит её тихонько до релиза, с таким подходом будет унылый кал
>>3317436 >я начинал с джавы, с полного нуля >работать не собирался >попробовал андроид >но вакансий 0 >Веб макакинг на пхп/ларавел учил >на 360 развернуться и вкатываться в ембедед >тяжко очень было в школе Ну судя по улу разворота в школе внатуре было тяжеловато. Давай рассказывай сколько лет ты уже занимаешься любой хуйней кроме работы и запишем тебя в наш клуб с особой химией мозга.
>>3317443 че такого то блять учил джаву голую, плавно андроид с котлином начал учить используя джаву веб я учил просто для вуза ибо я ненавижу веб туда вкат закрыт но душа всегда лежала к нормальной работе руками, чтобы меня уважали, чтобы я был востребован, а не был посмешищем - обезьяной которая красит кнопки как миллиарды таких же вкатунов
>>3317413 >Охуительные истории. Оказывается чтобы батрачить нужны какие-то особенные гены. Ну да. Для всего нужны особые гены. Иначе хули не все вокруг Илоны Маски?
>>3317492 Действительно. Кому достались гены от родителей, которые кормят и не дают сдохнуть от голода - те сидят пердят в кампуктере и годами делают вид что куда-то там вкатываются.
А те кому достались гены от родителей, который съебались в закат или сдохли, не оствив после себя нихуя кроме долгов - те въебывают на работе и строят карьеру.
>>3317450 > но душа всегда лежала к нормальной работе руками, чтобы меня уважали, чтобы я был востребован, а не был посмешищем Проблемы эго. Пытаешься через жопу все делать. Хочешь уважения в обществе и от этого профессию выбераешь, хотя твоё эго от плевка разобьется. Просто кто-то скажет, что ему похуй на то, что ты вместо веба пошёл в хуйню в два раза сложнее, и вот получается чувак перекрыл все твои усилия двойные одним своим похуизмом, лол. Это очень тупо, ищи уважения другим способ. А лучше на шаг назад отойди и вообще уважения не ищи. Ты вообще дебил свою жизнь тратить на то чтобы какое-то абстрактное уважение иметь в обществе. Которое мало того, что говно, так ещё и твое уважение разрушиться может за секунду > - обезьяной которая красит кнопки как миллиарды таких же вкатунов Если считаешь, что твоё счастье зависит от того, красишь ли ты кнопки, то удачи в жизни, лол.
>>3317512 Просто пытался по вежливей намекнуть что ты зажравшийся ленивый мудак. И все твои "лотереи" излечит знаменитая генная терапия из комбинации декабрьской погоды и недельного голода.
>>3317507 >Если считаешь, что твоё счастье зависит от того, красишь ли ты кнопки, то удачи в жизни, лол. А что ты при смерти будешь вспоминать? То как красил кнопки? Или какую то пользу обществу принес разноцветными кнопками? То то же
>>3317519 Буду вспоминать, как закапывался в книжки, чтобы выучить сложную хрень просто потому что она сложная и я как дитя малое мечтаю об уважении, но не знаю как его получить другим нормальным способом. Окда
тебе надо ещё раз серьёзно подумать о том какую философию жизни ты себе выстроил и зачем/почему
>>3317520 Посодействуй развитию ИИ, принеси вклад в технологическое будущее и последующий неизбежный коммунизм >>3317521 В первую очередь речь о твоей морали. "Что ты сделал?" "За что ты гордишься собой?" "Чем ты лучше других?". Если не задаешься вопросами ты нпс, серая масса. НПС не нужно быть лучше других, ему нужно быть как все. Вкатунцом на курсах скилбокса или кассиром в пятерочке
>>3317526 >Размышления человека в пубертате Смысл жизни человека не в том, чтобы быть лучше кого-то, а в том, чтобы делать то, что ему нравится, по возможности, и без вреда окружающим и частично себе. Т.е. здравый гедонизм.
>>3317526 > В первую очередь речь о твоей морали. "Что ты сделал?" "За что ты гордишься собой?" "Чем ты лучше других?". Если не задаешься вопросами ты нпс, серая масса. НПС не нужно быть лучше других, ему нужно быть как все. Вкатунцом на курсах скилбокса или кассиром в пятерочке Дебилушка, меня просто не определяет то какой стек и язык я юзаю. Вот и всё. Если ты жизни не видишь без того, чтобы быть лучше других в каждой хуйне, то ты макака. Не по стеку, а по восприятию мира. Судя по тому как ты цепляешься за такую хуйню как язык, который ты используешь, то помимо этого ничего за душой у тебя и нет, а ещё мне пытаешься что-то говорить. Просто компенсируешь, причём самым беспонтовым способом. Из-за компа выйди, посмотри что ты вне его делаешь
В общем я годную тему принёс вам. Я долго рассуждал над тем, почему на западе делают качественные товары, а у нас хуёвые. Почему буквально любой западный товар лучше российского. Я нашёл причины этого и проследил историю как так вышло. Но речь сейчас не об этом. После того как я разобрался в этом вопросе, я понял что никогда не смогу этого изменить, это слишком сложная задача даже для авторитарного диактора, что уж говорить о просто омешке.
Но я понял, что могу сделать кое-что. А именно я могу начать писать код высокого качества. Так чтобы любой кто посмотрит на этот код, причмокнет и скажет про себя "да, этот код явно американский". Типа как люди смотрят на иномарку, например ей под капот, а там нигде ни капли масла, всё красиво и аккуратно, работает годами без сбоев, легко ремонтируется, везде есть удобный доступ, легко обслуживается. Я решил что мой код тоже будет таким же.
Я ещё не готов его показать. Пока я с трясущимися руками переписываю несколько небольших прог с самописного кала на популярные зависимости и композер. Как говорится МОСКВА НЕ СРАЗУ СТРОИЛАСЬ.
>>3316996 Думал есть ещё время, а потом случилась гойда я и просто лежал ничего не хотел делать пару лет, вот только недавно в себя пришел поняв что жизнь продолжается
>>3317903 Из каждого утюга твердили что рф осталось пару месяцев и будет новый развал совка, новые девяностые, потом мобка, потом выборы, короче надежды на перемены нет и я лежал просто в стену смотрел, ну и постепенно вылез из этого и стал думать о вкате
>>3317967 Ну то, что развал откладывается стало понятно месяца через 2 да и мобка шла недели 2 - до запуска реестра повесток смысла трястись ваще не было. Хз, че ты там трясся 2 года, наоборот надо было вкатываться, чтобы из гулага бежать иметь возможность.
>>3317170 >ебурить Зачем? Чтобы вкатиться в айти достаточно 1-1.5 года ленивого изучения стека и прохождения собесов. И никакого ебуривания, полутора часа в день в среднем вполне достаточно.
>>3318426 Лениво изучил тебе за щеку, в 2025 из за конкуренции надо знать много, следовательно каждый день по 4+ часа. Полтора года. Такого обьема работы даже для вката в более денежные и нужные профессии не надо, ибо вся вузовская программа умещается нуу в год такой интенсивной работы, максимум два. И будешь зато тру пролетарием, рабочим человеком, а не кнопкодавом
>>3318591 На дваче анон в сантехника перекатился из айти, твоя конкуренция - тупорылые петровичи за 40, а гайдов на ютубе полным полно, еще и на практике можешь у себя что то починить или у родственников. Вкат занимает 2 недели. Зп та же самая. Без гемороя от сидения на жопе и инфарктов. Еще советуют холодосы чинить, там буквально 2 детали, а рубить будешь по 300к+
>>3318592 Да-да, хорошо там, где нас нет. Но я то работал техником, который катается по клиентам\объектам, живет там, хуйню какую-то чинит\настраивает. Постоянный контакт с какими-то pidarashkami. В рот я ебал.
>>3318592 >твоя конкуренция - тупорылые петровичи за 40 >Вкат занимает 2 недели >Зп та же самая > Без гемороя >холодосы чинить, там буквально 2 детали, а рубить будешь по 300к+ Бля, это даже для тролинга тупо, это походу отрабатывает лахта гейткиперов или же обосравшийся вкатун Еще забыл добавить про курьеров и таксистов
>>3318604 > лахта гейткиперов Я думаю это реальная тема. Иногда прям видно, что человек просто специально хочет отвадить кого-то от вката, причём с тейками разной толстоты, кто-то толстит, кто-то очень тонко пытается хуйню писать
>>3318586 >следовательно каждый день по 4+ часа. Полтора года. Мне хватило 1.5 часа с недельными проёбами и полутора года. Причём реально что-то учил я только первый год, остальные полгода тупо собесился. >Такого обьема работы даже для вката в более денежные и нужные профессии не надо Таких профессий в РФ нет. Чтобы ты полутора годика лениво попердел в диван, поездил по ушам интервьверу и лутанул оффер на 140к с повышением вплоть до 300+к в течение пары лет, реально работая при этом часа 4 в день, да ещё и удалённо. Сантехником он становиться рекомендует, ахуеть вообще. Может ещё Бомбас порекомендуешь? Тоже с нуля лям дают и 200к каждый месяц.
>>3318586 >из за конкуренции надо знать много Все верно. Компании, от которых нет ощущения ООО рога и копыта, ставят зепку около 100к (как максимальное значение), а потом месяц ищут себе джуна. При чем ты можешь быть неплохим, даже хорошим специалистом, но такие компании будут ждут того самого, принца, который могет в несколько раз больше, чем остальные вкатуны. И что смешно, потом эти компании открывают ту же должность через несколько месяцев. Либо прошлый джун вылетел, либо они так никого и не наняли.
>>3318693 > Чтобы ты полутора годика лениво попердел в диван, поездил по ушам интервьверу и лутанул оффер на 140к с повышением вплоть до 300+к в течение пары лет А пыха тут причем? Тут мужики с 8 годами опыта бояться 200к попросить
>>3318886 > Тут мужики с 8 годами опыта бояться 200к попросить Так это проблема пыхи? Как будто на другом языке он бы не боялся. Я слышал есть и мидлы (не на пхп) за 80к
>>3318712 >даже хорошим специалистом В чем? В 20% процентах задач, которые надо перекрыть и которые все равно решаются на 80% чатгопотой? И надо еще 4 спеца набрать? Один запросики пишет, второй - крудики, третий - компоненты во вью клепает, четвертый докерфайлы пишет. И каждому плати, каждый должен вникать в проект.
Все, во что нужно вникнуть - бизнеслогика. Остальное напишет любая макака с чатгопотой. Достаточно иметь мало-мальские знание везде.
>>3318957 > Все, во что нужно вникнуть - бизнеслогика. Остальное напишет любая макака с чатгопотой. Достаточно иметь мало-мальские знание везде. Что за бизнес логика такая? Типа как кабан мыслит и что ему от тебя нужно?
>>3318993 Что интересного? Катишься катишься и вкатываешься по итогу, другое дело история не вкатившегося, это как надо постараться чтобы не вкатиться делая что и все
>>3319063 Мне как вкатывающему интересно что представляют из себя остальные вкатывающиеся. Я уже не понимаю кто я (игнорируем опыт): стажёр, джун или миддл по навыкам. мимо
>>3319063 > Что интересного? Да так просто путь в целом и что человек сам при своём опыте считает полезным или интересным сказать взглянув с его высоты в прошлое. Интересно какой бэкграунд был, по времени сколько заняло ну и тд > как надо постараться чтобы не вкатиться делая что и все Наверное хуи пинать. В бэ вот тип несколько дней подряд треды про вкат делал, думаю сейчас на выходных отдохнет под пивко и в понедельник новый тред будет.
Как вам тестовое? Я, конечно, всегда делаю тестовое сам и без чатгопоты, но что это за шиза. Если так трясутся, то почему бы не обсудить все на собеседовании?
>>3319288 >Битрикс Не лезь сука, оно тебя сожрет, начав работать с битриксом ты возненавидишь программирование думая что оно везде такое как в этой цмске
Аноны, а где почитать (желательно прямо код) про то, как происходит оплата и интернет-магазинах? Есть банк, предоставляет эквайринг, он дает нам какую-то апишку и мы пукаем в нее с запросами аля "юзернейм123 купил дилдак за 4990" ?
>>3319489 когда как могут дать апи для редиректа на оплату-колбэка могут дать апи на которые срать данными карты юзверя могут через айфрейм насрать qr кодом для оплаты из банковского приложения смотря как твой кабанчик договорится
>>3319130 Меня шеф подначивал, чтобы я все-таки получил phd. Говорил, что это на имидже сыграет, отправим тебя на php meetup от нашей компании, зарплату повысим.
>>3320309 Мы один раз только там были, когда он проводился в нашем городе. Там был совободный микрофон на пару минут, но мы приходили только послушать.
Даже у приведения типов ебанутый синтаксис. Нет по людски сделать что-то типа Int(var) Но нет блять, надо писать зачем-то (int) var; Теряя вообще любую логику и связь с реальностью, хотя везде это сделано так, что ты метод вызываешь и переменную туда передаешь, синтаксис такой, который ты используешь везде в других местах, но тут так нельзя
>>3320682 >Int(var) зри в корень, прежде чем писать бред intval(var) - как ты хотел + быстрее чем первый вариант. Языку почти 20 лет, потому и много разных конструкций. Разобрался бы в вопросе сначала.
Тут в сеть слили ред флаги яндекса при найме раб скота на их галеру. Контора пидарасов как есть. Однако промелькнул там один забавный скриншот, на котором кое кому проводят шершавым по губам.
Вот оно реальное отношение к пхп макакам. Да, контора гнилых чсв хуесосов. Но зато искренне. Для внутреннего пользования. Пхп макака - не программист. Можно ныть, отрицать, да кому он этот ебаный яндекс нужен. Просто как факт: крупнейшая айти контора в стране ссыт нам на ебло. Мы для них не релевантны. Питон кал релевантен, а пхп говно нет.
>>3320809 > Тут в сеть слили ред флаги яндекса при найме раб скота на их галеру. Контора пидарасов как есть. Однако промелькнул там один забавный скриншот, на котором кое кому проводят шершавым по губам. Есть такие конторы. Есть ещё такие, где тебя захотят на полиграфе проверить и гороскоп составить. И что теперь? Скинуть можно и дальше искать
Че вообще нужно знать про линукс? Я так понимаю без него на работу не берут? Как то раз поставил убунту обрыгался сильно и вернулся на божественную десяточку
>>3321420 У "программиста" на пхп не может быть детей, женщина никогда не свяжет жизнь с таким человеком. На него смотрят с жалостью и опаской на улице, ему уступают место в транспорте как инвалиду, с ним даже за руку никто не здоровается. Какие там дети? И тем более возрастные. Это чудо если пхпшник не залезет в 30 лет в петлю
>>3321893 Порт 5432 и 8080 для интерфейса. В контейнере заходил но залогинится не получилось, постоянно пишет нет такого пользователя, сам стартовал, да. Вот мой докер композе юмл:
>>3321933 Лол, так ты коннектишься к контейнеру с постгресом через другой контейнер. localhost - это, внезапно, ХОСТ. А контейнеры то в сети докера. Вот и используй либо алиас, который ты контенеру с постгресом дал "db", либо внутренний докеровский айпи контейнера.
Сап, господа пыхеры. Стоит ли еще не нюхавшему писик и еще не работавшему студенту 3го курса профильной вышки закатываться в пыху? Уже все, что можно было посмотреть из языков - посмотрел за 2 года вузика. Выбор пал на пыху. Теперь думаю закатываться к вам, как только подтяну технологии. Вопрос: почему нет ажиотажа? Полно же ваканский. Почему вокруг одни джава макаки? Почему?
>>3323330 Голанг сразу мимо, его только для высоконагруженных мест должны использовать, а большинство работ так или иначе мелкобизнес или типа того, у кого нет хайлодово, хуедов, ну и го не нужен. На джангу вроде не так много вакансий, хз
>>3323317 > Стоит ли еще не нюхавшему писик и еще не работавшему студенту 3го курса профильной вышки закатываться в пыху? Нет. >Вопрос: почему нет ажиотажа? Полно же ваканский. Почему вокруг одни джава макаки? Почему? Потому что для студента с профильной вышкой PHP это выстрел себе в ногу.
>>3323332 >Потому что для студента с профильной вышкой PHP это выстрел себе в ногу. Ну я потому и спрашиваю, потому что по ощущениям так оно и есть. Просто как будто можно залететь куда-нибудь пыхером, крутануть кое-чего там-сям и перекатиться на го и с пыхи это удобное делается.
>>3323330 >Все новые проекты нынче на голанге и питоне Голанг точно не, нижнего удваиваю >>3323331 Нет вакансий на чистого гошника, он идет парой с другим языком бэкенда.
>>3323336 Студенту с профильной вышкой качать надо только знания и навыки. Ничего крутить не нужно. Для вас есть стажировки в нормальные (относительно) компании. Был бы я не твоем месте я бы трайхардил стажки на любой бэк-язык со строгой типизацией.
>>3323341 >Был бы я не твоем месте я бы трайхардил стажки на любой бэк-язык со строгой типизацией. Да, наверное, так это и выглядит со стороны, хз. В яшке вот пососал хуяру один раз, поэтому не пытался снова. Понял, что это для красноглазиков с рождения. Честно меня заебало уже все и чувствую что чуть-чуть и вообще выгорю, поэтому я и пытаюсь найти какой-то "простой" путь. Да и вообщем-то боюсь совсем рынок упустить, сейчас то есть возможность запрыгнуть (и то только с коркой), а дальше как будет - большой вопрос.
>>3323348 Рыночек никуда не денется, меньше шизов слушай которые рассказывают что айти все и вообще всех нас нейроеки заменят, вкатывайся туда где тебе нравится
Лол блять, вообще-то уже делся, у тебя больше половины компаний из страны съебались, и очередь за забором таких же как ты. Рыночек как раз таки порешал айти
>>3318989 Самый высокоуровневый императивный код, склеивающий твою кучу утилит и прочих сферических абстракций в вакууме в полезную работу, которую кабан хочет видеть. Да, ты почти угадал.