[Из песочницы] Руководство Google по стилю в C++ Часть 1. Именование Часть 2. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятнее иметь...
[Перевод] Полное руководство по массивам и срезам в Golang Перевод статьи подготовлен специально для студентов курса «Разработчик Golang», занятия по которому начинаются уже сегодня! Поначалу легко воспринимать массивы и срезы как одно и то же, но с разными названиями: и то и другое является структурой данных для представления ко...
[Перевод] Функциональное мышление. Часть 10 Вы представляете, это уже десятая часть цикла! И хотя до этого повествование было сфокусировано на чисто функциональном стиле, иногда удобно переключиться на объектно-ориентированный стиль. А одними из ключевых особенностей объектно-ориентированного стиля являются возможност...
[Из песочницы] Обзор и сравнение V2X технологий Summary V2X — это общее название для всех видов коммуникаций между транспортными средствами. Рассмотрим и сравним доступные спецификации, математические модели, увидим какие существуют коммерческие решения в этой области и как их купить в России. Начнем с короткого обзора ...
[Перевод] Учебный курс по React, часть 28: современные возможности React, идеи проектов, заключение Сегодня, в заключительной части перевода курса по React, мы поговорим о современных возможностях React и обсудим идеи React-приложений, создавая которые, вы можете повторить то, чему научились, проходя этот курс, и узнать много нового. → Часть 1: обзор курса, причины попу...
[Перевод] Учебный курс по React, часть 13: компоненты, основанные на классах Сегодня мы публикуем перевод очередного занятия учебного курса по React. Оно посвящено компонентам, основанным на классах. Такие компоненты создают с использованием ключевого слова class. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функци...
Arend – язык с зависимыми типами, основанный на HoTT (часть 2) В первой части статьи про язык Arend мы рассматривали простейшие индуктивные типы, рекурсивные функции, классы и множества. 2. Сортировка списков в Arend 2.1 Упорядоченные списки в Arend Определим тип упорядоченных списков как пару, состоящую из списка и доказательства его ...
Дж. Х. Рейнвотер «Как пасти котов» (часть вторая): все, что предстоит освоить техлиду Продолжаем делиться выдержками из руководства по выживанию для начинающих техлидов от Дж. Х. Рейнвотера. В первой серии мы рассказывали, с какими породами разработчиков руководителю обычно приходится работать; теперь попытаемся понять, что делать со всем этим зоопарком. Ор...
[Перевод] Руководство по Discovery.js: быстрое начало Это и последующие руководства проведут вас через процесс создания решения на основе проекта Discovery.js. Наша цель — создать инспектор NPM-зависимостей, то есть интерфейс для исследования структуры node_modules. Примечание: Discovery.js находится на ранней стадии разработки...
Правда ли, что GOPATH и GOROOT больше не нужны? Так повелось, что разработчики, еще только начинающие знакомиться с Go, часто сталкиваются с проблемой выбора рабочей директории для Go-проектов. Вот и в чате конференции GolangConf тоже задавался этот вопрос. Новые гоферы часто пугают друг друга словами GOPATH и GOROOT. Одн...
[Перевод] Учебный курс по React, часть 12: практикум, третий этап работы над TODO-приложением В сегодняшней части перевода курса по React мы предлагаем вам выполнить практическое задание по формированию наборов компонентов средствами JavaScript и продолжить работу над TODO-приложением. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: ф...
[Перевод] Учебный курс по React, часть 7: встроенные стили Сегодня, в следующей части курса по React, мы поговорим о встроенных стилях. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проектов → Часть 4: родительские и дочерние компоне...
[Перевод] Учебный курс по React, часть 11: динамическое формирование разметки и метод массивов map В сегодняшней части перевода учебного курса по React мы поговорим об использовании стандартного метода массивов map() для организации динамического формирования JSX-разметки, описывающей наборы однотипных элементов. → Часть 1: обзор курса, причины популярности React, Reac...
[Перевод] Учебный курс по React, часть 18: шестой этап работы над TODO-приложением В сегодняшней части перевода учебного курса по React вам предлагается продолжить работу над Todo-приложением и сделать так, чтобы щелчки по флажкам воздействовали бы на состояние компонента. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: фун...
[Из песочницы] Формируем стратегию работы с ошибками в React Как сделать падение мягким? Я не нашел исчерпывающего руководства по обработке ошибок в React приложениях, поэтому решил поделиться полученным опытом в этой статье. Статья рассчитана на начинающих разработчиков и может стать некоторой отправной точкой к систематизации обра...
[Перевод] Apollo Client. Теперь — с хуками React Автор материала, перевод которого мы публикуем сегодня, говорит, что миссия разработчиков Apollo Client заключается в том, чтобы сделать этот инструмент самым современным и удобным решением для управления состоянием React-приложений. Сообщество React развивается и осваивает ...
[Перевод] 19 концепций, которые нужно изучить для того, чтобы стать эффективным Angular-разработчиком TODO-приложение во фронтенд-разработке — это то же самое, что «Hello world» в обычном программировании. При создании TODO-приложений можно изучить выполнение CRUD-операций средствами того или иного фреймворка. Но часто подобные проекты лишь весьма поверхностно касаются того,...
[Перевод] Учебный курс по React, часть 21: второе занятие и практикум по условному рендерингу Сегодня, в переводе следующей части учебного курса по React, мы предлагаем вашему вниманию второе занятие по условному рендерингу и практикум по этой теме. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: ф...
[Перевод] Учебный курс по React, часть 20: первое занятие по условному рендерингу Сегодня, в переводе следующей части учебного курса по React, мы поговорим об условном рендеринге. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проектов → Часть 4: родительск...
[Перевод] Учебный курс по React, часть 16: четвёртый этап работы над TODO-приложением, обработка событий В сегодняшней части перевода учебного курса по React мы продолжим работу над Todo-приложением и поговорим о том, как в React обрабатывают события. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы комп...
[Перевод] Учебный курс по React, часть 17: пятый этап работы над TODO-приложением, модификация состояния компонентов В сегодняшней части перевода курса по React мы предлагаем вам выполнить очередное практическое задание и представляем вашему вниманию рассказ о том, как модифицировать состояние компонентов React. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть ...
[Перевод] Учебный курс по React, часть 25: практикум по работе с формами В сегодняшней части перевода учебного курса по React вам предлагается выполнить практическое задание по работе с формами. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проект...
[Перевод] Учебный курс по React, часть 19: методы жизненного цикла компонентов В сегодняшней части перевода учебного курса по React вашему вниманию будет представлен обзор методов жизненного цикла компонентов. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структу...
[Перевод] Учебный курс по React, часть 27: курсовой проект В этой части перевода учебного курса по React вам предлагается создать генератор мемов. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проектов → Часть 4: родительские и дочер...
[Перевод] Учебный курс по React, часть 23: первое занятие по работе с формами В этой части перевода учебного курса по React мы поговорим о работе с формами. В частности, сегодняшнее занятие посвящено организации взаимодействия компонентов и текстовых полей. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные...
[Перевод] Учебный курс по React, часть 26: архитектура приложений, паттерн Container/Component В этой части перевода учебного курса по React мы поговорим об архитектуре React-приложений. В частности, обсудим популярный паттерн Container/Component. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: фай...
[Перевод] Полное руководство по switch-выражениям в Java 12 Старый добрый switch был в Java с первого дня. Мы все используем его и привыкли к нему — особенно к его причудам. (Кого-нибудь еще раздражает break?) Но теперь все начинает меняться: в Java 12 switch вместо оператора стал выражением: boolean result = switch(ternaryBool) { ...
Навигация для Android с использованием Navigation Architecture Component: пошаговое руководство Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture Component. Статья включает следующие разделы: Часть 1. Подготовительные работ...
AppsCast #8: Flutter, руководство для начинающих В восьмом выпуске подкаста в виртуальную студию заглянул Евгений Сатуров и рассказал много интересного про Flutter. Да так, что Даниил согласился следующий pet-project сделать именно на нём.
Software Defined Radio — как это работает? Часть 10 Привет, Хабр. В «юбилейной» части цикла про SDR хочется рассказать об одном из протоколов, благодаря которому многие радиолюбители «невольно» приобщились к миру цифровых широкополосных сигналов. Этот стандарт также являлся первой (и насколько известно, единственной) попытко...
Монорепозитории: пожалуйста, не надо (часть 2) Всем привет! Итак, новая порция обещанного холивара про монорепозитории. В первой части мы обсуждали перевод статьи уважаемого инженера из Lyft (и ранее Twitter) о том, какие есть недостатки у монорепозиториев и почему они нивелируют почти все достоинства этого подхода. Лич...
[Перевод] Лямбды: от C++11 до C++20. Часть 1 Добрый день, друзья. Сегодня мы подготовили для вас перевод первой части статьи «Лямбды: от C++11 до C++20». Публикация данного материала приурочена к запуску курса «Разработчик C++», который стартует уже завтра. Лямбда-выражения являются одним из наиболее мощных дополнений...
[Перевод] Учебный курс по React, часть 10: практикум по работе со свойствами компонентов и стилизации Сегодня, в десятой части перевода учебного курса по React, мы предлагаем вам выполнить практическое задание по работе со свойствами компонентов и по их стилизации. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Ча...
Google опубликовал руководство по основам JavaScript SEO На сайте Google Developers появилось новое руководство, посвящённое основам JavaScript SEO. Авторами документа стали сотрудники компании Мартин Сплит и Лиззи Харви. В руководстве приводится по большей части та же информация, которая озвучивалась в серии видео на тему JavaScr...
[Перевод] Сети Kubernetes: Ingress Сегодня мы публикуем перевод третьей части руководства по работе с сетями в Kubernetes. В первой части речь шла о подах, во второй — о сервисах, а сегодня мы поговорим о балансировке нагрузки и о ресурсах Kubernetes вида Ingress. Читать дальше →
Словарик айтишника или Что? Где? Куда? Часть 2 В первой части статьи я перечислила и объяснила слова, которые разработчики и менеджеры компании Wrike используют в своем ежедневном общении. Как в устном, так и в письменном. Но остался еще ряд слов из тех же категорий. Знание значений этих слов помогает коллегам легче пони...
[Перевод] Руководство по Docker Compose для начинающих Автор статьи, перевод которой мы сегодня публикуем, говорит, что она предназначена для тех разработчиков, которые хотят изучить Docker Compose и идут к тому, чтобы создать своё первое клиент-серверное приложение с использованием Docker. Предполагается, что читатель этого мат...
[Из песочницы] Справочник начинающего подкастера Эта статья — краткое руководство для тех, кто хочет запустить свой собственный подкаст. Когда я вместе с моим нынешним соведущим год назад запускал подкаст “В бесконечность и далее”, я не смог найти ни одной по-настоящему всеобъемлющей статьи. Поэтому я решил попытаться запо...
[Перевод] История Vim и руководство по его эффективному использованию Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона. Первая часть статьи отводится на знакомство с историей Vim как редакт...
Книга «Выразительный JavaScript. Современное веб-программирование. 3-е издание» Привет, Хаброжители! Эта книга позволит глубоко погрузиться в тему, научиться писать красивый и эффективный код. Вы познакомитесь с синтаксисом, стрелочными и асинхронными функциями, итератором, шаблонными строками и блочной областью видимости. Марейн Хавербеке — практик. ...
[Перевод] Учебный курс по React, часть 5: начало работы над TODO-приложением, основы стилизации Сегодня, в следующей части перевода учебного курса по React, мы начнём работу над первым учебным проектом и поговорим об основах стилизации. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компоненто...
[Перевод] Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 1 — NLP, Computer Vision Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся т...
[Перевод] Практическое руководство по разработке дизайна дэшбордов Современные дэшборды многое позаимствовали у автомобильных панелей приборов. Интересные элементы также можно заметить в центрах управления полётами НАСА 1960-х годов и зари эпохи автоматизации. Сегодня любая достаточно сложная ситуация, будь то запуск ракеты или борьба с ин...
15 книг по машинному обучению для начинающих Сделал подборку книг по Machine Learning для тех, кто хочет разобраться, что да как. Добавляйте в закладки и делитесь с коллегами! Книги по машинному обучению на русском 1. «Математические основы машинного обучения и прогнозирования» Владимир Вьюгин. О чем Сначала изуч...
[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...
[Перевод] Руководство по ML.NET — первое приложение за 10 минут В прошлом году мы представили ML.NET, кросс-платформенную и открытую систему машинного обучения для разработчиков .NET. За это время она очень сильно развилась и прошла через множество версий. Сегодня делимся руководством по тому, как создать свое первое приложение на ml.net...
«Анализ данных на Python» в двух частях Курсы по анализу данных в CS центре читает Вадим Леонардович Аббакумов — кандидат физ.-мат. наук, он работает главным экспертом-аналитиком в компании Газпромнефть-Альтернативное топливо. Лекции предназначены для двух категорий слушателей. Первая — начинающие аналитики, кот...
[Перевод] Как правильно раскрашивать многочлены Многочлены – это не просто упражнения в абстрактных материях. Они прекрасно подходят для выявления структур в неожиданных местах. В 2015 году бывший поэт, ставший математиком, Джун Хо помог решить задачу, сформулированную около 50 лет назад. Она была связана со сложными ма...
[Из песочницы] Руководство по организации архитектуры Android приложения Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по переводу прошу оставлять в комментариях, и они будут исправлены. Так же для всех будут полезны комментарии от тех кто ис...
[Перевод] Детальный разбор новых возможностей React 16+, часть 1: общие сведения Сегодня мы представляем вам первую часть перевода этого большого материала. Он посвящён детальному разбору новых возможностей React, которые появились в этой библиотеке начиная с версии 16. Автор этого материала уже 5 лет занимается программированием. В прошлом он был дизайн...
Вредные советы: как правильно писать техническую документацию? Часть вторая Советы по грамотному написанию технической документации для пользователей. Часть 2 Продолжение руководства нашего технического писателя Андрея Старовойтова, которое поможет сделать вашу пользовательскую документацию проще и понятнее. Начало статьи можно почитать тут, а то...
10 навыков и знаний необходимых начинающему iOS разработчику Профессия iOS разработчик сейчас довольно востребована, хорошо оплачивается и, возможно даже, модная, а потому привлекает много людей. Ко мне и коллегам на собеседования приходит много кандидатов на открытые у нас вакансии, и я отчетливо вижу у многих новичков отсутствие...
[Перевод] Учебный курс по React, часть 6: о некоторых особенностях курса, JSX и JavaScript Сегодня мы публикуем продолжение учебного курса по React. Здесь речь пойдёт о некоторых особенностях курса, касающихся, в частности, стиля кода. Тут же мы подробнее поговорим о взаимоотношениях между JSX и JavaScript. → Часть 1: обзор курса, причины популярности React, Re...
История одного проекта: когда в команде нет senior developer От переводчика: публикуем для вас статью разработчика Джека Финлея. Джек рассказывает о собственном кейсе — попытке организовать работу командой джуниоров, где все равны и нет технического руководителя. Статья будет полезна для начинающих программистов. Некоторые проект...
[Перевод] Руководство для начинающих по SELinux Перевод статьи подготовлен для студентов курса «Безопасность Linux» SELinux или Security Enhanced Linux — это улучшенный механизм управления доступом, разработанный Агентством национальной безопасности США (АНБ США) для предотвращения злонамеренных вторжений. Он реализует ...
Функциональный Swift Что объединяет «каррирование», «монады», «алгебраические типы данных»? Не только тот факт, что часть разработчиков старается обходить эти слова стороной, но еще и функциональное программирование. Под заботливым руководством Евгения Елчева мы погрузились в функциональную пара...
[Из песочницы] Краткое введение в рекурсию. JavaScript Перевод: Привет, Хабр! Представляю вашему вниманию перевод статьи "A Quick Intro to Recursion in Javascript" Yazeed Bzadough. Примечание. Рекурсия не единожды обсуждалась на хабре, но данная статья даёт базовое понимание рекурсии. Это будет полезно начинающим разр...
[Перевод] Руководство пользователя Kibana. Визуализация. Часть 2 Вторая часть перевода официальной документации по визуализации данных в Kibana. Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize Ссылка на 1 часть: Руководство пользователя Kibana. Визуализация. Часть 1 Читать дальше →
[Из песочницы] 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 ...
Связный список на Python: Коты в коробках И снова здравствуйте! В преддверии старта курса «Разработчик Python» подготовили для вас небольшой авторский материал о связных списках на Python. Python очень удобный и многогранный язык, но по умолчанию не имеет такой структуры данных как связный список или LinkedList. ...
Так что же будет с аутентификацией и паролями? Вторая часть отчета Javelin «Состояние строгой аутентификации» Недавно исследовательская компания «Javelin Strategy & Research» опубликовала отчёт «The State of Strong Authentication 2019». Его создатели собрали информацию о том какие способы аутентификации используются в корпоративной среде и пользовательских приложениях, а также...
[Перевод] Руководство для начинающих по серверной веб-разработке с Node.js Большую часть своей веб-карьеры я работал исключительно на стороне клиента. Проектирование адаптивных макетов, создание визуализаций из больших объемов данных, создание инструментальных панелей приложений и т. Д. Но мне никогда не приходилось иметь дело с маршрутизацией или ...
Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений Введение Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю. Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи: Часть 1: пишем языковую ВМ Часть 2:...
Резюме глазами интервьюера Когда я составляла свое первое резюме, процесс отбора на очное интервью мне казался магией. Люди, принимающие решения, представлялись «черными ящиками», которые определяют: кандидат «интересен» или «неинтересен» — по непонятным критериям. Статьи «Как составить резюме» отчас...
[в закладки] PDF- и ePUB-версия руководства по React Привет Хабр! В этом году мы делали перевод огрооомного обучающего курса по React — в нашем блоге он был аж в 27 постах. В каждой части, от простого к сложному, выдавался концентрат знаний, которые тепло оценили читатели нашего блога. А сегодня мы поймали себя на мысли, что н...
[Из песочницы] Перевод руководства по Stream API от Benjamin Winterberg Привет, Хабр! Представляю вашему вниманию перевод статьи "Java 8 Stream Tutorial". Это руководство, основанное на примерах кода, представляет всесторонний обзор потоков в Java 8. При моем первом знакомстве с Stream API, я был озадачен названием, поскольку оно очень созвучно...
[Перевод] Как проводить код-ревью Из документации Google's Engineering Practices В этом руководстве приведены рекомендации по оптимальному проведению код-ревью, основанные на многолетнем опыте. Все вместе они составляют один документ, разбитый на множество разделов. Необязательно читать их все, но часто дл...
Руководство для модераторов Facebook: более 1400 страниц противоречивых слайдов В руководстве объясняется какие смайлики могут рассматриваться как угрозы или, в контексте специфических групп, для разжигания ненависти Находясь под огнём критики, Facebook вынужден принимать меры по модерации контента. Но эта задача не такая простая, как кажется. В СМИ ...
[Перевод] Структурирование React-приложений Материал, перевод которого мы сегодня публикуем, раскрывает подходы, применяемые его автором при структурировании React-приложений. В частности, речь здесь пойдёт об используемой структуре папок, об именовании сущностей, о местах, где располагаются файлы тестов, и о других п...
[Из песочницы] Руководство пользователя Kibana. Визуализация. Часть 1 Доброго времени суток. Всем пользователям ElasticStack рано или поздно нужно визуализировать данные. Большинство использует Kibana. Под катом перевод официальной документации для версии 6.6. Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize Читать дальше...
О локализации продуктов. Часть 2: как формируется цена? Во второй части статьи нашего технического писателя Андрея Старовойтова мы посмотрим, как именно формируется цена за перевод технической документации. Если не хочется читать много текста, смотрите сразу раздел «Примеры» в конце статьи. С первой частью статьи можно ознаком...
[Перевод] Изучаем Docker, часть 2: термины и концепции В первой части перевода серии материалов, посвящённых Docker, мы сделали общий обзор этой системы. В частности, мы говорили о том, почему технологии контейнеризации важны в наше время, о том, что такое контейнеры Docker, и о том, с чем их можно сравнить. Сегодня мы поговорим...
Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 1 В этой статье я разберу использование утилиты Liquibase в Spring Boot приложениях для версионирования структуры реляционной БД и миграции этой структуры с одной версии на другую. В первой части разберем базовый пример, а во второй поговорим об использовании liquibase-mave-pl...
[Перевод] Руководство пользователя Kibana. Визуализация. Часть 4 Четвертая часть перевода официальной документации по визуализации данных в Kibana. Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize Ссылка на 1 часть: Руководство пользователя Kibana. Визуализация. Часть 1 Ссылка на 2 часть: Руководство пользователя Kiban...
Работа с СКЗИ и аппаратными ключевыми носителями в Linux Хранение ключей на токенах и смарт-картах обеспечивает дополнительную защиту от внешних и внутренних нарушителей, в том числе имеющих определенный уровень доступа к информационной системе и оборудованию. Сегодня я расскажу, как мы защищаем ключи шифрования и электронной п...
[Перевод] Почему, зачем и когда нужно использовать ValueTask Этот перевод появился благодаря хорошему комментарию 0x1000000. В .NET Framework 4 появилось пространство System.Threading.Tasks, а с ним и класс Task. Этот тип и порождённый от него Task<TResult> долго дожидались, пока их признают стандартами в .NET в роли ключевых а...
Перевод книги «Using Google Analytics with R» (Michal Brys) Электронная книга «Using Google Analytics with R» (Michal Brys) представляет собой практическое руководство по анализу данных из Google Analytics в R. Написана дата-сайентистом в 2014 году, но ничуть не теряет своей актуальности и сегодня. Читать дальше →
Google перенёс руководство для асессоров на новый URL На днях специалисты отрасли заметили, что страница руководства для асессоров Google возвращает ошибку 404. Как выяснилось позже, Google перенёс этот документ на новый URL и начал переадресовывать некоторые старые URL, где он хранился, на новое место расположения. Так, с URL-...
Sublime Text 3 для верстки сайтов. Настройка внешнего вида и установка плагинов. Руководство для начинающих Сегодня расскажу о редакторе кода, которым пользуюсь для верстки сайтов уже много лет. Быстрый, удобный и полностью настраиваемый Sublime Text 3. Мы с нуля настроем его внешний вид, а также применим плагины AutoFileName, BracketHighliter, ColorHighliter, Emmet, GotoCSSDec...
[Из песочницы] Структуры данных в Java. Полезные методы вспомогательных классов Привет, habr! Я Software Engineer в EPAM. Более 8 лет я работаю с legacy-кодом, написанном на языке Java (предвосхищая комментарии, отмечу, что понимание и терпимость к legacy началась задолго до EPAM, в заключении вы найдёте ответ, почему). Часто в работе я сталкивался с ...
[Перевод] Лямбды: от C++11 до C++20. Часть 2 Привет, хабровчане. В связи со стартом набора в новую группу по курсу «Разработчик C++», делимся с вами переводом второй части статьи «Лямбды: от C++11 до C++20». Первую часть можно прочитать тут. В первой части серии мы рассмотрели лямбды с точки зрения C++03, C++11 и C+...
[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...
[Перевод] Руководство пользователя Kibana. Визуализация. Часть 5 Пятая часть перевода официальной документации по визуализации данных в Kibana. Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize Ссылка на 1 часть: Руководство пользователя Kibana. Визуализация. Часть 1 Ссылка на 2 часть: Руководство пользователя Kibana. В...
Курс Молодого Геймдизайнера: как считать баланс персонажей и снаряжения без математики По опыту, многие начинающие геймдизайнеры избегают работы с балансом, словно это черная магия или нужно иметь серьезное математическое образование. Специалисты поопытней уже авторитетно заявляют, что математика не нужна. В первую очередь надо разбираться в самих играх, а...
[Перевод] Что есть и чего нет в Go. Часть 2 Всем привет! Cегодня делимся заключительной частью перевода статьи «Что есть и чего нет в Go». Напоминаем, в первой части речь шла о элементах, которые есть в Go, сегодня же поговорим о том, чего в Go нет. Перевод данного материала подготовлен в преддверии старта нового пот...
[Перевод] Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 2 — Инструменты и библиотеки, AutoML, RL, этика в AI Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся т...
[Перевод] Руководство пользователя Kibana. Визуализация. Часть 6 Пятая часть перевода официальной документации по визуализации данных в Kibana. Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize Ссылка на 1 часть: Руководство пользователя Kibana. Визуализация. Часть 1 Ссылка на 2 часть: Руководство пользователя Kibana....
[Перевод] Использование strict-модулей в крупномасштабных Python-проектах: опыт Instagram. Часть 2 Представляем вашему вниманию вторую часть перевода материала, посвящённого особенностям работы с модулями в Python-проектах Instagram. В первой части перевода был дан обзор ситуации и показаны две проблемы. Одна из них касается медленного запуска сервера, вторая — побочных э...
Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2 В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут. В этой статье мы поговорим про liquibase-maven-plugin ...
[Перевод] Руководство по аутентификации в Node.js без passport.js и сторонних сервисов Автор статьи, перевод которой мы сегодня публикуем, говорит, что сейчас можно наблюдать рост популярности таких сервисов аутентификации, как Google Firebase Authentication, AWS Cognito и Auth0. Индустриальным стандартом стали универсальные решения наподобие passport.js. Но, ...
[Из песочницы] Длинные имена слишком длинные Привет, Хабр! Представляю вашему вниманию перевод статьи "Long Names Are Long" автора Bob Nystrom. Одно из умных вещей которые делает Google это строгие code review. Каждое изменение, прежде чем вам разрешат его внести в основную ветку, рассматривается как минимум ...
[Перевод] Сети Kubernetes: поды Материал, перевод которого мы сегодня публикуем, посвящён особенностям сетевого взаимодействия подов Kubernetes. Он предназначен для тех, у кого уже есть некоторый опыт работы с Kubernetes. Если вы пока не очень хорошо разбираетесь в Kubernetes, то вам, вероятно, прежде чем ...
[Перевод] Сила дженериков в Swift. Часть 2 Добрый день, друзья. Специально для студентов курса «iOS Разработчик. Продвинутый курс» мы подготовили перевод второй части статьи «Сила дженериков в Swift». Связанные типы, условия where, сабскрипты и прочее… В статье «Сила дженериков в Swift. Часть 1» описывались gene...
Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...
Как запустить свой подкаст, руководство для начинающих Месяц назад мы обсуждали тренды на рынке аудиоподкастов. Сегодня мы решили рассказать, как начать записывать собственный подкаст и не потратить на это много денег. Читать дальше →
[Перевод] Новшества JavaScript: итоги Google I/O 2019. Часть 2 Сегодня мы публикуем вторую часть перевода материала о новшествах JavaScript. Здесь мы поговорим о разделителях разрядов чисел, о BigInt-числах, о работе с массивами и объектами, о globalThis, о сортировке, об API интернационализации и о промисах. → Первая часть Читать да...
Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...
[Перевод] Учебный курс по React, часть 24: второе занятие по работе с формами Сегодня мы продолжим разговор об использовании форм в React. В прошлый раз мы рассматривали особенности взаимодействия компонентов и текстовых полей. Здесь же мы обсудим работу с другими элементами форм. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX →...
Руководство для начинающих по машинному обучению и структуре Data Science Для всех, кому интересна тематика работы с данными, машинного обучения и искусственного интеллекта и для тех, кто только начинает свой путь в изучении — этот пост для вас. Все библиотеки ниже бесплатны, и большинство из них с открытым исходным кодом и выложены на GitHub. Исп...
Следующий Battlefield выйдет не ранее 2021 года Это заявление руководства EA. Причин несколько. Во-первых, студия ждет выхода на рынок консолей следующего поколения. Во-вторых, разработчикам требуется много времени для создания оригинального проекта с действительно значительными инновациями. Также в EA рассказали, что сл...
[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...
[Перевод] Руководство по разработке, основанной на компонентах Модульность является одним из ключевых принципов разработки программного обеспечения с 1960-х годов. Применение этого принципа приносит в программирование много полезного. Модульность способствует эффективному использованию принципа разделения ответственностей, что ведёт к у...
Ключевое слово this в JavaScript. Полное* руководство * скорее всего, я что-нибудь да упустил, но уверен, в комментариях мне это подскажут Эту статью я пишу для своих личных нужд. Планируется, что она будет содержать в себе ответы на все вопросы, которые мне задают студенты на эту тему. Если она пригодится кому-то ещё — здоров...
[Перевод] Анимированное руководство по базовым механизмам React Автор заметки, перевод которой мы сегодня публикуем, говорит, что существует пропасть между использованием React для разработки пользовательских интерфейсов и необходимостью знать о том, как работает React на самом деле. Многие, применяющие React на практике, не знают о том,...
[Перевод] Паттерны проектирования в современной JavaScript-разработке Автор материала, перевод которого мы публикуем, говорит, что в мире разработки программного обеспечения «архитектурным проектированием» можно назвать процесс конструирования приложения, в ходе которого его стремятся сделать качественным, надёжным и хорошо поддающимся поддерж...
[Перевод] В двух словах о привилегиях Linux (capabilities) Перевод статьи подготовлен специально для студентов курса «Администратор Linux». Привилегии (capabilities) используются всё больше и больше во многом благодаря SystemD, Docker и оркестраторам, таким как Kubernetes. Но, как мне кажется, документация немного сложна для понима...
Функциональное программирование с точки зрения EcmaScript. Чистые функции, лямбды, имутабельность Привет, Хабр! Сегодня мы начнём говорить на очень важную тему — функциональное программирование. Значение ФП в современной веб-разработке трудно переоценить. Архитектура любого крупного современного проекта включает в себя пользовательские библиотеки функций и на собеседов...
[Перевод] Особенности использования типа данных Symbol в JavaScript Символьные примитивы — это одно из новшеств стандарта ES6, которое принесло в JavaScript некоторые ценные возможности. Символы, представленные типом данных Symbol, особенно полезны при использовании их в качестве идентификаторов свойств объектов. В связи с таким сценарием их...
Доверяй, но проверяй! Как проверить свою модель с помощью облака IBM (Watson OpenScale) Проблема доверия предсказаниям, сделанных моделями машинного обучения, становится все более и более актуальна. Чем существеннее решение, принимаемое на основании этого предсказания, тем меньше доверия. Вызвано это в первую очередь тем, что далеко не всегда понятно, что же ...
Как мы спроектировали и реализовали новую сеть на Huawei в московском офисе, часть 1 Сегодня расскажу о том, как появилась и реализовалась идея создания новой внутренней сети для нашей компании. Позиция руководства — для себя нужно сделать такой же полноценный проект, как для клиента. Если сделаем хорошо для себя — сможем пригласить заказчика и показать, н...
Часть производства Apple может быть перенесена из Китая Руководство Apple рассматривает возможность переноса части своего производства из КНР в другие страны мира.
[Перевод] Продвинутые структуры данных. Часть первая: Направленный ациклический граф Всем привет! Уже на следующей неделе стартуют занятия в новой группе курса «Алгоритмы для разработчиков». В связи с этим, делимся с вами переводом совсем небольшого, но довольно интересного материала. Я хотел начать эту серию статей со структуры данных, с которой все мы к...
[Перевод] Swift: ARC и управление памятью Будучи современным языком высокого уровня, Swift в основном берёт на себя управление памятью в ваших приложениях, занимаясь выделением и освобождением памяти. Это происходит благодаря механизму, который называется Automatic Reference Counting, или сокращенно ARC. В этом руко...
[Из песочницы] ES6 Простым языком Шаблонные литералы Шаблонные литералы заключены в обратные кавычки (` `) вместо двойных или одинарных. Они могут содержать подстановки, обозначаемые знаком доллара и фигурными скобками (${выражение}). Пример: var name = "bill"; console.log(`Hello ${name}`); // He...
[Перевод] Первое знакомство с AssemblyScript Поддержка технологии WebAssembly (Wasm) появилась в браузерах относительно недавно. Но эта технология вполне может серьёзно расширить возможности веба, сделав его платформой, способной поддерживать такие приложения, которые обычно воспринимаются как настольные. Освоение Web...
Kubernetes для автомобиля: как открыть разработчику доступ к бортовому компьютеру и сделать это безопасно Это история в двух частях — о новом витке развития automotive. Эта «серия» посвящена собственной разработке EPAM – Aos Connected Vehicle Platform. Алекс Агизим, CTO, Automotive & Embedded Systems, объясняет, чем она отличается от традиционного облачного решения и как дае...
[Перевод - recovery mode ] Django 3.0 будет асинхронным Andrew Godwin опубликовал DEP 0009: Async-capable Django 9 мая, а 21 июля он был принят техническим советом Django, так что можно надеяться, что к выходу Django 3.0 успеют сделать что-нибудь интересное. Он уже упоминался где-то в комментариях Хабра, но я решил донести эту но...
[Перевод] Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик» Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопрос...
Google опубликовал список всех изменений в спецификации robots.txt В рамках работы по переводу Robots Exclusion Protocol (REP) в разряд официальных интернет-стандартов Google обновил свою документацию по robots.txt. Все изменения перечислены в новом разделе «What changed» на странице Robots.txt Specifications. В их числе значатся следующие:...
[Из песочницы] Современные тренды и рекомендации по аджайлизации крупных финансовых институтов 12-15 Мая 2019 в Дублине состоялся PMI EMEA Congress 2019, который был организован одним из лидеров отрасли в области разработки методологии управления проектами – Project Management Institute (PMI). Конгресс собрал более 700 делегатов из 70 стран и 450 организаций и стал ми...
FinCEN опубликовала новое руководство в отношении криптовалют. dApps могут быть операторами денежных переводов Сеть по борьбе с финансовыми преступлениями (FinCEN) впервые с 2013 года опубликовала руководство, в котором изложила принципы соответствия связанной с виртуальными валютами деятельности с Законом о банковской тайне и правовыми нормами в сфере денежных переводов. Так, докуме...
Делись, рыбка, быстро и нацело Деление — одна из самых дорогих операций в современных процессорах. За доказательством далеко ходить не нужно: Agner Fog[1] вещает, что на процессорах Intel / AMD мы легко можем получить Latency в 25-119 clock cycles, а reciprocal throughput — 25-120. В переводе на Русский ...
[Перевод] Зачем в JavaScript нужен строгий режим? Строгий режим (strict mode) — это важная часть современного JavaScript. Именно этот режим позволяет разработчикам пользоваться более ограниченным, чем стандартный, синтаксисом. Семантика строгого режима отличается от традиционного нестрогого режима, который иногда называют ...
[Перевод] Учебный курс по React, часть 15: практикумы по работе с состоянием компонентов Сегодня мы предлагаем вам выполнить два практических занятия по работе с состоянием компонентов. В частности, выполняя сегодняшние задания, вы сможете не только лучше усвоить концепцию свойств, но и позаниматься отладкой React-приложений, в которых имеются ошибки. → Часть...
[Перевод] Нейросети и глубокое обучение: онлайн-учебник, глава 1 Примечание Перед вами – перевод свободной онлайн-книги Майкла Нильсена «Neural Networks and Deep Learning», распространяемой под лицензией Creative Commons Attribution-NonCommercial 3.0 Unported License. Мотивацией к его созданию послужил успешный опыт перевода учебника по п...
[Перевод] Функциональный JavaScript: пять способов нахождения среднего арифметического элементов массива и метод .reduce() Методы итерирования массивов похожи на «стартовые наркотики» (это, конечно, не наркотики; и я не говорю, что наркотики — это хорошо; это — просто фигура речи). Из-за них многие «подсаживаются» на функциональное программирование. Всё дело в том, что они невероятно удобны. Кро...
Custom refactoring tool: Swift Любой инженер стремится сделать процесс своей работы максимально оптимизированным. Нам, как мобильным разработчикам iOS, очень часто приходится работать с однообразными структурами языка. Компания Apple улучшает инструменты разработчиков, прилагая много усилий, чтобы нам был...
Статистика на службе у бизнеса. Методология расчёта множественных экспериментов Добрый день! Как и было обещано в предыдущей статье, сегодня мы продолжим разговор о методологиях, применяемых в A/B-тестировании и рассмотрим методы оценки результатов множественных экспериментов. Мы увидим, что методологии довольно просты, и математическая статистика не т...
Книга «Предиктивное моделирование на практике» Привет, Хаброжители! «Предиктивное моделирование на практике» охватывает все аспекты прогнозирования, начиная с ключевых этапов предварительной обработки данных, разбиения данных и основных принципов настройки модели. Все этапы моделирования рассматриваются на практических п...
[Из песочницы] Вступление в архитектуру React Fiber Привет, Хабр! Предлагаю вашему вниманию перевод статьи "React Fiber Architecture" автора Andrew Clark. Вступление React Fiber — прогрессивная реализация ключевого алгоритма React. Это кульминационное достижение двухгодичных исследований команды разработчиков React. Цель Fibe...
Статические Generic таблицы Всем нам часто приходится сталкиваться со статическими таблицами, они могут являться настройками нашего приложения, экранами авторизации, экранами «о нас» и многими другими. Но часто начинающие разработчики не применяют никакие паттерны разработки подобных таблиц и пишут вс...
Структуры против Классов С самого начала, когда я начинал заниматься программированием, вставал вопрос, что использовать для улучшения быстродействия: структуру или класс; какие массивы лучше использовать и как. По поводу структур, Apple приветствует их использование, объясняя это тем, что они лучше...
ITIL4 и ожидания Нужно ли изучать ITIL4 только после того, как изучите ITIL V3? Вопрос возник не случайно, и мы его не придумали сами. Как показал опыт проведения ITIL4 Foundation, заметная часть слушателей полагает, что ITIL4 представляет собой что-то вроде «следующего шага» пос...
Сотовый оператор «Билайн» запустил новый тарифный план с бесплатным мобильным интернетом и безлимитом Одним из ключевых сотовых операторов в России является «Билайн», а делает данная компания все ради того, чтобы постоянно повышать свои доходы. Ради этого ее руководство принимает такие меры, от которых многие клиенты просто в шоке, Сообщение Сотовый оператор «Билайн» запуст...
[Перевод] Дорожная карта Android-разработчика в 2019 году Всем привет! У нас отличные новости. В этом месяце в Отус стартует базовый курс "Android-разработчик", а также "Специализация Android-разработчик", которая включает в себя целый пакет курсов. В связи с этим делимся с вами полезной статьей, перевод которой приурочен к данным ...
Нам не нужны правки перевода: нашему переводчику виднее, как это должно переводиться Этот пост — попытка достучаться до издательств. Чтобы те услышали и отнеслись к своим переводам более ответственно. За свой пусть разработчика я купил много различных книг. Книг самых разных издательств. И малых и больших. Прежде всего — больших издательств, у которых есть ...
[Перевод] Что записано в this? Закулисье JavaScript-объектов JavaScript — это мультипарадигменный язык, поддерживающий объектно-ориентированное программирование и динамическую привязку методов — мощную концепцию, которая позволяет структуре JavaScript-кода меняться во время выполнения программы. Это даёт разработчикам серьёзные возмож...
[Перевод] Изучаем Docker, часть 4: уменьшение размеров образов и ускорение их сборки В этой части перевода серии материалов, которая посвящена Docker, мы поговорим о том, как оптимизировать размеры образов и ускорить их сборку. В прошлых материалах мы сравнивали образы Docker с пиццей, термины с пончиками, а инструкции файлов Dockerfile с бубликами. Сегодня ...
Вперёд в каменный век: Китай и Россия грозят отрезать США от редких ресурсов Торговая война Трампа с КНР грозит отбросить саму Америку на десятилетия назад. Правительство США, под руководством Дональда Трампа, с целью защиты американских производителей, решило объявить экономическую войну Китаю. Речь идёт о повышении пошлин на ввозимые из Китая това...
[Перевод] Новости из мира OpenStreetMap № 468 (02.07.2019-08.07.2019) OSM на праздновании своего дня рождения в 2006 году в Лондоне – карта с правильной атрибуцией (на тот момент) 1 | Map data OpenStreetmap OdbL О нас ОШИБКА: В прошлом выпуске WeeklyOSM №467 мы писали: «Издание «Japan Times» сообщает, что не так давно появилась современна...
[Перевод] Функциональное мышление. Часть 9 Это уже 9 часть серии статей по функциональному программированию на F#! Уверен, на Хабре существует не очень много настолько длинных циклов. Но мы не собираемся останавливаться. Сегодня расскажем про вложенные функции, модули, пространства имен и смешивание типов и функций в...
Как быстро написать веб-сайт или веб-приложение и не увязнуть в сборщиках Это маленькое руководство описывает создание реактивного веб-приложения используя отрисовку на стороне сервера (Server-Side Rendering, SSR). Клиентская часть являет собой полноценное Vue-приложение, в моём случае используя шаблон MVVM. Серверное приложение работает на микроф...
Flutter, руководство для начинающих На дворе середина 2019 года, кроссплатформа плотно вошла в жизнь стартапов по всему миру, но все чаще в ее сторону смотрят и команды аутсорс-разработки, и клиенты, которые делают ставку на снижение затрат. Кто-то делает ставку на React Native, кто-то исследует возможности Ko...
Завершающий курс специализации по Python от Mail.ru Group Python — простой и гибкий язык, применяемый во многих областях современной разработки. На нём создают веб-приложения, пишут игры, анализируют данные и выполняют многие другие задачи. Mail.ru Group запустила на платформе Coursera специализацию «Программирование на Python», ...
[Из песочницы] Децентрализация: Большая Проблема Для Blockchain Децентрализация является одним из ключевых слов технологии blockchain: появились компании и веб-сайты, которые включают это слово в свое имя. Децентрализация рекламировалась как самая продвинутая особенность финтех. Аббревиатура DLT (Decentralized Ledger Technology) стала...
AMA с Medium (Прямая линия с разработчиками сети Medium) Привет, Хабр! 24 апреля 2019 года на свет появился проект, целью которого стало создание независимой телекоммуникационной среды на территории Российской Федерации. Мы назвали его Medium, что в переводе с английского означает «посредник» (один из возможных вариантов перевод...
Смартфон Oppo Reno получит потрясающе тонкие рамки На прошлой неделе мы уже смогли ознакомиться практически со всеми ключевыми характеристиками Oppo Reno. А теперь руководство компании рассказало о ещё одной интересной особенности смартфона. Подробнее об этом читайте на THG.ru.
Темы и стили в Android-приложениях Каждому Android-разработчику так или иначе приходилось работать со стилями. Кто-то чувствует себя с ними уверенно, у кого-то есть только поверхностные знания, которые зачастую не позволяют самостоятельно решить поставленную задачу. В преддверии выхода темной темы было реше...
[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 2 Публикуем вторую часть перевода материала, посвящённого пятёрке лучших JavaScript-инструментов для разработки клиентских частей веб-проектов. В первой части речь шла о библиотеке React и о фреймворке Angular. Здесь мы обсудим Vue, Ember и Backbone. Читать дальше →
[Перевод] Руководство по логированию в Node.js Первая задача, с которой чаще всего сталкиваются разработчики, начинающие программировать на JavaScript, – как регистрировать события в журнале консоли с помощью метода console.log. В поисках информации по отладке кода на JavaScript вы найдёте сотни статей в блогах, а также...
Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй. Первым делом выкладываю ссылки на предыдущие части: Часть 1: пишем языковую ВМ Часть 2: промежуточное представление программ Часть 3: Архитектура транслятора. Разбор языковых структур и математиче...
[Из песочницы] Не учите паттерны, учите концепции Добрый день (или вечер, или утро, в зависимости от того, когда выйдет этот пост). Я хочу высказаться о элитарной части программирования, и донести, в общем-то, очевидную мысль до начинающих в back-end(и не только) разработке, попутно используя попытку начать писать на Хабре...
[Перевод] Что есть и чего нет в Go. Часть 1 Всем привет, в преддверии старта нового потока по курсу «Разработчик Golang» хотим поделиться с вами переводом интересной статьи, в первой части которой разбираются элементы, которые есть в Go. Поехали. Go создавался с оглядкой назад, и его базовая комплектация действител...
Обучающий курс по DataPower Материал подготовлен в соавторстве с пользователем wedmeed В 2017 году, когда начинался наш проект во Вьетнаме, мы столкнулись с новым для нас зверем IBM DataPower. IBM DataPower – продукт, представляющий собой gateway между клиентами и бэкендами, предназначенный для фильтр...
[Перевод] Учебный курс по React, часть 4: родительские и дочерние компоненты Публикуем очередную часть перевода учебного курса по React. Нашей сегодняшней темой будут взаимоотношения родительских и дочерних компонентов. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонен...
Как провести техническое интервью: план действий для начинающих Провести техническое интервью — задача сама по себе непростая. А если вам нужно сделать это впервые, она усложняется вдвойне. Как готовиться к собеседованию? Какие вопросы задавать кандидату во время интервью? Как вести себя в нестандартных ситуациях? Как оценивать уровень с...
Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 1) Компьютерное зрение. Сейчас о нём много говорят, оно много где применяется и внедряется. И как-то давненько на Хабре не выходило обзорных статей по CV, с примерами архитектур и современными задачами. А ведь их очень много, и они правда крутые! Если вам интересно, что сейчас ...
[Перевод] Руководство по аннотациям TestNG для Selenium WebDriver Мир, труд, май, хабровчане! Для тех, кто также как и мы ворвался в межпраздничную рабочую неделю, мы подготовили перевод, который хотим приурочить к старту набора на курс «Java QA Engineer», запуск которого запланирован на 28 мая. TestNG — это тестовый фреймворк, созданн...
[Из песочницы] Алгоритм Дугласа-Пекера Предисловие Не так давно пришлось поработать с упрощением полигональной цепи (процесс, позволяющий уменьшить число точек полилинии). В целом, данный тип задач очень распространен при обработке векторной графики и при построении карт. В качестве примера можно взять цепь, неск...
[Перевод] Введение в Redis с использованием Spring Boot Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis. Мы создадим приложение, которое демонстрирует, как выполнять CR...
Книга «Kali Linux. Тестирование на проникновение и безопасность» Привет, Хаброжители! 4-е издание Kali Linux 2018: Assuring Security by Penetration Testing предназначено для этических хакеров, пентестеров и специалистов по IT-безопасности. От читателя требуются базовые знания операционных систем Windows и Linux. Знания из области информа...
[Перевод] Автоматизация Android. Супер простое руководство по созданию первого Espresso-теста Здравствуйте, друзья. В преддверии старта курса «Mobile QA Engineer», хотим поделиться с вами переводом интересного материала. Что такое Espresso? Нет, это не напиток, который вы пьете каждый день, чтобы взбодриться. Espresso — это тестовый фреймворк с открытым исходным к...
[Перевод] Введение в детерминированные сборки на С/С++. Часть 2 Перевод статьи подготовлен специально для студентов курса «Разработчик С++». → Читать первую часть Читать дальше →
[Перевод] Mozilla WebThings — настройка шлюза Шлюз WebThings от Mozilla — это программное обеспечение для шлюзов, используемых в системах умного дома, которое позволит напрямую мониторить и контролировать умные устройства через интернет без посредников. Это руководство предполагает, что вы уже подняли шлюз, следуя рук...
Vivaldi 2.9 — Улучшение улучшений Всем привет! Процесс совершенствования браузера, как и ремонт в квартире, невозможно закончить — его можно только остановить. И в этом контексте у нас есть две новости, одна — хорошая, а другая — плохая. Плохая новость: да, браузер Vivaldi ещё далёк от совершенства. Хорош...
Радиомодули для arduino JDY-40 Приветствую всех. На просторах aliexpress наткнулся на очередное китайское творение, из раздела "Беспроводные модули для arduino". Ранее подобные модули с аналогичными возможностями за столь малые деньги мне не попадались. Вот я и решил сделать обзор данного модуля. Возможн...
Нескучный матчмейкинг без дисбаланса и очередей: практическое руководство Матчмейкинг является главной составляющей большинства современных многопользовательских игр. Стоит разработчику несерьёзно к нему отнестись, как окажется, что новички регулярно сталкиваются в бою с профессионалами, а некоторым игрокам приходится ждать вечность только для тог...
[Перевод] Настройка НА-кластера Kubernetes на «голом железе», мониторинг, логи и примеры использования. Часть 3/3 Часть 1/3 тут. Часть 2/3 тут. Всем привет! А вот и третья часть руководства «Kubernetes на «голом железе»! Я уделю внимание мониторингу кластера и сбору логов, также мы запустим тестовое приложение для использования предварительно настроенных компонентов кластера. Затем про...
[Перевод] Рассказ о том, как популярная JavaScript-библиотека начала выводить в терминал рекламу В пакете Standard, который представляет собой руководство по стилю JavaScript, линтер, и средство для автоматического исправления кода, реализовано то, что, по всей видимости, можно назвать первой рекламной системой для JavaScript-библиотек. В начале 20-х чисел августа сего...
Как я улучшил свои навыки работы с алгоритмами, структурами данных и научился использовать все это на практике От переводчика: сегодня публикуем для вас статью Фабиана Терха. Статья в первую очередь будет полезна для начинающих программистов. Я программист-самоучка, этот пост отражает мой личный опыт и навыки в такой сфере, как алгоритмы и структуры данных; кроме того, я расска...
Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов, много исследований и рассуждений об их будущем и о том, куда это все движется и приведет нас. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контрак...
«Сбербанк» изменил ключевые правила переводов с карты на карту Банковская карта в современном мире представляет из себя универсальный финансовый инструмент, позволяющий как оплачивать какие-либо вещи, так и принимать деньги от других лиц. Пластиковые карточки активнее всех остальных банков в России выдает своим клиентам «Сбербанк», Соо...
PADS Professional — Быстрый старт Доброго времени суток, уважаемый читатель! Компания Mentor Graphics совместно с Нанософт разработали краткое руководство пользователя в виде серии уроков, которые познакомят начинающих пользователей с базовым функционалом САПР PADS Professional. За более подробной информа...
[Перевод] 13 полезных приёмов по работе с массивами в JavaScript, которые могут вам пригодиться Массивы являются одной из самых популярных структур данных в JavaScript, потому что они используются для хранения данных. Кроме этого, массивы дают много возможностей для работы с этими самыми данными. Понимая, что для тех, кто находится в начале пути изучения JavaScript, ма...
[Из песочницы] Generic Recycler View или как не писать шаблонный код Все мы пишем приложения и у всех нас есть списки. И самое очевидное решение это RecyclerView. Сама по себе реализация не сложна и писать гайд по RecyclerView уже не актуально. Но есть одно но. Каждый раз когда нам нужен список мы создаем класс, в нем прописываем шаблонный ме...
[Из песочницы] Типичные ошибки Владельца продукта в Скраме Что делать, если вы не знаете, что такое Скрам? В первую очередь стоит хотя бы прочесть Руководство по Скраму (PDF) и начать ему следовать. Если вы не следуете этому руководству, значит вы делаете что угодно, только не Скрам. По сути Владелец продукта занимается максимизацие...
[Из песочницы] Адаптивные антенные решётки: как это работает? (Основы) Доброго времени суток. Последние несколько лет я посвятил исследованию и созданию различных алгоритмов пространственной обработки сигналов в адаптивных антенных решётках, и продолжаю заниматься этим в рамках своей работы в настоящее время. Здесь я хотел бы поделиться теми з...
[Перевод] Руководство по Kubernetes, часть 1: приложения, микросервисы и контейнеры По нашей просьбе Хабр создал хаб Kubernetes и нам приятно разместить первую публикацию в нём. Подписывайтесь! Kubernetes — это просто. Почему же банки платят мне за работу в этой сфере большие деньги, в то время как любой может освоить эту технологию буквально за несколько ч...
Microsoft встраивает в PowerPoint коуча и функции для работы с фирменным стилем c ИИ Новые возможности Microsoft анонсировал в блоге 18 июня. В компании надеются снять две самые частые «головные боли» пользователей: оформление слайдов всеми сотрудниками компании в едином фирменном стиле и тренировки перед выступлением, которых обычно избегают руководители....
[Из песочницы] Oracle VM Server for SPARC для чайников (How-to) Небольшой How-to для начинающих работать с ОС Solaris и платформой виртуализации Oracle VM Server for SPARC, ранее известной как Sun Logical Domains. Oracle VM представляет из себя гипервизор XEN, установленный на ОС Solaris. Управлять гипервизором возможно из командной ...
Как делают перевод фильмов: раскрываем секреты Перевод и локализация фильмов — крайне интересное занятие, в котором встречается целая куча подводных камней. Именно от переводчика во многом зависит восприятие фильма зрителями, поэтому это дело крайне ответственное. Расскажем вам, как на самом деле ведется работа над лок...
Прикручиваем ngx-translate в Angular приложение. Практическое пошаговое руководство Практическая пошаговая инструкция как прикрутить динамическую локализацию (возможность выбора языков) в веб приложении на Angular 4+ используя @ngx-translate/core. В принципе можно найти публикации на подобную тему, может быть достаточно самой документации этой библиотеки, н...
[Перевод] Личная Agile-трансформация: гибкое путешествие к продуктивности Всем привет! Уже на следующей неделе мы запускаем курс «Руководитель разработки», который посвящен управленческой деятельности во всех её аспектах в контексте руководства командой разработчиков. В преддверии запуска делимся с вами переводом статьи, которая может стать полезн...
[Перевод] Настройка НА-кластера Kubernetes на «голом железе» с kubeadm. Часть 1/3 Всем привет! В этой статье я хочу упорядочить информацию и поделиться опытом создания и использования внутреннего кластера Kubernetes. За последние несколько лет эта технология оркестровки контейнеров сделала большой шаг вперед и стала своего рода корпоративным стандартом дл...
Оптимизация программ под Garbage Collector Не так давно на Хабре появилась прекрасная статья Оптимизация сборки мусора в высоконагруженном .NET сервисе. Эта статья очень интересна тем, что авторы, вооружившись теорией сделали ранее невозможное: оптимизировали свое приложение, используя знания о работе GC. И если ране...
Стильная Авалония Стили, по умолчанию, что в wpf, что в авалонии, крайне нейтральны, и далеко не всегда подходят под нужные нам задачи, и немногие начинающие разработчики дружат с ними. В этой заметке я бы хотел рассказать про основы работы со стилями и показать пару интересных примеров. Чит...
Краткое руководство по проведению пилотов и PoC Введение За годы своей работы в области ИТ и в особенности в продажах ИТ видел много пилотных проектов, но большинство из них оканчивалось ничем при значительных расходах времени. При этом, если мы говорим о тестировании железных решений, как например СХД, на каждую демо-с...
[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay. Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели ...
[Перевод] Руководство по использованию pandas для анализа больших наборов данных При использовании библиотеки pandas для анализа маленьких наборов данных, размер которых не превышает 100 мегабайт, производительность редко становится проблемой. Но когда речь идёт об исследовании наборов данных, размеры которых могут достигать нескольких гигабайт, проблемы...
Как работать с Google Trends — полное руководство для новичков Привет, Хабр! Заметил, что многие не знают, как работать с трендами в интернете. И тем более, не знают о существовании бесплатного сервиса, решающего эту проблему- Google Trends Сервис поможет узнать, что волнует ваших клиентов сегодня, интересен ли ваш товар рынку, как...
[Перевод] О сетевой модели в играх для начинающих Последние две недели я работал над сетевым движком для своей игры. До этого я вообще ничего не знал о сетевых технологиях в играх, поэтому прочитал множество статей и провёл множество экспериментов, чтобы уяснить все концепции и иметь возможность написать собственный сетево...
[Перевод] Руководство по API Коллекций Vavr VAVR (известная ранее, как Javaslang) — это некоммерческая функциональная библиотека для Java 8+. Она позволяет писать функциональный Scala-подобный код в Java и служит для уменьшения количества кода и повышения его качества. Сайт библиотеки. Под катом — перевод статьи, сис...
GPU Bound. Как перенести на видеокарту все и немножко больше. Анимации Когда-то давно, было огромным событием появления на GPU блока мультитекстурирования или hardware transformation & lighting (T&L). Настройка Fixed Function Pipeline была магическим шаманством. А те кто умел включать и использовать расширенные возможности конкретных чи...
[Перевод] Tesla Autonomy Investor Day. Разработка Full Self-Driving Computer (расшифровка) Перевод первой части презентации Tesla Autonomy Investor Day, посвященной разработке компьютера Tesla Full Self-Driving Computer (FSDC) для автопилота Tesla. Восполняем пробел между тезисными обзорами на презентацию и её содержанием. Читать дальше →
Сидорин: KnowledgeConf — это про то, как сохранить знания при средней продолжительности работы на одном месте в 2-3 года В современном мире продукты выпускаются все быстрее, а люди задерживаются в компании в среднем всего на пару лет. О том, как эти факторы влияют на участие сотрудников в процессе обмена знаниями, мы поговорили с одним из ключевых спикеров KnowledgeConf Алексеем Сидориным, рук...
Улучшаем работу Wi-Fi. Часть 2. Особенности оборудования Друзья, эта статья является продолжением первой части цикла статей о том как улучшить работу WiFi в офисе или на предприятии. Читать дальше →
Мой словарик 1.14 При изучении любого языка мы всегда сталкиваемся с проблемой запоминания новых слов. Для многих это настоящая проблема. На наш взгляд, легче всего изучить язык на практике, когда мы видим слова в контексте, а также имеем возможность зафиксировать и повторить новые для нас сл...
Несколько малоизвестных возможностей docker-compose Во многих инструкциях с просторов интернета описывают некий минимум действий, и как следствие минимум команд и возможностей. Я решил сделать некую подборку мало освещенных возможностей, особенностей. Статья не претендует на уникальность, это и мне, как памятка, и возможно не...
[Перевод] Ожидаемые новые возможности JavaScript, о которых полезно знать С момента выхода стандарта ECMAScript 2015 (его ещё называют ES6) JavaScript серьёзно изменился и улучшился. Это очень хорошая новость для всех JS-разработчиков. Более того, теперь новая версия ECMAScript выходит каждый год. Возможно, вы не обратили особого внимания на то, ч...
[Перевод] Конференция BLACK HAT USA. Разбогатеть или умереть: зарабатываем в Интернете методами Black Hat. Часть 2 Конференция BLACK HAT USA. Разбогатеть или умереть: зарабатываем в Интернете методами Black Hat. Часть 1 Существует сайт под названием Hire2Hack, который тоже принимает заявки на «восстановление» паролей. Здесь стоимость услуги начинается от $150. Я не знаю об остальном, но...
Facebook решила нанять журналистов для запуска новостного раздела Руководство Facebook намерено пригласить на работу команду журналистов, которая возьмет на себя создание новостного раздела News Tab.
Шпаргалка по аббревиатурам C++ и не только. Часть 2: «и не только» Это вторая и последняя часть моей шпаргалки по аббревиатурам, которые стоит знать C++ разработчику. С++ здесь упомянут только потому, что шпаргалку я составил в первую очередь для себя, а я как раз-таки C++ разработчик. На самом деле в этой части собраны понятия, область пр...
[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...
[recovery mode] Модель натурального ряда чисел и отдельного числа. Контуры В комментариях к опубликованным ранее работам автора было высказано много замечаний и пожеланий. Я благодарю всех читателей — хабровчан и прочих за внимание к работам и тем более за комментарии. Многих читателей не устраивал стиль изложения, подача материала, нечеткость о...
[Перевод] Как писать Go-пакеты Пакет Go состоит из Go-файлов, расположенных в одной и той же директории, в начале которых имеется одинаковое выражение package. Пакеты, подключаемые к программам, позволяют расширять их возможности. Некоторые пакеты входят в состав стандартной библиотеки Go. А это значит, ч...
Как собрать когорты пользователей в виде графиков в Grafana [+docker-образ с примером] Как мы решили задачу визуализации когорт пользователей в сервисе Promopult c помощью Grafana. Promopult — мощный сервис с большим числом пользователей. За 10 лет работы число регистраций в системе перевалило за миллион. Те, кто сталкивался с подобными сервисами, знают, что ...
Первый бета-тестер раскрыл ключевые особенности Hongmeng Hongmeng будет отличаться от EMUI на базе Android достаточно ощутимо. Такое заявление сделал первый бета-тестер новой операционки Huawei, с которым удалось пообщаться журналистам издания HuaweiCentral. Несмотря на то что Hongmeng пока находится в стадии бета-тестирования, у...
[Перевод] Введение в Hashicorp Consul’s Kubernetes Авторизацию Все верно, после релиза Hashicorp Consul 1.5.0 в начале мая 2019 года в Consul можно делать авторизацию приложений и служб, запущенных в Kubernetes, нативно. В этом руководстве мы шаг за шагом создадим POC (Проверка концепции (Proof of concept, PoC — доказательство [осущест...
Пишем XGBoost с нуля — часть 1: деревья решений Привет, Хабр! После многочисленных поисков качественных руководств о решающих деревьях и ансамблевых алгоритмах (бустинг, решающий лес и пр.) с их непосредственной реализацией на языках программирования, и так ничего не найдя (кто найдёт — напишите в комментах, может, что...
Зачем нужен Change Management? Вопрос без подвоха. Ну почти. Его контекст довольно-таки прост. Если конкретизировать, то он звучит так: «как сформулировать для руководства бизнеса и ИТ, а также для персонала ИТ-департамента преимущества от инвестиций в постановку и автоматизацию процесса управления...
[Из песочницы] Поймут даже дети: простое объяснение async/await и промисов в JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaScript Async/Await and Promises: Explained like you’re five years old» автора Jack Pordi. Каждый, кто считает себя JavaScript-разработчиком, в какой-то момент должен был столкнуться с callback-функциями, промисам...
[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...
[Из песочницы] Менеджмент памяти или как реже стрелять себе в ногу Привет, Хабр! В этой статье я попытаюсь рассказать, что из себя представляет менеджмент памяти в программах/приложениях с точки зрения прикладного программиста. Это не исчерпывающее руководство или мануал, а просто обзор существующих проблем и некоторых подходов к их решению...
В сети появилась информация о ранее неизвестном процессоре от AMD В последнем руководстве AMD Product Master, быстро удаленном, но сохранившемся в сети, появилось упоминание еще об одном процессоре Ryzen 7 3750X. Подробнее об этом читайте на THG.ru.
[Перевод] Любопытные извращения из мира ИТ — 2 Сайт The Daily WTF уже 14 лет собирает курьёзные, дикие и/или печальные истории из мира ИТ. Я перевёл несколько рассказов, показавшихся мне интересными. Все имена и названия компаний изменены. Первая часть находится здесь. История первая. Назло бабушке... [Оригинал] Клайв ...
Как мы сделали PHP 7 в два раза быстрее PHP 5. Часть 2: оптимизация байт-кода в PHP 7.1 В первой части рассказа по мотивам выступления Дмитрия Стогова из Zend Technologies на HighLoad++ мы разбирались во внутреннем устройстве PHP. Детально и из первых уст узнали, какие изменениях в базовых структурах данных позволили ускорить PHP 7 более чем в два раза. На этом...
[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...
Безопасность алгоритмов машинного обучения. Атаки с использованием Python Машинное обучение активно применяется во многих областях нашей жизни. Алгоритмы помогают распознавать знаки дорожного движения, фильтровать спам, распознавать лица наших друзей на facebook, даже помогают торговать на фондовых биржах. Алгоритм принимает важные решения, поэто...
[Из песочницы] Структуры данных для хранения графов: обзор существующих и две «почти новых» Всем привет. В этой заметке я решил перечислить основные структуры данных, применяемые для хранения графов в информатике, а также расскажу о еще паре таких структур, которые у меня как-то само собой «выкристаллизовались». Итак, начнем. Но не с самого начала – думаю, что та...
[Из песочницы] Использование C++ и шаблонов с переменным количеством аргументов при программировании микроконтроллеров ARM с ядром Cortex Mx (на примере STM32F10x) Микроконтроллер ARM Cortex M3 STM32F103c8t6 широко распространен как 32-х битный микроконтроллер для любительских проектов. Как для практически любого микроконтроллера, для него существует SDK, включающая, в том числе и заголовоч...
[Из песочницы] Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask) Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300. От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания. Итак, поехали. Читать дальше →
Чтение на лето: книги для технарей Мы собрали книги, которые рекомендуют своим коллегам по цеху резиденты Hacker News. Здесь нет справочников или руководств по программированию, зато есть любопытные издания о криптографии и теоретической информатике, об основателях IT-компаний, есть и научная фантастика, напи...
[Перевод] Безопасность для Docker-контейнеров Прим. перев.: Тема безопасности Docker, пожалуй, одна из вечных в современном мире IT. Поэтому без лишних объяснений представляем перевод очередной подборки соответствующих рекомендаций. Если вы уже интересовались этим вопросом, многие из них будут вам знакомы. А саму подбор...
[Из песочницы] Подводные камни Java Здравствуйте. Хочу представить вашему вниманию небольшую статью. Цель данной публикации: Показать наиболее часто встречающиеся ошибки начинающих и некоторые приемы их исправления. Понятно, что некоторые ошибки могут быть сложными и происходить по тем или иным причинам. Цель...
Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...
[Из песочницы] Мультсериал «Математический кружок» В девятом и десятом классах средней школы я выписывал журнал "Квант", решал задания вступительных экзаменов в ведущие вузы, а иногда и задачи из "Задачника Кванта". Помню, как-то я отправил в редакцию журнала письмо с решением такой задачки, вложив в него...
Как работает криптография на основе эллиптических кривых в TLS 1.3 Пара предупреждений читателю: Для того, чтобы (насколько это возможно) упростить процесс объяснения и сжать объем публикации, стоит сразу же сделать ключевую оговорку — все, что мы пишем, касаемо практической стороны рассматриваемой проблематики, корректно для протокола T...
Учебные проекты на Godot — Pong (часть 2) Создание и настройка мяча Приветствую вас, хабровчане! В этой части я буду создавать и настраивать мяч для игры Pong. Если вы пропустили начало, то оно здесь. Уровень статьи по прежнему начинающий. Под катом по прежнему много скринов.Зовите детей и welcome под кат. Читать дальше →
[Перевод] Quasar 1.0: новый полезный инструмент для Vue-разработчиков и не только для них Автор материала, перевод которого мы публикуем сегодня, занимается работой над фреймворком Quasar. Это — полнофункциональный расширяемый опенсорсный инструмент для разработки современных приложений различного назначения. Он построен на базе популярного фронтенд-фреймворка Vu...
[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Всем привет, уже через несколько недель мы запускаем новый поток по курсу «Разработчик С++». Этому событию и будет посвящен наш сегодняшний материал Что такое strict aliasing? Сначала мы опишем, ...
«Сбербанк» с 1 февраля запретил переводы на банковские карты Кредитная организация «Сбербанк» никогда не любила новшества, в результате чего в течение многих лет она практически совсем никак не менялась, но в последние годы ее руководство решило начать делать ставку на технологии и улучшение качества Сообщение «Сбербанк» с 1 февраля ...
[Перевод] Ускорение instagram.com. Часть 3 Сегодня публикуем перевод третьей части серии материалов об ускорении instagram.com. В первой части мы говорили о предварительной загрузке данных, во второй — об отправке данных клиенту по инициативе сервера. Здесь речь пойдёт о кэшировании. Читать дальше →
[Перевод] Типизируйте уже наконец свой код Привет хабр! На днях мне в очередной раз на глаза попал код вида if(someParameter.Volatilities.IsEmpty()) { // We have to report about the broken channels, however we could not differ it from just not started cold system. // Therefore write this case into the logs a...
Контур.Кампус: приглашаем в бесплатный студенческий лагерь промышленной разработки под Питером Кампус — это студенческий лагерь для начинающих программистов, где знаниями делятся разработчики Контура. Пять дней мы будем учиться писать чистый код, тестировать и проектировать. А вечерами пить чай с печеньем, играть в настольные игры и работать в команде таких же умных р...
Вредные советы: как правильно писать техническую документацию? Часть третья и последняя Советы по грамотному написанию технической документации для пользователей. Часть 3 (заключительная) Заключение руководства нашего технического писателя Андрея Старовойтова, которое поможет сделать вашу пользовательскую документацию проще и понятнее. На этот раз мы попод...
Древности: IBM ThinkPad T40, первый беспроводной Пятнадцать лет назад, в 2003 году, беспроводной интернет из дорогостоящей узкоспециализированной технологии начал превращаться в нечто доступное всем и само собой разумеющееся. Конечно произошло это не сразу: чтобы появился Wi-Fi, нужно было провести домой в каком-то виде пр...
[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 2 Сегодня мы публикуем вторую часть перевода материала, который посвящён использованию JS-модулей в продакшне. → Кстати, вот первая часть статьи. Читать дальше →
.NET: The Good Parts — от CLR до сообщества Хотите повстречаться с Джоном Гэллоуэем (исполнительным директором .NET Foundation), Павлом Йосифовичем (автором легендарной «Windows Internals» и новых курсов на Pluralsight)? Или может быть, с Алексом Тиссеном — 12-кратным MVP в категории Visual Studio? Или пройти тренинг ...
[Из песочницы] Перевод: Стандарт IEEE 802.15.4z. Что нас ждет в будущем? Привет, Хабр! Представляю вашему вниманию перевод статьи «IEEE P802.15. Wireless Personal Area Networks». Перевод статьи: mentor.ieee.org/802.15/documents?is_dcn=coexistence%20document&is_group=004z Файл: 09-Apr-2019 ET Coexistence Document 15.4z Benjamin A. Rolfe (BCA...
Magento 2 EAV: обзор структур данных В данной публикации я обзорно рассмотрю структуры данных Magento 2, поддерживающих функционирование такой концепции, как EAV. Разработчикам иногда нужно выбираться из дебрей кода и пытаться обозревать места своего жизнепровождения с высоты полёта орла — это позволяет наводит...
User Story: план действий для разработчика User Story в первую очередь — это руководство к действиям по созданию, оптимизации и продвижению продукта. Во вторых, это возможность еще раз оценить перспективы продукта. В большом WEB и среди разработчиков ПО функции User Story успешно заменяют функциональные спецификации.
Книга «Глубокое обучение с подкреплением на Python. OpenAI Gym и TensorFlow для профи» Привет, Хаброжители! Глубокое обучение с подкреплением (Reinforcement Learning) — самое популярное и перспективное направление искусственного интеллекта. Практическое изучение RL на Python поможет освоить не только базовые, но и передовые алгоритмы глубокого обучения с подк...
[Перевод] 20 вещей, которые мне хотелось бы знать, прежде чем стать веб-разработчиком В самом начале своей карьеры я не знал многих важных вещей, которые для начинающего разработчика являются крайне полезными. Оглянувшись назад, я могу сказать, что многие мои ожидания не оправдались, они и близко не соответствовали реальности. В этой статье я расскажу о 20...
[Перевод] Battle royale: секреты дизайна самого популярного игрового жанра Группу людей забрасывают на большой остров. В течение следующих 20 минут они должны обыскивать здания в поисках полезного оружия и оборудования, а затем сражаться насмерть. Во время матча площадь игры постепенно сжимается, заставляя противников становиться ближе друг к друг...
[Перевод] Машинное обучение агентов в Unity Эта статья об агентах машинного обучения в Unity написана Майклом Лэнхемом — техническим новатором, активным разработчиком под Unity, консультантом, менеджером и автором многих игр на движке Unity, графических проектов и книг. Разработчики Unity внедрили поддержку машинног...
Менеджмент знаний в международных стандартах: ISO, PMI Всем привет. После KnowledgeConf 2019 прошло уже полгода, за это время я успел выступить еще на двух конференциях и провести лекции на тему управления знаниями в двух крупных ИТ-компаниях. Общаясь с коллегами, я понял, что в ИТ пока можно говорить об управлении знаниями на у...
ITIL 4 на русском языке (или нет) Тревога! Тревога! Тревога! Не так давно вышел в свет ITIL 4. Это важнейший источник знаний для специалистов в области ITSM. Как принято после выхода, компания-владелец, планирует сделать переводы на множество языков. Мы получили на днях печальную новость. По информации из п...
Demo Day: зачем это все и как его сделать Мы приглашаем вас 3 июля на большой Open Demo Day в Райффайзенбанк, который состоится в Нагатино. Наши команды будут показывать живые демо, а вы первыми увидите то, что вот-вот появится на проде. В Райффайзенбанке мы проводим демо-дни каждый месяц, и хотим не только показа...
[Перевод] Нейросети и философия языка Почему теории Витгенштейна остаются основой всего современного NLP Векторное представление слов — пожалуй, одна из самых красивых и романтичных идей в истории искусственного интеллекта. Философия языка — это раздел философии, исследующий связь между языком и реальностью и ...
Acronis Foundation: школы построены уже в 8 странах мира. Вы с нами? Международный фонд Acronis Foundation помогает распространять знания по всему миру, и одним из ключевых направлений работы волонтеров является строительство и поддержка школ. О том, как это происходит сегодня, и какой вклад может сделать в этот процесс каждый из нас, читайте...
[Перевод] Для доказательства 30-летней гипотезы из области информатики хватило двух страничек Гипотеза «чувствительности» ставила в тупик многих выдающихся специалистов по информатике, но её новое доказательство оказалось настолько простым, что один исследователь смог свести его к единственному твиту Опубликованная этим летом работа ставит точку в почти 30-летней и...
Масштабное обновление CMS Umbraco 8: что нового В конце февраля Umbraco обновилась до версии 8.0. Мы любим эту CMS, так как в ней можно создавать интуитивно понятную структуру для любого сайта, поэтому не могли пройти мимо этой новости. В восьмой версии CMS появились новые функции, также переработан интерфейс — он стал п...
[Перевод] Использование strict-модулей в крупномасштабных Python-проектах: опыт Instagram. Часть 1 Публикуем первую часть перевода очередного материала из серии, посвящённой тому, как в Instagram работают с Python. В первом материале этой серии речь шла об особенностях серверного кода Instagram, о том, что он представляет собой монолит, который часто меняется, и о том, ка...
Как мы победили дерево категорий Вы наверняка сталкивались с таким элементом интерфейса. В местах продажи, на дискуссионных площадках, да практически повсеместно этот элемент встречается. Даже тут, на хабре, хабы в виде дерева. Не исключение и фриланс-биржи. Заказы нужно как-то группировать, чтобы исполни...
Глава Xiaomi озвучил цену и пару особенностей смартфона Redmi 7 Руководство Xiaomi уже взяло за правило раскрывать все ключевые подробности о будущих смартфонах за несколько дней до их выпуска. ***
Software Defined Radio — как это работает? Часть 9 Привет Хабр. В предыдущей части было рассмотрено декодирование сигналов RDS для FM-радиостанций, и идея следующей статьи возникла сама собой — нужно сделать свой собственный FM-трансмиттер. Вариантов будет два — простой, и более сложный, с RDS. Как и в предыдущих случая...
19 октября Яндекс проведет Боткэмп для разработчиков голосовых приложений 19 октября в московском офисе Яндекса состоится третий Боткэмп — встреча разработчиков навыков Алисы, чат-ботов и других диалоговых продуктов. Боткэмп будет интересен как опытным, так и начинающим разработчикам. В первой части мероприятия разработчики поделятся своим о...
[Перевод] Трассировка лучей на GPU в Unity — Часть 3 [Первая и вторая части.] Сегодня мы совершим большой скачок. Мы отойдём от исключительно сферических конструкций и бесконечной плоскости, которые трассировали ранее, и добавим треугольники — всю суть современной компьютерной графики, элемент, из которого состоят все виртуа...
[Перевод] Исчерпывающий список различий между VB.NET и C#. Часть 2 В первой части статьи тема превосходства VB.NET над C# по рейтингу TIOBE нашла живой отклик в комментариях. Поэтому по совету AngReload посмотрим на тренды StackOverflow. C# все еще силен! Революция, о которой так долго говорили в прошлый раз, отменяется! Ура, товарищи! Или...
[Перевод] Современный рендеринг текста в Linux: часть 1 Добро пожаловать в первую часть «Современного рендеринга текста в Linux». В каждой статье из этой серии мы разработаем самодостаточную программу на C для визуализации символа или последовательности символов. Каждая из этих программ будет реализовывать функцию, которую я счит...
Что каждый разработчик должен знать о поиске Наш перевод полного руководства по теории и практике создания как небольшого поисковика в своем сервисе, так и системы для обработки данных целой компании.
Импортозамещение на практике. Часть 3.1. «QP ОС». Первый в своем роде обзор операционной системы До этого момента обзоров данной ОС не было. Авторы и разработчики хранят свои тайны, и не хотят, что бы вся их работа утекла в сеть и стала достоянием общественности. В связи с этим, тестирование QP ОС возможно лишь по договору, и, на данный момент времени, только для юр.ли...
[Перевод] Функциональное мышление. Часть 11: Финал Сегодня мы заканчиваем нашу серию статей о функциональном программировании. Получилось 11 частей. Я считаю, что это достижение. В этой статье реализуем простой стековый калькулятор (также известный как "обратная Польская нотация"). Реализация практически полностью построена ...
[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? Часть 2 (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Друзья, до запуска нового потока по курсу «Разработчик С++», остается совсем немного времени. Пришло время опубликовать перевод второй части материала, в которой рассказывается о том, что такое ка...
Идентификация устройств IoT с точки зрения разработчика Несколько дней назад компания GlobalSign открыла портал для разработчиков IoT Developer Portal. Здесь можно бесплатно зарегистрироваться (только по корпоративным адресам), выбрать API для интеграции, бесплатно получить сертификаты X.509 и протестировать свою систему идентиф...
«Иволга 2.0» — поезд, на котором вы поедете по МЦД Сегодня запуск первых двух маршрутов МЦД. По МЦД пойдут не просто поезда, а «Иволги». За пару месяцев до открытия МЦД на Тверском вагоностроительном. К релизу МЦД вышел и новый релиз «Иволги», теперь у неё версия 2.0. Давайте покажу, как собирается этот поезд, и что в нё...
Метрики DevOps – откуда брать данные для расчетов Честно говоря, Иван часто посмеивался над тщетными усилиями коллег из отдела мониторинга. Они прилагали огромные усилия для реализации метрик, которые им заказывало руководство компании. Они были настолько заняты, что больше никому ничего не хотели делать. А руководству вс...
Нам нужен другой 1С-Битрикс, часть 2 После публикации первой статьи в деле борьбы за права причастных к 1С-Битриксу появились соподвижники Dekmabot и Sergik_DS со статьями «Почему Битрикс — Битрикс» и «За что, Битрикс? Или сказочный мир 1С», чему я несказанно рад. Как там пишут в руководствах по зачинанию старт...
[Перевод] .NET Core Workers как службы Windows В .NET Core 3.0 мы представляем новый тип шаблона приложения под названием Worker Service. Этот шаблон предназначен для того, чтобы дать вам отправную точку для написания долго-работающих сервисов в .NET Core. В этом пошаговом руководстве мы создадим worker и запустим его в ...
Flutter: локализация приложений средствами Android Studio Про локализацию (интернационализацию) приложений Flutter написано уже достаточно много. Официальная документация довольно подробно останавливается на этом вопросе, кроме этого ряд энтузиастов описывает самые различные подходы. Эта статья не претендует на полноту охвата вопр...
[Перевод] Big O Примечание. Сокращенный перевод, скорее пересказ своими словами. UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах». Big O нотация нужна для описания сложности алгоритмов. Для этог...
Apple добавила в iOS 13 самую долгожданную возможность Не секрет, что в отношении некоторых вещей Apple принимает достаточно странные решения, отказываясь внедрять те или иные технологии в свою продукцию. Впрочем, годы идут, а мнение руководства «яблочной» корпорации меняется, в результате чего иногда пользователям Сообщение Ap...
Что разработчикам надо знать про бизнес Даже в очень крупных компаниях часто отношение к разработчикам, как к грибам: держат в темноте и кормят навозом. Пишите код, родные, и не высовывайтесь. Этот подход может быть удобен для многих (в том числе иногда — для самих разработчиков в случае не очень адекватного менед...
Реальная замена беззеркальной камере? Островная экзотика в красочном видеоролике, снятом на камеру Huawei P30 Pro Huawei уже примерно с месяц атакует Сеть различными тизерами, демонстрирующими главную особенность флагмана Huawei P30 Pro – оптический зум. Но на этот раз перед нами не тизер, а полноценный видеоролик, снятый на камеру этой модели. Собственно, кадры со смартфона ...
[Из песочницы] 12 социальных навыков, которые совершенствуют работу руководителей ИТ-проектов Привет, Хабр! Представляю вашему вниманию перевод статьи: «12 Soft Skills That Make IT Project Managers Unstoppable» автора Pavel_Ku. Растущая конкуренция на рынке труда свидетельствует о том, что одной лишь работы, основанной на технических навыках, уже недостаточно. В реа...
[Из песочницы] Раскрытие номера телеграм v.2 — Социальная инженерия Предисловие Сам способ раскрытия номера — есть совокупность одной технической возможности самого клиента и применения социальной инженерии (СИ). Вообще, эту функцию уже описывали ранее на Хабре, аж в 2016 году — ссылочка. Автор уже было уловил «месседж» и хотел рассказать з...
[Из песочницы] Когда использовать var, let и const в Javascript [перевод статьи Tyler’а McGinnis] Привет, Хабр! Представляю вашему вниманию перевод статьи «var vs let vs const in JavaScript» автора Tyler McGinnis. В этой статье вы узнаете 2 новых способа для создания переменных в Javascript (ES6), let и const. На протяжении этой статьи мы рассмотрим разницу между var,...
MIRO — открытая платформа indoor-робота. Часть 4 — Программная составляющая: ARDUINO (AVR) Продолжаем разбирать программную составляющую платформы MIRO. Хочется более подробно рассмотреть именно программное обеспечение под AVR. Поэтому вопросу посвятим две части. В первой опишем общую структуру библиотеки, а во второй — реализацию некоторых ключевых методов клас...
[Перевод] Полное руководство по Prometheus в 2019 году DevOps- и SRE-инженеры уже, наверное, не раз слышали о Prometheus. Prometheus был создан на SoundCloud в 2012 году и с тех пор стал стандартом для мониторинга систем. У него полностью открытый исходный код, он предоставляет десятки разных экспортеров, с помощью которых можн...
[Перевод] Что нужно знать о массивах JavaScript Представляем вам перевод статьи автора Thomas Lombart, которая была опубликована на сайте medium.freecodecamp.org. Перевод публикуется с разрешения автора. Пример использования метода reduce для сокращения массива Позвольте мне сделать смелое заявление: циклы часто бывают...
Байт-машина для форта (и не только) по-индейски (часть 3) Наступил год 2019. Новогодние праздники подходят к концу. Самое время начать вспоминать байты, команды, переменные, циклы… Что-то я все уже забыл с этими праздниками. Придется вспоминать вместе! Сегодня сделаем интерпретатор для нашей байт-машины. Это третья статья, первы...
Интересные доклады на HighLoad++ Siberia 2019 по версии Plesk Всем привет! В июне в Новосибирске прошла конференция по разработке высоконагруженных приложений HighLoad++ Siberia 2019. Ранее в статьях на Хабре мы упоминали, что мы в компании Plesk проводим ретроспективу конференций и докладов, которые посещаем, чтобы не потерять получен...
[Перевод] Путь к проверке типов 4 миллионов строк Python-кода. Часть 3 Представляем вашему вниманию третью часть перевода материала о пути, который прошла компания Dropbox, внедряя у себя систему проверки типов Python-кода. → Предыдущие части: первая и вторая Читать дальше →
ASUS представила ноутбук VivoBook 14 (X403) с автономной работой до 24 часов Компания ASUS представила для российского рынка компактный и легкий ноутбук VivoBook 14 (X403), обеспечивающий возможность работы до 24 часов без подзарядки. Новинка оснащена 14-дюймовым дисплеем NanoEdge с соотношением сторон 16:9 и разрешением Full-HD (1920 × 1080 точек). ...
Психоанализ эффекта недооцененного специалиста. Часть 1. Кто и почему 1. Вступление Несправедливость неисчислима: исправляя одну, рискуешь совершить другую. Ромен Роллан Работая программистом с начала 90-ых, мне не однократно приходилось сталкиваться с проблемами недооцененности. Вот например, я такой молодой, умный, со всех сторон положительн...
Девушка в IT, или 5 советов для амбициозных В конце прошлого года меня пригласили выступить на мероприятии Worldwide Conversation on Women’s Higher Education and Equality in the Workplace на факультете компьютерных наук ВШЭ. Это беседа о том, как в современном мире женщина может построить успешную карьеру в области на...
Видеоурок Теплицы: обзор закладки Cut в DaVinci Resolve 16 С выходом 16-й версии DaVinci Resolve стало ясно, что на рынке профессиональных видеоредакторов появился не просто сильный игрок, а полноценный лидер. Вова Ломов делал обзор 16-й версии и лишь вскользь коснулся закладки «Cut», которую сами разработчики считают одним из главн...
Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 5 ← Часть 4. Программирование периферийных устройств и обработка прерываний Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 5. Проектирование многопоточных приложений В предыдущих частях статьи мы подробно останавливались на основах программирования с ...
Паттерны и анти-паттерны CI/CD. Часть 2 Всех с пятницей, друзья. Сегодня делимся с вами переводом второй части статьи «Паттерны и анти-паттерны CI/CD», первую часть которой можно прочитать здесь. Напомним, даная серия публикаций приурочена к запуску нового потока по курсу «DevOps практики и инструменты». 1.3 Патт...
Строим модели, «продаем» управление знаниями руководству и исправляем ошибку выжившего Недавно я рассказала о докладах, которые сформировали программу конференции про управление знаниями в IT компаниях KnowledgeConf. Но не докладами едиными, все таки самое важное на конференции — это общение экспертов, дискуссии, столкновение мнений, на стыке которых возникает...
[Из песочницы] Изучаем трассировку с помощью eBPF: Руководство и примеры Привет, Хабр! Предлагаю вашему вниманию перевод статьи Брендана Грегга, посвящённой изучению eBPF На конференции Linux Plumbers было как минимум 24 выступления по eBPF. Он быстро стал не просто бесценной технологией, но и востребованным навыком. Возможно, вам хотелось бы пос...
Даннинг с Крюгером, Сократ и круги знаний Меня давно занимает тема познания. Так я столкнулся с изречением Сократа — «Я знаю, что ничего не знаю», с эффектом Даннинга-Крюгера. Уверился в истинности этих концепций. Увидел их взаимосвязь. А кроме того мне у меня появилась уверенность, что можно математически обосноват...
[Перевод] Как случайность может помочь математикам Случайность, казалось бы, усложняет доказательство теорем. Но на самом деле, часто её эффект получается противоположным Из всех доступных математикам инструментов случайность, казалось бы, имеет меньше всего преимуществ. Математика оперирует логикой и строгими понятиями. Е...
Обзор цифрового пианино Casio Privia PX-S3000: сенсорная классика Рынок цифровых пианино сегодня — это иллюзия большого выбора. Безусловно, если покупатель впервые сталкивается с необходимостью приобрести фортепиано, то на него обрушится вал предложений, но это будет лишь нескончаемый поток информации без какой-либо конкретики. Часто в обз...
Обзор Creative Pebble Plus. Компактная акустическая система формата 2.1 Не так давно компания Creative расширила линейку настольной акустики Pebble выпуском версии формата 2.1. У нас появилась возможность в числе первых детально изучить Creative Pebble Plus. Заявлена поддержка режима High Gain, увеличивающего мощность звука без потери в качестве...
[Из песочницы] Как работают веб-приложения Это статья для начинающих разработчиков и тех, кто хочет немного ориентироваться в терминах и технологиях современных веб-приложений. В статье написано о том, чем веб-приложения отличаются от сайтов, какие бывают веб-приложения, из чего они состоят и как работают. Читать да...
[Из песочницы] Создаем современное веб приложение. Знакомство с проектом и подготовка к работе. Часть 1 В этой серии статей мы пройдем полный цикл создания клиентской части приложения и напишем небольшую библиотеку компонентов с использованием современного стека технологий. Читать дальше →
[Перевод] Java Challengers #4: Сравнение объектов с equals() и hashCode() Java Challengers #4: Сравнение объектов с equals() и hashCode() В преддверии запуска нового потока по курсу "Разработчик Java" мы продолжаем перевод серии статей Java Challengers, предыдущие части которых можно прочитать по ссылкам ниже: Перегрузка методов в JVM Сравнение с...
NVIDIA наказала менеджеров за провал Прошлый год оказался для компании NVIDIA очень тяжелым, ведь бум криптовалюты стих, пользователям не очень понравились новые видеокарты RTX 20, плюс упали продажи в Китае, который ранее генерировал громадную часть прибыли компании. В итоге главы NVIDIA решили, что в этом вин...
После прохождения кампании The Division 2 станет еще интереснее Разработчики The Division 2 уделили особое внимание так называемому постсюжетному повествованию. В первой части завершение кампании зачастую отталкивало геймеров от дальнейшей игры. Но в новом проекте все будет иначе. После окончания сюжетной кампании (и получения 30 уровня...
[Перевод] Разработка простых современных JavaScript-приложений с использованием Webpack и прогрессивных веб-технологий Думали ли вы о том, чтобы воспользоваться при разработке своего очередного веб-проекта простейшим из существующих набором технологий? Если это так — значит материал, перевод которого мы публикуем сегодня, написан специально для вас. JavaScript-фреймворки существуют для того...
Всемирной паутине — 30 лет Три десятилетия назад, 12 марта 1989 года, английский специалист в области информатики сэр Тимоти Бернерс-Ли (Tim Berners-Lee) предложил руководству CERN глобальный гипертекстовый проект, который позволил бы ученым организовать совместное хранение и общий доступ к инфор...
[Перевод] О декораторах в Python Всем привет! Перевод статьи подготовлен для студентов курса «Web-разработчик на Python». Интересно развиваться в данном направлении? Запишитесь на День Открытых Дверей курса и пообщайтесь вживую с преподавателем: онлайн-трансляция 23 июля в 20:00 по мск.! Когда вы упражняли...
[Перевод] Kapitan за штурвалом Kubernetes Знакомьтесь — Kapitan. Он поможет вам навести красоту и порядок в конфигурации Kubernetes. Kapitan зарабатывает репутацию на отзывах довольных пользователей, и потому обходится без обширной документации и дорогого маркетинга. У нас достаточно звезд и пара упоминаний от блог...
iOS 13: Что нужно и чего совершенно не нужно делать при разработке под новую ОС С момента выхода iOS 13 вышло бесчисленное количество обзоров, в которых уже рассказано о новых фишках системы для пользователей. Сегодня мы не будем подробно останавливаться на этом, но зато поговорим о том, что меняет iOS 13 для разработчика приложений. Читать дальше →
Изучаем веб-аналитику с нуля. Большая подборка Привет, читатель! В интернете много статей по веб-аналитике, но найти действительно стоящие и последовательно сгруппированные материалы нелегко. Поэтому сделал для вас большую подборку материалов для самостоятельного изучения. Добавляйте в закладки, чтобы не потерять. ...
Star Wars: Рыцари старой Республики Ave! Дело в том, что я довольно долгое время провела в больнице, и во время лечения начала играть в Star Wars: Knights of the Old Republic на планшете, чтобы хоть как-то отвлечься. Немного позже наткнулась на статью с несколькими идеями Криса Авеллона о сюжете 3-й части (п...
В Российской Федерации появится частный космодром Руководство компании «Космокурс» договорилось с властями Нижегородской области о строительстве первого в Российской Федерации частного космодрома.
10000 школьников собрались на Математическом празднике в столице На территории российской столицы в уходящем месяце в юбилейный, тридцатый раз прошел ежегодный Математический праздник. Участие в нем приняли свыше десяти тысяч местных школьников, — рассказал И.Ященко (директор Центра педагогического мастерства). По словам И.Ященко,...
Первый рендер смартфона Essential Phone PH-2 В Сети появился первое изображение смартфона Essential Phone PH-2, который создается под руководством создателя операционной системы Android Энди Рубина (Andy Rubin). При первом взгляде на изображение можно предположить, что устройство будет оснащено дисплеем с круглым ...
Обсуждение: почему популярный видеохостинг все чаще удаляет контент с хакерскими руководствами Разработчики YouTube изменили политики работы сервиса и блокируют видео, посвящённые эксплойтам цифровых сервисов. Обсуждаем реакцию ИТ-сообщества и рассказываем, кто пострадал. Читать дальше →
Руководство по выживанию с MongoDB Все хорошие стартапы либо быстро умирают, либо дорастают до необходимости масштабироваться. Мы смоделируем такой стартап, который сначала про фичи, а потом про перфоманс. Перфоманс будем улучшать с MongoDB — это популярное NoSQL-решение для хранения данных. С MongoDB легко с...
5 способов сделать Python-сервер на Raspberry Pi. Часть 2 Привет Хабр. Сегодня мы продолжим изучать сетевые возможности Raspberry Pi, а точнее их реализацию на языке Python. В первой части мы рассмотрели базовые функции простейшего веб-сервера, работающего на Raspberry Pi. Сейчас мы пойдем дальше, и рассмотрим несколько способов, ...
Большие данные для внутреннего употребления Современные компании собирают великое множество информации. Не только о партнёрах и клиентах, но и о собственном персонале. И всё чаще данные о привычках и стиле работы сотрудников используются руководством для оптимизации своих же внутренних ...
Первое знакомство с Home Assistant Home Assistant – популярное приложение с открытым исходным кодом для организации умного дома. Первый опыт автора в работе с Home Assistant основывается на попытке интеграции в него ‘умной рисоварки‘. Автор постарается описать основные компоненты и возможности данного прило...
Какие бывают электровелосипеды (групповой обзор пяти моделей двух производителей), часть 2 В этой части мы рассмотрим три модели электровелосипедов «для ленивых» пользователей. Эти велосипеды так классифицированы за то, что могут двигаться полностью на силе мотора, без каких бы то ни было усилий велосипедиста (хотя и приложить собственную силу не возбраняется). П...
opencv4arts: Нарисуй мой город, Винсент OpenCV — библиотека с историей непрерывной разработки в 20 лет. Возраст, когда начинаешь копаться в себе, искать предназначение. Есть ли проекты на ее основе, которые сделали чью-то жизнь лучше, кого-то счастливее? А можешь ли ты сделать это сам? В поисках ответов и желании ...
[Перевод] Мысли о современном C++ и игровой разработке Новый год для игровых разработчиков начался с волны критики, обрушившейся в адрес комитета по стандартизации C++ после публикации Араса Пранкевичуса «Жалобы по поводу современного C++». Возник серьезный вопрос: действительно ли комитет стандартов потерял связь с реальностью,...
Школа Java-разработчиков в Нижнем Новгороде Всем привет! Мы открываем бесплатную школу для начинающих Java-разработчиков в Нижнем Новгороде. Если ты — студент последних курсов или выпускник вуза, обладаешь небольшим опытом в IT или в смежной профессии, живешь в Нижнем или его окрестностях — welcome! Регистрация н...
Вредные советы: как правильно писать техническую документацию? Советы по грамотному написанию технической документации для пользователей. Часть 1 В одной из предыдущих статей мы в общих чертах рассказывали, как именно происходит процесс документирования и локализации наших продуктов. На этот раз под катом – руководство нашего техниче...
Сэмплирование и точность вычислений Ряд моих коллег сталкиваются с проблемой, что для расчета какой-то метрики, например, коэффициента конверсии, приходится кверить всю базу данных. Или нужно провести детальное исследование по каждому клиенту, где клиентов миллионы. Такого рода квери могут работать довольно до...
MEGOGO займется аудиоконтентом Компания MEGOGO новое направление, связанное с аудио. Новый раздел будет включать в себя весь современный аудиоконтент присутствующий на рынке, кроме музыки. С 3 декабря в сервисе появятся аудиокниги ведущих российских издательств и подкасты различной тематики. В первый ...
[Из песочницы] Исследуем утверждение центральной предельной теоремы с помощью экспоненциального распределения Вместо введения В статье описывается исследование, проведенное с целью проверки утверждения центральной предельной теоремы о том, что сумма N независимых и одинаково распределенных случайных величин, отобранных практически из любого распределения, имеет распределение, близко...
Operating Systems: Three Easy Pieces. Part 5: Планирование: Multi-Level Feedback Queue (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересной на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...
[Перевод] Тестирование не для начинающих Я большой фанат тестирования. Я пишу об этом в блог и почтовую рассылку, я обсуждаю это c другими разработчиками в свободное время, я зашел так далеко, что даже создал обучающий курс по тестированию в Go. Но несмотря на всю мою любовь к тестированию, я не рекомендую его нов...
[Перевод] Структуры данных для программистов игр: bulk data Любому программисту будет полезно понимание различных структур данных и способов анализа их производительности. Но на практике мне ни разу не пригождались АВЛ-деревья, красно-чёрные деревья, префиксные деревья, списки с пропусками, и т.д. Некоторые структуры данных я исполь...
[Перевод] Каскадная инвалидация кэша. Часть 2 В первой части перевода материала, посвящённого каскадной инвалидации кэша, мы обсудили сущность проблемы и рассмотрели один из вариантов её решения, который заключается в использовании карт импорта. Его плюс — лёгкость реализации. А минус — слабая поддержка браузерами. Сего...
Курс по Kotlin – руководство для начинающих Это введение в Kotlin, статически типизированный язык программирования общего назначения с открытым исходным кодом.
[Перевод] Знакомство с Helm 3 Прим. перев.: 16 мая этого года — значимая веха в развитии менеджера пакетов для Kubernetes — Helm. В этот день был представлен первый альфа-релиз будущей крупной версии проекта — 3.0. Её выход принесёт в Helm существенные и долгожданные изменения, на которые многие в Kube...
От теории к практике: как применяется блокчейн в авиации Гражданская авиация — глобальная индустрия, в которой непрерывно происходит синхронизация и обработка огромных массивов данных. В середине 20 века глобальные системы бронирования авиабилетов были одними из первых примеров применения компьютерных комплексов и сетей передачи д...
[Перевод] Стандартный браузерный API Payment Request Знаете ли вы о том, что во многих современных браузерах имеется встроенный API, который называется Payment Request? Этот API описан в стандарте W3C, который направлен на поддержку работы с платёжной и контактной информацией. Вот обзор стандарта на ресурсе developers.google.c...
Как ВТБ к единому знанию приходил Представьте, что вы звоните по какому-то вопросу в колл-центр банка и получаете один ответ. Затем приходите в точку продаж, но полученная ранее информация оказывается неактуальной. Чтобы гарантированно избежать таких расхождений, мы решили уйти от существующего в банке решен...
[Из песочницы] PHP: Как разобрать сложный XML-файл и не утонуть в собственном коде Доброе время суток! Сфера применения XML-формата достаточно обширна. Наряду с CSV, JSON и другими, XML — один из самых распространенных способов представить данные для обмена между различными сервисами, программами и сайтами. В качестве примера можно привести формат Commerc...
[Перевод] На какие языки переводить свою игру в 2019 «Игра хорошая, но без русского языка ставлю единицу» – частый отзывов в любом сторе. Учить английский, конечно, хорошо, но может помочь и локализация. Перевел статью, на какие языки ориентироваться, что переводить и стоимости локализации. Сразу ключевые тезисы: План-мин...
В Google Ads появится новый раздел Policy Manager В апреле Google Ads запустит новый раздел Policy Manager, где рекламодатели смогут видеть, есть ли по их аккаунту какие-либо нарушения правил и отслеживать статус жалоб. Об этом сообщается в блоге сервиса. В новом разделе рекламодатели смогут отслеживать ограничения, связанн...
[Перевод] Как исследователи в Uber применяют и масштабируют знания о поведении человека Мы подготовили для читателей Хабры перевод статьи команды Uber Labs. Коллеги из Uber описывают процесс работы аналитиков узкоспециализированного типа (в области науки о поведении) в рамках огромной корпорации, как устроено их взаимодействие с аналитиками других типов (UX-и...
[Перевод] Apache Kafka и RabbitMQ: семантика и гарантия доставки сообщений Подготовили перевод следующей части многосерийной статьи, где сравнивается функциональность Apache Kafka и RabbitMQ. В этой публикации речь идёт о семантике и гарантии доставки сообщений. Обращаем ваше внимание, что автор учитывал Кафку до версии 0.10 включительно, а в вер...
15 советов по seo-архитектуре сайта: делаем структуру для SEO Руководство с советами по архитектуре сайта: как сделать структуру сайта, чтобы привлечь больше трафика. Обновленный материал.
Разбираемся с латинскими сокращениями и фразами в английском языке Полтора года назад, читая работы про уязвимости Meltdown и Spectre, я поймал себя на том, что не очень понимаю разницу между сокращениями i.e. и e.g. Т.е. по контексту вроде бы понятно, но потом вроде бы как-то и не совсем то. В результате я тогда сделал себе небольшую шпар...
Руководство школ выберет дату проведения торжественных линеек в Москве Как рассказал глава образовательного ведомства Москва Исаак Калина, в текущем году День знаний (первое сентября) попадает на воскресенье, в связи с чем будет включен в программу статусного международного форума «Город образования» на ВДНХ. На нем будет проведена торжественна...
Настройка LaTeX в Sublime Text Ниже представлено руководство по установке текстового редактора Sublime Text, с последующим добавлением в него возможности использования системы компьютерной вёрстки LaTeX. В качестве бонуса научим его понимать язык Julia. Читать дальше →
[Перевод] Дизайн уровней и геймплея roguelike на примере Cogmind Многие годы я использовал довольно стандартизированный подход к дизайну каждой новой карты Cogmind, и хотя сейчас их счёт уже идёт на десятки, в своём блоге я его никогда не рассматривал. В основном это вызвано тем, что подробный анализ всего процесса потребует раскрытия ку...
[Из песочницы] Умная лампа Привет, Хабр! Предлагаю вашему вниманию перевод статьи «DIY Smart Lamp» автора Maciej Matuszewski. Пошаговое руководство по переходу от придуманной идеи к работающему продукту. Ожидание против реальности Вы когда-нибудь задавали себе следующие вопросы? Может ли горяч...
[Перевод] 26 рекомендаций по использованию типа var в Java The Java Local Variable Type Inference (LVTI) или кратко — тип var (идентификатор var — это не ключевое слово, а зарезервированное имя типа) был добавлен в Java 10 с помощью JEP 286: Local-Variable Type Inference. Являясь 100% функцией компилятора, она не влияет на байт-код...
Рассекречено имя флагмана Redmi на Snapdragon 855 В начале 2019 года компания Xiaomi превратила серию Redmi в независимый бренд. С тех пор Redmi выпустил несколько новых смартфонов и на этом останавливаться не собирается. Сейчас бренд работает над новым флагманским смартфоном на базе Qualcomm Snapdragon 855. Руководство Red...
Data Science: книги для начального уровня Data Science — наука о данных, возникшая на стыке нескольких обширных направлений: программирования, математики и машинного обучения. Этим обусловлен высокий порог вхождения в профессию и необходимость постоянно получать новые знания. Ключевыми навыками для начинающих специ...
«Среда обучения» объявила о начале работы мастерской А. Тер-Оганьяна В высшей школе «Среда обучения» начинает работу мастерская одного из ведущих концептуалистов – Авдея Тер-Оганьяна. В работе авторской мастерской предполагается двухгодичный курс, на протяжении которого студенты будут постигать принципы и концепции современных арт-направлений...
[Перевод - recovery mode ] Руководство по SQL: Как лучше писать запросы (Часть 2) Продолжение статьи Руководство по SQL: Как лучше писать запросы (Часть 1) От запроса к планам выполнения Зная, что антипаттерны не статичны и эволюционируют по мере того, как вы растете как разработчик SQL, и тот факт, что есть много, что нужно учитывать, когда вы задумыва...
Huawei: «6G появится не раньше 2030 года» Вчера в Боао (Хайнань) прошел очередной форум в рамках Asia 2019 Annual Meeting. Ян Чаобин, президент линейки 5G-продуктов Huawei, принял участие в разделе форума под названием «5G: достижения IoT» и открытом обсуждении после блока. Он рассказал, что, хотя некоторые уже гов...
[Перевод] Математическая модель раскрывает секреты зрения Математики и нейробиологи создали первую анатомически точную модель, объясняющую, как устроено зрение Великая загадка человеческого зрения состоит в следующем: мы воспринимаем насыщенное изображение окружающего нас мира, при том, что зрительная система нашего мозга получае...
[Перевод] UDB. Что же это такое? Часть 3. Datapath FIFO Продолжаем делать перевод фирменной документации фирмы Cypress на блоки UDB. Тем более, что всё очень удачно совпадает. Для продолжения практической статьи по UDB понадобится использование FIFO, а в теоретической части мы подобрались как раз к их описанию. Поэтому начинаем...
Google обновил руководства по подготовке к mobile-first индексации и разметке How-to Технический писатель Google Лизи Харви (Lizzi Harvey) сообщила об обновлении руководств по подготовке к mobile-first индексации и разметке How to. В руководстве, связанном с mobile-first индексацией, появился новый блок со всеми важными сообщениями Google по этой теме. Пока ...
[Перевод] Ускоряем JavaScript-код с использованием типа данных Set Автор материала, перевод которого мы сегодня публикуем, говорит, что уверен в том, что многие JavaScript-разработчики пользуются, в основном, такими типами данных, как Number, String, Object, Array и Boolean. В большинстве случаев этого вполне достаточно. Но если нужно сдела...
Как внедрить унифицированные процессы с учетом всех особенностей компании? С выходом ITIL v4 хотелось бы отдать дань уважения великой методологии и рассказать об российском ITSM-опыте, для чего и как его применять в сегодняшних условиях компаниям, идущим по пути цифровых преобразований. Для последовательного раскрытия обозначенной темы в предлагае...
[Перевод] Полное руководство по Flexbox Полное руководство по CSS flexbox. Это полное руководство объясняет все о flexbox, сосредотачиваясь на всех возможных свойствах для родительского элемента (контейнер flex) и дочерних элементов (элементы flex). Оно также включает в себя историю, демонстрации, шаблоны и таблиц...
[Перевод] Самодельная приёмная часть стандарта Qi Систему беспроводной зарядки можно было бы сделать «глупой», но тогда она не отличала бы приёмную часть от металлических предметов и нагревала бы их вихревыми токами. Поэтому когда приёмной части нет, передающая периодически посылает короткие импульсы. Когда же подносят пр...
Operating Systems: Three Easy Pieces. Part 4: Введение в планировщик (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересной на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...
Агрохолдинг «Кургансемена» будет экономить на документообороте вместе с Synerdocs Весной 2019-го руководство «Кургансемена» поставило перед собой цель — автоматизировать взаимодействие в холдинге. Переводом документов и процессов в электронный вид занялась ИТ-компания «Систем-Консалт». «Согласование ...
Заблуждения начинающих C# разработчиков. Пытаемся ответить на стандартные вопросы Недавно мне выпала возможность пообщаться с довольно большим количеством начинающих специалистов по разработке на языке C#. Многие из них интересуются языком и платформой, и это очень круто. Среди зеленых юниоров распространено мракобесие по поводу очевидных (только что проч...
PhpStorm 2019.1: Отладка шаблонов Twig и Blade, поиск мертвого кода, улучшенное автодополнение, и многое другое Мы рады представить вам первый мажорный релиз PhpStorm в этом году! Обзор релиза можно посмотреть на странице “What’s new”. А под катом дополненный перевод этой страницы с демонстрацией наиболее интересных новых возможностей. Читать дальше →
ок.tech на HighLoad++ 2019 Highload++ очень близко! 7-8 ноября в Сколково в тринадцатый раз соберутся более 3000 разработчиков высоконагруженных систем. Мероприятие направлено на обмен знаниями о технологиях, позволяющих одновременно обслуживать многие тысячи и миллионы пользователей. Программа охва...
[Перевод] [Иллюстрированное] Руководство по устройству сети в Kubernetes. Часть 3 Прим. перев.: Эта статья продолжает цикл материалов о базовом устройстве сетей в Kubernetes, что описывается в доступной форме и с наглядными иллюстрациями (впрочем, конкретно в этой части иллюстраций уже практически не оказалось). Переводя две предшествующие части этого цик...
Как написать торгового робота: инструменты для начинающих Тема автоматизированных систем для торговли на бирже довольно популярна в рунете в последние несколько лет. Однако начинающим инвесторам создать своего торгового робота может быть нелегко. Сегодня мы расскажем о том, как это можно сделать без лишних затрат. Читать дальше →
[Перевод] Руководство и шпаргалка по Wireshark Даже поверхностное знание программы Wireshark и её фильтров на порядок сэкономит время при устранении проблем сетевого или прикладного уровня. Wireshark полезен для многих задач в работе сетевого инженера, специалиста по безопасности или системного администратора. Вот нескол...
Инициализация в современном C++ Общеизвестно, что семантика инициализации — одна из наиболее сложных частей C++. Существует множество видов инициализации, описываемых разным синтаксисом, и все они взаимодействуют сложным и вызывающим вопросы способом. C++11 принес концепцию «универсальной инициализации». ...
Google хочет добавить в Android раздел для хранения документов С появлением Google Pay у пользователей отпала необходимость носить с собой наличные средства, а также банковские и дисконтные карты. Но для полного удобства этого было явно недостаточно. Поэтому, как выяснил XDA, Google решила внедрить в Android защищенный раздел для хране...
[Перевод] 27 удивительных инструментов VS Code для современных JavaScript-разработчиков Visual Studio Code (его ещё называют VS Code и VSCode) — это экономичный но мощный кросс-платформенный редактор кода, выполненный в виде настольного приложения. По словам автора материала, перевод которого мы сегодня публикуем, VS Code поддерживает множество инструментов раз...
[Перевод] Примеры использования некоторых новых возможностей JavaScript Автор материала, перевод которого мы сегодня публикуем, говорит, что новые возможности JavaScript, которые попали в стандарт ES2019, уже официально доступны в браузерах Chrome, Firefox и Safari, а также на платформе Node.js. Если нужно поддерживать устаревшие браузеры, то во...
[Из песочницы] Просто деление, или как создать математическую теорию и заработать на этом 400К$ Так сложилось, что наука развивается неравномерно, а потому в нашей жизни и сегодня, так сказать, есть место подвигу. Подвиг, разумеется, научный, но от этого не менее значимый. И вот теперь вам, читатели, предоставляется возможность увидеть место подвига, официальные расцен...
[Из песочницы] Размышления на тему карьеры в IT и советы начинающим Привет, Хабр! Я тут недавно много думал насчёт карьеры, будущего нашей индустрии и так далее. Решил написать статью для тех кто только собирается сюда въезжать, да и вообще возможно кому-то будет интересно, все нижеприведенное чисто мое имхо и многое из того что я скажу прим...
[Перевод] React и Vue: сильные стороны Здравствуйте, коллеги. Мы возобновляем наши переводные публикации. Сегодняшний текст анонсирует давно назревшую новинку по веб-разработке, посвященную ультрасовременной библиотеке Vue.js. Учитывая, что у нас в ассортименте имеется сразу три отличные книги по React, а также ...
Умер основатель советской школы искусственного интеллекта Дмитрий Поспелов - один из наиболее известных советских и российских специалистов в области изучения и создания методик управления сложными системами, один из пионеров изучения проблем искусственного интеллекта. Он является автором 20 монографий и более 300 статей.Известно, ...
3 Ключевых Качества для Успешного Менеджера по продукту — Дмитрий Орлов, Senior Product Manager Мы продолжаем нашу серию статей про 3 ключевые навыка для успешного менеджера по продукту по версии Райкеров. В первой части мы разговаривали с Антоном Даниловым, group product manager, а во второй — с Юрием Голиковым, директором по инжинирингу. Сегодня пообщаемся с Дмитрием...
ИИ компании DeepMind не справился со школьным математическим тестом В средствах массовой информации последнее время очень часто мелькают сообщения о стремительном развитии технологии искусственного интеллекта. Более того, в некоторых сферах ИИ уже способен демонстрировать выдающиеся успехи и в какой-то мере даже превосходство над человеком....
[Перевод] Ответственный подход к JavaScript-разработке, часть 2 В апреле этого года мы опубликовали перевод первого материала из цикла, посвящённого ответственному подходу к JavaScript-разработке. Там автор размышлял о современных веб-технологиях и об их рациональном использовании. Теперь мы предлагаем вам перевод второй статьи из этого ...
Fluid Framework изменит традиционный документ Office Прощайте, Word, Excel и прочие, добро пожаловать, совместную работу с документами в Интернете. Microsoft Fluid Framework может стать будущим Office – будущим, в котором границы между приложениями рухнут, а совместная работа превратится в рутинную процедуру. Звуч...
[Из песочницы] Асинхронный PHP и история одного велосипеда После выхода PHP7 появилась возможность сравнительно небольшой ценой писать долгоживущие приложения. Для программистов стали доступны такие проекты, как prooph, broadway, tactician, messenger, авторы которых берут на себя решение наиболее частых проблем. Но что если сделать ...
Основы движков JavaScript: общие формы и Inline кэширование. Часть 1 Привет, друзья. В конце апреля мы запускаем новый курс «Безопасность информационных систем». И уже сейчас хотим поделиться с вами переводом статьи, которая непременно будет очень полезной для курса. В статье описаны ключевые основы, они являются общими для всех движков Jav...
Фантастические плагины, vol. 2. Практика Здесь можно почитать первую статью с теорией плагиностроения. А в этой части я расскажу, с какими проблемами мы сталкивались во время создания плагина и как пытались их решать. Читать дальше →
[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...
[Из песочницы] Настройка окружения unit тестирования javascript Вначале была функция и вызывали ее в одном месте. Потом мы захотели вызвать ее в другом месте с новыми возможностями и обновили ее. Нам эта ф-ия так понравилась, что мы вызвали ее в третьем месте и еще сделали функциональные правки и… в первом месте что-то пошло не так. А ка...
[Из песочницы] QlikView. Условное форматирование «Как в Эксель» Пришла задача от заказчика – сделать условное форматирование таблицы «как в эксель». QlikView вполне себе справляется со стандартными задачами раскраски по условию, но вот с выбором параметров динамически, да еще и как в эксель – возник вопрос «это как вообще..?». Итог: был...
6 нежданчиков от Джулии Наконец-таки появилось русскоязычное руководство по языку Julia. Там реализовано полноценное введение в язык для тех, у кого мало опыта в программировании (остальным будет полезно для общего развития), так же имеется введение в машинное обучение и куча заданий для закреплен...
[Перевод] Использование JavaScript-консоли в браузерах Сегодня мы публикуем заметку, посвящённую особенностям использования JavaScript-консоли в браузерах, лежащим за пределами широко известной команды console.log(). Собственно говоря, эта команда представляет собой простейший инструмент для отладки программ, который позволяет в...
[Перевод] Тонкое искусство математической гипотезы Это не доказательство, а догадка, подкреплённая знаниями. Но хорошая гипотеза ведёт математику вперёд, указывая путь в математическую неизвестность. Автор статьи — Роберт Дейкграаф, физик-теоретик, специалист по теории струн, директор Института перспективных исследований в...
Управление командой программистов: как и чем их правильно мотивировать? Часть первая Эпиграф: Муж, глядя на чумазых детей, говорит жене: ну, что, этих отмоем или новых нарожаем? Под катом рассуждения нашего тимлида, а также директора по развитию продукта RAS — Игоря Марната об особенностях мотивации программистов. Секрет успеха в создании классных програм...
Блокировка Telegram, Hetzner подсеть /16, опыт общения с РКН Работаю в достаточно крупной консалтинговой компании с представительствами по всему миру. Головной офис в Германии… Так сложилось, что, уехав из России около 20 лет назад, до сего момента про РКН и блокировки я лишь читал и сопереживал. Информация ниже, я так понимаю, не но...
Правительство Южной Кореи планирует ограничить экспорт оборудования OLED в Китай После того, как руководство и сотрудники южнокорейской компании Toptec были обвинены в продаже полученных от Samsung Electronics сведений о технологии OLED китайской компании BOE Technology, правительство Южной Кореи решило принять дополнительные меры по защите технолог...
Ingate выпустил книгу «Как покорить Facebook» Первая часть онлайн-руководства посвящена стратегии
Julia: типы, мультиметоды и арифметика над полиномами В этой публикации речь пойдёт об основной, на мой взгляд, отличительной особенности языка Julia — представлении функций в виде методов с множественной диспетчеризацией. Это позволяет повысить производительность вычислений, не снижая читаемости кода и не портя абстрагируемост...
«Hello»! Первое в мире автоматическое хранилище данных в молекулах ДНК Исследователи из Microsoft и Вашингтонского университета продемонстрировали первую полностью автоматизированную систему хранения данных в искусственно созданной ДНК с возможностью считывания. Это ключевой шаг на пути к переносу новой технологии из исследовательских лабора...
Нейросеть сама догадалась, что Земля крутится вокруг Солнца Современная наука производит такое количество данных, что на их обработку уходит невероятно много времени. Более того, значительная часть информации изучается не так хорошо и пристально, как хотелось бы ученым. Поэтому существует несколько проектов создания искусственного ин...
Бесплатный VPN сервис Wireguard на AWS Для чего? С ростом цензурирования интернета авторитарными режимами, блокируются все большее количество полезных интернет ресурсов и сайтов. В том числе с технической информацией. Таким образом, становиться невозможно полноценно пользоваться интернетом и нарушается фундамента...
Новый движок для новой Call of Duty Одним из заметных событий прошедшей недели стал анонс новой части Call of Duty — ведь Call of Duty: Modern Warfare, ребут одноименного хита 2007 года, будет первой за 14 лет игрой серии, которая работает на новом движке, и к тому же будет поддерживать кросс-плей на PC, PS4 и...
Aruba представила разработки в области сетевой безопасности и мобильности на базе ИИ Aruba, компания Hewlett Packard Enterprise, объявила о выходе новой линейки беспроводных точек доступа стандарта …
Должны ли строки в Python быть итерируемы? И сотворил Гвидо строки по образу C, по образу массивов символов сотворил их. И увидел Гвидо, что это хорошо. Или нет? Представьте, что вы пишете совершенно идиоматичный код по обходу неких данных с вложенностью. Beautiful is better than ugly, simple is better than complex,...
О пиве глазами химика. Часть 3 Привет, %username%. Пока ты копаешься в своём девайсе, мы продолжаем тему о пиве, которую уже частично раскрыли тут, чуть более — тут, но всё ещё не останавливаемся на достигнутом! Я бесконечно рад, что всё-таки решил растянуть это на цикл статей, потому что по комментар...
[Перевод] 14 советов по написанию чистого React-кода. Часть 1 Написание чистого кода — это навык, который становится обязательным на определённом этапе карьеры программиста. Особенно этот навык важен тогда, когда программист пытается найти свою первую работу. Это, по существу, то, что делает разработчика командным игроком, и то, что сп...
[Из песочницы] Звёздная карта или как балансировать знания в команде при влиянии Soft Skill-ов Многие команды разработчиков сталкиваются с проблемой «узкого горлышка», когда слишком много вопросов, связанных с разными аспектами разработки упираются в одного, наиболее квалифицированного специалиста. Менее опытные участники команды при этом не знают, куда им расти, и в ...
TheOutloud — озвучивай и делись любимыми статьями и историями Привет всему сообществу, Habr! Уже некоторое время я являюсь вашим читателем и сегодня решил, что пришло время для моего первого поста здесь. Я давно хотел научиться программировать и последние пару месяцев проводил все свободное время, просматривая обучающие ролики на yout...
[Перевод] AlphaFold: Использование ИИ для научных открытий И снова здравствуйте! Делимся публикацией, перевод которой подготовлен специально для студентов курса «Нейронные сети на Python». Сегодня мы расскажем о первом важном событии в истории развития DeepMind, чтобы показать, как исследования с помощью искусственного интеллекта м...
Как визуализировать звук в вебе: подборка тематических материалов и видеолекций с теорией и практикой В прошлый раз мы подготовили для вас дайджест с открытыми библиотеками для визуализации аудиоконтента и решили найти материалы о том, как со всем этим работать. Получилась подборка руководств по теме для разработчиков веб-приложений или игр. Читать дальше →
[Перевод] Заложники COBOL и математика. Часть 2 Сегодня публикуем вторую часть перевода материала о математике, о COBOL, и о том, почему этот язык всё ещё жив. → Первая часть Читать дальше →
Карту «Тройка» можно будет добавить в Apple Pay Возможности Apple Pay не ограничиваются только бесконтактной оплатой покупок и денежными переводами через Apple Pay Cash. Благодаря приложению Wallet, в паре с которым работает платежный сервис, пользователи из США и некоторых других стран могут использовать цифровые версии...
От киберпанка до DevSecOps: 7 книг, ради которых DevSecOps-инженеру английский выучить всё-таки стоит Тех, кого раньше бы окрестили киберпанками, сегодня величают себя более политкорректно: DevSecOps. Помните «весь спектр радуги», из легендарного фильма «Хакеры»? 1) Зелёная (всемирная среда UNIX); 2) ярко-оранжевая (критерии защиты данных компьютера по стандартам DOD); 3) ро...
[Перевод] Глубокое обучение (Deep Learning): обзор Всем привет. Уже в этом месяце в ОТУС стартует новый курс — "Математика для Data Science". В преддверии старта данного курса традиционно делимся с вами переводом интересного материала. Аннотация. Глубокое обучение является передовой областью исследований машинного обучения ...
[Перевод] Разбираемся с интерфейсами в Go В последние несколько месяцев я проводил исследование, в котором спрашивал людей, что им трудно понять в Go. И заметил, что в ответах регулярно упоминалась концепция интерфейсов. Go был первым языком с интерфейсами, который я использовал, и я помню, что в то время эта конце...
[Перевод] 12 возможностей ES10 в 12 простых примерах Перед вами перевод статьи из блога Carlos Caballero на сайте Medium.com. Автор расскажет нам о функциях, которые появились в версии ES10 2019 года. ES10 — это версия ECMAScript, актуальная для 2019 года. Она содержит не так много нововведений, как версия ES6, выпущенная в...
СКИДКА (529р → 229р) Обзор Bendy and the Ink Machine для iPhone и iPad – оригинальный хоррор-адвенчер в стиле ретро-мультфильмов Bendy and the Ink Machine в 2017 году стал первым и пока единственным проектом инди-студии Joey Drew Studios Inc, но при этом на протяжении вот уже двух лет разработка и поддержка игры не прекращается, а поклонники непрерывно требуют выхода новых частей и глав занимательного...
Яндекс.Директ начал тестирование нового подборщика фраз В новом интерфейсе Директа появились новые инструменты формирования семантики для рекламных кампаний. Комбинирование ключевых фраз, прогноз показов по каждому ключевому слову и возможность быстро исключать нерелевантные запросы позволяет сделать работу с ...
Публикация приложения в Microsoft Store: некоторые изменения за год Вот уже год прошел с момента выхода статьи об особенностях публикации в MS Store. За прошедший год произошло много событий – GDPR, выход VS 2019 и прочие изменения. В сегодняшней небольшой статье мне бы хотелось немного рассказать о том, какие изменения произошли в особенно...
Совет директоров МТС рекомендовал промежуточные дивиденды и утвердил новую структуру руководства Совет директоров рекомендовал к утверждению на внеочередном собрании акционеров 30 сентября 2019 года промежуточные дивиденды за первое полугодие 2019 года в размере 8,68 рубля на одну обыкновенную акцию МТС (17,36 рубля на одну АДР).
FTC разъяснила, когда блогеры должны помечать контент как спонсированный Федеральная торговая комиссия США (FTC) опубликовала руководство и серию видео, в которых разъяснила, когда блогеры должны помечать контент как спонсированный, чтобы избежать нарушений законодательства. Новая инициатива регулятора призвана сократить количество обманного конт...
[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 1 Вероятно, фронтенд-разработчикам знакомо нечто подобное: вводишь в поисковике «лучшие JavaScript-фреймворки» и получаешь в ответ целую гору результатов, из которой очень непросто выбрать именно то, что нужно. Что лучше всего подходит для разработки клиентских частей веб-про...
Восемь рекомендаций для успешного управления знаниями Как давно ваша ИТ-служба пытается улучшить свои способности управления знаниями (или обмена знаниями)? Если вы уже не помните, когда это началось, возможно, пришло время обратиться за помощью? Ниже приведены восемь рекомендаций, основанных на опыте успешных ИТ-служб. Так ч...
[Перевод] Пошаговое руководство по настройке DNS-сервера BIND в chroot среде для Red Hat (RHEL / CentOS) 7 Перевод статьи подготовлен для студентов курса «Безопасность Linux». Интересно развиваться в данном направлении? Смотрите запись трансляции мастер-класса Ивана Пискунова «Безопасность в Linux в сравнении с Windows и MacOS» В этой статье я расскажу о шагах по настройке DNS-с...
Build2019, осмысляем увиденное Буквально на прошлой неделе прошла самая большая конференция Microsoft для разработчиков Build2019. Поехав туда, я преследовал 2 цели. Первая цель — понять, куда идет Microsoft с точки зрения разработки и какие технологии и подходы продвигает. Вторая цель — понять состоян...
Начинающему сисадмину: как из хаоса сделать порядок Я системный администратор FirstVDS, и это — текст первой вводной лекции из моего краткого курса помощи начинающим коллегам. Специалисты, которые недавно начали заниматься системным администрированием, сталкиваются с рядом одних и тех же проблем. Чтобы предложить решения, я...
[recovery mode] Руководство: Thymeleaf + Spring. Часть 1 Оригинал документации В этом руководстве объясняется, как Thymeleaf может быть интегрирован с Spring Framework, особенно (но не только) Spring MVC. Обратите внимание, что Thymeleaf имеет интеграции для версий 3.x и 4.x Spring Framework и выше, предоставляемые двумя отдель...
5 декабря на мобильных выйдет хоррор-головоломка Rituals: Book of Skog Студия Curioso анонсировала свой новый проект под названием Rituals: The Book of SKOG. Это мобильный хоррор, который выйдет на iOS и Android 5 декабря. Действие игры происходит в уединенной части леса, где игрокам нужно будет совершать различные ритуалы, чтобы защищать себя...
[Из песочницы] Как я Scala учил Месяца назад я получил свою первую работу и стал стажер-разработчиком, наша команда использует язык Scala. Мне кажется, все начинающие разработчики в первый день потерянные. одновременно наваливается куча новых имен, технологий, каких-то правил, да и мало ли что еще, абсолют...
Что слышно в радиоэфире? Принимаем и декодируем наиболее интересные сигналы. Часть 2, УКВ Привет Хабр. В первой части были описаны некоторые сигналы, которые можно принять на длинных и коротких волнах. Не менее интересным является диапазон УКВ, на котором тоже можно найти кое-что интересное. Как и в первой части, будут рассмотрены те сигналы, которые можно са...
Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 2) Продолжаем постигать современную магию (компьютерное зрение). Часть 2 не значит, что нужно сначала читать часть 1. Часть 2 значит, что теперь всё серьёзно — мы хотим понять всю мощь нейросетей в зрении. Детектирование, трекинг, сегментация, оценка позы, распознавание действи...
[Перевод] Кажется, эта квантовая машина противоречит стремлению Вселенной к беспорядку Один из первых квантовых симуляторов продемонстрировал загадочное явление: ряд атомов, который периодически возвращается к упорядоченному состоянию. Физики наперегонки пытаются объяснить происходящее. Тающее мороженое не подвержено спонтанному замерзанию. Однако один из кв...
[Перевод] 10 малоизвестных возможностей инструментов разработчика Chrome Автор заметки, перевод которой мы публикуем, пользуется инструментами разработчика Chrome почти каждый день. Здесь он хочет рассказать о малоизвестных возможностях этих инструментов. Он говорит, что если бы знал о них раньше, то ему они точно бы пригодились. Читать дальше ...
[Перевод] ИИ в 2019 году: текущее положение вещей Этот перевод — часть статьи The Real-World AI issue. Общеизвестный факт — если вы станете повторять любое слово много раз, то в итоге оно потеряет всякое значение, превратится в фонетическое ничто. Это причина того, почему для многих из нас термин «искусственный интеллект...
[Перевод] Недоступная роскошь от Intel: Core i9-9990XE с 14 ядрами на частоте 5,0 ГГц (2 часть) Недоступная роскошь от Intel: Core i9-9990XE с 14 ядрами на частоте 5,0 ГГц (1 часть) Системные тесты В разделе «Системные тесты» основное внимание уделяется тестированию в реальных условиях, с которыми сталкивается потребитель, с небольшим уклоном в пропускную способность....
Borderlands 3 — первый геймплей трейлер Студия Gearbox наконец-то опубликовала «живые» кадры игры Borderlands 3. Разработчики не балуют публику информацией о проекте, но уже ясно, что в третьей части нас ждут знакомые персонажи, атмосфера, боевая механика и прочие принципы, с которыми приходилось сталкиваться в B...
Методика D.I.Y. проекта. Часть вводная Данная статья написана радиолюбителем, имеющим опыт руководства проектами по разработке и постановке на производство сложной радиоэлектронной аппаратуры. Цель данной статьи: помочь энтузиастам в организации их проектной деятельности, а также обозначить различия в подходах ...
Миграция Cassandra в Kubernetes: особенности и решения С базой данных Apache Cassandra и необходимостью её эксплуатации в рамках инфраструктуры на базе Kubernetes мы сталкиваемся регулярно. В этом материале поделимся своим видением необходимых шагов, критериев и существующих решений (включая обзор операторов) для миграции Cass...
YouTube займется производством интерактивных шоу Видеохостинг YouTube начинает разработку формата интерактивных шоу, где у пользователя будет возможность влиять на сюжет. Как сообщают представители сервиса, уже очень скоро YouTube представит широкому зрителю первый проект такого формата. Новое подразделение, ориентир...
[Перевод] Внутренности JVM, Часть 1 — Загрузчик классов Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В этой серии статей я расскажу о том, как работает Java Virtual Machine. Сегодня мы рассмотрим механизм загрузки классов в JVM. Читать дальше →
Отличный сайт для программистов Многие начинающие программисты и специалисты с небольшим опытом работы периодически нуждаются в профессиональных советах или рекомендациях. Так или иначе, а за советом люди отправляются во всемирную паутину интернет сети. Можно длительно перебирать ресурсы и находить минимал...
[Из песочницы] Управление светом на ZigBee Привет друзья! Сегодня хочу рассказать Вам об одной интересной разработке системы дистанционного управления освещением. Современный дом представляет из себя огромное количество проводов чтобы хоть как то уменьшить и упорядочить их количество на помощь приходит радио. В ...
Алгоритм взаимодействия сотен тысяч уникальных частиц на GPU, в GLES3 и WebGL2 Описание алгоритма логики, и разбор рабочего примера в виде техно-демки-игры WebGL2 версия этой демки https://danilw.itch.io/flat-maze-web остальные ссылки смотрите в статье. Статья разбита на две части, сначала про логику, и вторая часть про применение в игре, первая часть...
Немного о простом. Тест-дизайн. Часть 1 Сегодня тестирование ПО, один из ключевых процессов создания продукта. Неважно, какую Вы используете методологию, подход, процесс, тестирование ПО так или иначе всегда существует в Вашем процессе. В последние годы (да даже наверное десятилетие) тестирование ПО сформировалось...
С сожалением об отсутствии в C++ полноценного static if или… … как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона? Когда-то, уже довольно давно, язык D начали делать как "правильный C++" с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выразительным языком, чем C...
Началась регистрация на II IT-конференцию для начинающих разработчиков SMARTRHINO-2019 Мы начинаем регистрацию на конференцию SMARTRHINO-2019! Конференция пройдет 18 апреля в Москве в гостиничном комплексе Измайлово. В этом году мы решили не ограничиваться студенческой аудиторией МГТУ им.Баумана, и дать возможность принять участие и другим начинающим специал...
[Перевод] Мертв ли Hadoop? Часть 2 Перевод статьи подготовлен специально для студентов курса «Data Engineer». Читать первую часть Никому не нужна Big Data Когда вы услышите «Никому не нужна Big Data», посмотрите на резюме докладчика. Африканский телекоммуникационный оператор, переживающий удивительные уро...
Microsoft запретила своим сотрудникам шутить на первое апреля Руководство Microsoft настоятельно попросило всех своих сотрудников не принимать участие в первоапрельских розыгрышах, а также воздержаться от любых шуток на публике. Об этом стало известно из внутренней записки, оказавшейся в распоряжении издания The Verge, подписанной глав...
Chrome для Android скоро получит ночной режим Различные источники подтверждают, что компания Google в данный момент трудится над добавлением ночного режима в браузер Chrome для мобильных устройств, которые работают под управлением операционной системы Android. Это часть устоявшейся тенденции, в рамках которой разра...
К чему приложить прикладного лингвиста? “Что за дело? Это многих славных путь.” Н.А. Некрасов Всем привет! Меня зовут Карина, и я “совместитель” — совмещаю учёбу в магистратуре и работу технического писателя в Veeam Software. О том, как у меня это вышло, я и хочу рассказать. Заодно кто-то узнает, как можно прийти...
ТЦ «Восток» в Новосибирске необоснованно проверяют по указке «доброжелателя» «Российская газета» пишет о том, что новосибирскому ТЦ «Восток» в прошлом году грозило закрытие. Это было связано с участившимися проверками со стороны регионального ГУ МЧС. Руководству объекта было предписано устранить ряд нарушений противопожарной безопасности. В част...
[Перевод] Подготовка приложения для Istio Istio — это удобный инструмент для соединения, защиты и мониторинга распределенных приложений. В Istio используются разные технологии для масштабного запуска ПО и управления им, включая контейнеры для упаковки кода приложения и зависимостей для развертывания и Kubernetes — ...
5 лайфхаков оптимизации SQL-запросов в Greenplum Любые процессы, связанные с базой, рано или поздно сталкиваются с проблемами производительности запросов к этой базе. Хранилище данных Ростелекома построено на Greenplum, большая часть вычислений (transform) производится sql-запросами, которые запускает (либо генерирует и...
Apple пропатчила iTunes и iCloud для Windows Компания Apple выпустила обновления для iTunes и iCloud, работающих на платформе Windows. В компонентах SQLite и WebKit закрыто 25 уязвимостей, грозящих выполнением произвольного кода, повышением привилегий или раскрытием конфиденциальной информации. В SQLite исправили 4 баг...
Xiaomi выступила в защиту DxOMark. Компания считает, что подобные тесты камер смартфонов очень важны Да кому нужен этот DxOMark. Oppo против тестирования камер смартфонов по одному шаблону За последние несколько лет мы уже привыкли к тому, что камеры смартфонов сравнивают между собой по результатам тестов, которые проводят специалисты лаборатории DxOMark. На результат...
Продвинутый Three.js: шейдерные материалы и постобработка В сети довольно много введений в основы работы с Three.js, но можно заметить нехватку материалов по более продвинутым темам. И одна из этих тем – это объединение шейдеров и сцены с трехмерными моделями. В глазах многих начинающих разработчиков это как будто несовместимые ве...
«Википедия» договорилась с Google об использовании переводчика Google Translate Цель «Википедии» – сделать знания доступными для всех без исключений, однако усилия создателей онлайн-энциклопедии в первую очередь направлены на англоязычных пользователей. Чтобы исправить этот недостаток, организация Wikimedia Foundation объявила о сотрудничестве с Google,...
Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 2 Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 2. Начало работы Как и планировалось, в этой части рассмотрим более подробно особенности программирования с использованием библиотеки NanoRTOS. Те, кто начал чтение с этого поста, могут ознакомиться с о...
[Перевод] Управление памятью в Python Задумывались ли вы когда-нибудь о том, как данные, с которыми вы работаете, выглядят в недрах Python? О том, как переменные создаются и хранятся в памяти? О том, как и когда они удаляются? Материал, перевод которого мы публикуем, посвящён исследованиям глубин Python, в ходе ...
По следам калькуляторов: Qalculate Ранее мы делали обзоры кода крупных математических пакетов, например, Scilab и Octave, а калькуляторы оставались в стороне как небольшие утилиты, в которых сложно допустить ошибки из-за их малого объёма кода. Мы ошиблись, не уделив им внимания. Случай с публикацией исходног...
[Перевод] Интерфейс и выбор (2014) Joe Edelman Аннотация Теории выбора из экономики и философии предлагают информационные требования для правильного выбора (requirements for good choices). Принимая во внимание эти требования, мы можем понять, почему современные меню ведут к прискорбному и изолированному вы...
Решение о дате проведения торжественной линейки в столице РФ будет приниматься руководством школ По словам руководителя московского Департамента образования и науки Исаака Калины, в текущем году День знаний (1 сентября) попал на воскресенье и будет проведен в рамках международного форума «Город образования» на ВДНХ. На нем будет проведена торжественная линейка для ...
Обзор и тест материнской платы MSI MEG Z390 Godlike: флагман для Coffee Lake Refresh У каждого уважающего себя производителя есть линейка моделей, особенностью которой является использование передовых наработок инженеров компании. И герой обзора относится именно к таким решениям. Это не просто слова. Новинка, предназначенная для процессоров Intel поколения C...
Что в черном ящике. Обзор методов тестирования биллинга Проверка платных сервисов — один из ключевых инженерных вопросов в тестировании Badoo. Наше приложение интегрировано с 70 платёжными провайдерами в 250 странах мира, и баг хотя бы в одном из них может привести к непредсказуемым последствиям. В этой статье я расскажу о мето...
Почему аэрофотосъёмка в Google Maps называется «Спутник» Вчера сооснователь Google Maps и нынешний президент Salesforce Брет Тейлор рассказал в твиттере очень интересную историю, которая произошла в 2005 году, вскоре после запуска картографического сервиса. Here’s a silly Google Maps origin story about how “Satellite” was almost ...
[Перевод] PSR-14 — главное событие в PHP В прошлом году PHP-FIG — Группа концепций совместимости PHP, выпустила несколько новых спецификаций. Последняя из них — PSR-14, посвящена диспетчеризации событий. Как и другие PSR, это локальная спецификация, но имеет большое влияние на многие аспекты стандартизации. От пер...
Критики назвали нового "Терминатора" идеальным продолжением второй части В сети появились первые отзывы о новом “Терминаторе: Темные Судьбы” после официального пресс-показа фильма. Судя по словам кинокритиков, третья каноничная часть франшизы многих смогла приятно удивить.
Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK). Enterprise Tactics. Часть 10 Эксфильтрация или утечка данных (Exfiltration) Ссылки на все части: Часть 1. Получение первоначального доступа (Initial Access) Часть 2. Выполнение (Execution) Часть 3. Закрепление (Persistence) Часть 4. Повышение привилегий (Privilege Escalation) Часть 5. Обход защиты (Defe...
Из Groovy ушёл Cédric Champeau В проекте Apache Groovy перестаёт участвовать один из ключевых участников сообщества, само имя которого у многих ассоциировалось с этим языком. Уходит Седрик Шампо, известный в первую очередь как автор статического компилятора Groovy. Если рассмотреть причины ухода в том ...
МТС утвердил новую структуру руководства Совет директоров рекомендовал к утверждению на внеочередном собрании акционеров 30 сентября 2019 года промежуточные дивиденды за первое полугодие 2019 года в размере 8,68 рубля на одну обыкновенную акцию МТС и утвердил новую организационную структуру Группы МТС.
[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов. Часть 2 Это вторая часть статьи о создании инструмента, способного экспортировать все помещённые в Sketch-файл иконки: в разных форматах, для разных платформ, с возможностью A/B-тестирования каждой из иконок. Первую часть вы можете прочесть по ссылке. В прошлый раз мы подготов...
Обзор DJI Mavic 2 Pro. Лучший квадракоптер 2019 года? Первое поколение квадрокоптера DJI Mavic Pro мы активно эксплуатировали в течение года. Эта модель в момент своего выхода изменила рынок квадрокоптеров, сделав аэросъемку доступной для массового пользователя. Позже компания с выходом второго поколения разделила его на две ве...
В Сети появился первый кадр со съёмок фильма «Малефисента-2» Поклонники фильма про злую волшебницу получили возможность увидеть одного из ключевых персонажей второй части «Малефисенты». 60-летняя актриса Мишель Пфайффер в личном профиле в социальной сети Instagram опубликовала первый кадр со съёмок фильма «Малефисента-2», который сра...
[Из песочницы] Согласие на обработку данных по GDPR: подробный разбор GDPR (или «Регламент») содержит несколько оснований для обработки персональных данных. Эти основания можно условно разделить на две большие группы. Это обработка на основании личного согласия носителя (владельца) персональных данных, и обработка на иных основаниях. В данно...
Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года. Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “д...
[Из песочницы] Темы, стили и другие Практически все разработчики знают, что в андроиде есть Темы, но применение их обычно ограничивается копированием кусков xml из Stack Overflow или других ресурсов. В интернете есть информация по темам, но это обычно просто рецепт, как добиться определенного результата. В э...
[Перевод] Изучаем Docker, часть 3: файлы Dockerfile В переводе третьей части серии материалов, посвящённых Docker, мы продолжим вдохновляться выпечкой, а именно — бубликами. Нашей сегодняшней основной темой будет работа с файлами Dockerfile. Мы разберём инструкции, которые используются в этих файлах. Бублики — это инструкци...
[Из песочницы] Workflow одного спринта agile команды разработки Не буду претендовать на свежесть или уникальность, хотелось рассказать своими словами простой материал со стороны описания пользы понятий и действий. Бездумный карго-культ, который насаживают сверху редко приносит 100% пользу. Возможно многие, кто пришел в IT сам, а не в ст...
Сбалансированные двоичные деревья поиска: реализация на Julia Иллюстрация из работы Г.М. Адельсон-Вельского и Е.М. Ландиса 1962 года Деревья поиска — это структуры данных для упорядоченного хранения и простого поиска элементов. Широко применяются двоичные деревья поиска, в которых у каждого узла есть только два потомка. В этой статье ...
[Перевод] 7 привычек высокоэффективных программистов Начинающие программисты тратят много времени, набирая знания, необходимые для прохождения интервью. Они решают задачи и улучшают свои резюме. Но самое интересное начинается после того, как программист получает вожделенную должность — в каком-нибудь стартапе, в Google, в Amaz...
Mindtech: разработаны генератор синтетических данных и пакет ИИ-инструментов Chameleon Британский стартап Mindtech Global Ltd представил продукт Mindtech Chameleon Simulator, ориентированный на создание массивов синтетических визуальных данных для обучения нейронных сетей, и пакет ИИ-инструментов Mindtech Chameleon, предоставляющий полный с...
[Из песочницы] Модели в информационной безопасности Добрый день, Хабровчане! 1. Вместо вступления Недавно опубликованный перевод Ментальные модели ИБ заинтересовал меня не только общим посылом (в частности, применение моделей в обучении – острый для меня вопрос, ведь учёба – процесс непрерывный), но и списком ссылок на модел...
Как создать загрузочную флешку с windows 7: простое руководство Современные ПК оснащаются лишь операционной системой Windows 10. Она имеет лучшую защищенность и регулярно обновляется. Но для старых компьютеров она не подходит. Мы расскажем, как сделать загрузочную установочную флешку с Windows 7.
Apple подвергла риску участников программы «Снято на iPhone» Высокие стандарты безопасности, которыми так гордятся в Apple, иногда могут давать сбой. Как выяснил 9To5Mac, компания непреднамеренно подвергла данные пользователей риску раскрытия посторонними лицами. Это произошло при сборе информации об участниках программы «Снято на iP...
SK Hynix обещает PC5 DDR5 к 2020 году По словам сотрудника исследовательского отдела SK Hynix Ким Донг-Кьюна (Kim Dong-Kyun), стандарт новой памяти PC5 DDR5 может появиться на рынке к 2020 году. Первым таким стандартом памяти будет DDR5-5200, который предлагает почти вдвое большую пропускную способность, чем DDR...
Безопасная передача данных между двумя приложениями Всем привет, сегодня я хотел бы вам рассказать о некоторых вариантах передачи данных между двумя андроид приложениями и рассмотреть их с точки зрения безопасности. Я решил написать эту статью по двум причинам. Первая — я начал часто сталкиваться с непониманием разработчиков ...
«33 слова о дизайне»: кто и зачем снимает кино о дизайне в России Школа дизайна Bang Bang Education начала сбор средств на фильм-исследование «33 слова о дизайне», который будет посвящен современному дизайну в России. В нем каждый из 33 героев за две минуты попытается ответить на вопрос, что такое русская культура и эстетика. Основную сумм...
Пробую .NET Core + Kubernetes + appmetrics + prometheus + grafana + jobs + health checks Краткое знакомство с kubernetes для разработчиков на примере разворачивания простого шаблонного сайта, с постановкой его на мониторинг, выполнением джобов по расписанию и health checks (все исходники прилагаются) — Установка Kubernetes — Установка UI — Запуск своего прил...
Как запретить стандартные пароли и заставить всех тебя ненавидеть Человек, как известно, существо ленивое. А тем более, когда касается вопроса выбора устойчивого пароля. Думаю, каждый из администраторов когда-либо сталкивался с проблемой использования легких и стандартных паролей. Такое явление часто встречается среди верхних эшелонов ру...
[Из песочницы] Правила игры на современном крипторынке В настоящей публикации я постараюсь развеять все мифы, которыми нас так настойчиво пичкает криптомир. Поверьте, после прочтения этой небольшой заметки вы существенно измените свою точку зрения, поскольку многие вопросы становятся видны только при возможности посвятить больш...
NB-IoT, Narrow Band Internet of Things. Общая информация, особенности технологии Добрый день всем! Здесь описывается NB-IoT с точки зрения оконечных устройств и простых пользователей. Так как информации много, то разобью её на несколько частей. В этой части обсудим общую информацию, особенности технологии NB-IoT и состояние на начало 2019 г. Читать даль...
Разработка электроники. О микроконтроллерах на пальцах Задумывая технологический стартап, вы совсем не обязаны быть асом в электронике, гораздо больше шансов на хорошую идею имеет узкий специалист со знанием основ маркетинга, но, даже заказывая кому-то разработку, ориентироваться в возможностях современной элементной базы и пр...
Илон Маск согласился не раскрывать в соцсетях планы и показатели Tesla без одобрения юриста Ранее регулятор требовал отстранить Маска от руководства компанией после того, как тот пообещал в Twitter сделать Tesla частной.
[Перевод] Ричард Хэмминг: Глава 13. Теория информации Мы это сделали! «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2588 в закладки, 429k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) ес...
[Из песочницы] Vue.js render-функции и переходы (перевод статьи Hajime Yamasaki Vukelic) Здравствуй, Хабр! Начать свою деятельность решил с перевода на русский статей, который мне самому принесли большую пользу. Надеюсь, вам пригодятся. Отмечу, что я старался переводить литературно, а не дословно. Первым вашему вниманию представляю перевод статьи «Vue.js rende...
Apache Ignite Zero Deployment: точно Zero? Мы — отдел развития технологий розничной сети. Однажды руководство поставило задачу ускорить объемные вычисления за счет использования Apache Ignite в связке с MSSQL, показало сайт с прекрасными иллюстрациями и примерами Java-кода. На сайте сразу понравился Zero Deployment,...
Самый известный фирменный магазин Apple кишит клопами По сообщению New York Post, круглосуточный магазин Apple на Пятой авеню в Нью-Йорке, который считается самым известным фирменным магазином компании, захватили постельные клопы. Первый паразит был замечен в футуристической торговой точке в форме стеклянного куба несколь...
Создание своего jsfiddle, часть 2 Привет всем читателем Habr. В данной статье мы будем продолжать писать свой онлайн редактор кода. В этой статье мы сделаем функцию сохранения кода в localStorage и по обновлению страницы этот код будет вставляться в эти 3 поля, а также сделаем функцию скачивания этого кода...
[Перевод] ServiceLoader: встроенный DI-фреймворк, о котором вы, возможно, никогда не слышали Салют, друзья. Уже в эту пятницу пройдет первое занятие в новой группе курса «Разработчик Java». Именно этому курсу и будет посвящена текущая публикация. Многие из java-разработчиков для внедрения зависимостей используют Spring. Некоторые, возможно, пробовали Google Guice...
Быт и нравы фантазёров В конце статьи есть краткое содержание. В работе с изменениями, чего бы конкретно они не касались – будь то стратегия развития компании, системы мотивации, орг.структура или правила оформления кода – всегда есть одно ключевое звено: идеи. Идеи отвечают на вопрос «а чего, со...
Упорядочить хаос Как показывает практика, огромная часть проблем возникает не из-за решений самих по себе, а из-за того каким образом происходит общение между компонентами системы. Если в коммуникации между компонентами системы бардак, то, как не старайся хорошо писать отдельные компоненты, ...
Дайджест IT-событий сентября (часть вторая) Сентябрь продолжается на волне энтузиазма после Дня знаний. Во второй половине месяца нас ожидает целая россыпь разномасташтабных мероприятий, посвященных конкретным языкам, фреймворкам и платформам, баланс мобильной и веб-разработки, а также неожиданно пристальное внимани...
ICANN хочет видеть больше женщин в руководстве Председатель Совета директоров ICANN Черин Чалаби в своём письме Комиссии по назначению кандидатур ICANN (Nominating Committee) обратился с просьбой выдвигать больше женщин на ключевые посты в организации.Nominating Committee занимается поиском сотрудников, подходящих для ра...
Математическая модель радиотелескопа со сверхдлинной базой Введение Одним из первых радиотелескоп построил американец Грот Рёбер в 1937 году. Радиотелескоп представлял собой жестяное зеркало диаметром 9.5 м, установленное на деревянной раме: К 1944 году Рёбер составил первую карту распределения космических радиоволн в области Мл...
[Из песочницы] Мультифункциональный фиттинг экспериментальных данных Введение Очень часто, как и в точных науках (физика, химия), так и в прочих областях (экономика, социология, маркетинг и пр.) при работе с разного рода экспериментально полученными зависимостями одной величины (Y) от другой (X) возникает потребность описать полученные данные...
[Перевод] Путь к проверке типов 4 миллионов строк Python-кода. Часть 2 Сегодня публикуем вторую часть перевода материала о том, как в Dropbox организовывали контроль типов нескольких миллионов строк Python-кода. → Читать первую часть Читать дальше →
[Из песочницы] Как сделать легконастраиваемое кеширование в проекте и спасти коллег от написания однотипного кода «Если суть работы программиста в автоматизации работы других людей, то почему моя работа так мало автоматизирована» — думал я, копируя в очередной раз всю необходимую в проекте обвязку для добавления новой сущности в БД. И решил избавиться от этой рутины по добавлению шаблон...
Простейшее профилирование памяти на STM32 и других микроконтроллерах «С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее» — Jack Ganssle, «The Art of Designing Embedded Systems» Привет, Хабр! Как ни странно, но в абсолютном большинстве виденных мной «учебников дл...