Как украсть секреты разработчиков через Websocket?
Это история о запутанном и не очень полезном методе извлечения кода, создаваемого ничего не подозревающими JavaScript разработчиками, занятыми над секретными проектами.
Недавно в сети появилась...
Какие ошибки можно допустить в описании пользовательских сценариев и как их исправить
Сейчас нет недостатка в информации о том, как создавать пользовательские сценарии и почему они важны. Но, тем не менее, мы продолжаем совершать ошибки, которые...
4 простых способа рефакторинга кода
Рефакторинг — это процесс обновления существующего кода без изменения его функционала. Существует множество причин рефакторить код, включая производительность, читаемость и масштабируемость в будущем.
Рефакторинг — это важная часть процесса...
Учимся программированию как Эйнштейн
Эйнштейн был гением и одним из величайших ученых, когда-либо живших на земле. В 1905 году он опубликовал четыре научные работы, заложившие основы современной физики...
Любовь к программированию начинается с расширений VS Code
VS Code продолжает расширять границы своей фан-зоны, и все новые разработчики спешат поделиться своим восторгом от его полезных плагинов. Описание 16 расширений для тех, кто хочет сэкономить время и написать внешне привлекательный код.
21 серьёзная ошибка за 21 год работы программистом
7 апреля 2020 года — знаменательная дата для меня, ведь ровно 21 год назад в этот день началась моя карьера программиста.
Уф! Всё было будто вчера, а...
Как достичь уровня senior-разработчика
Разработчики ПО классифицируются по уровням опыта следующим образом:
· junior (2–3 года);
· senior (10+ лет);
· middle (период между junior и senior).
Однако многолетний опыт ничего не...
Простейшее объяснение парадокса Монти Холла
Парадокс Монти Холла — это одна из тех математических задач, над решением которой уже долгое время бьются многие умы, и даже всемирно известных математиков она приводит...
Какой язык программирования используют самые счастливые разработчики?
В мире информационных технологий существует множество стереотипов, например «PHP — самый плохой язык» или «Python — это язык для начинающих». К счастью, мы можем представить себе истинное положение...
Как установить Linux Mint рядом с Windows 10 [инструкция для чайников]
Итак, вы решили перейти на Linux. Хорошее решение! А еще лучше, если вы выбрали Linux Mint!
Linux Mint — один из лучших дистрибутивов для новичков. В установке...
Как настроить Visual Studio Code для C, C++, Java, Python
Visual Studio Code — популярный редактор кода, бесплатный и с открытым исходным кодом. Но я уверен: каждый из нас, кто пытался настроить Visual Studio Code для разработки...
3 инструмента, чтобы начать программировать на недорогом гаджете
В твиттере я общаюсь с людьми, которые только приступают к разработке приложений. Иногда они говорят, что, чтобы начать программировать, им нужен (дорогой) ноутбук. Но для...
Комментарий в коде написать - всё равно, что проиграть
Могу себе представить, какое бурное негодование вызвал у вас лишь заголовок данной статьи, но не спешите бросать в меня камни и просто выслушайте. Уместные...
7 причин выгорания программистов
Джерри — джуниор-разработчик, который в начале своей карьеры не мог дождаться утра, чтобы приступить к работе. И каждый вечер, даже после 10-часового рабочего дня, он чувствовал...
15 идей для вашего приложения. Часть 1
У разработчиков, как и у писателей, бывает ступор, когда хочешь что-то написать, но не знаешь что.
Мы с моим другом Джимом собрали коллекцию идей для...
5 настроек рабочего стола Linux для разработчиков
Linux: программируйте удобнее
Как только я начал работать из дома, я решил, что пришло время капитального ремонта рабочего стола. В офисе я обычно использую MacBook...
Программирование: 5 недооцененных навыков
Убедитесь, что они есть в вашем арсенале
Сейчас инженеры-программисты нуждаются в довольно широком спектре навыков. Наверху списка этих навыков вы найдете что-то вроде того, что… вам...
Как я настроил VS Code
Недавно я был в аэропорту Борисполь на Украине, работал над статьей для блога, как вдруг мой VS Code перестал работать. Он крашнулся дважды меньше...
Стоит ли разработчику изучать VIM в 2020 году?
Введение
Небольшая предыстория для понимания контекста. В конце 2018 года я всерьез занялся программированием, решив развивать карьеру. До этого я создавал (довольно плохие) сценарии для...
10 признаков того, что программирование не для вас
Часто на Reddit или Quora я вижу вопросы “Как понять, что я могу стать хорошим программистом?”. Такие вопросы о программировании часто всплывают, когда люди...
Лучшие бесплатные источники наборов данных для анализа
Сбор высококачественных данных представляет собой важную часть любого анализа данных или проекта по машинному обучению. В целях экономии вашего драгоценного времени команда WebDataRocks подготовила...
Знакомство с Git и GitHub: руководство для начинающих. Часть 1
Часть 1, Часть 2
Ищите, с чего бы начать изучение Git и GitHub? Хотите поработать с другими? Усердно трудитесь над проектом? Или вдруг заметили, что...
10 лучших легких дистрибутивов Linux для старых компьютеров
10. Peppermint
Peppermint — это облачно-ориентированный дистрибутив Linux, не требующий мощного железа для запуска. Он основан на Lubuntu и использует окружение рабочего стола LXDE для более плавной...
10 программистских терминов на понятном языке
Все термины, приведенные ниже, уже раскрывали множество раз миллионами разных слов. Но у нас нет ни времени, ни возможностей обработать такое количество информации. По...
Какие языки программирования лучше учить в 2019 году
Если бы мы жили в идеальном мире, выбор языка программирования ни на что бы не влиял. Большинство популярных языков используются для похожих задач. Неопытным...
Top 100 наиболее популярных репозиториев на GitHub
GitHub стал не просто хостингом для хранения кодов, а огромным сообществом разработчиков.
Масштабы GitHub колоссальны: более 30 миллионов аккаунтов, более 2 миллионов организаций и более...
Как настроить Docker и Windows Subsystem for Linux (WSL): история о любви?
Вы когда-нибудь чувствовали себя прекрасной принцессой, которую злой волшебник превратил в лягушку? Как будто происходит что-то не то? У меня такое бывает. Я пользуюсь...
12 привычек эффективного разработчика
Я работал со множеством разработчиков программного обеспечения. Некоторые из них только закончили колледж, другие — уже профессионалы. В этой статье я перечислил общие привычки этих людей.
1....
10 тенденций в разработке программного обеспечения в 2019 году
Тенденции меняются каждый день во всех сферах деятельности: в моде, в образовании, в разработке программного обеспечения. В эпоху цифровизации сфера программирования меняется чрезвычайно быстрыми...
Перестаньте фокусироваться на синтаксисе, если хотите стать senior-разработчиком
Вы переезжаете в новый город и не знаете, где находится ближайший продуктовый магазин.
Вы не станете волноваться, а просто воспользуетесь Google Maps.
После того, как вы...
Подсказки по именованию логических переменных
Существует определенное соглашение — снабжать имена логических переменных и функций префиксами “is” или “has”. Ну, знаете, что-то вроде isLoggedIn, hasAccess или наподобие этого.
Но на...
Парное программирование: недостатки, которые предпочитают умалчивать
Приверженцы парного программирования часто говорят о его положительном влиянии на обмен знаниями и разрушении "бункеров знаний" в команде. В особенности они выделяют тот факт,...
8 незаменимых веб-приложений для разработчиков
1. Online GDB
Online GDB — это браузерный компилятор, интерпретатор и отладчик. Поддерживает 20 языков программирования, включая C, C++, Python, Ruby, C#, Swift и JavaScript.
Для меня он бесценен...
Используйте перечисления, а не логические аргументы
Когда лучше избегать логических аргументов?
Логические значения — это первый тип данных, который изучает любой программист. А почему бы и нет? Они являются самыми простыми из всего...
Вычислительные затраты на написание чистого кода
Почему иногда люди пишут подобный код?
var = float(str(alist).split())/3+float(alist)
Ответ прост: чтобы сэкономить вычислительное время. Стоит только написать это в четыре строки…
var = alist[::-1][0]
var = str(var).split()[1:4]
var...
4 шага для повышения концентрации
Одним из наиболее важных навыков, выделяющих успешных людей, является умение выполнять работу сфокусированно в течение продолжительного времени.
Если вы работаете в среде знаний (исследователь, разработчик...
Как пройти собеседование по проектированию систем?
У большинства компаний в сфере информационных технологий отдельный тур собеседования посвящён проектированию систем. Кандидатов просят спроектировать масштабируемую систему типа Facebook NewsFeed, Instagram stories, WhatsApp-чата,...
Как организовать код в Python
Если вы занимаетесь вычислительными исследованиями или наукой о данных, но у вас нет опыта в области компьютерных наук, то вы, вероятно, создали удивительные научные...
10 Расширений VS Code Insider для веб разработки 2020
Детище Microsoft — Visual Studio Code — сохранит лидирующую позицию среди редакторов и ИСР на 2020 год. От огромного сообщества на его маркетплейс постоянно поступают крутые расширения, ...
7 секретов для поддержания мотивации при изучении программирования
В Codementor мы с гордостью можем похвастаться более 6000 наставников по программированию, которые помогают людям во всем мире научиться программировать. Одной из самых больших...
10 программистов-самоучек, ставших преуспевающими разработчиками
Если вы читаете эту статью, потому что находитесь в начале пути самообучения программированию или уже достигли его середины и начинаете сомневаться, то воспользуйтесь приведёнными...
Как начать работать программистом почти без опыта
Я попал в Кремниевую Долину через черный ход — я начинал свою карьеру с простых и быстрых подработок на фрилансе. Рекомендую этот подход: это эффективный и...
Основные принципы дизайна для НЕ дизайнеров
Я сформировала этот список, посредством многолетнего наблюдения за своими друзьями НЕ дизайнерами, семьей и коллегами, которым постоянно приходится сталкиваться с необходимостью применения дизайна в...
Почему вы должны обратить внимание на Docker?
Когда я гуглил информацию о фреймворках глубокого обучения (deep learning), я заметил, что почти каждый из этих фреймворков поддерживался Docker. В итоге у меня...
Основы Git за 5 минут
По мере своего становления в роли разработчика приходит понимание того, что большая часть работы ведется в команде. И при работе в команде нужна система...
Список навыков для начинающих фронтенд-разработчиков
В наше время веб-сайты есть у всех и вся, а возможностей стать фронтенд-разработчиком великое множество. Но поскольку все вокруг меняется с огромной скоростью, становится...
Собеседование Java разработчика. Наиболее Часто Задаваемые Вопросы
В этом посте, я с удовольствием раскрою, вероятно, большинство возможных вопросов на Java-собеседовании, от простых до самых сложных.
Чем отличаются статические методы и переменные...
Введение в блокчейн - основу криптовалют
Вы ещё помните то время, когда курс криптовалют вырос более чем в 50 раз всего за 1 год?! Вот наглядный график произошедшего:
А затем случилось...
9 лучших примеров макетов сайта и идей для веб-дизайна в 2018
Есть всего одна возможность создать хорошее первое впечатление. Качественный дизайн сайта может в первую же секунду поразить посетителя. Именно поэтому дизайн главной страницы очень...
Разработчики, которые постоянно что-то изучают — вот вам совет!
Я видел много людей, среди разработчиков, которые постоянно находились в состоянии разочарованности и неуверенности в себе. Это происходило из-за того, что они постоянно пытались...
Как настроить отладчик для Chrome extension в Visual Studio Code
Отладка веб-приложений с помощью Visual Studio Code значительно повышает эффективность работы, помогает сэкономить много времени и сохранить чистоту кода. Приступим!
Начало установки
Для начала установите расширение...
Почему вам нужно учить больше языков программирования
О моих свободных отношениях с языками программирования
Я занимаюсь программированием уже около 4 лет. Я начал с C#, занимаясь разработкой игр, а затем перешел на...
Как добиться большей зарплаты на собеседовании
Прежде чем мы начнём разговор о зарплате, давайте обсудим разработку ПО. Разработка — это квалифицированный труд. Вы явно не будете стоять на конвейере, добавляя по винтику...
Как я стал программистом в 40 лет
Вот, как я сменил свою прежнюю работу на front-end разработчика в 40 лет, не имея ни образования, ни опыта работы в этой сфере. Я...
5 вредных привычек неэффективных программистов
Плохие программисты вовсе не глупы. Просто у них есть вредные привычки.
Некоторые программисты лучше других. Существует своего рода статистика: небольшая группа программистов — на уровне «великолепно», чуть...
Сканируем образы Docker на уязвимости
Как своевременно обнаружить уязвимости?
Итак, вы создали Dockerfile, протестировали контейнер на рабочей станции разработки и ждете, когда он подцепится в CI/CD. Через какое-то количество времени...
6 шагов до карьеры блокчейн-разработчика
Шаг 1: оцените свои навыки
Вероятно, что у вас, как у разработчиков, после работы со множеством разных технологий появился свой “любимый” стек технологий, которые вам оказались...
6 месяцев без Windows: ужасная правда об играх на Linux
Последние 6 месяцев я старался работать исключительно в Linux и не намерен отказываться от задуманного. Такой опыт оказался прогрессивным, обучающим и, временами, даже забавным....
Топ-10 курсов по машинному и глубокому обучению в 2020
Знаете, о чём я мечтал, когда начал изучать машинное обучение? О таком сборном курсе по машинному обучению формата всё-в-одном. В то время было трудно...
5 лучших курсов по React Native для разработчиков мобильных приложений
Если вы — веб-разработчик, который хочет создавать мобильные приложения, но не хочет тратить время на изучение Java/Kotlin (для Android) или Objective C/Swift (для iOS),...
Как научиться программировать на Java и с чего начать
Определите свои профессиональные цели и выберите язык. Это самый главный совет для новичков, желающих присоединиться к сообществу программистов. Но как же это сделать, если...
Искусственный интеллект оживит наших близких
После того, как Роман Мазуренко, близкий друг Евгении Куйды, погиб в автокатастрофе, она решила возвести ему памятник. Она собрала все текстовые сообщения, которые он...
Что может помешать разработчику самостоятельно создать успешное приложение
Четыре года назад я опубликовал своё первое приложение в Google Play Store. И по ходу разработки я наткнулся на множество препятствий, но также и...
Форматы .tar .zip .gz: Различия и эффективность
Вы наверняка встречали файлы с расширением .tar, .zip или .gz . А знаете ли вы, чем они отличаются, почему мы их используем, и какой формат наиболее эффективен?
Различия между...
Как и почему я перешёл с Ruby на Python
В 2008, когда я ещё учился на инженера-разработчика, двое моих друзей решили запустить проект под названием Feedbooks. Суть проекта состояла в создании электронной библиотеки,...
Топ 10 альтернатив Github для размещения Open Source проектов
Github — мощная, безопасная и самая популярная онлайн платформа для размещения проектов с контролем версий, с использованием Git. Хоть Github больше известен как платформа для разработки...
Установка и использование Snap-пакетов в Ubuntu 18.04
Введение
Snap (или Snappy) — это система развертывания программ и управления пакетами, созданная Canonical. Эти пакеты чаще называют «снепами». Для работы с ними используется утилита «snapd», встроенная...
Преодолейте ваши страхи перед Vim
Как выйти из Vim и не только
Я хочу развеять страхи, витающие вокруг использования текстового редактора VIM. В этой статье я расскажу о самых часто используемых...
Топ 10 бесплатных инструментов для автоматизированного тестирования
В современном мире существует множество инструментов, помогающих ускорить достижение цели.
Я подготовил список из 10 лучших инструментов автоматизации, которые помогут справляться с задачами намного быстрее....
Введение в Subject в реактивном программировании
Subject — это «особый» тип наблюдаемого объекта, который позволяет транслировать значения сразу нескольким подписчикам. Самое классное здесь то, что Subject предоставляет ответы в режиме реального времени.
Например,...
64 совета на основе 50 лет опыта в разработке ПО
Первый урок по программированию (конечно же, FORTRAN) я посетил, когда учился в колледже в 1970. За последние же полвека я провёл уйму времени, работая...
Наглядное руководство по каждому типу тестов
“В теории после каждого внесения исправлений необходимо запустить весь банк тестовых случаев, которые ранее запускались в системе, чтобы убедиться, что она каким-то непонятным образом...
13 Горячих клавиш, которые должен знать каждый пользователь Ubuntu 18.10
Рассмотрим некоторые полезные сочетания клавиш для Ubuntu 18.10 с графическим окружением GNOME. Мы не включили в эту статью универсальные сочетания клавиш, такие как Ctrl...
9 вещей, которыми следует заняться Java программисту в 2018 году
Будучи Java разработчиком и автором Java-блога, я часто встречаю вопросы от java-программистов со всего мира, о том, как можно улучшить свои навыки.
В прошлом я написал...
Как правильно учиться Java-программированию: история одного тьютора
Моя история
Все началось больше десяти лет назад. Решив стать программистом, я начал изучать несколько языков, чтобы в конечном итоге найти «свой» язык.
В Java я...
5 шагов к созданию крутого пул-реквеста
Во-первых, поздравляю с тем, что вы достигли этих рубежей! Создание пул-реквестов — это последний шаг на пути согласования улучшенного вами кода с владельцем его оригинала и...
Нативное будущее кроссплатформенной разработки
Коротко о кроссплатформенности
Сейчас кроссплатформенная разработка не пользуется большой популярностью. Основная причина состоит в том, что существующие инструменты не в полной мере справляются со своей...
Code Review - Полное руководство
После проведения сотни code rewiew, лично возглавив R&D (Research & Development) команду и спровоцировав несколько непреднамеренных ошибок, я решил поделиться своими выводами о том,...
Возраст - это просто цифра
“Я боюсь, что для меня уже слишком поздно менять профессию… Вообще менять что-либо существенное в жизни уже поздно. Мне уже (подставьте соответствующий вам возраст,...
Возвращаемся к SOLID
Вы помните, что именно представляет собой один из краеугольных камней большой разработки программного обеспечения?
В первые годы своей работы большинство разработчиков сталкиваются с принципами SOLID,...
Секрет быстрого обучения
Многие молодые разработчики боятся выглядеть глупо. Они уверены, что это преуменьшает их способности в глазах других и отрицательно влияет на их карьеру.
Однако все наоборот....
О чём не говорят инженеры ПО
Здесь, на Medium, на YouTube и во всем интернете люди говорят о том, как они стали программистами без степени в компьютерных науках. Некоторые переходят...
Как мой 10-летний сын выучил Javascript
“Папа . . . А чем ты зарабатываешь на жизнь?”
Этот неожиданный вопрос заставляет нас, родителей, испытать чувство гордости. Так как он означает, что ребенок наконец-то видит в...
Как стать Git-мастером: 7 советов по повышению производительности
Автозаполнение команд Git в терминале
Большинство команд терминала для Git начинаются с ключевого слова git, за которым следует пробел и второе ключевое слово. Из-за наличия...
Искусство упрощения для программистов
Недавно я наткнулся на очень интересную книгу авторства Nagisa Tatsumi. Называется она “Искусство упрощения: как избавиться от беспорядка и найти радость” (“The Art of...
Как писать чистый код?
Роберт Мартин: «Единственная адекватная мера качества кода — это количество восклицаний «какого чёрта!» вминуту».
Позвольте объяснить. Делая код-ревью, я испытываю три эмоции:
Какого черта! — с отвращением. Этот...
Практические советы начинающим программистам
Когда я начал делиться своими работами по освоению программирования и хаком своего образования, многие очень сильно заинтересовались и стали спрашивать, как начать учиться программированию.
Я...
Как настроить непрерывную интеграцию на GitLab с помощью Docker
Раньше, возможно, вы уже пытались использовать различные программы и инструменты для эффективного развертывания приложений. В этой статье я покажу вам быстрый и простой способ...
Знакомство с Git и GitHub: руководство для начинающих. Часть 2
Часть 1, Часть 2
Рабочий процесс на GitHub
Допустим, у вас есть проект с кучей разных идей и возможностей для дальнейшей реализации. Что-то из этого...
Как правильно учиться Java-программированию: история одного тьютора
Моя история
Все началось больше десяти лет назад. Решив стать программистом, я начал изучать несколько языков, чтобы в конечном итоге найти «свой» язык.
В Java я...
Как отладка поможет вам стать лучшим разработчиком
Если бы мне предложили подвести итог своей карьере программиста с помощью двух суровых истин, я бы сказал так:
Все, что может пойти не так,...
Java против Kotlin. Android
Противостояние Java и Kotlin — тренд последних дней. Java — везде, однако Kotlin наступает, предлагая значительные преимущества. Итак, Java и Kotlin конкурируют. Мы обсудим...
ПО без тестирования - что самолет без крыльев
Можете ли вы представить авиакомпании, которые никогда бы не тестировали свои самолеты, а просто доставляли бы на место уже готовые. Чувствовали бы вы себя...
Топ-12 факторов, уничтожающих продуктивность программиста
Никто не ждет от программиста, что он сделает свою работу, не используя компьютер. Но при этом многие компании ожидают, что он сделает свою работу,...
Самый важный навык для программиста
Нет, нет и нет.
Скажем вместе. НЕТ!
Хорошее начало.
Но чему мы говорим НЕТ?
Это важный момент, который сбивает с толку даже опытных программистов.
Написание кода составляет большую часть...
Почему разработчики не должны пользоваться MacBook Pro?
Около десяти лет назад в интернете появилась статья, утверждающая, что “у каждого разработчика должен быть MacBook Pro”, в которой перечислялся ряд причин, например:
Лучший...
У меня появилась идея для приложения, но…я не разработчик
У меня есть идея для веб-приложения
Мои поздравления — вас посетила муза! Теперь пришло время внимательно взглянуть на вашу идею и решить, следует ли ее доработать, перейти...
Создание правильного чек-листа для инспекции кода
Инспекция кода — это неотъемлемая часть процесса разработки, придуманная для снижения технических недоработок и обеспечения постоянства кодовой базы. Все, кто пишет код, допускают ошибки. Поэтому крайне...
Как приобрести навыки, необходимые для выживания в мире современных технологий
5 способов, которые помогут перестать беспокоиться о будущем
Современный мир нестабилен и непрерывно развивается. Автоматизированные машины, данные и алгоритмы, компьютеры и код — изменения затрагивают все аспекты нашей...
Почему люди проваливают собеседования по алгоритмам и структурам данных в крупных компаниях?
Компьютерные науки — это область с огромными возможностями. Миллионы студентов всего мира мечтают построить карьеру в этой сфере. Но возникает неожиданная проблема: несмотря на то, что...
3 применения исключений, которые улучшат навыки программирования на Java
В статье мы узнаем:
1. Как выбрасывать исключение в пустом классе «Optional».2. Как тестировать и просматривать исключение.3. Как использовать ошибки утверждения.
1. Как выбрасывать исключение в...
Как PyPy ускоряет Python до уровня C?
Обзор PyPy, быстрого интерпретатора Python: улучшение производительности программы без изменения кода!
Насколько С++ быстрее Python
Есть миллион причин любить Python (особенно специалистам по данным). Но сильно ли он отличается от более профессиональных низкоуровневых языков программирования, таких как С или С++? Скорее всего, многие дата-специалисты или пользователи Python задавались этим вопросом или однажды задумаются об этом.
Самые полезные библиотеки Go
Эти библиотеки всегда оказываются первыми в списке инструментов Go-разработчика при запуске нового проекта. Они помогают устранить избыточный код и позволяют создавать более качественные и быстрые приложения.
7 факторов, которые помогут улучшить UX-дизайн
Чтобы улучшить UX, нужно знать «слабые места» интерфейса. Есть типичные «проблемные зоны», на которые дизайнеру следует обращать особое внимание. Обычно именно здесь кроются причины...