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

Когда-то ходил в школу

Отправить сообщение

Как стать толковым джуном: что делать, чтобы не завалить собеседование в IT-компанию

Время на прочтение5 мин
Количество просмотров11K
Привет, меня зовут Кирилл Савченко. Уже 4 года я занимаюсь анализом данных, из них 2 года работаю руководителем департамента продуктовой аналитики World of Tanks. По образованию я инженер-программист.

image
Читать дальше →
Всего голосов 14: ↑3 и ↓11-4
Комментарии1

Почему translit в именовании это плохо и другие интересные особенности нашего восприятия кода

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

Есть неожиданно много людей, считающих, что писать код можно как угодно, а все эти правила и рекомендации просто занудство. Что же, у каждого каждого человека есть право на своё мнение.

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

И на то есть причина. Вам никогда не доводилось сталкиваться с усталостью от чтения? Например, сложной технической литературы, канцелярита, другого языка? Уверен, что доводилось. И да, это именно усталость, пусть и не та же что и при физических нагрузках. Сложный для чтения текст значительно сильнее расходует ресурсы мозга.

Код это тоже текст. И написать его можно так, что чтение станет крайне неприятным и энергозатратным занятием. Если вам вдруг во время работы с особенно ужасными фрагментами корпоративного портала хочется закрыть редактор и посмотреть котиков, то дело, скорее всего, не в том, что вам лень или внезапно случилось то самое выгорание. Всё дело в том, что именно вы читаете.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+35
Комментарии105

Yarn 2 — с Prolog'ом и плагнплеями

Время на прочтение4 мин
Количество просмотров16K
Yarn — менеджер пакетов для ноды — выпустили вторую версию. И, похоже, парни серьёзно вознамерились изменить статус-кво в экосистеме ноды, а то и вообще в пакетных менеджерах. Удаляйте все свои картинки про гигабайтные мамки node_modules, убирайте yarn install из скриптов CI, мы начинаем очередную великую JavaScript-смуту. Если вкратце:

  • Режим Plug'n'Play стал дефолтным, а node_modules — вторичным, через плагин.
  • Сделали плагин и воркфлоу для монореп — может и lerna будет не нужна.
  • Встроили свой мини-шелл, чтобы скрипты пакета без этих ваших cross-env в винде запускать.
  • Добавили пролог для проверки правил между воркспейсами.
  • npx опять же свой запилили.
Если вы не хотите обновлять все ваши проекты, просто запустите yarn policies set-version ^1 (смотри legacy.yarnpkg.com/en/docs/cli/policies) в репозиториях, которые должны остаться на Yarn 1 и закомитьте результат. Тогда Yarn будет использовать локальные бинарники Yarn 1 вместо глобальных так что все в команде будут использовать одну версию!

Всего голосов 23: ↑20 и ↓3+20
Комментарии34

Знакомимся с Web Animations API

Время на прочтение5 мин
Количество просмотров21K
Доброго времени суток, друзья!

Веб API постоянно эволюционируют. Некоторые из них, такие как Console или Canvas, хорошо поддерживаются всеми браузерами, другие по-прежнему находятся на стадии разработки.

Одним из API, находящимся на стадии разработки, является Web Animations API или WAAPI. Несмотря на то, что первый вариант спецификации был опубликован в 2012 году, а сам API впервые реализован в браузерах Firefox и Chrome в 2014 году, я узнала о нем совсем недавно (я тоже раньше о нем не слышал — прим.пер.).

Он позволяет разработчикам работать с CSS анимацией средствами JavaScript. Его синтаксис похож на синтаксис традиционной CSS анимации, но имеет некоторые особенности, которые облегчают разработчикам создание и изменение анимации.

Давайте рассмотрим этот API на простом примере.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии2

Julia. С чего начать проект?…

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


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

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии21

Стартап без денег. Личный опыт

Время на прочтение3 мин
Количество просмотров14K
После запуска приложения всегда встает вопрос, откуда брать пользователей. В этой статье хотел бы поделиться своим опытом, как на старте проекта без денежных вложений привлечь пользователей для вашего продукта.
Читать дальше →
Всего голосов 47: ↑25 и ↓22+3
Комментарии13

Нетривиальная расстановка элементов на flexbox без media-запросов

Время на прочтение7 мин
Количество просмотров27K
Казалось бы, какой пост может быть о CSS Flexbox в 2019 году? Верстальщики уже несколько лет активно используют данную технологию, и все тайны должны быть разгаданы.

Однако, недавно у меня возникло стойкое ощущение, что нужно поделиться одним нетривиальным и, на мой взгляд, полезным приёмом, связанным с flexbox. Написать пост побудил тот факт, что ни один знакомый (из учеников, верстальщиков и просто людей, близких к web), не смог решить задачку, связанную с flexbox, хотя на это нужно всего 4-6 строк.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии18

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

