Как стать автором
Обновить
-2
0
Алексей Попов @LeGront

Пользователь

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

Шаблон Go-микросервиса для начинающих от .NET разработчика. Часть 1

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

Привет, Хабр! У многих разработчиков на .NET вызывает интерес относительно свежий язык программирования Go (Golang). Однако при поиске информации и учебных материалов он может отпугивать. Нам предлагается забыть все удобное и красивое, чему нас научила .NET, и принять что-то новое, но кажущееся непривычным и не всегда приятным.

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

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

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

Headless eCommerce на Laravel: Погружение в модульную архитектуру

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

Привет, Habr! Меня зовут Тальгат Хайруллов, я руководитель команды разработки в компании CS-Cart. В статье расскажу, как мы поверх Laravel реализовали фреймворк для быстрой и гибкой разработки API продукта с модульной архитектурой.

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

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

Как получить оффер на 180к с помощью ChatGPT?

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

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

Читать далее
Всего голосов 30: ↑17 и ↓13+10
Комментарии69

Книги для Golang-разработчиков: подборка для программистов с опытом

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

Привет, Хабр! Относительно недавно мы уже публиковали подборку книг по Go для начинающих разработчиков. Теперь пришёл черёд изданий для специалистов с опытом. В этой статье рассказываем о книгах для программистов, у которых уже есть опыт работы с Golang и кто готов двигаться дальше. Книги актуальные, написаны как на русском, так и на английском языке. Как всегда, просьба: если у вас есть собственные предпочтения, расскажите о них в комментариях.

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

Лучшая фантастика последних трех лет по версии Goodreads

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

GoodrGoodreads — пожалуй, главный книжный сайт англоязычного интернета. Недавно он составил список самых популярных фантастических книг за 2020-2023 годы, опираясь на мнение пользователей. К сожалению, на русский язык переведено далеко не все, однако даже те книги, которые уже можно прочитать в переводе, составляют внушительный список. Вот он.

Читать далее
Всего голосов 50: ↑46 и ↓4+54
Комментарии186

Open Source решение на React для быстрого создания панели управления в проекте

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

Мы занимаемся разработкой на аутсорсе. Часто стартуем новые проекты. Не работаем с готовыми CMS – всё на фреймворках с нуля, обычно PHP, node.js у нас на бекенде. В таких проектах постоянно требуется создавать панель управления. 

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

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

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

Как сделать свой AnythingGPT, отвечающий на вопросы так, как вам это необходимо (Python, OpenAI Embeddings, ChatGPT API)

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

Всем привет! Недавно я на практике применил одно интересное решение, которое давно хотел попробовать, и теперь готов рассказать, как своими руками такое можно сделать для любой другой аналогичной задачи. Речь пойдет о создании своей кастомизированной версии ChatGPT, которая отвечает на вопросы, учитывая большую базу знаний, которая по длине не ограничивается размером промта (то есть вы бы не смогли просто добавить всю информацию перед каждым вопросом к ChatGPT). Для этого будем использовать контекстные эмбеддинги от OpenAI (для действительно качественного поиска релеватных вопросов из базы знаний) и сам СhatGPT API (для оборачивания ответов в натуральный человеческие ответы). При этом, также предполагается, что ассистент может отвечать не только на прямо указанные в Q&A вопросы, но и на такие вопросы, на которые смог бы отвечать человек, который ознакомился с Q&A. Кому интересно научиться делать простых ботов, отвечающих по большой базе знаний, добро пожаловать под кат.

Под кат
Всего голосов 12: ↑12 и ↓0+12
Комментарии15

Постановка задач в очередь Laravel сторонними сервисами

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.1K

При работе над проектом (будь-то хайповые микросервисы или монолит) довольно часто возникает ситуация, когда необходимо, чтобы один сервис поставил задачу для другого сервиса. Задача довольно тривиальная, если на обеих сторонах используется один и тот же фреймворк. Но все становится намного интересней, когда на стороне подписчика допустим Laravel со своим дефолтным форматом, а на стороне издателя что‑то модное на Go.

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

Шпаргалка по SQL (postgres), которая выручает меня на собесах

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

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

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

Читать далее
Всего голосов 156: ↑149 и ↓7+177
Комментарии178

Движок для игры от первого лица в 265 строках Javascript

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

Сегодня окунёмся в мир, который можно потрогать. В этой статье мы исследуем, как с нуля, быстро и без особо сложной математики написать движок для игры от первого лица. Для этого мы воспользуемся приёмом под названием «бросание лучей» (raycasting). Возможно, вы видели примеры такой техники в играх Daggerfall и Duke Nukem 3D, а из более свежего – в статьях из «ludum dare» от Нотча Перссона. Что ж, для Нотча это неплохо, но не для меня! Вот демка (управление стрелками и тачпадом) [источник].
Читать дальше →
Всего голосов 61: ↑60 и ↓1+76
Комментарии36

Как сделать авторизацию блокчейне TON на DART с помощью кошелька через TON Connect

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

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

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

Как «эффективный менеджмент» создаёт катастрофы: изучаем причины техногенных аварий. Часть 1

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров75K

Когда в бизнес приходят «эффективные менеджеры», стоит ждать беды. С программами урезания расходов, подкручиваниями KPI и прочими странными решениями бизнес может в краткой перспективе получить даже какую‑то выгоду для себя, но довольно быстро сталкивается с проблемами: сложно продать или просто угробить курицу, несущую золотые яйца, и ожидать, что золотые яйца продолжат появляться.

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

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

Погрузиться в бездны катастроф
Всего голосов 192: ↑188 и ↓4+231
Комментарии374

Какие 5 особенностей мышления помешают вам перейти из найма в бизнес

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

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

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

Как получить 30 удаленных работ? Опыт 300 собеседований. 9 неочевидных советов для соискателя

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров67K

Этот метод дал мне конверсию 50% из собеседования в оффер на вакансию «маркетолог» с доходом от 70к.

Меня зовут Слава, 4 года назад я работал маркетологом в агентстве. И решил поискать работу мечты на hh.ru. Я знал, что даже есть агентства, которые закрывают себе клиентов на hh.ru.

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

Читать далее
Всего голосов 50: ↑36 и ↓14+30
Комментарии52

Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала

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

В рубрике «Выдающиеся программисты 21 века» уже была статья про гения программирования Джона Кармака, создателя движков для Doom, Quake и других культовых игр. Потом он занялся разработкой ракет (они в Armadillo Aerospace реализовали вертикальную посадку раньше SpaceX), а затем — систем VR, софта для Oculus Rift и других устройств. Сейчас началась четвёртая фаза в его карьере.

В интервью изданию Dallas Innovates 52-летний Кармак рассказал о новом проекте — системе сильного ИИ (AGI), над которым он работает самостоятельно, без участия больших корпораций, как отшельник в своём особняке в Далласе.

Сильный ИИ общего назначения не будет уступать среднему человеку в понимании происходящего и решении проблем. По оценке Кармака, с вероятностью 60% такая система (альфа-версия) будет создана до 2030 года, с вероятностью 95% — до 2050 года. Это самая важная и интересная задача, которая сейчас стоит перед человечеством.
Читать дальше →
Всего голосов 74: ↑71 и ↓3+93
Комментарии94

Пишем расширение Chrome, которое ворует вообще всё

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

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

Мы добьёмся двух целей:

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

Примечание: на самом деле реализация этого расширения — злодейство. Вам не следует использовать в злонамеренных целях полномочия расширений, красть пользовательские данные и создавать зловредные браузерные расширения. Любые реализации, производные расширения или применение этих техник без разрешения Национальной баскетбольной ассоциации не рекомендуются.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+37
Комментарии12

Как я вывел математический способ определить степень вашей финансовой свободы

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

С помощью нехитрой математической формулы мы с вами сегодня займемся вычислением того, где находится степень вашей личной финансовой свободы на шкале между сомалийским фермером и кремниевым Цукербергом. Ну, точнее, сначала нам придется придумать, как их между собой сравнивать – и поможет нам в этом KFC!

Читать далее
Всего голосов 46: ↑42 и ↓4+55
Комментарии164

Ansible: 30 самых важных модулей для DevOps-профессионалов (часть 1)

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

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

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

В этой части мы рассмотрим модули проверки подключения хоста, а также целевого узла (модуль ping), модуль, который может извлекать информацию с целевого узла (модуль setup), модули управления существующим пакетом и установки новых пакетов (yum, apt, package, pip и npm модули), а также модуль запуска базовых команд и скриптов на целевых узлах (raw, command, shell и script модули).

Итак, начнём..

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

Не мешайте мне работать! Ну пожалуйста

Время на прочтение11 мин
Количество просмотров38K
В 2010 году одно из крупных издательств объявило конкурс на лучшее произведение в стиле офисного романа. Мне об этом рассказала моя уже бывшая коллега за обедом. Она собралась писать и подавать рукопись. На моё удивление она ответила: «А что здесь сочинять? Бери и описывай наш коллектив, тот ещё офисный детектив с элементами хоррора». И то правда: офис из полтысячи сотрудников был богат на интриги, конфликты, локальные серпентарии и уничтожение самооценки человека. Самое интересное, что речь шла об IT-компании, одной из лучших на тот момент. В этой компании было немало ребят, которые задавались вопросом, а можно ли просто спокойно поработать, не ввязываясь в баталии и битвы с местными сколопендрами. Как показал дальнейший опыт, этот вопрос звучит почти везде. Так что же мешает работать, кроме устаревшей техники и медленного интернета, которые почти повсеместно удаётся извести?

Добро пожаловать в молодую, успешную, позитивную, динамично развивающуюся команду!
Читать дальше →
Всего голосов 71: ↑54 и ↓17+53
Комментарии67

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

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

Я люблю давать простые задачки студентам на лекции. Во-первых, понятно, скольких мы потеряли, во-вторых, это переключение из режима потребления информации в режим выдачи результатов, в третьих — возможность проявить себя для шустрых. Сплошные плюсы!

Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.

Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все). 

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

И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека. 

Кому интересно как теряют мозг студенты масштабы бедствия и что с этим делать — добро пожаловать под кат!

Читать далее
Всего голосов 324: ↑308 и ↓16+373
Комментарии795

Информация

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