Когда-то ходил в школу
Почему translit в именовании это плохо и другие интересные особенности нашего восприятия кода
Есть неожиданно много людей, считающих, что писать код можно как угодно, а все эти правила и рекомендации просто занудство. Что же, у каждого каждого человека есть право на своё мнение.
Однако, код написаный таким образом читать, почему-то, большинство людей отказывается.
И на то есть причина. Вам никогда не доводилось сталкиваться с усталостью от чтения? Например, сложной технической литературы, канцелярита, другого языка? Уверен, что доводилось. И да, это именно усталость, пусть и не та же что и при физических нагрузках. Сложный для чтения текст значительно сильнее расходует ресурсы мозга.
Код это тоже текст. И написать его можно так, что чтение станет крайне неприятным и энергозатратным занятием. Если вам вдруг во время работы с особенно ужасными фрагментами корпоративного портала хочется закрыть редактор и посмотреть котиков, то дело, скорее всего, не в том, что вам лень или внезапно случилось то самое выгорание. Всё дело в том, что именно вы читаете.
Yarn 2 — с Prolog'ом и плагнплеями
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 вместо глобальных так что все в команде будут использовать одну версию!
The JavaScript community has been surprisingly stable for the past few years. Really feels like the days of JavaScript Fatigue are behind us.
— Mark Dalgleish (@markdalgleish) January 25, 2020
Yarn: pic.twitter.com/FxRSw4pbmZ
Знакомимся с Web Animations API
Веб API постоянно эволюционируют. Некоторые из них, такие как Console или Canvas, хорошо поддерживаются всеми браузерами, другие по-прежнему находятся на стадии разработки.
Одним из API, находящимся на стадии разработки, является Web Animations API или WAAPI. Несмотря на то, что первый вариант спецификации был опубликован в 2012 году, а сам API впервые реализован в браузерах Firefox и Chrome в 2014 году, я узнала о нем совсем недавно (я тоже раньше о нем не слышал — прим.пер.).
Он позволяет разработчикам работать с CSS анимацией средствами JavaScript. Его синтаксис похож на синтаксис традиционной CSS анимации, но имеет некоторые особенности, которые облегчают разработчикам создание и изменение анимации.
Давайте рассмотрим этот API на простом примере.
Julia. С чего начать проект?…
Очень часто, при решении задач анализа и подготовки данных, пишут одноразовые скрипты, поддержка и развитие которых не предусматривается вообще. Такой подход имеет право на существование, особенно в студенческой среде. Однако, когда появляется более одного человека, работающего с кодом, или же код необходимо поддерживать больше одного рабочего дня, то вариант организации работы в виде кучи файлов, не является приемлемым.
Поэтому, сегодня поговорим о такой важной теме, как создание с проекта с нуля на языке Julia, как его наполнить и какие технологические инструменты существую для поддержки разработки.
Стартап без денег. Личный опыт
Нетривиальная расстановка элементов на flexbox без media-запросов
Однако, недавно у меня возникло стойкое ощущение, что нужно поделиться одним нетривиальным и, на мой взгляд, полезным приёмом, связанным с flexbox. Написать пост побудил тот факт, что ни один знакомый (из учеников, верстальщиков и просто людей, близких к web), не смог решить задачку, связанную с flexbox, хотя на это нужно всего 4-6 строк.
Как проверить знания на практике, получить льготы при поступлении в магистратуру и приглашения на работу
Сегодня мы хотели бы привести некоторые факты из истории проекта, рассказать о доступных ресурсах для подготовки, возможностях для участников и потенциальных финалистов олимпиады.
Авторский курс по обучению Ардуино для собственного сына
В данной статье я расскажу о том, как мы придумали сами для себя учебный курс, который и помогает нам в обучении. Материал в открытом доступе, вы можете пользоваться им по своему усмотрению. Конечно, курс не является каким-то мега-новаторским решением, но конкретно в нашем случае вполне работает.
Как проапгрейдить существующий проект с ASP.NET MVC на ASP.NET Core. Практическое руководство
Пара слов о нашем проекте. Мы open-source eCommerce платформа на ASP.NET, которая к моменту переноса успешно существовала уже 9 лет. Мы делали миграцию 2 года назад — но руки дошли написать об этом только сейчас. На тот момент мы были одним из первых крупных проектов, кто решился на подобный шаг.
Почему стоит перейти на ASP.NET Core
Прежде чем приступить к разбору шагов по переходу с ASP.NET MVC на ASP.NET Core, несколько слов о преимуществах этой платформы.
Заворачиваем весь трафик ОС в Tor
Все описанное в статье реализовано в виде инструмента Toroxy, доступного на GitHubВ последнее время анонимность в сети является предметом горячих споров. Ни для кого не секрет, что данные о посещениях Интернет-ресурсов с локального устройства могут собираться на разных уровнях с целью построения «модели» пользователя, которая позже против него же и может быть использована (или могла бы). Поэтому не удивительно, что все большее количество активных пользователей Интернета становятся уверены в необходимости механизмов проксирования и анонимизации. В связи с этим появляется все больше новых VPN-клиентов, но, как показывает практика, далеко не всем из них по-настоящему можно доверять: то не все работает из коробки, то анонимизируется только HTTP-трафик, то качество реализации хромает, а то и вовсе разработчики грешат сливанием данных о своих пользователях.
В этой статье мы попробуем собрать из ряда программных компонентов собственный инструмент с UI, который бы позволил полностью анонимизировать трафик локальной системы и не допустить утечек по «прослушиваемым» каналам ни на одном из этапов работы.
Попытки начать обучение ребенка программированию с Minecraft pocket edition
На дворе осень и сын все чаще остается дома, уткнувшись в телефон или планшет, слабо реагируя на внешние раздражители. Меня это огорчает. Сам я начал программировать, как мне кажется, с того, что к моему первому компьютеру БК 0010-01 игры то на кассетах в комплекте шли, а вот магнитофон не шел. Пока добывали магнитофон с подходящим линейным выходом, я успел попробовать Бейсик, спасибо отцу за первые уроки. Так что, когда смог со скрипом загрузить первую графическую игру, то смотрел на нее уже не как на то, во что наконец буду играть, а очарованно думал, как бы сделать свою не хуже. Сына же, в его 8 лет, давно поглотил мир видеоигр и ютуба, так что начинать программирование с трели на встроенном динамике, похоже, впечатления не произведет.
5 способов сделать Python-сервер на Raspberry Pi. Часть 2
Сегодня мы продолжим изучать сетевые возможности Raspberry Pi, а точнее их реализацию на языке Python. В первой части мы рассмотрели базовые функции простейшего веб-сервера, работающего на Raspberry Pi. Сейчас мы пойдем дальше, и рассмотрим несколько способов, как сделать наш сервер интерактивным.
Статья рассчитана для начинающих.
Зачем ходить на собеседования
Недавно общался со своим знакомым. Парнишка учится Android разработке и обладает довольно крепким багажом знаний. Я ему задал вопрос: «Почему ты до сих пор не ходишь на собеседования? Ты бы уже давно нашел работу.» И получил ответ что-то типа собеседования это стресс, что чувствует себя там неловко. И меня это прям аж заставило задуматься о том сколько людей уже давно могли получить бы желаемое, а не получают из-за банального страха.
Когда я начал ходить на собесы, мои знания наверное не составляли даже четверти того, что знает этот парнишка. Когда меня взяли на работу, я не знал и половины того, что знает он. Я ходил на собеседования каждую неделю, получал тестовое задание, делал его и шел на следующее. (К слову у меня был годовалый ребенок и работа, которая не способствовала обучению, и каждое задание занимало много времени). Я получил более двадцати отказов, некоторые мои знакомые даже подшучивали надо мной: «Что, опять перезвонят?». И все же однажды перезвонили.
Так вот к чему я это все? Не к тому, чтобы похвастаться какой я классный, а к тому, что на собесы ходить просто необходимо. Здесь я поделюсь своими соображениями почему.
Ломаем Micosoft Lunix на HackQuest 2019
Привет, Хабр!
На HackQuest перед конференцией ZeroNight 2019 было одно занимательное задание. Я не сдал решение вовремя, но свою порцию острых ощущений получил. Я считаю, вам будет интересно узнать, что приготовили организаторы и команда r0.Crew для участников.
Задание: добыть код активации для секретной операционной системы Micosoft 1998.
В этой статье я расскажу, как это сделать.
C/C++. Как использовать внедряемые ресурсы приложения, при работе в GCC на Linux
Захотелось как-то мне использовать в Linux внедряемые ресурсы, причём, автоматически. В общем, задача такая:
- Имеется Eclipse проект программы на C++.
- ОС: Linux Ubuntu. Компилятор: G++
- В проекте используются данные из внешних файлов: строки локализации, SQL-запросы, картинки, звуки и т.д.
- Все ресурсы необходимо внедрить в исполняемый файл, ибо программу планируется распространять, как портативную.
- Кроме того, хочется, что бы процесс был максимально автоматизирован, ибо лень.
Безопасный способ обмена JWT в ASP.NET Core + SPA
Вступление
Идентификация по JWT (JSON Web Token) — это довольно единообразный, согласованный механизм авторизации и аутентификации между сервером и клиентами. Преимущества JWT в том, что он позволяет нам меньше управлять состоянием и хорошо масштабируется. Неудивительно, что авторизация и аутентификация с его помощью все чаще используется в современных веб-приложениях.
Портируем многопользовательскую игру с С++ на веб c Cheerp, WebRTC и Firebase
Введение
Наша компания Leaning Technologies предоставляет решения по портированию традиционных desktop-приложений в веб. Наш компилятор C++ Cheerp генерирует сочетание WebAssembly и JavaScript, что обеспечивает и простое взаимодействие с браузером, и высокую производительность.
В качестве примера его применения мы решили портировать для веба многопользовательскую игру и выбрали для этого Teeworlds. Teeworlds — это многопользовательская двухмерная ретро-игра с небольшим, но активным сообществом игроков (в их числе и я!). Она мала как с точки зрения скачиваемых ресурсов, так и требований к ЦП и GPU — идеальный кандидат.
Работающая в браузере Teeworlds
GIT изнутри: введение (перевод)
Привет, Хабр! Представляю вашему вниманию перевод статьи "Git for Computer Scientists" автора Tommi Virtanen.
GIT изнутри: введение
От себя: Периодически почитываю статьи, как различные популярные технологии устроены под капотом, наткнулся вот на этот материал. Статья показалась интересной наличием простых и понятных схем, которые воспринимаются значительно лучше, нежели простыни унылого текста. Решил перевести на русский язык. Изображения взяты из оригинала.
Кому будет интересно и, возможно, полезно: людям, ежедневно работающим с Git (т.е. каждому второму, если не первому разработчику ПО), и желающим лучше понять механизм его работы.
Примечание: для лучшего понимания статьи следует иметь представление о таком звере, как направленный ациклический граф (directed acyclic graph, DAG).
Обзор C++ библиотек глубокого обучения Apache.SINGA, tiny-dnn, OpenNN
Информация
- В рейтинге
- Не участвует
- Откуда
- Чердаклы, Ульяновская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность