Разное

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

WebSocket

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как установить Linux Mint рядом с Windows 10 [инструкция для чайников]

Итак, вы решили перейти на Linux. Хорошее решение! А еще лучше, если вы выбрали Linux Mint! Linux Mint — один из лучших дистрибутивов для новичков. В установке...
Education

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

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

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

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

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

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

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

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

15 идей для вашего приложения. Часть 1

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

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

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

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

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

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

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

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

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

Лучшие бесплатные источники наборов данных для анализа

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

10 признаков того, что программирование не для вас

Часто на Reddit или Quora я вижу вопросы “Как понять, что я могу стать хорошим программистом?”. Такие вопросы о программировании часто всплывают, когда люди...
GitHub

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

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

10 лучших легких дистрибутивов Linux для старых компьютеров

10. Peppermint   Peppermint — это облачно-ориентированный дистрибутив Linux, не требующий мощного железа для запуска. Он основан на Lubuntu и использует окружение рабочего стола LXDE для более плавной...
Education

10 программистских терминов на понятном языке

Все термины, приведенные ниже, уже раскрывали множество раз миллионами разных слов. Но у нас нет ни времени, ни возможностей обработать такое количество информации. По...
Software Development

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

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

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

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

Какие языки программирования лучше учить в 2019 году

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

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

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

Как настроить Docker и Windows Subsystem for Linux (WSL): история о любви?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7 секретов для поддержания мотивации при изучении программирования

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

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

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

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

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

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

Я попал в Кремниевую Долину через черный ход — я начинал свою карьеру с простых и быстрых подработок на фрилансе. Рекомендую этот подход: это эффективный и...
UX

Основные принципы дизайна для НЕ дизайнеров

Я сформировала этот список, посредством многолетнего наблюдения за своими друзьями НЕ дизайнерами, семьей и коллегами, которым постоянно приходится сталкиваться с необходимостью применения дизайна в...
Docker

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

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

Основы Git за 5 минут

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

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

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

Список навыков для начинающих фронтенд-разработчиков

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

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

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

Как я стал программистом в 40 лет

Вот, как я сменил свою прежнюю работу на front-end разработчика в 40 лет, не имея ни образования, ни опыта работы в этой сфере. Я...
Self Improvement

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

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

9 лучших примеров макетов сайта и идей для веб-дизайна в 2018

Есть всего одна возможность создать хорошее первое впечатление. Качественный дизайн сайта может в первую же секунду поразить посетителя. Именно поэтому дизайн главной страницы очень...
Developer

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

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

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

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

Почему вам нужно учить больше языков программирования

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

Введение в Subject в реактивном программировании

Subject — это «особый» тип наблюдаемого объекта, который позволяет транслировать значения сразу нескольким подписчикам. Самое классное здесь то, что Subject предоставляет ответы в режиме реального времени. Например,...
Education

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

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

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

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

9 вещей, которыми следует заняться Java программисту в 2018 году

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

13 Горячих клавиш, которые должен знать каждый пользователь Ubuntu 18.10

Рассмотрим некоторые полезные сочетания клавиш для Ubuntu 18.10 с графическим окружением GNOME. Мы не включили в эту статью универсальные сочетания клавиш, такие как Ctrl...
Java

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

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

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

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

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

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

6 месяцев без Windows: ужасная правда об играх на Linux

Последние 6 месяцев я старался работать исключительно в Linux и не намерен отказываться от задуманного. Такой опыт оказался прогрессивным, обучающим и, временами, даже забавным....
Machine Learning

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

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

5 лучших курсов по React Native для разработчиков мобильных приложений

Если вы — веб-разработчик, который хочет создавать мобильные приложения, но не хочет тратить время на изучение Java/Kotlin (для Android) или Objective C/Swift (для iOS),...
Java

Как научиться программировать на Java и с чего начать

Определите свои профессиональные цели и выберите язык. Это самый главный совет для новичков, желающих присоединиться к сообществу программистов. Но как же это сделать, если...
Artificial Intelligence

