Разное

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

Education

Собеседование в Facebook. Ценный опыт и открытия

Начиная поиск работы, я никак не могла поверить, что имею реальный шанс на получение должности в Facebook. Пять месяцев спустя я получила письмо с предложением. Это...
Education

5 недооценённых приложений в помощь программисту

Вступление Весьма ироничен тот факт, что разработчики используют кучу разных приложений и ПО, чтобы создавать… приложения и ПО. С течением времени мы выработали строгие предпочтения...
Education

Выбираем шрифт

Факторы, которые следует учитывать при выборе шрифта для вашего следующего проекта. Serif или Sans Serif, вот в чем вопрос Большинство шрифтов можно разделить на две основные категории:...
Arduino

Как создать конвейер автоматизированных сборок для проекта в Arduino Часть 2/2

Часть 1, Часть 2 Давайте добавим Arduino Zero. Модифицируем часть программы, которая устанавливает ядро AVR, и добавляем другой код: # Установка ядер Arduino arduino-cli core install arduino:avr arduino-cli...
Arduino

Создаём конвейер автоматизированных сборок для проекта на Arduino. Часть 1/2

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

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

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

Scrum мёртв. Восславим нового короля - Kanban!

Я использовал Scrum с самого начала своей карьеры. Работе с этим фреймворком я обучился ещё в колледже, где он рассматривался как наилучший вариант для...
Interview

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

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

6 команд терминала для раздражающих задач

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

P.S. Дорогой рефакторинг, нам нужно на время расстаться

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

Ох, TypeScript, ты боль моя

После долгих лет “постоянной” работы с JavaScript у меня (наконец-то) появилась возможность приобщиться к TypeScript. Несмотря на то, что некоторые знакомые смело уверяли меня,...
Education

Программное обеспечение без конструкции if-else

Не откладывая в долгий ящик скажу: зачастую конструкция if-else —  плохой выбор. Её использование приводит к сложным конструкциям, снижает читаемость кода и усложняет рефакторинг. Тем не...
Keyboard

Руководство по навигации с помощью клавиатуры

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

Как комментировать файлы JSON

JSON не поддерживает комментарии, что часто вызывает затруднения. Однако есть способы обойти это ограничение. В этой статье рассмотрены различные методы добавления комментариев в JSON.
Education

Почему сниппеты кода со StackOverflow могут повредить ваш проект

StackOverflow стал спасением для многих программистов, включая меня. Некоторые из нас никогда не посещали домашнюю страницу StackOverflow. Единственный способ, по которому мы попадали на...
Education

2 черты отличных программистов

Что отличает отличных программистов от хороших? Это вопрос, который занимает меня с тех самых пор, как я только начал учиться программировать. Рассмотрим основные черты, которые...
Scala

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

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

Искусственный интеллект + распределённые реестры = оружие против фейковых новостей

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

Разоблачение мифов о сеньоре

Хватит этих историй о том, “как стать старшим разработчиком” Возможно, мой мозг избирательно раздражается, видя, как люди ловят на попутном ветре успех оригинальной статьи. Или,...
Flutter

Прикольные анимации для Flutter-приложений

Я покажу вам 6 прикольных анимационных эффектов, которые можно попробовать в своих приложениях. Добавлять анимацию с Flutter — одно удовольствие. И делать это можно по-разному. Например,...
Education

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

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

Топ-5: непреднамеренная ложь программистов

Я знаю, я лгал! Признаюсь. Я был разработчиком и остаюсь им. Разработка  —  больше, чем просто работа. Это  —  состояние души. Невозможно просто перестать писать код....
Education

Какие ошибки можно допустить в описании пользовательских сценариев и как их исправить

Сейчас нет недостатка в информации о том, как создавать пользовательские сценарии и почему они важны. Но, тем не менее, мы продолжаем совершать ошибки, которые...
WebSocket

Как украсть секреты разработчиков через Websocket?

Это история о запутанном и не очень полезном методе извлечения кода, создаваемого ничего не подозревающими JavaScript разработчиками, занятыми над секретными проектами.  Недавно в сети появилась...
Python

4 простых способа рефакторинга кода

Рефакторинг — это процесс обновления существующего кода без изменения его функционала. Существует множество причин рефакторить код, включая производительность, читаемость и масштабируемость в будущем. Рефакторинг — это важная часть процесса...
Clean Code

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

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

Учимся программированию как Эйнштейн

Эйнштейн был гением и одним из величайших ученых, когда-либо живших на земле. В 1905 году он опубликовал четыре научные работы, заложившие основы современной физики...
VSCode

Любовь к программированию начинается с расширений VS Code

