Как стать автором
Обновить
36
0
Роман @Sky4eg

PHP/GoLang разработчик

Отправить сообщение

AI доступный каждому разработчику

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров7.7K

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

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

Казалось бы, есть и локально запускаемые аналоги ChatGPT или сервисов генерации изображений. Есть библиотеки типа llama.cpp - бери и используй! Но если бы было всё так просто, то не было бы этой статьи.

Для тех, кто не может ждать, можете посмотреть, чего теперь можно добиться относительно быстро:

Читать далее
Всего голосов 14: ↑13 и ↓1+17
Комментарии19

Почему ваши DevOps – эникейщики

Время на прочтение11 мин
Количество просмотров9K

Представьте, что есть проект, где 200 разработчиков, 20+ независимых продуктовых команд и у каждой свой собственный DevOps. Они всё автоматизируют — все довольны и занимаются исключительно своей работой. Разработчики даже успевают красить зелёные кнопочки в красный цвет. У DevOps современные инструменты и они помогают автоматизировать релизы. У каждого product owner независимая команда, он никем не блокируется, планирует свой бэклог, быстро двигается и развивается. А “эффективный менеджер” больше не сомневается стоит ли разрешать разработчикам самим катить в продакшен. Представили? Тогда прикинем, что может случиться с ними через год.

Обо всем этом и об интересном подходе к разработке в Ситилинке расскажет Константин Осипов — руководитель DevOps, QA и 140+ backend/fronted-разработчиков. Он познакомит нас с проблемами, которые стояли перед командой разработки и с тем, как они их решили. Поделиться своими мыслями, как не надо делать и объяснит как перестать быть эникейщиком. А главное, как со своими задачами в разработке справляются в Ситилинке.

Читать далее
Всего голосов 14: ↑12 и ↓2+11
Комментарии25

Blockchain и AI нацелились на авиацию

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.3K

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

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

Читать далее
Всего голосов 4: ↑2 и ↓2+1
Комментарии6

Laravel: разработка пакетов

Время на прочтение15 мин
Количество просмотров11K

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

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

Данная статья в большей мере ориентирована на начинающих разработчиков.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Вопросы и ответы для собеседования Go-разработчика

Уровень сложностиСредний
Время на прочтение53 мин
Количество просмотров112K

Структурирование информации — очень полезный навык. И дабы привнести некоторый порядок в этап подготовки к интервью на должность Golang разработчика (и немножко техлида) решил записывать в этой заметке в формате FAQ те вопросы, которые я задавал, задавали мне или просто были мной найдены на просторах сети вместе с ответами на них. Стоит относиться к ним как к шпаргалке (если затупишь на реальном интервью — будет где подсмотреть) и просто набору тем, которым тебе стоит уделить внимание.


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


Да, это очень объемный пост, и вряд ли его можно вдумчиво осилить за один подход, но поместив его в закладки он, возможно, когда-то сослужит вам добрую службу (читать его можно по частям, находясь в метро или между вечными совещаниями; да и Ctrl + F никто не отменял). Ещё ему очень не хватает оглавления для удобной навигации между вопросами, но у хабраредактора нет возможности генерировать TOC (если будут запросы об этом в комментариях — сделаю его руками). Об очепятках, пожалуйста, пишите в личку.

Читать дальше →
Всего голосов 40: ↑37 и ↓3+37
Комментарии16

Как разрабатывать сотни A/B экспериментов

Время на прочтение8 мин
Количество просмотров4.5K
А/Б-тестирование — это способ измерить эффективность нового функционала путем сравнения. Вы создаете новый заголовок, кнопку или изображение и показываете их только части аудитории сайта. В течение нескольких недель собираете статистику об использовании нового функционала и на основании этого принимаете решение об открытии новой фичи для 100% пользователей.

Senior Frontend Developer ЦИАН Иван Бабков, который разрабатывал приложения для регистрации доменов, интернет-банкинга и поиска по жилой недвижимости в своем докладе на конференции FrontendConf рассказал об инфраструктуре компании для работы с А/Б-экспериментами, проблемах и путях их решения.

image

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии1

PhpStorm 2020.3: PHP 8, атрибуты, PHPStan и Psalm, Xdebug 3, Tailwind CSS и совместная разработка

Время на прочтение13 мин
Количество просмотров30K


Рады представить финальный мажорный релиз PhpStorm в этом году! Под катом подробный разбор всех изменений и новых возможностей.
Всего голосов 37: ↑36 и ↓1+46
Комментарии134

