Pull to refresh
13
0
Олег Мифле @OlegMifle

php deveoper

Send message

Ретроспектива по шагам. Рецепт

Reading time9 min
Views54K

Все, кто слышал про Scrum, скорее всего слышали про его основные мероприятия: планирование, пятиминутка (stand-up), обзор спринта и ретроспектива. Многие слышали, инструментов для проведения ретроспектив много, "обучающих" материалов ещё больше, но всё как-то не выходит. Или вроде как выходит, но почему-то команда не хочет в этом участвовать. В этой статье я представлю свой рецепт проведения ретроспектив, не только представив конкретные и детальные шаги, но и попробовав объяснить, почему шаги именно такие и в такой формулировке.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments20

Photo2recipe:  рецепт блюда по одному фото

Reading time8 min
Views5.2K

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

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments18

Небольшой модуль для работы с dnevnik.ru на python

Reading time5 min
Views10K

Привет, Хабр. Это моя первая статья, и сегодня я хочу рассказать вам про свой первый модуль на python. Называется он dnevnikru. Я написал его для облегчения работы с сайтом дневника. Работает модуль по принципу парсера, а не получает данные через API.

Идея написать такой модуль пришла мне после идеи написать телеграм бота для просмотра оценок и домашних заданий из Дневника.ру

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments18

Лучший язык программирования

Reading time6 min
Views109K

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

Можно ли на него ответить?

Читать далее
Total votes 221: ↑213 and ↓8+244
Comments207

Подборка полезных библиотек для Python с примерами #1

Reading time9 min
Views19K

У Python одно из самых больших комьюнити. Этот язык любят за его простоту, лояльность и за его универсальность, которая была достигнута созданием огромного числа библиотек и фреймворков, таких как numpy, django, flask, pygame, tornado, tensorflow и других. На сайте pypi содержится более 320 тысяч проектов от малоизвестных и заброшенных до огромных, которыми пользуются миллионы людей в различных сферах. 

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

Ознакомиться
Total votes 13: ↑13 and ↓0+13
Comments4

Гайд начинающего тимлида

Reading time14 min
Views54K

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

Всё это я проговаривал на вебинаре в Хекслете тут https://www.youtube.com/watch?v=y_HkXvFovAc

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

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

Читать далее
Total votes 42: ↑40 and ↓2+47
Comments16

Dependency Injection в мире Software Engineering

Reading time22 min
Views28K

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

Читать далее
Total votes 24: ↑23 and ↓1+27
Comments9

Symfony и Гексагональная архитектура

Reading time8 min
Views15K

В данной статье мы коротко пройдемся по теории и на практике разберемся как перевести любое Legacy приложение на гексагональную архитектуру. Повествование будет в контексте фреймворка Symfony и PHP 7.4, но синтаксис приведенных примеров настолько прост что вы без труда поймете как сделать так же на вашем языке программирования (если он поддерживает ООП).


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

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments3

Как выучить иностранный язык: алгоритм

Reading time13 min
Views161K

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

Читать далее
Total votes 56: ↑50 and ↓6+62
Comments123

Олды в ИТ

Reading time18 min
Views89K

Когда ты молод, ты «бессмертен» и не задумываешься о старости. Есть просто уверенность, что если много и хорошо работать, то твоя карьера и доходы будут неуклонно расти. Следуя этой стратегии, ты развиваешься в профессии уже 15, 20, 30 лет. За эти годы уже получил огромный опыт и, наверное, он обязательно поможет безбедно и интересно прожить остаток дней. Но все не так просто. Да, ты уже давно работаешь в хорошей компании, занимаешься интересными проектами, получаешь за это достойную зарплату, но в будущем уже не так уверен, как раньше. Профессиональный возраст приходит с массой вопросов, на которые нужно ответь стратегически.

 Эта статья родилась на основе обсуждения горячей темы «Олды в ИТ», которую 4 января 2021 г. мы записали для подкаста Linkmeup. Обязательно послушайте запись здесь или в любимом подкаст-приложении.

