Перенос сценариев CI в docker build
Распространенный сценарий: команда разработчиков поддерживает множество Jenkinsfile, каждый из которых соответствует требованиям проекта. Однако эти сценарии непрерывной интеграции (CI) непригодны для повторного использования в...
Руководство по написанию чистого и читабельного кода для начинающих разработчиков. Часть 2
Часть 1, Часть 2
Не забывайте про принцип DRY (Не повторяйтесь)
Принцип DRY гласит:
“ Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках...
Руководство по написанию чистого и читабельного кода для начинающих разработчиков. Часть 1
Часть 1, Часть 2
Написание чистого и читабельного кода — непростая задача, но данное краткое руководство поможет вам овладеть этим искусством.
Представьте, что читаете статью, во вступительном абзаце...
Нативное будущее кроссплатформенной разработки
Коротко о кроссплатформенности
Сейчас кроссплатформенная разработка не пользуется большой популярностью. Основная причина состоит в том, что существующие инструменты не в полной мере справляются со своей...
Введение в Subject в реактивном программировании
Subject — это «особый» тип наблюдаемого объекта, который позволяет транслировать значения сразу нескольким подписчикам. Самое классное здесь то, что Subject предоставляет ответы в режиме реального времени.
Например,...
Как определить цели разработчику программного обеспечения
Почему важно устанавливать цели
За последние несколько лет постановка целей стала неотъемлемой частью жизни, поскольку отслеживание процесса развития помогает в достижении новых высот.
Каждому специалисту по...
Основы Git за 5 минут
По мере своего становления в роли разработчика приходит понимание того, что большая часть работы ведется в команде. И при работе в команде нужна система...
Плюсы и минусы парного программирования
Многие программисты скептически относятся к парному программированию: технике разработки программного обеспечения, при которой за одним рабочим местом работают два программиста.
Я часто слышу:
«Звучит как пустая...
Как научиться программировать на Java и с чего начать
Определите свои профессиональные цели и выберите язык. Это самый главный совет для новичков, желающих присоединиться к сообществу программистов. Но как же это сделать, если...
Какие вопросы задавать HR-менеджеру во время собеседования
Последние 6 недель я только и делала, что проходила собеседования на роль middle-разработчика программного обеспечения в Амстердаме. Амстердам — это очень большой город, и собеседований я...
Основные принципы дизайна для НЕ дизайнеров
Я сформировала этот список, посредством многолетнего наблюдения за своими друзьями НЕ дизайнерами, семьей и коллегами, которым постоянно приходится сталкиваться с необходимостью применения дизайна в...
Как перевести iPhone в черно-белый режим и почему вам следует это сделать
Разноцветный интерфейс вашего смартфона побуждает ваш мозг чаще его использовать. Установите черно-белый режим экрана, чтобы тратить меньше времени на бесконечный серфинг в интернете и...
Как отладка поможет вам стать лучшим разработчиком
Если бы мне предложили подвести итог своей карьере программиста с помощью двух суровых истин, я бы сказал так:
Все, что может пойти не так,...
То, чего вам никто не расскажет о поиске работы, связанной с анализом данных
Я физик и работаю в стартапе YCombinator. Из-за специфики работы компании я получаю много писем с просьбами дать советы по построению карьеры в области...
Как выбрать правильного партнера при разработке программной платформы
Давайте признаем, ко всем однажды приходила гениальная идея крутого нового приложения, которое должно захватить рынок. К сожалению, в такой ситуации мы не учитываем, насколько...
Как справиться с чрезмерной нагрузкой. Советы для разработчиков
В мире разработчиков происходит множество событий. Кажется, будто бесконечный список дел никогда не закончится. Рассмотрим некоторые советы, которые помогут с этим справиться.
Статья разделена на...
Как писать код, который будет нравится вам в будущем
Дядя Бен однажды сказал Питеру Паркеру: “С большой силой приходит большая ответственность”. Эта цитата относится также и к программистам, отвечающим за разработку проектов. После...
10 программистских терминов на понятном языке
Все термины, приведенные ниже, уже раскрывали множество раз миллионами разных слов. Но у нас нет ни времени, ни возможностей обработать такое количество информации. По...
Как и почему я перешёл с Ruby на Python
В 2008, когда я ещё учился на инженера-разработчика, двое моих друзей решили запустить проект под названием Feedbooks. Суть проекта состояла в создании электронной библиотеки,...
10 признаков того, что программирование не для вас
Часто на Reddit или Quora я вижу вопросы “Как понять, что я могу стать хорошим программистом?”. Такие вопросы о программировании часто всплывают, когда люди...
Отладка для абсолютных новичков
Стать хорошим разработчиком — это как научиться свистеть. Многие умеют, но лишь единицы могут обучить этому других. Большинство же будет говорить вам что-то из серии: «Просто...
Как приобрести навыки, необходимые для выживания в мире современных технологий
5 способов, которые помогут перестать беспокоиться о будущем
Современный мир нестабилен и непрерывно развивается. Автоматизированные машины, данные и алгоритмы, компьютеры и код — изменения затрагивают все аспекты нашей...
Code Review - Полное руководство
После проведения сотни code rewiew, лично возглавив R&D (Research & Development) команду и спровоцировав несколько непреднамеренных ошибок, я решил поделиться своими выводами о том,...
Чем лучше образование, тем умнее ИИ
Нужно чаще обсуждать ИИ в школах и университетах
Искусственный интеллект сделает нас умнее, эффективнее и здоровее.
Такой вывод я сделал благодаря своей работе: более пяти лет...
13 Горячих клавиш, которые должен знать каждый пользователь Ubuntu 18.10
Рассмотрим некоторые полезные сочетания клавиш для Ubuntu 18.10 с графическим окружением GNOME. Мы не включили в эту статью универсальные сочетания клавиш, такие как Ctrl...
10 тенденций в разработке программного обеспечения в 2019 году
Тенденции меняются каждый день во всех сферах деятельности: в моде, в образовании, в разработке программного обеспечения. В эпоху цифровизации сфера программирования меняется чрезвычайно быстрыми...
Список навыков для начинающих фронтенд-разработчиков
В наше время веб-сайты есть у всех и вся, а возможностей стать фронтенд-разработчиком великое множество. Но поскольку все вокруг меняется с огромной скоростью, становится...
Что мы узнали о трендах найма разработчиков в 2019 году, изучив 112,654 тестов для...
Если вы разбираетесь в трендах индустрии, какие навыки сейчас востребованы и программистов из какой страны нанимают чаще, вам гораздо проще найти подходящего программиста или...
Чему я научился за первые два года работы программистом
Университет и работа
Шел 2015 год, когда я был студентом Флоридского университета. Тогда я учился у профессора, который по самому сложному предмету задавал в...
Почему вы должны обратить внимание на Docker?
Когда я гуглил информацию о фреймворках глубокого обучения (deep learning), я заметил, что почти каждый из этих фреймворков поддерживался Docker. В итоге у меня...
Рекурсивное программирование
При первом знакомстве с концепцией рекурсии, она может показаться странной и отталкивающей. Это кажется почти парадоксальным: как мы можем найти решение проблемы, используя решение...
Какие языки программирования лучше учить в 2019 году
Если бы мы жили в идеальном мире, выбор языка программирования ни на что бы не влиял. Большинство популярных языков используются для похожих задач. Неопытным...
С этими советами у junior-разработчиков не возникнет проблем на их первой работе
В самом начале вашей карьеры в сфере разработки программного обеспечения вам может быть страшно, но от этого не менее увлекательно и волнительно.
Я знаю это...
Как стать продуктивнее на GitHub
Недавно GitHub объявил, что теперь пользователи смогут бесплатно создавать приватные репозитории в неограниченном количестве. Прежде чем загружать код в приватный репозиторий, рассмотрим GitHub подробнее: давайте...
Хотите стать счастливым и продуктивным программистом? Используйте эти 5 методов из Психологии!
1. Войдите в состояние потока
Во всемирно известной книге “Поток: Психология оптимального переживания” психолог Михай Чиксентмихайи раскрывает секрет того, как добиться максимальной производительности. Суть заключается...
Cтарая поговорка гласит: “Одна голова хорошо, а две — лучше”
Я часто слышу, как люди говорят о том, что их работа продвигается более эффективно и плодотворно когда они остаются одни. Также я знаю, что...
Хитрости объектно-ориентированного программирования. Часть 3: Смерть от аргументов
Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.
Предыдущие части: Часть 1, Часть 2.
Аргументы, аргументы, аргументы
Длинные списки аргументов в функции крайне трудны для вызываемого...
Как повысить мотивацию с помощью поведенческой психологии
Как достигать лучших результатов и развивать силу воли с помощью вознаграждения
С работой связано много сложностей: дел много, времени на них мало. Работе постоянно нужно...
Почему вам нужно учить больше языков программирования
О моих свободных отношениях с языками программирования
Я занимаюсь программированием уже около 4 лет. Я начал с C#, занимаясь разработкой игр, а затем перешел на...
Как настроить Docker и Windows Subsystem for Linux (WSL): история о любви?
Вы когда-нибудь чувствовали себя прекрасной принцессой, которую злой волшебник превратил в лягушку? Как будто происходит что-то не то? У меня такое бывает. Я пользуюсь...
Мой опыт работы с Data Scientist, будучи программным инженером
Предыстория
В конце 2017 года я начал проявлять интерес к такой области, как машинное обучение. По специальности я Android Engineer, и в этой статье я...
Как установить Linux Mint рядом с Windows 10 [инструкция для чайников]
Итак, вы решили перейти на Linux. Хорошее решение! А еще лучше, если вы выбрали Linux Mint!
Linux Mint — один из лучших дистрибутивов для новичков. В установке...
Вам следует изучить программирование
Знаете, как это ужасно, когда ты женишься, а немного позже встречаешь любовь всей жизни? То же произошло и со мной.
Я поступил в университет на...
Результаты ежегодного опроса программистов «New Coder Survey 2018»
Более 31.000 человек приняли участие в ежегодном опросе программистов со всего света, под названием New Coder Survey, предоставив исследователям беспрецедентные сведения о том, как...
Как бороться с одиночеством в цифровом мире: 10 простых решений
Очень важно соблюдать баланс между работой и личной жизнью. Этот баланс важен и для фрилансеров, и для тех, кто работает в офисе с 9...
Как правильно учиться Java-программированию: история одного тьютора
Моя история
Все началось больше десяти лет назад. Решив стать программистом, я начал изучать несколько языков, чтобы в конечном итоге найти «свой» язык.
В Java я...
Битва трендов: React vs Angular vs Vue
Подождите, по-моему, я уже писал на эту тему… Да, но слишком многие жаловались, что я так и не сказал, что же лучше. Поэтому в...
10 лучших легких дистрибутивов Linux для старых компьютеров
10. Peppermint
Peppermint — это облачно-ориентированный дистрибутив Linux, не требующий мощного железа для запуска. Он основан на Lubuntu и использует окружение рабочего стола LXDE для более плавной...
Форматы .tar .zip .gz: Различия и эффективность
Вы наверняка встречали файлы с расширением .tar, .zip или .gz . А знаете ли вы, чем они отличаются, почему мы их используем, и какой формат наиболее эффективен?
Различия между...
Чему я научился, проработав полгода в качестве разработчика-самоучки
Помню, когда я искал работу и изучал кучу материалов о высоких технологиях, обучении программированию, читал истории успеха, больше всего внимания я уделял тому, как...
Все, что нужно знать о цифровых людях
Фотошоп и немного изобретательности — вот два инструмента, с помощью которых создаются современные знаменитости. Нет, я не об известных Instagram-моделях с отредактированными фотографиями. Я говорю о...
7 полезных советов для веб-дизайнеров
Улучшаем проекты с помощью продуманной тактики, а не таланта.
Каждый веб-разработчик неизбежно сталкивается с ситуацией, когда необходимо самостоятельно принять то или иное решение, касающееся визуального дизайна.
Это...
Три нашумевших диаграммы. Исследование JavaScript в 2018
Вы думали статистика и графики — это скука? Подумайте ещё раз…
Нашумевший — это буквально самое заезженное слово в интернете, если не считать слово «буквально». Но в этот раз — это...
1984 в 2020: Социальная инженерия в Китае
Китай— крупнейшая по численности населения страна мира, в в которой проживает 1,4 миллиарда человек. Если бы правительство Китая не ввело агрессивную политику «одна семья — один...
Почему все веб-сайты выглядят одинаково?
Интернету не хватает креативных решений, поэтому я попросил своих учеников разработать редизайн уже существующих веб-сайтов.
Современный интернет однообразен. Все выглядит одинаково: одинаковые шрифты, похожие страницы,...
Как писать понятный код
Вы пишите код для разработчиков или только для себя?
Обзоры кода во имя добра
Я люблю обзоры кода ― разбирать чужой код и отдавать на обзор свой....
Какую СУБД начать изучать в первую очередь?
Какую систему баз данных стоит изучить в первую очередь? И стоит ли вообще изучать какие-либо СУБД, ведь для этой работы есть специально обученные люди?
Да,...
Как я стал программистом в 40 лет
Вот, как я сменил свою прежнюю работу на front-end разработчика в 40 лет, не имея ни образования, ни опыта работы в этой сфере. Я...
Установка и использование Snap-пакетов в Ubuntu 18.04
Введение
Snap (или Snappy) — это система развертывания программ и управления пакетами, созданная Canonical. Эти пакеты чаще называют «снепами». Для работы с ними используется утилита «snapd», встроенная...
Лучшие языки программирования для изучения в 2018
Это полное руководство по выбору «правильного» язык программирования в 2018 году.
Хочу сразу прояснить кое-что: это не топ самых популярных языков, с кучей названий и...
Как мой 10-летний сын выучил Javascript
“Папа . . . А чем ты зарабатываешь на жизнь?”
Этот неожиданный вопрос заставляет нас, родителей, испытать чувство гордости. Так как он означает, что ребенок наконец-то видит в...
9 советов для быстрой работы в UNIX и Linux терминале
Существует огромное множество команд для работы с терминалом UNIX и Linux. Все это многообразие не запомнить, как бы вам ни хотелось. Постоянный поиск нужной команды тормозит рабочий процесс, ко всему прочему сами команды не во всех случаях состоят из пары символов. В итоге это здорово мешает быстрой и легкой работе с терминалом. Именно поэтому, сегодня мы расскажем о командах, которые в несколько раз увеличат вашу производительность
9 лучших примеров макетов сайта и идей для веб-дизайна в 2018
Есть всего одна возможность создать хорошее первое впечатление. Качественный дизайн сайта может в первую же секунду поразить посетителя. Именно поэтому дизайн главной страницы очень...
Создание правильного чек-листа для инспекции кода
Инспекция кода — это неотъемлемая часть процесса разработки, придуманная для снижения технических недоработок и обеспечения постоянства кодовой базы. Все, кто пишет код, допускают ошибки. Поэтому крайне...
Топ-12 факторов, уничтожающих продуктивность программиста
Никто не ждет от программиста, что он сделает свою работу, не используя компьютер. Но при этом многие компании ожидают, что он сделает свою работу,...
Что определяет настоящего “Senior” разработчика?
В мире программирования один лишь факт того, что вы долго работаете разработчиком, не делает из вас отличного специалиста. По моему опыту, разработчики и инженеры...
Жизнь в качестве программиста-фрилансера
Недавно один человек задал мне вопрос (на форуме) о том, каков мой типичный рабочий день, что мне нравится и не нравится в моей работе...
Советы молодым разработчикам
Я несколько лет имел удовольствие координировать и развивать молодых разработчиков. Большинство новичков не испытывают нехватки навыков программирования, но им не хватает дальновидности. Это касается...
Лучшие инструменты для разработки приложений под Android
Android предлагает разработчикам массу возможностей: это универсальная, открытая платформа, используемая миллионами пользователей по всему миру, с удивительно простой в использовании площадкой для распространения приложений....
Как обучать программированию подростков?
В последнее время многие родители спрашивали меня, как я учился программировать, в основном, чтобы узнать, как им обучать своих детей. И каждый раз я...
4 лучших современных текстовых редактора с открытым исходным кодом для программирования в Linux
Если вы спросите опытных пользователей Linux, то скорее всего они скажут вам про Vim, Emacs, Nano и т.д. Эти легендарные редакторы великолепны вне всякого...
Разработчики, которые постоянно что-то изучают — вот вам совет!
Я видел много людей, среди разработчиков, которые постоянно находились в состоянии разочарованности и неуверенности в себе. Это происходило из-за того, что они постоянно пытались...
Почему программисты не бросают работу?
Примечание: В этой статье я выражаю своё личное мнение, а не взгляды какой-либо компании.
Технические компании постоянно пытаются понять, что нужно сделать ,чтобы сотрудники были довольны. Добиться...
Я ухожу из Google. Что же такое Google Cloud на самом деле?
Глядя на мой бейдж, который завтра мне придется сдать, я решил поделиться своими мыслями перед тем, как с головой окунуться в новую работу. В...
Как начать работать программистом почти без опыта
Я попал в Кремниевую Долину через черный ход — я начинал свою карьеру с простых и быстрых подработок на фрилансе. Рекомендую этот подход: это эффективный и...
Список инструментов для обязательного использования
Будучи бедным студентом, я являюсь огромным фанатом различных бесплатных вещей, особенно программного обеспечения. Когда дело доходит до программного обеспечения, я, буквально, могу сделать что...
Топ 10 лучших дистрибутивов Linux в 2018 году
Мир дистрибутивов Linux крайне разнообразен и новичку будет достаточно сложно определиться с выбором. Мы подготовили данный Топ-10 дистрибутивов Linux, чтобы помочь вам найти для...
Как не опустить руки во время обучения чему-то новому?
В моей жизни было время, когда я регулярно добивался больших успехов в развитии своих навыков. Мне это удавалось, благодаря тому, что я изо всех...
Мои заметки по программной инженерии
О процессе разработки
Код предназначен не только для его непосредственного выполнения, но он также является средством общения в команде и способом описать другим решение...
Как получить работу в крутой компании
Пару лет назад я разговаривал со своей подругой, Бернадетт Лангман, которая на данный момент занимает должность старшего технического рекрутера в американской технологической компании Qualtrics....
Топ 10 альтернатив Github для размещения Open Source проектов
Github — мощная, безопасная и самая популярная онлайн платформа для размещения проектов с контролем версий, с использованием Git. Хоть Github больше известен как платформа для разработки...
Искусственный интеллект оживит наших близких
После того, как Роман Мазуренко, близкий друг Евгении Куйды, погиб в автокатастрофе, она решила возвести ему памятник. Она собрала все текстовые сообщения, которые он...
5 лучших курсов по React Native для разработчиков мобильных приложений
Если вы — веб-разработчик, который хочет создавать мобильные приложения, но не хочет тратить время на изучение Java/Kotlin (для Android) или Objective C/Swift (для iOS),...
10 полезных инструментов и библиотек для программистов и IT профессионалов
В каждой профессии есть свои инструменты, в том числе и у разработчиков программного обеспечения. Хороший программист знает свои инструменты лучше других, а также использует...
8 умных способов сохранять цифровую приватность
Неважно, как вы пользуетесь Интернетом: вполне вероятно, вашу Интернет-активность отслеживают. Недавно Натали Тридман рассказала, как люди неосознанно делятся своим местоположением. Нет, не нужно отказываться...
У меня появилась идея для приложения, но…я не разработчик
У меня есть идея для веб-приложения
Мои поздравления — вас посетила муза! Теперь пришло время внимательно взглянуть на вашу идею и решить, следует ли ее доработать, перейти...
Почему разработчикам нужны “часы практики”
Если вы музыкант или просто увлекаетесь музыкой, то наверняка знаете, что “практика” и “репетиция” — два совершенно разных понятия.
Зачастую, у музыкантов есть “сакральные” часы практики. Эти...
9 вещей, которыми следует заняться Java программисту в 2018 году
Будучи Java разработчиком и автором Java-блога, я часто встречаю вопросы от java-программистов со всего мира, о том, как можно улучшить свои навыки.
В прошлом я написал...
Как рационально использовать GIT
Вчера код работал, сегодня нет
Код был удален
Появилась ошибка и никто не имеет представления почему
Если у вас была такая ситуация, то эта статья для вас.
Не считая знания...
Собеседование Java разработчика. Наиболее Часто Задаваемые Вопросы
В этом посте, я с удовольствием раскрою, вероятно, большинство возможных вопросов на Java-собеседовании, от простых до самых сложных.
Чем отличаются статические методы и переменные...
Топ 3 самых популярных языка программирования в 2018 году
Нет ничего удивительного в том, что в нынешнее время человеку становится все труднее и труднее, как говорится, «взять быка за рога» и просто освоить...
Как настроить непрерывную интеграцию на GitLab с помощью Docker
Раньше, возможно, вы уже пытались использовать различные программы и инструменты для эффективного развертывания приложений. В этой статье я покажу вам быстрый и простой способ...
Вам не нужен стендап
Примечание: ниже представлены мои ЛИЧНЫЕ убеждения насчёт Agile и командной организации. У вас всё может быть иначе.
Недавно я стал техническим менеджером продукта в своей...
Visual Studio Code. Как быть продуктивным в 2018. Советы профи
За последние несколько лет, Visual Studio Code стал очень популярным, среди IDE с открытым исходным кодом. Официальный релиз VS Code состоялся в 2015 году,...
Станьте экспертом в разработке с этими продвинутыми советами по кодированию. Часть 2
Предыдущие части: Часть 1
Добро пожаловать во вторую часть продвинутых советов по написанию кода. В данной статье мы продолжим изучение остальных code smells с реальными...
Станьте экспертом в разработке с этими продвинутыми советами по кодированию. Часть 1
Самое худшее, что может произойти с разработчиком, — это застрять в своей нынешней квалификации. Когда вы знаете о пробелах в собственных знаниях, но не понимаете, чем...
Что я изучил за год занятия программированием
Будучи учеником старшей школы, я начал изучать графический дизайн. В основном, я занимался созданием различных иконок, логотипов и геофильтров для Snapchat. Примерно в то...
Вы не понимаете своих программистов
...Открытое письмо не-технарям в технических компаниях
Может показаться, что мы заняты только этим:
Но на самом деле всё несколько сложнее.
Обычно разработчики — целеустремлённые люди, многие из них сами...
Худший враг программиста — долгосрочная актуальность
Что по-вашему будет труднее?
· решить проблему в коде;
· решить более масштабную проблему в коде
Да, я тоже так считаю.
Программирование сводится к решению проблем. Если вы...
Неужели комментировать код — это плохо?
Что такое комментарий?
Комментарий — это строка в исходном коде, которую могут прочесть разработчики, но которая игнорируется компиляторами и интерпретаторами.
Какой в нем смысл?
Как правило, «прочесть» код достаточно трудно....
5 важных аспектов замыканий в Python
Замыкания не являются уникальным явлением Python и встречаются во многих других языках. При этом несмотря на то, что большинство начинающих разработчиков об этой концепции...
Большой языковой модели недостаточно: пример использования Merkle Genai. Часть 2
Ознакомьтесь с примером применения голосового помощника Merkle Genai, предоставляющего высокоточные и релевантные ответы на запросы клиентов. Воспользуйтесь передовыми контекстными ИИ-решениями, чтобы совершить революцию в своем бизнесе уже сегодня.
Что следует учитывать при разработке дизайна для людей с дислексией?
Рассмотрим термин дислексия. Изучим стратегии, которые помогают сделать дизайн более доступным для пользователей с дислексией. Узнаем о плагине Stark.
Получение доступа к ID элементов в DOM в качестве переменных window/global
Первое, что я узнал, начав заниматься веб-разработкой: как управлять элементами по ID из JS, со ссылкой на элементы по ID
<div id="so_many">So many to think...
Как проще всего выполнять запросы GraphQL в iOS
Такие сторонние библиотеки, как Apollo iOS client и AWS AppSync нужны для связи с сервером GraphQL в iOS-приложении, но они также вводят в ваш...