Социальные сети Рунета
Среда, 24 апреля 2024

Интересные доклады на HighLoad++ Siberia 2019 по версии Plesk Всем привет! В июне в Новосибирске прошла конференция по разработке высоконагруженных приложений HighLoad++ Siberia 2019. Ранее в статьях на Хабре мы упоминали, что мы в компании Plesk проводим ретроспективу конференций и докладов, которые посещаем, чтобы не потерять получен...

Как мы сделали PHP 7 в два раза быстрее PHP 5. Часть 2: оптимизация байт-кода в PHP 7.1 В первой части рассказа по мотивам выступления Дмитрия Стогова из Zend Technologies на HighLoad++ мы разбирались во внутреннем устройстве PHP. Детально и из первых уст узнали, какие изменениях в базовых структурах данных позволили ускорить PHP 7 более чем в два раза. На этом...

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

.NET: The Good Parts — от CLR до сообщества Хотите повстречаться с Джоном Гэллоуэем (исполнительным директором .NET Foundation), Павлом Йосифовичем (автором легендарной «Windows Internals» и новых курсов на Pluralsight)? Или может быть, с Алексом Тиссеном — 12-кратным MVP в категории Visual Studio? Или пройти тренинг ...

Оптимизация конструкции методами теории автоматического управления В предыдущей статье "Скрещивание ужа и ежа.." мы проверяли применимость методов настройки систем автоматического управления к «реальным» моделям. В это статье попробуем оптимизировать не систему управления, а сам «физический» объект. Для настройки регуляторов существует бол...

Как глубока кроличья нора? CLRium #5: Garbage Collector Мир несется вперед, движимый прогрессом и конкуренцией. Нам с вами нереально повезло: ведь для нас работают величайшие умы, создавая поистине серъезные механизмы: компиляторы, IDE, базы данных. Делают их так, что мы получаем истинное удовольствие, используя их. Один из этих ...

Как правильно оптимизировать разделы каталога в интернет-магазине: пошаговая инструкция Категории, они же разделы каталога, порой играют ключевую роль в продвижении сайта. Сюда посетители заходят напрямую из поисковиков. От того, насколько правильно и корректно вы оптимизировали эти страницы, зависит практически 90% успеха продвижения. За годы работы мы в AlkoD...

JS-битва: как я написал свой eval() Вы можете помнить Александра Коротаева по браузерной версии «Героев Меча и Магии»: расшифровка его доклада о ней собрала на Хабре громадное количество просмотров. А теперь он сделал игру, ориентированную на программистов: играть в неё надо JS-кодом. В этот раз на разработку...

CLRium #6: Парный доклад про Lock-Free, много теории и практически-полезных знаний Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня — День Программиста и есть отличный повод дать вам всем компл...

CLRium #5: Всё-всё-всё о GC и не только. Питер и Москва За окном бушует весна и гололед, а мы решили провести семинар CLRium #5, который на этот раз будет посвящен целиком и полностью самому низкому уровню: подсистемой управления памятью. Я, Станислав Сидристый, автор книги .NET Platform Architecture, решился объединить разрозне...

[Из песочницы] Небольшой бэкдор на Flask или как управлять компьютером в локальной сети Привет, Хабр! Недавно я посмотрел скачанную версию стрима по программированию «Как создать свое веб-приложение на Flask». И решил закрепить свои знания в каком-нибудь проекте. Долго не знал, что написать и мне пришла идея: «А почему бы не сделать мини-бэкдор на Flask?». В ...

Методы оптимизации кода для Redd. Часть 1: влияние кэша В первой статье цикла я активно продвигал идею, что разработка кода под Redd вторична, а первичен основной проект. Redd — вспомогательный инструмент, так что тратить на него уйму времени неправильно. То есть разработка под него должна идти быстро. Но это совсем не значит, чт...

Чек-лист по ASO: текстовая оптимизация Продолжаем цикл статей об оптимизации и продвижении приложений на мобильных рынках. В прошлый раз мы разобрали все составляющие визуального образа продукта и пообещали так же детально рассказать и о текстовой оптимизации. Выполняем свое обещание под катом. Читать дальше →

[Перевод] Сборщик мусора в V8: как работает Orinoco Не то чтобы работа сборщика мусора — это то, о чём каждый день думает фронтенд-разработчик, но это очень интересно. Если честно, это одна из самых жестоких статей, что я читал за последнее время: тут много про смерть в молодом возрасте, про гонения из одной области памяти в ...

Android-приложение в памяти. Доклад об оптимизации для Яндекс.Лончера В облегченной системе Android Go действуют повышенные требования к предустановленным приложениям — размеру и используемой памяти. Перед нами встала задача в эти требования уложиться. Мы провели ряд оптимизаций и решили серьезно поменять архитектуру нашей графической оболочки...

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

Калькулятор TI-89 Titanium и его программирование на C Не так давно на Хабре была статья про графический калькулятор TI-83, и, поскольку я являюсь обладателем TI-89 Titanium — калькулятором следующего поколения от Texas Instruments, под катом я решил рассказать про него, и показать, как для этого калькулятора можно создавать сво...

Как создать Python wrapper и не сойти с ума Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe...

Интервью с Zabbix: 12 откровенных ответов В IT есть такое суеверие: «Работает, не трогай». Это можно сказать и про нашу систему мониторинга. В Southbridge мы используем Zabbix — когда мы его выбирали, он был очень крут. И, по сути, альтернатив у него не было. Со временем наша экосистема обросла инструкциями, дополн...

Оптимизация сборки мусора в высоконагруженном .NET сервисе Ежедневно в сервисе Pyrus работают десятки тысяч сотрудников из нескольких тысяч организаций по всему миру. Отзывчивость сервиса (скорость обработки запросов) мы считаем важным конкурентным преимуществом, так как она напрямую влияет на впечатление пользователей. Ключевой мет...

Собираем окружение для современного TDD на JavaScript + VS code TDD уже давно не является чем-то диковинным: на хабре можно найти об этом подходе сотни статей, а каждый новичок знает, какую книгу об экстремальном программировании ему нужно прочитать. Многие мои коллеги тоже используют TDD. Они добавляют тест, пишут код, рефакторят, по...

ок.tech на HighLoad++ 2019 Highload++ очень близко! 7-8 ноября в Сколково в тринадцатый раз соберутся более 3000 разработчиков высоконагруженных систем. Мероприятие направлено на обмен знаниями о технологиях, позволяющих одновременно обслуживать многие тысячи и миллионы пользователей. Программа охва...

Оптимизация node.js приложения Дано: старое http node.js приложение и возросшая нагрузка на него. Стандартные решения проблемы: докинуть серверов, все переписать с 0, оптимизировать уже написанное. Давайте попробуем пойти путем оптимизации и разобраться, как можно найти и улучшить слабые места приложения....

[Из песочницы] Ускоряем сборку веб-приложения с webpack По мере того как ваше приложение развивается и растёт, увеличивается и время его сборки — от нескольких минут при пересборке в development-режиме до десятков минут при «холодной» production-сборке. Это совершенно неприемлемо. Мы, разработчики, не любим переключать контекст в...

[Перевод] Профилирование кода Go-проекта и решение проблемы с выделением памяти Пожалуй, каждому программисту известны слова Кента Бека: «Make it work, make it right, make it fast». Сначала надо сделать так, чтобы программа работала, дальше — надо заставить её работать правильно, а уже потом можно переходить к оптимизации.  Автор статьи, перевод кото...

[Перевод] Редактирование текста тоже вас ненавидит Опубликованная месяц назад статья Алексис Бингесснер «Рендеринг текста вас ненавидит» очень мне близка. В далёком 2017 году я разрабатывал интерактивный текстовый редактор в браузере. Неудовлетворённый существующими библиотеками на ContentEditable, я подумал: «Эй, да просто...

О вреде неправильных оптимизаций Когда дело доходит до оптимизации системы для достижения максимальной производительности, можно очень легко наделать ошибок, если бездумно применять чужие практики. Одной из таких практик является указание nobarrier при монтировании файловых систем. Читать дальше →

Оптимизация Unity UI В этой статье разбираются вопросы оптимизации UI-элементов проектов, сделанных в ​Unity​. На основании информации из официальной документации и личного опыта я постарался наглядно объяснить принципы работы UI-элементов. Также здесь вы найдёте практические советы, которые по...

Performance Review и выявление тайного знания (обзор и видео доклада) 26 апреля на конференции KnowledgeConf 2019 прозвучал доклад «Performance Review и выявление тайного знания». Обычно мы рассказываем про технологии, однако, чтобы развиваться как компания, занимаемся далеко не только этим. Данное выступление, посвящённое инженерам и их раз...

Domain-driven design: рецепт для прагматика Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы? Специально для Хабра — текстовая расшифровка доклада «Domain-driven design: рецепт для прагматика». Доклад был сделан на .NET-конференции DotNext,...

Немного про Google Home Hub, или как я купил фоторамку за 130 Евро Привер Хабр. Концепция «умного дома» и его использования с отдельного экрана давно казалась мне интересной. Одно время я было начал проект с OpenHAB и Raspberry Pi — весьма продвинутая штука, но необходимость настраивать кучу конфигов быстро надоела. И случайно увидев в про...

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

От заявки до сцены. Жизнь доклада на Saint TeamLead Conf 2019 Жизнь доклада на TeamLead Conf идет в несколько этапов. Сначала он появляется в виде заявки, потом в программе на сайте конференции, перетекает в рассылку, в анонс на Хабр и на сцену. После — живет в расшифровке на Хабре и YouTube-канале, если попал в список лучших. Чтобы пе...

Gestalt-тестирование: новый подход к оптимизации почтовых рассылок на основе байесовской теории и машинного обучения Мультивариантное (A/B/N, или сплит) тестирование – самый популярный способ тестирования почтовых рассылок. Этот инструмент доказал свою эффективность, но у него есть недостатки, связанные в первую очередь с тем, что тестирование и основная отправка разнесены во времени. ...

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 1: поиск работы На Хабре да и вообще в русскоязычном Интернете есть немало инструкций о том, как перебраться в Нидерланды. Я и сам немало полезного почерпнул из одной статьи на Хабре (ныне, видимо, скрытой в черновике). Но я все-таки расскажу о своем опыте поиска работы и переезда в эту евр...

Делаем ретро-игру из 80-х или как готовить макеты для лазерной резки Хабр, привет! Так получилось, что меня давно просили сделать старую настольную игру из СССР — «Сражение». Вот пришло время выполнять обещание, заодно решила показать как создавать макеты для лазерной резки и что получается в итоге. Большой сложности в этом нет, но есть неко...

Автотестирование: десять лайфхаков от команды Skyeng Привет, я Андрей Шальнев, QA Automation Lead в проекте Skyeng Vimbox. В течение года мы с командой занимались оптимизацией процессов автоматического тестирования и сейчас вплотную подошли к ее финальной стадии. А это хороший повод выдохнуть, пересмотреть бэклог и подвести к...

Вуайеризм тестировщика: как правильно подглядывать за людьми и зачем это нужно Насколько UX — зона ответственности тестировщиков? Ранее Антонина Хисаметдинова на конференции по тестированию Heisenbug рассказывала о правильном отображении ошибок, и расшифровка того доклада собрала на Хабре множество просмотров. А в декабре на Heisenbug 2018 Moscow она п...

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

CLRium #6: Concurrency & Parallelism. Два дня: от процессора до async/await Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. В рамках семинара мы полным ходом изучаем вопросы многопоточности, которые на самом деле очень и очень сложны. Программа немного меняется, но получается очень хардко...

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

Приглашаем на митап по frontend-разработке в высоконагруженных сервисах 27 июня команда Почты Mail.ru проведёт SmartMail Meetup, посвященный frontend-разработке. В программе митапа — технические доклады о frontend-разработке Почты. Обсудим, чем живут фронтендеры Mail.ru и каково работать с высоконагруженными сервисами. Читать дальше →

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

QEMU.js: теперь по-серьёзному и с WASM Когда-то давно я смеха ради решил доказать обратимость процесса и научиться генерировать JavaScript (а точнее, Asm.js) из машинного кода. Для эксперимента был выбран QEMU, некоторое время спустя была написана статья на Хабр. В комментариях мне посоветовали переделать проект ...

WebAssembly в продакшне и «минное поле» Smart TV: интервью с Андреем Нагих Интерес к WebAssembly велик, но пока что нечасто встретишь людей, использующих эту технологию в рабочем проекте. Разработка приложений под Smart TV — тоже «нетипичный JavaScript», когда все слышали о чём-то, но немногие лично пробовали. А у Андрея andreynagih Нагих есть о...

Структуры против Классов С самого начала, когда я начинал заниматься программированием, вставал вопрос, что использовать для улучшения быстродействия: структуру или класс; какие массивы лучше использовать и как. По поводу структур, Apple приветствует их использование, объясняя это тем, что они лучше...

Сжимаем APK, стараясь сохранить его работоспособность / PxHere / PD Оптимизация веса APK — это нетривиальная, но очень актуальная во времена Instant App, задача. Включение proguard избавит вас от ненужного кода, если ваши зависимости можно определить на этапе компиляции, но в APK есть ещё несколько видов файлов, которые можно ...

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

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

Что интересного я извлёк из книги «Theory of Fun for Game Design» от Рафа Костера В этой статье я тезисно перечислю наиболее интересные для меня выводы и чеклисты, которые я нашёл в книге Рафа Костера «Theory of Fun for Game Design». Читать дальше →

Зачем смотреть онлайн-трансляции, если можно читать Хабр «Зачем мне смотреть конференцию онлайн, я потом расшифровку докладов на Хабре прочитаю» — скажет человек, который любит читать тексты на Хабре. «Зачем смотреть онлайн, если можно сходить вживую?». По крайней мере, я именно это спросил пару лет назад. Потом я вбил эти вопросы...

Data Science Digest Хабр, привет! Очень давно я вел на Хабре дайджест посвященный AI и BigData. Сейчас хочу восстановить его и раз в месяц делать подборку интересных материалов из области Data Science. В январе я начал опрос дата-сайентистов об их рабочих инструментах. За это время в нем ...

Еще один способ оптимизации docker-образов для Java приложений История по оптимизации образов для java приложений началась с выхода статьи в блоге спринга — Spring Boot in a Container. В ней обсуждались различные аспекты по созданию docker образов для spring boot приложений, в том числе и такой интересный вопрос, как уменьшение размеров...

Строим модели, «продаем» управление знаниями руководству и исправляем ошибку выжившего Недавно я рассказала о докладах, которые сформировали программу конференции про управление знаниями в IT компаниях KnowledgeConf. Но не докладами едиными, все таки самое важное на конференции — это общение экспертов, дискуссии, столкновение мнений, на стыке которых возникает...

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

[Из песочницы] Скелетная анимация на стороне видеокарты Не так давно Unity представила ECS. В процессе изучения мне стала интерестно, а каким образом можно подружить анимацию и ECS. И в процессе поиска я наткнулся на интересную технику, которую применяли ребята из NORDVEUS в своем демо для доклада Unite Austin 2017. Unite Austin...

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

Отображение и оптимизация вывода на терминал в вебе Не так давно я столкнулся с довольно простой и одновременно интересной задачей: реализация read-only терминала в веб приложении. Интереса задаче придавали три важных аспекта: поддержка основных ANSI Escape sequences поддержка минимум 50 000 строк данных отображение данных п...

[Перевод] 5 главных алгоритмов сэмплинга Работа с данными — работа с алгоритмами обработки данных. И мне приходилось работать с самыми разнообразными на ежедневной основе, так что я решил составить список наиболее востребованных в серии публикаций. Эта статья посвящена наиболее распространённым способам сэмплинга ...

Дело в шляпе: топ-10 докладов Heisenbug 2018 Moscow Как упростить рефакторинг? Как научить разработчика избегать типовых ошибок в UI? Как вызвать восторг зрителей конференции по тестированию, если сам ты не тестировщик? По традиции, открывая для всех видеозаписи докладов Heisenbug, мы публикуем на Хабре топ-10, составленны...

Пробуем preload (PHP 7.4) и RoadRunner Привет, Хабр!  Мы часто пишем и говорим о производительности PHP: как мы ей занимаемся в целом, как мы сэкономили 1 млн долларов при переходе на PHP 7.0, а также переводим разные материалы на эту тему. Это вызвано тем, что аудитория наших продуктов растёт, а масштабирован...