Веб-разработка с нуля: руководство для молодых команд по созданию инфраструктуры CI/CD и процесса разработки

Время на прочтение12 мин
Количество просмотров32K

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


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

Внутренний перфекционист жаждал организовать всё правильно. Делюсь результатами поисков ответа на вопрос: «а как, собственно, “правильно”»?


Мы добились


  • Легкого и быстрого деплоя в production (ради эксперимента выводили каждый день две недели подряд);
  • Гарантию защищённости от ошибок из-за различий в окружении приложения;
  • Можем организовать эффективное взаимодействие с заказчиком:
    • демонстрировать каждую feature-ветку;
    • давать гостевой доступ для создания задач и наблюдения над ходом работ.

Данная статья будет полезна, если вы:


  • начинающая IT-компания или в первый раз столкнулись с работой в команде над большим проектом;
  • хотите обновить свой устаревший процесс разработки (workflow);
  • ищете лучшие практики и хотите посмотреть, как у других;
  • часто натыкаетесь на статьи про DevOps, CI/CD, облака и хотите, чтобы у вас одним нажатием кнопки создавались тестовые окружения, а очередное обновление прода не было рулеткой.

Под катом вы найдёте


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

Читать дальше →
Всего голосов 19: ↑18 и ↓1+28
Комментарии48

Изучаем использование памяти MySQL с помощью Performance Schema

Время на прочтение5 мин
Количество просмотров9.9K

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

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

Все это изменилось в MySQL 5.7, который добавил инструментарий для отслеживания памяти в Performance Schema, а в MySQL 8.0 этот инструментарий стал включен по умолчанию, поэтому вы можете получить эти данные практически с любого работающего инстанса.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии7

Как я за вечер написал быструю CMS для статических сайтов по правилам бизнес-логики в одном файлике

Время на прочтение5 мин
Количество просмотров13K

Не Wordpress-ом единым


Не Wordpress-ом единым

Рынок CMS длительное время оставался местом, где Wordpress, Joomla, Drupal — тройка абсолютных лидеров. Эти прекрасные времена уже постепенно проходят, хотя WP, сбавляя в динамике появления новых сайтов, все ещё сохраняет лидерство. Не мудрено: активное сообщество, огромное количество плагинов. Но, эта статья вовсе не будет посвящена “восходящим звёздам” рынка систем управления контентом (привет, решениям на базе Laravel). Скорее даже, объектом нашего внимания будет “черная материя”, которая находится несколько в стороне. А именно — барабанная дробь…
Читать дальше →
Всего голосов 32: ↑13 и ↓19+3
Комментарии43

Laravel–Дайджест (7–13 сентября 2020)

Время на прочтение2 мин
Количество просмотров5.3K

Страсти по Laravel UI — сообщество против Тейлора. Лучшие практики безопасности Laravel-приложений. Уроки по новым возможностям восьмой версии фреймворка. Подробный обзор Laravel JetStream.


Laravel Дайджест

Читать дальше →
Всего голосов 5: ↑3 и ↓2+2
Комментарии3

Laravel-Дайджест (10–16 августа 2020)

Время на прочтение1 мин
Количество просмотров3.7K

Подборка новых статей по фреймворку Laravel. Некоторые подробности о Laravel 8. Как правильно писать масштабируемые приложения. Интеграция Paypal и Pusher.


Laravel Дайджест

Читать дальше →
Всего голосов 5: ↑4 и ↓1+5
Комментарии0

Вышел релиз GitLab 13.2 с планированием итераций и нагрузочным тестированием производительности

Время на прочтение32 мин
Количество просмотров3K

Картинка для привлечения внимания


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

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

PhpStorm 2020.2: объединенные типы PHP 8, новый движок потока управления, пул-реквесты GitHub, OpenAPI

Время на прочтение8 мин
Количество просмотров12K


Привет, Хабр! Рады представить второй мажорный релиз PhpStorm в этом году!

Под катом подробный разбор всех заметных изменений и новых возможностей. Осторожно — много картинок.
Всего голосов 37: ↑37 и ↓0+37
Комментарии42

Победители конкурса стартапов The Europas Awards 2020

Время на прочтение11 мин
Количество просмотров14K


На Хабре часто пишут про новые технологии и яркие стартапы. Но почему-то до сих пор никто не рассказал об итогах конкурса The Europas Awards 2020, хотя там есть и российские победители. Cloud4Y исправляет эту оплошность.

