I am a web developer and freelancer with 10+ years of experience.
Subscribe to the channel "Through the Eyes of a freelancer" to learn more about: - nuances of remote work; - solving web development tasks; - typical programming errors; - options for their correction. New videos are released once or twice a week.
We're discussing web development using examples from PHP and PHP frameworks, particularly Laravel. We're discussing more fundamental issues from Computer Science, the theory of programming languages, algorithms, and so on. We're understanding how arrays, stacks, closures, generators, and other constructions of programming languages are arranged. Soon: videos about cloud technologies, serverless and microservice architectures, infrastructure as a code, CI/CD (pipelines), application configuration management, and so on.
Subscribe to the Telegram channel with announcements of new videos: t.me/freelancer_eyes
Subscribe to the channel "Through the Eyes of a freelancer"!
Докер только на бумаге простой, а как пытаешься сделать что-то реальное понимаешь что без 100 грамм не разберешься. Как и автор, который пропал на 10 месяцев
На 6:20 автор сказал, что первый принцип солид - это что функция должна выполнять только одну четко оговоренную в имени функции операция, так вот в книги Чистая Архитектура от Мартина в 7 главе 79 странице написано, что это распространенное заблуждение, а а singe responsibility принцип говорит о том, что «модуль должен иметь одна и только одну причину для изменения»
Ну что ж вы никак не научитесь увеличивать шрифт в своих трансляциях 🤦♂ Сам же в очках сидишь. Ну неужели тебе удобно рассматривать эти микроскопические буковки??? Тебе хочется еще диоптрий себе накинуть? Или ты хочешь, чтобы мы тоже ослепли? Не все сидят за большими мониторами - у многих походные ноутбуки!
21:34 Кстати на счет случая с trim() очень жизненно, так как у меня именно такая ситуация и была, долго понять не мог, почему не получается прочитать файл по ID, который приходит из строк, даже если смотреть по точкам останова, в принципе нормальный и ничего подозрительного, но там засели какие то невидимые знаки и как только влепил trim все заработало) Так что действительно подобный коммент может быть очень актуальным)
Отличное видео. Сам работаю 4 года в веб разработке, видел много докеров, но сам решил учиться собирать их только сейчас. Видео на мой взгляд прекрасное (единственное я смотрел на скорости 1.5, но это вкусовщина). За 4 года я видел много крутых докеров в т.ч. написанные всякие sh скрипты для упрощения вызова artisan или composer чтобы не писать под это отдельные контейнеры Для начала это видео отличное, что ждёт меня дальше в ваших уроках я не знаю, но надеюсь, что после них я смогу хоть немного приблизиться к тому, что видел от гуру с разных фирм) Ну а так конечно же допом литература, только так добиваются мастерства)
Круто что первый ролик про докер набрал относительно приличное количество просмотров Когда вернётся желание пилить контент надеюсь продолжите серию Лично мне интересны все моменты которые вы говорили что планируете раскрыть: - Docker на WSL - Xdebug в докере на WSL (убил 3 дня) - как работать с супервизором в докере - что такое Laravel Sail, когда и стоит ли его вообще использовать - Как всё таки деплоить докеризованное приложение (желательно с помощью ванильной убунты а не спецсредств какого то хостинга) - Как затем накатывать обновления на забеплоенное прило
Очень хорошее видео. Подскажите пожалуйста, а как в MediaWikiAdapter не указывать какой именно http-клиент у нас будет? Как подсовывать любой другой клиент? Получается зависимость от Guzzle, который может перестать поддерживаться (например). Спасибо, годнота!
Мы за вами уже соскучились. Не хватает ваших постов в телеге и новых видео. Единственный в своём роде такой канал из всех, что я видел, где масса практических рекомендаций по РНР и фрилансу.
Кстати, насколько сейчас часто в реальных проектах используется Redis? Перечитывал новое издание книги по PHP - PHP8, там целая глава посвящена Redis, как современной замене memcached. Но официальной сборки для Windows нет, я решил не тратить время, до тех пор пока не понадобится на практике.
Насколько надо уделять внимание архитектурным решениям? Порто, ещё что-то. Вряд ли реальные проекты используют стандартную архитектуру, предлагаемую ларавелом "из коробки". Наверняка новичку не доверят архитектурные решения, но я подозреваю, что работать с этим надо уметь. Да и надо что-то в коде показать, в резюме.
У меня скорее вопрос, если человек сеньёр, стоит ли работать на фрилансе? Постоянная работа на контору не будет приносить больше? Или такую работу на удалёнке не найти?
В принципе, в книжках что я читал - PHP, OOP PHP - общий настрой такой же. Пакеты и паттерны не просто так придуманы. Можно написать свои компоненты и архитектуру. А по поводу фреймоврка, эта история с нагрузкой - это по идее вопрос системного архитектора, или кто там в командах этим занимается. Лично я учу ларавел просто чтобы найти работу. Вряд ли кого-то будет интересовать какие классные паттерны я знаю и какой "классный" проект с их использованием на собственном фреймворке я сделал, если в резюме не будет фреймворка, который указан в вакансии.
У меня было несколько собесов на ларавельщика где про ларавель не спрашивали, а для тим-лидов было важно понимание паттернов и алгоритмов. Все от команды и продукта зависит.
Насчёт "любить", это дискуссионный вопрос. Вы будете любить то, что получается и хорошо вознаграждается. А получаться и вознаграждаться сразу с пустого места ничего не будет. Так работает мотивация животных. Удовольствию от тренировок предшествуют месяцы боли без видимого результата и страдания на диетах чтобы сбросить вес. Многие люди со стажем об этом почему-то забывают, и начинают рассказывать о "призвании", "лежит душа" и прочей хумере-хамере.
Спасибо за материал! Все доступно и понятно. Приятная подача. Мне как новичку, не хватило информации как делать свои кастомные сообщения на ошибки валидации.
А почему для getItem статический вызов, а не public function getItem(): array{ return [$this->name => $this->value]; } ?? Выглядит намного проще для чтения и работает как-то так Enum::g->getItem()
а почему волюмы подтормаживают? меняю код, но в контейнерах как-то не сразу он отображается. посылаю запрос а результат ещё со старым кодом. может это кэш ларавелевский так всё запоминает?