Время на прочтение4 мин
Количество просмотров2.5K
«Я — профессионал» — это образовательная олимпиада для студентов технических, гуманитарных и естественнонаучных специальностей. Задания для участников готовят эксперты десятков ведущих российских вузов и крупнейших государственных и частных компаний России.

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

Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии0

Авторский курс по обучению Ардуино для собственного сына

Время на прочтение3 мин
Количество просмотров7.7K
Здравствуйте! Прошлой зимой я рассказывал на страницах Хабра о создании робота-«охотника» на Ардуино. Я занимался этим проектом со своим сыном, хотя, по сути, 95% всей разработки осталось за мной. Робота мы доделали (и уже, кстати, разобрали), но после этого возникла новая задача: как обучать ребенка робототехнике на более систематичной основе? Да, интерес после выполненного проекта остался, но теперь нужно было возвращаться к самому началу, чтобы не торопясь и основательно изучать ардуино.

В данной статье я расскажу о том, как мы придумали сами для себя учебный курс, который и помогает нам в обучении. Материал в открытом доступе, вы можете пользоваться им по своему усмотрению. Конечно, курс не является каким-то мега-новаторским решением, но конкретно в нашем случае вполне работает.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии7

Как проапгрейдить существующий проект с ASP.NET MVC на ASP.NET Core. Практическое руководство

Время на прочтение17 мин
Количество просмотров15K
Этот пост родился из нашего опыта переноса существующего проекта с ASP.NET MVC на ASP.NET Core. Мы постарались собрать в одно целое весь процесс миграции в структурированном виде и описать различные узкие места, чтобы разработчики в дальнейшем могли опираться на этот материал и следовать дорожной карте при решении подобных задач.

Пара слов о нашем проекте. Мы open-source eCommerce платформа на ASP.NET, которая к моменту переноса успешно существовала уже 9 лет. Мы делали миграцию 2 года назад — но руки дошли написать об этом только сейчас. На тот момент мы были одним из первых крупных проектов, кто решился на подобный шаг.

Почему стоит перейти на ASP.NET Core


Прежде чем приступить к разбору шагов по переходу с ASP.NET MVC на ASP.NET Core, несколько слов о преимуществах этой платформы.


Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии13

Заворачиваем весь трафик ОС в Tor

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


Все описанное в статье реализовано в виде инструмента Toroxy, доступного на GitHub
В последнее время анонимность в сети является предметом горячих споров. Ни для кого не секрет, что данные о посещениях Интернет-ресурсов с локального устройства могут собираться на разных уровнях с целью построения «модели» пользователя, которая позже против него же и может быть использована (или могла бы). Поэтому не удивительно, что все большее количество активных пользователей Интернета становятся уверены в необходимости механизмов проксирования и анонимизации. В связи с этим появляется все больше новых VPN-клиентов, но, как показывает практика, далеко не всем из них по-настоящему можно доверять: то не все работает из коробки, то анонимизируется только HTTP-трафик, то качество реализации хромает, а то и вовсе разработчики грешат сливанием данных о своих пользователях.

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

Попытки начать обучение ребенка программированию с Minecraft pocket edition

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


На дворе осень и сын все чаще остается дома, уткнувшись в телефон или планшет, слабо реагируя на внешние раздражители. Меня это огорчает. Сам я начал программировать, как мне кажется, с того, что к моему первому компьютеру БК 0010-01 игры то на кассетах в комплекте шли, а вот магнитофон не шел. Пока добывали магнитофон с подходящим линейным выходом, я успел попробовать Бейсик, спасибо отцу за первые уроки. Так что, когда смог со скрипом загрузить первую графическую игру, то смотрел на нее уже не как на то, во что наконец буду играть, а очарованно думал, как бы сделать свою не хуже. Сына же, в его 8 лет, давно поглотил мир видеоигр и ютуба, так что начинать программирование с трели на встроенном динамике, похоже, впечатления не произведет.

Всего голосов 59: ↑56 и ↓3+53
Комментарии103

5 способов сделать Python-сервер на Raspberry Pi. Часть 2

Время на прочтение9 мин
Количество просмотров25K
Привет, Хабр.

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



Статья рассчитана для начинающих.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии36

Зачем ходить на собеседования

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

Недавно общался со своим знакомым. Парнишка учится Android разработке и обладает довольно крепким багажом знаний. Я ему задал вопрос: «Почему ты до сих пор не ходишь на собеседования? Ты бы уже давно нашел работу.» И получил ответ что-то типа собеседования это стресс, что чувствует себя там неловко. И меня это прям аж заставило задуматься о том сколько людей уже давно могли получить бы желаемое, а не получают из-за банального страха.