Расширяемый Postgres На прошедшем PGConf.Russia был доклад про расширение MobilityDB, а Андрей Бородин предложил идею расширять методы индексов под задачу. Продолжу тему с расширением Postgres под решаемую задачу на примере расширения сделанного в рамках HighLoad Cup 2018, код доступен на GithH...

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

[Перевод] Guix — самая продвинутая операционная система Операционные системы (ОС) — обширная тема. На протяжении десятилетий здесь доминировал один подход: Unix. Действительно, большинство современных систем, включая большинство дистрибутивов GNU/Linux, *BSD и macOS, придерживаются архитектуры Unix. (Windows нет, но там почти нич...

Обзор самых интересных докладов CodeFest 2019: версия True Engineering В Новосибирске прошла юбилейная, десятая конференция CodeFest. Программа была очень насыщенной: десять секций о разработке, тестировании, дизайне, управлении и развитии. Сотрудники True Engineering два дня конспектировали доклады, теперь хотим поделиться этой пользой с вами....

[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...

Отображение текста в Android Отображение текстовой информации — наверное, самая базовая и важная часть многих Android-приложений. В данной статье пойдет речь о TextView. Каждый разработчик, начиная с «Hello World», постоянно сталкивается с этим элементом пользовательского интерфейса. Периодически в раб...

[Из песочницы] Формула расчёта простых чисел и оптимизация перебора делителей Приветствую! Решил на досуге исследовать задачу поиска простых чисел. Тема обширная и интересная. Хочу поделиться парой соображений по ней, которые пришли в голову. Поиск в сети интернет подобных не выявил, указав на их оригинальность. Во-первых, нигде не нашёл математическ...

Как мигрировать к другому мобильному оператору и не обанкротиться (для владельцев iOS) Привет, Habr! Решил поделиться своим опытом, как яблочному рабу владельцу iPhone без проблем мигрировать от одного мобильного оператора к другому. Итак, все знают, что в России с 1 декабря 2013 года можно перейти от одного мобильного оператора к другому со всеми вытекающим...

Chrome Audit на 500: Часть 1. Лендинг В инструментах разработчика браузера хром есть вкладка «Audit». На ней расположился инструмент который называется Lighthouse, служит он для анализа насколько хорошо сделано веб приложение. Недавно я решил протестировать одно приложение и ужаснулся результатам. Сразу по нес...

Как изменения в Google Play повлияют на ASO В середине марта прошла конференция Game Developers Conference (GDC 2019), на которой Google представила обновления своего Google Play Store. Обновление нацелено на совершенствование процесса разработки приложений и игр под Android и поддержку общего роста рынка мобильных иг...

Learn While Travel – как мы ездили на 1st European Business Analysis Day В российском ТехЦентре Дойче Банка есть интересная программа Learn While Travel, в рамках которой сотрудник может во время отпуска в другом городе посетить профессиональную конференцию по своей специальности за счет средств компании.  Я, Кристина Егорова, и мои коллеги, Оля...

Книга «Vue.js в действии» Привет, Хаброжители! Цель этой книги — дать вам знания, с помощью которых вы без колебаний присоединитесь к любому проекту, использующему эту библиотеку. Книга предназначена для всех, кто заинтересован в изучении Vue.js и имеет опыт работы с JavaScript, HTML и CSS. От вас не...

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

Конференция для тех, кто интересовался наукой еще до того, как это стало мейнстримом Привет, Хабр! Возможно, мы с вами уже знакомы. 5 лет мы были частью команды, которая организовывала известные конференции для айтишников: DUMP, PyCon Russia, FailConf, Convert. Теперь мы — «Человек наук». В какой-то момент мы поняли, что конференции про языки программирова...

Сборка игрового компьютера с процессором Intel Core i7. Intel Core i7-9700K На текущий момент на рынке игровых комплектующих идет настоящая война за потребителя — компания Intel, которая раньше побеждала всех и вся, теперь уступает позиции AMD. Конечно, пока что война еще не проиграна и Intel есть чем ответить своему конкуренту. Сегодня я решил собр...

[Перевод] Почему вам следует использовать pathlib От переводчика: Привет, хабр! Представляю вашему вниманию перевод статьи Why you should be using pathlib и её продолжения, No really, pathlib is great. Много внимания нынче уделяется таким новым возможностям Python, как asyncio, оператору :=, и опциональной типизации. При э...

[Из песочницы] Передача знания и Нейронный машинный перевод на практике Нейронный машинные перевод (НМП, англ. Neural Machine Translation, NMT) развивается очень быстро. Сегодня, чтобы собрать свой переводчик, не нужно иметь два высших образования. Но чтобы обучить модель, нужен большой параллельный корпус (корпус, в котором предложению на исход...

В умных стратегиях Google Ads стала доступна оптимизация по офлайн-посещениям Google Ads позволил проводить оптимизацию по офлайн-посещениям при использовании интеллектуального назначения ставок. Новая функция доступна для поисковых и торговых кампаний. Ранее учитывать можно было только онлайн-конверсии. Прежде чем использовать новый вариант на уровне...

Вместе пытаемся сломать игру «7 на 9» Сегодня будет маленький этюд просто понять, интересно ли вам такое. В общем, есть такой дядька Алексей Савватеев, который читает потрясающий курс по теории игр. Он же написал книгу «Математика для гуманитариев», где очень тонко постебался над всеми гуманитариями. Просто это ...

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

Предварительный обзор Colorful iGame GeForce GTX 1660 Ti Ultra. Мощная карта Буквально недавно мы написали новость о том, что компания NVIDIA представила свои новые видеокарты GTX 1660 Ti, которые, если верить тестам, очень даже хорошо себя зарекомендовали. Теперь появилась информация о том, что некоторые партнеры уже выпустили в продажу свои видеока...

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

Optlib. Реализация генетического алгоритма оптимизации на Rust В этой статье описывается библиотека optlib, предназначенная для решения задач глобальной оптимизации на языке Rust. На момент написания этой статьи в этой библиотеке реализован генетический алгоритм нахождения глобального минимума функции. Библиотека optlib не привязана к к...

Единственный способ ускорения Android, без root С выходом новых операционных систем, компания Google смогла решить кучу проблем Android, что очень приблизило комфорт от использования данной системы к ios, однако это касается только Android Oreo и его приемников. Так можно хоть что-то сделать, в плане оптимизации общей отз...

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

PVS-Studio для Visual Studio Многие наши статьи посвящаются чему угодно, но только не самому инструменту PVS-Studio. А ведь мы очень много делаем, чтобы разработчикам было удобно пользоваться нашим инструментом. Но как раз это часто оказывается за кадром. Решил исправить эту ситуацию и рассказать об пл...

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

Разработка под WebAssembly: реальные грабли и примеры Анонс WebAssembly состоялся в 2015-м — но сейчас, спустя годы, всё ещё немногие могут похвастаться им в продакшне. Тем ценнее материалы о подобном опыте: информация из первых рук о том, каково с этим жить на практике, пока что в дефиците. На конференции HolyJS доклад об о...

Windows 10 on ARM для Lumia 950 XL теперь имеет пользовательский интерфейс набора Выпуск Windows 10 для чипсетов ARM также открыл возможности для портирования операционной системы на устаревшие телефоны Windows Phone и Android с флагманом Snapdragon SoC. Разработчики уже опробовали Windows 10 on ARM на Lumia 950 XL и теперь занимаются оптимизацией пользов...

Пишем на Java для Nintendo DS Введение Все началось с того, что я случайно нашел список homebrew программ (программы, разработанные усилиями пользователей для устройств, не предназначенных для запуска пользовательского ПО) для Nintendo DS и в нем увидел одну очень интересную строчку, а именно: «Pstros ...

Google: оптимизация для пользователей = оптимизация для RankBrain На днях сотрудник Google Гэри Илш ответил на вопрос касательно оптимизации для RankBrain. В частности, изменились ли рекомендации поисковика или же они остались прежними. Вопрос, адресованный Илшу и Джону Мюллеру, был опубликован в Twitter. Его автор спросил: «По-прежнему ли...

[Из песочницы] Создание Redux-подобного глобального хранилища, используя React Hooks Привет, Хабр! Представляю вашему вниманию перевод статьи "Build a Redux-like Global Store Using React Hooks" автора Ramsay. Давайте представим, что я написал интересное предисловие к этой статье и теперь мы сразу можем перейти к по-настоящему интересным вещам. Если...

Книга « Нереальная реальность. Путешествие по квантовой петле» Привет, Хаброжители! Что есть время и пространство? Откуда берется материя? Что такое реальность? «Главный парадокс науки состоит в том, что, открывая нам твердые и надежные знания о природе, она в то же время стремительно меняет ею же созданные представления о реальности....

[Перевод] «Современный» C++: сеанс плача с причитаниями Здесь будет длиннющая стена текста, с типа случайными мыслями. Основные идеи: В C++ очень важно время компиляции, Производительность сборки без оптимизаций тоже важна, Когнитивная нагрузка ещё важней. Вот по этому пункту особо распространяться не буду, но если язык программ...

Wolfensteiny 3D — реверс-инжиниринг 251 байтов JavaScript При написании кода многие не задумываются ни о чем, кроме логики самой программы. Меньшее число людей думают об оптимизации кода по времени, по памяти. Но лишь единицы доходят до последнего уровня — сжатии программы до рекордно маленького размера. Посмотрите, например, на ...

Возможно ли без Redux? На сегодняшний день можно найти уйму позиций, где требуется react/redux. React прекрасен, вопросов нет. Вопрос к Redux — возможно ли без него. Если погуглить чуть-чуть, найдется добротная статья на хабре (https://habr.com/ru/post/350850/), где автор задается таким же вопросо...

Директ открыл доступ к оптимизации ROI по целям для всех рекламодателей Команда Яндекс.Директа объявила, что оптимизация ROI по ключевым целям стала доступна для всех рекламодателей. Для этого Яндекс обновил стратегию «Оптимизация рентабельности». Теперь её можно подключить в несколько кликов, а для её работы не обязательно настраивать электронн...

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

CLRium #5: Garbage Collector. Крупнейший семинар по .NET Наш семинар уверенно набирает слушателей и постепенно перерастает офис компании EPAM в Петербурге: мы планируем набрать до 250 разработчиков под одной крышей как в Петербурге, так и в Москве. А всё почему? Когда-то я выступал с докладом по работе Garbage Collector и доклад ...

Как отправить фото без сжатия по WhatsApp WhatsApp является крайне удобной программой не только для общения, но и для того, чтобы делиться со своими друзьями и родственниками видеозаписями, различными файлами, документами и фотографиями. И если с первыми тремя пунктами все более или менее понятно, то вот со снимкам...

[Из песочницы] Как разработать ещё один платформер с помощью Unity. Ещё один туториал Привет, Хабр! Под катом вас ждёт ещё одна статья, которая расскажет о том, как я поставил себе цель запрограммировать игру, основываясь на переводе статьи на Хабр под названием Паттерны дизайна уровней для 2D-игр. Статья имеет много текста (как обычного, так и исходного) и м...

SciPy, оптимизация с условиями SciPy (произносится как сай пай) — это основанный на numpy математический пакет, включающий в себя также библиотеки на C и Fortran. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных, как MATLAB, IDL, Octave, R или SciLab. В это...

Foxconn сокращает бизнес по производству Android-смартфонов Компания Foxconn, которая занимается сборкой мобильных устройств, приняла решение об оптимизации производственных процессов и смене приоритетов. Сотни сотрудников, которые ранее курировали направление Android-смартфонов, теперь займутся автомобильной электроникой. Пойти на э...

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

TheOutloud — озвучивай и делись любимыми статьями и историями Привет всему сообществу, Habr! Уже некоторое время я являюсь вашим читателем и сегодня решил, что пришло время для моего первого поста здесь. Я давно хотел научиться программировать и последние пару месяцев проводил все свободное время, просматривая обучающие ролики на yout...

Хабра-детектив на выходных Вы ведь знаете, что такое дежавю? То самое "это уже где-то было", только не про последний вышедший в кинотеатре фильм, а про то, что происходит именно с вами. К примеру, не казалось ли вам, что вы уже видели какую-либо статью на Хабре раньше? В большинстве случаев, в этом н...

Управление M5Stack через BLE Интро Уже сравнительно давно микроконтроллер ESP32 стал неким стандартом для множества DIY проектов. И действительно, возможность работы с Wi-Fi, Bluetooth, встроенная энергонезависимая память, а так же большое число выводов позволяют сделать массу интересных проектов. В эт...

Андрей Себрант (Яндекс): Бизнес в Эпоху Искусственного Интеллекта Сейчас все говорят о новой революции, которую несет искусственный интеллект и машинное обучение. Умные алгоритмы проникают во все сферы жизни: от поисков бозона Хиггса, до выбора фильма на вечер. Самые передовые компании уже активно внедряют эти технологии в свои продукты и ...

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

Массовая загрузка данных, или Как накормить китайскую деревню Чем высоконагруженная информационная система похожа на огромный гипермаркет? Что делать, если 150 млн человек одновременно придут в гипермаркет за покупками? За что можно наказать руководителя гипермаркета, а за что нет? Почему время загрузки документа ночью намного меньше, ...

Куда деть катушку? Привет всем! В этой статье я опишу свое решение проблемы, с которой сталкивается практически любой 3d-печатник, а именно: Куда деть пустую катушку из-под пластика??) Первый пластик, которым я печатал, это пластик от всеми известной фирмы Bestfilament, пластик у них довольно ...

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

[Из песочницы] Управление знаниями в ИТ: первая конференция и общая картина Что ни говори, а управление знаниями (Knowledge Management, KM) все еще остается в среде айтишников этаким диковинным зверьком: Вроде бы понятно, что знание – сила (с), но обычно под этим понимаются некие личные знания, собственный опыт, пройденные тренинги, прокачанные скил...

[Из песочницы] Как Telegram сливает вас Ростелекому Привет, Хабр. Однажды мы сидели, занимались своими очень продуктивными делами, как ВНЕЗАПНО выясняется тот факт, что по какой-то неведомой причине к инфраструктуре Telegram в качестве пира подключены как минимум замечательный Ростелеком и не менее прекрасный НТЦ «ФИОРД». С...

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

Яндекс.Директ начал оптимизировать целевые действия в приложениях Яндекс.Директ теперь оптимизирует не только установки, но и целевые действия в приложениях: например, оформление подписки или заказа. Рекламодатели, которые участвовали в закрытом тестировании этой возможности, уже получили хороший прирост конверсий. Прежде чем настроить опт...

[Из песочницы] Почему вам стоит выкинуть MVP из своих проектов Всем привет! Сегодня я бы хотел поговорить об архитектуре Android-приложений. На самом деле я не очень люблю доклады и статьи на данную тему, но недавно ко мне пришло осознание, с которым я бы хотел поделиться. Читать дальше →

Windows 10 Build 18875 доступна для загрузки Довольно давно не было сборок Windows 10 20H1 и вот вчера Microsoft выпустила новую сборку под номером 18875. Одним из больших изменений сборки это то, что данный билд теперь распространяется и для пользователей Fast Ring, хотя изначально такого не планировалось. Непонятно, ...

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

RISC-V: RocketChip в неестественной среде обитания Недавно на Хабре публиковалась статья о том, как поэкспериментировать с архитектурой RISC-V без затрат на «железо». А что, если сделать подобное на отладочной плате? Помните мемы про генератор игр: штук 20 галочек в стиле «Графика не хуже Кризиса», «Можно грабить корованы» ...

Список полезных книг по анализу данных, математике, data science и machine learning Хабр, привет! Написал пост, который идет строго в закладки, он со списком полезнейших книг по анализу данных, математике, data science и machine learning. Они будут полезны как новичкам, так и профессионалам. Для удобства можете читать здесь или использовать удобный google ...

«ТехноТекст», эпизод II. Рассказываем, как живут и работают над статьями авторы Хабра Приглашаем к участию в конкурсе хабраавторов. Самое главное в Хабре — это его читатели, которые одновременно и авторы. Без них Хабра бы не существовало. Поэтому нам всегда интересно, как у них дела. Накануне второго «ТехноТекста» мы решили поговорить с победителями прошлого...

Как Google изменит многозадачность в Android Q Многозадачность на Android прошла долгий путь. За время существования «зеленого робота» разработчики несколько раз меняли систему многозадачности, пока не привели к тому виду, в котором мы ее знаем сейчас. Однако было бы наивно считать, что на этом работа по ее оп...

[Из песочницы] Выборы, выборы, кандидаты — хостинги «Нам нужен новый хостинг», — осенило нашего шефа в начале весны. Это не было весенним обострением, это было объективной необходимостью, потому что старая кобра пережила свой яд предыдущий почему-то решил, что раз клиенты из-за 152-ФЗ идут сами, то можно предоставлять услуги ...

Product Fest — конференция по управлению IT-продуктами, на которую вы захотите пойти Управление продуктом — состоявшаяся дисциплина. На продакт-менеджеров большой спрос, а практических знаний хватает не у всех, поэтому 9 декабря мы проведем профессиональную продуктовую конференцию Product Fest. К её организации и программе мы применяем правило: «Сделать таку...

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

Как быстро очистить смартфон от ненужных контактов Сегодня это сложно представить, но раньше (а если быть точным, то в начале 2000-х) память записной книжки большинства телефонов ограничивалась 150-200 контактами. Со временем количество ячеек памяти росло, пока и вовсе это ограничение не было снято. И сегодня на наших сматр...

Лексическое окружение (LexicalEnvironment) и Замыкание (Closures) в EcmaScript Привет, Хабр! Давно ничего не писал, большая загруженность на проекте крайние несколько недель, но сейчас появилось свободное время, поэтому решил представить вашему вниманию новую статью. Сегодня мы продолжим разбирать ключевые концепции EcmaScript, поговорим о Лексическо...

Check Point: оптимизация CPU и RAM Здравствуйте, коллеги! Сегодня я хотел бы обсудить очень актуальную для многих администраторов Check Point тему «Оптимизация CPU и RAM». Нередки случаи, когда шлюз и/или менеджмент сервер потребляют неожиданно много этих ресурсов и хотелось бы понять, куда они “утекают” и ...

Happy Party или пара строк-воспоминаний о знакомстве с секционированием в PostgreSQL10 Предисловие или как возникла идея секционирования Начало истории здесь: Ты помнишь, как все начиналось. Все было впервые и вновь. После того, как почти все ресурсы для оптимизации запроса, на тот момент, были исчерпаны, встал вопрос — а что же дальше? Так и возникла идея о с...

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

Buildbot в примерах Потребовалось мне настроить процесс сборки и доставки на сайт пакетов программ из Git-репозитария. И увидев, ни так давно, тут на Хабре статью по buildbot (ссылка в конце) решил для этого попробовать его и применить. Так как buildbot — это распределённая система, то будет ло...

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

Игра в прятки с оптимизатором. Гейм овер, это CTE PostgreSQL 12 Эта статья — продолжение рассказа о новом в PostgreSQL 12. Мы уже разобрали SQL/JSON (патч JSONPath) в статье «Что заморозили на feature freeze 2019. Часть I. JSONPath», теперь очередь CTE. CTE CTE это Common Table Expression — общие табличные выражения, их еще называют к...

Variational Inference — что это такое и с чем это едят? Привет, Хабр! Недавно пообщался с коллегами о вариационном автоэнкодере и выяснилось что многие даже работающие в Deep Learning знают о вариационном выводе (Variational Inference) и в частности Нижней вариационной границе только по наслышке и не до конца понимают что это та...

Приложения для электронных книг на операционной системе Android. Часть 4. Игры В сегодняшней, четвёртой (предпоследней), части статьи о приложениях для электронных книг на операционной системе Android будет рассмотрена только одна, но обширная тема: игры. Краткое содержание предыдущих трёх частей статьиВ 1-ой части были подробно рассмотрены причины, п...

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

Современные устройства ввода-вывода быстрее, чем процессоры. Обзор статьи Хочу рассказать о статье "I/O Is Faster Than the CPU – Let’s Partition Resources and Eliminate (Most) OS Abstractions", опубликованной на личной странице одного из разработчиков ScyllaDB, Pekka Enberg. О ней узнал из видео. С докладом по этой статье авторы должны были высту...

Android установили на игровую приставку Nintendo Switch Хотя поддержка Android на Nintendo Switch, скорее всего, никогда не будет официально реализована, это не помешало различным мододелам установить «зеленого робота» на популярную портативную приставку, да еще и сделать это так, как всем бы того хотелось. Между ОС Switch и And...

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

Обзор программы DotNext 2019 Moscow: кто и о чём расскажет? Порой не понимаешь, интересна ли тебе новая конференция: открываешь сайт, а там сорок докладов, и глаза разбегаются. Это что же, надо вдумчиво пройти по сорока страницам с описаниями? А если на сайте ещё и раздел «воркшопы», о них что знать нужно? Чтобы помочь хабравчанам...

Анонс MIUI 11: основные изменения, какие смартфоны и ... Техническое превосходство своих флагманов Xiaomi Mi MIX Alpha и Mi 9 Pro 5G компания решила дополнить новым программным продуктом. Сегодня была представлена новая версия фирменной оболочки MIUI 11, акцент в которой сделан на функциональность, плавность, оптимизацию и искусст...

Дискретная математика для WMS: алгоритм сжатия товаров в ячейках (часть 1) В статье мы расскажем, как решали проблему нехватки свободных ячеек на складе и о разработке алгоритма дискретной оптимизации для решения такой задачи. Расскажем о том, как мы «строили» математическую модель задачи оптимизации, и о том с какими трудностями мы неожиданно ст...

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

[Перевод] Реализуем UI в iOS: улучшаем, ускоряем, масштабируем Привет! Меня зовут Азат Зулькарняев, я занимаюсь разработкой iOS-приложений в компании Badoo. При создании мобильных приложений большая часть времени уходит на разработку UI, и оптимизация этого процесса всегда является актуальной темой в среде разработчиков. Мой коллега А...

«Эти глупые правила, которые всех раздражают»: обсуждение практик работы с полями для ввода паролей Недавно на GitHub опубликовали список ресурсов с необоснованно сложными и просто неудачными правилами для паролей. Подборку активно обсуждают, и мы решили подключиться к дискуссии. Читать дальше →

[Из песочницы] Angular. Понимание @Input, @Output и EventEmitter Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding @Input, @Output and EventEmitter in Angular» автора foolishneo. Приветствую всех желающих накапливать информацию о тонкостях работы фреймворка Angular. Сегодня посчитал нужным лучше изучить информацию,...

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

Связный список на Python: Коты в коробках И снова здравствуйте! В преддверии старта курса «Разработчик Python» подготовили для вас небольшой авторский материал о связных списках на Python. Python очень удобный и многогранный язык, но по умолчанию не имеет такой структуры данных как связный список или LinkedList. ...

[Перевод] Если вы не пишете программу, не используйте язык программирования Лесли Лэмпорт — автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Это он впервые, ещё в 1979 году, ввёл понятие последовательной согласованности, а его статья «How to Make a Multiprocessor Comput...

Как Иван метрики DevOps делал. Начало Однажды Ивана позвали на совещание, чтобы обсудить метрики DevOps. Каждый участник подготовил к встрече перечень неких метрики, которые на его взгляд, стоило бы реализовать. Слушая доклады Иван попытался подсчитать сколько метрик было предложено: 5,10, опять 10, и еще окол...

PHP Russia 2019: свой «стадион» для языка первой лиги На нашем рынке нет конференции, которая была бы посвящена PHP. А это все равно что футбольный клуб первой лиги без своего стадиона. Ведь в России PHP на втором месте по числу вакансий для программистов (позади 1C, но впереди Java). У него разветвленная экосистема и гигантска...

[Перевод] Механизмы расширяемых расширений в JavaScript Здравствуйте, коллеги! Напоминаем, что не так давно у нас вышло 3-е издание легендарной книги «Выразительный JavaScript» (Eloquent JavaScript) — на русском языке напечатано впервые, хотя качественные переводы предыдущих изданий встречались в Интернете. Тем не менее, ни J...

pg_stat_statements + pg_stat_activity + loq_query = pg_ash? В качестве короткого дополнения к статье Попытка создать аналог ASH для PostgreSQL. Задача Необходимо связать историю представлений pg_stat_statemenets, pg_stat_activity. В результате, используя историю планов выполнения из сервисной таблицы log_query, можно получить очень ...

Десятка лучших докладов C++ Russia и плейлист конференции в открытом доступе Этот хабрапост объединяет десять лучших докладов от таких спикеров, как Nicolai Josuttis, Timur Doumler, Андрей Давыдов и многих других. C++17/20/23, concepts, immutable data structures, concurrency, parallelism, metaprogramming — всё это темы конференции C++ Russia 2019, пр...

Компьютер для выживших в апокалипсисе из Raspberry Pi На Хабре не раз и не два публиковались DIY-статьи с описанием проектов, центральной частью которых был Raspberry Pi. «Малинка» в самом деле подходит для подобных целей практически идеально. Недавно появился еще один такой проект, который заслуживает внимания. Называется ...

Разработчики рассказали, что не могут перенести Android-приложения на HarmonyOS HarmonyOS — новая ОС от Huawei на замену Android Без чего немыслима никакая современная ОС? Конечно, без экосистемы и софта. Но если спроектировать составные элементы экосистемы такой компании, как Huawei, в общем-то, по силам, то перенести чужое ПО вручную — уже...

How to get Security Log with non-administrative user Привет Хабр! Читайте под катом как получить доступ к логу безопасности Windows без прав администратора. Эта будет не первая статья на Хабре связанная с логами Windows и наверно не самая оригинальная, но на мой взгляд я потратил слишком много времени на поиск простого решен...

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

Приглашаем на Tarantool Conference 17 июня 17 июня в московском офисе Mail.ru Group пройдёт вторая ежегодная открытая Tarantool Conference или коротко T+ Conf — конференция не только про сам Tarantool, а вообще про использование in-memory computing, Tarantool, кооперативной многозадачности и Lua для разработки высок...

Дефекты лайков Вместо эпиграфа. Больше всего лайков собирают «котики». Можно ли это считать признаком эпидемии токсоплазмоза? В 1636 году, некий француз, Пьер де Ферма, по образованию и профессии юрист, написал трактат «Введение к теории плоских и пространственных мест», где изложил то...

[Из песочницы] Оптимизация производительности apache2 Многие используют apache2 в качестве веб-сервера. Однако мало кто задумывается об оптимизации его производительности, что прямо пропорционально сказывается на скорости загрузки страниц сайта, скорости обработки скриптов (в частности php), а также на росте нагрузки на ЦП и ув...

[Из песочницы] Оптимизация хвостовой рекурсии в JavaScript Привет, читатель. Иногда для решении задачи приходится использовать Рекурсию, в которой есть свои плюсы и минусы. Я столкнулся с проблемой переполнения стека. Максимальная глубина рекурсии ограничена движком JavaScript. Точно можно рассчитывать на 10000 вложенных вызовов, н...

Книги по психологической самопомощи: есть ли в них хоть какой-то смысл, и, если да, какие выбрать? Многие не любят психологов и психологию, но немногие отрицают наличие у людей [вообще, а не у себя лично] психологических «заморочек». На этом фоне идея разобраться с этими сложностями самостоятельно может выглядеть привлекательно. Этим пользуются авторы и издатели, предлага...

Анимационный граф состояний Привет! Мы тут в Playrix решили сделать свой Unity3D. А там есть Animator. В этой статье я  расскажу, как мы сделали его у себя и как он работает. Читать дальше →

[Из песочницы] Использование let объявлений переменных и особенности образуемых при этом замыканий в JavaScript Написать данную заметку меня сподвигло прочтение статьи на Хабре «Var, let или const? Проблемы областей видимости переменных и ES6» и комментариев к ней, а также соответствующей части книги Закаса Н. «Understanding of ECMAScript 6». Исходя из прочитанного я вынес, что не всё...

Презентация приложения для проведения презентаций Здравствуйте, меня зовут Дмитрий Карловский и я иногда выступаю на конференциях, митапах, а так же с недавних пор сам вхожу в команду организаторов одного из них — PiterJS. Недавно у нас был юбилей — 40 проведённых митапов. Но вместо того, чтобы расслабиться и получать поздр...

[Из песочницы] Применение формальных методов валидации моделей для UI Привет, Хабр! Представляю вашему вниманию перевод статьи «FORMALLY SPECIFYING UIS» автора Hillel Wayne. От автора Относительно недавно я наткнулся на статью про Инженерные методы в разработке ПО, где vasil-sd рассказал про формальную валидацию спецификаций к создаваемым пр...

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

[Из песочницы] Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Уважаемые друзья! Мы решили поделиться с Вами бюджетным готовым решением, надеемся Вы оцените наши старания. Решение проверенное, рабочее. Во вложении можно скачать все файлы программ и настройки. Отдаем все бесплатно. Умный дом для заказчика в основном «игрушка» которым м...

Дискретная математика для WMS: алгоритм сжатия товаров в ячейках (часть 2) В статье мы расскажем, как разрабатывали алгоритм оптимального сжатия остатков товаров в ячейках. Расскажем как выбирали нужную метаэвристику среду «зоопарка» фреймворков: табу-поиск, генетический алгоритм, муравьиная колония и др. Проведем вычислительный эксперимент по ...

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

Приключения в отдельном потоке. Доклад Яндекса Как работать с изображениями на клиенте, сохраняя плавность UI? Разработчик интерфейсов Павел Смирнов рассказал об этом на основе опыта разработки поиска по фотографиям на Маркете. Из доклада можно узнать, как правильно использовать Web Workers и OffscreenCanvas. — На про...

ок.tech Data Толк #3: Рекомендательные системы 6 ноября в московском офисе компании Одноклассники состоится ок.tech Data Толк #3, в этот раз мы решили посвятить мероприятие рекомендательным системам. Вместе с коллегами из OK.ru, Joom и СколТеха поговорим про прошедший RecSys19, а также о теории, практике и трендах реко...

Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 1) Компьютерное зрение. Сейчас о нём много говорят, оно много где применяется и внедряется. И как-то давненько на Хабре не выходило обзорных статей по CV, с примерами архитектур и современными задачами. А ведь их очень много, и они правда крутые! Если вам интересно, что сейчас ...

Ещё один способ отстрелить себе ногу, используя std::thread Стандарт C++11 принёс в язык стандартный механизм поддержки тредов (их часто называют потоками, но это создаёт путаницу с термином streams, так что я буду использовать оригинальный англоязычный термин в русской транскрипции). Однако, как и любой механизм в C++, этот несёт в ...

[Из песочницы] Два разработчика и два месяца на Бали. Какие выводы мы сделали из путешествия Привет, Habr. Меня зовут Саша, я HR в компании FINCH. Недавно наша компания отправила сотрудников на Бали на месяц. Отдыхать и работать. История на коллективной поездке не закончилась – двое наших ребят решили остаться на Бали еще на пару месяцев. Я, скучая в Москве, решил ...

Apple тоже хочет попробовать использовать в смартфонах камеры ToF Времяпролётные камеры (ToF) используются в смартфонах всё чаще. В теории они должны позволять устройствам как минимум делать более качественные портретные снимки с размытием. Однако пока смартфоны с такими модулями никак не выделяются на фоне остальных, а Goolge уже да...

15 книг по машинному обучению для начинающих Сделал подборку книг по Machine Learning для тех, кто хочет разобраться, что да как. Добавляйте в закладки и делитесь с коллегами! Книги по машинному обучению на русском 1. «Математические основы машинного обучения и прогнозирования» Владимир Вьюгин. О чем Сначала изуч...

Доступен Windows 10 SDK Insider Preview Build 18312 Стала доступна новая предварительная версия набора средств разработки Windows 10 SDK под номером 18312, что соответствует номеру актуальной инсайдерской сборкой Windows 10 19H1 на быстром канале обновлений. Разработчики могут использовать предварительные версии SDK для знак...

[Из песочницы] Не так страшен ERP проект, как его малюют Привет, Хабр! Под давлением такого вот живого интереса к системам планирования ресурсов предприятия (ERP) таки оторвал недвижимость от стула и решил поделиться своими впечатлениями. Давайте попробуем понять, кому, зачем и почем ERP, нужно ли вообще что-то регламентировать, ...

[Из песочницы] Построение пакета RPM для Rosa Linux на практике Если Вы уже давно пользуетесь операционной системой Linux и хоть немного разбираетесь в программировании, рано или поздно Вам может понадобиться собрать программу из исходного кода. Может быть, нужной программы не окажется в репозиториях дистрибутива. Или в этих репозиториях...

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

Использование DiagnosticSource в .NET Core: практика В предыдущей статье я рассказал про механизм DiagnosticSource и на простом примере показал, как с его помощью можно перехватывать запросы в базу данных через классы SqlConnection и SqlCommand и измерять время их выполнения. В настоящее время DiagnosticSource уже используется...

CLRium #6: Concurrency Как вы уже заметили, формат семинара эволюционировал и принял новую форму: каждый последующий семинар теперь посвящается целиком и полностью какой-либо теме. Пятый был посвящен теме Garbage Collector и за 10 часов раскрыл всё, что только возможно, оставив за скобками совс...

Где обучать детей программированию? Ежегодно HeadHunter проводит “Школу программистов”, где обучает студентов и молодых специалистов всем хитростям разработки, а также работе в команде. Помимо языков программирования ребята изучают основы дизайна, тонкости командной разработки. Недавно мы стали обсуждать, ка...

[Перевод] Amazon Prime Day 2019 – Powered by AWS Команда TestMace продолжает публикацию переводов об интересных моментах web-сферы. На очереди описание Amazon Prime Day с точки зрения разработки высоконагруженных сервисов. Приятного чтения! Уже по традиции я бы хотел рассказать вам о некоторых преимуществах AWS, которые...

Внедряем OSGI на платформе Karaf OSGI это не сложно Я много раз встречал мнение, что OSGI это сложно. И более того, у самого когда-то такое мнение было. Году в 2009, если быть точным. На тот момент мы собирали проекты при помощи Maven Tycho, и деплоили их в Equinox. И это действительно было сложнее, чем раз...

Магазин приложений AppGallery от Huawei стал похож на Google Play Ещё немного и AppGallery станет похож на альтернативу Google Play Запрет на использование сервисов Google в новых смартфонах Huawei вынудил китайского производителя искать им альтернативу. Однако недолгие поиски привели к тому, что Huawei решила не полагаться на сторонние ко...

[Перевод] io_submit: альтернатива epoll, о которой вы никогда не слышали Недавно внимание автора привлекла статья на LWN о новом интерфейсе ядра для опроса (polling). В ней обсуждается новый механизм опроса в Linux AIO API (интерфейс для асинхронной работы с файлами), который добавили в ядро версии 4.18. Идея довольно интересная: автор патча пр...

Vivo iQOO — игровой смартфон, который даёт жару Не так давно мы публиковали список устройств, которые по статистике AnTuTu оказались самыми производительными в прошедшем феврале. Но уже в следующем месяце ситуация может измениться. Vivo представила очередное устройство, которое позиционируют игровым — iQOO. Читать пол...

Кто такие Premier Field Engineer (Development) в Microsoft и с чем их едят Для большинства Microsoft – это “Гигант из Redmond”, компания, которая производит windows/office, в которой работают одни программисты. Для более ITшных товарищей лицо Microsoft — это бывшие евангелисты Microsoft, рассказывающие со сцены о прекрасном мире. Для кого-то этим л...

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

Merkle Tree: ржавое и быстрое Всем привет! Недавно открыл для себя язык Rust. О своих первых впечатлениях поделился в предыдущей статье. Теперь решил копнуть немного глубже, для этого необходимо что-то посерьёзнее списка. Выбор мой пал на дерево Меркла. В этой статье я хочу: рассказать про эту структур...

[Перевод] Шум Перлина, процедурная генерация контента и интересное пространство Наверно худшее, что случилось в области процедурной генерации контента (если считать, что это действительно область процедурной генерации контента, в чём я уверен не полностью) — это шум Перлина. Шум Перлина невероятно хорошо подходит (по крайней мере, если не приглядываться...

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

Высоконагруженная распределенная система управления современной АЭС Без электричества не будет высоконагруженных интернет-сервисов, которые мы так любим. Как ни странно, системы управления объектами генерации электричества, например атомными электростанциями, тоже бывают распределенные, тоже подвержены высоким нагрузкам, тоже требуют множест...

[Перевод] Нейросети и глубокое обучение: онлайн-учебник, глава 1 Примечание Перед вами – перевод свободной онлайн-книги Майкла Нильсена «Neural Networks and Deep Learning», распространяемой под лицензией Creative Commons Attribution-NonCommercial 3.0 Unported License. Мотивацией к его созданию послужил успешный опыт перевода учебника по п...

Чего ждать от Android 11? Не успела Android 10 выйти, а весь мир уже вовсю обсуждает Android 11 Обновление для Android в 2020 году будет называться Android 11. И это не спекуляция, а факт, поскольку Google лично подтвердили это название. К тому же, мы недавно сообщали вам о том, какие обновления моби...

[Перевод] Понимание алгоритма БПФ Здравствуйте, друзья. Уже завтра стартует курс «Алгоритмы для разработчиков», а у нас остался один неопубликованный перевод. Собственно исправляемся и делимся с вами материалом. Поехали. Быстрое преобразование Фурье (БПФ — англ. FFT) является одним из важнейших алгоритмов о...

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

8 приемов работы с CSS: параллакс, «липкий» футер и другие Эта статья о приемах работы в CSS, узнав о которых, я восклицал: «Агаааа!». Надеюсь, вы тоже сделаете пару открытий. CSS — специфическая технология. На первый взгляд она кажется очень простой. Но некоторые эффекты, которые в теории кажутся простыми, не являются таковыми...

Как быстро посмотреть интересные предупреждения, которые выдает анализатор PVS-Studio для C и C++ кода? Время от времени программисты, которые начинают знакомиться с анализатором кода PVS-Studio, спрашивают: «Есть ли список предупреждений, которые точно указывают на ошибки?» Такого списка нет по той причине, что неинтересные (ложные) предупреждения в одном проекте, в другом о...

Прекрасное знание школьной программы как показатель не самого высокого интеллекта Добрый день! Сегодня достаточно часто по TV и каналам на youtube можно увидеть эксперименты по “определению уровня интеллекта” у населения. Суть их заключается в том, что взрослым людям задают вопрос из школьной программы. Обычно такие “эксперименты” набирают множество просм...

Радиостанция Zastone ZT-A19: измерение характеристик Недавно я приобрел носимую радиостанцию Zastone ZT-A19. После изучения разных форумов, отзывов и обзоров, мне показалось, что эта радиостанция будет хорошим компромиссом цена-качество. Такой вывод я сделал опираясь в большей степени на отзывы о самом бренде нежели об этой ко...

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

[Перевод] Внепроцессный отладчик для C++ в Visual Studio 2019 В Visual Studio 2019 Preview 1 представлен улучшенный отладчик для C++, который использует внешний 64-разрядный процесс для размещения своих ресурсозатратных компонентов. Если у вас ранее возникали проблемы с памятью при отладке приложений C++, теперь эти проблемы должны быт...

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

Samsung быстро починила то, что поломала. Проблемную бета-версию One UI 2 быстро заменили Пару дней назад в рамках бета-тестирования оболочки One UI 2 компания Samsung выпустила прошивку для Galaxy S10, которая нарушила работу систем аутентификации. Проще говоря, пользователи не могли получить доступ к своим устройствам, используя сканеры отпечатков пальцев...

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

Что запомнилось на прошедшем Heisenbug, и что будет на следующем? С конференции Heisenbug 2019 Piter прошло уже достаточно времени, чтобы мы посчитали все зрительские оценки докладов. Теперь о том, как всё прошло, можно говорить увереннее: опираясь не только на наши ощущения, но и на отзывы аудитории. Поэтому под катом — несколько впеча...

Программирование микроконтроллеров ESP8266/ESP32 написанием YAML конфиг файлов Будучи поклонником системы управления "умным домом" Home Assistant я недавно открыл для себя интересный инструмент, тесно с HA интегрированный и ранее на Хабре не освещенный — ESP Home (ранее ESPhomeYAML). ESP Home представляет собой набор библиотек и инструментов, генерирую...

Корпус be quiet! Silent Base 601 Window Orange: современное решение с достойными потребительскими качествами Корпус be quiet! Silent Base 601 Window Orange является современным решением с интересным дизайном, качественным исполнением и достойными потребительскими качествами. Инновации, если так можно выразиться, тут были направлены на улучшение удобства при сборке системы, и они ег...

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

AMD Radeon Software Adrenalin 2019 Edition 19.3.3 – поддержка Sekiro: Shadows Die Twice AMD выпустила драйвер Radeon Software Adrenalin 2019 Edition версии 19.3.3. В новой версии были сделаны оптимизации под Sekiro: Shadows Die Twice и Generation Zero. Также в новом драйвере решены проблемы с исчезновением курсора, улучшены показатели приложения Radeon WattMan,...

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

[Перевод] Правильная типизация: недооцененный аспект чистого кода Здравствуйте, коллеги. Не так давно наше внимание привлекла почти готовая книга издательства Manning «Programming with types», подробно рассматривающая важность правильной типизации и ее роль при написании чистого и долговечного кода. При этом, в блоге автора мы обнаруж...

10 ярких докладов TechTrain 2018: ИИ для масс, интерфейсы и многое другое Как оценивать, какие доклады на мероприятии оказались лучше? Если собираешь зрительские оценки, задача может выглядеть простой: высчитай для каждого доклада среднее, вот и всё. Но стоит ли, например, учитывать количество зрителей? Если один доклад получил высокие оценки, с...

[Из песочницы] Менеджмент для начинающих: руководитель или завхоз Теория “менеджмента” немало преуспела в анализе поведения руководителей, в изучении причин их успехов и неудач, в систематизации знаний о том, как развивать в себе сильные качества оных, и бороться со слабыми. Особым вниманием у нас пользуются зарубежные теоретики. Спроси...

Ученые напечатали на 3D-принтере пуленепробиваемый материал 3D-принтеры позволяют создавать уникальные материалы В научном мире существуют, так называемые, «теоретически возможные материалы». Это вещества, которые в теории создать можно и они не противоречат никаким законам. При этом по тем или иным причинам создать их на д...

Онлайн контест по решению задачи из теории игр Привет, Хабр! Меня зовут Миша, и я студент. На факультативе по теории игр мы решаем различные интересные задачи, и я хотел бы поделиться с вами одной из таких. Читать дальше →

JS со всех сторон: топ-10 докладов HolyJS 2018 Moscow В декабре мы провели очередную HolyJS, и поначалу видеозаписи её докладов были доступны только для зрителей, а теперь открыты для всех. Для Хабра мы традиционно сделали подборку из 10 докладов, получивших от зрителей самые высокие оценки. Они идут по возрастанию рейтинга,...

Программист, менеджер, MVC и критерии приемки Заметил. что работа с любым заказчиком очень похожа на работу веб-приложения. В статье показано как можно воспользоваться этим знанием для улучшения процессов. О том кто же является контроллером, а кто моделью под катом. Читать дальше →

[Из песочницы] Изучение комбинаторных парсеров с Rust Привет, Хабр! Представляю вашему вниманию перевод статьи "Learning Parser Combinators With Rust". Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого о...

[Перевод] Обработка 40 ТБ кода из 10 млн проектов на выделенном сервере с Go за $100 Написанной мной инструмент командной строки Sloc Cloc and Code (scc), который теперь доработан и поддерживается многими отличными людьми, подсчитывает строки кода, комментарии и оценивает сложность файлов внутри каталога. Здесь нужна хорошая выборка. Инструмент подсчитывает ...

Подборка академических и науч-поп источников Академическое знание давно уже обитает в интернете, и как и любая информация, индексируется поисковыми машинами и базами данных. Я говорю о более широкой категории знаний, чем STEM(Science Technology Engineering and Mathematics), основным критерием академических источников я...

Оптимизация и продвижение в поисковых системах В начале года в продажу вышла четвертая версия книги “Оптимизация и продвижение в поисковых системах”. Первый раз “Оптимизация” издавалась двенадцать лет назад и для многих, кто в те годы начинал карьеру, стала азбукой SEO. Над новым изданием, напечатанным после долгой паузы...

[Из песочницы] Аналитика девушек с низкой социальной ответственностью (Заряжено Power BI, Qlik Sense, Tableau) Кто мы такие и какие были предпосылки проекта? Добрый день, меня зовут Лазарев Владимир, я руководитель BI — интегратора “Аналитикс Групп”. Мы делаем для бизнеса наглядные отчёты по маркетингу, продажам, финансам, логистике на базе ведущих аналитических платформ Qlik Sense, ...

Performance tuning and troubleshooting баз данных в наши дни К сожалению, сейчас роль специалистов по Performance tuning и troubleshooting баз данных урезается только до последнего — troubleshooting'a: практически всегда к специалистам обращаются, только когда проблемы уже достигли критической точки, и их нужно решить «еще вчера». Да ...

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

Конспект по книге Марка Гаулстона “Я слышу вас насквозь” Хорошая книга о коммуникации между людьми. Немного теории о взаимопонимании (с которой вы, возможно, ознакомились благодаря другим книгам этого автора). У каждого есть мозг рептилии (бей или беги), мозг млекопитающего (эмоции и набор условных рефлексов) и мозг человека (раци...

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

[Из песочницы] Хранение и автоматическая сортировка фото и других файлов. Работа с файлохранилищем на базе NAS Synology Давно хотел написать про то как я храню свои файлы, как делаю бэкапы, но все никак не доходили руки. Недавно тут появилась статья, в чем-то похожую на мою но с другим подходом. Сама статья. Я уже много лет пытаюсь найти идеальный для себя метод для хранения файлов. Думаю я ...

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

[Из песочницы] Три парадигмы Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Three Paradigms» автора Robert C. Martin (Uncle Bob). За последние 40 лет технологии аппаратного обеспечения увеличили вычислительную мощность наших устройств более чем на двадцать порядков. Теперь мы играем в Angry ...

[Из песочницы] Отзыв о книге: «Жизнь 3.0. Быть человеком в эпоху искусственного интеллекта» Многие, кто меня знают, могут подтвердить, что я довольно критический отношусь к массе вопросов, и в чем-то даже проявляю изрядную долю максимализма. Мне трудно угодить. Особенно если дело касается книг. Часто критикую любителей фантастики, религии, детективов и многого друг...

iOS 13 beta 3 серьёзно ускорила запуск приложений Пару дней назад для загрузки стала доступна третья бета-версия iOS 13. В сборке было найдено не так много нововведений, поскольку основной упор был сделан на исправление многочисленных ошибок и недоработок. Однако положительные изменения всё же есть — многие пользоват...

[Перевод] Особенности рендеринга в игре Metro: Exodus c raytracing Предисловие После выхода последней игры из серии «Метро» я потратил несколько часов на изучение её внутренней работы и решил поделиться тем, что может показаться интересным с технологической точки зрения. Я не буду проводить подробный анализ или изучать дизассемблированный ...

Розеттский код: измеряем длину кода в огромном количестве языков программирования, изучаем близость языков между собой Скачать файл с кодом и данные можно в оригинале поста в моем блоге Существует очень интересный проект — «Розеттский Код». Их цель — «представить решение одинаковых задач на максимально возможном числе различных языков программирования для того, чтобы продемонстрировать их ...

5 приложений для очистки вашего Android-смартфона Как бы бережно вы не относились к дисковому пространству своего смартфона, рано или поздно оно забивается неиспользуемыми вами приложениями и другим мало приятным «мусором». Казалось бы, помочь тут могут всевозможные программы-чистильщики, коих полно на просторах ...

4G-роутер в роли универсального сервера для IoT Роутеры серии ICR-3200 призваны заменить классическую связку: одноплатный компьютер + модем + роутер. Теперь можно запускать всю необходимую логику прямо на роутере. Благодаря мощному ARM-процессору, 512 МБ оперативной памяти и ~2ГБ встроенной флеш-памяти, на роутере можно ...

А вы все-все за меня мониторить будете? Ага Обычно Хабр используется как информационное решение — кто-то делится наработанной и структурированной информацией, а кто-то эту информацию впитывает (я хотел написать “потребляет”, но это слово маркетологи уже испоганили). Я же, на правах старожила, и учитывая легкую рассл...

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

Поставлен рекорд по сборке кубика Рубика … ногами На Хабре регулярно публикуются новости о рекордах по сборке кубика Рубика. Последнее достижение принадлежит австралийцу Феликсу Земдегсу, который смог решить головоломку всего за 4,221 секунды. Так быстро собирать кубик могут лишь те люди, кто регулярно (и помногу) трениру...

[Перевод] Как исследователи в Uber применяют и масштабируют знания о поведении человека Мы подготовили для читателей Хабры перевод статьи команды Uber Labs. Коллеги из Uber описывают процесс работы аналитиков узкоспециализированного типа (в области науки о поведении) в рамках огромной корпорации, как устроено их взаимодействие с аналитиками других типов (UX-и...

[Перевод] Свободные текстовые редакторы для совместной работы Много лет меня преследовал этот зуд — попытки найти «идеальный» текстовый редактор для совместной работы. Но не просто любой текстовый редактор, который поддерживает совместную работу, о нет, моя задача — найти (ну, по крайней мере, искать) открытые текстовые редакторы с г...

[Из песочницы] Свежий плагин интернет-магазина на WordPress Некоторое время назад мне понадобилось сделать интернет-магазин на WordPress. В официальном репозитории есть немало хороших решений. Среди них уже давно выделился лидер — Woocommerce. Думаю он не нуждается в представлении. Многомилионная армия пользователей, сотни платных и ...

Альтернативный подход к отображению загрузки во время пагинации Работа с постраничной загрузкой в мобильных приложениях — тема довольно простая и никаких подводных камней не таит. С подобной задачей разработчик встречается довольно часто и соответственно раз за разом делать одно и тоже скучно и лениво. Но любую даже самую обычную зад...

[Из песочницы] Управление подставкой для ноутбука с помощью digispark Решил написать статью об очень простом устройстве, сделанным за два вечера. Решило оно давнюю проблему, чему я сильно рад и использую его по сей день. Отработало исправно оно около 3 месяцев. Собственно вот что получилось в итоге. Кого заинтересовало, прошу под кат. Читат...

iPhone 11, новый iPad, TV+, Arcade и другое. Что сегодня показала Apple Несколько минут назад закончился очередной ежегодный Apple Event. В театре Стива Джобса компания представляла то, чем будет радовать нас в этом году. Тех-гики, собравшиеся в атриуме над театром, говорят, атмосфера была на удивление спокойной. Все в основном думали, что зна...

Основоположники теории распределенных систем в объятьях гидры Это Лесли Лэмпорт — автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Это он впервые, ещё в 1979 году, ввёл понятие последовательной согласованности, а его статья «How to Make a Multiprocessor Com...

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

[Перевод] Unity: отрисовываем множество полосок здоровья за один drawcall Недавно мне нужно было решить задачу, достаточно распространённую во многих играх с видом сверху: рендерить на экране целую кучу полосок здоровья врагов. Примерно вот так: Очевидно, что я хотел сделать это как можно эффективнее, желательно за один вызов отрисовки. Как обыч...

[Перевод] Добавление Quartz в Spring Boot И снова здравствуйте. Специально для студентов курса «Разработчик на Spring Framework» подготовили перевод интересной статьи. В моей статье «Specifications to the Rescue» я показал как можно использовать JPA Specification в Spring Boot для реализации фильтрации в RESTful ...

Спасти программиста Вову: как прошла HighLoad++ для стенда ivi 7-8 ноября на территории Школы управления СКОЛКОВО состоялась крупнейшая профессиональная конференция для разработчиков высоконагруженных систем — HighLoad++. В этом году она прошла в счастливый 13-й раз. Онлайн-кинотеатр ivi и HighLoad++ — давние партнёры, а наш CTO eross в...

[Перевод] «Ужасные» трёхцентовые MCU – краткий обзор микроконтроллеров стоимостью менее $0,1 Я, в числе прочих, поразился прошлогоднему известию в блоге EEVblog о том, что какие-то микроконтроллеры продаются всего по $0,03 за штуку. Как это было возможно? Многие предположили, что это распродажа или старые остатки. Покопавшись в истории, я пришёл к выводу о существов...

Не очень большие данные В статье будут рассмотрены возможности, предоставляемые встроенным или декларативным секционированием в 12 версии PostgreSQL. Демонстрация подготовлена для одноименного доклада на конференции HighLoad++Siberia 2019. Все примеры выполнены на недавно появившейся бета-версии: ...

В интернете появилась новая энциклопедия – Вики Пользователям интернета теперь доступен аналог Википедии — сайт https://wiki.bio. Энциклопедия включает только самые актуальные на сегодняшний день статьи на темы разного характера: наука, история, философия, спорт, общество и другие. Главная ст...

[Из песочницы] Метод создания DRAG and DROP эффекта Придя впервые к технологии DRAG and DROP столкнулся с очень тяжелым её описанием (Это мое субъективное мнение. Прошу с ним не соглашаться, а перечитать все что только можно и посмотреть на этот вопрос с многих сторон). И решил написать пару статей, нацеленных на начинающих р...

Сборки Windows One Core были замечены на BuildFeed На выходных ресурс BuildFeed опубликовал ряд новых номеров сборок с интересной информацией. Впервые, насколько нам известно, были включены некоторые сборки, помеченные как OneCore и WCOS (Windows Core Operating System), которые предназначаются для новых устройств, таких как:...

[Перевод] Оптимизация стратегии игры в Блэкджек методом Монте-Карло Перевод статьи подготовлен специально для студентов курса «Machine learning». Обучение с подкреплением штурмом взяло мир Искусственного Интеллекта. Начиная от AlphaGo и AlphaStar, все большее число видов деятельности, в которых раньше доминировал человек, теперь завоевано...

В системе здравоохраненения Мурманской области внедрят бережливые технологии К такой договорённости пришли в ходе рабочей встречи глава области Андрей Чибис и директор Департамента по взаимодействию с регионами Госкорпорации "Росатом" Андрей Полосин.Производственная система "Росатом" (ПСР), основанная на мировом опыте оптимизации...

Внедряем Sign in with Apple — систему авторизации от Apple Привет, Хабр! Этим летом на конференции WWDC 2019 Apple представила собственную систему авторизации Sign in with Apple  и сделала ее обязательной для всех приложений в App Store, которые используют вход через соцсети. Исключение составляют образовательные, корпоративные, пр...

Telegram бот для персонализированной подборки статей с хабра Для вопросов в стиле "зачем?" есть более старая статья — Натуральный Geektimes — делаем пространство чище. Статей много, по субъективным причинам некоторые не нравятся, а некоторые, наоборот, жалко пропускать. Хочется оптимизировать этот процесс и экономить время. В вышеупом...

В Fortnite появится «Фургон возрождения», как в Apex Legends Давно мы не рассказывали о Fortnite. Фанаты этой королевской битвы и так знают, что нового в ней есть, а новых пользователей вряд ли удастся заинтересовать банальным описанием обновления. Но последняя новость интересна не только своими нововведениями. Epic Games сообщили, ч...

[Перевод] В двух словах о привилегиях Linux (capabilities) Перевод статьи подготовлен специально для студентов курса «Администратор Linux». Привилегии (capabilities) используются всё больше и больше во многом благодаря SystemD, Docker и оркестраторам, таким как Kubernetes. Но, как мне кажется, документация немного сложна для понима...

Большая подборка полезных ресурсов для продакт-менеджеров Мы в продуктовой команде Miro уделяем много внимания тому, чтобы получать нужные и полезные знания. Как известно, ресурсов огромное количество и недостатка в информации нет. Самое главное — выбрать, что читать. Мы посмотрели и попробовали множество ресурсов, собрали для себя...

[Из песочницы] Как хакеры используют Microsoft Excel против самого себя Привет, Хабр! представляю вашему вниманию перевод статьи «How Hackers Turn Microsoft Excel's Own Features Against It» автора Лили Хэй Ньюман. Elena Lacey, getty images Наверняка для многих из нас Microsoft Excel – программа скучная. Она много чего умеет, но всё-таки это н...

Kotlin puzzlers, Vol. 2: новая порция головоломок Можете предсказать, как поведёт себя такой Kotlin-код? Скомпилируется ли он, что выведет и почему? Как бы хорош ни был язык программирования, он может подкинуть такое, что останется только в затылке чесать. Kotlin не исключение — в нём тоже встречаются «паззлеры», когда д...

Об этике на примере кодекса PMI Осторожно, тут простыня (лонгрид), которая может не понравиться многим! Я долго думал, как разделить ее на несколько, но решил на Хабре оставить целиком. И наверное, начало статьи не совсем подходит под название. Кто такой хороший руководитель? Читать дальше →

Термопринтер 2003 года с барахолки: что он может в 2019? Пару месяцев назад я публиковал на Хабре обзор КПК HP, выпущенного в 2003 году, и еще обзор ноутбука 20-летней давности. Работая над статьями, я пытался понять, можно ли использовать девайсы в 2019 году. Как выяснилось, оба устройства почти безнадежно устарели. Кстати, вс...

OnePlus 7T Pro McLaren Edition сравнили с Samsung Galaxy Note 10+ Профильное издание PhoneBuff, известное своими тестами смартфонов провело сравнение скорости работы OnePlus 7T Pro McLaren Edition и Samsung Galaxy Note 10+. Оба смартфон имеют очень схожие характеристики: операционная система, почти одинаковые процессоры, разрешение дисплее...

Как работает датчик наклона Нередко в ходе работы над определенными проектами появляется необходимость осуществлять наклоны объекта, повороты, смещения и вибрацию. Для осуществления данных задач необходимо использовать специальные датчики наклона. На сайте http://wreckage.ru/tilt-sensors-ky-020-and-sw-...

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

[Перевод] Unity: бесконечный процедурно генерируемый город, получаемый при помощи алгоритма WFC (коллапс волновой функции) Привет, Хабр! Как законодатели мод по теме Unity на российском рынке предлагаем вам почитать интересное исследование о практическом использовании алгоритма WFC (Wave Function Collapse), построенного по образу и подобию известного принципа квантовой механики и очень удобного...

Сборка чугунного скорохода на Spring Boot и AppCDS Сборка чугунного скорохода на Spring Boot и AppCDS Application Class Data Sharing (AppCDS) – фича JVM для ускорения запуска и экономии памяти. Появившись в HotSpot в зачаточном виде ещё в JDK 1.5 (2004 г.), она долгое время оставалась весьма ограниченной, да ещё и отчасти к...

[Перевод] Создаем конвейер потоковой обработки данных. Часть 1 Всем привет. Друзья, делимся с вами переводом статьи, подготовленным специально для студентов курса «Data Engineer». Поехали! Apache Beam и DataFlow для конвейеров реального времени Сегодняшний пост основан на задаче, которой я недавно занимался на работе. Я был действитель...

Недостаточно знать, что такое Mutex, Semaphore и async/awat. Надо знать всё, начиная с квантов Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня есть отдельный повод для этого: на семинаре настоящий эксклюз...

Косплей. Прекрасная Цирилла по мотивам саги "Ведьмак"! Всем привет, уважаемые читатели портала! Решил сегодня вас порадовать очень качественным косплеем на героиню серии игр и книг о "Ведьмаке Геральте из Ривии", прекрасную и озарную молодую "Ведьмачку" - Цириллу Фиону Эллен Рианнон!

Non fiction. Что почитать? Хочу поделиться с вами несколькими из прочитанных за последние годы книг в жанре non fiction. Однако, при составлении списка возникла неожиданная проблема отбора. Книги, что называется, для широкого круга. Которые читаются влет даже совершенно неподготовленным читателем и мо...

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

[Из песочницы] OutOfMemory и использование векторных изображений в Android Studio Привет, Хабр! В данной статье, ориентированной на новичков, я бы хотел дать несколько советов по оптимизации использования приложением памяти устройства, дабы постоянно не получать OutOfMemory, а также рассмотреть использование векторных изображений в текущей актуальной верс...

ShIoTiny: узлы, связи и события или особенности рисования программ Основные тезисы или о чем эта статья Тема статьи — визуальное программирование ПЛК ShIoTiny для умного дома, описанного тут: ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска». Очень кратко рассмотрены такие понятия, как узлы, связи, события, а такж...

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

Три в ряд: топ-10 докладов Mobius 2019 Piter В День программиста делимся с мобильными разработчиками подборкой отличных докладов! В мае в Петербурге прошла конференция Mobius, а теперь мы опубликовали её видеозаписи — и для Хабра сделали подборку из десяти лучших (по зрительским оценкам). Темы очень разные — от масш...

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

Виртуальная машина своими руками Иногда в голову приходит какая-то мысль избавиться от которой очень сложно. Такое произошло и со мной. Я решил создать виртуальную машину (VM), учитывая то, что на тот момент у меня не было идей, мне показалось, что это прекрасная мысль. Если вы заинтересовались, то вперёд п...

Telegram бот для изучения языков Не так давно я переехал в Финляндию и решил, что местный язык знать нужно. Занимаюсь с учителем онлайн, всё идёт хорошо, язык оказался не таким сложным, как казалось, но, пожалуй, самая большая проблема — увеличение словарного запаса. Сначала я решил пользоваться теми решен...

Почему у некоторых пользователей Android Auto пропадает из списка приложений Ранее на этой неделе один пользователь ресурса Reddit сообщил о том, что приложение Android Auto исчезло из списка приложений на его смартфоне после обновления до Android Q Beta 5. Другие пользователи быстро заподозрили здесь что-то неладное и ринулись проверять, является л...

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

Экзамены по Azure (версия исправленная и дополненная) На мероприятии в сентябре 2018 было анонсировано, что появились новые экзамены серии AZ-***, а серия 70-53* ушли в небытие. Описание уже было тут и в моей более ранней статье. Но с тех пор многое изменилось и эта статья включает в себя изменения от декабря 2018 года, марта...

[Перевод] Почему const не ускоряет код на С/C++? Несколько месяцев назад я упомянул в одном посте, что это миф, будто бы const помогает включать оптимизации компилятора в C и C++. Я решил, что нужно объяснить это утверждение, особенно потому, что раньше я сам верил в этот миф. Начну с теории и искусственных примеров, а за...

Книга «Вероятностное программирование на Python: байесовский вывод и алгоритмы» Привет, Хаброжители! Байесовские методы пугают формулами многих айтишников, но без анализа статистики и вероятностей сейчас не обойтись. Кэмерон Дэвидсон-Пайлон рассказывает о байесовском методе с точки зрения программиста-практика, работающего с многофункциональным языком ...

Космос и Гена Гена родился в Советском Союзе. Хоть уже и на закате великой империи, но успел насмотреться на портрет Ленина на фоне красного флага, расположенный на первом развороте букваря. И, конечно, Гена обожал все, что касалось космоса. Гордился, что живет в стране, имеющей самый вну...

«Реверс-инжиниринг» аппарата «Грозный» из романа Жюль Верна «Властелин Мира» По статистике ЮНЕСКО, книги Жюля Верна занимают второе место по переводимости в мире, уступая лишь произведениям Агаты Кристи. H. E. Жуковский, основатель современной аэромеханики, держал у себя в библиотеке среди работ предшественников единственную беллетристическую книгу...

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

.NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 2 Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Я продолжаю создавать текстовую версию своего выступления на митапе по многопоточности. С первой частью можно ознакомиться здесь или здесь, там речь больше шла о базовом наборе инструментов, что...

Поиграем в книжки — что такое геймбуки и какие из них стоит попробовать Учить английский по играм и книгам — приятно и довольно эффективно. А если игра и книга объединены в одно мобильное приложение — еще и удобно. Так сложилось, что на протяжении последнего года я неспешно знакомился с жанром мобильных «геймбуков»; по итогам ознакомления готов...

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

[Перевод] Я не знал, как работают процессоры, поэтому написал программный симулятор Несколько месяцев назад меня вдруг поразила мысль, что я понятия не имею о принципах работы компьютерного железа. Я до сих пор не знаю, как работают современные компьютеры. Я прочитал книгу «Но откуда он знает?» Кларка Скотта с детальным описанием простого 8-битного компью...

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

Э — Эксперимент. Или как наука помогает проектировать интерфейсы Читая различные книги и статьи по психологии, сохранила себе в копилку некоторое количество интересных экспериментов, которые могут натолкнуть на мысли и решения при проектировании интерфейса, дизайна, подаче материала (товара и пр.). Описанные эксперименты не новы, но их...

CLRium #5 Garbage Collector: полное погружение в омут памяти 13 апреля в Санкт-Петербурге (оффлайн и онлайн) и 20 апреля — в Москве (только оффлайн) пройдет самый крупный семинар CLRium#5 за всё время его существования. До Sold-Out Питера осталось всего лишь 30 мест! А видеозаписи получат владельцы всех типов билетов. Прокопав дебри а...

[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...

Русскоязычная версия «Dungeons & Dragons. Книга игрока» уже появилась в продаже «Dungeons & Dragons. Книгу игрока» считают фундаментальной основой культовой игры «Dungeons and Dragons». Теперь перечень правил к игре, благодаря которому можно найти все знания о персонажах и их создании, доступен в переводе на русский язык. Читать полную статью

Moscow Python Conf++ 2019 — первая конференция, где мы готовим часть спикеров с нуля сами «Если хочешь сделать что-то хорошо — сделай это сам». 5 апреля 2019 года мы проводим 4-ю Moscow Python Conf, и я решил провести странный эксперимент: посмотреть, что будет, если перевернуть подготовку докладов с ног на голову. Как обычно делается — открывается Call for P...

Adobe готовит приложение камеры на основе ИИ. На что оно будет способно? Adobe готовит что-то интересное Adobe совсем недавно анонсировала свое новое приложение Photoshop Camera. Это программа для смартфонов, которая будет работать базе искусственного интеллекта. Приложение выйдет как на Android, так и на iOS, и даст пользователям возможность ...

Книга «Kali Linux. Тестирование на проникновение и безопасность» Привет, Хаброжители! 4-е издание Kali Linux 2018: Assuring Security by Penetration Testing предназначено для этических хакеров, пентестеров и специалистов по IT-безопасности. От читателя требуются базовые знания операционных систем Windows и Linux. Знания из области информа...

«Уделяя внимание вопросам доступности, вы получаете крайне преданных пользователей»: интервью с Джоном Фоксом (Netflix) Известно, что accessibility — это важно, но далеко не все уделяют доступности своего приложения достаточное внимание. Ещё известно, что появление компании NeXT и её последующая покупка Apple — важный эпизод карьеры Стива Джобса, но мало кто лично писал софт для компьютеро...

[recovery mode] Бинарные деревья поиска Прелюдия Эта статья посвящена бинарным деревьям поиска. Недавно делал статью про сжатие данных методом Хаффмана. Там я не очень обращал внимание на бинарные деревья, ибо методы поиска, вставки, удаления не были актуальны. Теперь решил написать статью именно про деревья. Пожа...

Радиомодули для arduino JDY-40 Приветствую всех. На просторах aliexpress наткнулся на очередное китайское творение, из раздела "Беспроводные модули для arduino". Ранее подобные модули с аналогичными возможностями за столь малые деньги мне не попадались. Вот я и решил сделать обзор данного модуля. Возможн...

Осторожно доктор Эта ответ на неожиданную статью на Хабре психиатра с тридцати пятилетним стажем Александра Геннадьевича Данилина, также довольно известного youtube влогера. До его статьи на Хабре я не обращал на его творчество внимания, как выяснилось, зря. Но сначала короткое предислов...

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

[Из песочницы] Вы не сможете решить эту задачу на собеседовании Привет, Habr. Хочу поделиться с вами одной интересной задачей, которую многие из нас получали на собеседовании, но, вероятно, даже и не догадывались о том, что решаем ее неправильно. Прежде всего — немного истории. Работая на должностях тимлида и техлида мне порой приходило...

Как приобщать детей к IT и как работать с ML в .NET: интервью с Дмитрием Сошниковым (Microsoft) Многие дотнетчики знают Дмитрия shwars Сошникова (Microsoft) по его докладам, связанным с машинным обучением. А сейчас миры ML и .NET сближаются благодаря технологии ML.NET, так что очень пригодился бы новый доклад — и на DotNext он как раз будет (даже два, от Дмитрия и от...

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

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

Не VPN-ом единым. Шпаргалка о том, как обезопасить себя и свои данные Привет, Хабр. Это мы, VPN-сервис HideMy.name. Сейчас временно работаем на зеркале HideMyna.me. Почему? 20 июля 2018 года Роскомнадзор добавил нас в список запрещенных ресурсов из-за решения Медведевского районного суда в Йошкар-Оле. Суд постановил, что посетители нашего сай...

Мал, да удал: реальный взгляд на японский проект Minimal Fab 16 мая в МИЭТ (Зеленоград) прошел уже традиционный семинар-встреча с японскими разработчиками и производителями компактной технологической линеек, так называемого Minimal Fabа. Предыдущий большой семинар проходил там же в 2017, и на youtube есть почти трехчасовая запись. ...

Введение в Git Оглавление Предисловие 1. Настройка git ....1.1 Конфигурационные файлы ....1.2 Настройки по умолчанию ....1.3 Псевдонимы (aliases) 2. Основы git ....2.1 Создание репозитория ....2.2 Состояние файлов ....2.3 Работа с индексом ....2.4 Работа с коммитами ....2.5 Просмотр истори...

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

[recovery mode] Как я свою онлайн игру создавал. Часть 1: Работа с сетью Привет всем! У меня недавно был отпуск, и появилось время спокойно попрограммировать свои домашние проекты. Захотел я, значит, свою простенькую онлайн игру сделать на Rust. Точнее, простенькую 2D стрелялку. Решил сначала сделать сетевую часть, а там уже видно будет, что да...

«Очная ставка» NeoQUEST-2019: сбиваем дроны и создаём карманный VirusTotal Казалось бы, совсем недавно мы собирались вместе, чтобы послушать доклады о самом актуальном в ИБ, попробовать своими руками сделать что-то кибербезопасное, посмотреть на cold-boot-attack и просто хорошо провести время. Год пролетел незаметно, и уже 26 июня, как всегда — в...

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

[Перевод] Кеширование в Laravel: основы плюс tips&tricks Техника кеширования позволяет создавать более масштабируемые приложения, запоминания результаты некоторых запросов в быстрое in-memory хранилище. Однако, некорректно реализованное кеширование может сильно ухудшить впечатление пользователя о вашем приложении. Эта статья содер...

Топ-7 способов быстрой проверки компетенций IT-специалистов до собеседования Найм IT-специалистов – это непростая задача. Во-первых, сейчас на рынке наблюдается дефицит опытных кадров, они это понимают. Кандидаты часто не готовы тратить много времени на «отборочные мероприятия» работодателя, если их предварительно не заинтересовать. Ранее популярная ...

Windows 10 19H1 Build 18356.1 доступен инсайдерам на канале Slow Компания Microsoft выпустила сборку Windows 10 19H1 под номером 18356.1 для участников программы Windows Insider, использующих канал Slow. Это та же самая сборка, что ранее была выпущена инсайдерам на канале Fast. Никаких дополнительных исправлений сделано не было. Отметим,...

Работа с Worker “как хочется“, а не “как можно” В этой статье будет использоваться ГРЯЗНЫЙ, небезопасный, "костыльный", страшный и т. д. метод eval. Слабонервным не читать! Сразу скажу, что некоторые проблемы удобства использования решить не удалось: в коде, который будет передан в worker, нельзя использовать замыкание. ...

Terms of service: 99% пользователей их просто не понимают Источник: Shutterstock Наверное, среди читателей Хабра есть те, кто детально знакомится с условиями предоставления услуг различных сервисов и приложений. Большинство просто ставит галочку там, где это требуется, и начинает работу. Кто-то может назвать это неправильным, но,...

Последний Seo-семинар от Арбайтена 26 марта, в 20.00 мск я проведу  последний свой Seo-семинар. В этом семинаре я расскажу  о том, что скрывал все эти 18 лет работы в Seo. Расскажу множество историй. Как мы давали в 2012 году бабло модераторам Яндекса чтобы поставить в ТОП наши сайты, расскажу как Тринет выпл...

[Перевод] Python как предельный случай C++. Часть 1/2 От переводчикаБрендон Роудс − весьма скромный человек, представляющий себя в твиттере как «Python-программиста, возвращающего долг сообществу в форме докладов или эссе». Число этих «докладов и эссе» впечатляет, равно как и число свободных проектов, контрибьютором которых Бре...

[Перевод] Как внедрить BI-подход к анализу данных: практические рекомендации Статья подготовлена Сергеем Шопиком, руководителем и основателем «Лаборатория клиентского опыта». За основу взят материал, опубликованный Martha Bennett на сайте международного аналитического агентства Forrester Research. Приглашаем всех желающих 18 июня в 20:00 по мск. на ...

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

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

Windows 10 Build 18317 доступна для загрузки Microsoft решила нас на этой неделе порадовать и выпустила очередную инсайдерскую сборку Windows 10 под номером 18317. Так как сейчас уже идет завершающий этап разработки обновления Windows 10 19H1, то и изменений кардинальных ждать не стоит, но, тем не менее, незначительные...

Опытное производство электроники за минимальный прайс Привет, Хабр Почитал я некоторые ранее опубликованные статьи о том, как жить славному молодцу, перед которым встала задача спаять 10-50-100 устройств из резисторов и микросхем, и взгрустнул, ибо во всех в них советы были даны если не вредные, то и не сильно полезные. А во...

Отладка cети с помощью eBPF (RHEL 8 Beta) Всех с прошедшими праздниками! Нашу первую статью после праздников мы решили посвятить линуксу, то есть под наш замечательный курс «Администратор Linux», который у нас входит в когорту самых динамичных курсов, то есть с наиболее актуальным материалами и практиками. Ну и, со...

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описа...

Началось голосование за доклады секции Backend на юбилейном DevConfX, который пройдет 21-22 июня в Москве Юбилейный DevConfX пройдет 21-22 июня в Москве. Как всегда — Вы решаете, кто попадет в программу секции Backend — голосуйте за интересные доклады, список заявок под катом Читать дальше →

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

Организуем ML-проект с помощью Ocean Вступление За годы разработки ML- и DL-проектов у нашей студии накопились и большая кодовая база, и много опыта, и интересные инсайты и выводы. При старте нового проекта эти полезные знания помогают увереннее начать исследование, переиспользовать полезные методы и получить ...

С Днём Радио и Связи! Короткая открытка по поводу Если обратиться к простому обывателю, то он наверняка скажет, что радио умирает, потому что на кухне радио точка давно обрезана, приёмник работает только на даче, а в машине любимые треки проигрываются с флешки или онлайн-плейлиста. Но мы-то с вами знаем, что не будь радио, ...

Как сделать триггер DAG'а в Airflow, используя Experimental API При подготовке наших образовательных программ мы периодически сталкиваемся со сложностями с точки зрения работы с некоторыми инструментами. И на тот момент, когда мы с ними сталикваемся, не всегда есть достаточно документации и статей, которые помогли бы с этой проблемой спр...

27 марта, Москва — JavaScript MeetUP Очередной JavaScript MeetUP мы собираем уже в следующую среду, 27 марта, в 19.00 на площадке Corporate Innovations Hub (ул. Большая Полянка, д.2/10, стр. 1). В программе будет 3 доклада от наших сотрудников. Вход бесплатный (но зарегистрироваться надо заранее), будет и онла...

[Перевод] Равномерное распределение точек на сфере Как можно более равномерное распределение точек на сфере — невероятно важная задача в математике, науке и компьютерных системах, а наложение сетки Фибоначчи на поверхность сферы при помощи равновеликой проекции — чрезвычайно быстрый и эффективный метод аппроксимации для её р...

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

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

[Не] используйте CDN Практически в любой статье или инструменте для оптимизации скорости сайтов есть скромный пункт «используйте CDN». Вообще, CDN – это content delivery network или сеть доставки контента. Мы в компании «Метод Лаб» часто встречаемся с вопросами клиентов по этой теме, некоторые с...

В офисе Mail.ru Group пройдет открытая Tarantool Conference 17 июня в московском офисе Mail.ru Group пройдет вторая ежегодная открытая Tarantool Conference или коротко T+ Conf. Темы докладов затронут не только Tarantool, но и использование in-memory computing, кооперативной многозадачности и Lua для разработки высоконагруженных отказ...

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

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

Алгоритм Гровера и поиск данных Привет, Хаброжители! Мы недавно сдали в топографию книгу Криса Бернхарда «Квантовые вычисления для настоящих айтишников». Здесь решили поделится отрывком из книги «Алгоритм Гровера и поиск данных» Мы вступаем в эпоху больших данных. Эффективный поиск в гигантских массивах ...

[Перевод] Подробная история компании Qualcomm Учитывая недавние драматические события, случившиеся с компанией Qualcomm, я решил, что будет интересно обновить историю компании, которая будет опубликована в книге Mobile Unleashed. Публикую полную главу из книги здесь. Глава 9: Нажмите Q, чтобы подсоединиться В отличие о...

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

Учись каждый день: технологии непрерывного образования Когда я записывалась на курсы по Python, меня преследовали самые разные предрассудки. Что я буду задавать самые глупые вопросы, окажусь единственным гуманитарием, на которого все будут косо смотреть. Естественно, в итоге никому не было до меня никакого дела. В группе училис...

9 лучших опенсорс находок за август 2019 Доброй осени, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за август 2019. За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается...

Xiaomi Cleaner Lite появился в Google Play Store Интерфейс MIUI от Xiaomi является одной из самых популярных оболочек Android с более чем 300 миллионами пользователей по всему миру. MIUI - это сложная система, которая нацелена на обеспечение богатого пользовательского опыта, и для этого в MIUI имеется множество системных п...

[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...

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

[Перевод] Объясняем код с помощью ASCII-арта Примечание от переводчика: типично пятничная статья во вторник утром… почему бы и нет? Большинство людей — визуалы. Они используют изображения, чтобы вникнуть в суть проблемы. А вот мэйнстримные языки программирования, напротив, основаны на текстовом представлении. Возник...

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

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

[Перевод] Отличия LabelEncoder и OneHotEncoder в SciKit Learn Если вы недавно начали свой путь в машинном обучении, вы можете запутаться между LabelEncoder и OneHotEncoder. Оба кодировщика — часть библиотеки SciKit Learn в Python и оба используются для преобразования категориальных или текстовых данных в числа, которые наши предсказате...

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

[Перевод] 8 лучших трендов International Conference on Learning Representations (ICLR) 2019 Тема анализа данных и Data Science в наши дни развивается с поразительной скоростью. Для того, чтобы понимать актуальность своих методов и подходов, необходимо быть в курсе работ коллег, и именно на конференциях удается получить информацию о трендах современности. К сожалени...

Поиск задач в JIRA (простым языком). Часть 1: Быстрый и базовый поиск В последнее время JIRA активно используют организации, не имеющие прямой связи с IT. Специалистам, не знакомым ранее с JIRA, бывает сложно понять структуру JQL-запросов, если не привести примеры. Для упрощения восприятия, мы решили собрать всю документацию, локализовать и р...

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

«За месяц стал фуллстек-разработчиком». Студенты рассказывают о стажировке в ABBYY Уже начал свой путь в IT? Или все еще залипаешь в смартфоне в поисках той самой вакансии? Сделать первый карьерный шаг и разобраться, чем хочется заниматься, поможет стажировка. Летом к нашей команде присоединились 26 стажеров – студенты МФТИ, НИУ ВШЭ и других вузов. Они п...

Процесс разработки и тестирования с Docker и Gitlab CI Предлагаю ознакомиться с расшифровкой доклада Александра Сигачева из Inventos "Процесс разработки и тестирования с Docker + Gitlab CI" Те, кто только начинает внедрять процесс разработки и тестирования на базе Docker + Gitlab CI часто спрашивают базовые вопросы. С чего начат...

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

Хорошее публичное выступление: 11 простых советов Дисклеймер Это список не конечен и не претендует на истину в последней инстанции — я структурировал свой опыт публичных выступлений и выбрал самые универсальные советы, выполнение которых позволит почти гарантированно сделать выступление как минимум неплохим. 1. Структура д...

Электронные книги и их форматы: говорим про EPUB — его историю, плюсы и минусы Ранее в блоге мы писали о том, как появились форматы электронных книг DjVu и FB2. Тема сегодняшней статьи — EPUB. Изображение: Nathan Oakley / CC BY История формата В 90-е на рынке электронных книг господствовали проприетарные решения. И у многих производителей читалок б...

Простейшее профилирование памяти на STM32 и других микроконтроллерах «С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее» — Jack Ganssle, «The Art of Designing Embedded Systems» Привет, Хабр! Как ни странно, но в абсолютном большинстве виденных мной «учебников дл...

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

Обзор Google Play Книги. Читаем и развиваемся Я большой фанат книг и читаю очень много. Это не только полезно для развития кругозора, но и позволяет убить время в поездках, длительном ожидании чего-либо. Или же если отключат интернет, а такое тоже иногда случается, можно просто взять книгу и занять себя чем-то интересны...

Блокчейн здесь только для пиара и хайпа? Недавно компания «Ренессанс Страхование» опубликовала статью, в которой рассказала о программном продукте для страхования грузоперевозок. Этот продукт мы разработали на основе платформы Hyperledger Fabric. Вокруг статьи развернулись дискуссии между криптоскептиками и крипт...

Как подготовиться и сдать экзамен ITIL 4 Foundation ITIL (произносится как «áйтил», англ. IT Infrastructure Library — библиотека инфраструктуры информационных технологий) — библиотека, описывающая лучшие из применяемых на практике способов организации работы подразделений или компаний, занимающихся предоставлением услуг в об...

Microsoft Surface Neo: все, что известно на данный момент Surface Neo — крайне любопытное устройство Microsoft совсем недавно представила Surface Neo, довольно интересное устройство с двумя экранами, чему мы даже посвятили отдельный материал. Но о весьма любопытном гаджете известно уже достаточно много. Более того, Microsoft ...

Ускорение файлового ввода-вывода C/C++, не особо напрягаясь Предисловие Есть на свете такая простая и очень полезная утилита — BDelta, и так вышло, что она очень давно укоренилась в нашем производственном процессе (правда её версию установить не удалось, но она точно была не последней доступной). Используем её по прямому назначению...

Оптимизация запросов базы данных на примере B2B сервиса для строителей Как вырасти в 10 раз под количеству запросов к БД не переезжая на более производительный сервер и сохранить работоспособность системы? Я расскажу, как мы боролись с падением производительности нашей базы данных, как оптимизировали SQL запросы, чтобы обслуживать как можно бол...

[recovery mode] Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания....

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

Алан Кей рекомендует почитать старые и забытые, но важные книги по программированию Алан Кей — это магистр Йода для ИТишников. Он стоял у истоков создания первого персонального компьютера (Xerox Alto), языка SmallTalk и концепции «объектно-ориентированного программирования». Он уже много высказывался о своем взгляде на образование в сфере Computer Science ...

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

[Из песочницы] Friendly Open Space JS: Рендеринг на стороне клиента и создание враппера «Friendly Open Space» — очень молодой фреймворк, но бегать уже умеет :-) В данной статье по освоению «Friendly Open Space», мы освоим рендеринг шаблона в браузере и запуск приложения на локальной файловой БД. Ядро фреймворка поддерживает два типа сборки шаблона на клиенте: ...

Windows 10 сможет автоматически удалять проблемные обновления Разработчики Microsoft решили автоматизировать механизм избавления от проблемных обновлений. Теперь пользователям Windows 10 не придется удалять их вручную.

Blitz Engine & Battle Prime: ECS и сетевой код Вступление Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процес...

Валидация форм во Vue.js Привет, Хабр! Валидация форм — одна из самых важных задач на сайте. Нам приходится валидировать данные на присутствие, на совпадение по паттерну, создавать асинхронные валидации, применять валидации только после снятия фокуса с поля или перед отправкой формы… Порой это стан...

Как запланировать отправку WhatsАpp-сообщений на Android Мы уже рассказывали вам о том, как запланировать отправку сообщения в почтовом клиенте. Это очень удобная функция. Но что насчет мессенджеров? Например, самого популярного среди пользователей смартфонов WhatsАpp? Никаких проблем. Если хотите узнать, как это сделать — ...

«У меня только один метод обучения: просто работать» — интервью с Ryan Dahl (Node.js, Deno) 27 мая исполнится 10 лет с того момента, как Ryan Dahl выпустил самую первую версию Node.js. За прошедшее десятилетие проект стал более чем успешен, но сам Райан уже переключился на другие вещи. Чем он занимается теперь? Чем его новый проект может помочь JavaScript-разрабо...

[Перевод] Введение в детерминированные сборки на С/С++. Часть 1 Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Что такое детерминированная сборка? Детерминированная сборка — это процесс сборки одного и того же исходного кода с одной и той же средой и инструкциями сборки, при котором создаются одни и те же...

Надежная игра на Марафонбет зеркало Одной из самых стабильных и надежных букмекерских контор в сети является «Марафонбет». Её сайт http://all-bookmaker.com/zerkalo-marathonbet/ имеет все необходимые инструменты и дает прекрасную возможность беттерам зарабатывать на своем увлечении. Но, к сожалению, довольно ча...

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

Как реализуется Retentioneering в App in the Air Удержать пользователя в мобильном приложении – это целая наука. Ее основы в нашей статье на VC.ru описал автор курса Growth Hacking: аналитика мобильного приложения Максим Годзи, руководитель подразделения Машинного обучения в App in the Air. Максим рассказывает о разработ...

RESTinio — это асинхронный HTTP-сервер. Простой пример из практики: отдача большого объема данных в ответ Недавно мне довелось поработать над приложением, которое должно было контролировать скорость своих исходящих подключений. Например, подключаясь к одному URL приложение должно было ограничить себя, скажем, 200KiB/sec. А подключаясь к другому URL — всего 30KiB/sec. Самым инте...

[Перевод] CSS Subgrid новости Несколько недель назад, я выступала на Frontend NE в Ньюкасле и большую часть выступления объясняла, что за особенности будут в CSS Grid Subgrid из Grid Level 2. Не имея реализации данного свойства(в браузерах), я смоделировала кучу демок, используя DevTools, для того выступ...

Windows 10 Build 18342 доступна для загрузки в Slow Ring Microsoft наконец-таки выпустила в Slow Ring тестовую сборку Windows 10 Build 18342. Microsoft недавно заявляла, что сборок нет в Slow Ring из-за проблем с античит-программами. И вот спустя пару дней выходит сборка в Slow Ring. Есть такое ощущение, что Microsoft просто немно...

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

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

Видеозвонки, WebRTC и браузер: как это работает и как согреть «замерзающую» трансляцию Для большинства из нас видеосвязь в браузере — нечто вроде черного ящика. Есть изображение собеседника на экране, звук, возможность общения. Но что происходит там, внутри? Об этом сегодня и поговорим. Статья сделана на основе доклада нашего сотрудника, Кирилла Рогового....

[Перевод] Трагедия systemd Согласно Википедии, трагедия — это «форма драмы, основанная на человеческих страданиях, которая вызывает в аудитории сопутствующий катарсис или удовольствие». Из этого определения почерпнул вдохновение Бенно Райс в своём выступлении на конференции 2019 linux.conf.au. Его док...

По следам Highload++ Siberia 2019 — 8 задач по Oracle Привет! 24-25 июня в Новосибирске прошла конференция Highload++ Siberia 2019. Наши ребята тоже там были докладом «Контейнерные базы Oracle (CDB/PDB) и их практическое использование для разработки ПО», мы выложим текстовую версию немного позже. Было круто, спасибо olegbunin ...

Повторное использование форм на React Привет! У нас в БКС есть админка и множество форм, но в React-сообществе нет общепринятого метода — как их проектировать для переиспользования. В официальном гайде Facebook’a нет подробной информации о том, как работать с формами в реальных условиях, где нужна валидация и п...

Квест с iobroker для игр “Квесты в реальности” Всем привет, на хабре уже есть несколько статей про автоматизацию игр типа «квесты в реальности» (раз, два, три, четыре, пять...), я хотел бы тоже поделиться своим опытом участия в подобном проекте. В далеком 2015 году мои друзья решили организовать квест типа escape-room ...

Почему не SQL? Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Ср...

Структура DNS пакета Предисловие Решил как то написать снифер DNS, так сказать just for fun. Просто посмотреть какие адреса в моей системе резолвятся. Протокол старый, документации должно быть много. Много. Но все статьи очень не полные и заканчиваются, на самом интересном моменте. Да, есть rf...

Российские физики описали истинные кристаллы времени В 2012 году нобелевский лауреат Фрэнк Вильчек поставил перед учеными новый фундаментальный вопрос, вытекающий из теории относительности Эйнштейна — могут ли существовать структуры, которые нарушают трансляционную симметрию во времени? Он назвал их «квантовыми кристаллами вре...

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

ShIoTiny и окружающий мир: аналоговые датчики или АЦП для самых маленьких Основные тезисы или о чем эта статья Продолжение серии статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266. Ключевой особенностью данного контроллера является возможность его программирования путем рисования программы в браузере. В данной статье о...

Атаки по обходным каналам: теперь под ударом не только ПК, но и смартфоны (аналитический обзор) Хотя мобильные устройства пользуются всё большим и большим спросом, а атаки на кэш-память по обходным каналам (далее по тексту – кэш-атаки) представляют собой мощнейший способ взлома современной микропроцессорной электроники, до 2016 года существовало лишь несколько публикац...

[Перевод] Неизменяемых коллекций в Java не будет – ни сейчас, ни когда-либо Всем привет! Сегодня вашему вниманию предлагается перевод вдумчиво написанной статьи об одной из базовых проблем Java — изменяемости, и о том, как она сказывается на устройстве структур данных и на работе с ними. Материал взят из блога Николая Парлога (Nicolai Parlog), чей...

[Из песочницы] Использование SQLite в Unity (Unity + SQLite) Всем привет, данная публикация будет посвящена работе с встраиваемой реляционной базой данных SQLite в Unity. Данная статья написана новичком для новичков с целью показания работы с SQLite, предполагается, что вы знаете основы SQL. Так как в интернете нет ясного тутора для н...

9 лучших опенсорс находок за сентябрь 2019 Доброго Хактоберфеста, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за сентябрь 2019. За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не ...

Век живи — век учись. Часть 4. Учись, работая? — Хочу прокачаться и пройти CCNA курсы Cisco, тогда я смогу перестроить сеть, сделать её более дешёвой и безотказной, поддерживать на новом уровне. Поможете с оплатой? — сисадмин, отработавший 7 лет, смотрит на директора. — Я тебя обучу, а ты уйдёшь. Что я, дурак? Иди, работ...

[Перевод] Для доказательства 30-летней гипотезы из области информатики хватило двух страничек Гипотеза «чувствительности» ставила в тупик многих выдающихся специалистов по информатике, но её новое доказательство оказалось настолько простым, что один исследователь смог свести его к единственному твиту Опубликованная этим летом работа ставит точку в почти 30-летней и...

Подписку «Яндекс.Плюс» теперь можно подключить с огромной скидкой Сегодня, 23 мая 2019 года, российская компания «Яндекс» сделала то, о чем ее многие давно просили. Она сделала подписку «Яндекс.Плюс» более доступной для людей, которые используют ее в кругу семьи. Если еще недавно каждому пользователю Сообщение Подписку «Яндекс.Плюс» тепер...

[Из песочницы] Блочное программирование Здравствуйте! Начну статью с небольшого отступления. Не посетило ли вас разочарование когда вы впервые столкнулись с программированием? Я предполагал что создание программ происходит путём взаимодействия с каким-то сложным, но очень интересным инструментом, в котором я смог...

[Перевод] Офис — это театр, в котором мы актёры TL;DR. Многие стремятся к «тихому успеху» — делать работу, которая «говорит сама за себя». К сожалению, это неправильный ход в современном театре труда. Зачастую верно обратное — для офисного информационного сотрудника представление работы и есть работа. Да, внутренняя полит...

Сброс пароля контроллера UniFi Как любой системный администратор, уверившийся в совершенстве собственной памяти и способности посреди ночи вспомнить 25-значный код установки Windows XP, поймал недавно такой вот exception. В один прекрасный день, решив зайти проверить что там с моим контроллером UniFi, по...

Кармическое проклятье Хабра Непредвиденные последствия «Система кармы Хабра и ее влияние на пользователей» — это тема для курсовой как минимум Тема про карму на «Пикабу» Я мог бы начать эту статью с того, что я давно читаю Хабр, но это будет не совсем точным высказыванием. Правильный тезис звучал б...

Опыт создания первого робота на Ардуино (робот-«охотник») Здравствуйте. В данной статье я хочу описать процесс сборки своего первого робота на ардуино. Материал будет полезен другим таким же новичкам, как и я, которые захотят изготовить какую-нибудь «самобеглую тележку». Статья представляет собой описание этапов работы с моими доп...

Работаем с USB Custom HID на Android В современных Android — приложениях для взаимодействия с другими устройствами чаще всего используются беспроводные протоколы передачи данных, как например Bluetooth. В годы, когда часть устройств имеют беспроводную зарядку, сложно представить себе связку Android устройства ...

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

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

Intel снизила цены на свои процессоры Настольные процессоры AMD Ryzen присутствуют на рынке уже более двух лет. За это время AMD отвоевала у Intel определённую долю рынка, и ситуация, судя по всему, в ближайшем будущем не изменится. Учитывая параметры линейки Ryzen 3000, напротив, Intel может и дальше терят...

Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...

PyDaCon meetup в Mail.ru Group: 22 июня 22 июня Mail.ru Group проводит совместный митап с организаторами конференции PyCon Russia и PyData Moscow meetup. Вас ждут 2 секции: доклады по Python, состав которого был сформирован на основе общего списка докладов к PyCon Russia и PyData-трек от PyData Moscow meetup. В ...

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

Microsoft запустила «отзеркаливание» оповещений Android на Windows 10 Компания Microsoft представила приложение Your Phone (Ваш телефон) в прошлом году. Он даёт доступ к фото и текстовым сообщениям на смартфоне с компьютера с операционной системой Windows 10. Теперь Microsoft начала работать над внедрением новой функции Your Phone —...

[Из песочницы] OS1: примитивное ядро на Rust для x86 Я решил написать статью, а если получится — то и серию статей, чтобы поделиться своим опытом самостоятельного исследования как устройства Bare Bone x86, так и организации операционных систем. На данный момент мою поделку нельзя назвать даже операционной системой — это неболь...

[Перевод] Типизируйте уже наконец свой код Привет хабр! На днях мне в очередной раз на глаза попал код вида if(someParameter.Volatilities.IsEmpty()) { // We have to report about the broken channels, however we could not differ it from just not started cold system. // Therefore write this case into the logs a...

Генерация конфигов для nginx, история одного pull request Приветствую, товарищи. На моих боевых серверах прекрасный nginx крутится с 2006 года и за годы его администрирования я накопил много конфигов и шаблонов. Я много нахваливал nginx и как-то так вышло, что даже хаб nginx на Хабре тоже завёл я, понты \m/ Друзья попросили подня...

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

[Перевод] Как общаться в англоязычном офисе: 14 полезных идиом На Хабре в последние годы публикуется довольно много статей о переезде, в том числе в США и Великобританию. Обычно в таких материалах рассказывают о поиске работы и визовых вопросах, но не так много внимания уделяется дальнейшей интеграции, в том числе в рабочий коллектив....

Смотри меня полностью: выжимаем максимум из live video на мобильных платформах Самый простой способ воспроизвести видео на мобильном устройстве — это открыть ссылку имеющимся в системе плеером, но это не всегда эффективно. Можно взять ExoPlayer и оптимизировать его, а можно вообще написать свой видеоплеер, используя только кодеки и сокеты. В статье ...

PVS-Studio и Bug Bounties on Free and Open Source Software Европейский союз стартовал в январе очередную большую охоту за ошибками в открытых программных проектах. Суммарный призовой фонд составляет около 850 тысяч евро. А теперь даём подсказу. Одним из способов поиска ошибок в исходном коде программ является использование статическ...

Лучшие Android-приложения для поиска текстов песен Знаете лишь пару строчек из песни? Не проблема. Эти приложения помогут вам найти нужный трек! Если вам нужно распознать песню, которая играет в данный момент, то вы, наверняка, в курсе того, какие программы для этого использовать. Тем более, что мы недавно делали подборку по...

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

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

«Любовь сводных сестер»: Беременная Меган Маркл впала в истерику после выходки своей сестры Вновь разгорается семейный скандал с подачи американских родственников герцогини Маркл. Меган Маркл, герцогиня Сассекская и супруга принца Гарри, по заверению врачей, должна родить первенца в апреле этого года. Однако пред торжественную обстановку быстро развеяла сводная се...

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

AMA с Хабром (Прямая линия с TM, v 6.0) Хабр детям не игрушка, а развлечение, информация и знания для брутальных айтишников и их боевых подруг. В общем, вы поняли, что расположение духа у нас праздничное, и нас тянет на поговорить. Как, впрочем, каждую последнюю пятницу месяца в рамках проекта АМА. А ещё мы вам по...

Флагманские телефоны Android работают с полноценной Windows 10 Еще в 2017 году Microsoft представила версию Windows 10 для устройств на чипах ARM. С тех пор Microsoft и Qualcomm совместно работают над оптимизацией под Windows 10 для ARM и позволяют разработчикам переносить свои приложения x86 на устройства ARM64.Разработчики возились с ...

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

SciPy, оптимизация SciPy (произносится как сай пай) — это пакет прикладных математических процедур, основанный на расширении Numpy Python. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных и прототипирования сложных систем, как MATLAB, IDL, Octave,...

[Перевод] Реверс-инжиниринг неизвестного процессора по единственной программе TL;DR: мы выполнили обратную разработку программы, написанной для полностью неизвестной архитектуры ЦП без какой-либо документации на ЦП (без эмулятора, без ISA, без всего) всего за десять часов. Из статьи вы узнаете, как нам это удалось… В прошлые выходные мы с командой C...

Используем SQLite в Flutter Привет, Хабр! Представляем вашему вниманию перевод статьи «Using SQLite in Flutter». Сохранение данных очень важно для пользователей, так как нецелесообразно грузить одни и те же данные из сети. Разумнее будет сохранить их локально. В этой статье я продемонстрирую как с...

DIS Group стал дистрибутором BMC Software, Inc. Компания DIS Group, дистрибутор лидирующих решений в области работы с данными, теперь предлагает на рынке России и СНГ решения BMC Software, Inc. В портфеле DIS Group появились решения для управления, мониторинга, автоматизации, оптимизации ИТ-сервисов, бизнес-процесс...

Мелкий и шустрый! Всем привет!Хочу поделиться самодельным принтером с широкой аудиторией.Имея небольшой парк принтеров и периодические заказы на печать, всегда появлялись те, кому максимально срочно нужна была какая-либо мелкая деталь. То ручка двери уаза отломалась, то шестеренка моторчика б...

Какие архитектурные улучшения получила iOS 13 Во время презентации iOS 13 на WWDC 2019, Крейг Федериги пообещал прирост в скорости работы новой операционной системы. По заявлениям Apple, алгоритм распознавания лиц Face ID стал работать на 30% быстрее, а скорость запуска приложений увеличилась до двух раз. Подобных пока...

[Перевод] Оптимизация поиска в ширину: как обработать граф с 10 миллиардами состояний Пару месяцев назад мне наконец пришлось признать, что я недостаточно умён, чтобы пройти некоторые уровни головоломки Snakebird. Единственным способом вернуть себе часть самоуважения было написание солвера. Так я мог бы притвориться, что создать программу для решения головол...

Windows 10 Insider Preview Build 19025 (20H1) выпущен на канале «Поздний доступ» Доброй ночи, друзья! Компания Microsoft выпустила предварительную сборку Windows 10 20H1 под номером 19025.1051 для участников программы Windows Insider, использующих канал «Поздний доступ». Подробный список изменений и исправлений вы можете найти в нашей статье о сборке 19...

Ctrl-Alt-Del: учимся любить легаси-код Какое отношение к легаси-коду имеют «Звёздные войны», группа «Тату» и сочетание «Ctrl-Alt-Del»? Как быть, когда приходишь в большой проект и сталкиваешься с пропастью непонятного старого кода? И как эффективнее донести до начальства, что трудозатраты на ликвидацию техничес...

[Перевод] Что нужно знать о массивах JavaScript Представляем вам перевод статьи автора Thomas Lombart, которая была опубликована на сайте medium.freecodecamp.org. Перевод публикуется с разрешения автора. Пример использования метода reduce для сокращения массива Позвольте мне сделать смелое заявление: циклы часто бывают...

Как управлять часами? Разбор фронтенд-трека второго чемпионата по программированию Новый хабрапост в серии разборов недавно прошедшего чемпионата. Участникам квалификации, которые выбрали секцию фронтенда, нужно было решить несколько задач очень разной сложности: первая (по нашим ожиданиям) занимала 20 минут, последняя — около часа. Мы проверяли широкий сп...

[Перевод] Самая красивая теорема математики: тождество Эйлера Посмотрев лекцию профессора Робина Уилсона о тождестве Эйлера, я наконец смог понять, почему тождество Эйлера является самым красивым уравнением. Чтобы поделиться моим восхищением это темой и укрепить собственные знания, я изложу заметки, сделанные во время лекции. А здесь в...

Run, Gopher, run! — о чем поговорим на GolangConf Мы обещали 5-6 причин перейти на Go, так и получилось! На GolangConf — конференции полностью посвященной Go — 7 октября будет 5 докладов с пометкой «Переход на Go» для тех, кто только собирается или начинает использовать этот язык в своих проектах. Но это только начало. С п...

DevConfX::Management – доклады управленцев простыми словами Привет, Хабровчане! Очень скоро пройдет юбилейная, десятая конференция DevConf. В рамках секции менеджмента эксперты поделятся своим опытом и своими знаниями в сфере управления. Представляем вашему вниманию некоторые из докладов секции: Страх и ненависть работы в высокотехн...

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo. Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер. Недавно мы рассказывали о том, какими и...

[Перевод] MVC без C: Что изменит SwiftUI в архитектуре приложений? MVC был давним стандартом в паттернах проектирования, используемых для написания iOS приложений. Структура iOS приложений, которые создавались ранее, была основана на одном базовом компоненте, который присутствует везде, и называется он — Controller. На WWDC19 был представле...

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

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

[Перевод] Как научить людей использовать Git По работе приходится участвовать в разных проектах, поэтому я хорошо знаю, как работают все мои коллеги. Помню, что компания начала использовать Git буквально за пару недель до моего прихода. На мониторах разработчиков кругом висели наклейки с напоминанием: сначала add, пото...

Открытая трансляция Главного зала HighLoad++ 2019 В эфире главное событие для разработчиков высоконагруженных систем. По хорошей традиции 7 и 8 ноября мы собираемся, чтобы делиться опытом в построении веб-сервисов, позволяющих одновременно помогать десяткам, сотням тысяч пользователей решать свои задачи. Если в этот раз мы ...

9 лучших опенсорс находок за октябрь 2019 Доброго ноября, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за октябрь 2019. За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывае...

Defined or Undefined? Нюансы создания массивов в JavaScript Пару месяцев назад я наткнулся на интересный вопрос на stackoverflow, там, если вкратце, человек хотел создать пустую матрицу 5х5, и, используя один способ у него получилось, а используя другой — нет. В развернувшейся дискуссии на этот счёт были приведены интересные мысли. ...

[Перевод] Превосходный набор вопросов и ответов о квантовом превосходстве Из блога Скотта Джоэла Аронсона, специалиста в области теории вычислительных машин и систем, преподавателя факультета компьютерных наук Техасского университета в Остине Вы читали эти истории – в Financial Times, Technology Review, CNET, Facebook, Reddit, Twitter, [на Хабре ...

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

[Перевод] Система частиц в Core Animation. Рождественская история Всем привет! Рождество давно прошло, но после него у нас осталась занимательная история о том, как при помощи нечасто используемой возможности Core Animation можно создать пользователям праздничное настроение. Делюсь переводом статьи моего лондонского коллеги Алексиса. Р...

У нас DevOps. Давайте уволим всех тестировщиков Можно ли автоматизировать всё, что угодно? Потом всех тестировщиков уволим, конечно. Зачем они теперь нужны, «ручного» тестирования не осталось. Правильно ведь? Это рассказ о будущем тестирования с точки зрения DevOps. Здесь будут конкретные цифры и чисто практические вывод...

Как за 28 часов создать прототип сервиса сравнения документов и выиграть хакатон Привет! После долгого перерыва мы решили вернуться на Хабр и хотим поделиться опытом участия в хакатоне. В сентябре в Москве прошел Diversity.Hack, партнерами которого стали Dostavista, Waves и мы — «Новые Облачные Технологии». Участие в хакатоне, организованном Phystech.Gen...

Книга «Глубокое обучение с подкреплением на Python. OpenAI Gym и TensorFlow для профи» Привет, Хаброжители! Глубокое обучение с подкреплением (Reinforcement Learning) — самое популярное и перспективное направление искусственного интеллекта. Практическое изучение RL на Python поможет освоить не только базовые, но и передовые алгоритмы глубокого обучения с подк...

Google выпустила полезное обновление Google Play. Что изменилось В Google Play теперь можно разом отказаться от участия во всех бета-программах, подписок на предстоящие события и т.д. Несмотря на то что по части безопасности Google Play уступает App Store, фирменный каталог приложений Google весьма функционален и удобен. Он позволяет не т...

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

[Из песочницы] Работа Xamarin c SDK, написанном на C Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ: Android iOS UWP MacOS Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонн...

Flash-анимации в Unity3D своими руками. Часть первая, лирическая В этой серии статей я расскажу о том, как и почему мы решили создать своё собственное решение для импорта flash-анимаций в Unity, об оптимизациях и внутренней кухне получившегося плагина. А также в программе: рассказ о внутренностях формата swf, особенностях расширения Unity...

[Из песочницы] Комплексный подход к визуализации событий безопасности и измерению её эффективности Привет, Хабр! Представляем вашему вниманию перевод статьи "A Full-Scale Security Visualization Effectiveness Measurement and Presentation Approach". От автора перевода Визуализация оказывает неоценимую помощь экспертам в получении выводов и знаний об объекте исследований,...

[Перевод] Моделирование метрополиса В основе одной из самых знаковых игр всех времён лежит теория о том, как умирают города, внезапно оказавшая слишком влиятельной. В 1984 году разработчик Уилл Райт как раз завершил работу над своей первой видеоигрой в жанре shoot-em-up под названием Raid on Bungeling Bay. В...

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

По следам конференции T+ Conf 2019 В середине июня в нашем офисе прошла конференция T+ Conf 2019, на которой прозвучало много интересных докладов про использование Tarantool, in-memory-вычислений, кооперативной многозадачности и Lua для создания высоконагруженных отказоустойчивых сервисов в Digital и Enterpri...

Программа выступлений фестиваля 3D-печати 3Dtoday Fest 9 февраля в Санкт-Петербурге пройдет первый праздник 3D-печати 3Dtoday Fest. Гости фестиваля смогут не только ознакомиться с интересными разработками, но и почерпнуть знания от популярных блогеров портала 3Dtoday и отраслевых специалистов, подготовивших тематические выступле...

[Из песочницы] Generic Recycler View или как не писать шаблонный код Все мы пишем приложения и у всех нас есть списки. И самое очевидное решение это RecyclerView. Сама по себе реализация не сложна и писать гайд по RecyclerView уже не актуально. Но есть одно но. Каждый раз когда нам нужен список мы создаем класс, в нем прописываем шаблонный ме...

Обработка исключений ASP.NET при помощи IRO.Mvc.MvcExceptionHandler Если вы являетесь c# бекенд разработчиком, наверняка рано или поздно появилась необходимость найти унифицированный способ обработки исключительных ситуаций. Хотя, даже если вы довольствуетесь кодом 500 в ответе, эта статья все равно поможет улучшить ваш способ, при этом не...

[Из песочницы] Функциональные компоненты с React Hooks. Чем они лучше? Относительно недавно вышла версия React.js 16.8, с которой нам стали доступны хуки. Концепция хуков позволяет писать полноценные функциональные компоненты, используя все возможности React, и позволяет делать это во многом более удобно, чем мы это делали с помощью классов. М...

Мультиуровневая оптимизация систем на основе AMD Phenom Бесспорно, новые процессорные решения в лице Ryzen серии 3000 вернули небывалый интерес как сообщества, так и энтузиастов к продукции бренда Advance Micro Device, а недавнее достижение «1usmus» в плане улучшения алгоритма работы процессоров последнего поколения показало, что...

Краткий обзор программы HolyJS 2019 Piter и ссылки на онлайн-трансляции Уже завтра начнётся седьмая по счёту конференция HolyJS. С каждым годом работа над её программой всё сложнее не только из-за стремительного развития и взросления JS-экосистемы, но и из-за роста качества и количества заявок. В этот раз программному комитету пришлось разоб...

Тик-так: время умных часов ушло, но теперь ими притворяются браслеты Давайте поговорим об умных часах. Я писал несколько топиков об умных часах на Хабре (раз и два), затем рынок немного умер, а сейчас он находится таком интересном положении — благодаря способности фитнес-браслетов притворятся полноценными часами — что хочется снова пообщаться...

[Из песочницы] Принцип открытости-закрытости Привет, Хабр! Перед вами перевод статьи Роберта Мартина Open-Closed Principle, которую он опубликовал в январе 1996 года. Статья, мягко говоря, не самая свежая. Но в рунете статьи дяди Боба про SOLID пересказывают только в урезанном виде, поэтому я подумал, что полный перево...

Об одном физическом факультете Второй семестр подходит к концу, и, значит, уже можно сделать какие-то объективные выводы об учебе на физическом факультете Вышки. В этой статье мне бы хотелось рассказать о моем факультете, в частности, о лабораторных работах Читать дальше →

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

Обзор AngularConnect 2019. Часть 1 19 и 20 сентября мы с коллегами посетили конференцию AngularConnect. Это одна из крупных Angular-конференций, в этом году она прошла в пятый раз. В программе было 30 докладов, из которых 8 — от команды Angular, 4 воркшопа и 5 эксперт-зон. Ради такого стоило поехать в Лондон ...

Дозиметр для Серёжи. Часть I. Polimaster — Охотники за нуклидом В связи с участившимися вопросами от друзей и знакомых с ключевой фразой «какой дозиметр купить? а у тебя самого что?» решил я собрать воедино разбросанную в разных местах информацию и рассказать о своем приборном парке и всем, что с этим парком связано. Хронологию рассказа ...

Зачем Senior разработчику учить студентов У нас в Veeam есть образовательный проект с лаконичным названием Veeam Academy. Посвящён он практике разработки на С#. Если не вдаваться в детали, то суть его такова: мы берём студентов-старшекурсников и за три месяца приводим их сугубо теоретические институтские знания в со...

О том как я подготовился и сдал сертификацию Oracle Database SQL (1Z0-071) Зачем написана статья? Когда я готовился к OCA и OCP по Java 8, то нашел много статей на Хабре, благодаря которым выбрал оптимальный путь и сэкономил много времени. Однако по подготовке именно к OCA Oracle Database SQL (1Z0-071) материалов на Хабре нет и в интернете тоже о...

[Перевод] Профилирование Unity UI: кто портит мой батчинг? Вы потратили бесконечное количество времени на оптимизацию Unity UI. Но для того, чтобы вызвать торможения, достаточно небольшой модификации крошечного атрибута почти невидимого элемента UI Canvas. И когда такое случается, даже профилирование Unity UI не спасёт вас от сниже...

Известны дата и место проведения Google I/O Начнем с того, что Google I/O – это ежегодная конференция, изначально ориентированная на разработчиков, но в ходе её проведения компания Google демонстрирует свои самые последние успешные наработки, которые будут воплощены в жизнь уже в самое ближайшее время. Например,...

[Перевод] Создание игры для Game Boy, часть 2 Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на GitHub. Предыдущая часть статьи находится здесь. Фантастические спрайты...

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

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

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)