VS Code продолжает расширять границы своей фан-зоны, и все новые разработчики спешат поделиться своим восторгом от его полезных плагинов. Описание 16 расширений для тех, кто хочет сэкономить время и написать внешне привлекательный код.
Linux

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

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

Как достичь уровня senior-разработчика

Разработчики ПО классифицируются по уровням опыта следующим образом: · junior (2–3 года); · senior (10+ лет); · middle (период между junior и senior). Однако многолетний опыт ничего не...
Education

3 инструмента, чтобы начать программировать на недорогом гаджете

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

Как настроить Visual Studio Code для C, C++, Java, Python

Visual Studio Code — популярный редактор кода, бесплатный и с открытым исходным кодом. Но я уверен: каждый из нас, кто пытался настроить Visual Studio Code для разработки...
Education

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

В мире информационных технологий существует множество стереотипов, например «PHP — самый плохой язык» или «Python — это язык для начинающих». К счастью, мы можем представить себе истинное положение...
Education

Используйте перечисления, а не логические аргументы

Когда лучше избегать логических аргументов? Логические значения — это первый тип данных, который изучает любой программист. А почему бы и нет? Они являются самыми простыми из всего...
Education

7 причин выгорания программистов

Джерри — джуниор-разработчик, который в начале своей карьеры не мог дождаться утра, чтобы приступить к работе. И каждый вечер, даже после 10-часового рабочего дня, он чувствовал...
Vim

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

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

Парное программирование: недостатки, которые предпочитают умалчивать

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

21 серьёзная ошибка за 21 год работы программистом

7 апреля 2020 года — знаменательная дата для меня, ведь ровно 21 год назад в этот день началась моя карьера программиста. Уф! Всё было будто вчера, а...
Software Development

Возвращаемся к SOLID

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

Программирование: 5 недооцененных навыков

Убедитесь, что они есть в вашем арсенале Сейчас инженеры-программисты нуждаются в довольно широком спектре навыков. Наверху списка этих навыков вы найдете что-то вроде того, что… вам...
Testing

ПО без тестирования - что самолет без крыльев

Можете ли вы представить авиакомпании, которые никогда бы не тестировали свои самолеты, а просто доставляли бы на место уже готовые. Чувствовали бы вы себя...
Education

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

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

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

“В теории после каждого внесения исправлений необходимо запустить весь банк тестовых случаев, которые ранее запускались в системе, чтобы убедиться, что она каким-то непонятным образом...
Education

Топ 10 бесплатных инструментов для автоматизированного тестирования

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

12 привычек эффективного разработчика

Я работал со множеством разработчиков программного обеспечения. Некоторые из них только закончили колледж, другие — уже профессионалы. В этой статье я перечислил общие привычки этих людей.  1....
Pandas

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

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

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

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

Как пройти собеседование по проектированию систем?

У большинства компаний в сфере информационных технологий отдельный тур собеседования посвящён проектированию систем. Кандидатов просят спроектировать масштабируемую систему типа Facebook NewsFeed, Instagram stories, WhatsApp-чата,...
Blockchain

6 шагов до карьеры блокчейн-разработчика

Шаг 1: оцените свои навыки Вероятно, что у вас, как у разработчиков, после работы со множеством разных технологий появился свой “любимый” стек технологий, которые вам оказались...
IBM

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

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

Программируем с интерфейсами: и у нас на это 5 причин

Начну с самого важного. ВСЕГДА используйте интерфейсы . Ну или хотя бы в большинстве случаев, когда пишете программу или создаёте проект. Чем больше, тем лучше....
Clean Code

Подсказки по именованию логических переменных

Существует определенное соглашение  —  снабжать имена логических переменных и функций префиксами “is” или “has”. Ну, знаете, что-то вроде isLoggedIn, hasAccess или наподобие этого. Но на...
Blockchain

Введение в блокчейн  -  основу криптовалют

Вы ещё помните то время, когда курс криптовалют вырос более чем в 50 раз всего за 1 год?! Вот наглядный график произошедшего: А затем случилось...
Education

64 совета на основе 50 лет опыта в разработке ПО

Первый урок по программированию (конечно же, FORTRAN) я посетил, когда учился в колледже в 1970. За последние же полвека я провёл уйму времени, работая...
Education

Интерфейсы против реализаций

Как-то раз я написал такой твит: “Если бы я мог научить молодого программиста только чему-то одному, то это было бы программирование через интерфейсы, а не...
Education

Что может помешать разработчику самостоятельно создать успешное приложение

Четыре года назад я опубликовал своё первое приложение в Google Play Store. И по ходу разработки я наткнулся на множество препятствий, но также и...
Machine Learning

