Как добиться большей зарплаты на собеседовании
Прежде чем мы начнём разговор о зарплате, давайте обсудим разработку ПО. Разработка — это квалифицированный труд. Вы явно не будете стоять на конвейере, добавляя по винтику...
Знакомство с Git и GitHub: руководство для начинающих. Часть 2
Часть 1, Часть 2
Рабочий процесс на GitHub
Допустим, у вас есть проект с кучей разных идей и возможностей для дальнейшей реализации. Что-то из этого...
Топ 10 бесплатных инструментов для автоматизированного тестирования
В современном мире существует множество инструментов, помогающих ускорить достижение цели.
Я подготовил список из 10 лучших инструментов автоматизации, которые помогут справляться с задачами намного быстрее....
Как легко и быстро создать веб-приложение на базе МО с помощью Python
Чтобы продемонстрировать свои достижения в области разработки моделей машинного обучения, стоит поделиться ими с другими! Рассказываем, как развертывать модель линейной регрессии с помощью Flask.
4 совета по улучшению Jupyter Notebooks
Jupyter Notebooks - отличный инструмент для всех разработчиков, желающих поделиться своей работой. Он предоставляет простой способ обмена проектами и широко используется в таких областях, как...
Как достичь уровня senior-разработчика
Разработчики ПО классифицируются по уровням опыта следующим образом:
· junior (2–3 года);
· senior (10+ лет);
· middle (период между junior и senior).
Однако многолетний опыт ничего не...
7 шагов до уровня Моцарта кода
Мы читаем большое количество статей, с рекомендациями по повышению продуктивности. Правда, ирония в том, что на них уходит столько времени, сколько можно было посвятить...
Учимся программированию как Эйнштейн
Эйнштейн был гением и одним из величайших ученых, когда-либо живших на земле. В 1905 году он опубликовал четыре научные работы, заложившие основы современной физики...
Руководство по Docker. Часть 2: Docker Compose для JavaScript, Python и Redis
Рассмотрим написание docker-compose.yml и запуск веб-приложения в связанных контейнерах Docker Compose на примере Node.js и Redis.
10 программистов-самоучек, ставших преуспевающими разработчиками
Если вы читаете эту статью, потому что находитесь в начале пути самообучения программированию или уже достигли его середины и начинаете сомневаться, то воспользуйтесь приведёнными...
Возвращаемся к SOLID
Вы помните, что именно представляет собой один из краеугольных камней большой разработки программного обеспечения?
В первые годы своей работы большинство разработчиков сталкиваются с принципами SOLID,...
Подробный обзор JSON, JSON5 и циклических зависимостей
JSON - это круто, а JSON5 - еще круче! Предлагаем подробное руководство по JavaScript Object Notation (JSON). Узнайте, как работают JSON и JSON5, а также возьмите на заметку несколько способов решения проблемы циклических зависимостей.
✨ Расширения для Visual Studio Code, которые поднимут процесс разработки на новый уровень
Давайте поговорим о Code — Visual Studio Code.
Мои дорогие читатели попросили меня рассказать о тех расширения, которые я использую для разработки. Этим мы сейчас и займёмся.
Наш VSC...
Механизм повторных попыток в Spring Boot: @Retryable и @Recover
Реализуем обработку временных сбоев в Spring Boot, рассмотрим аннотации для соответственных поведений. Проверим механизм в действии, отправив HTTP-запрос.
Перестаньте фокусироваться на синтаксисе, если хотите стать senior-разработчиком
Вы переезжаете в новый город и не знаете, где находится ближайший продуктовый магазин.
Вы не станете волноваться, а просто воспользуетесь Google Maps.
После того, как вы...
21 способ быть хреновым разработчиком
Интернет буквально кишит статьями, повествующими о том, как вы можете улучшить ваши навыки разработки. Эти статьи гласят о “лучшей коммуникации”, “работе в команде”, “постоянном...
Введение в библиотеку Flutter Bloc
Обратим наш пристальный взор на библиотеку Flutter Bloc и разберемся в ее тонкостях, чтобы эффективно задействовать ее потенциал в будущих проектах.
Портрет плохого программиста
Первым шагом на пути к становлению профессионального программиста может стать выявление плохих привычек в процессе написания кода. Рассмотрим их подробнее.
Как начать работать программистом почти без опыта
Я попал в Кремниевую Долину через черный ход — я начинал свою карьеру с простых и быстрых подработок на фрилансе. Рекомендую этот подход: это эффективный и...
Всё, что вы хотели знать об отладке в IntelliJ IDEA
Отладка — это один из самых важных этапов процесса разработки. И дело не только в том, что устранение ошибок занимает, вероятно, большую часть времени: она также...
12 привычек эффективного разработчика
Я работал со множеством разработчиков программного обеспечения. Некоторые из них только закончили колледж, другие — уже профессионалы. В этой статье я перечислил общие привычки этих людей.
1....
Форматы .tar .zip .gz: Различия и эффективность
Вы наверняка встречали файлы с расширением .tar, .zip или .gz . А знаете ли вы, чем они отличаются, почему мы их используем, и какой формат наиболее эффективен?
Различия между...
Хватит использовать Pandas, пора переходить на Spark + Scala!
Переход с Pandas на Spark и Scala не настолько труден, насколько вы можете предположить, при этом в итоге ваш код будет выполняться быстрее, и,...
4 типичные ошибки программиста, которые видны лишь с позиции руководителя
Я проработал программистом более 5 лет. Конечно, у некоторых из вас, вероятно, гораздо больше опыта, но тогда я считал, что уже достиг уровня старшего...
Топ-7 онлайн-редакторов кода и IDE
Какие онлайн-редакторы кода и полноценные IDE позволяют повысить производительность? Обзор лучших инструментов, похожих на VSCode, поможет вам сделать правильный выбор.
5 недооценённых приложений в помощь программисту
Вступление
Весьма ироничен тот факт, что разработчики используют кучу разных приложений и ПО, чтобы создавать… приложения и ПО. С течением времени мы выработали строгие предпочтения...
О чём не говорят инженеры ПО
Здесь, на Medium, на YouTube и во всем интернете люди говорят о том, как они стали программистами без степени в компьютерных науках. Некоторые переходят...
4 простых способа рефакторинга кода
Рефакторинг — это процесс обновления существующего кода без изменения его функционала. Существует множество причин рефакторить код, включая производительность, читаемость и масштабируемость в будущем.
Рефакторинг — это важная часть процесса...
5 алгоритмов, которые изменили мир
Взаимодействие человека и компьютера было бы невозможно без алгоритмов. Пять из них сыграли революционную роль в нашей жизни.
Тенденции в области программного обеспечения в 2022 году: 22 прогноза
Прогнозирование - задача непростая. И все же попробуем заглянуть в будущее и предсказать наиболее важные тенденции в индустрии разработки ПО в 2022 году.
Зачем нужен CORS: просто о сложном
CORS — чрезвычайно полезный инструмент в мире, где орудуют киберпреступники и запускаются некорректно настроенные веб-серверы. Поэтому стоит выяснить, что такое CORS и как он может уберечь вас от межсайтовых подделок запросов.
Почему вы должны обратить внимание на Docker?
Когда я гуглил информацию о фреймворках глубокого обучения (deep learning), я заметил, что почти каждый из этих фреймворков поддерживался Docker. В итоге у меня...
Полезные команды Git
Набор консольных утилит Git создан в помощь программисту. Используя их, он может управлять версиями проекта. Само собой, при работе с Git требуется знание определенных команд. Сегодня мы рассмотрим базовые команды Git и научимся добавлять и изменять удаленный репозиторий, а также удалять ветки.
Основные принципы дизайна для НЕ дизайнеров
Я сформировала этот список, посредством многолетнего наблюдения за своими друзьями НЕ дизайнерами, семьей и коллегами, которым постоянно приходится сталкиваться с необходимостью применения дизайна в...
Подсказки по именованию логических переменных
Существует определенное соглашение — снабжать имена логических переменных и функций префиксами “is” или “has”. Ну, знаете, что-то вроде isLoggedIn, hasAccess или наподобие этого.
Но на...
Как написать чистый код, который легко читать
Рассмотрим практические советы по созданию кода, который впоследствии читается как книга. Чтобы их составить, автору пришлось проанализировать и сравнить множество подходов и приемов других разработчиков.
3 инструмента, чтобы начать программировать на недорогом гаджете
В твиттере я общаюсь с людьми, которые только приступают к разработке приложений. Иногда они говорят, что, чтобы начать программировать, им нужен (дорогой) ноутбук. Но для...
Руководство по Git для новичков
Это руководство поможет вам быстрее освоить логику сервиса. Вы узнаете, что такое ветви и коммиты; ознакомитесь с популярными рабочими процессами и базовыми командами; научитесь разрешать конфликты и сотрудничать в Git. А в качестве бонуса получите набор инструментов, которые облегчат вам первые шаги в Git.
Изучение Blockchain на Python
Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
6 команд терминала для раздражающих задач
Скорость и эффективность - ключевые навыки, имеющие первостепенное значение для продуктивности в разработке.
Чем больше времени уходит на выполнение простых задач, таких как поиск файлов...
7 секретов для поддержания мотивации при изучении программирования
В Codementor мы с гордостью можем похвастаться более 6000 наставников по программированию, которые помогают людям во всем мире научиться программировать. Одной из самых больших...
Путь программиста-самоучки: преимущества и подводные камни
На пути у программиста-самоучки немало серьезных вызовов. Вам придется найти свое место в выбранной сфере, столкнуться с множеством вопросов без ответов и полностью отдаться...
Упрощаем интеграцию Kafka со Spring Boot
Разберем ключевой функционал и настройку Kafka и узнаем, как он вписывается в Spring Boot. Научимся маршрутизировать и фильтровать сообщения, отправлять и получать их с помощью шаблонов и прослушивателей Kafka, а также преобразовывать форматы пользовательских данных.
Список навыков для начинающих фронтенд-разработчиков
В наше время веб-сайты есть у всех и вся, а возможностей стать фронтенд-разработчиком великое множество. Но поскольку все вокруг меняется с огромной скоростью, становится...
18 ошибок новичков в программировании
Как начинающему разработчику побороть неуверенность в себе и не попасть в ловушки? Советы экспертов, а также ссылки на полезные ресурсы помогут новичкам избежать многих ошибок и заложить прочный фундамент в искусстве написания кода.
Продвинутый CLI: команды, которые должен знать каждый разработчик
1. wget
В операционных системах, подобных Unix, команда wget загружает файлы, обслуживаемые по HTTP, HTTPS или FTP через сеть. По умолчанию она включена во все...
Основы языка освоены. Что дальше?
Универсальная система из семи шагов для тех, кто уже освоил азы первого языка программирования и не уверен в дальнейших действиях.
Как научиться программировать на Java и с чего начать
Определите свои профессиональные цели и выберите язык. Это самый главный совет для новичков, желающих присоединиться к сообществу программистов. Но как же это сделать, если...
5 мудрых цитат известнейших программистов
Быть программистом — значит выбрать путь непрекращающегося обучения, ведь это среда неиссякаемого потока нового — новые функции, новые языки, новые инструменты, новые фреймворки. Но в то же время...
Почему вам стоит завести чек-листы для программирования
Скорее всего, многим попадался код, который выглядит как головоломка: в программе куча ненужных строк и бесполезных комментариев. Или же в неё внесли изменения, и...
Прикольные анимации для Flutter-приложений
Я покажу вам 6 прикольных анимационных эффектов, которые можно попробовать в своих приложениях. Добавлять анимацию с Flutter — одно удовольствие. И делать это можно по-разному. Например,...
10 полезных команд для командной строки и консоли
Консольные команды позволяют продвинутым пользователям работать еще быстрее и продуктивнее, так как редактура команд вручную отнимает много времени, а написание коротких, но эффективных инструкций для консоли доставляет не меньше удовольствия, чем само написание кода.
Что мы ожидаем от разработчиков на каждом уровне
Работа в офисе, а особенно дистанционно требует постоянной коммуникации между всеми сотрудниками, поэтому каждому сотруднику следует иметь представление о том, какие задачи, помимо, конечно же, программирования ему предстоит выполнять.
Построение системы распределенного кэширования
Разберемся, каким бывает кэш, какие требования предъявляются к нему и каким образом создать наиболее оптимальный дизайн системы с распределенным кэшем.
3 ошибки на собеседованиях по программированию, из-за которых можно получить отказ
После неудачного технического собеседования соискатели часто не могут понять, что пошло не так. Поговорим о распространенных ошибках и о том, как их избежать.
Как я столкнулся с плохим разработчиком в команде и какие выводы из этого сделал
Мы видим их издалека, а менеджерам это удаётся не всегда.
Допустим, вы находитесь в команде разработчиков, и один из сотрудников плохо выполняет свою работу, а вы...
Зачем изучать программирование?6 способов освоить кодинг дома
Интерес к программированию растет день ото дня. В марафоне по овладению навыками кодинга участвуют как взрослые, так и дети.Появляются языки программирования для различных категорий...
5 шагов к созданию крутого пул-реквеста
Во-первых, поздравляю с тем, что вы достигли этих рубежей! Создание пул-реквестов — это последний шаг на пути согласования улучшенного вами кода с владельцем его оригинала и...
Основы аутентификации для начинающих
Без аутентификации не обойтись, пожалуй, почти ни в одном реальном проекте, рассчитанном на людей. Рассмотрим два основных подхода к аутентификации пользователей: как они работают, в чем их преимущества и недостатки.
Создаем ИИ с помощью OpenAI
Создайте с помощью Node.js собственное приложение на базе ИИ, которое на основе предоставленных инструкций будет генерировать код, изображения и текст.
Стоит ли разработчику изучать VIM в 2020 году?
Введение
Небольшая предыстория для понимания контекста. В конце 2018 года я всерьез занялся программированием, решив развивать карьеру. До этого я создавал (довольно плохие) сценарии для...
Как быстро выучить новый язык программирования
Возможно, вы уже знаете хотя бы один язык программирования, но в любом случае приведенные концепции помогут вам приступить к разработке.
Когда я учился в школе,...
Как мой 10-летний сын выучил Javascript
“Папа . . . А чем ты зарабатываешь на жизнь?”
Этот неожиданный вопрос заставляет нас, родителей, испытать чувство гордости. Так как он означает, что ребенок наконец-то видит в...
Как добавить в проект тестирование скриншотов с Cypress
Разработчиков, как правило, заботит качество кода. Есть различные виды тестов, которые помогают избежать ситуаций, когда код ломается после добавления в проект новой функции. Но...
Что нужно знать разработчику ПО
Инженер ПО - востребованная и высокооплачиваемая профессия, требующая креативности, аналитических навыков и интереса к информатике. Если вы самостоятельно изучаете программирование и интересуетесь основными принципами, применяемыми разработчиками ПО, то обратите внимание на эти 10 пунктов.
Выбираем шрифт
Факторы, которые следует учитывать при выборе шрифта для вашего следующего проекта.
Serif или Sans Serif, вот в чем вопрос
Большинство шрифтов можно разделить на две основные категории:...
Промпт-инжиниринг: как использовать LLM для создания приложений
Сегодня в нашем распоряжении множество LLM, инструментов и методов промпт-инжиниринга. Поговорим о том, как создавать приложения с помощью промпт-инжиниринга.
Как создать QR-код для сайта
QR-код - отличный инструмент для привлечения пользователей. Думаете, что создавать его слишком сложно? Показываем простое решение.
7 признаков того, что вы - опытный разработчик
На первый взгляд может показаться, что профессия программиста — одна из самых перспективных. На второй — тоже: это одновременно и сложная, и полезная обществу...
Как украсть секреты разработчиков через Websocket?
Это история о запутанном и не очень полезном методе извлечения кода, создаваемого ничего не подозревающими JavaScript разработчиками, занятыми над секретными проектами.
Недавно в сети появилась...
От 0 до 300 SQL-запросов в месяц: 3 практических совета
SQL - это связующее звено между пользователем и системой управления БД. Предлагаем несколько лайфхаков от практикующего аналитика данных, которые позволяют упрощать SQL-запросы и эффективно загружать данные в дашборд.
13 Горячих клавиш, которые должен знать каждый пользователь Ubuntu 18.10
Рассмотрим некоторые полезные сочетания клавиш для Ubuntu 18.10 с графическим окружением GNOME. Мы не включили в эту статью универсальные сочетания клавиш, такие как Ctrl...
Как стать Git-мастером: 7 советов по повышению производительности
Автозаполнение команд Git в терминале
Большинство команд терминала для Git начинаются с ключевого слова git, за которым следует пробел и второе ключевое слово. Из-за наличия...
5 признаков того, что вы тратите свой потенциал разработчика впустую
Устроившись на работу, вы легко можете застрять в ловушке простого обмена своего времени на зарплату. Вы едете на работу, заходите в офис, завариваете кофе,...
64 совета на основе 50 лет опыта в разработке ПО
Первый урок по программированию (конечно же, FORTRAN) я посетил, когда учился в колледже в 1970. За последние же полвека я провёл уйму времени, работая...
5 советов для начинающих программистов
Когда я только начинал заниматься программированием, то часто пребывал в озадаченном состоянии. Порой возникали чувство потерянности и неуверенность в своих силах, что заставляло постоянно...
Что нового в Ubuntu 18.04
Перед тем как вы начнете устанавливать новую версию Linux Ubuntu, приготовьтесь ко всем ее нововведениям и улучшениям, которых в этом выпуске появилось немало!
Ubuntu 18.04...
Возраст - это просто цифра
“Я боюсь, что для меня уже слишком поздно менять профессию… Вообще менять что-либо существенное в жизни уже поздно. Мне уже (подставьте соответствующий вам возраст,...
Как научиться не только писать код, но и быть хорошим программистом
Писать код - дело текущего дня. А вот умение быть отличным инженером ПО - навык, который будет актуален всегда. Порассуждаем над тем, почему так важно постоянно совершенствовать навыки, знания и опыт.
Почему вы никогда не будете слишком стары, чтобы изучать Java (или любой другой язык...
“Любви все возрасты покорны.”
Несмотря на то, что очень многие солидарны с этой фразой, я постоянно наблюдаю за тем, как люди загоняют себя в мнимые...
Как использовать JavaScript и Node.js, чтобы сразиться с драконом в игре Fight the Dragon?
Выдалась свободная минутка? Почему бы не устроить эпичный баттл с драконом? Наше пошаговое руководство поможет выйти из боя победителем!
Практические советы начинающим программистам
Когда я начал делиться своими работами по освоению программирования и хаком своего образования, многие очень сильно заинтересовались и стали спрашивать, как начать учиться программированию.
Я...
Реальный способ стать хорошим программистом
С самого начала своей карьеры я часто задавал себе одни и те же вопросы. Чему мне действительно следует учиться? Чем еще я должен овладеть...
5 методов написания чистого кода для любого проекта
Рассмотрим несколько советов по повышению качества баз кода, которые пригодятся при создании различных проектов: фронтенда, бэкенда, командной строки, настольных и мобильных приложений.
Что такое шаблон SAGA и какую проблему он решает в микросервисной архитектуре
Шаблон SAGA помогает решать специфическую для архитектуры микросервисов проблему. Это сложный в применении инструмент, которым должен владеть опытный разработчик.
Идиома CRTP и написание общих функций в C++
Разбираемся в концепции CRTP (Curiously recurring template patterns, рекурсивный шаблон). Она поможет описывать в C++ общую функциональность, комбинируя шаблоны и наследование.
Упрощаем работу с Google-формами: Apps Script и выпадающее меню
Я работаю в отделе физической безопасности одной технической компании. Для улучшения рабочих процессов я пользуюсь JavaScript в G Suite. Сам я не люблю монотонную...
4 лучших современных текстовых редактора с открытым исходным кодом для программирования в Linux
Если вы спросите опытных пользователей Linux, то скорее всего они скажут вам про Vim, Emacs, Nano и т.д. Эти легендарные редакторы великолепны вне всякого...
Век программируй, век учись
В программировании приходится учиться методом проб и ошибок. Далее я расскажу о 9 важных уроках из своего непростого личного опыта.
1. Как раз самых дешевых,...
Как научиться задавать вопросы, проектировать системы и выявлять ошибки?
7 навыков логического мышления, необходимых для карьерного роста разработчика программного обеспечения
Удивительное превращение винтажного устройства в онлайн-радиоприемник
Моя супруга всегда хотела, чтобы у нас был радиоприемник, который
красиво выглядит; легко регулируется; обладает хорошим качеством звука; проигрывает станции из интернета.
Современный рынок предлагает большой выбор модных интернет-радиоприемников....
Создаём конвейер автоматизированных сборок для проекта на Arduino. Часть 1/2
Важная часть профессионального программирования — это конвейеры автоматизации сборок. Вы, конечно, можете считать несерьезным свое увлечение проектами на Arduino. Но давайте представим, что вы создаёте библиотеку...
Слабо решить эти задачи по программированию?
Программирование всегда связано с решением различных задач. Я подготовил список из шести различных заданий и отсортировал их по сложности решения. Первая — самая простая, шестая — самая сложная....
Векторы - прошлое ИИ, хэши - будущее
Искусственный интеллект был создан на основе векторной арифметики. Однако последние достижения доказали: в некоторых сферах применения ИИ векторы можно заменить (в плане памяти, скорости и т.д.) другими более эффективными двоичными представлениями (такими как нейронные хэши) без существенного компромисса скорость-точность.
Падение разработчиков ПО, рост специалистов по программированию
История
Заглянув в истоки информатики, можно обнаружить, что изначально она не только не имела такого названия, но и не преподавалась ни в одном университете. Информатика...
Вы не понимаете своих программистов
...Открытое письмо не-технарям в технических компаниях
Может показаться, что мы заняты только этим:
Но на самом деле всё несколько сложнее.
Обычно разработчики — целеустремлённые люди, многие из них сами...
10 полезных инструментов и библиотек для программистов и IT профессионалов
В каждой профессии есть свои инструменты, в том числе и у разработчиков программного обеспечения. Хороший программист знает свои инструменты лучше других, а также использует...
Школа ленивого разработчика: ускоренный курс по созданию фрагментов кода в VS Code
Каждый разработчик сталкивался с утомительной необходимостью вводить один и тот же повторяющийся код бесконечное количество раз, начиная с цикла for и заканчивая логированием данных...
SQL или NoSQL: как правильно выбрать базу данных?
Вертикальное масштабирование, журнал опережающей записи WAL, надежность индексов - рассмотрим плюсы и минусы реляционных баз данных.
8 незаменимых веб-приложений для разработчиков
1. Online GDB
Online GDB — это браузерный компилятор, интерпретатор и отладчик. Поддерживает 20 языков программирования, включая C, C++, Python, Ruby, C#, Swift и JavaScript.
Для меня он бесценен...
5 инструментов для специалистов по обработке данных
Рассказываем о пяти инструментах, которые позволят сэкономить время вам и вашей команде при работе над проектом. Они помогут не только с очисткой и анализом данных, но и с построением, обучением и тестированием моделей машинного обучения.
Основы разработки приложений: уровень клиента
Современное веб-приложение - сложный программный продукт. Обратившись к эволюции веб-приложения, в процессе которой значительно повысилось качество этого продукта, можно лучше понять принципы его работы на уровне клиента.
Как я создал расширение браузера и обучил ChatGPT обращаться к внешним сайтам за информацией...
Расскажем, как с помощью расширения Tampermonkey и прокси CORS Anywhere обучить ChatGPT получать доступ к внешним сайтам, анализировать извлекаемый с их страниц контент и искать в нем ответ на заданный вопрос.
Структуры данных: двусвязный (двунаправленный) список
Двусвязный список - это разновидность связного списка, при которой переход по элементам возможен в обоих направлениях (как вперед, так и назад), в отличие от односвязного списка.
9 испытаний, или будни современного инженера данных
Появление современных технологий неминуемо влечет за собой развитие сферы данных, в связи с чем начинающим инженерам приходится решать задачи нового уровня сложности. Какие же...