Социальные сети Рунета
Пятница, 19 апреля 2019
21 февраля 2019   02:22

Жизненный цикл статьи на Хабре: пишем хабрапарсер. Часть вторая

Привет Хабр! В первой части пятничного анализа была рассмотрена методика сбора некоторой статистики этого замечательного сайта. Изначально не было плана делать продолжение, но в комментариях возникли интересные мысли, которые захотелось проверить. Например, какие статьи име...

Подробности на сайте: habr.com

Жизненный цикл статьи на Хабре: пишем хабрапарсер Привет Хабр! Многие постоянные читатели и авторы сайта наверное задумывались о том, какой жизненный цикл имеют опубликованные здесь статьи. И хотя интуитивно это и так более-менее ясно (очевидно например, что статья на первой странице имеет максимальное число просмотров), н...

Хабрарейтинг 2018: лучшие материалы за 2018 год Привет Хабр. Данный пост является логическим завершением публикаций про жизненный цикл статьи на Хабре (первая и вторая части), в результате чего был сделан достаточно интересный инструмент для статистического анализа. Методика оказалась весьма полезной, и позволяет находит...

Хабрамегарейтинг: лучшие статьи и статистика Хабра за 12 лет. Часть 2/2 Привет Хабр. В первой части были рассмотрены некоторые закономерности развития такого интересного ресурса, как habrahabr. Материал получился длинный, так что продолжение здесь. В этой части мы заодно посмотрим как строить такие картинки, и наконец, завершим нашу статистику ...

Методика D.I.Y. проекта. Часть вторая В заключительной части статьи «Методика D.I.Y. проекта» будет рассмотрен комплекс организационных мероприятий на стадии исполнения и закрытия любительского проекта. Предыдущие части статьи опубликованы здесь и здесь. Читать дальше →

Какими были сварочники для оптики (часть вторая) Эта статья продолжение материала, посвященного истории аппаратов для сварки оптического волокна, которая была опубликована в нашем блоге ранее. Поэтому кому интересно ныряем под кат. Читать дальше →

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть ин...

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

Customer Development как жизненная философия Это пятничная статья про применение современных бизнес-методик в повседневной жизни. Прошу воспринимать с юмором. Читать дальше →

Выбор стратегии жизненного цикла программного обеспечения при наличии нескольких зависимых фронтэндов Жизненный цикл программного обеспечения известен большинству современных программистов. Даже школьник, написав свою первую программу <?php echo "Hello, Хабр! На пхп" ?> или fprintf( 'Привет Хабр на Матлабе!\n'); понимает технологический процесс. Думает над зада...

Создание своего jsfiddle, часть 2 Привет всем читателем Habr. В данной статье мы будем продолжать писать свой онлайн редактор кода. В этой статье мы сделаем функцию сохранения кода в localStorage и по обновлению страницы этот код будет вставляться в эти 3 поля, а также сделаем функцию скачивания этого кода...

LibreOffice: страшный сон бухгалтера LibreOffice — мощный офисный пакет, который бесплатен для частного, образовательного и коммерческого использования. Его разработчики делают замечательный продукт, который во многих сферах используется в качестве альтернативы Microsoft Office. Команде PVS-Studio всегда интер...

Istio и Kubernetes в production. Часть 2. Tracing В прошлой статье мы рассмотрели базовые компоненты Service Mesh Istio, познакомились с системой и ответили на основные вопросы, которые обычно возникают в начале работы с Istio. В этой части мы посмотрим на то, как организовать сбор tracing информации по сети. Читать дальш...

[Перевод] Flexbox: насколько велика эта гибкая коробка? Продолжаю публикацию переводов по особенностям CSS-технологии Flexbox. Из цикла опубликованы следующие статьи: Что происходит при создании контейнера Flexbox. Все, что вам нужно знать о выравнивании во Flexbox. Краткое резюме В последних двух статьях мы рассмотрели, что...

[Из песочницы] (5-2) Способа перенести большую SQL таблицу Введение Всем привет! Это моя первая статья и пишу я ее от лица младшего инженера-разработчика на языке C#. Так что здесь не будет каких-то подробных сведений о SQL, лишь практические сведения и размышления по решению довольно не очевидной задачи, с которой мне пришлось стол...

Разбираем протокол пейджерных сообщений POCSAG, ч2 Привет, Habr! В первой части был рассмотрен протокол обмена пейджерными сообщениями POCSAG. Были рассмотрены цифровые сообщения, перейдем теперь к более «полноценным» сообщениям в формате ASCII. Тем более, что декодировать их интереснее, т.к. на выходе будет читаемый текст....

Как я делал линейно-интерактивный ИБП (Часть 2) Во второй части нашего цикла продолжим разговор про измерение переменного напряжения, а также про измерение выходного тока нагрузки. Всех заинтересованных прошу под кат. Читать дальше →

Как взять сетевую инфраструктуру под свой контроль. Часть третья. Сетевая безопасность. Продолжение Это вторая часть главы «Сетевая безопасность» (которая в свою очередь является третьей частью цикла статей «Как взять сетевую инфраструктуру под свой контроль»). В первой части этой главы мы рассмотрели некоторые аспекты сетевой безопасности сегмента «Data Center». Эта глава...

Анализ производительности WSGI-серверов: Часть вторая Данная статья является переводом статьи Кевина Голдберга «A Performance Analysis of Python WSGI Servers: Part 2» dzone.com/articles/a-performance-analysis-of-python-wsgi-servers-part с небольшими дополнениями от переводчика. Введение В первой части этой серии Вы познакоми...

Архитектурные решения для мобильной игры. Часть 2: Command и их очереди В первой части статьи мы рассмотрели как должна быть устроена модель, чтобы пользоваться ей было легко, а отлаживать её и прикручивать к ней интерфейсы просто. В этой части мы рассмотрим отдачу команд на изменения в модели, во всей её красоте и разнообразии. Как и раньше, ...

Функции для документирования баз данных PostgreSQL. Часть третья Это третья часть статьи, которая описывает пользовательские функции для работы с системными каталогами: pg_class, pg_attribute, pg_constraints и т.д. Первая и вторая части статьи опубликованы ранее. <img src=«habrastorage.org/webt/zc/rx/ta/zcrxta08dnfat5cqpgid4lyq7by.p...

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

Визуализация данных для вашего Web-проекта Автор: Александр Кашеверов, Senior JavaScript Developer Добро пожаловать и приятного чтения! Статья для тех, кто раньше не использовал графики в веб, но собирается. Также для тех, кто хочет глубже познакомиться с этой темой. Цель — осветить предметную область и упрост...

[Перевод] Как я научил ИИ играть в Tetris для NES. Часть 1: анализ кода игры В этой статье я исследую обманчиво простые механики Nintendo Tetris, а во второй части расскажу, как создал ИИ, эксплуатирующий эти механики. Попробуйте сами О проекте Для тех, кому не хватает упорства, терпения и времени, необходимых для освоения Nintendo Tetris, я созда...

[Перевод] Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах Продолжаем говорить о технических собеседованиях (если вы не читали — просмотрите предыдущие статьи из цикла — о собеседованиях с HR и технических). В этот раз будет больше субъективного опыта, минимум советов, а также немножко про тестовые задания и теоретические вопросы. П...

Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...

Как я делал линейно-интерактивный ИБП (Часть 3) В третьей части нашего цикла рассмотрим работу инвертора ИБП с модифицированным синусом. Всех заинтересованных прошу под кат. Читать дальше →

Подвожу итоги комментариев к статье про ИП Спасибо всем, кто отметился в комментариях к моей первой статье. Получилось интересно (и, как обычно, упомянуто много ценного). Для тех, у кого нет времени на изучение всех четырех сотен комментариев, собрал краткое содержание под катом. Читать дальше →

Интересности и полезности python. Часть 2 В предыдущей статье мы рассмотрели несколько интересных моментов языка python, разумеется, одной статьёй они не исчерпываются, поэтому продолжим. В одном из комментариев рассматривался следующий код: SEX = 'Female', 'Male' sex = SEX[True] # -> Male sex = SEX[False] # -...

Хабрарейтинг 2017: лучшие материалы за 2017 год Привет Хабр. В недавней публикации подборки лучших статей за 2018й год было высказано пожелание увидеть такой же список за год 2017. В принципе, неплохая идея — практически все опубликованное тогда, актуально и сейчас. Обработка данных закончена, да и выходные еще не истекл...

Как мы пишем статьи на Хабр: опыт разработчиков EastBanc Technologies Недавно, две статьи назад, в нашем корпоративном хабе вышла сотая статья. В честь круглого числа мы решили немного обобщить наш опыт. В этой статье расскажем, как работают над статьями наши разработчики, что помогает им писать и на что обращать внимание в работе над текстом....

[Из песочницы] Пятница программиста, или как я писал библиотеку для лексического и синтаксического анализа кода Всем привет! Я, как программист, всегда ищу пути для улучшения своих навыков. В один пятничный вечер, в мою голову пришла мысль — «А не написать ли мне компилятор?» Кому интересно узнать, что из этого получилось, добро пожаловать под кат. Читать дальше →

[Из песочницы] Создание бота для участия в AI mini cup 2018 на основе рекуррентной нейронной сети Изначально у меня не было планов о статье, тем более о выступлении на конференции. Но случилась конференция. И после выступления на ней, у смотревших появились ко мне вопросы касательно реализации некоторых технических моментов. Так и получилось слово за слово — статья. Зап...

Проектирование процессора (CPU Design) RAM-машина Часть I Часть II Часть III Часть IV Часть V На Хабре уже была опубликована статья, посвящённая RAM-машине. Вообще, статья про RAM-машину есть на Википедии. RAM-машина, которая упоминается в книге «Построение и анализ вычислительных алгоритмов» -авторы: Ахо, Хопкрофт, Уль...

Использование камеры Fish eye на Raspberry Pi 3 с ROS — часть 1 Добрый день уважаемые читатели Хабра. Несколько лет назад я писал об использовании камеры Raspberry Pi Camera Board на Raspberry Pi в связке с ROS. В этой и следующей статьях я бы хотел рассказать об использовании широкоугольной камеры типа fish eye на Raspberry Pi 3 с устан...

Почему мы используем GraphQL в 8base Друзья, всем привет! Эта статья в первую очередь будет интересна фронтенд-разработчикам, особенно тем кому актуальна тема GraphQL, но в то же время я надеюсь, что она будет полезна и бэкенд-разработчикам и поможет им понять преимущества GraphQL глазами фронтендера. Читать...

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений Введение Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю. Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи: Часть 1: пишем языковую ВМ Часть 2:...

Функции для документирования баз данных PostgreSQL. Окончание Это четвертая и последняя часть статьи, которая описывает пользовательские функции для работы с системными каталогами: pg_class, pg_attribute, pg_constraints и т.д. Первая, вторая и третья части статьи опубликованы ранее. Предчувствую, что должен заранее извиниться перед т...

[Перевод] Бесплатные аккаунты на GitHub смогут [почти] без ограничений работать с приватными репозиториями Эта новость опубликована на The Next Web, с пометкой: "Из-за ошибок в планировании, мы опубликовали эту новость на день раньше снятия эмбарго на разглашение. Фича всё ещё не запущена, о ней официально расскажут завтра. Когда это произойдёт, мы обновим пост новым официальным...

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

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

[Перевод] Больше кофе, меньше кофеина: Intel 9th Gen (часть 4) Часть 1 → Часть 2 → Часть 3 → Часть 4 Потребляемая мощность Что есть TDP, вот в чем вопрос Примечание. Когда мы изначально разместили эту страницу, мы опубликовали результаты тестирования на материнке ASRock Z370. Позже мы обнаружили, что напряжение, подаваемое материнской...

[Из песочницы] Как я делал линейно-интерактивный ИБП (Часть 1) Однажды возникла задача разработать линейно-интерактивный ИБП. Это фактически самый простой тип ИБП выходом «модифицированный синус», но дополнительно имеющий возможность регулировать выходное напряжение при изменении входного. Что-то вроде простейшего стабилизатора напряжен...

Статистики научились отличать песни Маккартни и Леннона «Вероятность того, что «In Me Life» написал Маккартни, равна 0,18. Скорее всего, ее написал Леннон». Фанаты The Beatles и математики из Гарварда Марк Гликман и его бывший студент Дженсон Браун разработали методику статистического анализа, которая позволяет определить, кто из...

[Из песочницы] Быстрый Sin и Cos на встроенном ASM для Delphi Всем привет! Возникла потребность написать быстрое вычисление Sin и Cos. За основу для вычислений взял разложение по ряду Тейлора. Использую в 3D-системах (OpenGL и графическая библиотека своей разработки). К сожалению свести ряд «идеально» для Double не получается, но это ...

Android LiveData на Kotlin с использованием Retrofit и coroutines Статья рассказывает об использовании Android Components ViewModel, LifeCycle и LiveData. Эти компоненты позволяют не заботиться о жизненном цикле Activity. Так же рассмотрен пример применения современного Coroutines в связке с репозитарием на Retrofit fun main(args: Array&...

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединил в один эмулятор) Привет читателям. В прошлом году я опубликовал свой хобби-проект Красный Омега PS2 эмулятор. Идея была в адаптации управления оригинального эмулятора PCSX2 для игр на Surface Pro через Touch Screen. Оригинальный код PCSX2 эмулятора был переписан в форме модуля DLL, загружае...

Строительные блоки распределенных приложений. Второе приближение Анонс Коллеги, в середине лета я планирую выпустить еще один цикл статей по проектированию систем массового обслуживания: “Эксперимент VTrade” — попытка написать фреймворк для торговых систем. В цикле будет разобрана теория и практика построения биржи, аукциона и магазина. В...

Информационная архитектура в Интернете часть 1 Очень часто вижу вопросы от начинающих проектировщиков, похожих один на другой: «Посоветуйте что прочитать…». Часто в ответ кидают А. Купера «Об интерфейсе. Основы проектирования взаимодействия», Д. Раскина «Интерфейс: новые направления в проектировании компьютерных систе...

GitLab для Continuous Delivery проекта на технологиях InterSystems: Контейнеры Эта статья — продолжение статьи про организацию процессов Continuous Integration / Continuous Delivery, автоматизирующих сборку, тестирование и доставку приложений применимо к решениям на платформе InterSystems. Рассмотрим такие темы как: Контейнеры 101 Контейнеры на разны...

[Из песочницы] Современная Android разработка на Kotlin. Часть 2 Привет, Хабр! Представляю вашему вниманию перевод статьи "Modern Android development with Kotlin (Part 2)" автора Mladen Rakonjac. Примечание. Данная статья является переводом циклов статей от Mladen Rakonjac, дата статьи: 23.09.2017. GitHub. Начав читать первую ч...

Пишем первое приложение для Samsung Smart Watch и OS Tizen Привет хабр! В недавней публикации описывались первые впечатления от смарт-часов Samsung Galaxy Watch, работающих под ОС Tizen. Следующим шагом стало интересно выяснить, как разрабатывать под эту систему собственные приложения, как на эмуляторе, так и на реальных часах. ...

[Перевод] Учебный курс по React, часть 21: второе занятие и практикум по условному рендерингу Сегодня, в переводе следующей части учебного курса по React, мы предлагаем вашему вниманию второе занятие по условному рендерингу и практикум по этой теме. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: ф...

Как правильно использовать статический анализ Сейчас все больше говорят о статическом анализе для поиска уязвимостей как необходимом этапе разработки. Однако многие говорят и о проблемах статического анализа. Об этом много говорили на прошлом Positive Hack Days, и по итогам этих дискуссий мы уже писали о том, как устрое...

[Перевод] UDB. Что же это такое? Часть 3. Datapath FIFO Продолжаем делать перевод фирменной документации фирмы Cypress на блоки UDB. Тем более, что всё очень удачно совпадает. Для продолжения практической статьи по UDB понадобится использование FIFO, а в теоретической части мы подобрались как раз к их описанию. Поэтому начинаем...

Вредные советы: как правильно писать техническую документацию? Часть вторая Советы по грамотному написанию технической документации для пользователей. Часть 2 Продолжение руководства нашего технического писателя Андрея Старовойтова, которое поможет сделать вашу пользовательскую документацию проще и понятнее. Начало статьи можно почитать тут, а то...

TelegramBot в облаке Wolfram Введение Прошел тот период, когда каждая вторая статья на Habrahabr была посвящена написанию своего телеграмм-бота. Также прошел период времени, когда бота без трудностей можно было разместить на своем компьютере или хостинге в России. Еще полгода назад мой бот запускался пр...

[Из песочницы] Blaue Karte для около-айтишника или как я свалил в Германию Немного об эмиграции в Германию по Blau Karte для не совсем профильных айтишников: Для начала немного обо мне, чтобы было понятно, с какой точки я начинал собираться в эмиграцию. Образование — B.S. (Bachelor of Sciences) в химии, B.A. (Bachelor of Arts) в математике, M.S. в ...

Хабрамегарейтинг: лучшие статьи и статистика Хабра за 12 лет. Часть 1/2 Привет Хабр. После публикации рейтинга статей за 2017 и 2018 год, следующая идея была очевидна — собрать обобщенный рейтинг за все годы. Но просто собрать ссылки было бы банально (хотя и тоже полезно), поэтому было решено расширить обработку данных и собрать еще немного пол...

[Перевод] Дональд Кнут: «Старшие товарищи играли нами в теннис, мы были мячами. Они били по нам, было больно.» (11,12/97) Продолжаем публиковать перевод серии автобиографических рассказов Дональда Кнута. 11. Управление баскетбольной командой Как мне помнится, в том году впервые попробовали такое, и я точно не помню, как долго продолжали эксперимент, но назвали это Разделом Чести, и это означ...

Создание бота для участия в AI mini cup 2018 на основе рекуррентной нейронной сети (часть 2) Это продолжение первой части статьи В первой части статьи автор рассказал об условиях конкурса по игре Агарио на mail.ru, структуре игрового мира и частично об устройстве бота. Частично, потому что затронули только устройство входных сенсоров и команд на выходе из нейронной...

[Перевод] Функциональное мышление. Часть 10 Вы представляете, это уже десятая часть цикла! И хотя до этого повествование было сфокусировано на чисто функциональном стиле, иногда удобно переключиться на объектно-ориентированный стиль. А одними из ключевых особенностей объектно-ориентированного стиля являются возможност...

[Из песочницы] Программируем проходной выключатель. MicroPython на esp8266 (sonoff) с OTA. Часть 1 Всем привет. В процессе ремонта возникла задача сделать проходной выключатель. Конечно же захотелось сделать самым простым и удобным способом, добавив базовые функции управления с телефона. Я выбрал наиболее простую и удобную технологию для этого (конечно, на свой взгляд) —...

[Перевод] Суровая действительность: Ваши стейкхолдеры не хотят анализ бизнеса Всем привет! Потихоньку развиваем спектр охватываемых областей обучения. Вот запускаем новый тип для нас — «Аналитик бизнес-процессов», четвёртый в пуле курсов «Маркетинг и бизнес». Поэтому начинаем обычный для нас цикл интересных статей и заметок по этой теме. Поехали! У...