Когда я начал ходить на собесы, мои знания наверное не составляли даже четверти того, что знает этот парнишка. Когда меня взяли на работу, я не знал и половины того, что знает он. Я ходил на собеседования каждую неделю, получал тестовое задание, делал его и шел на следующее. (К слову у меня был годовалый ребенок и работа, которая не способствовала обучению, и каждое задание занимало много времени). Я получил более двадцати отказов, некоторые мои знакомые даже подшучивали надо мной: «Что, опять перезвонят?». И все же однажды перезвонили.

Так вот к чему я это все? Не к тому, чтобы похвастаться какой я классный, а к тому, что на собесы ходить просто необходимо. Здесь я поделюсь своими соображениями почему.
Читать дальше →
Всего голосов 43: ↑35 и ↓8+27
Комментарии80

Ломаем Micosoft Lunix на HackQuest 2019

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

Привет, Хабр!

На HackQuest перед конференцией ZeroNight 2019 было одно занимательное задание. Я не сдал решение вовремя, но свою порцию острых ощущений получил. Я считаю, вам будет интересно узнать, что приготовили организаторы и команда r0.Crew для участников.

Задание: добыть код активации для секретной операционной системы Micosoft 1998.

В этой статье я расскажу, как это сделать.
Читать дальше →
Всего голосов 50: ↑50 и ↓0+50
Комментарии14

C/C++. Как использовать внедряемые ресурсы приложения, при работе в GCC на Linux

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

Захотелось как-то мне использовать в Linux внедряемые ресурсы, причём, автоматически. В общем, задача такая:


  1. Имеется Eclipse проект программы на C++.
  2. ОС: Linux Ubuntu. Компилятор: G++
  3. В проекте используются данные из внешних файлов: строки локализации, SQL-запросы, картинки, звуки и т.д.
  4. Все ресурсы необходимо внедрить в исполняемый файл, ибо программу планируется распространять, как портативную.
  5. Кроме того, хочется, что бы процесс был максимально автоматизирован, ибо лень.
Если интересно, как мне это удалось, то прошу под кат...
Всего голосов 22: ↑21 и ↓1+20
Комментарии20

Безопасный способ обмена JWT в ASP.NET Core + SPA

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

Вступление


Идентификация по JWT (JSON Web Token) — это довольно единообразный, согласованный механизм авторизации и аутентификации между сервером и клиентами. Преимущества JWT в том, что он позволяет нам меньше управлять состоянием и хорошо масштабируется. Неудивительно, что авторизация и аутентификация с его помощью все чаще используется в современных веб-приложениях.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии10

Портируем многопользовательскую игру с С++ на веб c Cheerp, WebRTC и Firebase

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

Введение


Наша компания Leaning Technologies предоставляет решения по портированию традиционных desktop-приложений в веб. Наш компилятор C++ Cheerp генерирует сочетание WebAssembly и JavaScript, что обеспечивает и простое взаимодействие с браузером, и высокую производительность.

В качестве примера его применения мы решили портировать для веба многопользовательскую игру и выбрали для этого Teeworlds. Teeworlds — это многопользовательская двухмерная ретро-игра с небольшим, но активным сообществом игроков (в их числе и я!). Она мала как с точки зрения скачиваемых ресурсов, так и требований к ЦП и GPU — идеальный кандидат.


Работающая в браузере Teeworlds
Всего голосов 27: ↑26 и ↓1+25
Комментарии9

GIT изнутри: введение (перевод)

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Git for Computer Scientists" автора Tommi Virtanen.


GIT изнутри: введение


От себя: Периодически почитываю статьи, как различные популярные технологии устроены под капотом, наткнулся вот на этот материал. Статья показалась интересной наличием простых и понятных схем, которые воспринимаются значительно лучше, нежели простыни унылого текста. Решил перевести на русский язык. Изображения взяты из оригинала.


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


Примечание: для лучшего понимания статьи следует иметь представление о таком звере, как направленный ациклический граф (directed acyclic graph, DAG).

Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии2

Обзор C++ библиотек глубокого обучения Apache.SINGA, tiny-dnn, OpenNN

Время на прочтение14 мин
Количество просмотров25K
Наслаждаясь созданием моделей в Питоне на замечательных Deep Learning фреймворках типа Keras или Lasagne, время от времени хочется посмотреть, а что там интересного появилось для C++ разработчиков, помимо мейнстримовых TensorFlow и Caffe. Я решил поближе посмотреть на трех представителей: tiny-dnn, Apache.SINGA и OpenNN. Краткое описание опыта установки, сборки и использования под Windows Вы и найдете под катом.

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии10
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Чердаклы, Ульяновская обл., Россия
Дата рождения
Зарегистрирован
Активность