Как достичь уровня senior-разработчика
Разработчики ПО классифицируются по уровням опыта следующим образом:
· junior (2–3 года);
· senior (10+ лет);
· middle (период между junior и senior).
Однако многолетний опыт ничего не...
Возможности Docker, о которых вы не знали. Часть 1
Ознакомьтесь с расширенными возможностями, используемыми продвинутыми Docker-пользователями. В 1-й части вы узнаете о таких практиках, как многоэтапные сборки, сжатие слоев образов, управление секретами BuildKit, ускорение сборки с помощью файла .dockerignore, проверка “здоровья” в Docker-файлах и форматирование вывода Docker CLI.
Стоит ли разработчику изучать VIM в 2020 году?
Введение
Небольшая предыстория для понимания контекста. В конце 2018 года я всерьез занялся программированием, решив развивать карьеру. До этого я создавал (довольно плохие) сценарии для...
Что нужно знать разработчику ПО
Инженер ПО - востребованная и высокооплачиваемая профессия, требующая креативности, аналитических навыков и интереса к информатике. Если вы самостоятельно изучаете программирование и интересуетесь основными принципами, применяемыми разработчиками ПО, то обратите внимание на эти 10 пунктов.
Все, что нужно знать о цифровых людях
Фотошоп и немного изобретательности — вот два инструмента, с помощью которых создаются современные знаменитости. Нет, я не об известных Instagram-моделях с отредактированными фотографиями. Я говорю о...
Почему вам нужно учить больше языков программирования
О моих свободных отношениях с языками программирования
Я занимаюсь программированием уже около 4 лет. Я начал с C#, занимаясь разработкой игр, а затем перешел на...
Как работает алгоритм YouTube?
Вы когда-нибудь задумывались над тем, по какому принципу YouTube выстраивает в ряд видео, которые вы хотите посмотреть? Возможно, вы только что обсуждали какой-то видеоролик со своим другом, и вот он уже на главной странице! Разберем, как работает система рекомендаций YouTube.
BabyAGI — автономный ИИ-агент для оптимизации задач
Изучите 10 примеров задач, выполняемых автономным ИИ-агентом BabyAGI. Способность логически рассуждать, принимать сложные решения и контролировать параметры делает BabyAGI бесценным помощником в автоматизации управления задачами.
Форматы .tar .zip .gz: Различия и эффективность
Вы наверняка встречали файлы с расширением .tar, .zip или .gz . А знаете ли вы, чем они отличаются, почему мы их используем, и какой формат наиболее эффективен?
Различия между...
Комментарии: за или против?
Скажите, вы за или против комментариев в коде? Однозначного и простого ответа на этот вопрос нет и не будет, собственно как и на другой...
Полное руководство по установке Magento 2 с включенным SSL на Ubuntu ≥ 18.04
Пошагово пройдем весь процесс с самым важным аспектом - настройкой веб-сервера. Как избежать типичных ошибок?
Создание языковой модели для чатов
Хотите создать чат-бота, способного имитировать непринужденный стиль переписки с друзьями? Предлагаем наглядное руководство по интеграции GPT с приложением.
Знакомство с Git и GitHub: руководство для начинающих. Часть 1
Часть 1, Часть 2
Ищите, с чего бы начать изучение Git и GitHub? Хотите поработать с другими? Усердно трудитесь над проектом? Или вдруг заметили, что...
SQL в науке о данных
Введение
SQL (язык структурированных запросов) - язык программирования, используемый для запроса и управления данными в реляционных базах данных. Реляционные базы данных состоят из наборов двумерных...
Разработка ПО — системы плагинов
Рассмотрим особенности систем плагинов, которые позволяют разработчикам расширять функциональность и модульность программ. В качестве примера создадим чат-бот.
Реактивное программирование или сопрограммы: между молотом и наковальней?
Выбор между привычным и экспериментальным в программировании сродни положению между молотом и наковальней. Одна из таких дилемм - противопоставление реактивного программирования и сопрограмм. Предлагаем вникнуть в суть конкурентных концепций, изучить их достоинства и подводные камни.
Программное обеспечение без конструкции if-else
Не откладывая в долгий ящик скажу: зачастую конструкция if-else — плохой выбор. Её использование приводит к сложным конструкциям, снижает читаемость кода и усложняет рефакторинг.
Тем не...
Как находиться в потоке, программируя в парах
Не так давно я поинтересовался у коллег по команде, может ли разработчик находиться в потоке, программируя в паре. Ответ по-настоящему меня удивил. Дело в...
7 малоизвестных команд и приемов Git
Контроль версий ПО - важная часть любого проекта, и решать эту задачу позволяет Git. Повысить эффективность работы с онлайн-репозитариями этого инструмента помогут эти стандартные, но довольно редко используемые команды Git.
Результаты ежегодного опроса программистов «New Coder Survey 2018»
Более 31.000 человек приняли участие в ежегодном опросе программистов со всего света, под названием New Coder Survey, предоставив исследователям беспрецедентные сведения о том, как...
Расширяем возможности собственного мозга на базе ИИ, Python и ChatGPT
Многие жалуются на провалы в памяти или с трудом пытаются вспомнить важную информацию, когда она необходима. Уследить за всем в нашем мире непросто, запоминание...
Что на самом деле важно для качества кода?
Хотя новички и джедаи могут озвучивать свои подходы к решению проблем одинаково, результаты разработки у них совершенно разные, как и способы достижения чистого кода. Чтобы понять специфику создания действительно качественного кода, предлагаем детально разобрать реальный пример с реальным кодом.
Промпт-инжиниринг: как использовать LLM для создания приложений
Сегодня в нашем распоряжении множество LLM, инструментов и методов промпт-инжиниринга. Поговорим о том, как создавать приложения с помощью промпт-инжиниринга.
Как научиться программировать по 8 часов в день
Моя система продуктивности
Я программирую всю свою жизнь. Раньше я думал, что это норма — садиться за стол, открывать ноутбук, брать задачу из списка дел...
9 полезных расширений для 2020 года
Refined GitHub
Refined Github упрощает интерфейс Github и добавляет полезные функции.
«Мы надеемся, что Github заметит и реализует некоторые из этих необходимых улучшений. Поэтому, если вам...
Моя среда разработки в Linux 2018
В этой статье я немного пройдусь по приложениям на моем ноутбука на базе Linux. На написание материала меня вдохновил этот пост, только в моем случае...
6 способов оптимизировать рабочий процесс в Pandas
Несмотря на популярность, у Pandas есть немало скрытых возможностей. Предлагаем ознакомиться с 6 из них - они помогут повысить эффективность анализа данных.
4 ключевых аспекта проектирования распределенных систем
Что конкретно подразумевают надежность, доступность, масштабируемость и обслуживаемость? В чем заключается важность этих характеристик распределенных систем?
9 советов для быстрой работы в UNIX и Linux терминале
Существует огромное множество команд для работы с терминалом UNIX и Linux. Все это многообразие не запомнить, как бы вам ни хотелось. Постоянный поиск нужной команды тормозит рабочий процесс, ко всему прочему сами команды не во всех случаях состоят из пары символов. В итоге это здорово мешает быстрой и легкой работе с терминалом. Именно поэтому, сегодня мы расскажем о командах, которые в несколько раз увеличат вашу производительность
Создание правильного чек-листа для инспекции кода
Инспекция кода — это неотъемлемая часть процесса разработки, придуманная для снижения технических недоработок и обеспечения постоянства кодовой базы. Все, кто пишет код, допускают ошибки. Поэтому крайне...
Руководство по написанию чистого и читабельного кода для начинающих разработчиков. Часть 2
Часть 1, Часть 2
Не забывайте про принцип DRY (Не повторяйтесь)
Принцип DRY гласит:
“ Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках...
Руководство по Docker. Часть 2: Docker Compose для JavaScript, Python и Redis
Рассмотрим написание docker-compose.yml и запуск веб-приложения в связанных контейнерах Docker Compose на примере Node.js и Redis.
Выход из тени: 6 малоизвестных команд Linux
Функциональность Linux не сводится лишь к ls и grep. Уверен, что, скорее всего, вы уже использовали эти инструменты для быстрого поиска и решения простых...
Из криптовалюты в криптоактив: как биткойн потерял свое изначальное предназначение
22 мая 2010 года один из первых майнеров по имени Ласло Ханец купил, возможно, самую дорогую в истории человечества пиццу: он заплатил 10 000...
Как начать учиться, когда на это совсем нет времени
Как вы проводите свое время?
Недостаток времени — основная причина, почему мы не учимся изо дня в день! На самом деле проблема заключается в другом! У каждого из...
Лучшие языки программирования для изучения в 2018
Это полное руководство по выбору «правильного» язык программирования в 2018 году.
Хочу сразу прояснить кое-что: это не топ самых популярных языков, с кучей названий и...
20 продвинутых проектов для освоения сложных концепций программирования
Теория не заменит практики. Попробуйте свои силы в выполнении интересных проектов.
Какие вопросы задавать HR-менеджеру во время собеседования
Последние 6 недель я только и делала, что проходила собеседования на роль middle-разработчика программного обеспечения в Амстердаме. Амстердам — это очень большой город, и собеседований я...
5 актуальных расширений Xcode для оптимизации разработки
Пополним арсенал разработчика полезными расширения для повышения продуктивности: SwiftPlantUML, SwiftFormat, Import, SwiftMockGeneratorForXcode, XVim2.
Вспомнить все: 6 уникальных, но подзабытых утилит Linux
Углубимся в изучение /usr/bin и освежим в памяти 6 продуктивных и неоправданно забытых утилит Linux.
Как прокачать командную строку
21 Bash-команда для экономии времени
Данная статья является кратким введением в bash-команды. Умение обращаться с командной строкой — ключевой навык для экономии времени. Мы поговорим о 21 самой...
Как не опустить руки во время обучения чему-то новому?
В моей жизни было время, когда я регулярно добивался больших успехов в развитии своих навыков. Мне это удавалось, благодаря тому, что я изо всех...
ИИ поможет создавать Dockerfile
CLI-команда docker init позволит легко инициализировать конфигурационные файлы Dockerfile и docker-compose, необходимые для запуска проекта в контейнере. Использование docker init избавит от лишней ручной работы, сэкономит время и сведет к минимуму ошибки.
Установка и использование Snap-пакетов в Ubuntu 18.04
Введение
Snap (или Snappy) — это система развертывания программ и управления пакетами, созданная Canonical. Эти пакеты чаще называют «снепами». Для работы с ними используется утилита «snapd», встроенная...
Как автоматизировать создание контента для YouTube и блога с помощью LangChain и OpenAI
Пошаговое руководство с исходным кодом поможет легко разработать собственного маркетингового ИИ-ассистента. Этот инструмент позволит автоматизировать создание контента, сэкономить время и сосредоточиться на более важных задачах.
Топ 10 лучших дистрибутивов Linux в 2018 году
Мир дистрибутивов Linux крайне разнообразен и новичку будет достаточно сложно определиться с выбором. Мы подготовили данный Топ-10 дистрибутивов Linux, чтобы помочь вам найти для...
1984 в 2020: Социальная инженерия в Китае
Китай— крупнейшая по численности населения страна мира, в в которой проживает 1,4 миллиарда человек. Если бы правительство Китая не ввело агрессивную политику «одна семья — один...
SQL: комплексный анализ оттока клиентов
Каковы решающие факторы при отказе от услуг связи и смене интернет-провайдера? Проанализируем данные по оттоку клиентов телекоммуникационной компании, сформулируем выводы и рекомендации.
Технология составления промптов для модели ИИ на примере одного чат-бота
Научимся составлять инструкции для моделей ИИ на примере конкретного чат-бота. Рассмотрим такие этапы процесса, как определение концепции мышления модели, установка контекста и формата вывода ответа, построение вопроса и проверка вывода.
Сравниваем эффективность Redis, Kafka и RabbitMQ
Все эти брокеры успешно работают, но действуют при этом совершенно по-разному. Рассмотрим их главные особенности, отметим достоинства и недостатки.
Руководство по написанию чистого и читабельного кода для начинающих разработчиков. Часть 1
Часть 1, Часть 2
Написание чистого и читабельного кода — непростая задача, но данное краткое руководство поможет вам овладеть этим искусством.
Представьте, что читаете статью, во вступительном абзаце...
Remote First: программисты не должны работать в офисе
Open-space, излишний контроль, метро и пробки убивают вдохновение. Приводим аргументы в пользу того, что разработчиком лучше работать удаленно.
5 модулей Python для исследования Вселенной
Обзор 5 модулей Python для изучения космоса: PyEphem, solarsystem, geemap, turboSETI и pysat. Готовьтесь получать разнообразные данные о планетах, составлять карты, искать следы инопланетной жизни и отслеживать спутники.
VIM — это не только скорость
Почему профессионалы обожают Vim, а новички его боятся? Что общего у этого текстового редактора и компьютерной игры Dark Souls? Чем, кроме скорости, он может быть полезен? Ответы на эти вопросы помогут вам приступить к освоению Vim/NeoVim и повысить свою продуктивность.
Как легко и быстро создать веб-приложение на базе МО с помощью Python
Чтобы продемонстрировать свои достижения в области разработки моделей машинного обучения, стоит поделиться ими с другими! Рассказываем, как развертывать модель линейной регрессии с помощью Flask.
17 успешных примеров дизайна логотипов для различных бизнес-целей
Процесс создания дизайна для логотипа крайне важен. Давайте рассмотрим несколько примеров хорошо разработанных логотипов для различных сфер деятельности.
Создание Docker контейнера с вашей моделью машинного обучения
Хотя я не обладаю большим опытом в разработке программного обеспечения — я специалист по обработке данных — но, конечно, много слышала о контейнерах. Насколько легкие они в сравнении...
Создание и оценка базовых и продвинутых RAG-приложений с помощью LlamaIndex и Gemini Pro в...
В 1-й части этого руководства рассмотрим этапы создания базового RAG-приложения с помощью фреймворка данных LlamaIndex и модели Gemini Pro. Кроме того, протестируем это приложение с использованием системы TruLens на релевантность контекста, а также релевантность и обоснованность ответа.
Этические аспекты клонирования голоса и возможности его применения
Если вы до сих пор считаете, что понятия “клонирование голоса” и “дипфейк” новы, то ошибаетесь. Первые опыты по имитации человеческого голоса проводились уже в...
Как добавить в проект тестирование скриншотов с Cypress
Разработчиков, как правило, заботит качество кода. Есть различные виды тестов, которые помогают избежать ситуаций, когда код ломается после добавления в проект новой функции. Но...
Вычислительные затраты на написание чистого кода
Почему иногда люди пишут подобный код?
var = float(str(alist).split())/3+float(alist)
Ответ прост: чтобы сэкономить вычислительное время. Стоит только написать это в четыре строки…
var = alist[::-1][0]
var = str(var).split()[1:4]
var...
Плюсы и минусы парного программирования
Многие программисты скептически относятся к парному программированию: технике разработки программного обеспечения, при которой за одним рабочим местом работают два программиста.
Я часто слышу:
«Звучит как пустая...
Как писать чистый код?
Роберт Мартин: «Единственная адекватная мера качества кода — это количество восклицаний «какого чёрта!» вминуту».
Позвольте объяснить. Делая код-ревью, я испытываю три эмоции:
Какого черта! — с отвращением. Этот...
Простейшее объяснение парадокса Монти Холла
Парадокс Монти Холла — это одна из тех математических задач, над решением которой уже долгое время бьются многие умы, и даже всемирно известных математиков она приводит...
Пять шагов к красивому терминалу, которым вам понравится пользоваться
Если вы читаете эту статью, то, скорее всего, вы не большой поклонник своего терминала, и время, потраченное на ввод команд, входит в список неприятных...
Как Meta оптимизировала согласованность кэша до 99,99999999
Проблема инвалидации и согласованности кэша актуальная для многих инженеров-программистов. Хотите узнать, как решили эту проблему в Meta? Технология, использованная этой компанией, наверняка подойдет и вам. С ее помощью вы сможете вовремя отслеживать ошибки в кэшировании и значительно повысить показатель согласованности кэша.
Как использовать JavaScript и Node.js, чтобы сразиться с драконом в игре Fight the Dragon?
Выдалась свободная минутка? Почему бы не устроить эпичный баттл с драконом? Наше пошаговое руководство поможет выйти из боя победителем!
Комментарий в коде написать - всё равно, что проиграть
Могу себе представить, какое бурное негодование вызвал у вас лишь заголовок данной статьи, но не спешите бросать в меня камни и просто выслушайте. Уместные...
Топ-10 книг для Java-программистов
Java является одним из лидирующих языков программирования. Давайте рассмотрим книги, которые помогут в работе с Java как начинающим программистам, так и опытным профессионалам.
Зачем изучать программирование?6 способов освоить кодинг дома
Интерес к программированию растет день ото дня. В марафоне по овладению навыками кодинга участвуют как взрослые, так и дети.Появляются языки программирования для различных категорий...
Какой язык программирования используют самые счастливые разработчики?
В мире информационных технологий существует множество стереотипов, например «PHP — самый плохой язык» или «Python — это язык для начинающих». К счастью, мы можем представить себе истинное положение...
Сообщество — лучший двигатель карьеры разработчика
В мире технологий часто упоминается слово "сообщество". Разберемся, что включает себя это понятие, как стать участником сообщества и как его найти.
Секреты эффективного управления разработкой
Представляем вашему вниманию 50 советов о том, как добиться успеха на посту руководителя проектного отдела.
4 модели поведения для поддержания психического здоровья на работе
Эффективная деятельность требует хорошего психического здоровья. А кто о нем позаботится, как не мы сами? Рассмотрим 4 модели поведения, обеспечивающие внутренний покой, уверенность в себе и возможности для саморазвития.
Хватит использовать Pandas, пора переходить на Spark + Scala!
Переход с Pandas на Spark и Scala не настолько труден, насколько вы можете предположить, при этом в итоге ваш код будет выполняться быстрее, и,...
Дизайн для искусственного интеллекта
Чем дизайн для ИИ отличается от традиционного дизайна? Расскажем про преимущества и недостатки использования ИИ в UX-дизайне, а также рассмотрим перспективы развития данного вида дизайна.
Успешный релиз ПО: распространенные ошибки перед запуском продукта
Как желание сделать все и сразу, отсутствие общения и неправильные KPI уничтожают казалось бы успешные и нужные продукты.
Как научиться не только писать код, но и быть хорошим программистом
Писать код - дело текущего дня. А вот умение быть отличным инженером ПО - навык, который будет актуален всегда. Порассуждаем над тем, почему так важно постоянно совершенствовать навыки, знания и опыт.
Невероятная история Tux: наш любимый талисман Linux!
Все мы знаем наш любимый талисман Linux! Но почему именно этот пингвин стал логотипом Linux? В данной статье вы узнаете некоторые интересные подробности его истории!
Как увеличить ваши шансы на получение должности разработчика
На прошлой работе в качестве senior-developer я помогал проводить собеседования и нанял большую часть своей команды разработчиков. В этой статье я использую полученные знания...
Как эффективно использовать флаги функций
Расскажем о проверенном на практике подходе по работе с флагами функций. Просто, быстро и результативно!
Подсказки по именованию логических переменных
Существует определенное соглашение — снабжать имена логических переменных и функций префиксами “is” или “has”. Ну, знаете, что-то вроде isLoggedIn, hasAccess или наподобие этого.
Но на...
Почему западные приложения более минималистичны, чем азиатские?
Узнаем, чем отличаются культуры коллективизма и индивидуализма. Изучим влияние этих культур на онлайн-коммуникацию, а также UI/UX дизайн. Выделим основные различия двух культур и узнаем, как улучшить локализацию продукта.
10 программистских терминов на понятном языке
Все термины, приведенные ниже, уже раскрывали множество раз миллионами разных слов. Но у нас нет ни времени, ни возможностей обработать такое количество информации. По...
Список навыков для начинающих фронтенд-разработчиков
В наше время веб-сайты есть у всех и вся, а возможностей стать фронтенд-разработчиком великое множество. Но поскольку все вокруг меняется с огромной скоростью, становится...
Обнаружение и извлечение текста из изображения с помощью Python
Представляем удобные техники OCR и OpenCV для обнаружения и извлечения текста в цифровом изображении
7 полезных советов для веб-дизайнеров
Улучшаем проекты с помощью продуманной тактики, а не таланта.
Каждый веб-разработчик неизбежно сталкивается с ситуацией, когда необходимо самостоятельно принять то или иное решение, касающееся визуального дизайна.
Это...
5 советов аналитикам и их менеджерам
У сегодняшних аналитиков есть все шансы стать завтрашними бизнес-лидерами. Практические советы профессионального аналитика помогут ускорить этот процесс. Прислушаться к ним стоит и менеджерам, желающим покорить новые бизнес-вершины.
Как запустить ИИ-генератор Stable Diffusion
Stable Diffusion - ИИ-генератор изображений от StabilityAI, который может работать на стандартных видеокартах. Изучим его потенциал на практике. Чтобы использовать это руководство, не нужен даже опыт в программировании.
Как настроить Docker и Windows Subsystem for Linux (WSL): история о любви?
Вы когда-нибудь чувствовали себя прекрасной принцессой, которую злой волшебник превратил в лягушку? Как будто происходит что-то не то? У меня такое бывает. Я пользуюсь...
Сегментация изображений с использованием сети обратного внимания
Авторы статьи "Семантическая сегментация с обратным вниманием" разработали модель, которая обучается не только распознавать на изображении класс фона, но и дифференцировать различные объекты.
21 идея для автоматизации в 2021 году
1. Способ поиска информации в Google
Большую часть времени мы ищем ответы на наши запросы в Google, и его поисковые навыки настолько умны, что в 80%...
Жизнь в качестве программиста-фрилансера
Недавно один человек задал мне вопрос (на форуме) о том, каков мой типичный рабочий день, что мне нравится и не нравится в моей работе...
Мои заметки по программной инженерии
О процессе разработки
Код предназначен не только для его непосредственного выполнения, но он также является средством общения в команде и способом описать другим решение...
Топ-7 онлайн-редакторов кода и IDE
Какие онлайн-редакторы кода и полноценные IDE позволяют повысить производительность? Обзор лучших инструментов, похожих на VSCode, поможет вам сделать правильный выбор.
Как ИИ влияет на разработку мобильных приложений и пользовательский опыт
Искусственный интеллект (ИИ) - это технология в сфере компьютерных наук, которая выполняет человеческие задачи. Однако каким образом ИИ может изменить процесс создания мобильных приложений? Ответим на этот и сопутствующие вопросы.
Как научиться задавать вопросы, проектировать системы и выявлять ошибки?
7 навыков логического мышления, необходимых для карьерного роста разработчика программного обеспечения
5 S-принципов в программировании
Хотите прокачать свой уровень разработки, но не знаете, с чего начать? Возьмите на вооружение 5 S-принципов из производственного опыта компании "Тойота".
Программирование на квантовых компьютерах: какой язык учить?
Прямо сейчас в компьютерном мире происходит что-то удивительное. Если судить по последним разработкам, становится ясно, что мы уже находимся на пороге новой эры квантовых...
Создание локально работающего голосового помощника
Воспользуйтесь руководством по созданию голосового помощника, который позволит задавать вопросы LLM (в том числе по написанию кода) без утечки частной информации. Все компоненты его будут работать локально на вашем компьютере.
Забудьте про pip — используйте uv
Хотите устанавливать Python-пакеты в 100 раз быстрее, чем с pip? Используйте uv — сверхскоростной и супернадежный установщик и разрешитель Python-пакетов. Узнайте о создателе, возможностях, бенчмарках, установке и использовании этого инструмента.
C++ и Java: сравнительный анализ
Рассмотрим преимущества и недостатки двух лучших в настоящее время языков. Определим, где каждый из них предпочтительнее использовать.
Чистая архитектура: руководство для начинающих
Разбираемся в том, что такое чистая архитектура, какие преимущества она дает и как ей следовать на практике. Рассмотрим все примеры с иллюстрациями.
7 советов для эффективной визуализации данных
Одним из важных аспектов работы в области науки о данных является способность эффективно передавать результаты анализа с помощью разных способов визуализаций.
Данные — это история...