[Перевод] Drag и Swipe в RecyclerView. Часть 2: контроллеры перетаскивания, сетки и пользовательские анимации В первой части мы рассмотрели ItemTouchHelper и реализацию ItemTouchHelper.Callback, которая добавляет базовые функции drag & drop и swipe-to-dismiss в RecyclerView. В этой статье мы продолжим то, что было сделано в предыдущей, добавив поддержку расположения элементов в...

Байт-машина для форта (и не только) по-индейски (часть 2) Продолжим эксперименты с байт-кодом. Это продолжение статьи о байт-машине на ассемблере, вот первая часть. Вообще, я планировал во второй части сделать интерпретатор форта, а в третьей — компилятор форта для этой байт-машины. Но объем, который получался для статьи, оказал...

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

Анализ производительности WSGI-серверов: вернем uWSGI на место На прошлой неделе был опубликован перевод статьи двухлетней давности Анализ производительности WSGI-серверов: Часть вторая, где незаслужено был обделен славой uWSGI. Необходимо срочно перепроверить тесты! Читать дальше →

[Перевод] Учебный курс по React, часть 25: практикум по работе с формами В сегодняшней части перевода учебного курса по React вам предлагается выполнить практическое задание по работе с формами. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проект...

Делаем UITableView. Для начинающих Новогодние праздники прошли, а мое стремление писать полезные и не очень статьи — нет! Сегодня поговорим о UITableView, работе с UITableViewDataSource и переиспользовании ячеек. Затронем как установить рут контроллер без сториборда, ошибки при работе с таблицей, лейаут и бол...

[Перевод] Учебный курс по React, часть 23: первое занятие по работе с формами В этой части перевода учебного курса по React мы поговорим о работе с формами. В частности, сегодняшнее занятие посвящено организации взаимодействия компонентов и текстовых полей. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные...

[Перевод] Учебный курс по React, часть 27: курсовой проект В этой части перевода учебного курса по React вам предлагается создать генератор мемов. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проектов → Часть 4: родительские и дочер...

[Перевод] Учебный курс по React, часть 26: архитектура приложений, паттерн Container/Component В этой части перевода учебного курса по React мы поговорим об архитектуре React-приложений. В частности, обсудим популярный паттерн Container/Component. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: фай...

Записки IoT-провайдера. Немного про частоты Здравствуйте, уважаемые любители Интернет-Вещей! Первая часть → Вторая часть → Третья часть → Четвертая часть → Пятая часть → Шестая часть → Седьмая часть Периодически всплывают вопросы про регуляторику и частотные планы. С выходом спецификации 1.1 и перехода на нее, путани...