В прошлом году Europas Awards для европейских технических стартапов проводился в формате вечеринки в солнечном саду рядом с историческим музеем в Лондоне. В этом году, в связи с глобальной пандемией коронавируса, мероприятие прошло в Zoom. И, как считают организаторы, было успешным. 
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии2

Изучаем net/context в Go

Время на прочтение11 мин
Количество просмотров62K
Не секрет, что основная ниша использования Go это сетевые сервисы: всевозможные серверы, бекенды, микросервисы, распределенные базы данных и файловые хранилища. Такой класс программ очень активно использует сетевые запросы, весь необходимый функционал для которых есть в стандартной библиотеке, но один аспект разработки сетевых архитектур остается для многих темным пятном — контексты запросов. В этой статье я хочу рассмотреть этот аспект повнимательней и показать, какой это мощный и важный инструмент.


Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии8

10 советов по тестированию в Symfony

Время на прочтение7 мин
Количество просмотров8.7K

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

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

Этого достигли с помощью многочисленных функциональных тестов Symfony и некоторых модульных тестов, которые заполнили некоторые пустоты. Общее покрытие было около 50-52 %, но покрытие критически важной функциональности было гораздо выше. Это придавало достаточно уверенности, чтобы добавлять новые функции без ручного тестирования.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+28
Комментарии10

Тонкая настройка балансировки нагрузки

Время на прочтение22 мин
Количество просмотров48K
В этой статье речь пойдет о балансировке нагрузки в веб-проектах. Многие считают, что решение этой задачи в распределении нагрузки между серверами — чем точнее, тем лучше. Но мы же знаем, что это не совсем так. Стабильность работы системы куда важнее с точки зрения бизнеса.



Маленький минутрый пик в 84 RPS «пятисоток» — это пять тысяч ошибок, которые получили реальные пользователи. Это много и это очень важно. Необходимо искать причины, проводить работу над ошибками и стараться впредь не допускать подобных ситуаций.

Николай Сивко (NikolaySivko) в своем докладе на RootConf 2018 рассказал о тонких и пока не очень популярных аспектах балансировки нагрузки:

  • когда повторять запрос (retries);
  • как выбрать значения для таймаутов;
  • как не убить нижележащие серверы в момент аварии/перегрузки;
  • нужны ли health checks;
  • как обрабатывать «мерцающие» проблемы.

Под катом расшифровка этого доклада.

Всего голосов 51: ↑49 и ↓2+47
Комментарии17

Чистая архитектура на PHP. Как её измерять и контролировать?

Время на прочтение24 мин
Количество просмотров25K

Предисловие


Как ты уже понял из названия, говорить я тут собрался о самом, что ни на есть, “высоком” — Чистой архитектуре. А толчком к развитию всей этой истории послужила книга Роберта Мартина “Чистая архитектура”. Если еще не читал, осмелюсь порекомендовать! Автор раскрывает много важных тем, активно делится своим богатым жизненным опытом (из проф. области естественно) и сделанными на его основе выводами, эпизодически вплетает в главы истории о том, как виртуозно говнокодили (ну и не только, конечно же) наши отцы и деды в далёких 60-х, 70-х, 80-х и даже лихих 90-х, как по крупинкам собирали всеми любимые принципы SOLID и их аналоги в мире компонентов, и чему научились за прошедшие полвека. В процессе чтения книги хорошо прослеживается линия развития индустрии разработки ПО, типичные проблемы, с которыми пацанам приходилось сталкиваться, и способы их решения.

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

Мне кажется, статья будет полезна всем. Те, кто с книгой уже знаком, смогут освежить в своей памяти некоторые ее моменты, или просто пропустить первую часть и сразу приступить к знакомству с инструментом. Те, кто ранее книгу не читал, возможно, и в первой части найдут для себя что-то новое.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+30
Комментарии23

Удаленка: что изменилось при COVID-19 и кому сейчас даже лучше, чем было до

Время на прочтение4 мин
Количество просмотров2.4K
В прошлом посте, где я рассказывал о своем пути из фриланса в бизнес, я говорил о том, как важно найти себя в узкой нише, а именно – на пересечении двух дисциплин, или крутого скиллсета и определенной индустрии.

Что сказать. Полтора месяца карантина еще раз показали правдивость этого утверждения – говорю это как со-основатель компании, которая ищет удаленных “сеньоров” в зарубежные компании и стартапы. У узких специалистов с хорошим английским все отлично. Менее узкие и с менее английским… Кому как повезло (спойлер: не повезло почти никому).
Читать дальше →
Всего голосов 17: ↑7 и ↓10+2
Комментарии5
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность