Комментарии: за или против?
Скажите, вы за или против комментариев в коде? Однозначного и простого ответа на этот вопрос нет и не будет, собственно как и на другой...
Почему программисты не бросают работу?
Примечание: В этой статье я выражаю своё личное мнение, а не взгляды какой-либо компании.
Технические компании постоянно пытаются понять, что нужно сделать ,чтобы сотрудники были довольны. Добиться...
YAML против JSON: какой формат эффективнее для работы с LLM?
Сравним два формата, применяемых в работе с языковыми моделями: JSON и YAML. Выясним, почему YAML эффективнее с точки зрения временных и ресурсных затрат, чем JSON.
Расширяем возможности собственного мозга на базе ИИ, Python и ChatGPT
Многие жалуются на провалы в памяти или с трудом пытаются вспомнить важную информацию, когда она необходима. Уследить за всем в нашем мире непросто, запоминание...
Продвинутый CLI: команды, которые должен знать каждый разработчик
1. wget
В операционных системах, подобных Unix, команда wget загружает файлы, обслуживаемые по HTTP, HTTPS или FTP через сеть. По умолчанию она включена во все...
Руководство по Docker. Часть 1: образ, контейнер, сопоставление портов и основные команды
Docker для начинающих: логгирование, Docker Hub, выполнение команд внутри контейнера и докеризация первого веб-приложения на Node.js.
Как создать конвейер автоматизированных сборок для проекта в Arduino Часть 2/2
Часть 1, Часть 2
Давайте добавим Arduino Zero. Модифицируем часть программы, которая устанавливает ядро AVR, и добавляем другой код:
# Установка ядер Arduino
arduino-cli core install arduino:avr
arduino-cli...
Превращаем субъективные понятия в объективные метрики: простая методика
Хотите создать модель на основе источника истинных данных? Привлеките к решению этой задачи нескольких экспертов компании. Только согласовав различные точки зрения, можно выработать объективную метрику.
Как начать работать программистом почти без опыта
Я попал в Кремниевую Долину через черный ход — я начинал свою карьеру с простых и быстрых подработок на фрилансе. Рекомендую этот подход: это эффективный и...
4 простых способа рефакторинга кода
Рефакторинг — это процесс обновления существующего кода без изменения его функционала. Существует множество причин рефакторить код, включая производительность, читаемость и масштабируемость в будущем.
Рефакторинг — это важная часть процесса...
Худший враг программиста — долгосрочная актуальность
Что по-вашему будет труднее?
· решить проблему в коде;
· решить более масштабную проблему в коде
Да, я тоже так считаю.
Программирование сводится к решению проблем. Если вы...
Как и почему я перешёл с Ruby на Python
В 2008, когда я ещё учился на инженера-разработчика, двое моих друзей решили запустить проект под названием Feedbooks. Суть проекта состояла в создании электронной библиотеки,...
Неужели комментировать код — это плохо?
Что такое комментарий?
Комментарий — это строка в исходном коде, которую могут прочесть разработчики, но которая игнорируется компиляторами и интерпретаторами.
Какой в нем смысл?
Как правило, «прочесть» код достаточно трудно....
Лучшие инструменты для разработки приложений под Android
Android предлагает разработчикам массу возможностей: это универсальная, открытая платформа, используемая миллионами пользователей по всему миру, с удивительно простой в использовании площадкой для распространения приложений....
Программное обеспечение без конструкции if-else
Не откладывая в долгий ящик скажу: зачастую конструкция if-else — плохой выбор. Её использование приводит к сложным конструкциям, снижает читаемость кода и усложняет рефакторинг.
Тем не...
7 признаков того, что вы - опытный разработчик
На первый взгляд может показаться, что профессия программиста — одна из самых перспективных. На второй — тоже: это одновременно и сложная, и полезная обществу...
21 способ быть хреновым разработчиком
Интернет буквально кишит статьями, повествующими о том, как вы можете улучшить ваши навыки разработки. Эти статьи гласят о “лучшей коммуникации”, “работе в команде”, “постоянном...
Обнаружение вредоносного ПО с помощью алгоритмов МО на облачной платформе Google
Обнаружение вредоносного ПО: вирусов, червей, троянов, программ-вымогателей, рекламного и шпионского софта - волнует многих пользователей и предпринимателей. Предлагаем рассмотреть методы идентификации вредоносных программ с помощью алгоритмов машинного обучения. Материалом для исследования стал массив данных от Майкрософт объемом в 200 ГБ.
Как язык SudoLang помогает общаться с языковыми моделями. Руководство для новичков
Сделайте свои первые шаги в освоении языка SudoLang и узнайте, как с его помощью создать уникального чат-бота - виртуального щенка. Эти знания и навыки помогут разрабатывать умных виртуальных собеседников, игры и интерактивные приложения.
Школа ленивого разработчика: ускоренный курс по созданию фрагментов кода в VS Code
Каждый разработчик сталкивался с утомительной необходимостью вводить один и тот же повторяющийся код бесконечное количество раз, начиная с цикла for и заканчивая логированием данных...
Самая лучшая идея в науке о данных
Есть три типа шаблонов данных:
Шаблоны/факты, которые существуют в наборе данных и за его пределами.Шаблоны/факты, которые существуют только в наборе данных.Шаблоны/факты, которые существуют только в...
Основы аутентификации для начинающих
Без аутентификации не обойтись, пожалуй, почти ни в одном реальном проекте, рассчитанном на людей. Рассмотрим два основных подхода к аутентификации пользователей: как они работают, в чем их преимущества и недостатки.
Путешествие c LLM: от PoC к производству
Мощь больших языковых моделей (LLM) очевидна. Но так ли легко обеспечить их всем необходимым? Сегодня мы пройдем путь работы над LLM - от доказательства концепции до производства - и поговорим о том, какие меры предпринять и каких подводных камней избегать.
5 настроек рабочего стола Linux для разработчиков
Linux: программируйте удобнее
Как только я начал работать из дома, я решил, что пришло время капитального ремонта рабочего стола. В офисе я обычно использую MacBook...
Большой языковой модели недостаточно: пример использования Merkle Genai. Часть 2
Ознакомьтесь с примером применения голосового помощника Merkle Genai, предоставляющего высокоточные и релевантные ответы на запросы клиентов. Воспользуйтесь передовыми контекстными ИИ-решениями, чтобы совершить революцию в своем бизнесе уже сегодня.
Как настроить Docker и Windows Subsystem for Linux (WSL): история о любви?
Вы когда-нибудь чувствовали себя прекрасной принцессой, которую злой волшебник превратил в лягушку? Как будто происходит что-то не то? У меня такое бывает. Я пользуюсь...
Знакомство с Git и GitHub: руководство для начинающих. Часть 2
Часть 1, Часть 2
Рабочий процесс на GitHub
Допустим, у вас есть проект с кучей разных идей и возможностей для дальнейшей реализации. Что-то из этого...
Как освоить новый язык программирования или фреймворк
Новые языки программирования появляются чуть ли не каждый день. Dart, Go, Kotlin, Elixir и многие другие! В таких условиях постоянно учиться непросто, но есть...
Arduino и Visual Studio Code
Займемся разработкой Arduino, вооружившись расширением PlatformIO в VS Code, и напишем первый проект с мигающим светодиодом.
Google Analytics: почему следует покинуть эту платформу и как это сделать
Google Analytics, похоже, не сильно беспокоится о конфиденциальности данных, поэтому стоит задуматься о переходе на альтернативные платформы. Рассказываем, как это сделать.
Scrum: 5–3–5–3–3
В начале работы с Agile и Scrum, оказывая помощь коллегам, я обычно использовал комбинацию 3–5–3, где:
первые “3” — три роли Scrum;“5” — пять событий...
Как написать чистый код, который легко читать
Рассмотрим практические советы по созданию кода, который впоследствии читается как книга. Чтобы их составить, автору пришлось проанализировать и сравнить множество подходов и приемов других разработчиков.
Как создать бессерверную форму для бессерверного сайта
Научимся создавать бессерверный бэкенд для приема входящих данных формы и отправки электронного письма с этими данными.
Как справиться с чрезмерной нагрузкой. Советы для разработчиков
В мире разработчиков происходит множество событий. Кажется, будто бесконечный список дел никогда не закончится. Рассмотрим некоторые советы, которые помогут с этим справиться.
Статья разделена на...
Основы написания мануалов при разработке
Хороший мануал продукта должен быть не просто полноценным по информации, но и понятным для пользователя. Учимся, как правильно выстраивать его разделы и содержание в целом.
5 лучших библиотек машинного обучения
За последние несколько лет рост машинного обучения достиг стремительных темпов. Это связано с выпуском библиотек машинного обучения (МО)/глубокого обучения (ГО), которые абстрагируются от сложности...
Плавный переход: миграция кластера Kafka в Kubernetes
Что такое «плавная миграция», в чем ее сложность и основные проблемы? Подробно разберем подход стратегии миграции на уровне брокеров объединенного кластера.
Какой язык программирования учить в 2022 году?
В последние годы на рынке программного обеспечения сформировались принципиально новые перспективные направления для профессионального развития разработчика.
1. Unity (C#)
“Более половины игр в мире создано на Unity”....
Как научиться задавать вопросы, проектировать системы и выявлять ошибки?
7 навыков логического мышления, необходимых для карьерного роста разработчика программного обеспечения
Visual Studio Code. Как быть продуктивным в 2018. Советы профи
За последние несколько лет, Visual Studio Code стал очень популярным, среди IDE с открытым исходным кодом. Официальный релиз VS Code состоялся в 2015 году,...
Вам следует изучить программирование
Знаете, как это ужасно, когда ты женишься, а немного позже встречаешь любовь всей жизни? То же произошло и со мной.
Я поступил в университет на...
Scrum мёртв. Восславим нового короля - Kanban!
Я использовал Scrum с самого начала своей карьеры. Работе с этим фреймворком я обучился ещё в колледже, где он рассматривался как наилучший вариант для...
15 идей для вашего приложения. Часть 1
У разработчиков, как и у писателей, бывает ступор, когда хочешь что-то написать, но не знаешь что.
Мы с моим другом Джимом собрали коллекцию идей для...
Sparrow: альтернатива ChatGPT от DeepMind
Представляем потенциального конкурента ChatGPT - диалогового агента Sparrow от DeepMind. По заверению разработчиков, он обеспечивает более безопасное общение за счет одновременного использования больших языковых моделей и обучения с подкреплением.
Что такое программирование?
“Программирование — это о решении проблем” — проф. Дэвид Малан
Краткий обзор
Каждый день мы сталкиваемся с проблемами, которые должны быть решены. Этими проблемами могут быть как...
Как разработчику стать архитектором ПО?
“Что скажешь?”. Когда мне первый раз задали этот вопрос на ревью спринта, у меня не нашлось ответа. Тогда я был начинающим разработчиком, и он...
Возраст - это просто цифра
“Я боюсь, что для меня уже слишком поздно менять профессию… Вообще менять что-либо существенное в жизни уже поздно. Мне уже (подставьте соответствующий вам возраст,...
Подсказки по именованию логических переменных
Существует определенное соглашение — снабжать имена логических переменных и функций префиксами “is” или “has”. Ну, знаете, что-то вроде isLoggedIn, hasAccess или наподобие этого.
Но на...
#03TheNotSoToughML | Регрессия: Ошибки → Спуск с вершины горы
По меткому высказыванию Педро Домингоса, машинное обучение - это результат слияния необъяснимой эффективности математики с такой же необъяснимой эффективностью данных. Некоторые склонны впадать в панику при беглом знакомстве с МО, полагая, что оно требует сложнейших математических вычислений. В специальной серии статей мы поставили перед собой задачу развеять этот миф.
Обзор плагинов Obsidian
Рассмотрим несколько новых плагинов Obsidian для автоматического создания индексов папок, страницы обзора проектов, ссылок из строк, размещения галереи и геймифицирования хранилища.
Манипуляции с битами. Игра в истину
Прежде всего нужно понять «Истину», как она представлена в таблице истинности. На самом деле таких таблиц несколько, но для этого урока нам хватит двух...
Этические аспекты клонирования голоса и возможности его применения
Если вы до сих пор считаете, что понятия “клонирование голоса” и “дипфейк” новы, то ошибаетесь. Первые опыты по имитации человеческого голоса проводились уже в...
Программирование- это искусство и никак иначе!
Программирование, на первый взгляд, носит маску науки и служит тому, чтобы приложения, с которыми мы работаем ежедневно, функционировали как следует. Но в действительности оно — нечто...
Приложения искусственного интеллекта: возможности и сферы применения
Вы все еще восхищаетесь Юлием Цезарем, который справлялся с тремя делами одновременно? Тогда прочтите о том, на что способен искусственный интеллект.
Фреймворк или язык программирования?
Программисты сегодня…
…толком и не знают где заканчивается язык программирования и начинается фреймворк.
Что я под этим имею в виду?
Примерно до 1988-ого года большинство программ, которые...
Как мне не удалось совладать с устаревшим кодом
Я очень хорошо помню свой первый опыт работы с устаревшим кодом. Я была младшим разработчиком и совершенно не представляла, что делаю.
Само приложение было чем-то...
Почему сниппеты кода со StackOverflow могут повредить ваш проект
StackOverflow стал спасением для многих программистов, включая меня. Некоторые из нас никогда не посещали домашнюю страницу StackOverflow. Единственный способ, по которому мы попадали на...
Два метода безопасного программирования
Мы рассмотрим два очень простых и практичных безопасных метода, которые вы можете начать применять уже сегодня. Если вы профессиональный разработчик, вы наверняка уже их...
7 причин выгорания программистов
Джерри — джуниор-разработчик, который в начале своей карьеры не мог дождаться утра, чтобы приступить к работе. И каждый вечер, даже после 10-часового рабочего дня, он чувствовал...
Как написать оператор Kubernetes?
История о том, как важно порой даже малое изменение. Создадим, протестируем и запустим оператор в кластере Kubernetes.
Почему не стоит разрабатывать инструменты ИИ на основе чатов
Пришло время развивать инструменты ИИ, выходя за рамки интерфейсов, основанных на промптах. Предлагаем рассмотреть новейшие более надежные ментальные модели, ориентированные на совместную работу.
Как успешно реализовать проверку состояния контейнера в Docker Compose
Разработчику важно понимать, что служба Docker действует должным образом, в противном случае могут возникнуть большие неприятности. Чтобы гарантированно предотвратить их, рассмотрим способы проверки состояния (Healthcheck) контейнеров в Docker.
Как прокачать командную строку
21 Bash-команда для экономии времени
Данная статья является кратким введением в bash-команды. Умение обращаться с командной строкой — ключевой навык для экономии времени. Мы поговорим о 21 самой...
Всё, что вы хотели знать об отладке в IntelliJ IDEA
Отладка — это один из самых важных этапов процесса разработки. И дело не только в том, что устранение ошибок занимает, вероятно, большую часть времени: она также...
5 вещей, которые следует учесть перед тем, как создать свой бизнес на основе мобильного...
Начать свой бизнес, основанный на мобильном приложении, - это вызов для любого из нас. Чтобы лучше понять важнейшие шаги, которые могут потребоваться для создания мобильного приложения для iOS или Android, выделим 5 основных этапов.
Введение в бинарный поиск
Представляем простой алгоритм обнаружения нужных значений - бинарный поиск. Разбираемся, как он работает, на примерах, а также описываем его этапы.
ExLlamaV2: самая быстрая библиотека для работы с LLM
Представляем ExLlamaV2 - мощную библиотеку для квантизации и запуска LLM. Она оптимизирована для молниеносного вывода, а ее новый формат квантизации EXL2 обеспечивает большую гибкость при хранении весов.
Terraform: реализация технологии “инфраструктура как код”
Предлагаем ознакомительный обзор Terraform — инструмента, которым должен овладеть каждый инженер-программист. Экспресс-демонстрации помогут вам быстро освоить основной функционал Terraform, чтобы успешно использовать инновационную технологию “инфраструктура как код”.
Требования к Senior Developer: как стать старшим разработчиком и что нужно знать
Опыт — обязательное требование для каждой вакансии старшего разработчика, но его не достаточно, чтобы получить повышение. Так в чем же секрет? Вероятно, на такой...
Автоматический мониторинг скорости API с помощью динамического тестирования
Готовый вариант тестирования производительности API. Настраиваем и запускаем! Экономит время на прописывание и обслуживание тяжелых тестов.
Проблема эйджизма в IT-сфере
Причины возникновения эйджизма в IT-сфере и способы его преодоления
Когда вы заканчиваете школу или университет и начинаете искать работу, вы можете начать волноваться, что отсутствие...
Руководство по Docker. Часть 3: Amazon Web Services, Travis CI и Elastic Beanstalk
Руководство по Docker. Часть 1: образ, контейнер, сопоставление портов и основные команды.
Руководство по Docker. Часть 2: Docker Compose для JavaScript, Python и Redis
С помощью первых...
Шоу должно продолжаться: обеспечение безопасности Netflix Studios с масштабированием
Узнайте об одной из выдающихся стратегий Netflix Studios - развертывании приложений, гарантирующем 100% аутентификации поддерживающим его сервисам. Она многократно сокращает время и усилия разработчиков, а также риски безопасности в интернет-пространстве.
Как я стал программистом в 40 лет
Вот, как я сменил свою прежнюю работу на front-end разработчика в 40 лет, не имея ни образования, ни опыта работы в этой сфере. Я...
Рекурсивное программирование
При первом знакомстве с концепцией рекурсии, она может показаться странной и отталкивающей. Это кажется почти парадоксальным: как мы можем найти решение проблемы, используя решение...
9 навыков, которые нужно освоить в самом начале карьеры программиста
Начало карьеры программиста - процесс, пугающий незнакомым профессиональным жаргоном и непреодолимой стеной компетенций. На самом деле все, что нужно новичку, - это прочная база. Создать ее помогут эти 9 ключевых навыков.
5 советов для начинающих программистов
Когда я только начинал заниматься программированием, то часто пребывал в озадаченном состоянии. Порой возникали чувство потерянности и неуверенность в своих силах, что заставляло постоянно...
Новый шаг к будущему без языковых границ
Новый шаг к будущему без языковых границ: Яндекс запустил в открытую бету технологию закадрового перевода прямых трансляций на YouTube В Яндекс Браузере появилась уникальная...
Создание правильного чек-листа для инспекции кода
Инспекция кода — это неотъемлемая часть процесса разработки, придуманная для снижения технических недоработок и обеспечения постоянства кодовой базы. Все, кто пишет код, допускают ошибки. Поэтому крайне...
Почему западные приложения более минималистичны, чем азиатские?
Узнаем, чем отличаются культуры коллективизма и индивидуализма. Изучим влияние этих культур на онлайн-коммуникацию, а также UI/UX дизайн. Выделим основные различия двух культур и узнаем, как улучшить локализацию продукта.
Как делать заметки как программист
Когда я был мал — писал ужасные конспекты: они представляли из себя тетради с грязным текстом и плохой структурой. Практически бесполезные.
Потом, когда я открыл...
No-code и сферы его применения
Наблюдаем за ростом популярности нового IT-движения
Так называемое явление «No-code», или же «Zero-code», сейчас активно набирает обороты. На рынок приходит всё больше инструментов для создания...
Перенос сценариев CI в docker build
Распространенный сценарий: команда разработчиков поддерживает множество Jenkinsfile, каждый из которых соответствует требованиям проекта. Однако эти сценарии непрерывной интеграции (CI) непригодны для повторного использования в...
Полное руководство по CASE WHEN в SQL
Изучите сценарии использования CASE WHEN в различных SQL-средах (SQL Server, Oracle, Snowflake, PostgreSQL). Постижение магии CASE WHEN, а также ограничений и альтернатив этого оператора, значительно усовершенствует ваши навыки работы с SQL.
Мониторинг кластера Kubernetes без зависимостей
Затронем тему мониторинга в Kubernetes, существующие подходы и познакомимся с Murre, инструментом Go с открытым ПО для мониторинга без зависимостей.
5 секретов создания востребованной технической статьи
Программисты часто делятся знаниями на страницах популярных сайтов и журналов. Рассмотрим несколько советов, которые помогут написать полезную и интересную для читателей статью.
Создаем ИИ с помощью OpenAI
Создайте с помощью Node.js собственное приложение на базе ИИ, которое на основе предоставленных инструкций будет генерировать код, изображения и текст.
Зачем переходить с Gitbook на Readme
Легче сказать "запустить документацию", чем сделать это. Не так-то просто выбрать платформу для размещения документации, да и предоставляемые инструменты сильно различаются. Опыт компании Budibase поможет вам сделать обоснованный выбор.
Яндекс опубликовал календарь дней быстрого найма
Яндекс объединил все мероприятия по быстрому найму в одном календаре. Сейчас в нём доступны три типа событий, которые позволят устроиться в компанию за несколько...
Отказ после четырех раундов технических собеседований. Что делать?
Будущий инженер-программист должен быть готов к нелегкому испытанию - встрече с придирчивыми рекрутерами. Никто не хочет получить отказ на собеседовании, но лишь немногие отвергнутые кандидаты способны превратить свою неудачу в будущий успех.
6 месяцев без Windows: ужасная правда об играх на Linux
Последние 6 месяцев я старался работать исключительно в Linux и не намерен отказываться от задуманного. Такой опыт оказался прогрессивным, обучающим и, временами, даже забавным....
5 недооценённых приложений в помощь программисту
Вступление
Весьма ироничен тот факт, что разработчики используют кучу разных приложений и ПО, чтобы создавать… приложения и ПО. С течением времени мы выработали строгие предпочтения...
Чистая архитектура: руководство для начинающих
Разбираемся в том, что такое чистая архитектура, какие преимущества она дает и как ей следовать на практике. Рассмотрим все примеры с иллюстрациями.
Ленивая загрузка, агрегирование и CQRS
Рассмотрим шаблоны, позволяющие справляться с приложениями, у которых повышается сложность, и поймем, в каких случаях пригодится каждый из них.
Список инструментов для обязательного использования
Будучи бедным студентом, я являюсь огромным фанатом различных бесплатных вещей, особенно программного обеспечения. Когда дело доходит до программного обеспечения, я, буквально, могу сделать что...
Атака Activity hopping: угроза безопасности
А вы знаете, когда и как нужно устанавливать атрибут exported="true", чтобы не подвергать приложение рискам несанкционированного доступа и утечки данных? В любом случае рекомендуем узнать о мерах предосторожности при использовании exported="true".
Введение в Subject в реактивном программировании
Subject — это «особый» тип наблюдаемого объекта, который позволяет транслировать значения сразу нескольким подписчикам. Самое классное здесь то, что Subject предоставляет ответы в режиме реального времени.
Например,...
Наше прохождение космического CTF от RUVDS и Positive Technologies
Недавно представитель нашей команды Nuances of Programming успешно прошел CTF от RUVDS и Positive Technologies. Это был захватывающий опыт, которым он хочет с вами поделиться.
Как стать разработчиком проектов с открытым исходным кодом
Разработчики пишут код большую часть времени, внося таким образом вклад в проекты, которые входят жизненный цикл разработки ПО. Как правило, чтобы стать известным разработчиком,...
Как я создал расширение браузера и обучил ChatGPT обращаться к внешним сайтам за информацией...
Расскажем, как с помощью расширения Tampermonkey и прокси CORS Anywhere обучить ChatGPT получать доступ к внешним сайтам, анализировать извлекаемый с их страниц контент и искать в нем ответ на заданный вопрос.
Эта информация навсегда изменит ваше отношение к коду JavaScript
К концу этой статьи вы превратитесь из простого пользователя JavaScript в того, кто глубоко его понимает и кого не удивляют его уникальные возможности. Это открытие расширит ваши знания и навыки, а также позволит использовать такие "фишки" JS, которых нет в других популярных языках.
Слабо решить эти задачи по программированию?
Программирование всегда связано с решением различных задач. Я подготовил список из шести различных заданий и отсортировал их по сложности решения. Первая — самая простая, шестая — самая сложная....
Как установить несколько версий Python в WSL2 и управлять ими
Открываем PowerShell
PowerShell — это командная оболочка и объектно-ориентированный язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически...
Знакомство с AWS WebSocket
Первая статья из серии изучения WebSocket. В ней вы узнаете, что такое WebSocket, для чего и как он используется, а также познакомитесь с простейшей реализацией подписок и уведомлений.
MongoDB: введение, преимущества и настройка среды
В данной серии руководств объясним ключевые концепции MongoDB, необходимые для создания и развертывания высоко масштабируемой базы данных с акцентом на производительность.