Социальные сети Рунета
Четверг, 18 апреля 2024

[Перевод] Основы движков JavaScript: прототипы оптимизации. Часть 1 Всем привет. Все меньше времени остается до запуска курса «Безопасность информационных систем», поэтому сегодня мы продолжаем делиться публикациями, приуроченными к запуску данного курса. Кстати, нынешняя публикация является продолжением вот этих двух статей: «Основы движков...

[Перевод] Основы движков JavaScript: общие формы и Inline кэширование. Часть 2 Всем привет! Курс «Безопасность информационных систем» стартует уже через 2 недели, поэтому сегодня мы хотим опубликовать вторую часть статьи, публикация которой приурочена к его запуску. Прочитать первую часть можно тут. Итак, начнем. Inline Caches (ICs) Основной идеей, к...

[Перевод] Основы движков JavaScript: оптимизация прототипов. Часть 2 Добрый день, друзья! Курс «Безопасность информационных систем» запущен, в связи с этим делимся с вами завершающей частью статьи «Основы движков JavaScript: оптимизация прототипов», первую часть которой можно прочитать тут. Также напоминаем о том, что нынешняя публикация явл...

[Из песочницы] Планирование в Go: Часть I — Планировщик ОС Привет, Хабр! Представляю вашему вниманию перевод статьи «Scheduling In Go: Part I — OS Scheduler» автора Билла Кеннеди, о том, как работает внутренний планировщик Go. Это первый пост в серии из трех частей, который даст представление о механике и семантике, лежащей в осно...

[Перевод] 10 советов и приемов, которые помогут вам стать лучшим разработчиком на VueJS Перед вами вольный перевод статьи 10 Tips & Tricks to make you a better VueJS Developer с сайта Dev.to. Автор расскажет нам об интересных и полезных вариантах применения привычных нам средств VueJS. Введение Мне действительно нравится работать с VueJS и каждый раз, когда...

[Перевод] Рендеринг кадра Resident Evil 2 Общие примечания Все результаты получены на довольно старой машине (i7 3770+GTX 770), игра запускалась в DirectX 11 со средним качеством. Для анализа использовались RenderDoc и Nsight. Игра работает на движке Re Engine, ставшем наследником MT Framework — движка предыдущего...

[Перевод] История о V8, React и падении производительности. Часть 1 В материале, первую часть перевода которого мы публикуем сегодня, речь пойдёт о том, как JavaScript-движок V8 выбирает оптимальные способы представления различных JS-значений в памяти, и о том, как это влияет на внутренние механизмы V8, касающиеся работы с так называемыми фо...

[Перевод] Машинное обучение агентов в Unity Эта статья об агентах машинного обучения в Unity написана Майклом Лэнхемом — техническим новатором, активным разработчиком под Unity, консультантом, менеджером и автором многих игр на движке Unity, графических проектов и книг. Разработчики Unity внедрили поддержку машинног...

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

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

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

[Перевод] Изучаем Docker, часть 1: основы Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнер...

[Из песочницы] Модели в информационной безопасности Добрый день, Хабровчане! 1. Вместо вступления Недавно опубликованный перевод Ментальные модели ИБ заинтересовал меня не только общим посылом (в частности, применение моделей в обучении – острый для меня вопрос, ведь учёба – процесс непрерывный), но и списком ссылок на модел...

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

[Перевод] Модуль dis в Python и свертка констант Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Web-разработчик на Python». Поехали! Недавно я очень удивился, когда обнаружил, что >>> pow(3,89) работает медленнее, чем >>> 3**89 Читать дальше →

Build 2019: Microsoft официально представила новый браузер Edge на базе Chromium c режимом обратной совместимости IE Mode, а также показала версию для Mac В декабре прошлого года Microsoft официально подтвердила планы по переводу браузера Edge на движок Chromium, а в апреле стартовало публичное тестирование версии Chrome от Microsoft. На сегодняшней презентации по случаю открытия ежегодной конференции разработчиков Build 2019 ...

[Из песочницы] Как сэкономить в AWS до полумиллиона долларов? Привет, Хабр! Представляю вашему вниманию перевод статьи «How to reduce your AWS costs? Save up to $500k with these guidelines!» автора George Batschinski. В этой статье мы в подробностях расскажем, как Back4App уменьшила свои расходы в AWS с $55,492 в месяц до $20,074 в ...

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

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

[Перевод] Программный поиск общего кода с помощью oEmbed Всем доброго времени суток! Хочу поделиться переводом статьи ""Programmatically Discovering Sharing Code With oEmbed" автора Drew McLellan. Введение На многих сайтах размещены мультимедиа и контент, которыми можно поделиться в другой платформе с помощью некоторого HTML-кода...

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

[Перевод] Зачем использовать python -m pip И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога. Мариатта — разработчик из Канады, спросила в Тви...

Эффективное управление подключениями SignalR Здравствуй, Хабрахабр. В настоящий момент я работаю над созданием движка чата в основе которого лежит библиотека SignalR. Помимо увлекательного процесса погружения в мир real-time приложений пришлось столкнуться и с рядом вызовов технического характера. Об одном из них я и х...

5 советов о Design Leadership. Часть 1 Всем привет. Уже в этом месяце мы запускаем курс «Team Lead 2.0», который подготовлен специально для старших разработчиков, TeamLead’ов, SCRUM мастеров и специалистов, желающих повысить свой профессиональный уровень и получить уникальный опыт, необходимый для эффективного уп...

[Перевод] Как я сдал сертификационный экзамен Google Cloud Professional Data Engineer Без рекомендуемого 3-х летнего практического опыта В преддверии старта занятий по курсу «Data Engineer», хотим поделиться с Вами переводом одной очень интересной истории, которая наверняка будет полезна будущим дата инженерам. Поехали! Худи от Google: надето. Серьезное раб...

[Перевод] Оборачиваем последовательности в Swift Всем привет. Сегодня хотим поделиться переводом подготовленным в преддверии запуска курса «iOS Разработчик. Продвинутый курс». Поехали! Одним из основных преимуществ протокольно-ориентированного дизайна Swift является то, что он позволяет нам писать общий код, который совме...

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

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

Основы формата GLTF и GLB, часть 1 Что такое GLTF и GLB? GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. Данный формат хоро...

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

[Из песочницы] Мой опыт разработки на Playcanvas Существуют ли среди читателей люди, которые хотя бы краем уха слышали, что есть некий 3D движок для разработки WebGL приложений с редактором, похожим на Unity, только в браузере? Тема крайне непопулярная, но я стал одним из таких людей почти 2 года назад. И теперь мне захоте...

[Перевод] Как работает Zig? От переводчика: этот пост был опубликован в блоге автора 15 марта 2018 года. Так как язык развивается, в настоящее время его синтаксис может отличаться. Всё описанное относится к Zig 0.2.0, текущая версия языка — Zig 0.3.0. Я связался с автором поста, и он любезно предостави...

[Перевод] Итак, вы хотите стать аналитиком в области сетевой безопасности… Перевод статьи подготовлен специально для студентов курса «Пентест. Практика тестирования на проникновение». Вы интересуетесь развитием методов взлома и хотите поделиться своими открытиями с сообществом информационной безопасности? В этой статье я дам некоторые рекомендац...

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

[Перевод] Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения Оригинал перевода в моём блоге Пара видео о Wolfram Language Почему вы до сих пор не используете технологии Wolfram? Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технология...

[Перевод] Внутренности JVM, Часть 1 — Загрузчик классов Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В этой серии статей я расскажу о том, как работает Java Virtual Machine. Сегодня мы рассмотрим механизм загрузки классов в JVM. Читать дальше →

5 вещей, которые чаще всего не понимают новички в JavaScript Всем привет! В конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий хотим поделиться с вами авторской статьей, подготовленной специально для студентов курса. Автор статьи: Павел Якупов Превью. Хочу сразу отмети...

[Из песочницы] Всё что вам нужно знать о Node.js Привет, Хабр! Представляю вашему вниманию перевод статьи "Everything you need to know about Node.js" автора Jorge Ramón. В наши дни платформа Node.js является одной из самых популярных платформ для построения эффективных и масштабируемых REST API's. Она так же под...

[Перевод] Создание AR-игры с помощью Vuforia [Под катом есть объёмные GIF] Дополненная реальность (Augmented reality, AR) внезапно стала очень популярным термином. Благодаря Vuforia разработчики с лёгкостью могут дополнять физический мир цифровым контентом. Хотя выпуск ARKit и ARCore позволил повысить известность до...

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

[Перевод] Как работают методы persist, merge из JPA и методы save, update, saveOrUpdate из Hibernate Добрый день, друзья. Перевод статьи подготовлен специально для студентов курса "Разработчик Java". Введение В этой статье я собираюсь показать вам, как работают методы persist, merge из JPA и сравнить их с методами save, update, saveOrUpdate из Hibernate. Хотя лучше испол...

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

Будущее (или засекреченное настоящее) плазменных движков или как достичь 27 махов в атмосфере «Говорят, что те кто видел гиперзвуковой экраноплан, летящий в пузыре плазмы, из которого выехал танк, сфотался, а потом заехал обратно, никому про это уже ничего не расскажут.» Зимой я долго приставал к Зеленому Коту по поводу плазменных движков и их физических ограничени...

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

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

[Из песочницы] Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask) Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300. От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания. Итак, поехали. Читать дальше →

