Как стать автором
Обновить

Компания Skillbox временно не ведёт блог на Хабре

Сначала показывать

Как правильно обрабатывать ошибки: тишина — не всегда хорошо

Время на прочтение5 мин
Количество просмотров6.5K


У меня никогда не было какого-то особого мнения относительно обработки ошибок. Если я начинала работать с существующим кодом, я продолжала выполнять задачу, над которой трудился автор исходника; если писала код с нуля — делала то, что казалось мне правильным.

Но недавно я столкнулась с проблемой, багом, который проявлялся из-за «тихой» ошибки в коде. Я поняла, что здесь есть над чем поразмыслить. Возможно, я не могу изменить способ обработки ошибок во всей базе кода, над которой работаю, но что-то определенно можно оптимизировать.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии11

Защита ПО от копирования и взлома: основные методы и стратегии

Время на прочтение5 мин
Количество просмотров36K


По статистике, приведенной в исследовании 2018 BSA Global Software Survey:

  • Нелицензированное (пиратское) ПО составляет 37% от всего объема программного обеспечения, установленного на персональных ПК по всему миру.
  • Стоимость контрафактного ПО оценивается в $46 млрд.
  • Malware, которыми заражены многие пиратские программы, загружаемые из сторонних источников, обходятся бизнесу в $359 млрд в год.
  • Потери от взлома лицензионного ПО составляют порядка $600 млрд ежегодно.

Все мы знаем, что среди пользователей есть те, кто честно покупает программу и использует ее по назначению, а есть и те, кто взламывает ПО тем или иным образом и работает с ним сам либо же продает.
Читать дальше →
Всего голосов 54: ↑34 и ↓20+14
Комментарии41

Как Project Infer от Facebook помогает искать баги в мобильных приложениях перед деплоем

Время на прочтение4 мин
Количество просмотров4K


Несколько дней назад команда инженеров Facebook отличилась — ее удостоили награды Most Influential POPL Paper Award. В среде специалистов по машинному обучению это весьма почетно. Награду вручили за работу Compositional Shape Analysis by Means of Bi-abduction, которая раскрывает нюансы Project Infer. Сам проект предназначен для обнаружения и ликвидации багов в коде мобильного приложения перед его деплоем.

Баги в программном обеспечении для мобильных устройств обходятся очень дорого как разработчикам, так и пользователям. Что касается первых, то обнаружение проблемы в уже размещенном в каталогах приложении — ночной кошмар для любого специалиста. Конечно, софт тестируется, работу программ проверяют по определенным шаблонам. Но чаще разработчики не могут предусмотреть всего, и баги в приложении обнаруживаются уже после деплоя.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии2

10 консольных команд, которые помогут дебажить JavaScript-код like a PRO

Время на прочтение3 мин
Количество просмотров26K
image

Перевели статью Амита Соланки по отладке JavaScript-кода при помощи консольных команд. По словам автора, эти команды помогут значительно повысить производительность труда программиста при поиске багов и сэкономят кучу времени.

Давайте рассмотрим команды, которые действительно способны упростить жизнь любому программисту.
Читать дальше →
Всего голосов 60: ↑54 и ↓6+48
Комментарии11

Навыки, самообразование и языки программирования для начинающих разработчиков: исследование HackerRank

Время на прочтение3 мин
Количество просмотров12K


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

Итоги получились интересными, с результатами исследования можно познакомиться под катом. К слову, мы уже публиковали статью о важности самообучения для начинающего разработчика.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии3

Как настроить Continuous Deployment для своего проекта: личный опыт

Время на прочтение3 мин
Количество просмотров17K


Перевели для вас статью Юлиуса Минмо о настройке непрерывного развертывания (Continuous Deployment) для своего проекта. Автоматизация позволяет сэкономить кучу времени и сил. Статья будет полезна, в первую очередь, начинающим программистам.

Непрерывное развертывание — отличная штука. Один раз коммитим проект и далее все происходит в автоматическом режиме, наблюдение за этим процессом просто гипнотизирует. В этой статье я покажу, как можно все настроить для домашнего проекта.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии8

Как я расширение для Atom и VS Code создавал: личный опыт и исходники

Время на прочтение4 мин
Количество просмотров4.5K
image

Перевели для вас статью Филипа Корейа о том, как он разрабатывал расширения для редакторов Atom и VS Code. Назвать проекты сложными нельзя, но в этом их преимущество: сходу можно понять, что необходимо делать для создания собственного расширения.

Когда был впервые представлен редактор Atom, я, как и многие веб-разработчики, обрадовался. «О, круто, расширяемый редактор, построенный на стеке, который я знаю», — подумал тогда я. И немедленно приступил к расширению возможностей редактора, так же, как и тысячи других девелоперов.

К слову, я работаю с Atom по двум причинам. Первая — каждую неделю появляются отличные расширения. Вторая — я знаю стек и могу без проблем с ним работать, создавая собственные версии расширений.
Читать дальше →
Всего голосов 21: ↑14 и ↓7+7
Комментарии2

Как я отказался от Ruby в пользу Python, работая над бэкендом

Время на прочтение4 мин
Количество просмотров18K


Перевели для вас статью Бенуа Зен, разработчика ПО в компании Sqreen. Бенуа работает над backend веб-сервиса и недавно перешел с Ruby на Python.

В 2008 году, когда я еще учился на разработчика ПО, два моих друга решили основать компанию, назвав ее Feedbooks. Их целью было создание качественных электронных книг, которые любой человек мог бы быстро найти и загрузить (при желании — поделиться со знакомыми). Проект представлялся им как цифровая библиотека самиздата.

Веб-сайт, который стал бы лицом сервиса, должен был быть быстрым, эффективным и простым в управлении. Примерно в то время появилось демо-видео Ruby on Rails «Как создать блог за 15 минут», после чего основатели твердо решили работать именно с ним.
Всего голосов 52: ↑27 и ↓25+2
Комментарии11

Быстрый способ добавить уведомления в Android-приложение

Время на прочтение4 мин
Количество просмотров8.6K


Перевели для вас статью Брендона Вивера о работе с уведомлениями в Android OS. Программист объясняет, как быстро добавить этот функционал в свое приложение. Статья, в первую очередь, будет полезна начинающим Android-разработчикам.

Уведомления — один из самых легких и быстрых способов сделать свое приложение интерактивнее, что позволит привлечь больше пользователей. Уведомления предоставляют пользователю краткую информацию о том, что может понадобиться ему прямо сейчас. Также это способ проинформировать о предстоящих событиях. Давайте попробуем быстро добавить эту функцию в приложение.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии1

Автоматизация квартиры с HomePod, Raspberry Pi и Node.js

Время на прочтение5 мин
Количество просмотров12K


Перевели для вас статью Криса Хокинса, в которой он рассказывает о превращении своей квартиры в умный дом. В качестве базы используется HomePod от Apple, но, конечно, можно применять и другие системы.

У меня дома работает Apple HomePod, который помогает контролировать определенные системы в доме (к примеру, умные лампы) при помощи обычного запроса к Siri. Работает система как из дома, так и вне его (умный помощник есть на телефоне).
Всего голосов 33: ↑31 и ↓2+29
Комментарии1

Советы технического директора IT-компании выпускникам буткемпов

Время на прочтение5 мин
Количество просмотров6.1K


Перевели для вас статью Чака Грума, программиста с 18-летним опытом, работающего сейчас техническим директором крупной компании из Нью-Йорка. Чак часто ищет сотрудников для своей компании и в статье рассказывает, какими качествами и опытом должен обладать выпускник буткемпа (а равно и университета или курсов), чтобы его взяли на работу.

В роли технического директора собственной IT-компании я часто ищу новых сотрудников. Нередко разговариваю с выпускниками буткемпов, которые провели там по 3–6 месяцев. Основной вопрос, который их интересует, — как получить место разработчика.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии1

Создаем несложный шахматный ИИ: 5 простых этапов

Время на прочтение4 мин
Количество просмотров41K


Перевели для вас статью Лори Хартикка (Lauri Hartikka) о создании простейшего ИИ для шахмат. Она написана еще в 2017 году, но базовые принципы остались теми же. Все файлы, которые использовал Лори, тоже доступны.

Простой искусственный интеллект, который умеет играть в шахматы, можно создать на базе четырех концепций:

  1. 1. Перемещение;
  2. 2. Оценка доски;
  3. 3. Минимакс;
  4. 4. Альфа-бета-отсечение. На каждом этапе работы с алгоритмом будет использоваться одна из них, это позволит постепенно совершенствовать игровые способности ИИ.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии8

Повышаем продуктивность на GitHub: советы для новичков и не только

Время на прочтение3 мин
Количество просмотров27K


От переводчика: публикуем для вас статью Даррена Барнса, который делится своим опытом работы с GitHub. Его советы будут полезны, в первую очередь, новичкам. Возможно, и опытный кодер найдет что-то для себя.

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

Сервис разрабатывался программистами для программистов. Его создатели добавили большое количество очень удобных инструментов, которые повышают производительность. Но, к сожалению, не все разработчики об этих инструментах знают. А кто знает — не всегда использует.
Читать дальше →
Всего голосов 66: ↑62 и ↓4+58
Комментарии5

Учить нельзя пропустить: Нужен ли IT-специалисту вуз

Время на прочтение5 мин
Количество просмотров9.1K


От переводчика: сегодня публикуем для вас статью Поля М, программиста, который делится своими соображениями и опытом об отношениях формального образования и карьеры в информационных технологиях. Так ли уж необходима айтишнику «вышка»?

Я был обескуражен, когда пришел к выводу, что стандартный путь «школа-колледж-карьера» почти бесполезен для того, кто собирается сделать карьеру специалиста по информационным технологиям. Всю жизнь я считал, что колледж очень важен, и это действительно так, но не в случае IT.
Читать дальше →
Всего голосов 64: ↑31 и ↓33-2
Комментарии123

Одна голова хорошо, а две — лучше, или парное программирование в действии

Время на прочтение4 мин
Количество просмотров12K

Драйвер и навигатор в действии (северокорейский вариант методики)

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

Я часто слышу, как люди говорят, что лучше всего они работают в одиночку. Я понимаю, что некоторые идеи и методы, которые подходят для одного человека, не годятся для другого. Но все же мне близка поговорка «Одна голова хорошо, а две — лучше». Под катом два видео, которые показывают, насколько хорошо над одной задачей могут работать два человека. Это просто гармония — и в прямом, и в переносном смысле.
Всего голосов 24: ↑20 и ↓4+16
Комментарии11

История одного джуниора — как начать работать и не бояться всего подряд

Время на прочтение5 мин
Количество просмотров13K


От переводчика: сегодня публикуем для вас статью Саиды Аймен Батул, которая рассказывает, как начинающему программисту преодолевать проблемы на пути к профессионализму.

Мне кажется, что синоним программирования — проблемы. И если вы новичок, то проблем у вас в сто раз больше, чем у профессионала. Изучение различных аспектов программирования, создание портфолио, практика в качестве джуна, а затем реальная работа над проектом — все это может быть проблемой.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии2

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

Время на прочтение4 мин
Количество просмотров14K


От переводчика: сегодня публикуем для вас статью Фабиана Терха. Статья в первую очередь будет полезна для начинающих программистов.

Я программист-самоучка, этот пост отражает мой личный опыт и навыки в такой сфере, как алгоритмы и структуры данных; кроме того, я рассказываю и о способах решения задач (к слову, второе мне дается несколько хуже, чем первое).
Читать дальше →
Всего голосов 37: ↑23 и ↓14+9
Комментарии6

Мой опыт подготовки к трудоустройству в Google

Время на прочтение6 мин
Количество просмотров32K


От переводчика: сегодня публикуем для вас статью Праякты Татавадкар, она разработчик с небольшим стажем, но знания и опыт позволили ей получить работу в Google (со второй попытки), стать членом команды разработчиков YouTube.

Google была для меня компанией мечты с самого начала пути. Когда я успешно прошла собеседование, ко мне стали обращаться многие знакомые и друзья с просьбой поделиться опытом. Беседуя с ними, я определила самые важные для большинства вещи, которыми теперь делюсь в этой статье.
Всего голосов 34: ↑24 и ↓10+14
Комментарии23

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

Время на прочтение4 мин
Количество просмотров11K
image

От переводчика: сегодня публикуем для вас статью разработчика Акшата Гири, который делится своими соображениями, почему стоит изучать все новые и новые языки программирования.

Я работаю программистом четыре года. Начал с С#, разрабатывая игры, затем перешел на Python и машинное обучение. Потом учил JavaScript и TypeScript для фронтенда. Следующим этапом стала разработка мобильных приложений, так что я занялся Ionic, React и React Native. Заинтересовался бэкендом, начал работать с Go. Чуть позже к списку моих языков и фреймворков добавились Dart, Java и PHP — все три потребовались во время моей работы в Facebook.

Я не хочу сказать, что являюсь экспертом во всех упомянутых языках. У меня просто есть опыт работы с ними, больший, чем с другими языками и фреймворками. Почему выбор пал на них? Ну, мне показалось, что они предлагают больше, чем прочие, поэтому так.
Читать дальше →
Всего голосов 51: ↑25 и ↓26-1
Комментарии35

ТОР-10 — чему стоит научиться в 2019

Время на прочтение4 мин
Количество просмотров17K


От переводчика: публикуем для вас статью профессора Уильяма Бучанана — гика и разработчика. Он рассказывает о десяти главных вещах, которые хотел бы освоить в наступающем 2019 году.

Наша жизнь должна состоять из постоянного движения вперед, изучения нового. Так пусть 2019 год будет годом самосовершенствования и прогресса в этом цифровом мире. Если возможно, пытайтесь избегать поверхностного обучения, лучше заниматься изучением сути вещей. Вот мой собственный список того, что я хотел бы освоить в следующем году.
Читать дальше →
Всего голосов 23: ↑15 и ↓8+7
Комментарии2