Разное

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

Шесть принципов, которые помогут лучше писать модули для iOS-приложений

Шесть принципов, которые помогут лучше писать модули для iOS-приложений

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

Три нашумевших диаграммы. Исследование JavaScript в 2018

Вы думали статистика и графики — это скука? Подумайте ещё раз… Нашумевший — это буквально самое заезженное слово в интернете, если не считать слово «буквально». Но в этот раз — это...
8 главных качеств технического менеджера

8 главных качеств технического менеджера

Один мой близкий друг, получив повышение и возглавив команду инженеров ПО, обратился ко мне за советом. И я призадумался, а что, собственно, порекомендовать? Книги?...
20 продвинутых проектов для освоения сложных концепций программирования

20 продвинутых проектов для освоения сложных концепций программирования

Теория не заменит практики. Попробуйте свои силы в выполнении интересных проектов.
Pair Programming

Плюсы и минусы парного программирования

Многие программисты скептически относятся к парному программированию: технике разработки программного обеспечения, при которой за одним рабочим местом работают два программиста. Я часто слышу: «Звучит как пустая...
Pandas

Вычислительные затраты на написание чистого кода

Почему иногда люди пишут подобный код? var = float(str(alist).split())/3+float(alist) Ответ прост: чтобы сэкономить вычислительное время. Стоит только написать это в четыре строки… var = alist[::-1][0] var = str(var).split()[1:4] var...
Легко и быстро: автоматизация развертывания AWS EC2 с GitHub Actions и Docker Hub

Легко и быстро: автоматизация развертывания AWS EC2 с GitHub Actions и Docker Hub

Пошагово настроим экземпляр AWS EC2, создадим и добавим в DockerHub образ Docker и настроим рабочий поток Github Actions. В итоге научимся автоматизировать и оптимизировать рабочий процесс развертывания, уменьшая риск человеческой ошибки.
SQL или NoSQL: как правильно выбрать базу данных?

SQL или NoSQL: как правильно выбрать базу данных?

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

Программирование- это искусство и никак иначе!

Программирование, на первый взгляд, носит маску науки и служит тому, чтобы приложения, с которыми мы работаем ежедневно, функционировали как следует. Но в действительности оно — нечто...
Docker

Почему вы должны обратить внимание на Docker?

Когда я гуглил информацию о фреймворках глубокого обучения (deep learning), я заметил, что почти каждый из этих фреймворков поддерживался Docker. В итоге у меня...
Education JavaScript

Как мой 10-летний сын выучил Javascript 

“Папа . . . А чем ты зарабатываешь на жизнь?” Этот неожиданный вопрос заставляет нас, родителей, испытать чувство гордости. Так как он означает, что ребенок наконец-то видит в...
Как удалять локальные ветки с помощью псевдонимов Git

Как удалять локальные ветки с помощью псевдонимов Git

Мы не из тех, кто упускает отличные возможности улучшить рабочие процессы Git! В данном руководстве учимся создавать псевдонимы Git и с их помощью удалять локальные ветки.
Новая большая речевая модель Watson от IBM предоставит голос генеративному ИИ

Новая большая речевая модель Watson от IBM предоставит голос генеративному ИИ

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

8 умных способов сохранять цифровую приватность

Неважно, как вы пользуетесь Интернетом: вполне вероятно, вашу Интернет-активность отслеживают. Недавно Натали Тридман рассказала, как люди неосознанно делятся своим местоположением. Нет, не нужно отказываться...
Flutter и SonarQube для статического анализа кода

Flutter и SonarQube для статического анализа кода

За 8 шагов настроим SonarQube с Flutter на Apple Silicon Mac, используя Docker. Погнали!
.NET Aspire - стремление к рациональному подходу в сфере облачной разработки

.NET Aspire — стремление к рациональному подходу в сфере облачной разработки

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

Результаты ежегодного опроса программистов «New Coder Survey 2018»

Более 31.000 человек приняли участие в ежегодном опросе программистов со всего света, под названием New Coder Survey, предоставив исследователям беспрецедентные сведения о том, как...
5 S-принципов в программировании

5 S-принципов в программировании

Хотите прокачать свой уровень разработки, но не знаете, с чего начать? Возьмите на вооружение 5 S-принципов из производственного опыта компании "Тойота".
Scala

Хватит использовать Pandas, пора переходить на Spark + Scala!

Переход с Pandas на Spark и Scala не настолько труден, насколько вы можете предположить, при этом в итоге ваш код будет выполняться быстрее, и,...
Education

О чём не говорят инженеры ПО

Здесь, на Medium, на YouTube и во всем интернете люди говорят о том, как они стали программистами без степени в компьютерных науках. Некоторые переходят...
Реализация захвата изменения данных с Docker, PostgreSQL, MongoDB, Kafka и Debezium: подробное руководство

Реализация захвата изменения данных с Docker, PostgreSQL, MongoDB, Kafka и Debezium: подробное руководство

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

В борьбу с коронавирусом вступил мощнейший в мире суперкомпьютер

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

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

Разработчики пишут код большую часть времени, внося таким образом вклад в проекты, которые входят жизненный цикл разработки ПО. Как правило, чтобы стать известным разработчиком,...
Life Lessons

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

Очень важно соблюдать баланс между работой и личной жизнью. Этот баланс важен и для фрилансеров, и для тех, кто работает в офисе с 9...
Software

Мои заметки по программной инженерии

О процессе разработки Код предназначен не только для его непосредственного выполнения, но он также является средством общения в команде и способом описать другим решение...
Тенденции в области программного обеспечения в 2022 году: 22 прогноза

Тенденции в области программного обеспечения в 2022 году: 22 прогноза

Прогнозирование - задача непростая. И все же попробуем заглянуть в будущее и предсказать наиболее важные тенденции в индустрии разработки ПО в 2022 году.
Как добавить в проект тестирование скриншотов с Cypress

Как добавить в проект тестирование скриншотов с Cypress

Разработчиков, как правило, заботит качество кода. Есть различные виды тестов, которые помогают избежать ситуаций, когда код ломается после добавления в проект новой функции. Но...
Github

Top 100 наиболее популярных репозиториев на GitHub

GitHub стал не просто хостингом для хранения кодов, а огромным сообществом разработчиков. Масштабы GitHub колоссальны: более 30 миллионов аккаунтов, более 2 миллионов организаций и более...
8 строгих правил Илона Маска для сотрудников

8 строгих правил Илона Маска для сотрудников

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

Практическое предметно-ориентированное проектирование

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

Битва трендов: React vs Angular vs Vue

Подождите, по-моему, я уже писал на эту тему… Да, но слишком многие жаловались, что я так и не сказал, что же лучше. Поэтому в...

Признаки настоящего сеньора

Сеньор. Кто он? Можно называть разработчика сеньором, исходя из опыта работы, но спектр навыков программистов настолько широк, что это не всегда отражает истинный профессионализм. Наличие...
Как программирование избавляет от стресса

Как программирование избавляет от стресса

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

Какую СУБД начать изучать в первую очередь?

Какую систему баз данных стоит изучить в первую очередь? И стоит ли вообще изучать какие-либо СУБД, ведь для этой работы есть специально обученные люди? Да,...
Как сделать чистый код еще чище

Как сделать чистый код еще чище

Предлагаем практический пример улучшения, казалось бы, чистого кода на сетевом и UI-уровне. Посмотрите, как в процессе продуманного рефакторинга - путем удаления всего лишнего (вложений, типов), уменьшения отступов, выполнения модульной разбивки - можно повысить уровень читаемости и производительности проекта.
Vim

Стоит ли разработчику изучать VIM в 2020 году?

Введение Небольшая предыстория для понимания контекста. В конце 2018 года я всерьез занялся программированием, решив развивать карьеру. До этого я создавал (довольно плохие) сценарии для...
IT job

Как получить работу в крутой компании

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

Как вернуть былой энтузиазм к программированию

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

Как выбрать правильного партнера при разработке программной платформы

Давайте признаем, ко всем однажды приходила гениальная идея крутого нового приложения, которое должно захватить рынок. К сожалению, в такой ситуации мы не учитываем, насколько...
Jupyter

Как делать заметки как программист

Когда я был мал — писал ужасные конспекты: они представляли из себя тетради с грязным текстом и плохой структурой. Практически бесполезные. Потом, когда я открыл...
3 основных закона разработки ПО

3 основных закона разработки ПО

Чтобы стать инженером-программистом, требуются годы обучения. Однако основные принципы, на которых базируется подход к разработке программного обеспечения, можно свести к 3 фундаментальным законам.
Руководство по Git для новичков

Руководство по Git для новичков

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

5 ключевых правил успешного ревью кода

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

Сильные и слабые стороны метавселенной

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

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

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

Форматы .tar .zip .gz: Различия и эффективность

Вы наверняка встречали файлы с расширением .tar, .zip или .gz . А знаете ли вы, чем они отличаются, почему мы их используем, и какой формат наиболее эффективен? Различия между...
Путешествие c LLM: от PoC к производству

Путешествие c LLM: от PoC к производству

Мощь больших языковых моделей (LLM) очевидна. Но так ли легко обеспечить их всем необходимым? Сегодня мы пройдем путь работы над LLM - от доказательства концепции до производства - и поговорим о том, какие меры предпринять и каких подводных камней избегать.
Software Document

Как написать хороший проектный документ

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

Какие вопросы задавать HR-менеджеру во время собеседования

Последние 6 недель я только и делала, что проходила собеседования на роль middle-разработчика программного обеспечения в Амстердаме. Амстердам — это очень большой город, и собеседований я...
Генерирование синтетических обучающих данных с поддержкой масштабирования для задач NLP с помощью T0PP

Генерирование синтетических обучающих данных с поддержкой масштабирования для задач NLP с помощью T0PP

Проблемы с производством тренировочных данных для моделей МО? На помощь приходит мощный инструмент T0PP!
Python

Как организовать код в Python

Если вы занимаетесь вычислительными исследованиями или наукой о данных, но у вас нет опыта в области компьютерных наук, то вы, вероятно, создали удивительные научные...
16 полезных расширений для SwiftUI

16 полезных расширений для SwiftUI

Предлагаем несколько примеров полезных сниппетов кода, которые можно неоднократно использовать в проектах.
Дизайн для искусственного интеллекта

Дизайн для искусственного интеллекта

Чем дизайн для ИИ отличается от традиционного дизайна? Расскажем про преимущества и недостатки использования ИИ в UX-дизайне, а также рассмотрим перспективы развития данного вида дизайна.
Data Science

Мой опыт работы с Data Scientist, будучи программным инженером

Предыстория В конце 2017 года я начал проявлять интерес к такой области, как машинное обучение. По специальности я Android Engineer, и в этой статье я...
Remote First: программисты не должны работать в офисе

Remote First: программисты не должны работать в офисе

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

Портрет плохого программиста

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

Как правильно учиться Java-программированию: история одного тьютора

Моя история Все началось больше десяти лет назад. Решив стать программистом, я начал изучать несколько языков, чтобы в конечном итоге найти «свой» язык. В Java я...
Разрабатываем приложения для распознавания речи с помощью Python

Разрабатываем приложения для распознавания речи с помощью Python

Хотите создать своего голосового помощника и превзойти Siri и Яндекс Алису, но не знаете, с чего начать? Рассказываем и показываем, как работает распознавание речи на примере двух простых приложений, и советуем, как применить эти знания на практике.
Learning

9 полезных расширений для 2020 года

Refined GitHub Refined Github упрощает интерфейс Github и добавляет полезные функции. «Мы надеемся, что Github заметит и реализует некоторые из этих необходимых улучшений. Поэтому, если вам...
Простой способ решить алгоритм Apriori с нуля

Простой способ решить алгоритм Apriori с нуля

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

Технология составления промптов для модели ИИ на примере одного чат-бота 

Научимся составлять инструкции для моделей ИИ на примере конкретного чат-бота. Рассмотрим такие этапы процесса, как определение концепции мышления модели, установка контекста и формата вывода ответа, построение вопроса и проверка вывода.
Programmer Technician

Падение разработчиков ПО, рост специалистов по программированию

История Заглянув в истоки информатики, можно обнаружить, что изначально она не только не имела такого названия, но и не преподавалась ни в одном университете. Информатика...
Interviews

Несколько советов, которые помогут вам на собеседовании и не только

Зачастую, получить первую должность в качестве разработчика крайне трудно. Как убедить человека принять вас на работу, если опыта как такового и нет? Какие вещи знать...
Education

Учим ИИ отвечать на сообщения

Введение Глубокое обучение применяется во многих задачах NLP вроде перевода, добавления титров к изображениям и систем поддержки диалога. В машинном переводе оно используется для преобразования...
Clean Code

Комментарий в коде написать - всё равно, что проиграть

Могу себе представить, какое бурное негодование вызвал у вас лишь заголовок данной статьи, но не спешите бросать в меня камни и просто выслушайте. Уместные...
Топ-7 онлайн-редакторов кода и IDE

Топ-7 онлайн-редакторов кода и IDE

Какие онлайн-редакторы кода и полноценные IDE позволяют повысить производительность? Обзор лучших инструментов, похожих на VSCode, поможет вам сделать правильный выбор.
Создание модели Mixture of Experts (MoE) с помощью MergeKit

Создание модели Mixture of Experts (MoE) с помощью MergeKit

Объедините с помощью MergeKit несколько моделей в один коллектив экспертов (MoE). Предлагаем подробное описание процесса создания многозадачной и высокопроизводительной модели frankenMoE, не требующей предварительного обучения.
Возможности Docker, о которых вы не знали. Часть 1

Возможности Docker, о которых вы не знали. Часть 1

Ознакомьтесь с расширенными возможностями, используемыми продвинутыми Docker-пользователями. В 1-й части вы узнаете о таких практиках, как многоэтапные сборки, сжатие слоев образов, управление секретами BuildKit, ускорение сборки с помощью файла .dockerignore, проверка “здоровья” в Docker-файлах и форматирование вывода Docker CLI.
Education

Искусство упрощения для программистов

Недавно я наткнулся на очень интересную книгу авторства Nagisa Tatsumi. Называется она “Искусство упрощения: как избавиться от беспорядка и найти радость” (“The Art of...
Как оставаться в тренде dev-индустрии

Как оставаться в тренде dev-индустрии

Вряд ли кто-либо станет отрицать актуальность этого вопроса для большинства разработчиков: “Как оставаться в курсе последних новостей в области разработки, ее трендов и технологий?” Этот...
Различные модели машинного обучения

Различные модели машинного обучения 

Что же такое машинное обучение? И почему оно так плотно связано с нашей повседневной жизнью? Отвечаем на эти и сопутствующие вопросы.
Software Development

10 тенденций в разработке программного обеспечения в 2019 году

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

10 способов повысить эффективность RAG-системы

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

Программирование на квантовых компьютерах: какой язык учить?

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

Этические аспекты клонирования голоса и возможности его применения

Если вы до сих пор считаете, что понятия “клонирование голоса” и “дипфейк” новы, то ошибаетесь. Первые опыты по имитации человеческого голоса проводились уже в...
#03TheNotSoToughML | Регрессия: Ошибки → Спуск с вершины горы

#03TheNotSoToughML | Регрессия: Ошибки → Спуск с вершины горы

По меткому высказыванию Педро Домингоса, машинное обучение - это результат слияния необъяснимой эффективности математики с такой же необъяснимой эффективностью данных. Некоторые склонны впадать в панику при беглом знакомстве с МО, полагая, что оно требует сложнейших математических вычислений. В специальной серии статей мы поставили перед собой задачу развеять этот миф.
Механизм повторных попыток в Spring Boot: @Retryable и @Recover

Механизм повторных попыток в Spring Boot: @Retryable и @Recover

Реализуем обработку временных сбоев в Spring Boot, рассмотрим аннотации для соответственных поведений. Проверим механизм в действии, отправив HTTP-запрос.
Linux

5 настроек рабочего стола Linux для разработчиков

Linux: программируйте удобнее Как только я начал работать из дома, я решил, что пришло время капитального ремонта рабочего стола. В офисе я обычно использую MacBook...
Education

Всё, что вы хотели знать об отладке в IntelliJ IDEA

Отладка — это один из самых важных этапов процесса разработки. И дело не только в том, что устранение ошибок занимает, вероятно, большую часть времени: она также...
Education

Как мне не удалось совладать с устаревшим кодом

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

Чистая архитектура: руководство для начинающих

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

Собеседование Java разработчика. Наиболее Часто Задаваемые Вопросы

В этом посте, я с удовольствием раскрою, вероятно, большинство возможных вопросов на Java-собеседовании, от простых до самых сложных. Чем отличаются статические методы и переменные...
3 ошибки на собеседованиях по программированию, из-за которых можно получить отказ

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

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

4 ключевых аспекта проектирования распределенных систем

Что конкретно подразумевают надежность, доступность, масштабируемость и обслуживаемость? В чем заключается важность этих характеристик распределенных систем?
Что мы ожидаем от разработчиков на каждом уровне

Что мы ожидаем от разработчиков на каждом уровне

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

Повышение эффективности промпт-инжиниринга путем поиска по программам в символьной записи

Хотите быстро находить лучшие промпты в большом наборе их вариантов? У вас есть уникальная возможность делать это автоматически с помощью Python-библиотеки SAMMO, следуя пошаговому руководству от ее автора и достигая значительной производительности
5 Команд Linux, заставляющих ахнуть от удивления

5 Команд Linux, заставляющих ахнуть от удивления

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

Разработчики, которые постоянно что-то изучают — вот вам совет!

Я видел много людей, среди разработчиков, которые постоянно находились в состоянии разочарованности и неуверенности в себе. Это происходило из-за того, что они постоянно пытались...
Менеджеры пакетов NPM, PNPM и YARN

Менеджеры пакетов NPM, PNPM и YARN

Не знаете, какой из менеджеров пакетов  —  NPM, YARN или PNPM  —  больше подойдет для вашего JS-проекта? Прежде чем принять решение, рассмотрите сильные и слабые стороны каждого варианта.
Почему западные приложения более минималистичны, чем азиатские?

Почему западные приложения более минималистичны, чем азиатские?

Узнаем, чем отличаются культуры коллективизма и индивидуализма. Изучим влияние этих культур на онлайн-коммуникацию, а также UI/UX дизайн. Выделим основные различия двух культур и узнаем, как улучшить локализацию продукта.
Создание языковой модели для чатов

Создание языковой модели для чатов

Хотите создать чат-бота, способного имитировать непринужденный стиль переписки с друзьями? Предлагаем наглядное руководство по интеграции GPT с приложением.
Сначала графдизайн создать, потом код написать

Сначала графдизайн создать, потом код написать

Рассмотрим важность создания графического дизайна приложения до написания кода и нарисуем диаграмму последовательности с помощью пакета pgf-umlsd.
Расширяем возможности собственного мозга на базе ИИ, Python и ChatGPT

Расширяем возможности собственного мозга на базе ИИ, Python и ChatGPT

Многие жалуются на провалы в памяти или с трудом пытаются вспомнить важную информацию, когда она необходима. Уследить за всем в нашем мире непросто, запоминание...
Interview

Худшие способы нанять хороших программистов

Хорошее собеседование  —  это просто неформальная беседа двух увлеченных программистов Чарльз Баркли поразительно точно отметил: Я не считаю себя тем, кто дает интервью. Я просто веду...
Scrum: 5–3–5–3–3

Scrum: 5–3–5–3–3

В начале работы с Agile и Scrum, оказывая помощь коллегам, я обычно использовал комбинацию 3–5–3, где: первые “3”  —  три роли Scrum;“5”  —  пять событий...
Как обеспечить обмен данными между микросервисами

Как обеспечить обмен данными между микросервисами

Разберемся в особенностях организации обмена данными между микросервисами, а также рассмотрим способы решения возникающих проблем с помощью RabbitMQ.
NeuralHash от Apple: принцип работы и слабые места

NeuralHash от Apple: принцип работы и слабые места

NeuralHash от Apple - технология сканирования изображений на наличие детской порнографии. Предлагаем пользователям устройств iOS и iPadOS познакомиться с ее особенностями и степенью уязвимости, а также с возможными мерами безопасности.
Education

Перестаньте фокусироваться на синтаксисе, если хотите стать senior-разработчиком

Вы переезжаете в новый город и не знаете, где находится ближайший продуктовый магазин.  Вы не станете волноваться, а просто воспользуетесь Google Maps. После того, как вы...
4 частые ошибки в рефакторинге

4 частые ошибки в рефакторинге

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

Локальная ретушь фотографий при помощи ИИ

Наиболее трудоемким процессом в редактировании фотографий является ретушь отдельных участков. Новая нейросеть ABPN значительно ускоряет этот процесс, выполняя локальное редактирование HQ-изображений в реальном времени.
Database

Моделирование связей графа в DynamoDB

В основе Koan лежат его цели и то, как эти цели взаимосвязывают людей и команды внутри компании. Эти связи зачастую оказываются сложными, потому что...
Productivity

Самый важный навык для программиста

Нет, нет и нет. Скажем вместе. НЕТ! Хорошее начало. Но чему мы говорим НЕТ? Это важный момент, который сбивает с толку даже опытных программистов. Написание кода составляет большую часть...
Как развернуть пакет Cython в PyPI

Как развернуть пакет Cython в PyPI

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

Дизайн системы Netflix

Балансирование между удивительными возможностями и соответствием строгим требованиям - отличительная черта дизайна системы Netflix. Изучение ее "умных" компонентов наверняка обогатит ваш инженерный опыт.
Узнать и забыть: 4 антипрактики обработки ошибок в Python

Узнать и забыть: 4 антипрактики обработки ошибок в Python

Внимание! Обнаружены 4 практики обработки ошибок в Python, резко снижающие скорость разработки. Предупрежден - значит вооружен!