Топ-10 курсов по машинному и глубокому обучению в 2020

Знаете, о чём я мечтал, когда начал изучать машинное обучение? О таком сборном курсе по машинному обучению формата всё-в-одном. В то время было трудно...
Mathematics

Простейшее объяснение парадокса Монти Холла

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

10 программистов-самоучек, ставших преуспевающими разработчиками

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

5 мудрых цитат известнейших программистов

Быть программистом — значит выбрать путь непрекращающегося обучения, ведь это среда неиссякаемого потока нового — новые функции, новые языки, новые инструменты, новые фреймворки. Но в то же время...
Education

9 бесплатных курсов по программированию от Гарварда, MIT, IBM, Google и Microsoft

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

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

Прежде чем мы начнём разговор о зарплате, давайте обсудим разработку ПО. Разработка — это квалифицированный труд. Вы явно не будете стоять на конвейере, добавляя по винтику...
Programmer Technician

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

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

Как преодолеть синдром самозванца: 6 советов разработчикам

“Все мои достижения не так уж велики и являются всего лишь следствием удачи.”“Мне кажется, я плохой программист, потому что до сих пор не знаю...
VSCode

10 Расширений VS Code Insider для веб разработки 2020

Детище Microsoft — Visual Studio Code — сохранит лидирующую позицию среди редакторов и ИСР на 2020 год. От огромного сообщества на его маркетплейс постоянно поступают крутые расширения, ...
Education

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

Здесь, на Medium, на YouTube и во всем интернете люди говорят о том, как они стали программистами без степени в компьютерных науках. Некоторые переходят...
Education

4 шага для повышения концентрации