[Перевод] Исследование глубин аннотаций типов в Python. Часть 1 C 2014 года, когда в Python появилась поддержка аннотаций типов, программисты работают над их внедрением в свой код. Автор материала, первую часть перевода которого мы публикуем сегодня, говорит, что по её оценке, довольно смелой, сейчас аннотации типов (иногда их называют «...

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

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

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

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

Эксперимент — от парного программирования к программированию всей командой Очень хочу поделиться с вами переводом статьи про эксперимент с моб-программированием от одного из его создателей, Вуди Зила. Это когда вся команда сразу работает за одним компьютером. Как парное программирование, только групповое. Я бывший Java-разработчик и тимлид с 11-лет...

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

Состоялся релиз протокола EOSIO 2.0 – фокус на безопасности и масштабировании сети EOS Разработчик протокола EOS компания Block.one представила EOSIO 2.0, новую версию ПО, призванную повысить безопасность и масштабируемость сети. Как говорится в сообщении Block.one, EOSIO 2.0 станет первой реализацией протокола, где в целях расширения возможностей сети и созда...

[Перевод] Service mesh для микросервисов. Часть III. Более глубокий взгляд на Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Это третья статья из серии публикаций, посвященных  Kubernetes и технологии service mesh (также известной как «сеть микросервисов» и «mesh-сеть микросервисов»). В ...

[Перевод] Современная игра для NES, написанная на Lisp-подобном языке What Remains — это повествовательная игра-адвенчура для 8-битной видеоигровой консоли NES, выпущенная в марте 2019 года как бесплатный ROM, запускаемый в эмуляторе. Она создавалась небольшой командой Iodine Dynamics на протяжении двух лет с перерывами. В настоящий момент игр...

Перепрограммируем кассу и печатаем на ней Киану Ривза. Часть 2. ПО для ПК В предыдущей статье я кратко описал свою прошивку для ККТ ШТРИХ-ФР-К, которая позволяет управлять термоголовкой, движками и соответственно выводить на печать все что угодно. В этой части я покажу как написать софт, который будет общаться с кассой и форматировать картинку для...

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

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

[Перевод] Указатели сложны, или Что хранится в байте? Привет, Хабр! Представляю вашему вниманию перевод статьи "Pointers Are Complicated, or: What's in a Byte?" авторства Ralf Jung. Этим летом я снова работаю над Rust фуллтайм, и я снова буду работать (помимо прочих вещей) над "моделью памяти" для Rust/MIR. Однако, прежде чем я...

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

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

[Из песочницы] 10 советов для того, чтобы быть хорошим техническим лидером Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Tips for Being a Good Tech Lead» автора VijayDeveloper. Лидерство это не услуга, это умение. Профессионалы, работающие разработчиком программного обеспечения в течение нескольких лет, получают шанс стать технолог...

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

[Перевод] Сила дженериков в Swift. Часть 2 Добрый день, друзья. Специально для студентов курса «iOS Разработчик. Продвинутый курс» мы подготовили перевод второй части статьи «Сила дженериков в Swift». Связанные типы, условия where, сабскрипты и прочее… В статье «Сила дженериков в Swift. Часть 1» описывались gene...

[Перевод] Детальный разбор новых возможностей React 16+, часть 1: общие сведения Сегодня мы представляем вам первую часть перевода этого большого материала. Он посвящён детальному разбору новых возможностей React, которые появились в этой библиотеке начиная с версии 16. Автор этого материала уже 5 лет занимается программированием. В прошлом он был дизайн...

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

Prisma-CMS как движок для быстрого создания MVP Наверняка многие слышали понятие MVP (Минимально жизнеспособный продукт вики). На хабре тоже много статей про MVP, но в основном это или просто описание что такое MVP и для чего оно, или различные success и не очень story. Но я не нашел ни одной статьи, где бы описывалось на...

[Перевод] Smem – Отчеты о распределении памяти между процессами и пользователями в Linux И снова здравствуйте. Друзья, хотим поделиться с вами переводом полезного материала о мониторинге использования памяти в Linux. Данный материал подготовлен специально для студентов курса «Администратор Linux». Управление памятью в вопросах мониторинга ее использования – о...

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

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

[Перевод] Как происходит рендеринг кадра A Plague Tale: Innocence Предисловие Как и в других моих исследованиях, давайте начнём с введения. Сегодня мы рассмотрим последнюю игру французского разработчика Asobo Studio. Впервые я увидел видео этой игры в прошлом году, когда коллега поделился со мной 16-минутным геймплейным трейлером. Моё вни...

[спойлеры] Фильм Wandering Earth: Солнцу кранты. Всех спасут китайцы и один русский космонавт с флягой водки «Сначала неизбежно идут мысль, фантазия, сказка; за ними шествует научный расчет и, в конце концов, исполнение венчает мысль.» — К.Э. Циолковский Китайцы сняли научно-фантастический фильм по роману автора, который написал "Задачу трёх тел". И собираются рвать мировой прок...

[Перевод] Для чего нужны «золотые сигналы» мониторинга и SRE? Прим. перев.: То, что сегодня принято называть SRE (Site Reliability Engineering — «обеспечение надежности информационных систем»), включает в себя большой спектр мероприятий по эксплуатации программных продуктов, направленных на достижение ими необходимого уровня надежности...

Глава Nvidia проговорился о том, что движок Unity тоже получит поддержку трассировки лучей Недавно игровой движок Unreal Engine 4 получил поддержку трассировки лучей, что весьма важно не только для Nvidia, но и для индустрии в целом. Похоже, вскоре поддержкой данной технологии сможет похвастаться ещё один очень популярный движок — Unity. Официально разр...

[Перевод] Топ 20 навигационных фич в IntelliJ IDEA Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам Продолжая серию статей, в которых я освещаю основные фичи IntelliJ...

[Из песочницы] Как зеленый джуниор свой hot-reloader писал Предыстория Пару строк обо мне для общего понимания уровня автора и решаемой проблемы. Меня зовут Евгений и я веб-разработчик зеленый junior frontend developer. Еще какой-то год назад я работал в совершенно другой сфере и только в теории задумывался о смене профессии, но при...

[Перевод] Пишем собственный воксельный движок Примечание: полный исходный код этого проекта выложен здесь: [source]. Когда проект, над которым я работаю, начинает выдыхаться, я добавляю новые визуализации, дающие мне мотивацию двигаться дальше. После выпуска первоначального концепта Task-Bot [перевод на Хабре] я почу...

Improbable: «Unity поставила разработчиков в нелепую ситуацию» Конфликт между Improbable и Unity принял новый оборот: компания, специализирующаяся на облачных платформах, критикует производителя движков за то, что тот говорит, будто разработчики могут спокойно продолжать использование SpatialOS, тогда как в настоящее время Impr...

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

[Перевод] Подготовка приложения к Android Q. Часть 1 Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Базовый курс». Также напоминаем о том, что мы продолжаем набор на расширенный курс «Специализация Android-разработчик» Мы находимся на 10-м году разработки Android (Android Q должен быть верс...

Как мы учились быть Data Driven с Симулятором GoPractice В прошлом году команда Program Manager-ов Plesk получила возможность пройти онлайн-курс GoPractice! Simulator от Олега Якубенкова, и теперь мы хотим поделиться своими впечатлениями. Кто мы? Program Manager в Plesk может быть наиболее точно описан как «технический» менеджер...

Монолит для сотен версий клиентов: как мы пишем и поддерживаем тесты Всем привет! Я бэкенд-разработчик в серверной команде Badoo. На прошлогодней конференции HighLoad я выступал с докладом, текстовым вариантом которого и хочу поделиться с вами. Этот пост будет наиболее полезен тем, кто самостоятельно пишет тесты для бэкенда и испытывает пр...

[Перевод] Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик» Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопрос...

[Перевод] Новое в Hadoop: познакомимся с различными форматами файлов в Hadoop Всем привет! Публикуем перевод статьи, подготовленный для студентов новой группы курса «Data Engineer». Если интересно узнать, как построить эффективную и масштабируемую систему обработки данных с минимальными затратами, посмотрите запись мастер-класса Егора Матешука! Неско...

Как мы сделали движок и игру на нем за полтора года. Часть вторая. Инфраструктура Для начала несколько комментариев по следам предыдущей статьи. Мы действительно раньше работали в компании Wargaming, где разрабатывали движок, известный как dava.framework или dava.engine. Поэтому многие старые коллеги, с которыми мы по-прежнему в хороших отношениях, активн...

[Из песочницы] Сказ о полукольцах Привет, Хабр! Предлагаю вашему вниманию перевод статьи "A tale on Semirings" автора Luka Jacobowitz. Когда-нибудь задумывались, почему сумма типов называется суммой типов. Или, может, вы всегда хотели узнать, почему оператор <*> записывается именно так? И что...

Как мы внедряли WebAssembly в Яндекс.Картах и почему оставили JavaScript Меня зовут Валерий Шавель, я из команды разработки векторного движка Яндекс.Карт. Недавно мы внедряли в движок технологию WebAssembly. Ниже я расскажу, почему мы её выбрали, какие результаты получили и как вы можете использовать эту технологию в своём проекте. Читать даль...

[Перевод] Расширение mypy с помощью плагинов Добрый день, друзья. А мы продолжаем наращивать интенсивность запуска новых курсов и уже сейчас рады сообщить о том, что в конце апреля стартуют занятия по курсу «Web-разработчик на Python». В связи с этим традиционно делимся переводом полезного материала. Начнём. Известно,...

[Перевод] Введение в детерминированные сборки на С/С++. Часть 2 Перевод статьи подготовлен специально для студентов курса «Разработчик С++». → Читать первую часть Читать дальше →

[По докам] Flutter. Часть 2. Для iOS разработчиков После длительного перерыва я продолжу рассказывать о популярном фреймворке Flutter в формате «вопрос — ответ». Первую статью для Android-разработчиков вы можете найти здесь, а сегодня будет полезный материал для разработчиков под iOS. Если у вас мало времени для самостоятел...

Новый движок для новой Call of Duty Одним из заметных событий прошедшей недели стал анонс новой части Call of Duty — ведь Call of Duty: Modern Warfare, ребут одноименного хита 2007 года, будет первой за 14 лет игрой серии, которая работает на новом движке, и к тому же будет поддерживать кросс-плей на PC, PS4 и...

Хорошее не бывает дешёвым. Но бывает бесплатным В этой статье я хочу рассказать о Rolling Scopes School – бесплатном курсе по JavaScript / фронтенду, который прошла, и который мне очень понравился. Узнала я об этом курсе случайно, информации в сети о нём, на мой взгляд, немного, а курс отличный и заслуживает внимания. Дум...

[Из песочницы] JavaScript в 3D: введение в Three.js Привет, Хабр! Представляю Вашему вниманию перевод статьи «JavaScript in 3D: an Introduction to Three.js» автора Брета Кемерона (Bret Cameron). Введение Three.js это мощный инструмент. Он помогает использовать 3D дизайн в браузере с приемлемой производительностью. По нач...

[Из песочницы] GIT изнутри: введение (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи "Git for Computer Scientists" автора Tommi Virtanen. GIT изнутри: введение От себя: Периодически почитываю статьи, как различные популярные технологии устроены под капотом, наткнулся вот на этот материал. Ста...

[Перевод] 5 продвинутых техник тестирования на Go Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали! Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишите на Go, то вы уже это знаете. В этой статье мы поговори...

[Из песочницы] Назад в будущее с WebAssembly Привет, Хабр! Представляю вашему вниманию перевод статьи «Back To The Future With WebAssembly» автора Attila Vágó. Данный пост является переводом статьи, в которой рассказывается о свойствах WebAssemly и Emscripten. Оригинал статьи на английском языке. Автор статьи Аттила ...

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

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

[Перевод] Трой Хант: 10 личных финансовых уроков для профессионалов в информационных технологиях Предисловие к русскому переводу Трой Хант, эксперт по кибер-безопасности, региональный директор Microsoft в 2016 году, основатель такого ресурса как Have I Been Pwned?, курсов Pluralsight. Его статья «10 личных финансовых урока для профессионалов в информационных технологиях...

Реверсим MIPS и Golang — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 2 В данной статье разберемся с декомпиляцией MIPS бинарника в Ghidra и пореверсим программу, написанную на golang, в IDA. Часть 1 — C, C++ и DotNet decompile. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информа...

Угловые эффекты Добрый день, дорогой читатель! Это вторая переводная статья из цикла статей о создании физического движка авторства Chris Hecker. Если Вы ещё не ознакомились с первой, то рекомендую это сделать, т. к. всё сразу станет понятнее. Большое спасибо за поддержку первого перевода: ...

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

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

[Перевод] Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам Первая часть тут Читать дальше →

[Перевод] JWT: Атака на цифровую подпись VS MAC-атака Всем привет. Ни для кого не секрет, что ежемесячно OTUS запускает несколько абсолютно новых уникальных курсов, в этом месяце в их число вошел курс «Пентест. Практика тестирования на проникновение». По устоявшейся традиции, в преддверии старта курса, делимся с вами переводом ...

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

Представляем Tartiflette: реализацию GraphQL с открытым исходным кодом для Python 3.6+ Друзья, в преддверии майских праздников мы решили не заваливать вас сложными техническими статьями, поэтому нашли довольно интересный, а главное, легкий в прочтении материал, переводом которого с радостью делимся с вами. Данный материал мы хотим приурочить к запуску курса «W...

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

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

[Из песочницы] WWDC19: Приступим к работе с Test Plan для XCTest Привет, Хабр! Представляю вашему вниманию перевод статьи «WWDC19: Getting Started with Test Plan for XCTest» автора Shashikant Jagtap. На прошедшей конференции WWDC компания Apple показала новые классные фичи для разработчиков. В Xcode 11 так же добавлено несколько потряс...

Вышел трейлер Capital Wasteland: фанатского переиздания Fallout 3 на движке Fallout 4 Объединение фанатов-разработчиков под названием Road To Liberty представило новый трейлер игры Capital Wasteland. Проект является неофициальной модификацией легендарной игры Fallout 3, которую они переводят на движок Creation Engine. Именно на нем созданы The...

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

[Перевод] Глубокое обучение (Deep Learning): обзор Всем привет. Уже в этом месяце в ОТУС стартует новый курс — "Математика для Data Science". В преддверии старта данного курса традиционно делимся с вами переводом интересного материала. Аннотация. Глубокое обучение является передовой областью исследований машинного обучения ...

[Перевод] Service mesh для микросервисов. Часть II, основы работы с Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Настройка базового микросервиса в Kubernetes обманчиво проста. В одной из последних статей мы рассказали, как легко начать работать с контейнерами. Мы скомпоновали п...

Книга «Kotlin. Программирование для профессионалов» Привет, Хаброжители! Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использо...

[Перевод] Руководство по развертыванию моделей машинного обучения в рабочей среде в качестве API с помощью Flask Друзья, в конце марта мы запускаем новый поток по курсу «Data Scientist». И прямо сейчас начинаем делиться с вами полезным материалом по курсу. Введение Вспоминая ранний опыт своего увлечения машинным обучением (ML) могу сказать, что много усилий уходило на построение дейс...

[Перевод] Как заблокировать работу Microsoft Edge в фоне под Windows 10 Работая на устройстве под управлением ОС Windows 10, вы могли заметить в Task Manager среди запущенных процессов Microsoft Edge, даже если вы не пользуетесь этим браузером. Эти процессы, MicrosoftEdge.exe, MicrosoftEdgeCP.exe и MicrosoftEdgeSH.exe, отображаются там как прио...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

[Из песочницы] Криптография в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "Java Cryptography" автора Jakob Jenkov. Данная публикация является переводом первой статьи Java Cryptography из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

Новый браузер Microsoft Edge может появиться на Linux В декабре компания Microsoft объявила, что переделает свой браузер на основе открытого движка Google Chrome. После этого он сможет работать не только в системе Windows 10, но и в других, вроде macOS, Windows 7, Windows 8.1.При желании можно будет запустить Edge и на Linux. Л...

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

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

[Перевод] 15 рекомендаций по развертыванию программных средств бизнес-аналитики Всем привет. В конце июня мы запускаем новый курс «Аналитик BI». И уже сегодня хотим поделиться первым материалом подготовленным специально к курсу. Бизнес-аналитика, позволяющая значительно повысить прибыльность и эффективность коммерческой деятельности, требуется любой с...

[Перевод] Подготовка приложения к Android Q. Часть 2 Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Базовый курс». Также напоминаем о том, что мы продолжаем набор на расширенный курс «Специализация Android-разработчик» О конфиденциальности и безопасности можно прочитать в первой части статьи...

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

[Перевод] Мертв ли Hadoop? Часть 2 Перевод статьи подготовлен специально для студентов курса «Data Engineer». Читать первую часть Никому не нужна Big Data Когда вы услышите «Никому не нужна Big Data», посмотрите на резюме докладчика. Африканский телекоммуникационный оператор, переживающий удивительные уро...

Как взять сетевую инфраструктуру под свой контроль. Глава четвертая. Автоматизация. Темплейты Эта статья является шестой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь. Оставив несколько тем позади, я решил все же начать новую главу. К безопасности вернусь чуть позже. Здесь я хочу обсудит...

OpenDiablo2: открытый движок Diablo 2 В честь пятницы – немного дичи. OpenDiablo2 – открытая реализация движка Diablo 2. написано на Golang и является кроссплатформенной. Ассетов и уровней от оригинальной игры по понятным причинам нет, но авторы говорят, что если они у вас куплены, то можно просто до...

[Из песочницы] Что они думали о программистах Привет, Хабр! Представляю вашему вниманию перевод статьи «What They Thought of Programmers» автора Robert C. Martin. Интересно и познавательно вернуться в прошлое и посмотреть, как программисты были представлены в массовой культуре. Что люди о нас думали? Знали ли они, кто ...

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

Крадущийся тигр, затаившийся SQLAlchemy. Основы Доброго дня. Сегодня хочу рассказать про ORM SQLAlchemy. Поговорим о том, что это, про его возможности и гибкость, а также рассмотрим случаи, которые не всегда понятно описаны. Данная ORM имеет порог вхождения выше среднего, поэтому я попытаюсь объяснить всё простым языком ...

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

Microsoft показала Edge для macOS и рассказала будущем нового браузера В рамках ежегодной конференции Build для разработчиков Microsoft официально представила браузер Edge на основе движка Chromium. В конце прошлого года компания подтвердила будущий перевод браузера Windows 10 на Chromium, а весной 2019-го открыла публичное тестирование нового ...

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

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

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

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

Обход блокировок РКН используя DNSTap и BGP Тема довольно изъезжена, знаю. К примеру, есть отличная статья, но там рассматривается только IP-часть блоклиста. Мы же добавим еще и домены. В связи с тем, что суды и РКН блокируют всё направо и налево, а провайдеры усиленно пытаются не попасть под штрафы, выписанные "Реви...

[Перевод] Как была устроена графика NES Выпущенная в 1983 году домашняя консоль Nintendo Entertainment System (NES) была дешёвой, но мощной машиной, достигшей феноменального успеха. При помощи блока обработки изображений (Picture Processing Unit, PPU) система могла создавать достаточно впечатляющую по тем времена...

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

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

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

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

[Из песочницы] Краткое введение в рекурсию. JavaScript Перевод: Привет, Хабр! Представляю вашему вниманию перевод статьи "A Quick Intro to Recursion in Javascript" Yazeed Bzadough. Примечание. Рекурсия не единожды обсуждалась на хабре, но данная статья даёт базовое понимание рекурсии. Это будет полезно начинающим разр...

Edge на Chromium уже тестируют некоторые инсайдеры В конце прошлого года Microsoft заявила, что их браузер Edge перейдет вскоре на новый популярный движок Chromium. Реакция была неоднозначная у пользователей, но большинство восприняли эту новость довольно тепло. Ходили слухи, что в начале 2019 года Edge на Chromium станет до...

[Из песочницы] Как написать легко описываемый код Привет, Хабр! Часто ли у вас было, что вы или ваши коллеги не могли описать свой собственный код парочкой фраз? Предлагаю вашему вниманию перевод статьи "How to write easily describable code" автора Cedd Burge, в которой он делится советом, как избежать таких ситуа...

[Перевод] Решение алгоритмических задач: возможность бронирования отеля Перевод статьи подготовлен специально для студентов курса «Алгоритмы для разработчиков». Эта статья является частью серии о том, как решать алгоритмические задачи. Исходя из своего личного опыта, я обнаружил, что большинство ресурсов просто подробно описывают решение. Объ...

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

Знакомство с ITSM: 10 хабратопиков и экспертных материалов для «быстрого погружения» в тему Это — материалы, которые помогут разобраться в ITSM-трендах и инструментах. / Unsplash / Headway Пять ключевых трендов ITSM на этот год. Наш хабрапост, который мы написали не так давно (после небольшого перерыва с публикациями в нашем блоге на Хабре). Рассказываем о реше...

Microsoft представила новый браузер для Windows и macOS На ежегодной ежегодной конференции Ignite 2019 компания Microsoft официально представила новый Microsoft Edge на движке Chromium для Windows и macOS.  Новый Microsoft Edge использует тот же движок Chromium, что и браузер Chrome от Google. Microsoft ведёт его разра...

Взгляд со стороны EcmaScript на общую теорию ООП Привет, Хабр! До сего дня я занимался лишь переводами интересных, на мой взгляд, статей англоязычных авторов. И вот настала пора самому что-то написать. Для первой статьи я выбрал тему, которая, я уверен, будет полезна junior-разработчикам, стремящимся дорасти до «мидлов»,...

Crytek добавила SpatialOS GDK в CryEngine и пообещала новую AAA-игру с этой технологией Crytek объявила, что работает с известным технологическим стартапом Improbable с целью помочь разработчикам создавать игры, использующие связку движка CryEngine и облачной технологии SpatialOS. Согласно заявлению, уже достигнут прогресс в отношении полнофункциональн...

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

ITIL 4: Текущее состояние дел Практики (ITIL 4 practice guides) Книги (ITIL 4 guides) Экзамены Тренинги 14 ноября опубликованы описания практик (ITIL 4 management practices). Пока пятнадцать из тридцати четырёх. Всего шестнадцать документов, включая «инструкцию по чтению» (Reader’s Manual). Документы д...

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

[Из песочницы] Восстановление когнитивных способностей 100 пациентов (перевод статьи Дейла Бредесена) Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи Дейла Бредесена, директора отдела нейродегенеративных заболеваний медицинского факультета Калифорнийского университета в Лос-Анджелесе (UCLA), автора «The End of Alzheimer's: The First Program to Prevent...

Ethernet, FTP, Telnet, HTTP, Bluetooth — основы анализа трафика. Решение задач на сети с r0от-мi. Часть 1 В данной статье 5 первых заданий, узнаем основы анализа трафика различных сетевых протоколов. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказыват...

Очередное видео с впечатляющими геймплейными кадрами Oceanhorn 2 Всего 2 недели назад мы получили новое видео об Oceanhorn 2: Knights of the Lost Realm – впервые за почти год — как в сети появляется новый, даже более информативный ролик. На этот раз он авторства компании Unreal, на движке которой создается RPG. К сожалению, большая часть...

[Из песочницы] Структуры данных в Java. Полезные методы вспомогательных классов Привет, habr! Я Software Engineer в EPAM. Более 8 лет я работаю с legacy-кодом, написанном на языке Java (предвосхищая комментарии, отмечу, что понимание и терпимость к legacy началась задолго до EPAM, в заключении вы найдёте ответ, почему). Часто в работе я сталкивался с ...

[Из песочницы] Какую роль могут сыграть технологии в древнем искусстве смешивания специй? Привет, Хабр! Представляю вашему вниманию перевод статьи «AI and spices: Would you put cumin on a pizza?» автора Dhruti Shah. Что общего между тосканской курицей, стейком-бурбоном и новоорлеанской колбасой? Все они представляют собой новые ароматы специй, разработанные кру...

[Из песочницы] Почему Swift может стать большим событием в глубинном обучении Здравствуй, Хабр! Представляю вашему вниманию перевод заинтересовавшей меня статьи «Why Swift May Be the Next Big Thing in Deep Learning» автора Max Pechyonkin, в которой автор рассуждает о языке на котором будет осуществляться глубокое обучение в ближайшие годы. Читать дал...

Статистика сайта и своё маленькое хранилище Утилита Webalizer и инструмент Google Analytics помогали мне много лет получать представление о том, что происходит на веб сайтах. Сейчас я понимаю, что они дают очень мало полезной информации. Имея доступ к своему файлу access.log, разобраться со статистикой очень просто и ...

[Перевод] Доступное объяснение алгоритма коллапса волновой функции Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные. (Источник) Чаще всего он используется для создания изображений, но ...

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

[Перевод] Что общего между чисткой яйца и DevOps? Перед вами перевод статьи Patrick Lee Scott, размещенной на сайте hackernoon.com. Автор предлагает познакомиться с несколькими важными принципами, которые помогут вам прокачаться в DevOps. Пару дней назад я пытался почистить яйцо дурацким способом, и моя девушка Анжели сп...

[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 2 Всем привет. Сегодня делимся с вами заключительной частью статьи «Тестирование инфраструктуры как код с помощью Pulumi», перевод которой подготовлен специально для студентов курса «DevOps практики и инструменты». Тестирование развертывания Рассмотренный стиль тестирования —...

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

[Из песочницы] Новые рубежи в Физике Здравствуй, уважаемый читатель! Представляю вашему вниманию перевод с английского языка статьи «Physics, The Next Frontier» авторства Chris Hecker. Я, начинающий Java-разработчик, столкнулся с тем, что материалы по созданию физического внутриигрового движка представлены ли...

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

[Перевод] Полное руководство по массивам и срезам в Golang Перевод статьи подготовлен специально для студентов курса «Разработчик Golang», занятия по которому начинаются уже сегодня! Поначалу легко воспринимать массивы и срезы как одно и то же, но с разными названиями: и то и другое является структурой данных для представления ко...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

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

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

[Перевод] PostgreSQL и настройки согласованности записи для каждого конкретного соединения Перевод статьи подготовлен специально для студентов курса «Базы Данных». Интересно развиваться в данном направлении? Приглашаем вас на День Открытых Дверей, где мы подробно рассказываем о программе, особенностях онлайн-формата, компетенциях и карьерных перспективах, которые ...

Dagaz: Эпизоды (часть 1) Мы расшатали ваши умственные фильтры, и в результате появился ответ. Метод сработал, он будет действенным всегда. Все, что необходимо сделать — это избавиться от лишнего груза предрассудков… Раймонд Джоунс "Уровень шума" Dagaz появился не на пустом месте. Я всегда увлекалс...

Windows 10 нанесла всем сокрушительный удар в спину Наиболее распространенной операционной системой на рынке сейчас является Windows 10, которая сейчас суммарно установлена на более чем 900 млн электронных устройств, все из которых работают на ее базе. Это очень внушительная часть от общего числа Сообщение Windows 10 нанесла...

[Перевод] Posit-арифметика: победа над floating point на его собственном поле. Часть 1 Часть 2 От переводчика: Тема формата Posit уже была на хабре здесь, но без существенных технических подробностей. В этой публикации я предлагаю вашему вниманию перевод статьи Джона Густафсона (автора Posit) и Айзека Йонемото, посвящённой формату Posit. Так как статья имеет ...

[Перевод - recovery mode ] Руководство по SQL: Как лучше писать запросы (Часть 2) Продолжение статьи Руководство по SQL: Как лучше писать запросы (Часть 1) От запроса к планам выполнения Зная, что антипаттерны не статичны и эволюционируют по мере того, как вы растете как разработчик SQL, и тот факт, что есть много, что нужно учитывать, когда вы задумыва...

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

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

[Перевод] Уровень Android API, обратная и прямая совместимость Добрый вечер, друзья. Мы подготовили полезный перевод для будущих студентов курса «Android-разработчик. Продвинутый курс». С радостью делимся с вами данным материалом. Если вы читаете эту статью, значит вас могут интересовать такие вещи, как: Что означает уровень API? К...

Реализация горячей перезагрузки С++ кода в Linux и macOS: копаем глубже *Ссылка на библиотеку и демо видео в конце статьи. Для понимания того, что происходит, и кто все эти люди, рекомендую прочитать предыдущую статью. В прошлой статье мы ознакомились с подходом, позволяющим осуществлять "горячую" перезагрузку c++ кода. "Код" в данном случае — ...

C, C++ и DotNet decompile — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 1 В данной статье 5 первых заданий, узнаем основы дизассемблирования, решим задачи начального уровня реверса, а также декомпилируем dotNet приложение. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и...

[Перевод] Как работает kubectl exec? Прим. перев.: автор статьи — Erkan Erol, инженер из SAP — делится своим изучением механизмов функционирования команды kubectl exec, столь привычной для всех, кто работает с Kubernetes. Весь алгоритм он сопровождает листингами исходного кода Kubernetes (и связанных проектов),...

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

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

[Перевод] Как начать использовать User Mode в Linux Вступление от переводчика: На фоне массового входа в нашу жизнь различного рода контейнеров может быть довольно интересно и полезно узнать, с каких технологий это всё начиналось когда-то. Некоторые из них можно с пользой применять и по сей день, но не все о таких способах по...

[Из песочницы] Построение сервис-ориентированной архитектуры на Rails + Kafka Привет, Хабр! Представляю вашему вниманию пост, который является текстовой адаптацией выступления Stella Cotton на RailsConf 2018 и переводом статьи «Building a Service-oriented Architecture with Rails and Kafka» автора Stella Cotton. В последнее время отчетливо виден перех...

[Перевод] Простое объяснение алгоритмов поиска пути и A* Часть 1. Общий алгоритм поиска Введение Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия. Цель данной статьи — объясн...

Книги, которые стоит прочитать каждому продакт-менеджеру Никогда не читайте книги для самообразования просто так, без практики. Это самое плохое, когда человек прочитывает кучу книг, а затем пытается устроиться работать продакт-менеджером, размахивая книжными знаниями. Таких соискателей сразу видно. И замечательно, если человек ...

MIRO — открытая платформа indoor-робота. Часть 4 — Программная составляющая: ARDUINO (AVR) Продолжаем разбирать программную составляющую платформы MIRO. Хочется более подробно рассмотреть именно программное обеспечение под AVR. Поэтому вопросу посвятим две части. В первой опишем общую структуру библиотеки, а во второй — реализацию некоторых ключевых методов клас...

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

[Перевод] Подумайте дважды, прежде чем использовать игровые движки Холивар о том, нужно ли использовать для создания игр движки, начался сразу после появления первых игровых движков. Этот пост на reddit не является идеальным примером разумных контраргументов против постоянного использования движков, но я считаю, что непреодолимое желание их...

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

[Из песочницы] Учебное пособие по TensorFlow: 10 минутное практическое занятие по TensorFlow для начинающих [перевод] Привет, Хабр! Представляю вашему вниманию перевод статьи "TensorFlow Tutorial: 10 minutes Practical TensorFlow lesson for quick learners" автора Ankit Sachan. Этот туториал по TensorFlow предназначен для тех, кто имеет общее представление о машинном обучении и пыта...

[Из песочницы] Пишем простую нейронную сеть с использованием математики и Numpy Зачем очередная статья про то, как писать нейронные сети с нуля? Увы, я не смог найти статьи, где были бы описаны теория и код с нуля до полностью работающей модели. Сразу предупреждаю, что тут будет много математики. Я предполагаю, что читатель знаком с основами линейной а...

Edge на Chromium смогут загрузить не инсайдеры В конце прошлого года стало известно, что браузер Edge переходит с движка EdgeHTML на движок Chromium. В начале 2019 года должна стать доступна первая тестовая сборка для скачивания нового браузера. Согласно ресурсу reddit.com стало известно, что скачать тестовый билд смогут...

[Из песочницы] Какой уровень востребованности PHP разработчиков на 1 квартал 2019 года? На рынке труда программисты PHP являются одними из наиболее востребованных специалистов. За последние 3 года их популярность среди работодателей выросла на более чем на 12%. PHP — самый распространенный язык программирования общего назначения с открытым исходным кодом, многи...

Улучшаем работу Wi-Fi. Часть 3. Размещение точек доступа Обычно, когда говорят, что можно повысить качество работы чего-либо, то имеют в виду внедрение каких-либо новинок, обновлений, в общем всего того, что связано с приобретением новой техники. Однако в погоне за техническими новинками иногда упускаются такие важные вещи как ус...

Введение в аннотации типов Python. Продолжение Автор иллюстрации — Magdalena Tomczyk В первой части статьи я описал основы использования аннотаций типов. Однако несколько важных моментов остались не рассмотрены. Во-первых, дженерики — важный механизм, во-вторых иногда может оказаться полезным узнать информацию об ожидае...

Google активно работает над новым движком для рендеринга и уже назначил дату релиза В октябре Google заявил, что работает над закрытием разрыва между Googlebot и современными браузерами. На днях выяснилось, что работа активно продвигается и, возможно, уже близится к завершению. Так, на конференции SMX Munich сотрудник Google Мартин Сплит (Martin Splitt), ко...

Windows Core OS будет поддерживать Win32-приложения Microsoft разрабатывает Windows Core OS – новую версию операционной системы Windows без использования Win32-кода. Предполагалось, что запуск Win32-программ будет возможен только при помощи эмуляции или облака, но по последней информации стало известно, что Microsoft работает...

[Перевод] Зашифрованные предпочтения в Андроид Добрый день. Меня зовут Дмитрий и я являюсь преподавателем базового курса «Android разработчик» в Otus. Сегодня я решил поделиться переводом статьи, которую считаю интересной и думаю, что она может быть полезной для многих читателей нашего блога. Хранить данные в SharedPr...

[Из песочницы] Вещи, которых я не знаю в 2018 Привет, Хабр! Представляю вашему вниманию перевод статьи "Things I Don’t Know as of 2018" автора Дэна Абрамова. Люди обычно думают, что я знаю многое, но это не так на самом деле. Это не так плохо и я совсем не жалуюсь. (Некоторая малая часть людей часто страдает от предвзят...

[Перевод] Реализация PEG парсера Вдохновленный лишь частичным пониманием PEG, я решил попробовать его реализовать. Результат может получиться и не самым лучшим среди парсеров PEG общего назначения — их уже много (например, TatSu написан на Python и генерирует код Python) — но это хороший способ разобраться ...

Пароли Cisco, перенос зоны DNS, нулевые запросы LDAP, собираем Ethernet пакеты. Решение задач на сети с r0от-мi. Часть 2 В данной статье решим еще несколько задач. Ссылки на другие части ниже. Первая часть: Ethernet, FTP, Telnet, HTTP, Bluetooth — основы анализа трафика. Решение задач на сети с r0от-мi. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиват...

[Из песочницы] Настройка поиска Sphinx для интернет-магазина Информации по Sphinx не так много, как хотелось бы. Лишняя статья не помешает. Первые шаги в освоении Sphinx мне помогли сделать статьи Создание ознакомительного поискового движка на Sphinx + php и Пример Sphinx поиска на реальном проекте — магазин автозапчастей Tecdoc Совет...

[Перевод] Полезные инструменты Python Друзья, добрый вечер! У нас отличные новости, открыт набор в новую группу по курсу «Разработчик Python». Группа стартует уже в начале июля, а прямо сейчас, по устоявшейся традиции, мы делимся полезным переводом подготовленным для студентов данного курса. Когда вы только н...

[Из песочницы] Parse & Android: рекомендации начинающим разработчикам Аннотация В данной статье я бы хотел поделиться общими впечатлениями от использования BaaS – решения под названием Parse для разработки бэкэнда Android-приложения, рассказать о всех «подводных камнях», с которыми мне пришлось столкнуться в период разработки. Впервые эту плат...

[Перевод] 56 проектов на Python с открытым исходным кодом 1. Flask Это микро-фреймворк, написанный на Python. Он не имеет валидаций для форм и уровня абстракции базы данных, но позволяет вам использовать сторонние библиотеки для общих функций. И именно поэтому это микро-фреймворк. Flask предназначен для простого и быстрого создан...

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

[Перевод] Приёмы в проектировании пользовательского интерфейса, которые сэкономят время В переводе этой статьи автор приводят ряд советов и приёмов, которые упростят жизнь при проектировании дизайна пользовательского интерфейса. В статье даны сведения о полезных и экономящих время возможностях работы таких программ как Sketch, Adobe Illustrator, Figma, Adobe XD...

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

[Перевод] Авария Boeing 737 Max глазами разработчика ПО Представляю вашему вниманию перевод статьи «How the Boeing 737 Max Disaster Looks to a Software Developer» Грега Трэвиса. Речь пойдет о том, как желание Боинга сэкономить и «срезать углы» для коммерческой выгоды, а также культура «некомпетентности и неэтичности» в сообществе...

Современный валютный рынок Маринус ван Реймерсвале. Меняла и его жена. 1539 г. Музей Прадо, Мадрид. Я начал работать в Deutsche Bank программистом на Java в 2009-м году (последствия кризиса, чудо на Гудзоне, «Миллионер из трущоб», свиной грипп, поражение сборной в Мариборе). На собеседовании мне соо...

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

[Перевод] Ускорение разведочного анализа данных с использованием библиотеки pandas-profiling Первым делом, приступая к работе с новым набором данных, нужно понять его. Для того чтобы это сделать, нужно, например, выяснить диапазоны значений, принимаемых переменными, их типы, а также узнать о количестве пропущенных значений. Библиотека pandas предоставляет нам множе...

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

[Перевод] Воссоздание старой DOS-игры на C++ 17 В 2016 году я начал работу над хобби-проектом по реверс-инжинирингу игры Duke Nukem II и воссозданию с нуля его движка. Проект имеет название Rigel Engine и выложен в open source (его страница на GitHub). Сегодня, более чем два с половиной года спустя на моём движке уже можн...

Proof-of-Stake: взгляд изнутри В интернете ходит много обывательских статей и рассуждений, но достаточно мало информации по существу. В определённый момент автору стало понятно, что механика и множество связанных нюансов безопасности до конца не понятны даже многим разработчикам криптовалют. Это вскрылос...

[Перевод] Ричард Хэмминг: Глава 13. Теория информации Мы это сделали! «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2588 в закладки, 429k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) ес...

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

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

[Перевод] Шесть способов, которыми тестировщики могут принести пользу (помимо функционального тестирования) Салют! Уже на следующей неделе стартуют занятия в новом потоке курса «QA-специалист», в связи с этим делимся с вами полезным материалом, переведенным специально для студентов курса. Поехали. Резюме: Многие тестировщики проводят только функциональное тестирование, не выхо...

[Из песочницы] Учебник по JavaFX: начало работы Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka. Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK. Читать дальше →

[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 1 Вероятно, фронтенд-разработчикам знакомо нечто подобное: вводишь в поисковике «лучшие JavaScript-фреймворки» и получаешь в ответ целую гору результатов, из которой очень непросто выбрать именно то, что нужно. Что лучше всего подходит для разработки клиентских частей веб-про...

Как написать сапера на Phaser и выполнить тестовое задание HTML5 разработчика Добрый день, уважаемые коллеги! Меня зовут Александр, я разработчик HTML5 игр. В одной из компаний, куда я отправлял свое резюме, мне предложили выполнить тестовое задание. Я согласился и, спустя 1 день, отправил в качестве результата разработанную по ТЗ HTML5 игру. Поск...

[Перевод] Чем занимается геймдизайнер? Привет, Хабр! Представляю вам перевод статьи "What Does a Game Designer do?" автора Kai Wüest. Kai Wüest — продюсер из Исландии, работавший раньше тестировщиком, а затем — геймдизайнером. День в роли геймдизайнера Легендарный геймдизайнер. Человек, миф, легенда, стоящая за ...

3 ключевых качества успешного менеджера по продукту: Юрий Голиков, VP of Engineering Wrike Привет, Хабр. Мы продолжаем нашу серию статей о ключевых качествах для успешного менеджера по продукту по версии Wrike. В предыдущей части мы общались с Антоном Даниловым, group product manager. Сегодня на вопросы отвечает Юрий Голиков. Юрий работает в Wrike 3 года на должно...

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

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

[Перевод] Объяснение задачи на Python с собеседования Салют, хабровчане! В преддверии запуска нового потока по курсу «Web-разработчик на Python» хотим поделиться новым полезным переводом. Поехали! Снова сходив на несколько собеседований и пройдя тестовые задания, я заметил, что интервьюерам нравятся задания наподобие следующ...

Введение в Spring, или что делать, если по всему проекту @Autowired и @Component, а вы не понимаете, что это Приветствую тебя, Хабр! Эта статья будет полезна тем, кто уже начал изучать Java и даже успел добиться некоторых успехов в понимании Java Core, и вот услышал слово Spring. И, возможно, даже не один раз: знание Spring Framework, как минимум, фигурирует в описаниях множества ...

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

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

Мобильные отчеты на Oracle BI EE 12c — на раз, два, три. Методология из курса Oracle BI EE 12c CAD У многих компаний — пользователей продукта Oracle BI 12c есть общая проблема: их разработчики по разным причинам не хотят связываться с мобильной разработкой отчетов. На наших курсах по BI этот вопрос в новой версии был освещен достаточно полно, поэтому мы выкладываем факти...

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз Скачать файл с кодом и данные можно в оригинале поста в моем блоге Картинка к вебинару и посту взята не просто так: в определенном смысле символьное ядро Wolfram Language можно сравнить с Таносом — если бы его мощь была бы направлена в правильное русло, он мог бы стать самы...

[Перевод] Что нового в Spring Boot 2.2? Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». 16 октября 2019 года был выпущен Spring Boot 2.2 ! В этом посте вы узнаете о многих новых плюшках, которые предлагает вам версия 2.2. Читать дальше →

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

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

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

PowerShell, дамп моего опыта Введение Эта статья адресована тем, кто уже познакомился с основами PowerShell, запускал какие-то скрипты со stackexchange и, вероятно, имеет свой текстовый файл с теми или иными сниппетами облегчающими повседневную работу. Целью её написания есть уменьшение энтропии, увелич...

Pentaho Data Integration (PDI), Python и глубокое обучение Привет, Хабр! Представляю вашему вниманию перевод статьи «Pentaho Data Integration (PDI), Python and Deep Learning». Глубокое Обучение (DL) — почему вокруг него столько шума? По данным Zion Market Research, рынок глубокого обучения (DL) увеличится с 2,3 млрд долларов в 201...

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

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

Движок OpenMicroWave доступен в Google Play: играть в The Elder Scrolls III: Morrowind на Android теперь проще The Elder Scrolls: Blades получилась неудачной. Даже те, кто посчитали игру интересной, наверняка вскоре поймут, что мобильная поделка не имеет ничего общего с легендарной серией. Для тех же, кто готов мириться с неудобным управлением, на Android есть полноценная The Elder ...

[Перевод] Дорожная карта Android-разработчика в 2019 году Всем привет! У нас отличные новости. В этом месяце в Отус стартует базовый курс "Android-разработчик", а также "Специализация Android-разработчик", которая включает в себя целый пакет курсов. В связи с этим делимся с вами полезной статьей, перевод которой приурочен к данным ...

GraphQL Voyager как инструмент для поиска уязвимостей В настоящее время все больше компаний начинают использовать GraphQL. Это относительно новая технология (если быть более точным, то это язык запросов), которая призвана решить существующие проблемы REST. Если вы еще не знакомы с GraphQL, то рекомендую начать с ресурсов: ...

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

[Перевод] 6 интересных идей применения дополненной реальности (AR) Прим. пер.: в своей статье, оригинальное название которой: «6 Interesting Augmented Reality Concepts», Ник Бабич собрал ценную подборку идей применения AR, которая будет интересна даже тем, кто никак не связан с разработкой. Среди концепций есть реально работающие продукты,...

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

SP701 + PCAM-5C + 15 Минут+ VITIS = Easy MIPI на FPGA Аннотация Интерфейс MIPI сегодня становится всё более популярным интерфейсом для подключения камер и дисплеев. По этой причине всё больше отладочных комплектов на основе FPGA содержат на борту соединители интерфейса MIPI – как для подключения камер(ы) и дисплея(ев). Для того...

[Из песочницы] Как я не стал программистом в 35 лет С самого начала сентября широким потоком хлынули на Хабр публикации об успешном успехе на тему «Детство программиста», «Как стать программистом после N лет», «Как я ушёл в IT из другой профессии», «Путь в программирование» и так далее. Подобные статьи пишут постоянно, но во...

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

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

Web. Решение задач с r0от-мi. Часть 2 Данная статья содержит решение заданий, направленных на эксплуатацию web-узвимостей. Статья ориентирована в основном на новичков, которые хотят разобараться в заголовках HTTP и учавствовать в CTF. Ссылки на предыдущие части этого раздела: Web. Решение задач с r0от-мi. Час...

Unity вместе с Havok работают над новым физическим движком Сегодня на GDC Unity объявили о сотрудничестве с Havok от Microsoft над двумя физическими движками. Первый — Unity Physics, который будет дефолтным, полностью написанный на высокопроизводительном C# коде. Второй — Havok Physics полностью интегрированный в Unity. Читать дал...

Рекомендательная система для Directum Club. Часть первая, коллаборативная Каждый день пользователи по всему миру получают большое количество различных рассылок — только через сервис MailChimp ежедневно рассылают миллиард писем. Из них открывают 20.81%. Ежемесячно пользователи наших сайтов получают рассылки с отобранными редактором материалами. Эти...

[Перевод] Стрелочные функции в PHP 7.4 Стрелочные функции, также называемые короткими замыканиями (short closures), станут хорошим способом писать чистый код в PHP. Такая форма записи будет полезной при передаче замыканий в такие функции как array_map или array_filter. Пример: // Коллекция объектов Post $posts =...

Байт-машина для форта (и не только) по-индейски (часть 4) И снова я несколько переоценил объем статьи! Планировал, что это будет заключительная статья, где сделаем компилятор и выполним тестирование. Но объем оказался велик, и я решил разбить статью на две. В этой статье мы сделаем практически все основные функции компилятора. ...

[Перевод] Стартап, который использовал ИИ, чтобы разработать лекарство за 21 день И снова здравствуйте. В преддверии запуска курса «Нейронные сети на Python», хотим поделиться с вами переводом интересной статьи о вкладе ИИ в развитие медицины. Компания Insilico Medicine из Гонконга опубликовала исследование, показывающее, что их система глубокого обуче...

[Перевод] Понимаем Property Wrappers в SwiftUI Перевод статьи подготовлен специально для студентов курса «iOS Разработчик. Продвинутый курс v 2.0.» На прошлой неделе мы начали новую серию постов о фреймворке SwiftUI. Сегодня я хочу продолжить эту тему, рассказав о Property Wrappers в SwiftUI. SwiftUI предоставляет нам...

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

[Из песочницы] Анализ скроллинга страниц в Google Data Studio Добрый день, меня зовут Чакканбаев Ильхом я автор блога SeoPulses, хотел бы поделиться переводом и реализацией на практике статьи michaelhoweely.com. Для того чтобы создать полноценный и понятный отчет для блога или статейного сайта в Google Data Studio потребуется использов...

[Из песочницы] Proof-Of-Work эффективен Привет, Хабр! Представляю вашему вниманию перевод статьи «PoW is Efficient» автора Dan Held. Вступление Большинство людей думает, что энергия, потраченная на Proof-Of-Work (далее PoW), тратится впустую. В этой статье я расскажу, почему все основано на энергии, включая деньг...

[Перевод] Пишем API для React компонентов, часть 6: создаем связь между компонентами Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Hello, World! Глубокое погружение в Терминалы На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данны...

Junior-разработчики — почему мы их нанимаем и как мы с ними работаем Всем привет! Меня зовут Катя Юдина, и я IT-рекрутмент менеджер в Авито. В этой статье расскажу, почему мы не боимся нанимать джуниоров, как мы к этому пришли и какую пользу мы с ними приносим друг другу. Статья будет полезна компаниям, которые хотят нанимать джуниоров, но по...

Из риелтора в разработчика игр 2. «Операция: Андроид» Добрый день, Хабр. Две моих предыдущих статьи (раз, два) вы приняли очень тепло и даже выдвинули в топ, поэтому и продолжение не заставило себя ждать. Всего-то полгода, не такой уж и большой срок. Для тех, кто не в курсе – меня зовут Тим, мне 30 лет, я риелтор и сейчас пыта...

Поточная конвертация баз Firebird 2.5 в формат ODS12 (Firebird 3.0) У каждой версии Firebird есть собственная версия формата дисковых структур базы данных – O(n)D(isk)S(tructure). До версии 2.5 включительно, движок Firebird мог работать с ODS предыдущих версий, то есть базы от старых версий открывались новой версией и работали в режиме совме...

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

Часть вторая. Как проходить code review по версии Google Возможно вы читали первую часть статьи про код ревью со стороны ревьювера (кстати, мы уже успели ее обсудить в последнем выпуске подкаста "Цинковый прод"). Так как статья набрала много лайков, пишу обещанное продолжение про код ревью с другой стороны — со стороны автора из...

[Из песочницы] Применение Go в производственных системах. Валидаторы Добрый день, Хабр! Я довольно часто начинаю утро с просмотра хабра и наконец решил внести свой вклад в данный процесс изучения интересного. Если всё сложится, то это первая моя статься из цикла применения языка GO на производственных системах. Я хочу рассказать некоторые т...

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

[Из песочницы] Не переусложняйте ваш CI/CD и пользуйтесь Docker'ом осмысленно Я работал в разных компаниях, которые используют микросервисы. И они запускали их в docker контейнерах. Сейчас я работаю с проектом, который хоть и монолит, но его все равно удобнее запустить в контейнере. С одной стороны, Docker очень универсальный инструмент, его можно л...

Пишем собственный CLI для React Если вы делаете Ctrl+C каждый раз при создании нового компонента в реакте, то эта статья точно для вас! У реакта нет своего CLI, и понятно почему. Не существует определенных правил, как именно должна выглядеть структура компонента, есть только общие рекомендации в документа...

[Из песочницы] Под капотом у React. Пишем свою реализацию с нуля 


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

[Из песочницы] Tails OS или как защитить себя в сети Рано или поздно, но большинство фантастических сюжетов воплощаются в реальную жизнь. В мире информационной безопасности это произошло как только Эдвард Сноуден опубликовал информацию о PRISM — средстве слежения за пользователями сети, разработанного АНБ. В этой статье я опиш...

Operating Systems: Three Easy Pieces. Part 5: Планирование: Multi-Level Feedback Queue (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересной на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...

Edge 75.0.107.0 – первая версия браузера Edge на Chromium Microsoft уже примерно около полугода занимается разработкой новой версии браузера Edge. Ключевой особенностью нового браузера считается переход со собственного движка EdgeHTML на движок Chromium. Ходило очень много слухов насчет того, как будет выглядеть новый браузер. Посл...

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

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

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

Им было нечего скрывать Мы не первый год работаем на рынке информационной безопасности. Основные наши клиенты – правоохранительные органы разных стран, спецслужбы, а также отделы IT безопасности в крупных компаниях. Иногда наши клиенты делятся с нами интересными историями; о некоторых из них можно ...

[Перевод] Пишем клон движка Doom: чтение информации карт Введение Цель этого проекта — создание клона движка DOOM, использующего ресурсы, выпущенные вместе с Ultimate DOOM (версия со Steam). Он будет представлен в виде туториала — я не хочу добиваться в коде максимальной производительности, а просто создам работающую версию, и п...

QVD-файлы — что внутри, часть 2 В первой статье о структуре QVD файла я описал общую структуру и достаточно подробно остановился на метаданных. В этой статье я опишу формат хранения информации о колонках, поделюсь своим опытом трактовки этих данных. Итак (вспоминаем) QVD файл соответствует реляционной табл...

Как работать с Google Trends — полное руководство для новичков Привет, Хабр! Заметил, что многие не знают, как работать с трендами в интернете. И тем более, не знают о существовании бесплатного сервиса, решающего эту проблему- Google Trends Сервис поможет узнать, что волнует ваших клиентов сегодня, интересен ли ваш товар рынку, как...

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

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

Общие принципы работы QEMU-KVM Мое текущее понимание: 1) KVM KVM (Kernel-based Virtual Machine) – гипервизор (VMM – Virtual Machine Manager), работающий в виде модуля на ОС Linux. Гипервизор нужен для того, чтобы запускать некий софт в несуществующей (виртуальной) среде и при этом, скрывать от этого с...

[Из песочницы] Микросервисная архитектура = распределенные вычисления Приветствую всех читателей Хабра! Меня зовут Игорь Рыбаков и я технический директор в казахстанской IT-компании DAR. Сегодня я поделюсь с вами пониманием и использованием принципов параллельных вычислений в современных информационных системах. Чтобы глубже разобраться в этом...

[Из песочницы] Принцип работы протокола VRRP FHRP (First Hop Redundancy Protocol) — семейство протоколов, предназначенных для создания избыточности шлюза по умолчанию. Общей идеей для данных протоколов является объединение нескольких маршрутизаторов в один виртуальный маршрутизатор с общим IP адресом. Этот IP адрес буд...

Operating Systems: Three Easy Pieces. Part 4: Введение в планировщик (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересной на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...

[Перевод] Пишем чат на Python и Django Добрый день, друзья. В преддверии старта курса «Web-разработчик на Python» традиционно делимся с вами полезным переводом. Вы видите перед собой руководство, которое расскажет, как создать приложение-чат на Python, Django и React. В отличие от других руководств, я не исп...

Интуитивный RL (Reinforcement Learning): введение в Advantage-Actor-Critic (A2C) Это вольный перевод статьи Rudy Gilman и Katherine Wang Intuitive RL: Intro to Advantage-Actor-Critic (A2C).Специалисты по усиленному обучению (RL) подготовили множество отличных учебных пособий. Большинство, однако, описывают RL в терминах математических уравнений и абстрак...

[Перевод] Идеальный баг: Использование Путаницы Типов в Flash. Часть 1 И снова здравствуйте! Уже завтра у нас стартуют занятия в новой группе по курсу «Реверс-инжиниринг». Традиционно делимся с вами переводом полезного материала по теме. Поехали! Некоторым злоумышленникам важно, чтобы эксплойт был чрезвычайно надежным. Он всегда должен приводи...

[Перевод] Дизайн геймплея, основанный на принятии решений (Эта статья изначально была опубликована в Gamasutra Online Magazine) Чтобы развить полезное понимание системы, нужно знать, как система работает изнутри, на самом нижнем уровне. Даже полное запоминание каждого входного сигнала и реакции на него, связанной с этой системой...

[Перевод] Управление стейтом с помощью React Hooks – без Redux и Context API Всем привет! Меня зовут Артур, я работаю ВКонтакте в команде мобильного веба, занимаюсь проектом VKUI — библиотекой React-компонентов, с помощью которой написаны некоторые наши интерфейсы в мобильных приложениях. Вопрос работы с глобальным стейтом у нас пока открыт. Существу...

[Перевод] Потоки Redis как чистая структура данных Новая структура данных Redis 5 под названием «потоки» (streams) вызвала живой интерес в сообществе. Как-нибудь я поговорю с теми, кто использует потоки в продакшне, и напишу об этом. Но сейчас хочу рассмотреть немного другую тему. Мне начинает казаться, что многие представля...

[Из песочницы] TON: рекомендации и лучшие практики Эта статья является переводом документа, опубликованного на странице блокчейна TON: smc-guidelines.txt. Возможно кому-то это поможет сделать шаг в сторону разработки для этого блокчейна. Также, в конце я сделал краткое резюме. Читать дальше →

[Перевод] Руководство для начинающих по SELinux Перевод статьи подготовлен для студентов курса «Безопасность Linux» SELinux или Security Enhanced Linux — это улучшенный механизм управления доступом, разработанный Агентством национальной безопасности США (АНБ США) для предотвращения злонамеренных вторжений. Он реализует ...

Памятка начинающему разработчику компьютерных игр Данная статья ориентирована на школьников, студентов, и тех, кто постарше, кто никогда не пробовал, но очень хочет начать писать компьютерные игры. Кто в детстве не играл в компьютерные игры, и не хотел написать свою игру, которая будет лучше, чем GTA или Crysis? И я хотел,...

[Перевод] Бесстрашная защита. Безопасность памяти в Rust В прошлом году Mozilla выпустила Quantum CSS для Firefox, который стал кульминацией восьми лет разработки Rust — безопасного для памяти языка системного программирования. Потребовалось более года, чтобы переписать основной компонент браузера на Rust. До сих пор все основны...

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

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

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

[Перевод] Часто задаваемые вопросы по SELinux (FAQ) Всем привет! Специально для студентов курса "Безопасность Linux" мы подготовили перевод официального FAQ проекта SELinux. Нам кажется, что данный перевод может быть полезен не только студентам, поэтому делимся им с вами. Мы попытались ответить на некоторые наиболее часто за...

[Перевод] Введение в Redis с использованием Spring Boot Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis. Мы создадим приложение, которое демонстрирует, как выполнять CR...

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

[Перевод] XXE: XML external entity В этой статье мы объясним, что такое инъекция внешних сущностей XML, опишем некоторые общие примеры, поясним, как найти и использовать различные виды XXE-инъекций, а также обобщим, как предотвратить атаки с их помощью. Читать дальше →

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

[Из песочницы] Изучаем STM8S Медленный старт. Часть 0 МК семейства STM8S относительно STM8L/32 имеет меньший арсенал периферии, но позволяет без лишних усложнений разобраться с основами и получить необходимые навыки для работы с его старшими братьями. 0. На кого ориентирован материал, зачем и почему При написании данной стать...

[Из песочницы] Эффективные и не эффективные методы кодинга на Python Привет, Хабр! Предлагаю Вашему вниманию перевод статьи Good and Bad Practices of Coding in Python автора Duomly. Python – высокоуровневый язык программирования, акцентирующий внимание на удобочитаемости. Он разрабатывается, поддерживается и часто используется в соответствии...

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

Microsoft продемонстрировала новый Edge на движке Chromium На конференции Build 2019, проходящей в Вашингтоне с 6 по 8 мая, корпорация Microsoft официально анонсировала новую версию собственного браузера Edge. Дату релиза пока не назвали, зато продемонстрировали основные возможности программы и окончательно подтвердили, что её основ...

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

[Из песочницы] Опыт разработки ассета Unity для поиска пути в 3D пространстве Вас приветствует команда «Graceful Algorithms»! В качестве эксперимента нами было принято решение вести «дневники» разработчиков, в которых мы будем делиться опытом и освещать некоторые интересные результаты проводимых нами экспериментов. Это наша дебютная статья по проект...

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

Web — javascript authentication, obfuscation и native code. Решение задач с r0от-мi —. Client. Часть 1 Данная статья содержит решений заданий, в которых рассматриваются аутентификация javascript, обфускация javascript и javascript native code. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьют...

LG показала свою фирменную оболочку на базе Android 10 LG только что представила свою новую фирменную оболочку LG UX 9.0. на базе операционной системы Android 10, а также продемонстрировала ее особенности в первом рекламном ролике. Разработчики сделали новую оболочку проще и более интуитивной, полезные элементы уп...

Garbage Collector. Полный курс + перевод из BOTR В данной статье вы встретите сразу два источника информации: Полный курс по работе Garbage Collector на русском языке: CLRium #6 (текущий семинар здесь) Перевод статьи из BOTR "Устройство сборщика мусора" от Маони Стевенс. Читать дальше →

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

Элементарная симуляция кастомного физического взаимодействия на python + matplotlib Привет! Тут мы опишем работу некоторого поля а затем сделаем пару красивых фичей (тут все ОЧЕНЬ просто). Что будет в этой статье. Общий случай: Опишем базу, а именно работу с векторами (велосипед для тех, у кого нет под рукой numpy) Опишем материальную точку и поле вз...

[Перевод] 7 полезных советов для тех, кто использует Room Room — это уровень абстракции поверх SQLite, который упрощает организацию хранения данных. Если вы ещё мало знакомы с Room, то посмотрите эту вводную статью: 7 шагов к использованию Room. Пошаговое руководство по миграции приложения на RoomА в этой статье я хотел бы поделит...

[Перевод] GCP: Разбор вычислительного стека Google Cloud Platform Перевод статьи подготовлен специально для студентов курса «Облачные сервисы». Интересно развиваться в данном направлении? Смотрите запись профессионального мастер-класса «AWS EC2 сервис», который провёл Егор Зуев — TeamLead в компании InBit и автор образовательной программы...

[Перевод] Как Крис Жуковский учился клиентской поддержке своих игр в аэропорту Это перевод недавнего письма из рассылки от игрового инди разработчика Криса Жуковского [1]. Автор успешно выступал на конференциях, в том числе на GDC [2]. Статьи этого автора пользуются заслуженной популярностью на Гамасутре и регулярно переводятся на русские площадки. В д...

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

[Перевод] Разработка приложения для потокового вещания с помощью Node.js и React Автор материала, перевод которого мы сегодня публикуем, говорит, что работает над приложением, которое позволяет организовывать потоковое вещание (стриминг) того, что происходит на рабочем столе пользователя. Приложение принимает от стримера поток в формате RTMP и преобра...

Мотивация, делегирование и автоматизация: рецепт создания суперкоманды Знакомьтесь, это Дима. Он тимлид и отвечает за техдолг и код-ревью, за планирование и технические процессы, за выполнение разработчиками задач в срок — мотивирует, нанимает и, если надо, увольняет. Дима хочет работать только над важными задачами, но работает над миллионом са...

[Из песочницы] Пишем блог на микросервисах – часть 2 «API Gateway» В первой части нашего цикла статей «Пишем блог на микросервисах» мы описали общий подход к решению задачи. Теперь пришла очередь API Gateway или API GW. В нашем c ptimofeev API GW мы реализуем следующие функции: Конвертация REST запросов в gRPC запросы и наоборот. Логир...

[Перевод] «Алгебраические эффекты» человеческим языком Комментарий от переводчика: Это перевод замечательной статьи Дэна Абрамова (Dan Abramov), являющегося контрибутором React. Его примеры написаны для JS, но будут одинаково понятны разработчикам на любом языке. Идея общая для всех. Вы слышали об алгебраических эффектах? Мои п...

[Из песочницы] 27 вещей, которые я хотел бы узнать заранее, прежде чем начинать программировать Привет, Хабр! Представляю вашему вниманию перевод статьи «27 things I wish I knew when I started programming» автора Ken Mazaika. Заранее, прежде чем начинать программировать, хотелось бы узнать массу вещей, но вот 27 из них, которые приходят на ум. Читать дальше →

План прокачки для получения профессии Data engineer Последние восемь лет я работаю руководителем проектов (не пишу код на работе), что естественно негативно влияет на мой технологический бекэнд. Я решил сократить своё технологическое отставание и получить профессию Data engineer. Основной навык Data engineer — способность раз...

[Перевод] Будущее внедрения зависимостей в Android Предлагаю вашему вниманию перевод оригинальной статьи от Jamie Sanson Создание Activity до Android 9 Pie Внедрение зависимостей (DI) — это общая модель, по ряду причин используемая во всех формах разработки. Благодаря проекту Dagger, он взят в качестве шаблона, используемог...

Вы просто не там искали: как находить сотрудников для проекта в техподдержке Привет! Меня зовут Егор Шатов, я старший инженер группы поддержки ABBYY и спикер курса Project Management in IT в Digital October. Сегодня я расскажу о том, каковы шансы пополнить команду продукта специалистом из техподдержки и как правильно организовать перевод на новую до...

[Перевод] SVG или canvas? SVG и canvas — это технологии, которые можно использовать для рисования чего-либо на веб-страницах. Поэтому их стоит сравнить и разобраться в том, когда стоит применять SVG, а когда — canvas. Даже весьма поверхностное понимание сути этих технологий позволяет сделать вполне...

[Перевод] История Vim и руководство по его эффективному использованию Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона. Первая часть статьи отводится на знакомство с историей Vim как редакт...

Автостопом по доступности: Ссылки для пропуска навигации и секции Привет, Хабр. Предлагаю вашему вниманию перевод статьи «The Hitchhiker’s Guide to Accessibility: Skiplinks and Landmarks» автора Attila Vágó о паре незаменимых инструментов UI и их особенностях. Ссылки для пропуска навигации (далее skiplinks) — невоспетые герои каждого уважа...

[Перевод] Разбираемся в основах Blockchain: Задача Византийских Генералов. Часть 1 Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок», который стартует уже в этом месяце. Блокчейн – это децентрализованная система, состоящая из различных субъектов, которые действуют в зависимости от своих стимулов и имеющейся у них ин...

[Перевод] Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 2 — Инструменты и библиотеки, AutoML, RL, этика в AI Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся т...

[Перевод] Шейдеры 3D-игр для начинающих Хотите научиться добавлять в свою 3D-игру текстуры, освещение, тени, карты нормалей, светящиеся объекты, ambient occlusion и другие эффекты? Отлично! В этой статье представлен набор техник затенения, способных поднять уровень графики вашей игры на новые высоты. Я объясняю к...

[Из песочницы] 20 проектов, 20 языков, срок вчера Представьте: у вас есть 7 команд разработчиков общей численностью более 100 человек. Они одновременно пилят 13 приложений. Работа ведется в 20 репозиториях. Все приложения нужно переводить. Какие-то на 6 языков, какие-то на 20. А какие-то на 13, но это совсем другой набор ...

[Перевод] Руководство по Docker Compose для начинающих Автор статьи, перевод которой мы сегодня публикуем, говорит, что она предназначена для тех разработчиков, которые хотят изучить Docker Compose и идут к тому, чтобы создать своё первое клиент-серверное приложение с использованием Docker. Предполагается, что читатель этого мат...

[Перевод] Планы на Angular 8.0 и Ivy Каждую неделю мы получаем вопрос: "Когда уже Ivy будет готов?". Пришло время рассказать, как обстоят дела с версией 8.0, а также поделиться с вами планами по доведению до ума и релизу движка Ivy. В восьмой версии, выходящей во втором квартале текущего года, мы хотели бы ввес...

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

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

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

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

NVIDIA, Microsoft, Epic Games, Unity и ведущие разработчики запускают гейминг нового поколения на GDC 2019 Поддержка трассировки лучей в реальном времени интегрирована в Unreal Engine, Unity и ведущие игровые движки

[Перевод] 27 удивительных инструментов VS Code для современных JavaScript-разработчиков Visual Studio Code (его ещё называют VS Code и VSCode) — это экономичный но мощный кросс-платформенный редактор кода, выполненный в виде настольного приложения. По словам автора материала, перевод которого мы сегодня публикуем, VS Code поддерживает множество инструментов раз...

Загадка нейтрино от Сверхновой 1987А Сверхновая 1987А: во время и до вспышки Не очень давно здесь была неплохая статья Bars21 о нейтрино от сверхновых. Она мне очень понравилась, и кое-какие моменты (например, про урка-процесс) натолкнули на то, что мы не только читали или слушали одних и тех же преподавателе...

[Перевод] Преимущества и недостатки HugePages Перевод статьи подготовлен для студентов курса «Администратор Linux». Ранее я рассказал о том, как проверить и включить использование Hugepages в Linux. Эта статья будет полезна, только если у вас действительно есть, где использовать Hugepages. Я встречал множество людей, ...

Crytek продемонстрировала трассировку лучей в реальном времени на Radeon RX Vega 56 Компания Crytek опубликовала видео с демонстрацией результатов разработки новой версии её собственного игрового движка CryEngine. Демонстрация называется Neon Noir, и в ней показана работа функции Total Illumination с трассировкой лучей в реальном времени. Ключевой особен...

Основы работы с Neo4j в браузере В статье рассматривается как начать работать с графовой СУБД Neo4j, используя Neo4j Browser. Это руководство может быть полезным как дополнение к книге Редмонда и Уилсона "Семь баз данных за семь недель", так как рассматриваемый веб-интерфейс был полностью переработан, а так...

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

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

[Из песочницы] Когда использовать var, let и const в Javascript [перевод статьи Tyler’а McGinnis] Привет, Хабр! Представляю вашему вниманию перевод статьи «var vs let vs const in JavaScript» автора Tyler McGinnis. В этой статье вы узнаете 2 новых способа для создания переменных в Javascript (ES6), let и const. На протяжении этой статьи мы рассмотрим разницу между var,...

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

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

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

Безопасность Helm Эмоджи классные, с их помощью можно даже отразить всю суть рассказа о самом популярном пакетном менеджере для Kubernetes: коробка — это Helm (это самое подходящее, что есть в последнем релизе Emoji); замок — безопасность; человечек — решение проблемы. Конечно, построить...

[Из песочницы] Скрипт настройки Windows 10 Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 18362), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части. Конечно, будет проблематично описать все пункты настройки, но по...

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

[Перевод] Сервисная сеть, «Плоскость данных» и «Плоскости управления» (Service mesh data plane vs. control plane) Привет, Хабр! Представляю вашему вниманию перевод статьи «Service mesh data plane vs control plane» автора Matt Klein. В этот раз «захотелось и перевелось» описание обоих компонентов service mesh, data plane и control plane. Это описание мне показалось самым понятным и ин...

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

[Из песочницы] Пишите меньше кода Хайп по Svelte после недавнего релиза 3 версии фреймворка всё-таки имеет место быть, чему свидетельствуют сильно возросшее комьюнити и огромное количество вопросов как в официальном чате, так и в нашем рускоязычном telegram-канале. Всё больше разработчиков украдкой или всерь...

Браузер Google Chrome. Скачать или узнать? В сентябре 2008 года Google Chrome был выпущен на Windows XP в статусе беты, спустя 3 месяца компания опубликовала первую публичную версию браузера 11 декабря этого же года. В 2010 году Chrome был выпущен на MacOS и Linux, а в 2012-ом на мобильных платформах iOS и Android. ...

Web. Решение задач с r0от-мi. Часть 1 Данная статья содержит решение заданий, направленных на эксплуатацию web-узвимостей. Здесь рассмотрим задачи, затрагивающие backup файлы, непроиндексированные директории, http заголовки, редирект и command injection. Организационная информацияСпециально для тех, кто хочет ...

Для тех у кого Cura не видит принтер Я понимаю , что может и не новость для кого-то и вообще не в тему . Но столкнулся  с такой проблемой еще  год назад когда залил Repetier на Due+ruramps4d с тем ,  что Cura не видит принтер в упор хоть и издает щелчки движками при запуске программы, потому поль...

[Из песочницы] Как начать программировать в Adobe Illustrator. Скрипт Expand Clipping Mask. Часть первая Сразу хочу предупредить, что эта серия постов не для матёрых программистов и даже не для программистов вообще. Понимаю, что это звучит крайне вызывающе, учитывая IT-тематику ресурса, и все же позвольте объяснить… В качестве аудитории, я вижу обычных дизайнеров, которые хотел...

Как организовать работу над библиотекой общих компонентов Если ваша компания делает несколько продуктов в едином стиле, однажды вам в голову придет идея сделать библиотеку с общим кодом. Например, с UI-компонентами, сервисом авторизации или для работы со сторонними API. Возможно, вы зададитесь вопросами: кто должен поддерживать это...

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

[Перевод] ИИ в 2019 году: текущее положение вещей Этот перевод — часть статьи The Real-World AI issue. Общеизвестный факт — если вы станете повторять любое слово много раз, то в итоге оно потеряет всякое значение, превратится в фонетическое ничто. Это причина того, почему для многих из нас термин «искусственный интеллект...

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

Обеспечение безопасности в беспроводных протоколах на примере LoRaWAN Привет, Хабр. Мне хотелось бы в очередной раз поговорить о том, как обеспечивается базовый (читай: минимально необходимый) уровень безопасности данных в беспроводных сетях, используемых в IoT-устройствах, на примере LoRaWAN. Почему именно LoRaWAN? Во-первых, потому, что эт...

[Перевод] Программная архитектура и проектирование систем: общая картина и путеводитель по ресурсам Здравствуйте, коллеги. Сегодня на ваш суд предлагается перевод статьи Тугберка Уруглу (Tugberk Uruglu), который взялся в сравнительно небольшом объеме изложить принципы проектирования современных софтверных систем. Вот что автор сообщает о себе в сухом остатке: Поскольку ...

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

[Из песочницы] React Native — серебряная пуля для всех проблем? Как мы выбирали кросс-платформенный инструмент для Profi.ru Всем привет, меня зовут Геворг. Я Head of Mobile в Profi.ru. Хочу поделиться с вами историей нашего эксперимента с React Native. Расскажу, как мы оценивали плюсы и минусы разработки на React Native — в теории и на практике. Статья будет полезна тем, кто интересуется кросс-пл...

PVS-Studio заглянул в движок Red Dead Redemption — Bullet В наши дни для, например, разработки игр уже нет нужды самостоятельно с нуля реализовывать физику объектов, так как для этого существует большое число библиотек. Bullet в свое время активно использовался во многих ААА играх, проектах виртуальной реальности, различных симуля...

[Перевод] Разбираемся с асинхронностью в JavaScript [Перевод статьи Sukhjinder Arora] Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding Asynchronous JavaScript» автора Sukhjinder Arora. Читать дальше →

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

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

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

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

Субъективное видение идеального языка программирования Дальнейший текст — моя точка зрения. Возможно, она позволит кому-то по-новому взглянуть на дизайн языков программирования или увидеть какие-то преимущества и недостатки конкретных фич. Я не буду лезть в частные подробности типа "в языке должна быть конструкция while", а прос...

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

Microsoft анонсировала новый браузер Edge на базе Chromium и с функцией запуска Internet Explorer На ежегодном мероприятии Build 2019 компания Microsoft анонсировала новый браузер Edge на основе движка Chromium. В декабре прошлого года Microsoft подтвердила планы по переводу Edge на Chromium, а в апреле объявила о начале публичного тестирования этой версии браузера...

Как нейронные сети графике помогали В 1943 году американские нейропсихологи Мак-Каллок и Питтс разработали компьютерную модель нейронной сети, а в 1958 первая работающая однослойная сеть распознавала некоторые буквы. Сейчас же нейросети для чего только не используются: для прогнозирования курса валют, диагност...

[Перевод] Дизайн система Société Générale: Гармония дизайна и разработки Предлагаем вашему вниманию перевод истории о создании дизайн системы, рассказанной дизайнером из Societe Generale. Нынешний всплеск статей о дизайн системах вдохновил нас больше говорить о том, над чем мы работаем в Societe Generale. Мы давно экспериментируем с нашей дизайн...

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

[Перевод] Аппаратные «характеристики» в .NET Core (теперь не только SIMD) Введение Несколько лет назад, мы решили, что настало время поддержать SIMD код в .NET. Мы представили пространство имен System.Numerics с типами Vector2, Vector3,Vector4 и Vector<T>. Эти типы представляют API общего назначения для создания, доступа и оперирования векто...

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

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

[Перевод - recovery mode ] Django 3.0 будет асинхронным Andrew Godwin опубликовал DEP 0009: Async-capable Django 9 мая, а 21 июля он был принят техническим советом Django, так что можно надеяться, что к выходу Django 3.0 успеют сделать что-нибудь интересное. Он уже упоминался где-то в комментариях Хабра, но я решил донести эту но...

В новом исследовании Google Assistant кладет на лопатки конкурентов в лице Siri и Alexa Виртуальные ассистенты Google, Amazon и Apple, работающие на основе искусственного интеллекта, могут быть невероятно полезными инструментами как для управления домом и музыкой во время езды, так и при заказе еды или необходимости получить какую-то полезную информацию. Все э...

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

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

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

[Перевод] Reflective Shadow Maps: Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «Reflective Shadow Maps» автора Eric Polman. Reflective Shadow Maps (RSM) (отражающие карты теней) ― это алгоритм, расширяющий “простые” shadow map. Алгоритм учитывает свет, рассеянный после первого попадания на пов...

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

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

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

[Из песочницы] .NET зоопарк под призмой NET Core Всем привет! Сегодня мы рассмотрим разные фишки и изменения, которые появились в .NET Core платформе и сравним их с Framework. Я разбил статью на модули для более лучшего понимания. Эта статья будет интересна тем кто собирается переходить на .NET Core или уже использует его....

6 нежданчиков от Джулии Наконец-таки появилось русскоязычное руководство по языку Julia. Там реализовано полноценное введение в язык для тех, у кого мало опыта в программировании (остальным будет полезно для общего развития), так же имеется введение в машинное обучение и куча заданий для закреплен...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 48. Мультизонирование OSPF Сегодня мы рассмотрим вопрос настройи протокола OSPFv2 IPv4 для нескольких зон, который входит в раздел 2.4 тематики ICND2. Мы будем работать с топологией сети, в состав которой входит 7 роутеров, и шесть из них работают по протоколу OSPF. Роутер №7, расположенный в самом ни...

10 верстальщиков на 30 команд. Вы рехнулись? Всем привет! Меня зовут Костя, и я руковожу отделом верстки в компании Wrike. В нашем отделе сейчас работает 10 человек, и все эти ребята пришли в компанию в разное время, у них различный опыт и задачи в отдельных командах. При этом все сотрудники — прекрасные специалисты, к...

Решение задания с pwnable.kr cmd1, cmd2, asm, blukat. Обходим фильтрацию в Linux. Пишем shellcode с помощью pwntools В данной статье посмотрим как обойти легкий фильтр, разберемся как написать shell c помощью pwntools, а также решим несколько заданий с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информацион...

Размышления про идеальный корпус Здравствуйте. На написание этой статьи меня побудил наметившийся апгрейд домашней системы и недавняя статья Настольный. Металлический. Бесшумный. Твой?. Что-бы найти приемлемый вариант мне пришлось перелопатить кучу моделей корпусов и сейчас я хочу поделиться своей болью с в...

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

Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK). Enterprise Tactics. Часть 11 Командование и управление (Command and Control) Ссылки на все части: Часть 1. Получение первоначального доступа (Initial Access) Часть 2. Выполнение (Execution) Часть 3. Закрепление (Persistence) Часть 4. Повышение привилегий (Privilege Escalation) Часть 5. Обход защиты (Def...

Виды контекста в JavaScript И снова здраствуйте! Мы уже писали о том, что в конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий продолжаем делиться с вами авторскими статьями, подготовленными специально для студентов курса. Сегодня разберем в...

[Перевод] Как найти работу с релокацией в Европу: практический гайд для IT-специалистов Сам по себе поиск работы в сфере IT достаточно прост. Что же касается поиска вакансий с возможность релокации, здесь уже сложнее. Несмотря на то, что технологические компании по всему миру сейчас активно нанимают разработчиков и других IT-специалистов из-за рубежа, поиск так...

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

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

Laravel: разбираем основные понятия. Часть третья: «Заключительная» Считанные дни остаются до старта нового курса от OTUS — «Framework Laravel». В преддверии старта курса делимся заключительной частью авторской публикации о основных понятиях в Laravel. Важно: данная серия публикаций не имеет отношения к образовательной программе курса и явля...

Disk forensics, memory forensics и log forensics. Volatility framework и Autopsy. Решение задач с r0от-мi. Часть 1 Данная статья содержит решений заданий, направленных на криминалистику памяти, оперативной памяти, и логов web-сервера. А также примеры использования программ Volatility Framework и Autopsy. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и ра...

[Перевод] Автоматизированный подход к регрессионному тестированию Здравствуйте, дорогие читатели. Сегодняшний материал мы хотели бы приурочить к запуску курса "Python QA Engineer". Предвещая возможные вопросы, предупреждаем, что в статье нет ни слова о Python, но все же мы считаем этот материал полезным для тестировщиков, поэтому и решили ...

Деливерим фичи быстрее. Опыт Android-разработки в Badoo Всем привет! Меня зовут Анатолий Варивончик. Я работаю в Badoo уже больше года, а мой общий стаж Android-разработки — более пяти лет. В своей практике я и мои коллеги часто сталкиваемся с необходимостью тестировать идеи максимально быстро и просто. Мы не хотим тратить много...

Дизайн игровых интерфейсов. Брент Фокс. О чём книга? Данная статья — это краткий обзор книги Game interface design от автора Брента Фокса. Для меня эта книга была интересна с точки зрения программиста, занимающегося разработкой игр в качестве хобби в одиночку. Здесь я опишу, насколько полезной она оказалась для меня и моего хо...

[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? Часть 2 (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Друзья, до запуска нового потока по курсу «Разработчик С++», остается совсем немного времени. Пришло время опубликовать перевод второй части материала, в которой рассказывается о том, что такое ка...

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

[Перевод] Последствия переписывания компонентов Firefox на Rust В прошлых статьях цикла мы обсудили безопасность памяти и безопасность потоков в Rust. В этой последней статье посмотрим на последствия реального применения Rust на примере проекта Quantum CSS. Движок CSS применяет правила CSS на странице. Это нисходящий процесс, который с...

WebRTC,stereopi: telepresense по-домашнему Для начала ролик с youtube для вдохновения: Предупреждение: проект на видео — лишь образец, который можно сделать по туториалу в статье в части стереозрения и «поворотов головой». Танки с пультами xbox не прилагаются. Не смотря на наглядность, скудный рассказ самого авт...

[Из песочницы] Vue.js render-функции и переходы (перевод статьи Hajime Yamasaki Vukelic) Здравствуй, Хабр! Начать свою деятельность решил с перевода на русский статей, который мне самому принесли большую пользу. Надеюсь, вам пригодятся. Отмечу, что я старался переводить литературно, а не дословно. Первым вашему вниманию представляю перевод статьи «Vue.js rende...

[Перевод] Двустороннее связывание Angular, чуть больше понимания От переводчикаОт переводчика: два года назад я начал свой первый проект на Angular(2+), имея большой и успешный бэкграунд AngularJS. Переход потребовал заметного форматирования мышления, поскольку слишком много на A1 и A2+ делается «чуть-чуть по другому». Болезненность перех...

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

Haxe 4: Что нового? Предлагаю вашему вниманию перевод доклада Александра Кузьменко (с апреля этого года он официально работает в качестве разработчика компилятора Haxe) об изменениях в языке Haxe, произошедших с релиза Haxe 3.4. С момента выпуска Haxe 3.4 прошло более чем два с половиной года....

[Перевод] C# Regex в примерах Перевод статьи подготовлен специально для студентов курса «Разработчик С#». Класс Regex реализует регулярные выражения в C#. В этой статье вы узнаете, как использовать C# Regex для проверки различных пользовательских входных данных. Regex в C# реализует регулярные выра...

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

Windows 10 Build 18362.325 – исправление Песочницы Windows Обновление Windows 10 May 2019 Update (версия 1903) предоставляет ряд новых функций, в том числе новая светлая тема, улучшение производительности и, возможно, наконец-то заработает Windows Sandbox.Функция безопасности Windows Sandbox доступна для пользователей с лицензией Wi...

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

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

[Из песочницы] Wolfram Function Repository: открытый доступ к платформе для расширений языка Wolfram Привет, Хабр! Представляю вашему вниманию перевод поста Стивена Вольфрама "The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language". Предпосылки состоятельности языка Wolfram Сегодня мы стоим на пороге великих свершений вмест...

[Из песочницы] Make it True — Разработка логической игры на Unity Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации. Осторожно, много текста! Статья не являются руководством или уроком, хотя надеюсь что читатели смогут в...

[Перевод] Новости из мира OpenStreetMap № 480 (24.09.2019-30.09.2019) CyclOSM is a brand new bike-oriented map 1 | Leaflet | CyclOSM v0.2 | Map data OpenStreetMap contributors О нас Уточнение: пользователь AndiTabinas не является участником программы стипендии SotM-2019 (об этом мы ошибочно написали в прошлом выпуске № 479). Информация (пос...

Edge на Chromium скоро станет доступен? Постоянно сплавают в Сети скриншоты установки и пользовательский интерфейс самого браузера Edge, который базируется на движке Chromium. Сегодняшний день не стал исключением, так как Saint Cow у себя в твиттере опубликовал скриншот установки инсайдерской версии Edge на Chromi...

[Перевод] Поговорим о PAKE А сейчас поговорим о информационной безопасности. Данная публикация приурочена к запуску курса «Криптографическая защита информации», который стартует уже 30 мая. Поехали. Первое правило PAKE: никогда не говорить о PAKE. Второе правило PAKE гласит, что первое правило это н...

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

[Перевод] Quality pipelines в мобильной разработке, часть 1: Android фото с Unsplash по запросу "pipeline" Общий подход Привет! Я начинаю серию постов о пайплайнах в разработке и не только, которые помогают удостовериться в качестве разрабатываемых мобильных приложений. Главная идея в том, чтобы осветить все подходы к мобильной разработке, а...

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

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

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

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

Книга «Совершенный алгоритм. Основы» Привет, Хаброжители! Эта книга основана на онлайн-курсах по алгоритмам, которые Тим Рафгарден ведет на Coursera и Stanford Lagunita, а появились эти курсы благодаря лекциям для студентов, которые он читает в Стэнфордском университете на протяжении многих лет. Алгоритмы — э...

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

В сеть утёк Microsoft Edge на Chromium для ARM64 В конце прошлого года Microsoft объявила о переводе собственного браузера Edge на движок Chromium. Вместе с этим компания сообщила о намерении активно участвовать в развитии проекта Chromium, чтобы браузеры на его основе стали ещё лучше. В частности, Microsoft ведёт над доб...

Как рисует браузер. Лекция Яндекса До недавнего времени я работал в команде Яндекс.Браузера и по следам этого опыта сделал доклад на конференции YaTalks. Доклад был о том, что у браузера под капотом и как ваши странички превращаются в пиксели на экране. Минимум фронтенда, только внутренности браузера, только ...

[Перевод] Fluent 1.0: гибкая система локализации Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата фай...

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

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

[Из песочницы] Вступление в архитектуру React Fiber Привет, Хабр! Предлагаю вашему вниманию перевод статьи "React Fiber Architecture" автора Andrew Clark. Вступление React Fiber — прогрессивная реализация ключевого алгоритма React. Это кульминационное достижение двухгодичных исследований команды разработчиков React. Цель Fibe...

[recovery mode] Как я отказался от Ruby в пользу Python, работая над бэкендом Перевели для вас статью Бенуа Зен, разработчика ПО в компании Sqreen. Бенуа работает над backend веб-сервиса и недавно перешел с Ruby на Python. В 2008 году, когда я еще учился на разработчика ПО, два моих друга решили основать компанию, назвав ее Feedbooks. Их целью бы...

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

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

[Из песочницы] Настройка VSCode для работы с Scala Статья рассчитана на новичков в программировании на Scala, каким я сам и являюсь, и просто на желающих начать писать программный код в VSCode. Так получилось, что единственным гайдом по теме работы со Scalой в Visial Studio Сode оказалось это видео на ютуб-канале DevInside...

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

[Перевод] Если вы что-то создаёте, избегайте расписания менеджера В книге ”Masters of Doom” о компании id Software и её влиянии на массовую культуру Дэвид Кушнер размышлял о необычном стиле работы ведущего программиста Джона Кармака. Чтобы повысить производительность и не отвлекаться от работы над движком Quake, тот принял агрессивный п...

Кодировки, шифр сдвига, брут хешей и создание картинки с помощью PIL python. Решение задач с r0от-мi Cryto. Часть 1 Данная статья содержит решений заданий Encoding ASCII и Encoding UU направленные на кодировки, Hash Message Digest 5 и Hash SHA-2 — на нахождение прообраза хеша, Shift cipher — шифр сдвига, и Pixel Madness — на составление картинки. Организационная информацияСпециально дл...

Компас команды Привет! Меня зовут Маша, я Scrum Master в ivi. Работаю с командами биллинга и веб-разработки и помогаю ребятам организовывать рабочие процессы так, чтобы не только эффективно достигать целей, которые ставит бизнес, но и получать удовольствие от того, что ты делаешь. В своих ...

[Из песочницы] Дифференциальная геометрия кривых. Часть 1 Предисловие Привет всем читателям. Просто решил написать статью о дифференциальной геометрии кривых. На мой взгляд, тема из «непрерывной» математики будет большинству читателей Хабра полезна, по крайней мере ближайший час =), учитывая что это IT ресурс, а IT это где то ближ...

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

iOS-дайджест №4 (5 апреля – 26 апреля) Привет, Хабр! Это новый выпуск дайджеста про новости iOS-разработки для iOS-разработчиков и не только (начинается дайджест с общих Apple-новостей, интересных более широкому кругу). Все предыдущие выпуски можно найти на VK-странице, а в этот раз экспериментально пробуем бол...

Check Point Maestro Hyperscale Network Security — новая масштабируемая security платформа Компания Check Point довольно резво начала 2019 год сделав сразу несколько анонсов. Рассказать обо всем в одной статье не получится, поэтому начнем с самого главного — Check Point Maestro Hyperscale Network Security. Maestro это новая масштабируемая платформа, которая позв...

Нужен готовый джун — научи его сам, или Как мы запускали курс семинаров для студентов Для эйчаров в ИТ не секрет, что если твой город — не миллионник, то найти в нём программиста проблематично, а человека, который владеет нужным стеком технологий и опытом, и того сложнее. В Иркутске айтишный мир тесен. Большинство разработчиков города в курсе существования к...

Atlassian Confluence: расширяем на python В Альфастраховании мы активно пользуемся "Вики", движком которого выступает Atlassian Confluence. Когда я первый раз с ним всерьез столкнулся (в попытке создать в нем контент), мне в нем не хватило "динамичности" — хотелось иметь возможность программно формировать части стра...

VMworld Europe 2019: ключевые анонсы и распаковка легендарного рюкзака На открытии VMworld Europe 2019 в Барселоне перед гостями конференции и прессой выступил CEO VMware, Пэт Гелсингер. В своей приветственной речи он обозначил ключевое для современных представителей IT-профессии понятие: Tech in the age of any, технологии в эпоху всего и всех....

Трассировка лучей для всех: Crytek показала демо Neon Noir, которое работает на любых видеокартах На сегодняшний день только старшие видеокарты Nvidia поколения Turing имеют аппаратные блоки, ускоряющие трассировку лучей в реальном времени в играх. Однако сам API DirectX Raytracing (DXR), представленный Microsoft, не имеет ограничений относительно тех или иных GPU....

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

Видео: 11 минут геймплея Skywind — мода The Elder Scrolls III: Morrowind на движке Skyrim В середине августа группа разработчиков TES Renewal показала трейлер Skyblivion — мода для Oblivion на движке Skyrim. Теперь же другая ее часть, которая работает над модом Skywind (The Elder Scrolls III: Morrowind на...

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

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

Адмирал Х — отличное место для вашего азарта Если вы устали от серых будней, то обязательно посетите игровое казино Admiral X, которое непременно подарит вам невероятные эмоции, и вы точно забудете, что такое плохое настроение. На самом деле, онлайн казино Адмирал Х, это заведение, которое посещают очень многие, в перв...

[Перевод] Криптография в Java. Утилита Keytool Привет, Хабр! Представляю вашему вниманию перевод 10 статьи "Java Keytool" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

[Из песочницы] Мифы про удалённых сотрудников, которые мы разрушили сами Привет, Хабр. Я редактор в компании Ratio, мы делаем веб-разработку на заказ и с начала 2018 года все наши сотрудники работают удалённо. От Таллина до Комсомольска-на-Амуре, семь часовых поясов. Наши разработчики всегда трудились из дома, но также был офис в Москве, в кот...

[Перевод] Эффекты фильтрации SVG. Часть 7. Продвижение вперед Предлагаемая серия статей "Эффекты фильтрации SVG" Sara Soueidan, внештатного разработчика UI/UX интерфейса и автора многих технических статей, проживающей в Ливане, посвящена работе фильтров SVG и состоит из следующих статей: Эффекты фильтрации SVG Эффекты фильтрации SVG. ...

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

Как убедить всех, что у тебя защищённый ЦОД? Преамбула. Статья носит исключительно информационный характер. Предназначена для потенциальных клиентов ЦОД, которые слышали про 152-ФЗ, 149-ФЗ, хотят потратить бюджетные средства и не знают, что такие схемы бывают. Для удобства восприятия материала автор будет излагать схем...

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

[Перевод] Распределение памяти в JVM Всем привет! Перевод сегодняшнего материала мы хотим приурочить к запуску нового потока по курсу «Разработчик Java», который стартует уже завтра. Что ж начнём. JVM может быть сложным зверем. К счастью, большая часть этой сложности скрыта под капотом, и мы, как разработчики ...

Поднимаем сервер 1с с публикацией базы и веб сервисов на Linux Сегодня я бы хотел рассказать, как поднять сервер 1с на linux debian 9 с публикацией web-сервисов. Что такое web-сервисы 1с? Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки...

[Перевод] Что есть и чего нет в Go. Часть 2 Всем привет! Cегодня делимся заключительной частью перевода статьи «Что есть и чего нет в Go». Напоминаем, в первой части речь шла о элементах, которые есть в Go, сегодня же поговорим о том, чего в Go нет. Перевод данного материала подготовлен в преддверии старта нового пот...

[Перевод] Профессиональная контейнеризация Node.js-приложений с помощью Docker Автор материала, перевод которого мы публикуем сегодня, работает DevOps-инженером. Он говорит, что ему приходится пользоваться Docker. В частности, эта платформа для управления контейнерами применяется на разных этапах жизненного цикла Node.js-приложений. Использование Docke...

Как мы создавали онлайн-банк для бизнеса. Часть первая: Ребрендинг Это первая статья об истории создания онлайн-банка для бизнеса. Истории, которой я невероятно горжусь и которой хочу поделиться не только с коллегами по финтеху, но и с предпринимателями. Два года назад я присоединился к команде ФорБанка и возглавил разработку интерфейсов о...

Как подключить галерею PhotoSwipe в WebView android Я не профессиональный разработчик, хотя и учился на программиста. Сейчас работаю системным администратором и планирую переходить в разработчики. Пишу для себя приложение, которое парсит один из популярных сайтов тематики IT и показывает статьи в нативном приложении android. ...

AMA с Medium (Прямая линия с разработчиками сети Medium) Привет, Хабр! 24 апреля 2019 года на свет появился проект, целью которого стало создание независимой телекоммуникационной среды на территории Российской Федерации. Мы назвали его Medium, что в переводе с английского означает «посредник» (один из возможных вариантов перевод...

[Перевод] Теория вместо эвристики: становимся лучше как frontend-разработчики Перевод Becoming a better front-end developer using fundamentals instead of heuristics Наш опыт показывает, что не имеющие технического образования разработчики и самоучки чаще полагаются не на теоретические принципы, а на эвристические методы. Эвристика — шаблоны и пров...

[Перевод] PostgreSQL 11: Эволюция секционирования от Postgres 9.6 до Postgres 11 Отличной всем пятницы! Все меньше времени остается до запуска курса «Реляционные СУБД», поэтому сегодня делимся переводом еще одного полезного материала по теме. В процессе разработки PostgreSQL 11 была проделана впечатляющая работа по улучшению секционирования таблиц. Секц...

[Из песочницы] Ограничения машинного обучения Привет, Хабр! Представляю вашему вниманию перевод статьи “The Limitations of Machine Learning“ автора Matthew Stewart. Большинство людей, читающих эту статью, вероятно, знакомы с машинным обучением и соответствующими алгоритмами, используемыми для классификации или прогнози...

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

Как строить, развертывать и тестировать Waves RIDE dApp Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки. Схема разработки dApps и обычных приложений почти не отличается: Пишем код Пишем автоматизированное тестирование Запуска...

Запускаем systemd в контейнере Мы давно следим за темой использования systemd в контейнерах. Еще в 2014 году наш инженер по безопасности Дэниел Уолш (Daniel Walsh) написал статью Running systemd within a Docker Container, а еще через пару лет – другую, которая называлась Running systemd in a non-privilege...

Криптография в Java. Класс MessageDigest Привет, Хабр! Представляю вашему вниманию перевод третьей статьи "Java MessageDigest" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Signature Привет, Хабр! Представляю вашему вниманию перевод пятой статьи "Java Signature" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Mac Привет, Хабр! Представляю вашему вниманию перевод четвертой статьи "Java Mac" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Certificate Привет, Хабр! Представляю вашему вниманию перевод заключительной статьи "Java Certificate" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Тестирование фронтенда Эффективная стратегия автоматизированного тестирования кода чрезвычайно важна для обеспечения быстрой и качественной работы команд программистов, занимающихся поддержкой и развитием веб-проектов. Автор статьи говорит, что в компании StackPath, в которой он работает, с тестир...

Подробности о масштабной MMORPG Traha от издателя Nexon Издатель Nexon, как и обещал, провел медиа-конференцию и поделился подробностями о крупной MMORPG Traha. Вчерашнее событие касалось подробностей для рынка Южной Кореи, но раскрыло детали и о самой игре. Официальный релиз Traha в Южной Корее состоится 18 апреля на iOS и Andr...

[Перевод] Пошаговое руководство по настройке DNS-сервера BIND в chroot среде для Red Hat (RHEL / CentOS) 7 Перевод статьи подготовлен для студентов курса «Безопасность Linux». Интересно развиваться в данном направлении? Смотрите запись трансляции мастер-класса Ивана Пискунова «Безопасность в Linux в сравнении с Windows и MacOS» В этой статье я расскажу о шагах по настройке DNS-с...

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