История советских кассетников: эволюция “Десны”, MK-60 made in USA и народные магнитофоны 70-х Продолжая наш цикл о советском аудио, захотелось рассказать о кассетных магнитофонах в СССР. Известно, что в Стране Советов эти устройства стали появляться несколько позже, чем на западе, а исчезли наоборот раньше (производство их было свернуто почти сразу после распада Союз...

[Перевод] Руководство по Node.js, часть 7: асинхронное программирование Сегодня, в переводе седьмой части руководства по Node.js, мы поговорим об асинхронном программировании, рассмотрим такие вопросы, как использование коллбэков, промисов и конструкции async/await, обсудим работу с событиями. [Советуем почитать] Другие части циклаЧасть 1: Об...

Управление RGB светодиодами через блок UDB микроконтроллеров PSoC фирмы Cypress Введение Я давно хотел изучить методику программирования блоков UDB в контроллерах PSoC фирмы Cypress, но всё руки как-то не доходили. И вот, возникла задачка, на которой это можно было сделать. Разбираясь с материалами из сети, я понял, что практические рекомендации по ра...

[Перевод] Объясняем бэкдор в event-stream Если вы работаете с Javascript, то скорее всего вы заметили много шума об уязвимости в npm-пакете event-stream. (На Хабре тоже опубликовали пост об этом — пер.) К сожалению, детальный анализ ситуации похоронен под более чем 600 комментариями в issue на Github, большая часть ...

OS1: примитивное ядро на Rust для x86. Часть 3. Карта памяти, Page fault exception, куча и аллокации Первая часть Вторая часть Тема сегодняшнего разговора — работа с памятью. Я расскажу про инициализацию директории страниц, маппинг физической памяти, управление виртуальной и мою организацию кучи для аллокатора. Как я уже говорил в первой статье, я решил использовать страниц...

СДВГ и употребление [Роскомнадзор] Спойлер: Эта короткая статья будет малоинтересна кому-либо, кто не вовлечен в очень специфическую проблематику СДВГ. Более того, я надеюсь, она не будет интересна даже большей части СДВГшников. Речь пойдет об ингибиторах обратного захвата дофамина и всем букете проблем,...

Как сделать платежную систему своими руками Привет, Хабр! Мы в RBKmoney новый платежный процессинг написали. С нуля. Ну не мечта ли? Правда, как всегда, на пути к мечте, большую часть пути пришлось проплыть по рекам с подводными камнями, часть — проехать на собственноручно собранных велосипедах. На этом пути мы полу...

Citymobil — пособие для стартапов по увеличению стабильности на фоне роста. Часть 2. Какие бывают виды аварий? Это вторая статья из цикла про то, как мы в Citymobil увеличивали стабильность сервиса (первую можете почитать здесь). В этой статье я углублюсь в конкретику разбора аварий. Но перед этим я освещу один момент, о котором я должен был подумать заранее и осветить в первой ста...

[Перевод] Вредоносное машинное обучение как диагностический метод Привет всем! Продолжая проработку темы глубокого обучения, мы как-то раз хотели поговорить с вами о том, почему нейронным сетям повсюду мерещатся овцы. Эта тема рассмотрена в 9-й главе книги Франсуа Шолле. Таким образом мы вышли на замечательные исследования компании «Po...

Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй. Первым делом выкладываю ссылки на предыдущие части: Часть 1: пишем языковую ВМ Часть 2: промежуточное представление программ Часть 3: Архитектура транслятора. Разбор языковых структур и математиче...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 4.2 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

[Из песочницы] Инстансы по информационной безопасности на платформе attackdefense.com … Мы живем в эпоху больших событий и маленьких людей … Уинстон Черчилль Сегодня вашему вниманию представляем первую статью из цикла о разборе и прохождении лабораторных работ с ресурса attackdefense.com с поддержкой известного организатор конференций (Black Hat и Pentes...

Извлечение мастер-пароля из заблокированного менеджера паролей SafeInCloud После прочтения этой статьи мне захотелось провести исследование другого менеджера паролей на наличие похожих уязвимостей. В комментариях к статье пользователем Dark_Angel был задан вопрос: А что скажите насчет SafeInCloud? Читать дальше →

Еще 7 крутых игр на ПК для изучения английского Первая часть статьи «5 лучших игр на ПК для изучения английского» зашла очень хорошо, и уже в комментариях читатели нам прислали еще кучу достойных игр, с помощью которых можно прокачать свой английский. О некоторых из них мы не были в курсе, поэтому спасибо. За это время...

Как мы делали БелАЗ. Часть 3 – Пусконаладка на разрезе Это третья статья из цикла о самосвале (первая, вторая). Теперь мы едем на карьер, устанавливать электрооборудование на машину и выезжать в первый рейс! Но, конечно же, так просто, с наскоку, ничего не ездит, и я расскажу про множество проблем с которыми мы столкнулись во в...

Мой опыт трудоустройства на роль Agile Coach в Европе, часть вторая И снова здравствуйте! В первой части моей статьи я рассказал о мотивации, сподвигнувшей меня на попытки перебраться в Европу, а также осветил в деталях первые 5 месяцев моих поисков. Ниже Вы найдете продолжение моей истории и несколько выводов, которые я сделал для себя. А...

Смарт-часы Samsung Galaxy Watch: апгрейд с Android Wear OS на Tizen OS — личный опыт Всем привет. Эта публикация является продолжением предыдущего рассказа про смарт-часы Huawei Watch с OS Android Wear. Те часы использовались 1.5 года, и в целом, эта система оставила приятные впечатления. Но жизненный цикл таких продуктов весьма короткий, да и как известно,...

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

[Перевод] Создаем читалку eBook с помощью PDFKit на Swift Добрый день! Представляю вашему вниманию продолжение статьи «Скачиваем, сохраняем и просматриваем PDF в Swift», как и обещал автор — немного подробнее рассмотрим PDFKit. PDFKit появился в iOS 11, и в нем есть 3 замечательные функции, о которых бы я хотел рассказать, в проце...

Типичные ошибки при работе с PostgreSQL Чуть более месяца назад в Москве состоялась крупнейшая конференция постгресового сообщества PGConf.Russia 2019, собравшая в МГУ свыше 700 человек. Мы решили выложить видео и расшифровку лучших докладов. Выступление Ивана Фролкова с разбором типичных ошибок при работе с Postg...

[Перевод] Настройка кластера HA Kubernetes на «голом железе» с GlusterFS & MetalLB. Часть 2/3 Часть 1/3 тут Привет и с возвращением! Это вторая часть статьи о настройке кластера Kubernetes на «голом железе». Ранее мы настраивали НА-кластер Kubernetes с помощью внешнего etcd, схемы «ведущий-ведущий» и балансировки нагрузки. Ну а теперь пришло время настроить дополнит...

[Из песочницы] Разделяй и властвуй, или медленно пишем — быстро читаем В одном из моих проектов возникла необходимость последовательной записи оцифрованных наборов данных с 3-х каналов АЦП. Результаты замеров нужно было сохранять со скоростью 6 КБайт/сек, при этом длительность цикла сбора данных могла составлять сутки и более. Таким образом об...

[Из песочницы] Разбор Memory Forensics с OtterCTF и знакомство с фреймворком Volatility Привет, Хабр! Недавно закончился OtterCTF (для интересующихся — ссылка на ctftime), который в этом году меня, как человека, достаточно плотно связанного с железом откровенно порадовал — была отдельная категория Memory Forensics, которая, по сути, представляла из себя анализ ...

[Перевод] Senior Engineer в поисках работы. Как я прошел 20 собеседований с HR и что я об этом думаю Предисловие для читателей Хабра — статья поиске работы на рынке разработки в Украине (который в основном об аутсорсе на иностранных заказчиков) поэтому некоторые вещи могут показаться странными (LinkedIn, собеседования с заказчиками, обязательное требование разговорного англ...

Дайджест интересных материалов для мобильного разработчика #274 (5 — 11 ноября) В нашей новой подборке новости с Android Dev Summit, Continuous integration в Яндексе, тотальная интеграция в Google и интересное руководство по жизненному циклу пользователей. Заходите! Читать дальше →

На поводу у трендов, или движение навстречу RxJava и LiveData На дворе 2018 год. Всё чаще встречаются слова RxJava и LiveData. Но если вдруг так случилось, что в вашем приложении до сих пор балом правят старомодные решения вроде библиотеки android-priority-jobqueue или AsyncTask (да, бывает и так), то эта статья специально для вас. ...

Геймдизайн в жизнь. Экономика игры (Часть I) Доброго дня!Немного об авторе: меня зовут Мария, младший гейм дизайнер. Это вторая статья из цикла по применению теории гейм дизайна в жизни. Ссылка на первую статью: «Гейм дизайн в жизнь. Пример разбора механики игры» После примера разбора игры хочется взяться за самую со...

Разрабатываем свой браузер с нуля. Часть первая: HTML Всем привет! Продолжаем цикл статей по разработке браузерного движка. В данной статье я расскажу как создать самый быстрый HTML-парсер c DOM. Мы рассмотрим HTML спецификацию и чем она плоха относительно производительности и потребления ресурсов при разборе HTML. С данной т...

«Lock-free, or not lock-free, that is the question» или «Здоровый сон хуже горькой редьки» На написание данной статьи меня подвигли комментарии к статье "Как правильно и неправильно спать". Речь в данной статье пойдёт о разработке многопоточных приложений, применимости lock-free к некоторым кейсам возникшим в процессе работы над LAppS, о функции nanosleep и насил...

Пишем CLI на NodeJS Добрый вечер всем. Возникла задача написать свой immersive CLI на node.js. Ранее для этой цели использовал vorpal. В этот раз захотелось обойтись без лишних зависимостей и, помимо этого, рассматривал возможность по-другому принимать аргументы команд. С vorpal команды писали...

[Перевод] Конференция BLACK HAT USA. Как Голливудский хакер использует камеры наблюдения. Часть 1 Я Грэг Хеффнер, и это разговор о том, как голливудский хакер использует камеры наблюдения. Некоторые из вас могут знать или не знать, что когда впервые была опубликована моя работа по этой теме, на интернет-портале Reuters об этом появилась статья. Для меня как для спике...

[Перевод] Как я пишу конспекты по математике на LaTeX в Vim Некоторое время назад на Quora я отвечал на вопрос: как успевать записывать за лектором конспект по математике на LaTeX. Там я объяснил свой рабочий процесс по конспектированию в LaTeX с помощью Vim и Inkscape (для рисунков). Но с тех пор многое изменилось, так что я хочу оп...

Учимся писать Waves смарт-контракты на RIDE и RIDE4DAPPS. Часть 2 (DAO — Decentralized Autonomous Organization) Всем привет! В первой части мы подробно рассмотрели как создавать и работать с dApp (децентрализованным приложением) в Waves RIDE IDE. Давайте сейчас немного потестируем разобраный пример. Этап 3. Тестирование dApp аккаунта Читать дальше →

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

[Из песочницы] Распутывание клубка уязвимостей на сайтах После своей первой статьи, опубликованной на codeby, которая вошла в топ 3 публикаций недели, я был очень мотивирован написать следующую. Но 11 класс накладывает ограничения на свободное время подготовкой к егэ и олимпиадами. Поэтому вторую я пишу лишь спустя несколько меся...

Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи! В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от...

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

JsonWriterSax — библиотека для создания JSON Некоторое время назад я писал приложение на c++/Qt, которое отправляло по сети большие объемы данных в формате JSON. Использовался стандартный QJsonDocument. При внедрении столкнулся с низкой производительностью, а также неудобным дизайном классов, который не позволял нормал...

Исследование статистической вероятности значения бита в нонсе bitcoin Считается, что функция sha256( sha256( BlockHeader ) ), которая используется в алгоритме хэширования bitcoin весьма надежна. Надежна настолько, что существует только один единственный способ подобрать голден нонсе для очередного блока в блокчейне — путем перебора в процесс...

Run, Gecko, run: гибридный механизм движения по воде у гекконов Почему бы нам с вами в этот прекрасный пятничный день немного не отдохнуть от квантовой физики, материаловедения и химии? Что скажете? Ведь мир научных изысканий, исследований и открытий не ограничивается одним направлением. Физика, химия, биология, астрономия и т.д. — каж...

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

[Перевод] Учебный курс по React, часть 28: современные возможности React, идеи проектов, заключение Сегодня, в заключительной части перевода курса по React, мы поговорим о современных возможностях React и обсудим идеи React-приложений, создавая которые, вы можете повторить то, чему научились, проходя этот курс, и узнать много нового. → Часть 1: обзор курса, причины попу...

Тайна прошивок Авторы: к.ф.-м.н. Чернов А.В. (monsieur_cher) и к.ф.-м.н. Трошина К.Н. Как с помощью самых общих предположений, основанных на знании современных процессорных архитектур, можно восстановить структуру программы из бинарного образа неизвестной архитектуры, и дальше восстановит...

Портрет самого распространённого смартфона по версии AnTuTu: экран Full HD, 6 ГБ ОЗУ и Android Oreo Разработчики тестового ПО AnTuTu опубликовали статистические данные, не касающиеся производительности смартфонов. Вместо этого статистика содержит данные о разных разрешениях экранов, о диагоналях, платформах и так далее. К примеру, наиболее распространённым разрешение...

[Перевод] Руководство по Node.js, часть 6: цикл событий, стек вызовов, таймеры Сегодня, в шестой части перевода руководства по Node.js, мы поговорим о цикле событий, о стеке вызовов, о функции process.nextTick(), о таймерах. Понимание этих и других механизмов Node.js является одной из основ успешной разработки приложений для этой платформы. [Советуе...

Расширение PHP и Kotlin Native. Часть третья, наверное финальная В первой части рассказываются совсем базовые вещи про настройку инструментария и общие концепции. Вторая часть про, так сказать, первый подход к снаряду, задумки, наметки, планы. В этой статье будет чуть больше хардкора про интероп Си и K/N, много макросов, боли, безысход...

3D-печать и airsoft: как я печатал «привод» Всем привет! Я попробую немного рассказать о том, как я пытался сделать страйкбольный привод при помощи 3D-принтера, что из этого получилось и с какими сложностями пришлось столкнуться. Статья может оказаться интересной для тех, кто любит airsoft, DIY или 3D-печать. Для те...

[Перевод] Функциональное мышление. Часть 8 Привет, Хабр! Мы с небольшим запозданием возвращаемся с новогодних каникул с продолжением нашей серии статей про функциональное программирование. Сегодня расскажем про понимание функций через сигнатуры и определение собственных типов для сигнатур функций. Подробности под кат...

Учимся общаться между микросервисами на Node.js через RabbitMQ Это продолжение статьи «Пишем первый микросервис на Node.js с общением через RabbitMQ», которая была неплохо принята пользователями хабра. В этой статье я расскажу о том, как нужно правильно общаться между микросервисами, чтобы микросервисы оставались изолированными. Читать ...

Анализ вакансий HeadHunter Однажды мне стало интересно, а что если попробовать проанализировать вакансии и составить по ним некоторые топы. Узнать кому больше всех платят, кто наиболее востребован и много чего еще. Читать дальше →

Принцип наименьшего действия. Часть 2 В прошлый раз мы кратко рассмотрели один из самых замечательных физических принципов — принцип наименьшего действия, и остановились на примере, который, казалось бы, ему противоречит. В данной статье мы разберемся с этим принципом немного подробнее и посмотрим, что происх...

Пишем игру на LWJGL Создание игры на LWJGL #1 Написание игры — сложный и интересный процесс, который требует много времени. В данном цикле статей я расскажу, как создать простую 3D игру на Java с использование библиотеки LWJGL. Для создания своей игры необходимо следующее: Умения писать код ...

«Мечта куриц»: Лена Миро рассказала о родивших завистливых женщинах Миро объясняет, что такую позицию имеют «курицы», которые больны идеей в 17-18 лет поскорее выскочить замуж и родить, а потом всю жизнь висеть на шее мужика. Лена Миро опубликовала в своем ЖЖ-блоге новый пост, который назвала «Чего курица никогда не простит». В нем девушка ...

[Перевод] Учебный курс по React, часть 20: первое занятие по условному рендерингу Сегодня, в переводе следующей части учебного курса по React, мы поговорим об условном рендеринге. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проектов → Часть 4: родительск...

[Из песочницы] Оптимизация скриптов с Webpack SplitChunksPlugin В этой статье я бы хотел поделиться своим опытом по разбиению бандлов для многостраничного сайта с помощью Webpack 4. Cначала создадим для каждой страницы свою точку входа. Рассмотрим на примере 4 страниц: const path = require("path"); const PATHS = { src: path...

Как писать на Objective-C в 2018 году. Часть 1 Большинство iOS-проектов частично или полностью переходят на Swift. Swift — замечательный язык, и за ним будущее разработки под iOS. Но язык нераздельно связан с инструментарием, а в инструментарии Swift есть недостатки. В компиляторе Swift по-прежнему находятся баги, которы...

Бэкап для Linux не пишет писем Всем привет! Сегодня хочу поведать о том, как управлять Veeam Agent for Linux с помощью командной строки, и о том, какие возможности она открывает в умелых руках программиста. На написание статьи меня подтолкнул комментарий к предыдущей статье. Перефразирую удивление поль...

[Из песочницы] Как я с Python на Julia переходил (и зачем) Немного предыстории о Python Python — замечательный язык. Несколько языков я и до него пробовал: Pascal в школе; Си, Си с классами, Си++ — в университете. Последние два (три) привили стойкое отвращение к программированию: вместо решения задачи возишься с аллокациями и дестру...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 4.3 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

Использование камеры Fish eye на Raspberry Pi 3 с ROS — часть 2 Добрый день уважаемые читатели Хабра! Это вторая часть рассказа об использовании fish eye камеры на Raspberry Pi 3. Первую часть можно найти здесь. В этой статье я расскажу о калибровке fish eye камеры и применении камеры в детекции объектов с помощью пакета find_object_2d. ...

[Из песочницы] Алгоритм мышления и сознания В этой статье изложен алгоритм мышления и сознания. Я предлагаю свой ответ на вопрос о том как работает мышление и сознание. И демонстрирую алгоритм, который умеет по-настоящему, творчески, думать и обладает настоящим сознанием. Статья рассчитана на программистов и состоит и...

Brain Trainer Qt (Учимся считать в уме или проект выходного дня) Наткнулся на посты, где очень бурно обсуждалась тема эффективного счета в уме Один, Два Тема заинтересовала и я начал искать программы и сервисы для тренировки В скором времени пришло осознание, что быстрее написать свое приложение, под свои хотелки и с кнопками где мне удо...

[Перевод] Философия CSS Привет всем! Пришло время сообщить, что мы рассчитываем еще до конца февраля выпустить новую книгу по CSS, которая рекомендуется всем, кто уже освоил Макфарланда (пока в наличии, ближайшую допечатку рассчитываем сделать в январе). Сегодня вам предлагается перевод статьи Ки...

Как взять сетевую инфраструктуру под свой контроль. Глава третья. Сетевая безопасность. Часть третья Эта статья является пятой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь. Эта часть будет посвящена Campus (Office) & Remote access VPN сегментам. Может показаться, что дизайн офисной сети...

Моделируем квантовую запутанность на C# Поскольку тема квантовой запутанности всплывает все чаще, захотелось немного углубиться. Судя по комментариям к статьям о квантовой запутанности, не мне одному будет полезна данная информация. Ну и, с учетом того что для большинства из нас программный код гораздо удобнее вся...

Как распродать NNN серверов в Нидерландах и не остаться с голым энтузиазмом: секреты распродаж Сегодня я бы хотел с Вами поговорить о распродажах. Так как я занимаюсь продажами и являюсь управляющим хостинг-провайдера в течении свыше 10-летнего периода — я накопил некоторый опыт и хотел бы поделиться им «без купюр». В статье я раскрою секреты больших распродаж, цели ...

Фото дня: Ультима Туле из пояса Койпера в формате 3D Национальное управление США по воздухоплаванию и исследованию космического пространства (NASA) представило объёмное изображение объекта Ультима Туле из пояса Койпера. С названным телом, напомним, в первый день текущего года сблизилась автоматическая станция «Новые горизонты»...

[Перевод] Учебный курс по React, часть 19: методы жизненного цикла компонентов В сегодняшней части перевода учебного курса по React вашему вниманию будет представлен обзор методов жизненного цикла компонентов. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структу...

Пишем чат бота для ВКонтакте на python с помощью longpoll. Часть вторая. Двойные циклы, исключения и прочая ересь Приветствую, Хабр. Эта статья является продолжением вот этой. Перед прочтением настоятельно рекомендую ознакомится с ней если вы этого не сделали ранее. Сегодня вы узнаете: Как получать более одного ответа, пусть и колхозно Как подключить к этому яндекс переводчик И как п...

Беспощадная автоматизация. Director's Cut Я хочу рассказать о своем опыте ускорения автоматизации в команде программистов, и о том, какие приемы мы применили на практике, и что из этого получилось. Начальные условия Наш эксперимент по ускорению работы программистов мы проводили в следующих условиях: это было террит...

UI-автотесты: как делать не стоит Здравствуй, Хабр. Меня зовут Виталий Котов, я работаю в отделе тестирования компании Badoo. Я пишу много UI-автотестов, но ещё больше работаю с теми, кто занимается этим не так давно и ещё не успел наступить на все грабли. Итак, сложив свой собственный опыт и наблюдения за...

[Перевод] Разъяснительная беседа об асинхронном программировании в Javascript Привет всем! Как вы, возможно, помните, еще в октябре у нас переводилась интересная статья о применении таймеров в Javascript. Она вызвала огромную дискуссию, по результатам которой мы давно хотели вернуться к этой теме и предложить вам подробный разбор асинхронного програм...

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

Теперь официально. За экстремизм в интернете отменяют уголовную ответственность (для первого раза) Теперь официально. Президент России Путин подписал закон о смягчении наказания по статье об экстремизме (282 УК РФ). По ней осуждены десятки российских пользователей, допустивших неосторожное сообщение, фотографию или репост в социальной сети. Документ опубликован на официал...

Песочница и шпаргалка по изучению Python Изучать Python3 я начал с документации на официальном сайте. Мне понравились примеры кода, но, к сожалению, они были там не интерактивными. Хотелось попробовать выполнить код самостоятельно, с разными входными данными и посмотреть на выводимый результат. Так же мне лично лег...

[Перевод] Почему программист должен уметь хорошо писать Здравствуйте все. В последнее время у нас получалось публиковать в блоге преимущественно узкоспециальные материалы, сильно связанные с исследованием рынка и формированием издательской политики. Полагаем, что в обозримом будущем пятничные публикации такими и останутся — нам ...

Методика испытаний пластиков. Теория. Часть 1 В первой части предлагаю на обсуждение методику испытаний филамента с целью определения предела прочности. Во второй части также будет методика по определению прочности, но уже на напечатанных образцах.[JUSTIFY]Подробнее...

Far Fields mic (Mic array) — незаметный герой в умной колонке Far Fields mic (Mic array) — незаметный герой в умной колонке. В этой статье я хочу рассказать о своем давнем увлечении — изучении и работе с far fields mic (mic array) — массивами микрофонов. Статья будет интересна увлекающимся построением своих голосовых помощников, она о...

[Перевод] 22 совета Angular-разработчику. Часть 2 Сегодня мы публикуем вторую часть перевода статьи, которая содержит набор рекомендаций для Angular-разработчиков. В предыдущей части были представлены 11 советов, в этой мы рассмотрим ещё столько же. Читать дальше →

BlueStacks 4: тестирование на слабом железе + комментарии разработчиков Вот так выглядит прошлогодний обзор BlueStacks 3 в среде эмулятора, в мобильном Chrome Я делал обзоры предыдущих версий BlueStacks, поэтому и мимо «четверки», которая вышла в октябре, пройти не смог. Тем более, что обещанных разработчиками изменений в самом деле много. ...

Пишем модуль ядра Linux: GPIO с поддержкой IRQ Хабр, привет! Данная статья посвящена разработке GPIO (General-Purpose Input/Output) модуля ядра Linux. Как и в предыдущей статье мы реализуем базовую структуру GPIO драйвера с поддержкой прерываний (IRQ: Interrupt Request). Читать дальше →

Обсуждение бесплатной лицензии PVS-Studio для проектов, размещённых на GitHub  Предлагаю вниманию прототип статьи под названием «Бесплатный PVS-Studio для всех, кто развивает открытые проекты на GitHub». Прошу подойти к данной теме конструктивно и высказывать предложения и критику по делу. Интересно мнение, насколько предложенный вариант разумен и уд...

Dream team из ничего: найм специалистов в IT Всем привет! Как и обещал, продолжаю публикации о менеджменте в IT. В предыдущей статье я рассказал, что значит быть Team Leader. Но какой же тим лид без команды? Сегодня же о том, как можно набирать классных людей, не имея больших ресурсов, и когда о вас никто не знает. ...

Как машинное обучение в YouDo катится в продакшен. Лекция в Яндексе В крупных сервисах решить какую-нибудь задачу с помощью машинного обучения — означает выполнить только часть работы. Встраивать ML-модели не так уж просто, а налаживать вокруг них CI/CD-процессы еще сложнее. На конференции Яндекса «Data & Science: программа по заявкам» р...

Прерывания от внешних устройств в системе x86. Эволюция контроллеров прерываний В данной статье хотелось бы рассмотреть механизмы доставки прерываний от внешних устройств в системе x86 и попытаться ответить на вопросы: — что такое PIC и для чего он нужен? — что такое APIC и для чего он нужен? Для чего нужны LAPIC и I/O APIC? — в чём отличия APIC, xA...

Целостность данных в микросервисной архитектуре — как ее обеспечить без распределенных транзакций и жесткой связности Всем привет. Как вы, возможно, знаете, раньше я все больше писал и рассказывал про хранилища, Vertica, хранилища больших данных и прочие аналитические вещи. Сейчас в область моей ответственности упали и все остальные базы, не только аналитические, но и OLTP (PostgreSQL), и N...

«Высокий уровень самодисциплины». Джеффри Рихтер о том, как кодить, писать книги и создавать свои компании Сегодня в нашей виртуальной студии один из самых известных дотнетчиков — Джеффри Рихтер. В данный момент он — Partner Software Architect в Microsoft, работающий по направлению Distributed Cloud Apps & Storage. Иначе говоря, человек, который знает об Azure Storage всё....

Приложение для iOS и Android на Kotlin + Flutter UI Вступление Всем привет. Какое-то время назад, я решил делать свой проект для Android и iOS одновременно. Естественно, встал вопрос о выборе технологий. Пару недель присматривался к популярным стекам и выбрал Kotlin/Native. Поскольку я являюсь Android-разработчиком, то с Ko...

Восстановление данных из пустого места Привет Хабр. В новогодние каникулы появилась возможность написать об интересном случае (хотя подобных кейсов у нас в DATALABS не мало). А интересен он тем, что из полностью обнулённой USB флешки, мы удачно восстановили данные. Если интересно как? Добро пожаловать под кат…...

BEERBRAZZERS. Управление светом. Vixen Lights 3. Быстрый старт(1/4) Добрый вечер, дамы и господа! Всем доброго здравия и хорошего настроения желаю! Сейчас я начну цикл из десятка статей, посвящённых разработке пивоварни «BEERBRAZZERS». Относиться к этому циклу серьёзно — не рекомендуется. Это всё по фану и, как говорится, чисто ради веселья....

[Из песочницы] Операционные vs аналитические базы: колоночное vs построчное хранение данных Базы данных можно реализовать с помощью Excel, GSheet или при помощи больших ORM систем. В своей практике бизнес-аналитика я сталкивался с разными решениями. А поскольку в бизнес-анализ я пришёл из финансов и аудита, то каждый раз встречая новую систему задавался вопросами —...

A1: 2017 – Injections (Часть 2) В прошлой статье я предположил, что читатель знает, как устроен язык запросов SQL в подробностях, а также механизм работы протокола HTTP. Но это, как правило, не так. И я сразу вспомнил историю, описанную в одной из моих любимых книг «Недоверчивые умы» Роба Бразертона. В ней...

Антирейтинг 2018 Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2018 год, точнее, начиная с индекса 345000. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы, в бо...

История про DDR3, SPD и оригинальных китайских производителей В данной статье я расскажу, как патчил SPD на ноутбучной плашке памяти, в связи с оригинальной причиной, никак не связанной с тем что у меня оказался старый MacBook, а наоборот, появился новый компьютер и новая планка памяти (оба от 11.2018), и к каким танцам с бубном это вс...

SDK тебе, SDK мне, SDK всем! Как делать SDK и зачем это нужно Всем привет! Наша компания делает сервис для хранения и обработки данных с промышленных устройств (насосы, буры и прочая промышленная техника). Мы храним данные наших клиентов и предоставляем функционал для их анализа: построение отчетов, графиков и еще много чего. И в ход...

SamsPcbGuide, часть 9: Гальваническая изоляция, безопасность и печатные платы Данная статья продолжает рассмотрение вопроса, поднятого @olartamonov, а именно, обеспечение безопасности в высоковольтных приложениях. В статье будут рассмотрены физические основы пробоя диэлектриков, а также новый стандарт безопасности. Читать дальше →

[Из песочницы] Оптимизация сайта для GooglePage Speed (учтены все особенности после его обновления) Эта статья будет интересна, кто столкнулся с разного рода проблемами после обновления Google PageSpeed и претензиям со стороны заказчиков или начальника, почему упал бал или возникло такое количество замечаний. А так же тем, кто производит оптимизацию сайтов. В первую очеред...

Методика D.I.Y. проекта. Часть вводная Данная статья написана радиолюбителем, имеющим опыт руководства проектами по разработке и постановке на производство сложной радиоэлектронной аппаратуры. Цель данной статьи: помочь энтузиастам в организации их проектной деятельности, а также обозначить различия в подходах ...

На ранней Луне могли быть вода, атмосфера и жизнь Сегодня наша Луна необитаема и абсолютно безжизненна. У неё практически нет атмосферы, отсутствует жидкая вода, нет магнитосферы для защиты поверхности от солнечного ветра и космической радиации. Предположить наличие жизни на Луне даже в далёком прошлом кажется очень смелы...

[Перевод] [Иллюстрированное] Руководство по устройству сети в Kubernetes. Часть 3 Прим. перев.: Эта статья продолжает цикл материалов о базовом устройстве сетей в Kubernetes, что описывается в доступной форме и с наглядными иллюстрациями (впрочем, конкретно в этой части иллюстраций уже практически не оказалось). Переводя две предшествующие части этого цик...

Методы удержания игроков: примеры из игр различных жанров Меня зовут Оксана Фомина, я анализирую поведение пользователей и увеличиваю доходы игры, в том числе за счет повышения удержания игроков. В первой части статьи «МЕТОДЫ УДЕРЖАНИЯ ИГРОКОВ В СЛОТ-ИГРАХ: Часть 1» я рассмотрела применение методов удержания игроков на примере сло...

[Перевод] Обязательный чек-лист разработки UX-дизайна мобильного приложения От переводчика: Эта статья изначально была опубликована сооснователем компании Django Stars Романом Гапоновым в его англоязычном блоге на Medium. Мы сделали перевод этого обзора главных UX-нюансов мобайла и представляем его вашему вниманию. Статья поможет разработчикам,...

Суровая сибирская JVM: большое интервью об Excelsior JET Недавно мы писали о том, на какие ухищрения пошла Alibaba, чтобы сделать себе жизнь с OpenJDK более приемлемой. Там были комментарии вроде «оказывается, пока мы тут страдаем с обычной джавой, китайцы уже сделали себе свою особенную». Alibaba, конечно, впечатляет — но и в Рос...

[Перевод] Вся правда об ОСРВ. Статья #6. Другие сервисы ОСРВ В предыдущих статьях мы обсуждали функциональность ядра с точки зрения выполняемых задач и взаимодействия между ними. В этой статье мы рассмотрим, что еще может делать ядро, что в значительной степени проявляется в ряде других доступных вызовов API. Мы также ответим на воп...

Конкурс, новые курсы и фичи (осенние новости Хекслета) Привет! Хекслет вернулся на Хабр! В прошлых публикациях мы писали о своих курсах по программированию, переводили интересные статьи и выкладывали публичные собеседования джуниоров. Продолжаем! иллюстрация из курса «Основы командной строки» Вот осенние новости. Конкурс истори...

[Перевод] Почему вам больше никогда не стоит использовать Quora 3 декабря сервис Quora объявил о том, что 100 млн пользовательских учётных записей оказались скомпрометированы, включая и такую их персональную активность, как минусы за комментарии и личные сообщения, благодаря действиям «злонамеренных третьих лиц». Утечки данных – раздр...

Splunk Universal Forwarder в докере как сборщик системных логов Splunk является одним из нескольких наиболее узнаваемых коммерческих продуктов для сбора и анализа логов. Даже сейчас, когда продажи в России больше не производятся, это не повод не писать инструкции/how-to по этому продукту. Читать дальше →

Проверяем исходный код Roslyn Время от времени мы возвращаемся к проектам, которые уже проверяли ранее с помощью PVS-Studio и писали про это статьи. Делать это интересно по двум причинам. Во-первых, чтобы понять, насколько лучше стал наш анализатор. Во-вторых, чтобы отследить, обратили ли авторы проекта...

[Перевод] Разработка Adblock Radio tl;dr: Adblock Radio распознаёт аудиорекламу с помощью машинного обучения и Shazam-подобных техник. Основной движок с открытым исходным кодом: используйте его в своих продуктах! Можно объединить усилия для поддержки большего количества радиостанций и подкастов. Мало кому н...

Изучение английского — непопулярное мнение Всем привет. Очередная статья от «курсов изучения английского» сподвигла меня написать свои заметки. Этой статьёй я надеюсь ответить на некоторые вопросы изучающих язык и отговорить от глупых советов «запомнить вот эти 10/15/20 слов/конструкций», которые подаются как некие ...

[Из песочницы] Разработка приложения для старого КПК (Cybiko Xtreme) в 2019 году Введение Привет Хабр! Я хотел бы поделиться своим опытом написания приложения для очень старого карманного компьютера, который серьезно опередил свое время, а именно Cybiko Xtreme 2001 года выпуска. Тем, кому интересно как жилось мобильному разработчику в начале 2000-х, до...

Язык программирования Zig Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на шину C++, D и Rust. Посмотрел — язык показался симп...

[Перевод] 8 облачных анализаторов логов для оценки рабочей среды Увеличение количества устройств, повышение квалификационных требований, оптимизация процесса сбора данных необходимы для любого вида бизнеса. Анализ логов может дать вам реальное представление о том, что происходит в вашей информационной среде. Вот некоторые примеры, функцио...

Хабрарейтинг: построение облака русскоязычных слов на примере заголовков Хабра Привет Хабр. В последней части Хабрарейтинга был опубликован метод построения облака слов для англоязычных терминов. Разумеется, задача парсинга русских слов является гораздо более сложной, но как подсказали в комментариях, для этого существуют готовые библиотеки. Разбере...

MVCC-1. Изоляция Привет, Хабр! Этой статьей я начинаю серию циклов (или цикл серий? в общем, задумка грандиозная) о внутреннем устройстве PostgreSQL. Материал будет основан на учебных курсах по администрированию, которые делаем мы с Павлом pluzanov. Смотреть видео не все любят (я точно не л...

В каких приложениях ждать неизвестный вредоносный код? Сегодня просматривал статистику Wildfire и стало интересно по каким приложениям ходит неизвестный вредоносный код (zero-day) и как часто. На картинке приведена статистика по приложениям и частоте атак через это приложение. В первом столбце имя приложения. Во втором столбце у...

Веб-технологии для дизайнеров — возвращаю долг Есть у меня долг перед Хабром. Два года назад я написал статью «Веб-технологии для дизайнеров — зачем и как», а продолжение статьи так и не выпустил. И вот, наконец, я могу вернуть часть этого долга. Весь ноябрь по утрам и выходным я записывал обучающие видео про JS для ди...

[Перевод] Всё, что нужно знать о выравнивании во Flexbox Об авторе: Рэйчел Эндрю — не только главный редактор журнала Smashing Magazine, но и веб-разработчик, писатель и спикер. Она автор ряда книг, в том числе The New CSS Layout, один из разработчиков системы управления контентом Perch. Пишет о бизнесе и технологиях на своём сайт...

Метеостанция на Arduino от А до Я. Часть 3 Продолжение. Начало здесь. Центральный блок. Программное обеспечение Наконец мы подошли к самой трудной части для любого программиста — описать по-человечески что он там наваял. Исходный код для сервера составляет около 1300 строк, включая отступы, но это не должно вас пугат...

Apache Spark — достоинства, недостатки, пожелания Мне давно хотелось изложить свои впечатления об Apache Spark, и тут как раз попалась на глаза вот эта статья от сотрудника Pivotal Robert Bennett: thenewstack.io/the-good-bad-and-ugly-apache-spark-for-data-science-work, опубликованная совсем недавно, 26 июня 2018. Это не бу...

Карьерные стероиды. Реальные истории После публикации первых карьерных стероидов я начал получать много личных сообщений и писем. Люди рассказывали свои истории, делились успехами и неудачами, задавали вопросы. Я им чего-то отвечал, иногда забегая вперед и рассказывая о новых, еще не опубликованных стероидах. ...

[Перевод] Сканирование Live Ethereum контрактов на ошибку «Unchecked-Send». Часть 2 Продолжение статьи «Сканирование Live Ethereum контрактов на ошибку «Unchecked-Send». Часть 1». Почти год назад (в то время как Ethereum был в своем «пограничном» выпуске), популярный лотерейный контракт EtherPot [9] также пострадал от той же ошибки. Более ранняя версия BTCR...

ИИ в медицине: науки о жизни и открытие лекарств Привет, Хабр! Сегодня я покажу тебе свой перевод одного замечательного интервью с Александром Жаворонковым. Надеюсь тебе будет так же интересно читать, как и мне переводить. Читать дальше →

[Перевод] Учебный курс по React, часть 24: второе занятие по работе с формами Сегодня мы продолжим разговор об использовании форм в React. В прошлый раз мы рассматривали особенности взаимодействия компонентов и текстовых полей. Здесь же мы обсудим работу с другими элементами форм. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX →...

Неуловимый Космический Пират: спрячься в холодильнике от копов, победи в войне дроидов и плюнь Саурону в глаз Статья написана под ярким впечатлением поста «Пиратство в Космосе – Коварная Delta-V и Водородные Стелс-Пароходы — Часть 1» и является альтернативным взглядом на представленную вселенную. Мы будем часто обращаться к тому, что в нем написано и писать так, чтобы не было нужды ...

Ломаем простую «крякми» при помощи Ghidra — Часть 2 В первой части статьи мы при помощи Ghidra провели автоматический анализ простой программы-крякми (которую мы скачали с сайта crackmes.one). Мы разобрались с тем, как переименовывать «непонятные» функции прямо в листинге декомпилятора, а также поняли алгоритм программы «верх...

Kivy. Xamarin. React Native. Три фреймворка — один эксперемент Приветствую всех! Как только дым от жаркой дискуссии в комментариях к моей статье Kivy — фреймворк для кроссплатформенной разработки №1 осел, и среди прочих пробился достойный внимания комментарий, мы (Mirimon, SeOd), подумали, что было бы интересно и нам и читателям самост...

Собираем игровой ПК в 2019 году AliExpress, не пропусти: будет интересно Всем привет, сегодня мы попробуем собрать игровой ПК примерно за 20 000 рублей. Получится это или нет, судить только Вам. Не стесняйтесь и пишите в комментариях свои мысли. Итак, давайте начнем!

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

Создание игры «Like Coins» на Godot Engine. Часть 2 Я надеюсь вы заждались второй части статьи затрагивающей аспекты разработки игр при помощи "Godot Engine", на примере игры "Like Coins"? На повестке дня приготовлено много всего "вкусного" и "полезного". Сразу оговорюсь, что в этой статье мы завершим ранее начатую игру, нача...

[Перевод] Вся правда об ОСРВ. Статья #9. Планировщик: реализация Основные принципы работы планировщиков ОСРВ были рассмотрены в статье «Задачи и планирование». В настоящей статье мы рассмотрим возможности, которые предлагает Nucleus RTOS, а также более подробно те, которые предоставляет Nucleus SE. Читать дальше →

Ни GA, ни ЯМ. Свой кликстрим в Авито Мы собираем собираем более двух миллиардов аналитических событий в сутки. Благодаря этому можем узнать кучу необходимых вещей: нажимают ли на сердечки больше, чем на звёздочки, в какие часы пишут более развёрнутые описания, в каких регионах чаще промахиваются по зелёным кноп...

[Перевод] Модели Sequence-to-Sequence Ч.2 Всем привет! Вторая часть перевода, который мы разместили пару недель назад, в рамках подготовки к старту второго потока курса «Data scientist». Впереди ещё один интересный материал и открытый урок. А пока поехали дальше в дебри моделей. Модель нейронного перевода В то в...

[Перевод] Лямбды: от C++11 до C++20. Часть 1 Добрый день, друзья. Сегодня мы подготовили для вас перевод первой части статьи «Лямбды: от C++11 до C++20». Публикация данного материала приурочена к запуску курса «Разработчик C++», который стартует уже завтра. Лямбда-выражения являются одним из наиболее мощных дополнений...

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

[Перевод] AI, практический курс. Музыкальная трансформация на основе эмоций Это очередная статья в серии обучающих статей для разработчиков в сфере искусственного интеллекта. В предыдущих статьях и мы рассмотрели сбор и подготовку данных с изображениями, в данной статье мы продолжим обсуждение сбора и изучения музыкальных данных. Целью данного п...

Двухбуквенные домены в зоне .COM: кто, где, сколько Недавно Ename опубликовал своё исследование двухбуквенных доменных имён в зоне .СОМ. Благодаря этому мы можем узнать больше о самой престижной и дорогой категории доменов.Всего на текущий момент существует 676 двухбуквенных доменов в зоне .COM. Из них на 378 доменах (55,9%) ...

[Перевод] Функциональное мышление. Часть 7 Продолжаем нашу серию статей о функциональном программировании на F#. Сегодня у нас очень интересная тема: определение функций. В том числе, поговорим об анонимных функциях, функциях без параметров, рекурсивных функциях, комбинаторах и многом другом. Заглядывайте под кат! ...

Анатомия рекомендательных систем. Часть вторая Неделю назад я делал здесь обзор существующих алгоритмов рекомендаций. В этой статье я продолжу данный обзор: расскажу об item-based варианте коллаборативной фильтрации, о методах, основанных на матричных разложениях, проблемах тестирования, а также о менее «раскрученных» (н...

Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов, много исследований и рассуждений об их будущем и о том, куда это все движется и приведет нас. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контрак...

[Из песочницы] Обширный обзор собеседований по Python. Советы и подсказки Всем привет! Кратко о себе. По образованию я математик, а вот по профессии — программист. В сфере разработки с 2006 года. Хотя, поскольку программирование начали изучать ещё в школе, свои первые программки и игры я начал писать ещё в школе (примерно, с 2003). Так сложилось, ...

Как взять сетевую инфраструктуру под свой контроль. Оглавление Оглавление для всех статей цикла «Как взять сетевую инфраструктуру под свой контроль» и ссылки. На данный момент опубликовано 5 статей: Глава 1. Удержание Глава 2. Чистка и документирование Глава 3. Сетевая безопасность. Часть первая Глава 3. Сетевая безопасность. Часть в...

Как мы делали первый российский смартфон, продолжение Итак, на дворе 19 октября 2012 года, наш трюк с прототипом удался и нужно срочно запускать разработку и производство настоящего смартфона. И к марту выдать заказчику партию в 400 штук. Краткое содержание первой частиВ принципе, можно и не читать первую часть, потому что во...

Пранкерам удалось опубликовать статью о межгалактических паразитах из «Рика и Морти» в нескольких научных журналах Некоторые научные журналы, несмотря на заявления о рецензировании статей и кажущуюся серьезность, готовы опубликовать любую ахинею научную статью за деньги автора — обычно такие журналы за их методы работы называют «хищническими». Чтобы разоблачать такие журналы, у...

[Из песочницы] Обзор R пакетов для интернет маркетинга, часть 1 Всем привет, если вы занимаетесь интернет маркетингом наверняка вам ежедневно приходится сталкиваться со множеством рекламных сервисов и как минимум одной платформой веб аналитики, если вам требуется хотя бы раз в месяц, или может быть даже раз в неделю руками сводить данные...

Использование QML Map для построения воздушных трасс — Часть 1 Уже довольно долго использую QML для построения графических интерфейсов, но возможности поработать в реальном проекте с Qt Location API и QML Map, до настоящего времени, не было. Поэтому стало интересно попробовать эту компоненту для построения воздушных трасс. Под катом оп...

[Из песочницы] Etherblade.net — opensource проект по созданию инкапсулятора ethernet-трафика на FPGA (часть первая) Сразу хочу оговориться, что эта статья не только подразумевает пассивное чтение, но и приглашает всех желающих присоединяться к разработке. Системные программисты, разработчики железа, сетевые и DevOps инженеры — добро пожаловать. Поскольку проект идет на стыке сетевых те...

[Из песочницы] Вторая жизнь электродуховки «Харьков» Всем привет. Не буду делать долгие и лирические вступления о том как коротка и жестока судьба бытовой техники. То что еще вчера воспринималось как последнее достижение прогресса, сегодня уже будет привычной частью среднестатистического домохозяйства, а завтра будет просто в...

На первом живом фото Nubia Z18 виден небольшой вырез в экране Про смартфон Nubia Z18 мы писали неоднократно. В начале лета появились сведения о том, что он получит вырез в верхней части дисплея как у Essential Phone, а не как у iPhone X. Затем источники опубликовали новое изображения, на котором смартфон был лишен какого-либо выре...

Для чего хакерам Микротик и как я спрятал 100 тыс. RouterOS от ботнета RouterOS очень мощный инструмент в руках профессионалов и ответственных специалистов. Но в руках новичков или тех, кто делает всё на «и так сойдёт» Mikrotik начинает жить своей жизнью и превращается в ноду ботнета. Ещё в мае 2018 я писал статью с рекомендациями как защитить...

[Из песочницы] Решение RIPE и его последствия по исключению двух российских LIR (Netup, gcxc.net) На прошедшей неделе RIPE NCC разослал письма клиентам Netup о том, что их LIR исключён из RIPE NCC и они должны найти себе нового LIR или получить статус LIR самостоятельно. Само письмо было опубликовано в чате ENOG (копия на pastebin). Краткая выдержка из письма: We would l...

Дома ФИАС в среде PostgreSQL Предыдущая статья с описанием адресов ФИАС и функций для работы с ними в среде PostgreSQL вызвала интерес у небольшой части читателей. Поэтому имеет смысл описать аналогичные функции на языке PL/pgSQL для работы со списком домов ФИАС, загруженным в базу данных под управлен...

«Storytelling with Data», Cole Nussbaumer Knaflic: неформальный обзор-конспект книги «Наши сайнтисты сгенерировали кучу графиков, а мы совершенно не знаем, куда их девать. Давайте попробуем их хоть как-то пристроить». (с) подслушано «Плохие графики везде. В моей работе я постоянно встречаю крайне сомнительные визуализации данных. Никто не делает плохие граф...

[Перевод] Пишем операционную систему на Rust. Реализация страничной памяти (новый вариант) В этой статье разберёмся, как реализовать поддержку страничной памяти в нашем ядре. Сначала изучим различные методы, чтобы фреймы физической таблицы страниц стали доступны ядру, и обсудим их преимущества и недостатки. Затем реализуем функцию преобразования адресов и функцию ...

Модуль подводного ультразвукового дальномера. Часть вторая В первой части мы описали процесс разработки тестового варианта модуля подводного дальномера. Пришло время поделиться информацией о второй версии модуля, поскольку заявленные в первой статье предполагаемые изменения мы реализовали. Читать дальше →

Хабраутилита для сбора хабрастатистики в хабраблогах Новый год — время подводить итоги. И если вы ведёте блог на хабре, или вам интересно посмотреть статистику по чьему-нибудь чужому блогу — то вам может пригодиться моя опенсорсная утилитка. Читать дальше →

Burger King: тайная слежка, ложь, хищение банковских карт. Продолжение Оригинал статьи — в моём блоге. Вступление Первое расследование о приложении Burger King создало резонанс в СМИ, а также оказалось в топе Пикабу, TJournal, и Хабрахабр. Как выяснилось — людям небезразличен шпионаж за ними. Расследование понравилось и хакерам. С момента публи...

Наказывают ли в России за незаконную торговлю персональными данными? Наверное, уже весь Хабр знает, что наши персональные данные давно и успешно стали объектом законной и незаконной торговли. Про рынок банковской информации, данных мобильных операторов и госорганов я писал тут в статье: «Анализ цен черного рынка на персональные данные и проби...

Компонентная архитектура UI в iOS-приложении Привет, Хабр! Меня зовут Валера, и уже два года я разрабатываю iOS-приложение в составе команды Badoo. Один из наших приоритетов — легкосопровождаемый код. Из-за большого количества новых фич, еженедельно попадающих к нам в руки, нам нужно в первую очередь думать об архит...

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

Электронная игра XO Приветствую, Хабр! Как Вы уже догадались по фотографии, речь сегодня пойдет не о классификации коньяка. Я буду делать игру крестики-нолики… Кому интересно – прошу под кат -> Читать дальше →

Изучаем азотные лазеры — часть 2. Лазеры продольного разряда В прошлой части мы рассмотрели примеры самодельных и заводских конструкций азотных лазеров с поперечным разрядом, и именно эта топология стала наиболее популярной для повторения самодельщиками. И вот какие её достоинства: 1. Простота. Как сказано выше, во многих случаях впо...

Бесшовный клиент-сервер Любой клиент-серверный проект подразумевает четкое разделение кодовой базы на 2 части (иногда больше) — клиентскую и серверную. Зачастую, каждая такая часть оформляется в виде отдельного независимого проекта, поддерживаемого своей командой девелоперов. В этой статье я пред...

[Перевод] О 3D-графике простыми словами Часть 1. Введение Привет меня зовут baldurk. Я уже несколько лет работаю программистом графики, поэтому хоть я и не в коем случае не являюсь экспертом, кажется, я уже многое понимаю во всём том, что касается работы с графикой. Идея этой серии постов уже давно витала где-то ...

Эволюция программного проекта и ООП Осваивая рецепты эффективного развития программного проекта, постарался для себя найти причины, делающие полезным использование принципов развития архитектуры SOLID (статья Как не понимать принципы развития архитектуры SOLID). Анализ этих принципов позволил выделить несколь...

Actions on Google: пишем простое приложение для Google Ассистента на Dialogflow и Cloud Functions for Firebase В конце прошлого месяца состоялся официальный релиз Google Ассистента на русском языке, так что самое время разобраться, как делать свои приложения (экшены) для Ассистента на стандартном технологическом стеке Google. В этой статье мы рассмотрим создание экшена в Actions on G...

[Перевод] Реверс-инжиниринг рендеринга «Ведьмака 3» Первая часть перевода находится здесь. В этой части мы поговорим об эффекте резкости, средней яркости, фазах Луны и атмосферных явлениях во время дождя. Часть 6. Sharpen В этой части мы подробнее рассмотрим ещё один эффект постобработки из The Witcher 3 — Sharpen. Sharpeni...

[Перевод] Эффективное управление транзакциями в Spring Всем добрый день! Что ж, конец месяца у нас всегда интенсивные, вот и тут остался всего день до старта второго потока курса «Разработчик на Spring Framework» — замечательного и интересного курса, который ведёт не менее прекрасный и злой Юрий (как его называют некоторые студ...

Как стать разработчиком игр, если ты риелтор Добрый день, Хабр. Два года и несколько месяцев назад, я написал здесь своей первый и единственный пост, как, не имея никакого опыта разработки игр, я создал свое первое android-приложение. Пусть и потратил на это весь свой тогдашний отпуск. Хотя игрой это было и сложно наз...

Начни с себя, или 60 дней Kubuntu В продолжении предыдущей статьи «Как Prius, но только на Linux» мне хотелось бы рассказать о собственном опыте смены рабочей среды. Перед тем как переводить офисные рабочие станции, всегда лучше ставить эксперименты на себе. И я решил поставить себе Linux на пару месяцев. В...

Javascript. Дилетант – дилетантам: Урок первый В статье мы рассмотрим азы работы со сценариями Javascript в среде HTML Введение Привет! Вы когда-нибудь задумывались о том, чтобы начать программировать? Лично я с детства мечтал научиться писать свои программы и игры. В последнее время во мне возник бурный интерес...

Опубликовано фото готового космического корабля Starship В прошлые выходные Илон Маск (Elon Musk) опубликовал компьютерное изображение, дающее представление о том, как будет выглядеть экспериментальный экземпляр космического корабля Starship. Вчера был опубликован снимок готового корабля, сооруженного в южной части Техаса, не...

[Перевод] Полное руководство по useEffect Вы написали несколько компонентов с использованием хуков. Возможно — даже создали небольшое приложение. В целом результат вас вполне устраивает. Вы привыкли к API и в процессе работы обнаружили несколько неочевидных полезных приёмов. Вы даже создали несколько собственных хук...

TMC2208 v2 UART Всем доброго времени суток! На форуме не нашёл описания включения режима UART с картинками, надо исправить.Стал я обладателем драйверов TMC2208 v2. Тихие…, но вредные! При больших ускорениях идут пропуски шагов, в стандартном режиме слабое удержание, как мне кажется. И решил...

LQR оптимизация систем управления Введение На Habr были опубликованы несколько статей [1,2,3], прямо или косвенно касающиеся указанной темы. В связи с этим, нельзя не отметить публикацию [1] с названием “Математика на пальцах: линейно-квадратичный регулятор”, которая популярно поясняет принцип работы оптимал...

[Перевод] Функциональное мышление. Часть 11: Финал Сегодня мы заканчиваем нашу серию статей о функциональном программировании. Получилось 11 частей. Я считаю, что это достижение. В этой статье реализуем простой стековый калькулятор (также известный как "обратная Польская нотация"). Реализация практически полностью построена ...

[recovery mode] Кейс: слезаем с иглы контекстной рекламы на бесплатный SEO-трафик Данный кейс можно разделить на 2 части. Первая часть короткая – в ней суть. Вторая часть – подробности работы. У кого есть опыт в сфере – могут ознакомиться только с первой частью. Тем, кому интересны детали (кому-то покажутся очевидными и банальными) – для вас вторая часть....

С новым годом, с новым MQTT/UDP Привет. Как я уже писал недавно (Первая краткая статья о MQTT/UDP), MQTT/UDP — протокол на базе MQTT, но: Ходит поверх UDP broadcast (не нужен брокер, почти не нужна конфигурация) До неприличия простой в реализации (10 строк на си + UDP/IP стек — и вы отправляете данные с...

ЧПУ в хоббийной мастерской (часть 2) → Первая часть В статье рассмотрим стандартное и нестандартное использование CNC-роутера. Для чего кроме вырезания деревянных картинок можно приспособить такой станок. Осторожно, трафик. Читать дальше →

Управляем стоимостью проекта с Earned Value Management Как измерять и контролировать эффективность исполнения планов проектов — такие вопросы являются постоянной головной болью их руководителей. Подходов к решению этих задач много. В данной статье мы рассмотрим основные элементы техники по управлению освоенным объемом (Earned Va...

Fake Door как часть Customer Development У меня есть нож, есть арбалет, Они служат мне уже тысячу лет. (с) КиШ Предположим, вам надо проверить насколько новая фича будет востребована клиентами. Зачастую, это решается с помощью интервьюирования, опросов, и т.д. У этих замечательных подходов есть свои плюсы/минусы...

Итоги и прогнозы Год близится к завершению. Специально обученные люди подводят итоги, делают прогнозы. Сайт SysAid, например, предлагает подборку пяти основных трендов ITSM и прогноз на 2019 («5 ITSM Trends and Predictions for 2019»). Некоторые из признанных авторами статьи наиболее примечат...

Реализация Spring Framework API с нуля. Пошаговое руководство для начинающих. Часть 1 Spring Framework является одним из самых сложных фремворков для понимания и изучения. Большинство разработчиков изучают его медленно, через практические задачи и гугл. Этот подход не эффективен, так как не даёт полной картины и при этом требует больших затрат. Я хотел бы ...

[Перевод] Делаем проект по машинному обучению на Python. Часть 3 Перевод A Complete Machine Learning Walk-Through in Python: Part Three Многим не нравится, что модели машинного обучения представляют собой чёрные ящики: мы кладём в них данные и безо всяких объяснений получаем ответы — часто очень точные ответы. В этой статье мы постарае...

Красота НЕ-безымянных функций в JavaScript Анонимные стрелочные функции в JavaScript, согласно некоторым опросам — самая популярная фича ES-2015, что также подчеркнуто исчерпывающим числом туториалов в интернете. Они бесспорно очень полезны, но в этой небольшой статье мы рассмотрим примеры использования обделенных в...

[Из песочницы] Создание Android приложения с использованием Anko Layouts и Anko Coroutines Примерно год назад я начал использовать Kotlin в своих Android проектах. Мне хотелось попробовать что-то новое, что было бы интересно изучать. Тогда я и наткнулся на Anko. К тому времени писать UI на xml порядком осточертело. Мне всегда нравилось писать интерфейс руками, не...

Пишем краулер на раз-два 1.0 Веб-краулер (или веб-паук) — это важная составная часть поисковых систем для обхода веб-страниц с целью занесения информации о них в базы данных, в основном, для их дальнейшей индексации. Такая штука есть у поисковиков (Google, Yandex, Bing), а также у SEO-продуктов (SEMrush...

Теория счастья. Головокружительный полёт бутерброда с маслом Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознаннос...

Особенности оконной фильтрации на ПЛИС Всем привет! В этой статье речь пойдет об одной важной части цифровой обработки сигналов — оконной фильтрации сигналов, в частности на ПЛИС. В статье будут показаны способы проектирования классических окон стандартной длины и «длинных» окон от 64K до 16M+ отсчетов. Основной...

Собственный VPN клиент на JavaScript. 1 часть — Вводная Приветствую, Хабр. Наконец пришло время написать еще одну статью, которую я задумал довольно давно, и необходимость в написании которой я особенно остро ощущаю с тех пор, как 26 октября этого года решил снова взяться за один незаслуженно забытый проект. Поскольку сам я...

SmartData 2018: Первая отменённая конференция JUG.ru Group Мы множество раз рассказывали на Хабре о том, какие IT-конференции проведём. А теперь впервые за историю этого блога сообщаем, что уже анонсированная конференция не состоится. Несмотря на то, что мы уже пригласили спикеров, забронировали площадку, сделали дизайн и поработа...

Прямая линия с ТМ. v4.0 Привет Хабр! Сегодня последняя пятница ноября, а значит самое время зарплаты пообщаться в комментариях в формате «Вопрос-Ответ» :) Четвёртая прямая линия — пишите, не стесняйтесь, постараемся оперативно отвечать. Но для начала — традиционно небольшой чейнджлог. В этом мес...

Опубликовано фото готового космического корабля Starship В прошлые выходные Илон Маск (Elon Musk) опубликовал компьютерное изображение, дающее представление о том, как будет выглядеть экспериментальный экземпляр космического корабля Starship. Вчера был опубликован снимок готового корабля, сооруженного в южной части Техаса, н...

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

[Перевод] Как добавить остроты лезвию с помощью плазменной дуги? Если я сейчас спрошу вас, какую технологию вы хотели бы увидеть из фильмов и книг о научной фантастике, предполагаю, что большинство из вас ответит — плазменные мечи из Звёздных Войн. Согласитесь, есть что-то в том, чтобы лёгким нажатием кнопки высвобождать клинки ярких цвет...

typeof Everything и утиные недоразумения Каждый, использующий в каких бы то ни было целях замечательный JavaScript, задавался вопросом: мол а почему typeof null — это "object"? typeof от функции возвращает "function", но от Array — "object"? а где же getClass у ваших хваленых классов? И хотя на большую часть легко...

Модернизация IDA Pro. Исправляем косяки процессорных модулей Привет всем, Спустя довольно-таки продолжительное время с момента написания первой статьи я всё-таки решил, пусть и по чуть-чуть, но писать статьи на тему модификации/улучшения IDA Pro. В этой статье пойдёт речь о том, как правильно исправлять косяки в тех процессорных моду...

[Перевод] 26 рекомендаций по использованию типа var в Java The Java Local Variable Type Inference (LVTI) или кратко — тип var (идентификатор var — это не ключевое слово, а зарезервированное имя типа) был добавлен в Java 10 с помощью JEP 286: Local-Variable Type Inference. Являясь 100% функцией компилятора, она не влияет на байт-код...

Задачи и решения для бойца PostgreSQL Приветствую всех любителей SQL! В интернете я редко встречал статьи, которые охватывают разные рабочие моменты и тонкости, связанные с обработкой данных в SQL. Мне нравится, когда из одной статьи можно почерпнуть сразу много всего, пусть даже в общих чертах. Поэтому решил ...

[recovery mode] Небольшое исследование свойств простой U-net, классической сверточной сети для сегментации Cтатья написана по анализу и изучению материалов соревнования по поиску корабликов на море. Попробуем понять, как и что ищет сеть и что находит. Статья эта есть просто результат любопытства и праздного интереса, ничего из нее в практике не встречается и для практических з...

Информационная безопасность банковских безналичных платежей. Часть 6 — Анализ банковских преступлений (с) МВД России. Фрагмент записи с камер наблюдения в момент кражи денег из банкомата Ссылки на другие части исследования Информационная безопасность банковских безналичных платежей. Часть 1 — Экономические основы. Информационная безопасность банковских безналичных платежей...

Язык программирования Rockstar: когда код выглядит как тексты Metallica Словосочетание «rockstar developer» заставляет некоторых морщиться: «вот же глупый рекрутерский баззворд, среди самих разработчиков никто так себя не называет». В России оно встречается не так часто, а вот в англоговорящих странах многим уже надоело. И особенно остро его з...

[Перевод] Руководство по Node.js, часть 9: работа с файловой системой Сегодня, в девятой части перевода руководства по Node.js, мы поговорим о работе с файлами. В частности, речь пойдёт о модулях fs и path — о файловых дескрипторах, о путях к файлам, о получении информации о файлах, об их чтении и записи, о работе с директориями. [Советуем ...

Правда про парсинг сайтов, или «все интернет-магазины делают это» В этой статье я постараюсь наиболее просто рассказать о парсинге сайтов и его основных нюансах. Моя компания занимается парсингом сайтов уже более трёх лет и ежедневно мы парсим около 300 сайтов. Я обычно открыто пишу об этом в соц.сетях (плюс мы много чего из итогов парсинг...

[Из песочницы] Vuex — чрезмерное использование геттеров в приложении. Разбор ошибки В этой статье пойдет речь об распространенной ошибке, которую делают большинство начинающих при разработке приложения на Vue + Vuex. Мы поговорим о геттерах (getters) и как их правильно использовать. Также мы рассмотрим вспомогательные функции mapState и mapGetters. Примеча...

DomainTools обработал данные о миллиарде доменов Недавно статистический ресурс DomainTools сообщил о том, что он обработал данные о миллиарде когда-либо существовавших доменных имен.Разумеется, в них входят не только действующие, но и удаленные домены. Лидером по количеству удаленных имен является зона .COM. В ней было уда...

5 лайфхаков оптимизации SQL-запросов в Greenplum Любые процессы, связанные с базой, рано или поздно сталкиваются с проблемами производительности запросов к этой базе. Хранилище данных Ростелекома построено на Greenplum, большая часть вычислений (transform) производится sql-запросами, которые запускает (либо генерирует и...

[Перевод] AMD Radeon VII: рывок в High-End (часть 3) Часть 1 >> Часть 2>>Часть 3 Производительность вычислений Пожалуй, достаточно об играх. Рассмотрим вычислительные аспекты Radeon VII. Хотя он в основе своей похож на Vega первого поколения, вокруг него много шума об улучшенной вычислительной мощности Vega 20. По...

[Перевод] Руководство по Node.js, часть 8: протоколы HTTP и WebSocket Node.js — это серверная платформа. Основная задача сервера — как можно быстрее и эффективнее обрабатывать запросы, поступающие от клиентов, в частности — от браузеров. Восьмая часть перевода руководства по Node.js, которую мы публикуем сегодня, посвящена протоколам HTTP и We...

Теория счастья. Закон зебры и чужой очереди Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознаннос...

Серверные системы аналитики Это вторая часть цикла статей об аналитических системах (ссылка на часть 1). Сегодня уже не вызывает сомнений, что аккуратная обработка данных и интерпретация результатов могут помочь практически любому виду бизнеса. В связи с этим аналитические системы становятся все бол...

Как мы делали БелАЗ. Часть 1 – Железо Наверное, все знают, что большие карьерные самосвалы имеют электромеханическую трансмиссию (уже с 1968 года): ДВС вращает генератор, энергия от которого приводит в движение тяговые электродвигатели в задних колесах самосвала. В интернете можно найти много обзорных статей и ...

[Перевод] Столетний холивар: Креативность против юзабилити «Я художник, я так вижу!»«Интернет страдает от отсутствия разумной стандартизации.» Подключаемся к холивару. А вы за кого? Недавно на Medium было опубликовано мое противоречивое эссе. Почему все веб-сайты выглядят одинаково? (aka «О визуальной усталости паутины»). Эссе «х...

Модернизация IDA Pro. Учимся писать загрузчики на Python Привет всем, цикл статей по написанию разных полезных штук для IDA Pro продолжается. В прошлый раз мы исправляли процессорный модуль, а сегодня речь пойдёт о написании модуля-загрузчика (лоадера) для одной винтажной операционной системы, а именно — для AmigaOS. Писать будем...

С таблицей Менделеева по жизни 2019 год провозглашен Генеральной ассамблеей ООН (A/RES/72/228) и одобрен Генеральной конференцией ЮНЕСКО (39 C/60) Международным годом Периодической таблицы химических элементов в честь 150-летия открытия Периодического закона химических элементов Д.И. Менделеевым. В 1869 г...

MeW HPM. Развитие идеи Пару лет назад назад я публиковал статью о довольно интересном прототипе устройства, аппаратном менеджере паролей. На тот момент я смутно представлял, что я вообще хочу от такого гаджета. Изначально устройство вообще было предназначено для хранения десятка наиболее использ...

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

[Из песочницы] Решаем логическую задачу для школьников на SQL Все началось с очередного скрина в группу whatsap со следующим содержанием (оригинал не на русском языке, но это не важно): Сумма возрастов Саши, Пети и Вити 67 лет. Когда Витя был в возрасте Саши оставалось еще 3 года до рождения Пети. Какова сумма возрастов Саши и Пети? ...

Red Hook Studios анонсировали продолжение хардкорной RPG Darkest Dungeon 2, пока только на ПК Red Hook Studios, прославившиеся мрачной RPG с элементами рогалика Darkest Dungeon, которая выходила и на iOS, анонсировали вторую часть. Разработчики не делились планами относительно мобильной версии, но и первая изначально вышла только для ПК, так что почти наверняка сикве...

[DotNetBook]: Span, Memory и ReadOnlyMemory Этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. За ссылками — добро пожаловать по кат. Memory<T> и ReadOnlyMemory<T> Визуальных отличий Memory<T> от Span<T> два. Первое — ти...

Уязвимости EOS Blockchain на ZeroNights 2018 В рамках данной статьи будут рассмотрены несколько реальных уязвимостей в EOS blockchain (одном из конкурентов Etherum) и то, как они были встроены в конкурс New-Generation Secure Slot Machine на ZeroNights 2018. Если вам интересно познакомиться с тем, как обстоят дела с б...

Конференция Lua in Moscow 2019 В первое воскресенье марта в офисе Mail.ru Group пройдёт третья международная конференция Lua in Moscow 2019. Вас ждут выступления автора языка Роберто Иерусалимского и лучших зарубежных и отечественных экспертов по Lua и LuaJIT. Lua — уникальный язык программирования, ко...

[Перевод] Reflective Shadow Maps: Часть 2 ― Реализация Привет, Хабр! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации. Рисунок 1: Слева направо: бе...

[Из песочницы] Делаем ST-Link V2.1 из китайского ST-Link V2 Привет, Хабр! В данной статье расскажу как модифицировать ST-Link V2 до ST-Link V2.1. Возможно для кого-то это не будет новостью, но особой инфы по данной теме в инете не нашел. Кому интересно — прошу под кат. Читать дальше →

[Из песочницы] Как не надо писать шаблоны для bootstrap Мало кто сейчас пишет дизайн сайта с нуля — зачем, если есть куча замечательных CSS фреймворков? Наиболее популярен среди них bootstrap. Тем не менее, всем хочется, чтобы сайт выглядел уникально, не так как у других — поэтому поверх часто втыкают(в меру возможностей) бесплат...

SamsPcbGuide, часть 7: Трассировка сигнальных линий. Дифференциальные пары Это седьмая статья из цикла и заключительная в блоке, посвящённом трассировке сигнальных линий. Дальше есть идея развивать проект и выходить на руководство по проектированию печатных плат в виде удобной книги, поэтому по публикациям, возможно. будет пауза. В статье рассматри...

Самую яркую комету 2018 года рассмотрели детально ALMA (ESO/NAOJ/NRAO); M. Cordiner, NASA/CUA Комета 46P/Виртанена, открытая в 1948 году, совершает оборот вокруг Солнца за 5,4 года. В декабре этого года комета достигла перигелия, а 16 декабря пролетела очень близко к нам — всего в 11,6 миллиона километров от Земли: ее ...

Python: метапрограммирование в продакшене. Часть вторая Мы продолжаем говорить о метапрограммировании в Python. При правильном использовании оно позволяет быстро и элегантно реализовывать сложные паттерны проектирования. В прошлой части этой статьи мы показали, как можно использовать метаклассы, чтобы изменять атрибуты экземпляро...

[Перевод] Как работает CPU Manager в Kubernetes Прим. перев.: Эта статья опубликована в официальном блоге Kubernetes и написана двумя сотрудниками Intel, принимающими непосредственное участие в разработке CPU Manager — новой возможности в Kubernetes, о появлении которой мы писали в обзоре релиза 1.8. В настоящий момент (т...

Overclockers.ua в числах: немного занятной статистики года уходящего Тем временем, пока вы знакомитесь с итогами года и вспоминаете как это было в сегменте процессоров, видеокарт, прочих технологий и  игровой индустриии, мы собрали немного интересной статистической информации. Как нас много? За 2018-й...

Тестирование точек доступа Zyxel vs Ubiquiti Когда ты что-то выбираешь для себя — ты стараешься выбирать лучшее (желательно не очень дорогое, конечно, но что-нибудь хорошее). И стараешься выбирать это сам. Верить на слово никому нельзя — только личный опыт, проверка и тестирование. И, поистине, ты иногда можешь получит...

[Из песочницы] Как создать героя, в которого будут верить … А точнее как НЕ создать героя, который будет похож на "тысячи таких же". Навеяно статьей о монстрах в играх. Сейчас придумано огромное количество игр, а в этих играх существуют и взаимодействуют огромное количество героев. Они могут быть кем угодно — людьми, зве...

Команда PVS-Studio непредвзята при написании статей Наша команда проверяет различные открытые проекты с помощью PVS-Studio и пишет о результатах анализа кода. Время от времени мы сталкиваемся со странными обвинениями в предвзятости. Думаем, что часто это «тролли», и вступать в дискуссии с ними не имеет смысла. С другой сторон...

Подключаем 12864, энкодер и картридер к MKS Sbase на примере Финиста. Всем бодрого!Приношу извинения тем читателям, которые ждут продолжения уроков по Blender. Немного приболел, и, так-как появился незапланированный выходной решил завершить переезд одного из своих принтеров - «Финиста» на 32bit. Накопленный при переезде материал решил свести в...

Вы слышали про 3д принтер Picaso X pro? Часть 2 А вот и продолжение обзора на мой кредитный (шутка) пикасо. Давайте для начала рассотрим стоимость принтера: около 300 000р. За такие деньги можно купить около 3-ёх Desiner 3D. Как оказалось, принтер в полной мере не окупает себя, но всё же его приобретение не было ошибкой. ...

Робо-футболист от начинающих. Соревнования в МФТИ. Android & Arduino & Bluetooth Данная статья является полу-сиквелом к работе Love, Death and Robots «Машинка на Arduino, управляемая Android-устройством по Bluetooth, — полный цикл», состоящей из двух частей (раз, два). Вещи, описанные там, были немного доработаны-переделаны, а сам робот из ездящей машинк...

Шифрование трафика в Direct Connect, ч.2 – Ты кто??? – Я новый русский. – А я тогда кто?! Предисловие В первой части статьи мы обустраивали ADCs хаб и рассуждали о Direct Connect в целом. Сегодня нам предстоит научиться использовать такой хаб по прямому назначению. Для этого мы рассмотрим совместимые DC клиенты,...

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

Мнение: Зачем нам новые iPad? Вчера компания Apple закрыла свой сайт и все начали гадать, что же нам покажут. В итоге мы получили только два iPad, линейки которых были уже почти забыты пользователями и самой компанией. Попробуем разобраться, для чего все это было сделано. https://youtu.be/v9xhu3iM9fY Я ...

Хакатон Про Добро: как прошел первый благотворительный SmartMail Hack В последние выходные сентября команда Почты Mail.Ru провела свой первый хакатон, посвящённый благотворительности. И это было непросто. Мы поставили перед собой большую цель: Превратить благотворительные идеи в реальные продуктовые и дизайнерские задачи. Правильно выстр...

[Перевод] Руководство по Node.js, часть 10: стандартные модули, потоки, базы данных, NODE_ENV Этот материал завершает серию переводов руководства по Node.js. Сегодня мы поговорим о модулях os, events и http, обсудим работу с потоками и базами данных, затронем вопрос использования Node.js при разработке приложений и в продакшне. [Советуем почитать] Другие части цик...

Animal Adventure: Downhill Rush - пора хватать новогодние санки Приветствую всех! Как-то в начале года (а если быть точным, 15 января) возникла идея сделать что-то новогоднее, зимнее, интересное и увлекательное. Обдумывая различные варианты, словил себя на мысли, что хотелось бы сделать небольшой подарок в виде новогодней игры, где можн...

[Перевод] Игра, перевернувшая историю шутеров: Goldeneye 007 для Nintendo 64 Игра GoldenEye 007  с консоли Nintendo 64, или как её ещё называют, GoldenEye 64, считается нестареющей классикой системы. В этом году игра отпраздновала свой 21-й день рождения (благодаря чему Бонд наконец-то сможет попробовать один из своих легендарных коктейлей), поэтому...

Хипстер перепутал себя с другим хипстером и грозил судом научному журналу В журнале MIT Technology Review была опубликована статья «Эффект хипстера: почему нонконформисты всегда выглядят одинаково». В ней приводится анализ исследования математика Брандейского университета Джонатана Тубула.

FreeCAD — новый метод рисования Disclamer: Я никогда в своей жизни не работал с CAD/CAM приложениями раньше, и, вдруг, пришлось. Принципы работы FreeCAD меня так восхитили, что это требует срочного поста на Хабр, чтобы рассказать другим. Написанное в этом посте, вероятнее всего, будет тривиальным и скучным...

[recovery mode] Простота и cложность примитивов или как определить ненужный препроцессинг для нейронной сети Это третья статья по анализу и изучению эллипсов, треугольников и других геометрических фигур. Предыдущие статьи вызвали у читателей несколько очень интересных вопросов, в частности о сложности или простоте тех или иных обучающих последовательностей. Вопросы на самом деле оч...

Протокол ISCP/eISCP от Onkyo: управление устройствами Onkyo по сети Я уверен, что многие из читателей Хабра знают, или хотя бы слышали, об аудио-аппаратуре компании Onkyo. Современные сетевые плееры и A/V ресиверы имеют на борту Линукс, а также возможность проводного/беспроводного подключения к сети. Компания Onkyo предоставляет своё фирменн...

[Перевод] Знакомство с Тестированием в Python. Ч. 3 Друзья, у нас для вас отличные новости. Во-первых на улице наконец-то светит солнышко, а это значит, что весна начинает полноправно вступать в свои права. Вторая новость более профильная — уже 20 марта стартует первое занятие в новом потоке по курсу «Разработчик Python», в с...

Post mortem: cледи за middleware или как мы сломали комментарии Привет! У нас не очень приятная новость: мы допустили ошибку в мобильной версии, которая могла вас побеспокоить все праздничные дни. Суть проблемы: человек отправляет комментарий к посту, видит его со своим логином и уходит со страницы, но если обновить страницу, этот комме...

Представлен проект ускорителя, который мощнее Большого адронного коллайдера Европейская организация по ядерным исследованиям (CERN), которая сделала несколько крупных научных открытий, удостоенных Нобелевской премии, объявила о планах создать новый мощный ускоритель частиц, преемника Большого адронного коллайдера (БАК). Большой адронный коллайд...

[Из песочницы] Простейшая игра на Ardruino с дисплеем 1602 — Часть #1 Вот что у нас должно получиться, ну он еще умеет прыгать, ходить и бить злые кактусы, которые на него нападают, но к этому придем поэтапно :) ЧАСТЬ #1 основы Я заказал себе arduino, «так себе игрушка» подумал я, комплект маленький (для пробы) о чем в последствии пожалел. Х...

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

[Перевод] Кроссплатформенная мобильная архитектура RIBs от Uber 20 декабря 2016 года ребята из Uber Engineering опубликовали статью про новую архитектуру (вот перевод этой статьи на хабре). Представляю вашему вниманию перевод основной части документации. Читать дальше →

Путешествие gocritic'а в прошлое Хочу поделиться результатами работы последних нескольких дней, которые включали в себя анализ git истории некоторых крупных Go проектов с целью нахождения коммитов, которые исправляли ошибки c последующей их формализацией для детектирования в случае их появления в новом код...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 1 Этот текст предназначен для тех, кто только осваивает программирование. Основная идея в том, чтобы показать этап за этапом, как можно самостоятельно сделать игру à la Wolfenstein 3D. Внимание, я совершенно не собираюсь соревноваться с Кармаком, он гений и его код прекрасен. ...

Определяем породу собаки: полный цикл разработки, от нейросети на Питоне до приложения на Google Play Прогресс в области нейросетей вообще и распознавания образов в частности, привел к тому, что может показаться, будто создание нейросетевого приложения для работы с изображениями — это рутинная задача. В некотором смысле, так и есть — если вам пришла в голову идея, связанныя ...

Наша космическая промышленность. Взгляд на проблемы рядового разработчика Я работал в нашей космической промышленности достаточно долго (1983-1995, 2008-2012 годы). Когда читаешь статьи о наших неудачах, в них часто не видны основные действующие механизмы создания проблем. Итак, я хотел бы начать это рассмотрение с принципа «фактической негативн...

Как мы разрабатываем документацию в открытом проекте Embox Добрый день. Являясь одним из разработчиков открытого проекта Embox, я часто слышал (в последнее время слишком часто) о том, что проект интересный, но поскольку документации нет, его невозможно использовать. Мы отвечали, что документация в каком-то виде есть, что мы всегда ...

[Перевод] Оптимизация рендеринга сцены из диснеевского мультфильма «Моана». Часть 2 Вдохновлённый первой победой при парсинге с помощью описания сцены острова из мультфильма «Моана» компании Disney, я далее углубился в изучение использования памяти. Можно было сделать ещё очень многое со временем выполнения, но я решил, что будет полезно сначала разведать ...

Как улучшить защиту периметра сети? Практические рекомендации для Check Point и не только Мы продолжаем цикл статей, посвященных оптимизации security настроек средств защиты периметра сети (NGFW). Хочу сразу заметить, что приведенные рекомендации подходят не только для владельцев Check Point. По сути, если разобраться, угрозы одинаковы для всех, просто каждый N...

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT Первая часть Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение. Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загружен...

Машинка на Arduino, управляемая Android-устройством по Bluetooth, — код приложения и мк (часть 2) О первый части В первой части я описал физическую часть конструкции и лишь небольшой кусок кода. Теперь рассмотрим программную составляющую — приложение для Android и скетч Arduino. Вначале приведу подробное описание каждого момента, а в конце оставлю ссылки на проекты цел...

Преимущества анализа приложений 7 уровня в межсетевых экранах. Часть 1. Основы Почему появилась эта статья? Неоднократно приходил к коллегам-безопасникам, которые пользуются межсетевым экраном нового поколения и видел, что они продолжают писать правила по номерам портов. На мое предложение перейти писать по имени приложений, слышал «А вдруг так не зар...

[Из песочницы] Поддержка очередей в Hangfire Hangfire — это библиотека для .net (core), позволяющая асинхронно выполнять некоторый код по принципу "fire and forget". Примером такого кода может быть отправка E-Mail, обработка видео, синхронизация с другой системой и т.д. Помимо "fire and forget" есть...

Настраиваем удобный npm проект для себя и команды или немного о современных фронтенд инструментах Всем привет. Недавно мне попалась задача настроить оборот приватных npm пакетов. Все звучало очень интересно и многообещающе пока не оказалось, что делать там совсем не много. Тут бы все и закончилось, но возникла вторая задача — написать демо репозиторий для npm пакета, ко...

Просто о сложном. Часть 3, продолжаем создание беспроводного «умного дома». На основе технологий Z-Wave и ПО MajorDoMo В данной статье продолжаем первые шаги по созданию своего беспроводного “Умного Дома» на основе технологий и протокола по open source. На примере подключения одного устройства, работающего по технологии Z-Wave: умной розетки FIBARO Wall Plug Z-Wave (FGWPF-102_ZW5). Выбор ...

Опыт внедрения автоматизации в процесс ручного тестирования на примере Android-приложения Совместно с нашими партнёрами мы активно разрабатываем, тестируем и поддерживаем семейство приложений для разных платформ: Android, iOS, Windows. Приложения активно развиваются, вместе с чем увеличивается и объём тестирования, в первую очередь — регрессионного. Мы решили по...

IT Governance для чайников В конце января на сайте ISACA (COBIT и т.п.) опубликована статья «Руководство ИТ для чайников» (IT Governance 101: IT Governance for Dummies). Заявляется, что это только первая часть цикла. Причём автор статьи не кто-нибудь, а сам Пол Вилкинсон (Paul Wilkinson) владелец и у...

Как проходить кибер испытания на «Checkpoint» 2 часть Привет всем, я Никита Куртин, куратор израильской высшей школы IT и безопасности HackerU. И я продолжаю рассказывать про кибер испытания от ведущей израильской компании в области информационной безопасности Checkpoint. В предыдущем посте я описал как прошел четыре испытания...

Epic fail resistance 1 или Лисец подкрался незаметно. Тестирование анонимности и безопасности + VPN для пользователя Доброго времени прочтения, уважаемые читатели Хабра. В продолжение темы Big Data resistance 1. Прочитав комментарии к статье от dartraiden и YourChief, задумался на тnему, а впрямь ли все хорошо и достаточно ли тестов анонимности и безопасности на 2ip и Whoer или раз все хо...

Разбираем протокол пейджерных сообщений POCSAG, ч1 Привет habr, Давным-давно, когда мобильный телефон стоил 2000$ и минута звонка стоила 50 центов, была такая популярная штука как пейджинговая связь. Затем связь стала дешевле, и пейджер сначала превратился из престижного атрибута делового человека в непрестижный атрибут кур...

[Перевод] Важнейшие заблуждения о разработке игр Здравствуйте, коллеги. Мы не смогли пройти мимо этой статьи и с радостью предлагаем вам ее перевод. Поскольку в будущем году у нас большие планы по геймдизайну и разработке игр, считаем, что здесь рассмотрены принципиальные вопросы, которые многим подскажут, как разрабатыва...

Эффективные личные финансы. Простой способ Идея написать данную статью возникла после прочтения вышедшей на днях статьи Эффективные личные финансы. Уровень 1. В ней озвучены очень правильные мысли, но в основе лежит необходимость ведения финансового учета, который нужно вести весьма кропотливо и постоянно, а анализ п...

Простейшая игра на Ardruino с дисплеем 1602 — Часть #2 ЧАСТЬ #2 от начала до конца Продолжаем делать игру на ardruino и в дальнейшем всунем эту игру в программу, которую я делаю для машины и на наших полученных знаниях создадим вторую игру, для забавы ради и сделаем правильную музыку для нее. Что бы понять, что нам сейчас нужн...

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

Народный банк Китая призвал к выпуску стейблкоина на базе юаня КНР необходимо активизировать исследования стейблкоинов и рассмотреть возможность поддержки национальных институтов, чтобы выпустить активы, привязанные к юаню, считают исследователи Народного банка Китая. Об этом сообщает CoinDesk, ссылаясь на опубликованный НБК материал в ...

[Перевод] Руководство по JavaScript, часть 5: массивы и циклы Сегодня, в пятой части перевода курса по JavaScript, мы поговорим о массивах и циклах. Массивы используются в ходе решения множества задач. Часто с массивами работают, используя циклы. → Часть 1: первая программа, особенности языка, стандарты → Часть 2: стиль кода и структу...

Решаем простой Crackme для Sega Mega Drive Привет всем, Не смотря на мой большой опыт в реверсе игр под Sega Mega Drive, крякмисов под неё я никогда не решал, да и не попадались они мне на просторах интернета. Но, на днях появился забавный крэкми, который захотелось решить. Делюсь с вами решением… Читать дальше →

Signpost: когда брейкпоинтов недостаточно В предыдущей статье мы узнали о причинах нестабильности unit-тестов и способах борьбы с этим. Теперь мы хотим рассмотреть один из новых инструментов Apple для отладки и профилирования кода. Речь о представленном на WWDC 2018 фреймворке для логирования os_log, который был рас...

[Перевод] Собираем собственный аудио усилитель профессионального уровня не (очень) дорого Получаем потрясающий стереозвук на основе платы 3e Audio Д-класса Перевод статьи с сайта IEEE Spectrum, автор – Гленн Зорпет Несколько лет назад я решил узнать, насколько дёшево можно сделать самому усилитель Д-класса аудиофильского качества. Тогда у меня получилось $523,...

Нейросеть для разработчиков C++ Всем привет. Написал библиотеку для обучения нейронной сети. Кому интересно, прошу. Читать дальше →

[Перевод] Назад к микросервисам вместе с Istio. Часть 2 Прим. перев.: Первая часть этого цикла была посвящена знакомству с возможностями Istio и их демонстрации в действии. Теперь же речь пойдёт про более сложные аспекты конфигурации и использования этого service mesh, а в частности — про тонко настраиваемую маршрутизацию и упр...

DevCore: программная часть проекта DevBoy Привет, друзья! С вами снова Николай, в прошлой статье "DevBoy — как я создал проект устройства с открытым исходным кодом и запустил проект на Kickstarter" упор делался больше на внешнем виде и железе, сегодня поговорим о том как это сделано "внутри" и разберем программную ...

Full stack Data analyst "Анализ данных" часто организован так: вот у нас разработчики хранилища, а вот у нас аналитики. В DWH (data warehouse, хранилище) умеют SQL, а аналитики у нас умеют работать c экселем. Если нам нужно что-то проанализировать, то идете к аналитикам, а они идут за данными к DWH...

Как автоматизировать сбор KPI за месяц и оставить пользователей почти довольными Во многих организациях оценка подразделений осуществляется с использованием KPI (Key Performance Indicators). В организации, где я работаю, такая система называется «системой показателей деятельности», а в этой статье я хочу рассказать о том, как у нас получилось автоматизир...

Как декларативно описать коллапсирующий Toolbar Хочу представить решение того, как можно описать CollapsingToolbar, с акцентом на читаемости кода. В статье не будет объясняться, что такое и как написать свой CoordinatorLayout.Behavior. Если читателю интересно в этом разобраться, есть много статей, в том числе на хабре. ...

Искусство парсинга 2 или транслитерация собственной разметки +БОНУС: как включать классы друг в друга в C++ Привет, Хабр! Эта статья — прямое продолжение статьи Искусство парсинга или DOM собственными руками, где мы разобрали HTML-документ и построили на его основе абстрактное синтаксическое дерево (AST) с доступом к любому элементу ч...

Как мы делали БелАЗ. Часть 2 – Лабораторные испытания В прошлой статье было рассказано про состав электрической трансмиссии карьерного самосвала, а в этой я расскажу про то, как мы её пусконалаживали на заводе и с какими проблемами столкнулись. Из этой статьи вы узнаете: как испытать электродвигатель весом в полторы тонны, ка...

[Перевод] Сложное модульное архитектурное окружение в UE4 Тайлер Анлауф подготовил подробный анализ модульного окружения ROME: Church of Sant’Ivo созданного им в UE4 и 3ds Max. В статье он рассказывает о предварительном черновом плане (blockout), модульной сборке, освещении, постобработке и многом другом. ROME: Church of Sant’Ivo...

[Перевод] Организация безопасного тестирования в продакшене. Часть 2 В этой части статьи мы продолжим рассматривать различные виды тестирования в продакшене. Те, кто пропустил первую часть, могут прочитать её здесь. Остальным — добро пожаловать под кат. Читать дальше →

[Из песочницы] Пишем учебное приложение на Go и Javascript для оценки реальной доходности акций. Часть 1 — backend Давайте попробуем написать небольшую тренировочную, но вполне себе законченную информационную систему, состоящую из серверной части на Go и клиентского веб-приложения на Javascript + Vue JS. Для начала пару слов о том, что это за приложение и для чего оно нужно. Некоторое в...

Программирование LibreOffice Base. Часть 2 В части 2 будет рассмотрена связь между таблицами базы данных и формами. В частности как задавать связь между двумя таблицами и использовать таблицы-«справочники» в качестве источника данных для выпадающих списков. Читать дальше →

Некоторые задачи школьной математики. Часть II Часть I. Дроби Часть II. Модули В данной статье рассматривается метод оценок диапазона принимаемых значений и связь этого метода с задачами, содержащими модуль. При решении некоторых задач необходимо рассматривать диапазон, в пределах которого может находиться искомая вел...

Методы сбора данных для оценки проектов НКО 27 сентября 2018 года прошел митап Теплицы социальных технологий на тему «Как НКО оценить результаты проекта». Участники познакомились с методами сбора данных для оценки проекта и узнали про виды оценок в проектной деятельности. На встрече выступила Анна Горовая, представите...

Импортозамещение на практике. Часть 2. Начало. Гипервизор В предыдущей статье были рассмотрены варианты, на что можно заменить существующие системы в рамках выполнения приказа об импортозамещении. Далее в статьях речь пойдет о выборе конкретных продуктов для замены развернутых в настоящее время. Начнем с точки отсчета — системы вир...

Мох и мамонты (часть 1) "- Друзья! У нас две проблемы. Минобороны и пуговица. Пуговицу мы найти можем? Чисто теоретически? Можем. А с Минобороны… ничего. Вывод: ищем пуговицу." — спектакль «День радио» Метан, выделяющийся при таянии мерзлоты. tl;dr Предложена новая («мерзлотная») модель углер...

[Перевод] Тестирование Node.js-проектов. Часть 2. Оценка эффективности тестов, непрерывная интеграция и анализ качества кода → Тестирование Node.js-проектов. Часть 1. Анатомия тестов и типы тестов Сегодня, во второй части перевода материала, посвящённого тестированию Node.js-проектов, мы поговорим об оценке эффективности тестов и об анализе качества кода. Читать дальше →

О чем все-таки говорит developer.android.com про RecyclerView Приветствую вас, уважаемые хабражители! На написание статьи меня подтолкнул этот пост (а точнее, то чувство резкого локального повышения температуры в районе… хм, поясницы, обычно возникающее, когда в интернете кто-то неправ). Начнем с самого начала. Полностью согласен, что ...

[Из песочницы] 20 игр, чтобы научить ребёнка программированию Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в прог...

Бонусы от онлайн казино Вулкан Онлайн казино Вулкан знаком нам не первый год. Его выбирают все азартные игроки, так как уверены в его честности и в безопасности личных данных. У всех он ассоциируется только с успехом и достаточно крупными выигрышами. Клуб может похвастаться замечательной коллекцией игр...

Интересности и полезности python. Часть 3 В предыдущих частях мы рассмотрели срезы, распаковку\упаковку коллекций и некоторые особенности булевых операций и типов. В комментариях упоминалась возможность умножения коллекций на скаляр: a = [0] * 3 s = 'a' * 2 print(a, s) # -> [0, 0, 0], 'aa' Более-менее опытный...

Компания Principled Technologies, которую заподозрили в искажении методики тестирования конкурентов Core i9-9900K, ответила на претензии В данный момент компания проводит дополнительные тесты, результаты которых опубликует в ближайшее время.

Форкни это: 8 проектов на Go, в исходном коде которых интересно покопаться Мы в Binary District проводим интенсивы по Go. За два дня можно научиться понимать идеологию и внутренности Go, писать чистый тестируемый код. Но это первый шаг, а дальше — практика, практика, практика: читать чужой код, писать и править свой. Для этого идеально подходит o...

Анализ результатов 2018 Kaggle ML & DS Survey Kaggle — известная платформа для проведения соревнований по машинному обучению на которой количество зарегистрированных пользователей перевалило за 2.5 миллиона. В соревнованиях участвуют тысячи data scientist из разных стран, и Kaggle стал интересоваться тем, что из себя п...

[Перевод] Какие свидетельства могут убедить математиков, если строгого доказательства нет? Новая статистическая модель, кажется, подрывает давно принятые предположения из теории чисел. Насколько ей можно доверять, если на самом деле имеет значение только строгое доказательство? Your browser does not support HTML5 video. Какие точки на эллиптической кривой y2 = x3 ...

[Из песочницы] Системы мониторинга трафика в сетях VoIP. Часть первая — обзорная В данном материале попытаемся рассмотреть такой интересный и полезный элемент ИТ-инфрастуктуры, как система мониторинга VoIP-трафика. Читать дальше →

[Перевод] The Intel Core i7-8086K (часть 2) The Intel Core i7-8086K (часть 1) Системные тесты CPU Наш первый набор тестов — общие системные тесты. Этот набор тестов призван эмулировать по большей части то, что люди обычно делают с компьютером, например, открытие больших файлов или обработка небольших стеков данных. Э...

Импортозамещение на практике. Часть 1. Варианты Введение В связи с тем, что близится 2020 год и «час хэ», когда нужно будет отчитаться об исполнении приказа Минкомсвязи о переходе на отечественное ПО (в рамках импортозамещения), да не простое, а из реестра Минкомсвязи, мне прилетела задача о разработке плана, собственно...

[Перевод] Жизненный цикл кода на Python – модель выполнения CPython Всем привет! Наступила весна, а это значит, что до запуска курса «Разработчик Python» остается меньше месяца. Именно этому курсу и будет посвящена наша сегодняшняя публикация. Задачи: — Узнать о внутреннем устройстве Python; — Понять принципы построения абстрактного син...

Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK). Часть 2 Часть 2. Выполнение (Execution) В части 1 цикла статей «Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK) были рассмотрены техники получения первоначального доступа, основная цель которых заключалась в доставке вредоносного кода в атакуемую систему. Сл...

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

[Перевод] 39 новых фич, которые будут доступны в Java 12 Из замечательного интервью на Хабре: «Саймон Риттер — человек, который работал над Java с самого начала и продолжает делать это в роли заместителя технического директора Azul — компании, работающей над виртуальной машиной Zing JVM и одним из лучших сборщиков мусора, C4 (Cont...

Бинарные модули для Python Python — классный. Мы говорим «pip install» и скорее всего нужная библиотека поставится. Но иногда ответ будет: «compilation failed», потому что есть бинарные модули. Они практически у всех современных языков страдают какой-нибудь болью, потому что архитектур много, что-то н...

К дню космонавтики. Продолжение истории советского баллистического центра «Земля слушает». Нестеров.В.Д. 1965 год Моя прошлая статья с, возможно, претенциозным названием вызвала оживленную дискуссию. Чтобы дать ответы на часть вопросов, я решил выложить письмо Платонова полностью, без какой-либо редактуры. Тем более что оно представляет историче...

[Перевод] 90 новых фич (и API) в JDK 11 Привет, Хабр! Представляю вашему вниманию перевод статьи «90 New Features (and APIs) in JDK 11» от автора Simon Ritter. Новый шестимесячный релизный цикл JDK для многих означает, что некоторые ещё даже не выяснили, какие новые функции в JDK 10, а на пороге уже JDK 11. В одн...

Создан рой роботов, которые самоорганизуются без шаблона, словно живые клетки Международная группа исследователей продемонстрировала систему крошечных роботов, которые взаимодействуют между собой и демонстрируют биологические принципы самоорганизации. Другими словами, они ведут себя словно клетки живого организма. Научная статья опубликована 19 дек...

Фракталы в иррациональных числах Статья является продолжением моей первой статьи «Фракталы в простых числах». В предыдущей статье мы научились рисовать самоподобные паттерны с помощью взаимно простых чисел. В этой статье покажу фрактальную природу числа . Без предисловия. Под кат. Читать дальше →

[Перевод] Мысли о Rust 2019 Коллеги, доброго вечера всем! Мы с радостью предлагаем вам перевод по-настоящему программной статьи от Рафа Левина, чей титанический труд над развитием языка Rust вызывает уважение и пиетет: Без ложной скромности и без шапкозакидательства, предметно и увлеченно уважаемый...

Как живет Альфа-Банк в период изменений и что нам удалось сделать при объединении IT-разработки и Альфа-Лаборатории Привет! Меня зовут Даша Русланова, я директор Департамента цифровых решений в Альфа-Банке. Сегодня я расскажу вам, как мы живем во время довольно значимых изменений, каких результатов в процессе этого переформатирования смогли достигнуть за год в плане скорости, и зачем нам...

Безопасность IoT. Выпуск 2. Умный дом Умный дом представлен широком набором устройством. Во второй части цикла публикаций о безопасности IoT будут рассмотрены умные ТВ приставки, умная кухня, голосовые помощники и освещение. Ссылка на 1 часть. Читать дальше →

Полное руководство по CMake. Часть третья: Тестирование и пакетирование Введение Данная статья повествует о тестировании и пакетировании программ при помощи CMake, гибкого и универсального набора утилит для разработки различных программных продуктов. Строго рекомендуется прочитать первую и вторую части руководства во избежание непонимания синта...

Опубликовано фото, сделанное фронтальной камерой смартфона Lenovo Z5s В Сети появляется все больше подробностей о смартфоне Lenovo Z5s. На этот раз на официальной странице Lenovo в социальной сети Weibo опубликовали фото, сделанное основной камерой смартфона. Само собой, фотография красочная и красивая. Будем надеяться, что она действите...

ZFS и скорость доступа к диску в гипервизорах В данной статье публикуются результаты замеров скорости доступа к файловой системе внутри гипервизора в различных вариантах установки ZFS. Всем кому интересно прошу под кат, предупреждаю о наличии большого количества изображений под спойлерами (оптимизированы). Читать дальше...

Анализ трендов российского YouTube за 2018 год Старожилы, наверное, и не вспомнят, но в конце 2017-го года в обсуждениях в интернете была распространена мысль о том, что в трендах YouTube часто встречаются «накрученные» видео. Поэтому накануне нового 2018-го года я написал утилиту для сбора информации о видео, которые по...

Львиная доля OS X Lion: Игра в “тик-так” Lion нравился не всем. С тем для чего он был установлен на моём Mac’е он справлялся, но не всем так повезло. Моя область применения была примерно такой же как у тех, кто его создавал, тестировал и отлаживал – может быть всё дело в этом. Коллег занятых другими задачами, врод...

Реактивное приложение без Redux/NgRx Сегодня мы разберем по косточкам реактивное angular-приложение (репозиторий на github), написанное целиком по стратегии OnPush. Также приложение использует reactive forms, что вполне типично для enterprise-приложения. При этом мы не будем использовать Flux, Redux, NgRx, I...

«33 слова о дизайне»: кто и зачем снимает кино о дизайне в России Школа дизайна Bang Bang Education начала сбор средств на фильм-исследование «33 слова о дизайне», который будет посвящен современному дизайну в России. В нем каждый из 33 героев за две минуты попытается ответить на вопрос, что такое русская культура и эстетика. Основную сумм...

Flightradar24 — как это работает? Часть 2, ADS-B протокол Привет Хабр. Наверное каждый, кто хоть раз встречал или провожал родственников или друзей на самолет, пользовался бесплатным сервисом Flightradar24. Это весьма удобный способ отслеживания положения самолета в реальном времени. В первой части был описан принцип работы так...

Пишем торговых роботов с помощью графического фреймворка StockSharp. Часть 2 Мы продолжаем говорить о создании торговых роботов с помощью платформы StockSharp. В первом материале речь шла о создании проекта и отрисовке основных элементов торговой системы. В заключительном материале цикла займемся непосредственной реализацией торговой стратегии. Чит...

[Перевод] Оптимизация рендеринга сцены из диснеевского мультфильма «Моана». Части 4 и 5 У меня есть ветка pbrt, которую я использую для проверки новых идей, реализации интересных мыслей из научных статей и в целом для исследования всего того, что в результате обычно оказывается в новой редакции книги Physically Based Rendering. В отличие от pbrt-v3, который мы...

[Перевод] Senior Engineer в поисках работы. Как я прошел 15 технических собеседований и что я об этом думаю Продолжение истории о том, как я проходил собеседования в разные компании на разные позиции. В этот раз закроем несколько вопросов и комментариев касательно первой части и продолжим говорить о тестовых заданиях и технических собеседованиях. К моему удивлению, предыдущая ста...

Очередной «глюк» компьютера марсохода «Кьюриосити» заставил NASA дать ему несколько дней выходных Находящийся на Красной планете марсоход «Кьюриосити» был автоматически переведен в так называемый «безопасный режим», в результате ошибки компьютера, возникшей в ходе очередного сеанса передачи данных, проводившегося 15 февраля. В настоящий момент связь с автономной научной...

Всё, что вы хотели знать о тестировании адаптеров Wi-Fi, но боялись спросить На днях нашей компании исполнятся 20 лет. Последние 15 лет из этих 20 мы делаем программы для анализа Wi-Fi-сетей. Часть этой работы – разработка драйверов для Wi-Fi-адаптеров, и в этой статье я расскажу, как команда разработчиков тестирует продукты своего труда, и как про...

Функциональное мышление. Часть 6 Продолжаем нашу серию статей о функциональном программировании на F#. Сегодня расскажем об ассоциативности и композиции функций, а также сравним композицию и конвейер. Заглядывайте под кат! Первая часть Вторая часть Третья часть Четвертая часть Пятая часть Читать дальше →

Транспайлер-цепь Python → 11l → C++ [для ускорения Python-кода и не только] В данной статье рассматриваются наиболее интересные преобразования, которые выполняет цепочка из двух транспайлеров (первый переводит код на языке Python в код на новом языке программирования 11l, а второй — код на 11l в C++), а также производится сравнение производительн...

[Перевод] Выводы о будущем ритейла после «черной пятницы» «Черная пятница» для онлайн-ритейла была очень продуктивной. Ностальгия по-прежнему приводила потребителей в обычные магазины. Но не за выгодными предложениями, а больше ради той неповторимой атмосферы скидок и праздничного настроения, по-настоящему ощутить которую можно ...

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

ISO 20000-1:2018. Всё ближе к ITIL Анонсированный выход новой версии международного стандарта по управлению услугами (ISO/IEC 20000) состоялся, как и было обещано, в сентябре текущего года. Точнее, выпущена первая часть «Требования к системе управления услугами» («ISO/IEC 20000-1:2018 – Information Technology...

Как мы тестируем Сбербанк Онлайн на iOS В предыдущей статье мы познакомились с пирамидой тестирования и тем, какую пользу несут автоматизированные тесты. Но теория, как правило, отличается от практики. Сегодня мы хотим рассказать о своем опыте тестирования кода приложения, которым пользуются миллионы пользовател...

[Из песочницы] Как я понял, что ем много сладкого, или классификация товаров по чекам в приложении Задача В этой статье мы хотим рассказать, как мы создали решение для классификации названий продуктов из чеков в приложении для учёта расходов по чекам и помощника по покупкам. Мы хотели дать пользователям возможность просматривать статистику по покупкам, собранную автоматич...

[Из песочницы] Усилители низкой частоты классов: А, B, AB, D, G, H Здравствуй, Хабр! Сегодня мы поговорим о классах: А, B, AB, D, G, H Сначала рассмотрим классы по положению рабочей точки. Каждый транзистор имеет выходную характеристику, которую можно найти в DataSheet. Пример характеристики на рисунке ниже. Выходная характеристика тр...

[Перевод] Все, что вам нужно знать о выравнивании во Flexbox Цикл публикаций по особенностям CSS-технологии Flexbox от Rachel Andrew. Что происходит при создании контейнера Flexbox. Резюме В этой статье мы рассмотрим свойства выравнивания во Flexbox, а также основные правила, помогающие запомнить, как работает выравнивание как на гл...

[Перевод] Вся правда об ОСРВ. Статья #13. Структуры данных задач и неподдерживаемые вызовы API В этой третьей и последней статье о задачах, я рассмотрю структуры данных Nucleus SE и опишу вызовы API RTOS, которые не реализованы в Nucleus SE, а также расскажу о других проблемах совместимости. Читать дальше →

16 марта Вadoo PHP Meetup: тесты и качество кода. Регистрация открыта Всем привет! Меня зовут Владимир Янц, я активно занимаюсь развитием инфраструктуры тестирования кода в Badoo. С PHP у нас давние и крепкие отношения, и мы с коллегами всячески поддерживаем сообщество. Нас все спрашивали: “Когда же уже, когда?” — и вот оно. 16 марта приглаша...

OpenSceneGraph: Граф сцены и умные указатели Введение В прошлой статье мы рассмотрели сборку OpenSceneGraph из исходников и написали элементарный пример, в котором в пустом фиолетовом мире висит серый самолет. Согласен, не слишком впечатляет. Однако, как я говорил раньше, в этом маленьком примере присутствуют главные...

Пишем свой язык программирования, часть 2: промежуточное представление программ Введение Приветствую всех, кто заглянул почитать мою очередную статью. Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте. В первой части (линк: habr.com/post/435202) я описал этапы прое...

Безопасность IoT. Выпуск 1. Умные часы, фитнес-трекеры и весы В своей прошлой статье я рассказывал, как съездил на DefCamp. Сегодняшняя статья — первая часть публикации о моих исследованиях в области безопасности интернета вещей, которые легли в основу выступления на конференции. IoT быстро развивается: сейчас насчитывается более 260...

[Перевод] Пакетный менеджер для Kubernetes — Helm: прошлое, настоящее, будущее Прим. перев.: Этой статьёй мы открываем цикл публикаций про пакетный менеджер для Kubernetes, который активно используем в повседневной работе, — Helm. Оригинальным автором материала является Matt Butcher — один из основателей проекта Helm, работающий над Open Source-проекта...

Преимущества анализа приложений 7 уровня в межсетевых экранах. Часть 2. Безопасность Новое поколение межсетевых экранов удобнее и безопаснее, благодаря новой архитектуре движка и новой идеологии управления сетевыми потоками. Почему появилась эта статья? Неоднократно приходил к коллегам-безопасникам, которые пользуются межсетевым экраном нового поколения и ...

32-битные процессоры Intel: от 3 до 4 — Бесполезный пятничный лонгрид Современные процессоры для ПК великолепны. Это чудо инженерной мысли, кусочек сплавленного песка, на котором расположены миллиарды миниатюрных транзисторов и их межсоединений. Но, мне кажется, они скучноваты. Нет в них искры революции. Нет стремительных перемен. Соревновани...

[Из песочницы] Spacewalk на Рождество Привет, Хабр! Незадолго до прихода Рождества, в IT-отделе было решено изучить Spacewalk, — это Red Hat система, бесплатный аналог Satellite, для централизованного управления конфигурациями, обновлений систем, удобной поддержкой всего серверного парка. Ввиду того, что досту...

Red Dead Redemption 2 выйдет на мобильных устройствах – в качестве приложения-компаньона Главный игровой блокбастер осени Red Dead Redemption 2 выходит совсем скоро, и мы узнаём всё больше подробностей о новинке от Rockstar. Сегодня компания поделилась планами выпустить приложение-компаньон для устройств на iOS и Android.Выпуск состоится одновременно с выходом т...

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 2) Привет всем, В предыдущей статье мы успешно модифицировали ядро эмулятора игр на Sega Mega Drive / Genesis, добавив в него возможность отладки. Теперь пришёл черёд написания собственно плагина-отладчика для IDA Pro, версия 7.0. Приступим. Читать дальше →

Реверс-инжиниринг. История. Моя Всем привет, На этот раз статья будет не технической (хотя в ней и будут попадаться какие-то технические термины/моменты), а скорее автобиографической, если так можно выразиться. Эта статья о том, как я докатился до такой жизни пришёл в реверс-инжиниринг, что читал, чем инт...

[Перевод] ICANN опубликовала подробное руководство о том, чего следует ожидать во время обновления KSK в корневой зоне Корпорация ICANN готовится к первой в истории смене криптографических ключей, которые служат защитой для системы доменных имен интернета (DNS), в связи с чем ею было опубликовано руководство с описанием того, чего следует ожидать в этом процессе. Читать дальше →

Apple и Huawei поменялись местами Аналитическая компания IDC опубликовала статистику продаж смартфонов в России. Лидер остался прежним, а второе место больше не принадлежит Apple.

[Из песочницы] За что я ненавижу Eloquent ORM Всем привет. Хочу перед вами исповедаться и рассказать немного о том, что я чувствую, когда разрабатываю на Laravel. Нет, не подумайте, я обожаю этот фреймворк и безумно благодарен команде, которая его создала и поддерживает, они делают крайне крутое дело и, на мой взгляд, ...

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

Опубликован первый официальный рендер флагманского смартфона Nokia 9 с пентакамерой Мы уже много раз имели возможность рассмотреть еще не представленный официально флагманский смартфон Nokia 9, но впервые в Сети публикуется официальный и качественный рендер устройства, демонстрирующий одновременно и фронтальную, и тыльную панели. Картинка опубликована ...

[Из песочницы] Как я заменил RxJava на корутины в своем проекте и почему вам вероятно также стоит это сделать Привет, Хабр! Представляю вам перевод статьи автора Paulo Sato на тему использования Kotlin Coroutines вместо RxJava в своих Android проектах. RxJava как базука, большинство приложений не использует и половины её огневой мощи. В статье пойдет речь о том, как заменить её кор...

С чего начиналась монополия, или немного возни с IBM PC 5150 For English press One У каждого любителя старого железа есть фетиш. Зачастую на территории восточной (да и части западной тоже) Европы это ZX Spectrum, замечательный компьютер, который, впрочем, не оставил значительного наследия. Другое дело — IBM PC 5150. Этот компьютер ...

Как создать карту московских парковок с помощью Kepler.gl Несколько месяцев назад вышла первая версия Kepler.gl — нового Open Source инструмента для визуализации и анализа больших наборов гео-данных. В этой статье я предлагаю вам познакомится с основными возможностями приложения и создать с его помощью две картографические визуализ...

Решение японских кроссвордов с помощью SAT солвера На Хабре было несколько статей по решению японских кроссвордов, где авторы придумывали различные способы как такие кроссворды решать. В комментарии к статье Решение цветных японских кроссвордов со скоростью света я высказал мысль, что, поскольку, решение японских кроссвордов...

Как сделать поиск пользователей по GitHub на WebAssembly Всем привет! 24 августа 2018 вышла версия Go 1.11 с экспериментальной поддержкой WebAssembly (Wasm). Технология интересная и у меня сразу возникло желание поэкспериментировать. Написать "Hello World" скучно (и он кстати есть в документации), тем более тренд прошедшего лета...

Организация системы эвентов в Unity — глазами геймдизайнера Всем привет! Заранее извиняюсь за дилетантизм, но я почитал статью о том, как человек пытался бороться с чрезмерной связностью сущностей в Unity, и подумал, что было бы интересно рассказать о своём велосипеде, который я сколотил для создания игровых прототипов как геймдизай...

Митап по DevOps в Санкт-Петербурге Привет! Приглашаем на митап по DevOps. На этот раз мы решили уйти от традиционного формата митапа в лектории и собираемся в баре на Невском. Собственно, это и митапом назвать сложно – скорее, это DevOps-вечеринка, где гости смогут не только послушать спикеров, но и провери...

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

Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK). Часть 3 Часть 3. Закрепление (Persistence) В предыдущей части цикла публикаций «Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK)» были рассмотрены техники выполнения кода в атакуемой системе, описывающие средства и методы удаленного и локального выполнения раз...

Статистика операционных систем и браузеров за ноябрь 2018 года NetMarketShare опубликовала статистику операционных систем и браузеров за ноябрь этого года.Статистика ОС:Windows 7 – 38.89%;Windows 10 – 38.14%;Windows 8.1 – 4.59%.Статистика браузеров:Google Chrome – 65.57%;Firefox – 8.96%;Internet Explorer – 7.42%;Microsoft Edge – 4.22%.

Получение морфируемой 3D-модели лица на основе фотографии в произвольном ракурсе Привет, Хабр! Представляю вашему вниманию перевод статьи «Learning 3D Face Morphable Model Out of 2D Images». Трёхмерная морфируемая модель лица (3D Morphable Model, далее 3DMM)  —  это статистическая модель структуры и текстуры лица, которая используются компьютерном зре...

[Перевод] История первых микропроцессорных видеоигр В последнее время я с другими исследователями много писал и рассказывал о ранней индустрии микроэлектроники. Существует ещё много загадок, связанных с этим периодом зарождения до того момента, когда на сцене появились конструкции на одном чипе и массовое производство. Было ...

Важное сообщение об инвайтах в профиле Привет, Хабр! С начала года на сайте произошли три важных обновления, о которых мы писали в нашем блоге. Но некоторые узнают о них только сейчас, продолжая задавать вопросы в комментариях или и в службу поддержки. Поэтому давайте ещё раз: Появился англоязычный Хабр — тепер...

Аватария 3.9.0 Приложение Аватария – увлекательная социальная игра, в которой можно проявить себя, реализовать любые планы и мечты, прожить другую жизнь, основанную на альтернативном сценарии. Многие люди склонны сомневаться относительно правильности выбранного жизненного вектора, испытыва...

[Перевод] 25 лет спустя: интервью с Линусом Торвальдсом В первом номере Linux Journal было опубликовано интервью, взятое Робертом Янгом, первым издателем журнала (и, среди прочего, основавшим Red Hat) у Линуса Торвальдса (автора ядра Linux). Мы решили, что будет интересно свести их снова вместе спустя 25 лет. Первое интервью мо...

Глубины SIEM: корреляции «из коробки». Часть 2. Схема данных как отражение модели «мира» Это вторая статья цикла, который посвящен методологии создания работающих «из коробки» правил корреляции, для SIEM-систем. В предыдущей статье мы поставили перед собой данную задачу, описали преимущества, которые будут получены при ее выполнении, а также перечислили основные...

Яндекс.Диалоги обновили методику проверки ответов навыков Команда Яндекс.Диалогов сообщила об обновлении методики проверки ответов навыков.  После того, как навык опубликован, Яндекс.Диалоги будут периодически убеждаться в том, что навык работает и корректно отвечает на запросы. Если навык не работает в теч...

[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0 Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee. Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают ...

[Перевод] Строим систему реактивных компонентов с помощью Kotlin Всем привет! Меня зовут Анатолий Варивончик, я Android-разработчик Badoo. Сегодня я поделюсь с вами переводом второй части статьи моего коллеги Zsolt Kocsi о реализации MVI, которую мы ежедневно используем в процессе разработки. Первая часть здесь. Чего мы хотим и как мы...

Зафиксирована атака на криптовалютную биржу Gate.io 4 ноября злоумышленники скомпрометировали StatCounter, платформу для анализа веб-трафика. Сервис используется для сбора статистических данных о посетителях сайтов, примерно как Google Analytics. Для этого веб-мастера добавляют на каждую страницу сайта внешний тег JavaScript,...

Опубликованы живые фото фронтальной панели флагманского смартфона Nokia 9: выреза нет Сегодня мы уже публиковали изображение смартфона Nokia 9, на котором видна и фронтальная часть. Та картинка демонстрировала вырез вверху: хоть и небольшой, но все же хорошо заметный. А сейчас уже другой источник опубликовал новые картинки – живые фото фронтальной ...

[Из песочницы] Международный стандарт обмена данными SDMX (Statistical Data and Metadata eXchange) В русскоязычном интернете весьма мало информации о SDMX, несмотря на то, что этот стандарт давно используется для публикации и обмена данными многими странами и международными организациями. Инициатива разработки стандарта была запущена семью международными организациями, р...

Как выжить Инди разработчику. Часть 2 Прим. перев.: Здравствуйте, уважаемые хабровчане! Вторая часть выступления Джейка Брикета (Jake Birkett) на конференции Independent Games в 2016. Ссылка на Первую Часть. Выступление Джейка — это глубоко личная, полная деталей повесть о длинном и сложном пути в игровой инду...

[Из песочницы] Анализ Minor Violations Java кода на платформе Duerank.com (часть 1) Введение Что мы знаем об ошибках в коде приложений, написанных на Java? Ну, мы наверняка знаем, что они там встречаются. А насколько часто встречаются? Как много делает разнообразных ошибок в своём коде разработчик? Под ошибками мы понимаем не только баги, но и наличие раз...

UE4 | Инвентарь для Multiplayer #2 | Подключение Blueprint к C++ Список статейUE4 | Инвентарь для Multiplayer #1 | Хранилище данных на DataAsset UE4 | Инвентарь для Multiplayer #2 | Подключение Blueprint к C++ В предыдущей статье я рассказывал как создать DataAsset, и почему он такой хороший и удобный. Здесь же мы рассмотрим то, как получ...

PWA — это просто. Hello Joomla Продолжаем изучение Progressive Web Applications. После теоретической первой части и простого практического примера Hello Habr второй части попробуем перевести в PWA веб сайт на CMS Joomla. Тип серверного фреймворка не важен. Задача данной статьи — показать перевод обычного...

NB-IoT: как он работает? Часть 1 Устройства в стандарте NB-IoT могут работать до 10 лет от одной обычной батарейки. За счет чего? Мы собрали все самое главное об этой технологии. В этой статье расскажем о ее особенностях с точки зрения архитектуры сети радиодоступа, а во второй части — об изменениях в ядре ...

Работа IT-специалистом на Дальнем Востоке — Сахалинская область TLDR. После прочтения статьи “Стоит ли ехать It-специалисту на Дальний Восток” у меня возникло желание рассказать про мой родной регион — Сахалинскую область, о чем в комментариях к вышеуказанной статье и сообщил. Обо мне — мне 25, разработчик, полуадмин, недо-DevOps, стаж ...

[Из песочницы] Forensic resistance 1 или Last-икActivityView. Данные об активности пользователя в Windows 10 и как их удалить Доброго времени прочтения, уважаемые читатели Хабра. Побуждением к изысканиям, опубликованным в данной статье, стало набирающее все большую и большую популярность слово «форензика» и желание разобраться в вопросе — какие данные о цифровой жизнедеятельности рядового пользова...

[Из песочницы] Подводные камни Java Здравствуйте. Хочу представить вашему вниманию небольшую статью. Цель данной публикации: Показать наиболее часто встречающиеся ошибки начинающих и некоторые приемы их исправления. Понятно, что некоторые ошибки могут быть сложными и происходить по тем или иным причинам. Цель...

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

«Монстры в играх или 15 см достаточно для атаки» Дистанция атаки противников Спасибо читателям за проявленный интерес, рад что материалы полезны. Представляю вам четвертую статью цикла. Сегодня я хотел бы разобрать такой важный элемент для любого монстра — дистанция атаки. Их существует всего три: ближняя средняя да...

Система управления складом с использованием CQRS и Event Sourcing. Процесс Разработки Данная статья является продолжением ряда статей опубликованных здесь ранее и посвященных этапам: Постановке требований Проектированию Реализации. Service Layer В ней описано каким образом мы организовали процесс разработки привлекая разработчиков из собщества Magento с ...

Как написать вредное API Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. Всем привет! Я работаю тимлидом команды Integration Development в сервисе онлайн-бронирования отелей Ostrovok.ru и сегодня хотел бы поделиться своим опытом работы с ра...

Кейс: Для тех кто ХОЧЕТ работать и хочет много бабла Совсем недавно я публиковал кейс как получать бабло самым ленивым- http://blogarbik.ru/?p=9266 Таких нашлось очень много. Сегодня я опубликую кейс о том как получать бабло тем кто ХОЧЕТ работать.  Хочет работать это значит у этого человека нет пятницы, этот человек готов веч...

Биткойн 10 лет назад 3 января 2009 в 21:15:05 по Московскому времени Satoshi Nakamoto без лишнего шума запустил цепочку блоков того, что впоследствии назовут самой успешной криптовалютой в мире. Какой же Биткойн был тогда, в самом начале своего развития (2009-2010 гг.)? Я присоединился к сооб...

Интересные материалы для разработчика мобильных приложений #234 (5-11 ноября) В нашей новой подборке новости с Android Dev Summit, Continuous integration в Яндексе, тотальная интеграция в Google и интересное руководство по жизненному циклу пользователей. Заходите!

Телескоп TESS прислал первый научный снимок NASA / MIT / TESS NASA запустило новый космический телескоп TESS в апреле текущего года, а в мае аппарат прислал первый, тестовый снимок. Позже, в июле, космическое агентство США сообщило, что TESS приступил к полноценной научной работе; теперь же, согласно NASA, телеск...

MVP и Dagger 2 – скелет Android-приложения – часть 1 Данная статья нацелена на новичков в Android-разработке и призвана помочь в создании минимально необходимой структуры приложения. Так получилось, что я относительно недавно начал программировать под Android – после месяца без проекта в компании, где я работаю, меня определи...

[Из песочницы] SNMP + Java – невозможное возможно: пишем парсер MIB-файлов SNMP – не самый юзер-френдли протокол: MIB-файлы слишком длинные и запутанные, а OID'ы просто невозможно запомнить. А что если возникла необходимость работать с SNMP на Java? Например, написать автотесты для проверки API SNMP-сервера. Путём проб и ошибок при наличии доволь...

Анализ инцидентов, связанных с кибератаками на блокчейн-проекты Все помнят взлет криптовалюты в 2017 году, когда кто-то впервые о ней узнал, а кто-то смог сколотить состояние или даже успел потерять его. История криптовалюты берет начало в 90-х годах прошлого столетия, а большую популярность она получила в 2009 году, когда появился битко...

[Перевод] AI, практический курс. Современные архитектуры глубоких нейронных сетей для классификации изображений В предыдущей статье, Обзор нейронных сетей для классификации изображений, мы ознакомились с основными базовыми понятиями сверточных нейронных сетей, а также лежащими в их основе идеями. В данной статье мы рассмотрим несколько архитектур глубоких нейронных сетей, обладающих...

Я просканировал Украину В феврале австриец Christian Haschek в своем блоге опубликовал интересную статью под названием «Я просканировал всю Австрию» (https://blog.haschek.at/2019/i-scanned-austria.html). Конечно, мне стало интересно, что будет, если повторить это исследование, но уже с Украиной. Не...

HolyJS 2018 Moscow глазами участника Недавно прошла HolyJS 2018 Moscow. Прошла — огонь, но… При выборе данной конференции захотелось найти больше информации, как она вообще проходит — нашлось много статей от организаторов и программного комитета, но только одна от участника, и та опубликована несколько лет н...

Некоторые задачи школьной математики По мотивам статьи «Об одной задаче, которую больше не предлагают на собеседовании». Для начала рассмотрим задачу, которую всё-таки могут предложить на собеседовании. 38. Вычислить сумму ( «Задачи для детей от 5 до 15 лет») (с ошибкой не более 1% от ответа) Алгоритм для...

Опубликовано первое «живое» фото Samsung Galaxy S10 Искатель утечек Эван Бласс, также известный в Твиттере как @evleaks, опубликовал первое «живое» фото следующего флагмана от Samsung. Кроме того, он рассказал о новой интересной функции, которую получит линейка Galaxy S10. Фотография демонстрирует обычный Galaxy S10 в защитн...

[Из песочницы] Моя вторая зима без снега или магистратура в Бельгии Хочу поделиться своим опытом поступления в институт и переезда в Европу. Пришлось столкнуться с недостатком актуальной информации по документам и ценам, и вся имеющаяся сейчас информация в интернете значительно отличается от той реальности, которая меня ожидала. Это история...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 2 Продолжаем разговор про 3Д шутер за выходные. Если что, то напоминаю, что это вторая половина: Часть первая: отрисовка стен Часть вторая: населяем наш мир + оконный интерфейс Как я и говорил, я всеми силами поддерживаю желание в студентах делать что-то своими руками. В ча...

История переезда системного администратора в Германию. Часть вторая: переезд и первые шаги Всем привет. Я наконец-то изыскал время и написал вторую часть своей истории об IT-эмиграции. Первую часть можно прочитать тут — История переезда системного администратора в Германию. Часть первая: поиск работы и виза. В этой части я опишу подробно, как мы с сестрой обустра...

Обзор конференции Atlassian Это обзор конференции Atlas Camp, которая проходила с 5 по 8 сентября в Барселоне. Организовала её компания Atlassian, чтобы рассказать о нововведениях в своих продуктах и для непосредственного общения разработчиков Atlassian с посетителями. Докладчики говорили о грядущих ...

Как промышленная революция 4.0 меняет технологию разработки сложной техники. Внедрение PLM на МВЗ им. М.Л. Миля Многие российские машиностроительные предприятия внедряют и осваивают PLM (Product Life Cycle Management) – системы управления данными жизненного цикла изделий. Но под проектированием «в цифре» каждый подразумевает что-то своё. Так, я знаю организации, где отсканированные бу...

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

[Из песочницы] UICollectionView всему голова: Изменение представления на лету Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly". В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде...

Лицензирование nanoCAD Добрый день! Служба технической поддержки компании «Нанософт» получает достаточно много вопросов, касающихся лицензирования продуктов линейки nanoCAD. В связи с этим я решил собрать некоторые интересные вопросы от клиентов и ответить на них в нескольких статьях. Для начала ...

Выбираем, наконец, бюджетный мультиметр с хорошим функционалом Два года назад был опубликован пост с тестированием мультиметров. Цена протестированной модели Fluke 87-V начинается от 40 тысяч рублей, что для рядового пользователя находится за пределами разумного, за что автора закономерно отругали. Более того, часть пользователей разум...

[Перевод] Courier: мигрирование Dropbox на gRPC Примечание переводчика Большинство современных программных продуктов не являются монолитными, а состоят из множества частей, которые взаимодействуют друг с другом. При таком положении дел необходимо, чтобы общение взаимодействующих частей системы происходило на одном языке...

[Перевод] Искусственный интеллект Horizon Zero Dawn: индивидуальное поведение В первой части исследования ИИ Horizon Zero Dawn я рассказал, как игра создаёт стада управляемых искусственным интеллектом животных-машин. Для этого требуется сложная система иерархии агентов, в которой каждая машина может принимать решения о том, как вести себя, пользуясь п...

LLTR Часть 2: Алгоритм определения топологии сети по собранной статистике В предыдущих частях… 0. Автоматическое определение топологии сети и неуправляемые коммутаторы. Миссия невыполнима? (+ classic Habrahabr UserCSS) 1. Первые шаги в OMNeT++ и INET [tutorial] Q: Что у нас есть? A: Статистика, собранная с хостов. Q: Что мы хотим получить?...

[Из песочницы] Распределённый чат на Node.JS и Redis Небольшой вопрос/ответ: Для кого это? Людям, которые мало или вообще не сталкивались с распределенными системами, и которым интересно увидеть как они могут строится, какие существуют паттерны и решения. Зачем это? Самому стало интересно что и как. Черпал информацию с разных...

[Перевод] Назад к микросервисам вместе с Istio. Часть 1 Прим. перев.: Service mesh'и определённо стали актуальным решением в современной инфраструктуре для приложений, следующих микросервисной архитектуре. Хотя Istio может быть на слуху у многих DevOps-инженеров, это довольно новый продукт, который, будучи комплексным в смысле ...

В сети появился тизер новой Kingdom Rush Впервые разработчики из студии Ironhide Game рассказали о четвертой части Kingdom Rush еще в начале прошлого года. Именно тогда, они опубликовали первое тизерное изображение. После этого новая информация об игре не появлялась больше года, и вот сегодня представители Ironhide...

[Перевод] Пишем свой сетевой слой на Swift: протокол-ориентированный подход Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого с...

Сервер push сообщений В любом современном интернет сервисе можно выделить всего две основные функции: • Первая — это авторизация пользователей. • Вторая — это моментальная отправка некоего события с сервера на клиент. Первый пункт, думаю, в пояснении не нуждается. Второй пункт, это клиент се...

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

Блокчейн мёртв. Да здравствует блокчейн Название хайп, автор не прав, дизлайк, нет конструктива. Данная статья — рефлексия по поводу нынешней ситуации на рынке криптовалют. Не будет глубокого анализа ситуации и безмерной философии того, куда мы катимся. Чувствую себя членом анонимного клуба. Здравствуйте, я Иван...

[Перевод] Git: исправление ошибок и наведение порядка в коммитах Ошибка в коммите… Как её исправить? Беспорядок в истории коммитов… Как привести всё в пристойный вид? Автор статьи, перевод которой мы публикуем сегодня, говорит, что она написана специально для тех, кто задавался такими вопросами. По его словам, изучив методики работы с Git...

Принцип наименьшего действия. Часть 1 Когда я впервые узнал об этом принципе, у меня возникло ощущение какой-то мистики. Такое впечатление, что природа таинственным образом перебирает все возможные пути движения системы и выбирает из них самый лучший. Сегодня я хочу немного рассказать об одном из самых замеч...

Вторая жизнь лампы из рекламы IKEA В IKEA сняли продолжение трогательной рекламы 2002 года о незавидной судьбе старой настольной лампы. Тогда компания предлагала не привязываться к старым вещам, потому что новые всё равно лучше. Но прошло 16 лет, и в IKEA решили подарить лампе вторую жизнь, интересно обыграв ...