Читать далее
Total votes 144: ↑137 and ↓7+174
Comments435

PHP 8 — Что нового?

Reading time19 min
Views135K

PHP, начиная с 7 версии, кардинально изменился. Код стал куда быстрее и надёжнее, и писать его стало намного приятнее. Но вот, уже релиз 8 версии! Ноябрь 26, 2020 — примерно на год раньше, чем обещали сами разработчики. И всё же, не смотря на это, мажорная версия получилась особенно удачной. В этой статье я попытаюсь выложить основные приятные изменения, которые мы должны знать.


1. JIT


Как говорят сами разработчики, они выжали максимум производительности в 7 версии (тем самым сделав PHP наиболее шустрым среди динамических ЯПов). Для дальнейшего ускорения, без JIT-компилятора не обойтись. Справедливости ради, стоит сказать, что для веб-приложений использование JIT не сильно улучшает скорость обработки запросов (в некоторых случаях скорость будет даже меньше, чем без него). А вот, где нужно выполнять много математических операций — там прирост скорости очень даже значительный. Например, теперь можно делать такие безумные вещи, как ИИ на PHP.
Включить JIT можно в настройках opcache в файле php.ini.
Подробнее 1 | Подробнее 2 | Подробнее 3


2. Аннотации/Атрибуты (Attributes)


Все мы помним, как раньше на Symfony код писался на языке комментариев. Очень радует, что такое теперь прекратится, и можно будет использовать подсказки любимой IDE, функция "Find usages", и даже рефакторинг!


Забавно, что символ # также можно было использовать для создания комментариев. Так что ничего не меняется в этом мире.
Читать дальше →
Total votes 26: ↑23 and ↓3+31
Comments58

Анимированное руководство по базовым механизмам React

Reading time4 min
Views19K
Автор заметки, перевод которой мы сегодня публикуем, говорит, что существует пропасть между использованием React для разработки пользовательских интерфейсов и необходимостью знать о том, как работает React на самом деле. Многие, применяющие React на практике, не знают о том, что происходит в недрах этой библиотеки. Здесь, в анимированной форме, будут рассмотрены некоторые ключевые процессы, происходящие в React при формировании пользовательских интерфейсов.


Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments34

Как использовать группы в Facebook для продвижения: создаем паутину

Reading time5 min
Views9.4K
image

Facebook меняет ленту. На официальной конференции F8 30 апреля и 1 мая первые лица компании анонсировали нововведения. В числе прочего фокус на формирование личного пространства.
Чувствовать свою принадлежность легче, когда вы находитесь в небольших сообществах и среди ближайших друзей. В то время как мир становится больше и всё более связанным, нам как никогда нужно это чувство близости.
Если перевести на понятный русский язык, то в перспективе в Facebook будут развиваться:

  • группы,
  • сторис,
  • мессенджер.

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

Да-да, еще недавно я писал статью “Не создавайте группы”. И нисколько не отказываюсь от ее смысла: не создавайте группы – используйте существующие. Потому что есть и вторая статья “Как работает группа: лес вокруг горы”, в которой наглядно показываю, как неграмотное управление группой приводит к деградации сообщества. Группы в Facebook – интересный инструмент с богатыми возможностями. Которыми надо уметь пользоваться. Непонимание механизма работы приводит к плачевным результатам. Сегодня поговорим как раз об этом: как использовать группы для личного продвижения.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments0

Делаем современное веб-приложение с нуля

Reading time31 min
Views152K
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

В этой статье мы попробуем набросать boilerplate простейшего веб-приложения со следующей архитектурой:


Что мы покроем:

  • настройка dev-окружения в docker-compose.
  • создание бэкенда на Flask.
  • создание фронтенда на Express.
  • сборка JS с помощью Webpack.
  • React, Redux и server side rendering.
  • очереди задач с RQ.
Читать дальше →
Total votes 64: ↑56 and ↓8+48
Comments125

Как айтишнику найти работу в США и ЕС: 9 лучших ресурсов

Reading time5 min
Views168K
Мировой рынок IT стремительно развивается. С каждым годом профессия разработчика софта становится все более востребованной — уже в 2017 году в мире насчитывался примерно 21 миллион программистов различных направлений.

К сожалению, русскоговорящий рынок IT находится еще на начальной стадии развития — уже есть крупные и успешные проекты, но рынок еще долго не сможет сравняться с европейским и американским, которые производят до 85% всех IT-продуктов мира.
Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments25

Цель важнее кода

Reading time4 min
Views11K

У программы есть цель, о которой иногда забывают



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

Кажется, программисты забыли о предназначении программного обеспечения — решать проблемы реального мира.

50 лет назад, в 1968 году, прошла Рабочая конференция по инжинирингу ПО, организованная Комитетом по науке НАТО. Тогда стали замечать, что программное обеспечение становится фундаментальной частью общества. И одновременно его становится труднее понять. После этой конференции программирование начало превращаться в настоящую индустрию. Оно начало уходить из-под контроля бизнеса.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments15

Плюсы и минусы ведения бизнеса в США: наблюдения после года развития своей компании

Reading time9 min
Views40K


В прошлом году я рассказывал на Хабре о том, как получил визу О1 и переехал в США развивать собственный бизнес. В комментариях читатели задавали вопросы о том, каково это работать на себя в Америке. И если тогда мой опыт был слишком скудным, чтобы ответить, то теперь после года активной работы впечатлений накопилось достаточно. Так что сегодня я расскажу о плюсах и минусах запуска собственного бизнеса в Штатах.

Disclaimer: данная статья отражает лишь мой личный опыт и содержит суждения, которые могут не быть стопроцентно верными — так что если вы хотите использовать материал в качестве основы для принятия каких-либо решений, учитывайте этот факт.
Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments195

Как работает JS: отслеживание изменений в DOM с помощью MutationObserver

Reading time7 min
Views55K
Сегодня, в переводе десятого материала из серии, посвящённой особенностям работы механизмов JavaScript, мы расскажем о том, как отслеживать изменения в DOM с помощью API MutationObserver.

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



Всё это ведёт к усложнению задачи контроля состояния интерфейсов приложений в процессе их жизненного цикла. Эта задача становится ещё масштабнее в том случае, если речь идёт о разработке чего-то вроде фреймворка или даже обычной библиотеки, когда, например, нужно реагировать на то, что происходит со страницей и выполнять какие-то действия, зависящие от DOM.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments7

Как делать лучшие сайты в России

Reading time12 min
Views24K


1 марта состоялась церемония награждения конкурса «Золотой сайт-2017», на следующий день были опубликованы оценки компетентного жюри. Еще осенью прошлого года автор этой статьи решил принять участие в этом увлекательном мероприятии, и процесс из серьезного (что подразумевалось вначале) превратился в интересный (что получилось в результате). Хотелось бы поделиться некоторыми трендами веб-разработки, которые проявились в сайтах, победивших в конкурсе.

Total votes 45: ↑38 and ↓7+31
Comments129

Внедрение Scrum'a технарем: реальный опыт, подводные камни, tips&tricks

Reading time8 min
Views18K
В последние годы внедрение agile-методологий в разработку ПО стало целой индустрией: по этой теме выпускается специальная литература, собираются тематические конференции, устраиваются тренинги. На рынке труда возникли совершенно новые профессии, такие как agile-коуч или скрам-мастер. Появились целые компании, которые специализируются на внедрении гибких методологий в других компаниях.

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

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

В таких условиях у разработчика есть два пути: продолжать терпеть или брать инициативу в свои руки.

Я выбрал второе и сегодня расскажу об опыте внедрения скрама в компании будучи не менеджером, а техническим специалистом. Под катом реальный опыт, подводные камни и практические советы тем кто отважился.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments11

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer
Lead
PHP
TypeScript
PostgreSQL
MySQL
Golang
REST
Angular
React
Docker
Redis