Искусственный интеллект оживит наших близких

После того, как Роман Мазуренко, близкий друг Евгении Куйды, погиб в автокатастрофе, она решила возвести ему памятник. Она собрала все текстовые сообщения, которые он...
Education

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

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

Топ 10 альтернатив Github для размещения Open Source проектов

Github — мощная, безопасная и самая популярная онлайн платформа для размещения проектов с контролем версий, с использованием Git. Хоть Github больше известен как платформа для разработки...
Archive

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

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

Как и почему я перешёл с Ruby на Python

В 2008, когда я ещё учился на инженера-разработчика, двое моих друзей решили запустить проект под названием Feedbooks. Суть проекта состояла в создании электронной библиотеки,...
Ubuntu

Установка и использование Snap-пакетов в Ubuntu 18.04

Введение Snap (или Snappy) — это система развертывания программ и управления пакетами, созданная Canonical. Эти пакеты чаще называют «снепами». Для работы с ними используется утилита «snapd», встроенная...
VIM

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

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

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

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

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

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

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

Если бы мне предложили подвести итог своей карьере программиста с помощью двух суровых истин, я бы сказал так: Все, что может пойти не так,...
Git

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

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

Нативное будущее кроссплатформенной разработки

Коротко о кроссплатформенности Сейчас кроссплатформенная разработка не пользуется большой популярностью. Основная причина состоит в том, что существующие инструменты не в полной мере справляются со своей...
CodeReview

Code Review - Полное руководство

После проведения сотни code rewiew, лично возглавив R&D (Research & Development) команду и спровоцировав несколько непреднамеренных ошибок, я решил поделиться своими выводами о том,...
Education

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

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

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

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

Секрет быстрого обучения

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

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

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

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

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

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

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

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

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

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

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

Практические советы начинающим программистам

Когда я начал делиться своими работами по освоению программирования и хаком своего образования, многие очень сильно заинтересовались и стали спрашивать, как начать учиться программированию. Я...
Docke and Gitlab

Как настроить непрерывную интеграцию на GitLab с помощью Docker

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

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

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

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

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

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

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

✨ Расширения для Visual Studio Code, которые поднимут процесс разработки на новый уровень

Давайте поговорим о Code — Visual Studio Code. Мои дорогие читатели попросили меня рассказать о тех расширения, которые я использую для разработки. Этим мы сейчас и займёмся. Наш VSC...
HR

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

Последние 6 недель я только и делала, что проходила собеседования на роль middle-разработчика программного обеспечения в Амстердаме. Амстердам — это очень большой город, и собеседований я...
Kotlin

Java против Kotlin. Android

Противостояние Java и Kotlin  —  тренд последних дней. Java  —  везде, однако Kotlin наступает, предлагая значительные преимущества. Итак, Java и Kotlin конкурируют. Мы обсудим...
Testing

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

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

Топ-12 факторов, уничтожающих продуктивность программиста

Никто не ждет от программиста, что он сделает свою работу, не используя компьютер. Но при этом многие компании ожидают, что он сделает свою работу,...
MacBook Pro

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

Около десяти лет назад в интернете появилась статья, утверждающая, что “у каждого разработчика должен быть MacBook Pro”, в которой перечислялся ряд причин, например: Лучший...
Software Development

У меня появилась идея для приложения, но…я не разработчик

У меня есть идея для веб-приложения Мои поздравления — вас посетила муза! Теперь пришло время внимательно взглянуть на вашу идею и решить, следует ли ее доработать, перейти...
Productivity

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

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

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

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

От рекомендаций по проведению ревью кода к общечеловеческим ценностям

Став частью команды QuintoAndar, я приобщилась ко многим процессам, о которых раньше не знала. В их число входили обязательные ревью кода.  Если кратко, то в...
Apple

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

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

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

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

Двоичное дерево поиска: вставка значения с использованием JavaScript

Двоичное дерево — это древовидная структура данных, в которой каждый элемент имеет не более 2 дочерних элементов. Эта структура данных состоит из трех основных элементов: 1. Данные 2....