Одним из наиболее важных навыков, выделяющих успешных людей, является умение выполнять работу сфокусированно в течение продолжительного времени. Если вы работаете в среде знаний (исследователь, разработчик...
Data Science

Продвинутый CLI: команды, которые должен знать каждый разработчик

1. wget В операционных системах, подобных Unix, команда wget загружает файлы, обслуживаемые по HTTP, HTTPS или FTP через сеть. По умолчанию она включена во все...
Education

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

Интернет буквально кишит статьями, повествующими о том, как вы можете улучшить ваши навыки разработки. Эти статьи гласят о “лучшей коммуникации”, “работе в команде”, “постоянном...
Docker

Сканируем образы Docker на уязвимости

Как своевременно обнаружить уязвимости? Итак, вы создали Dockerfile, протестировали контейнер на рабочей станции разработки и ждете, когда он подцепится в CI/CD. Через какое-то количество времени...
Git

5 шагов к созданию крутого пул-реквеста

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

Привычки, которые стоит выработать программисту

Все мы имеем как хорошие, так и плохие привычки в программировании. Однако, как только вы начинаете вырабатывать правильные привычки, ваша эффективность существенно возрастает. Причем...
VIM

Преодолейте ваши страхи перед Vim

Как выйти из Vim и не только Я хочу развеять страхи, витающие вокруг использования текстового редактора VIM. В этой статье я расскажу о самых часто используемых...
Jupyter Notebooks

4 совета по улучшению Jupyter Notebooks

Jupyter Notebooks - отличный инструмент для всех разработчиков, желающих поделиться своей работой. Он предоставляет простой способ обмена проектами и широко используется в таких областях, как...
Java Script

Слабо решить эти задачи по программированию?

Программирование всегда связано с решением различных задач. Я подготовил список из шести различных заданий и отсортировал их по сложности решения. Первая — самая простая, шестая — самая сложная....
Software Engineering

5 правил кода

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

8 незаменимых веб-приложений для разработчиков

1. Online GDB Online GDB — это браузерный компилятор, интерпретатор и отладчик. Поддерживает 20 языков программирования, включая C, C++, Python, Ruby, C#, Swift и JavaScript. Для меня он бесценен...
Education

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

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

Как я наконец перешел от обучения к работе

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

Вы достигли высот самообучения. Что дальше?

Возможно, вы увлечены изучением Boot Camp либо проходите 100-дневную программу освоения программирования. Независимо от того, чем из подобных вещей вы занимаетесь, однажды настанет день,...
Education

Возраст - это просто цифра

“Я боюсь, что для меня уже слишком поздно менять профессию… Вообще менять что-либо существенное в жизни уже поздно. Мне уже (подставьте соответствующий вам возраст,...
Education

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

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

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

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

Создание Docker контейнера с вашей моделью машинного обучения

Хотя я не обладаю большим опытом в разработке программного обеспечения — я специалист по обработке данных — но, конечно, много слышала о контейнерах. Насколько легкие они в сравнении...
Git

Как стать Git-мастером: 7 советов по повышению производительности

Автозаполнение команд Git в терминале Большинство команд терминала для Git начинаются с ключевого слова git, за которым следует пробел и второе ключевое слово. Из-за наличия...
GitHub

Знакомство с Git и GitHub: руководство для начинающих. Часть 2

Часть 1, Часть 2 Рабочий процесс на GitHub Допустим, у вас есть проект с кучей разных идей и возможностей для дальнейшей реализации. Что-то из этого...
GitHub

Знакомство с Git и GitHub: руководство для начинающих. Часть 1

Часть 1, Часть 2 Ищите, с чего бы начать изучение Git и GitHub? Хотите поработать с другими? Усердно трудитесь над проектом? Или вдруг заметили, что...
Angular

Автоматизация обновления Angular

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

Как настроить отладчик для Chrome extension в Visual Studio Code

Отладка веб-приложений с помощью Visual Studio Code значительно повышает эффективность работы, помогает сэкономить много времени и сохранить чистоту кода. Приступим! Начало установки Для начала установите расширение...
DataScience

6 техник, которые помогут вам учиться лучше

Я осваивал машинное обучение каждый день в течение девяти месяцев, а затем нашёл работу. Узнайте, как всё было. После ухода из Apple я основал интернет-стартап....
Data Science

SQL в науке о данных

Введение SQL (язык структурированных запросов) - язык программирования, используемый для запроса и управления данными в реляционных базах данных. Реляционные базы данных состоят из наборов двумерных...
Java Script

Как не лажать с JavaScript. Часть 4

Часть 1, Часть 2, Часть 3, Часть 4 Декларативный код  —  популярное понятие, но что оно означает на самом деле? Это что-то хорошее? Давайте разберёмся. Если вы...
Bash

Как писать Bash-однострочники для клонирования и управления GitHub/GitLab репозиториями

Мало что радует так же сильно, как одна красивая Bash-строка, способная автоматизировать часы рутинной работы. Я изучала вопрос по автоматическому восстановлению системы на ноутбуке с...
Machine Learning Libraries

5 лучших библиотек машинного обучения

За последние несколько лет рост машинного обучения достиг стремительных темпов. Это связано с выпуском библиотек машинного обучения (МО)/глубокого обучения (ГО), которые абстрагируются от сложности...
Self Improvement

5 вредных привычек неэффективных программистов

Плохие программисты вовсе не глупы. Просто у них есть вредные привычки. Некоторые программисты лучше других. Существует своего рода статистика: небольшая группа программистов — на уровне «великолепно», чуть...
VSCode

Как я настроил VS Code

Недавно я был в аэропорту Борисполь на Украине, работал над статьей для блога, как вдруг мой VS Code перестал работать. Он крашнулся дважды меньше...
Learning

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

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

Визуализация map, filter и reduce

Визуализация играет важную роль в обучении. Она помогает нам запоминать сложные идеи, в том числе и по программированию. Отображение map(add) применяет value + 1 ко всему...
Clean code

Как писать чистый код?

Роберт Мартин: «Единственная адекватная мера качества кода — это количество восклицаний «какого чёрта!» вминуту». Позвольте объяснить. Делая код-ревью, я испытываю три эмоции: Какого черта!  —  с отвращением. Этот...
Data Science

Самая лучшая идея в науке о данных

Есть три типа шаблонов данных: Шаблоны/факты, которые существуют в наборе данных и за его пределами.Шаблоны/факты, которые существуют только в наборе данных.Шаблоны/факты, которые существуют только в...
Code Review

Как писать понятный код

Вы пишите код для разработчиков или только для себя?   Обзоры кода во имя добра Я люблю обзоры кода ― разбирать чужой код и отдавать на обзор свой....
Django REST Framework: REST API на Python с нуля

Django REST Framework: REST API на Python с нуля

Прикладное руководство для новичков Python и Django по написанию API на примере сайта бронирования отелей.
Создание простого клиента RabbitMQ с помощью Go

Создание простого клиента RabbitMQ с помощью Go

Как известно, Go  —  это язык программирования с открытым исходным кодом, позволяющий легко создавать простое, надёжное и эффективное программное обеспечение. RabbitMQ представляет собой общедоступный программный...
WebAssembly с Go: вывод веб-приложений на новый уровень

WebAssembly с Go: вывод веб-приложений на новый уровень

Развернем интеграцию WebAssembly с Go в браузерах, настроим среду Go, преобразуем код Go в WebAssembly и выполним его в веб-контексте. В итоге получим интерактивную платформу с конкретными, мощными возможностями.
Git

Использование хуков Git для улучшения процесса разработки

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