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

[Перевод] 3D-интерфейсы обычно хуже, чем 2D-интерфейсы Автор статьи — Джон Кармак, инженер в областях информатики, аэрокосмической техники и виртуальной реальности, соучредитель и совладелец id Software. С августа 2013 года — технический директор Oculus VR. Эту заметку я разослал сотрудникам в 2017 году, но моя позиция только...

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

[Из песочницы] Абстрактная фабрика на пальцах Написать данную статью меня заставили две причины. Совсем недавно я познакомился с паттерном Абстрактная фабрика. Как говорится – «Не умеешь сам, научи товарища». Известно, что один из лучших способов закрепления материала – это объяснение кому-либо ранее изученного. Вторая ...

Тяжёлое бремя времени. Доклад Яндекса о типичных ошибках в работе со временем В коде самых разных проектов нередко приходится оперировать временем — например, чтобы завязать логику работы приложения на текущее время у пользователя. Старший разработчик интерфейсов Виктор Хомяков описал типичные ошибки, которые встречались ему в проектах на языках Java,...

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

Идиоматичное программирование GPU на Rust: Библиотека Emu Введение Emu — это высокоуровневый язык программирования видеокарт, способный встраиваться в обычный код на системном языке программирования Rust. В данной статье речь пойдёт о синтаксисе Emu, его особенностях, а также будут показаны несколько наглядных примеров его использ...

[Из песочницы] 10 самых распространенных ошибок Spring Framework Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Most Common Spring Framework Mistakes» автора Toni Kukurin. Spring, вероятно, один из самых популярных Java-фреймворков, а также могучий зверь для укрощения. Хотя его базовые концепции довольно легко понять, д...

[Перевод] Cтажировка в Haxe Foundation Представляю вам перевод еще одного доклада с HaxeUp Sessions 2019 Linz, считаю что он хорошо дополняет предыдущий, т.к. продолжает тему изменений в Haxe, произошедших в 2019 году, а также немного рассказывает о его будущем. Немного об авторе доклада: Аурел Били познакомился ...

[Из песочницы] Три Больших Лжи о JavaScript Привет, Хабр! Представляю вашему вниманию мой перевод статьи "The Three Big Lies About JavaScript" автора Richard Kenneth. Данная статья была написана в мае 2016 года, однако ее актуальность, на мой взгляд, не исчезла. Я начинающий программист, поэтому возможны оши...

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

Ana The Game — новый триллер, действие которого происходит... на экране смартфона Игры-приключения, интерфейс которых имитирует ОС реального смартфона, это уже не новость. Но каждый такой проект старается удивлять чем-то новым. Действие Ana The Game происходит в Париже, вокруг девушки по имени Ана. Разработчики не сообщают в подробностях, чего стоит ждат...

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

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

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

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

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

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

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

[recovery mode] QtCreator и его использование в качестве IDE для Rust В общем попросил я у коллеги маленький гайд по тому как настроить QtCreator в качестве IDE для Rust и с его разрешения выкладываю. Сам Я использую CLion и позже напишу о том как с ним дела обстоят на этом поприще. Мопед не мой. Я просто разместил объяву. (с) Что нужно совре...

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

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

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

Две стороны WebView: о быстром запуске проектов и краже персональных данных Привет, Хабр! Меня зовут Евгений, я Full Stack JS разработчик, текущий стек Node.js + React + React Native. В разработке я более 10 лет. В мобильной разработке пробовал разные инструменты от Cordova до React Native. Получив опыт работы с Cardova, я понял, что мне хотелось ...

Новое приложение из App Store позволяет управлять iPhone взглядом Управлять iPhone можно не только руками Вы когда-нибудь слышали мнение о том, что всё новое – это хорошо забытое старое? Так вот я его терпеть не могу, особенно, когда кто-то пытается убедить меня в обратном, проводя параллели с различными фактами из истории. В таких случаях...

[Перевод] Анонс веб-интерфейса Kubernetes Web View (и краткий обзор других web UI для Kubernetes) Прим. перев.: Автор оригинального материала — Henning Jacobs из компании Zalando. Он создал новый веб-интерфейс для работы с Kubernetes, который позиционируется как «kubectl для веба». Почему новый Open Source-проект появился и каким критериям не удовлетворили уже существующ...

Возможности языка Q и KDB+ на примере сервиса реального времени О том, что такое база KDB+, язык программирования Q, какие у них есть сильные и слабые стороны, можно прочитать в моей предыдущей статье и кратко во введении. В статье же мы реализуем на Q сервис, который будет обрабатывать входящий поток данных и высчитывать поминутно разли...

[Из песочницы] Зачем нужны ranges из C++20 в простой числодробилке? В последнее время интервалы (ranges), которые должны войти в стандарт C++20, довольно много обсуждают, в том числе и на Хабре (пример, где много примеров). Критики интервалов хватает, поговаривают, что они слишком абстрактны и нужны только для очень абстрактного кода читаем...

[Перевод] Disposable ref structs в C# 8.0 Давайте посмотрим, что об этом сказано в блоге о предстоящих изменениях в С# 8.0 (версия Visual Studio 2019 Preview 2): «stack-only структуры появились в С# 7.2. Они чрезвычайно полезны, но при этом их использование тесно связано с ограничениями, например невозможностью реа...

Дизайн интерфейсов встраиваемых систем Осциллографы Встраиваемые и промышленные системы — моя любимая тема в разработке дизайна. Когда делаешь интерфейс ПО какого-нибудь лазера или яхты — это чистый кайф и творчество. На прошлой неделе я посетил выставки expoelectronica и embeddedday именно как UI разработчик. Ц...

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

[Из песочницы] Длинные имена слишком длинные Привет, Хабр! Представляю вашему вниманию перевод статьи "Long Names Are Long" автора Bob Nystrom. Одно из умных вещей которые делает Google это строгие code review. Каждое изменение, прежде чем вам разрешат его внести в основную ветку, рассматривается как минимум ...

[Перевод] Proposal: try — встроенная функция проверки ошибок Краткое содержание Предлагается новая конструкция try, созданная специально для устранения if-выражений, обычно связанных с обработкой ошибок в Go. Это единственное изменение языка. Авторы поддерживают использование defer и стандартных библиотечных функций для обогащения или...

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

Поваренная книга разработчика: DDD-рецепты (5-я часть, Процессы) Введение В рамках предыдущих статей мы описали: область применения, методологические основы, пример архитектуры и структуры. В данной статье, я хотел бы рассказать как описывать процессы, о принципах сбора требований, чем отличаются бизнес требования от функциональных, как п...

[Перевод] Разбор: как на самом деле правильно использовать Present Perfect в английском Из всех используемых в английском языке времен, именно Present perfect зачастую оказывается одним из самых трудных для понимания не-носителями. Аналоги этого времени существуют во множестве языков, но в использовании есть едва уловимые отличия. В итоге английская версия pr...

[Из песочницы] Синтаксический разбор предложения на русском языке В данной статье описывается процесс синтаксического анализа предложения русского языка с использованием контекстно-свободной грамматики и алгоритма LR-анализа. Обработка естественного языка — общее направление искусственного интеллекта и математической лингвистики. Оно изуч...

[Перевод] Работа с ошибками в Go 1.13 В последнее десятилетие мы успешно пользовались тем, что Go обрабатывает ошибки как значения. Хотя в стандартной библиотеке была минимальная поддержка ошибок: лишь функции errors.New и fmt.Errorf, которые генерируют ошибку, содержащую только сообщение — встроенный интерфейс...

Близкие контакты ADL-ной степени Как навсегда вписать своё имя в историю? Первыми слетать на Луну? Первым встретиться с инопланетным разумом? У нас есть способ проще — можно вписать себя в стандарт языка C++. Хороший пример показывает Эрик Ниблер — автор C++ Ranges. «Запомните это. 19 февраля 2019 года — д...

Обзор Somos: годная абстрактная аркада на телефоны [Android и iPhone] Образец абстракции в мобильных играх, и без того по большей части имеющих мало связи с реальностью. Somos берет концепцию абстрактности и поднимает ее на новую высоту, оставаясь при этом аддиктивной и динамичной аркадой, идеально приспособленной для корот

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

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

Профессиональный Postgres Мы продолжаем публиковать видео и расшифровки лучших докладов с конференции PGConf.Russia 2019. Доклад Олега Бартунова на тему «Профессиональный Postgres» открывал пленарную часть конференции. В нем раскрыта история СУБД Postgres, российский вклад в разработку, особенности а...

С сожалением об отсутствии в C++ полноценного static if или… … как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона? Когда-то, уже довольно давно, язык D начали делать как "правильный C++" с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выразительным языком, чем C...

[Перевод] Visual Studio for Mac: 5 новых крутых функций За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 м...

Какие приложения установлены на моём смартфоне Данная тема довольно популярна в сети Интернет, поэтому написать материал о приложениях, которые установлены на моём смартфоне, был просто обязан. Скажу сразу, в игры не играю, поэтому из установленных только PUBG. Для многих смартфон – это просто средство для совершения зв...

[Перевод - recovery mode ] Типичные ошибки при логгировании Привет, Хабр! Я думаю, практически в каждой программе есть логгирование. Более того, в ряде уже неновых приложений (а значит с морем нетривиальных условий) зачастую логи становятся жизненно важными на боевом сервере. Однако, несмотря на всю важность и распространенность подо...

Взаимодействие R с базами данных на примере Microsoft SQL Server и других СУБД Поскольку львиная доля бизнес информации храниться в базах данных. На каком бы языке программирования вы не писали, вам придётся производить различные действия с ними. В этой статье я расскажу о двух интерфейса для работы с базами данных в R. Большая часть примеров демонстри...

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

К вопросу о буферах (кольцевых) «Если затраты на разработку архитектуры кажутся Вам чрезмерными, подумайте, во сколько Вам может обойтись неправильная архитектура» — не могу точно вспомнить источник Когда то, «давным-давно, в одной далекой галактике», я приобрел замечательную книгу Чарльза Уэзерелла «Эт...

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

Управление параметрами в бизнес-приложениях по аналогии с системой контроля версий В различных приложениях регулярно возникает задача по поддержке логики изменения во времени некоторого атрибута объекта относительно некоторого субъекта (или субъектов). Например, это может быть изменение розничной цены товара в магазинах или показателей KPI для сотруднико...

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

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

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

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

Слёрм Пром: первый курс по Prometheus на русском языке и его автор Владимир Гурьянов В курсах Слёрм Kubernetes постепенно остается один Kubernetes. Смежные темы постепенно переходят в отдельные курсы. Первыми были Docker, Ansible, Ceph. Двухчасовые лекции по ним сначала превратались в цикл вебинаров, а потом — в онлайн-курсы. Пришел черед мониторинга. Тема «...

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

[Перевод] Axios или Fetch: чем пользоваться в 2019 году? Axios — это широко известная JavaScript-библиотека. Она представляет собой HTTP-клиент, основанный на промисах и предназначенный для браузеров и для Node.js. Если вы работали в последние несколько лет JavaScript-программистом, то вы, совершенно определённо, этой библиотекой ...

Написание UDR на языке Pascal В Firebird уже достаточно давно существует возможность расширения возможностей языка PSQL с помощью написания внешних функций — UDF (User Defined Functions). UDF можно писать практически на любом компилируемом языке программирования. В Firebird 3.0 была введена плагинная арх...

[Из песочницы] Как не понимать принципы развития архитектуры SOLID Есть проблема с описанием и толкованием принципов развития архитектуры SOLID (авторства Роберта Мартина). Во многих источниках дается их определение и даже примеры их использования. Изучая их и пробуя использованием примерить на себя, стабильно ловил себя на мысли, что не хв...

[Перевод] Разбираем Async/Await в JavaScript на примерах Автор статьи разбирает на примерах Async/Await в JavaScript. В целом, Async/Await — удобный способ написания асинхронного кода. До появления этой возможности подобный код писали с использованием коллбэков и промисов. Автор оригинальной статьи раскрывает преимущества Async...

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

Анемичная и «Богатая» модель в контексте GRASP шаблонов В недавнем выпуске подкаста DotNet&More мы обсуждали с Максимом Аршиновым его предстоящий доклад на Московский .Next "Блеск и нищета предметной модели". С позицией Максима можно будет легко познакомиться непосредственно на конференции. И, в качестве дополнения, я бы хоте...

[Из песочницы] Пишем «Hello, world!» приложение для web на Haskell (Spock) Мне стало скучно писать на Python, захотелось чего-нибудь необычного. Решил попробовать Haskell. Языка я не знаю, однако просто писать консольные учебные программы, типа вычисления факториала, не хотелось. После изучения довольно большого числа постов про Haskell и его приме...

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

[Из песочницы] Как мы обошли Review Guidelines и запустили сервер на телефоне Привет, Хабр. Меня зовут Антон Логинов, я iOS-разработчик в компании FINCH. Недавно мы столкнулись с проблемой использования web-интерфейсов для азартных игр. В очередном обновлении AppStore Review Guidelines коллеги из Купертино опять ужесточили правила. Если конкретнее, ...

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

[Перевод] Тесты или типы Привет, Хабр. На днях я искал, как сделать что-то в Idris, и наткнулся на неплохой пост, вольный перевод которого выглядит вполне уместным. Вольности и отсебятину, где необходимо, я буду обозначать ⟦вот такими закорючками в начале и в конце⟧. Когда стоит использовать тесты, ...

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

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

Ночная тема из Android Q будет работать в сторонних приложениях Темная тема, которая появится в Android Q, сможет менять цветовую схему не только системных элементов операционки, но и сторонних приложений. Такое заявление сделали разработчики из команды XDA, ссылаясь на эксклюзивные скриншоты будущего обновления. Это нововведение сможет...

SVG в реальной жизни. Доклад Яндекса Привет, меня зовут Артём, я руководитель одной из групп разработки интерфейсов в Яндексе. Неделю назад на Я.Субботнике я рассказал, как мы использовали SVG для создания внутреннего календаря. Это расшифровка моего доклада, несколько историй из реализации виджета календаря: м...

Критика протокола и оргподходов Telegram. Часть 1, техническая: опыт написания клиента с нуля — TL, MT В последнее время на Хабре стали чаще появляться посты о том, как хорош Telegram, как гениальны и опытны братья Дуровы в построении сетевых систем, и т.п. В то же время, очень мало кто действительно погружался в техническое устройство — как максимум, используют достаточно пр...

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

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 42. Маршрутизация Inter-VLAN и интерфейс SVI Сегодня мы рассмотрим маршрутизацию Inter-VLAN и виртуальный интерфейс свитча SVI. Мы уже знакомились с этими темами в курсе ICND1 и сейчас займемся ими более углубленно. Эти темы упоминаются в разделе 2.0 «Технологии маршрутизации» курса ICND2, подразделы 2.1а и 2.1b. Снача...

Теперь Google Ассистент поможет всем говорить на одном языке Компания Google продолжает постоянно совершенствовать свои сервисы, программы и устройства. Так, недавно мы рассказывали про глобально обновленный переводчика от поискового гиганта, о чем можно прочитать здесь. А чуть больше месяца назад Google анонсировала новую возможност...

[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...

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

Introscope: ну очень ленивое unit-тестирование Мы на работе пишем много часто меняющейся бизнес-логики на JS (стартап же). Даже слишком много. И всё это хочется по старой привычке тестировать, но как-нибудь побыстрее, чтобы тесты особо не мешали говнокодить, когда это нужно, и не подгонять под тесты особенно сильно струк...

Автор сценария к Half-Life 2: Episode One и Portal вернулся в Valve Американский сценарист Erik Wolpaw, который занимался созданием сценария к Portal (первой и второй частям), Half-Life 2: Episode One и Episode Two, вернулся в команду Valve. Покинул он ее в 2017-ом. Очевидно, что эта новость станет новым поводом для обсуждения даты выхода H...

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

[Из песочницы] Кризис DDD сообщества Год назад Максим Аршинов (marshinov) выступил с докладом "Быстрорастворимое проектирование". Отличный доклад, харизматичный спикер, полезные материалы в конце. Этот доклад изменил моё понимание того что я делал — кто из нас не пытался интуитивно применить pipeline-архитектур...

MU-MIMO: один из алгоритмов реализации Предисловие В качестве дополнения к моей недавней статье хотелось бы также поговорить о теме MU (Multi User) MIMO. Есть у мною уже упомянутого профессора Хаардта одна очень известная статья, где он вместе со своими коллегами предлагает алгоритм разделения пользователей по ни...

Ускорение MicroPython MicroPython — реализация языка программирования Python для микроконтроллеров, даёт возможность аудитории этого языка, используя знакомый синтаксис и принципы программирования работать с небольшими вычислительными устройствами. В своей работе я использую MicroPython для про...

ЧПУ в хоббийной мастерской (часть 3) Изначально, планировал ограничиться двумя постами (раз, два) про мои ЧПУшные эксперименты. Но, тема оказалась многим интересной, поэтому немного ее еще пораскрываю. В этом посте пойдет речь про написание самодельного софта для управления любительским ЧПУ. Читать дальше →

Особенности подключения мыши к iPad и iPhone Подключение мыши к iPad — сомнительное удовольствие В 2019 году iOS раздвоилась. И обоими своими дублями, преодолевая иррациональный доисторический страх, подпустила к себе крошечных симпатичных зверьков, которых панически боятся женщины и слоны. iPhone, iPad и iPod to...

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

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

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

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

[Перевод] Почему я не использую веб-компоненты Я пишу это в основном для себя в будущем, чтобы у меня было куда сослаться, когда кто-нибудь спросит меня, почему я скептичен в отношении веб-компонентов и почему Svelte не компилируется в веб-компоненты по умолчанию. (Тем не менее, он может компилироваться в веб-компоненты,...

«Эмпирические результаты лишь для публикации, реальные мотивы работ — эстетические». Большое интервью с Майклом Скоттом Майкл Скотт — уже 34 года как профессор Computer Science в Рочестерском университетe, а в родном универститете Wisconsin–Madison был деканом в течение пяти лет. Он занимается исследованиям в области параллельного и распределённого программирования и дизайна языков и обучает...

R пакет tidyr и его новые функции pivot_long и pivot_wide Пакет tidyr входит в ядро одной из наиболее популярных библиотек на языке R — tidyverse. Основное назначение пакета — приведение данных к аккуратному виду. На Хабре уже есть публикация посвящённая данному пакету, но датируюется она 2015 годом. А я хочу рассказать, о наиболее...

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

Скорость передачи данных портативного SSD Transcend ESD230C, который по габаритам сравним с кредитной картой, достигает 520 МБ/с Компания Transcend представляет портативный твердотельный накопитель ESD230C с интерфейсом USB 3.1 Gen 2 Type-C, который отличается небольшими размерами и очень высокой скоростью передачи данных. Благодаря использованию интерфейса SuperSpeed USB 3.1 Gen 2 и применению ...

[Перевод] Почему системные администраторы должны становиться DevOps-инженерами Для обучения в жизни нет лучшего времени, чем сегодня. На дворе 2019 год, и тема DevOps сейчас актуальна, как никогда. Говорят, что дни системных администраторов прошли, как миновала эпоха мейнфреймов. Но так ли это на самом деле? Как это часто бывает в IT, ситуация изменил...

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

ConfigureAwait, кто виноват и что делать? В своей практике я часто встречаю, в различном окружении, код вроде того, что приведен ниже: [1] var x = FooWithResultAsync(/*...*/).Result; //или [2] FooAsync(/*...*/).Wait(); //или [3] FooAsync(/*...*/).GetAwaiter().GetResult(); //или [4] FooAsync(/*...*/) .Configur...

Анонс PNY XLR8 CS2311: SATA SSD Компания PNY объявила о выходе новой линейки твердотельных накопителей XLR8 CS2311. Новые SSD выполнены в 2,5-дюймовом форм-факторе и используют интерфейс SATA III 6 Гбит/с. Твердотельные накопители построены на памяти 3D TLC NAND, а скорость их работы достаточно типичн...

Kotlin Native: следите за файлами Когда вы пишите command line утилиту, последнее, на что вам хочется полагаться, так это на то, что на компьютере где она будет запущена установлен JVM, Ruby или Python. Так же хотелось бы на выходе иметь один бинарный файл, который будет легко запустить. И не возиться слишко...

Reactor, WebFlux, Kotlin Coroutines, или Асинхронность на простом примере Многие сервисы в современном мире, по большей части, «ничего не делают». Их задачи сводятся к запросам к другим базам/сервисам/кешам и агрегации всех этих данных по различным правилам и разнообразной бизнес-логике. Поэтому неудивительно, что появляются такие языки, как Go...

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

Топ ошибок со стороны разработки при работе с PostgreSQL HighLoad++ существует давно, и про работу с PostgreSQL мы говорим регулярно. Но у разработчиков все равно из месяца в месяц, из года в год возникают одни и те же проблемы. Когда в маленьких компаниях без DBA в штате случаются ошибки в работе с базами данных, в этом нет ничег...

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

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

Julia. Генераторы отчётов и документации Одной из актуальных проблем во все времена, является проблема подготовки отчётов. Поскольку Julia — язык, пользователи которого непосредственно связаны с задачами анализа данных, подготовки статей и красивых презентаций с результатами расчётов и отчётов, то эту тему просто ...

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

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

[Из песочницы] Реализация горячей перезагрузки С++ кода в Linux * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux. Г...

С чего начать изучать веб-разработку в 2019 году или HTML Academy VS Codecademy VS FreeCodeCamp Привет, Хабр! Хочу поделиться своими мыслями о самых популярных площадках для изучения веб-разработки HTML Academy, Codecademy, FreeCodeCamp (мне бы хотелось прочитать подобную статью, когда я только начинала учиться веб-разработке самостоятельно). *Данный обзор является мо...

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров) При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библиотеки std не совсем подх...

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

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

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

Обучающий курс по DataPower Материал подготовлен в соавторстве с пользователем wedmeed В 2017 году, когда начинался наш проект во Вьетнаме, мы столкнулись с новым для нас зверем IBM DataPower. IBM DataPower – продукт, представляющий собой gateway между клиентами и бэкендами, предназначенный для фильтр...

Новый дизайн YouTube перестает работать в Microsoft Chromium Edge Edge на основе Chromium столкнулся с новой проблемой при использовании принадлежащего сервиса Google YouTube. Некоторые пользователи сегодня заметили, что YouTube открывается с классическим интерфейсом в браузере Edge, и новый дизайн больше не доступен по неизвестным причина...

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

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

Тостер — всё в компостер. Фильтруй и кайфуй Так уж сложилось, что в СНГ довольно популярен русский Q&A ресурс по ИТ тематике — Тостер. Однако чего-то ему не хватало, когда я начал плотно с ним знакомиться. Это и вылилось в улучшение в виде браузерного расширения. Встречайте. Ключевые особенности: Название: Tost...

[Перевод] Насколько хорошо вы знаете CSS? (+ мини-тест) Отличие между успешным использованием CSS и мучительными попытками справиться с ним, зачастую зависит от мелких деталей. На самом деле, в CSS очень много нюансов. Одна из наиболее часто встречающихся областей, где я часто замечаю такую борьбу — это стилизация макетов. Личн...

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

Усложнение C++ неизбежно. И не только C++ Давно хотел написать подобный текст, но все никак не доходили руки. А вот после завершившегося летнего заседания комитета по стандартизации C++ и поднявшегося воя о том, что сложность языка еще больше увеличилась, пришлось таки изыскать время и зафиксировать собственные мысл...

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

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

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

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

[Перевод] Сценарии использования и производительность Blazor Server в .NET Core 3.0 С момента релиза Blazor Server с .NET Core 3.0 в прошлом месяце многие люди поделились с нами своим восторгом от возможности создания клиентского веб-интерфейса используя только с .NET и C#. В то же время мы также слышали много вопросов о том, что такое Blazor Server, как он...

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

Создатель красивых обоев для OnePlus сделал приложение для Android Смартфоны OnePlus ещё с незапамятных времен привлекали к себе внимание благодаря своим красивым обоям, которые красовались на каждом рекламном постере и билборде, и во многом это происходило благодаря одному человеку: шведскому дизайнеру Хампусу Олссону (Hampus Olsson). Ран...

[Перевод] Как не переписать проект на Rust Как только вы переступаете через болевой порог Борроу-Чекера и осознаёте, что Rust позволяет вытворять невообразимые (и порой опасные) в других языках вещи, вас может постигнуть настолько же непреодолимое желание Переписать Всё на Rust. Хоть и в лучшем случае это банально не...

«Фабричный метод» и «Абстрактная фабрика» во вселенной «Swift» и «iOS» Слово «фабрика» – безусловно одно из самых часто употребляемых программистами при обсуждении своих (или чужих) программ. Но смысл в него вкладываемый бывает очень разным: это может быть и класс, порождающий объекты (полиморфно или нет); и метод, создающий экземпляры какого-л...

Habr Weekly #13 / Под угрозой 1,5 млн пользователей дейтингового сервиса, расследование «Медузы», деанон россиян Снова рассуждаем о приватности. Эту тему мы так или иначе обсуждаем с начала подкаста и, кажется, к этому выпуску нам удалось сделать несколько выводов: нас все-таки парит наша приватность; важно не что скрывать, а от кого; мы — это наши данные. Поводом к обсуждению послу...

Контролируй, изменяй, удаляй: топ-10 докладов DotNext 2018 Moscow Привет, Хабр! Сегодня для .NET-разработчиков у нас традиционный пост по следам DotNext 2018 Moscow: делимся десятью лучшими докладами конференции (по мнению её посетителей). Под катом — их видеозаписи, а также короткие описания и ссылки на презентации. Доклады идут по во...

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

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

Emoji в интерфейсе iOS приложения и требования Apple С удивлением не обнаружил в выдаче поиска по Хабру публикаций по проблеме использования emoji в интерфейсе приложений публикуемых в App Store благословенной Apple. Так что заранее извиняюсь если всё-таки повтор. Суть проблемы в том что Apple запрещает использование emoji ...

Перечитывая Лу Гринзоу «Философия программирования Windows 95/NT» Небольшая рецензия по книге двадцатилетней выдержки была написана еще в 2016, публикую с микроправками. В оригинале исповедь автора называется «Дзен программирования в Windows 95» (Zen of Windows 95 Programming). Пусть вас не пугает цифра «95», ключевым сюжетом является име...

SmartCard I2C Protocol. Обмен APDU командами через I2C интерфейс Введение Некоторое время назад я принимал участие в разработке устройства, в котором было необходимо реализовать российскую криптографию. Так как в дальнейшем предполагалось это решение сертифицировать, то к реализации криптографии выдвигались определенные требования. И как ...

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

Быть фулстеком и не быть им Я именно тот 40+ летний синглстек, который упоминался в нашумевшей статье. Когда я вижу таск, где бэкендер упоминает dTo, к которому нужно написать обвязку на фронте… Я запланировано выхожу из себя. Во-первых, я хорошо работаю, когда злой. А тут такой случай. А во-вторых (и ...

[Перевод] Как работает FaceID в iPhone X: алгоритм на Python Одна из самых крутых фишек iPhone X – это метод разблокировки: FaceID. В этой статье разобран принцип работы данной технологии. Изображение лица пользователя снимается с помощью инфракрасной камеры, которая более устойчива к изменениям света и цвета окружающей среды. Исп...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 27. Введение в AСL. Часть 2 Еще одна вещь, о которой я забыл упомянуть – ACL не только фильтрует трафик по принципу разрешить/отказать, он выполняет ещё много функций. Например, ACL используется для шифрования трафика VPN, однако для сдачи экзамена CCNA достаточно знать, как он применяется для фильтрац...

Книга «GraphQL: язык запросов для современных веб-приложений» Привет, Хаброжители! У нас вышла книга по языку запросов GraphQL. Мы решили поделиться переводом главы «Анатомия запросов GraphQL» «Снежный клык» (Snowtooth) — выдуманный горнолыжный курорт. Ради примеров в данной главе мы сделаем вид, что это настоящая гора и мы там работ...

[Перевод - recovery mode ] Секретные хаки VS Code Не имеет значения, новичок вы или профессионал, удобные инструменты программирования важны для любого человека, который хочет писать код продуктивно. Я подготовил небольшую подборку полезных советов, хитростей и расширений для современного веб-разработчика. Улучшаем вне...

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

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

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

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

Spotify обновился и теперь стал еще удобнее Несколько месяцев назад Spotify начал тестировать новый интерфейс окна воспроизведения (Now Playing) в своем приложении, и на тот момент нововведения, казалось, идут ему совсем не на пользу, так как осуществить доступ к списку воспроизведения было той еще задачей. Кнопки во...

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

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

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

[Из песочницы] Обобщение задачи Брокара История Гильберт в 1900 году на II Международном конгрессе математиков в Париже отметил практическую важность теории чисел. Решение абстрактных задач часто приводило к появлению нового математического аппарата. Ярким примером служит Великая Теорема Ферма, в ходе доказательст...

Раскрытие 3D-секрета флюксоиста Юккера X190912: Пост про необычное применение 3D-технологий в абстрактном искусстве

Микросервисы на php и swoole для конвертации телеграм каналов в RSS В предыдущем посте я рассказал про то, как настроить и использовать php телеграм клиент madelineProto для парсинга постов. Но при использовании библиотеки я столкнулся с несколькими недостатками: Долгая обработка запросов из-за авторизации телеграм клиента; Неудобная нас...

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

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

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

Как загрузить YouTube-видео на Android-смартфон Хотите загрузить видео из YouTube на смартфон? Мы поможем вам это сделать. На крайне популярном видеохостинге YouTube каждый может найти контент, который ему по душе. Однако бывает так, что нам нужно скачать какой-то ролик для того, чтобы посмотреть его в дальнейшем. Конечно...

Концепция персистентной ткани для контроля IT-инфраструктуры Всем привет. Расскажу вам про микросервисы, но немного с другой точки зрения, чем Вадим Мадисон в посте «Что мы знаем о микросервисах». Вообще я считаю себя разработчиком баз данных. При чем же тут микросервисы? В Авито используются: Vertica, PostgreSQL, Redis, MongoDB, Tara...

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

Serverless Telegram бот в Яндекс.облаке, или 4.6 копейки за 1000 сообщений "Whenever you receive a webhook update, you have two options" Из Telegram Bot Api Faq Привет, Хабр! Долгое время концепция serverless (а если говорить точнее — её реализация в виде сервиса AWS Lambda) была для меня относительно понятной, но очень абстрактной идеей. Она ча...

Google Maps для Android Auto получил крайне полезное обновление Ни для кого не секрет, что система Android Auto уже не раз подвергалась критике, поэтому недавно программисты компании Google всерьез занялись разработкой и развертыванием комплексных обновлений для всех пользователей. За последние полгода система получила несколько важных о...

Функции обратного вызова в скриптах Иногда наш COM‐компонент должен отправить клиенту уведомление или вызвать функцию обратного вызова. Схема простая: компонент публикует интерфейс, клиент создаёт унаследованный от интерфейса объект и передаёт его компоненту, компонент в свою очередь вызывает функции интерфейс...

Хостинг: варианты, сравнения, пользовательская статистика Удивительно, но из обилия статей на тему хостинга в Интернете едва ли найдётся десяток, где тема раскрыта доступным для всех языком. Часто даже профессионалы и опытные пользователи отмечают, что в большинстве описаний «чёрт ногу сломит», особенно на сайтах компаний, предлага...

Неделя с Samsung Galaxy Fold: Обзор и опыт использования Samsung Galaxy Fold — однозначно, самый необычный смартфон этого года и с точки зрения истории, и с точки зрения технологий. Но одно дело подержал и пару раз щёлкнул — ничего себе, WOW! И совершенно другое понять — может ли Galaxy Fold стать основным смартф...

#Опрос: Ночная тема — как вы это выносите? Ночной режим на сегодня является одной из самых желанных функций среди пользователей как настольных, так и мобильных операционных систем. Не проходит и дня, чтобы кто-нибудь снова не завел разговор о том, как было бы удобно, если бы Apple внедрила в iOS возможность по нажат...

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

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

Chrome для компьютеров получит режим чтения без рекламы На портале Chromium.org появилась информация о том, что Google добавит в фирменный браузер Chrome для компьютеров поддержку режима чтения — базовой для многих веб-обозревателей функции, позволяющей просматривать текстовое содержание веб-сайтов в удобном формате без рекламных...

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

В школьную программу предложили ввести уроки по Dota 2 и FIFA Институт развития интернета выбрал игры, которые Минпросвещению предлагается включить в факультативы для школьников. Dota 2, например, должна помочь развить скорость реакции, а Minecraft — креативность и абстрактное мышление.

Habr Weekly #9 / Выгорание в юности, японские интерфейсы, нейросеть в Battle.net, игры и жестокость Вот какие посты мы обсудили в этом выпуске подкаста: На пенсию в 22 Японские интерфейсы в реальном мире AlphaStar от DeepMind будет играть на Battle.net с геймерами-людьми Исследование показало, что видеоигры не делают людей жестокими Читать дальше →

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

На пути к физическим принципам биологической эволюции. Окончание + полный текст перевода Сокращенный перевод статьи М. Кацнельсона, Ю. Вольфа и Е. Кунина Towards physical principles of biological evolution Mikhail I. Katsnelson, Yuri I. Wolf, Eugene V. Koonin Оригинал статьи (Две предыдущие части уже были опубликованы: начало и продолжение ) Возможна ли конвер...

[Перевод] Практический пример использования render-функций Vue: создание типографской сетки для дизайн-системы В материале, перевод которого мы сегодня публикуем, речь пойдёт о том, как создать типографскую сетку для дизайн-системы с использованием render-функций Vue. Вот демонстрационная версия проекта, который мы будем здесь рассматривать. Здесь можно найти его код. Автор этого мат...

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

USB 4.0 – новый стандарт легендарного интерфейса Когда-то давно все производители электроники использовали различные интерфейсы в своей электронике, но затем все такие бренды поняли, что лучше использовать один единый, потому что так выгоднее, проще и дешевле. Одним из таких интерфейсов стал USB, Сообщение USB 4.0 – новый...

Верховный суд США рассмотрит иск Oracle к Google Верховный суд США объявил о намерении рассмотреть спор между технологическими гигантами Oracle и Google по делу, способному вылиться в штрафы в миллиарды долларов. Речь идёт о старых разбирательствах, которые тянутся не один год. Ещё в 2010 году Oracle впервые обратилась в с...

[Перевод] Новый курс по Python от Microsoft [на английском] Вероятно, самое большое препятствие при изучении любого нового языка программирования — просто знать, с чего начать. Что важно? Что нужно знать, чтобы стать профи? Трудно исследовать документы, когда даже нет уверенности, что читаешь то, что нужно. Возможно, вы присматривае...

[Из песочницы] Объектно-ориентированное программирование в Java и Python: сходства и отличия Привет, Хабр! Представляю вашему вниманию перевод статьи “Object-Oriented Programming in Python vs Java” автора Джона Финчера. Реализация объектно-ориентированного программирования (ООП) в языках Java и Python отличается. Принцип работы с объектами, типами переменных и прочи...

Анализ Agile. Мифы и действительность I Вступление Будку надо переносить! Сезона не бывает, чтоб пару-тройку не шандарахнуло. То с туалетом путают, то с пляжной кабинкой… (х/ф Особенности национальной рыбалки) Конец года, подведение итогов, заполнение анкет и прочая предпраздничная мишура ИТ функционеров. Мне у...

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

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

[Из песочницы] ОС реального времени AQUA RTOS для МК AVR в среде BASCOM AVR При написании для МК кода посложнее, чем «помигать лампочкой», разработчик сталкивается с ограничениями, присущими линейному программированию в стиле «суперцикл плюс прерывания». Обработка прерываний требует быстроты и лаконичности, что приводит к добавлению в код флагов и п...

Монады с точки зрения программистов (и немного теории категорий) Введение Как узнать, что человек понял, что такое монады? Он сам вам об этом расскажет в первые 5 минут общения и обязательно попробует объяснить. А ещё напишет об этом текст и по возможности где-нибудь его опубликует, чтобы все остальные тоже поняли, что такое монады. Среди...

Surface Neo и Surface Duo будут поддерживать логику управления и жесты Microsoft недавно анонсировала Surface Neo и Surface Duo с ОС Windows 10X и Android соответственно. Новые устройства должны начать поставляться в продаже в декабре 2020 года, но компания, очевидно, рассчитывает на следующую итерацию устройства или улучшение существующих прот...

Лицемерие google. PageSpeed Insights Google Page Speed Insights — это сервис от гугла, который позволяет определить производительность сайта и дает рекомендации по его оптимизации. Очень важно понимать, что это всего лишь рекомендации! Некоторые воспринимают эти рекомендации настолько серьезно, что готовы реали...

Personal Democracy Forum: почему реклама в Facebook угрожает демократии Таргетированная политическая реклама в социальных сетях может стать угрозой демократии. К такому выводу пришли спикеры ежегодного международного форума персональной демократии Personal Democracy Forum, который прошел в апреле 2019 года в городе Гданьске (Польша). Тема форум...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 46. Проверка работы OSPF Сегодня мы продолжим тему предыдущего урока о настройках и проверке работы протокола OSPF, которым посвящен раздел 2.4 тематики ICND2. Проверка работы протокола очень важна, так что вы должны знать, какие команды нужно для этого использовать. Прежде чем начать этот урок, я х...

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

[Перевод] Н.М.Д. (Не Моё Дело) В последние несколько лет передо мной жёстко встал вопрос расстановки приоритетов. Я видела, что многие друзья и коллеги тоже страдали от этого: как понять, какую проблему решать, а какую игнорировать? Где проходит черта? Установка Если вы читаете это в поисках совета, веро...

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

Надо ли устанавливать macOS Catalina? Мнение наших читателей Умеет Apple делать красивые заставки для своих ОС Летом этого года Apple представила macOS Catalina. На презентации она выглядела очень многообещающей. Возможность запускать приложения с iPad, использование iPad в качестве графического планшета или второго экрана. Выглядит и...

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

[Из песочницы] OBD2 reader — диагностика автомобиля При создании приложения мы столкнулись с множеством выборов, проблем и так далее, с которыми попробуем ознакомить вас в этой статье. Как оказалось с автомобилем можно вести диалог, причем довольно таки продуктивный. Естественно для того чтобы организовать общение с автомобил...

Чего-бы почитать. Список русскоязычной фантастики за 2017 и 2018 год Обзор русскоязычной художественной литературы, за последние два года. В список попали самые лучшие работы по моему вкусу в 2017-2018 году. Здесь предыдущая статья, за 2010-2016 года. Короткий список Финикийский торговец Принцип неопределенности Авторская аннотация: Философс...

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

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

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

docker-pretty-ps — наконец-то удобный для чтения «docker ps» Вы не одиноки в этом мире, если вот уже долгое время не рады тому, как выглядит стандартный вывод docker ps. Хотя и существуют различные workarounds на эту тему (см. в конце материала), однажды какой-нибудь энтузиаст должен был сделать «что-то ещё»… и это произошло в наступи...

[Из песочницы] Использование Ansible, Terraform, Docker, Consul, Nomad в облаках (Алексей Вахов, Учи.ру) Учи.ру — онлайн-платформа для школьного образования, более 2 миллионов школьников, регулярно решают у нас интерактивные занятия. Все наши проекты хостятся полностью в публичных облаках, 100% приложений работают в контейнерах, начиная от самых маленьких, для внутреннего польз...

[Перевод] Знакомство с SwiftUI: Создание простого приложения с использованием TableView Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количества кода, декларативным...

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

Знакомство со статическим анализатором PVS-Studio для Java На протяжении многих лет команда PVS-Studio развивает одноименный статический анализатор. На данный момент анализатор представляет собой сложное программное решение и предоставляет возможность анализа таких языков программирования, как C, C++, C# и Java на платформах Windows...

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

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

MPS 2018.3: планы генерации, улучшения в языке сборки и упаковки и в языке редактора, обновленный интерфейс Привет, Хабр! Недавно мы выпустили [MPS 2018.3](https://www.jetbrains.com/mps/download/). В этой версии много новых функций, с которыми работа над проектами станет еще эффективнее. Мы улучшили планы генерации и язык описания редактора, добавили новые конструкции в язык сборк...

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

Что такое UI и UX дизайн? Что в них общего и что различного? Всем привет! Предлагаем вам изучить простой в освоении материал, чтобы лучше понять разницу между дизайном пользовательского интерфейса (UI) и пользовательским интерфейсом (UX) UI-дизайн и UX-дизайн — два наиболее часто запутанных и противоречивых понятия, использующихся ка...

[Перевод] Dark mode теперь повсюду. Так ли он полезен? (в конце поста опрос) Дизайнеры одежды известны тем, что любят носить чёрное, но они не одиноки в этом: в 2017 году чёрный был самым популярным цветом в женской одежде, по данным компании Edited, занимая 36% рынка. Популярность тёмных оттенков вышла за границы моды и добралась до дизайна UX и UI:...

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

Как выбрать VPS О том, зачем нужен и какой бывает веб-хостинг читайте в нашем посте «Хостинг: варианты, сравнения, пользовательская статистика». Здесь же мы сразу перейдём к теме статьи, название которой содержательней любого вступления.  Конечно, в статье мы будем приводить примеры из с...

Golang: специфические вопросы производительности Язык Go набирает популярность. Настолько уверенно, что появляется все больше конференций, например, GolangConf, а язык входит в десятку самых высокооплачиваемых технологий. Поэтому уже имеет смысл разговаривать о его специфических проблемах, например, производительности. Кро...

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

[Из песочницы] Расшифровка LUKS контейнера в момент загрузки системы Всем доброго дня, ночи! Этот пост будет полезен тем, кто используется шифрование данных LUKS и хочет производить decryptдешифровку дисков под Linux (Debian, Ubuntu) на стадии расшифровки root раздела. И такой информации в интернете я найти не смог. Совсем недавно с увеличен...

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

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

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

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

Роутинг в кроссплатформенном .NET приложении с сохранением состояния на диск на примере .NET Core, ReactiveUI и Avalonia Пользовательские интерфейсы современных прикладных приложений, как правило, сложны — зачастую необходимо реализовывать поддержку постраничной навигации, обрабатывать разного рода поля ввода, на основе выбранных пользователем параметров отображать или скрывать информацию. П...

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

[Перевод] React и Vue: сильные стороны Здравствуйте, коллеги. Мы возобновляем наши переводные публикации. Сегодняшний текст анонсирует давно назревшую новинку по веб-разработке, посвященную ультрасовременной библиотеке Vue.js. Учитывая, что у нас в ассортименте имеется сразу три отличные книги по React, а также ...

Локальные файлы при переносе приложения в Kubernetes При построении процесса CI/CD с использованием Kubernetes порой возникает проблема несовместимости требований новой инфраструктуры и переносимого в неё приложения. В частности, на этапе сборки приложения важно получить один образ, который будет использоваться во всех окруж...

[Перевод] XML практически всегда применяется не по назначению Язык XML был изобретен в 1996 году. Едва он успел появиться, как возможности его применения уже начали понимать неправильно, и для тех целей, к которым его пытались адаптировать, он был не лучшим выбором. Не будет преувеличением сказать, что подавляющее большинство схем XM...

[recovery mode] OSCP — Оскорбительная безопасность Как получить сертификат OSCP (Offensive Security Certified Professional Пожалуй, «оскорбительная» безопасность — это лучший перевод того направления деятельности, о котором мы сегодня поговорим. Конечно, Offensive – это еще и наступательная, и даже агрессивная, но сейчас реч...

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

DevOops 2019 глазами разработчика 29-30 октября в Санкт-Петербурге прошла конференция DevOops. В этой статье я поделюсь впечатлениями и инсайтами, а также краткими заметками о прослушанных докладах. Небольшой disclaimer: поскольку я разработчик, то некоторые мысли и комментарии могут быть с уклоном в Dev, ...

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

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

[Из песочницы] Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Top 20 C++ multithreading mistakes and how to avoid them» автора Deb Haldar. Сцена из фильма «Петля времени (2012) Многопоточность— одна из наиболее сложных областей в программировании, особенно в C++. За годы разраб...

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

[Из песочницы] Очереди — что это, зачем и как использовать? Посмотрим на возможности AWS SQS Сначала давайте дадим определение понятию «очередь — queue». Возьмем для рассмотрения тип очереди «FIFO»(first in, first out). Если взять значение из википедии — «это абстрактный тип данных с дисциплиной доступа к элементам». Если вкратце, это означает что мы не можем из н...

Проблемы точного земледелия и как с ними жить Публикую размышления моего коллеги, которого нет на хабре, по его просьбе. Привет, Меня зовут Сева Генин. Я много лет занимался ГИС и агрохимией, а сейчас участвую в разработке onesoil.ai – бесплатной платформы для фермеров всего мира с AI внутри. Тема для хабра немного не...

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

Расслоения в стали. Как они образуются Тема этой статьи несколько необычна для Хабра. Меня побудило ее написать простое и понятное желание напомнить, что в свое время в нашей стране на очень высоком уровне была металловедческая наука, в частности ее раздел по исследованию причин разрушения высокопрочных материало...

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

Твердотельные накопители Intel SSD 660p емкостью 512 и 1024 ГБ: непривычный коктейль из интерфейса PCIe, протокола NVMe и... памяти 3D QLC NAND Семейство твердотельных накопителей Intel SSD 660p на рынке стало одним из первых примеров использования памяти типа QLC NAND-флэш, однако до сих пор стоит несколько особняком. Это бюджетные устройства с интерфейсом PCIe, с уменьшенным объемом буферной памяти и некоторыми ос...

PHDays 9: разбор заданий AI CTF Тема безопасности машинного обучения довольно хайповая последнее время и хотелось затронуть именно практическую ее сторону. А тут повод крутой — PHDays, где собираются самые разные специалисты из мира ИБ и есть возможность привлечь внимание к этой теме. В общем-то мы сделал...

Функция мгновенного перевода с камеры в приложении Google Translate получила поддержку 60 новых языков Приложение Google Translate, которое давно уже перестало быть просто примитивным переводчиком, обзавелось поддержкой новых языков при работе с камерой. Если точнее, функция мгновенного перевода с камеры получила поддержку 60 новых языков, включая арабский, гречески...

Магия iOS: Как Apple подсадила всех на свою ОС? Наверняка вы лично знаете несколько людей, которые никогда в жизни не пересядут с iPhone. Я долго думал, что это объясняется силой маркетинга, подсаживанием на экосистему, да что греха таить и продукты местами хороши. Но на самом деле тайное оружие Apple это iOS. При всей мо...

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

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

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

Security Week 23: уязвимость в Блокноте, миллион систем с непропатченным RDP Блокнот в Windows – это островок стабильности посреди вакханалии прогресса. Приложение, которое никогда не подводит. Функционал Notepad почти не изменился за 34 года его существования (разве что были подняты лимиты на размер открываемых документов), да и дизайн актуальной ве...

Придется «закатать губу»: Россия может отказать в транзите газа из-за «наглых» условий Украины «Качай или плати» — Россия и Запад не потянут 60 миллиардов кубометров трубопроводного газа в год по транзиту через Украину. Проблема транзита газа через Украину стоит достаточно остро с 2014 года. Тогда Украина отказалась платить России по прежним долгам за газ и заяв...

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

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

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

Говорят, Haskell — язык для гениев и академиков. Правда? Однажды я разговаривал с основателем израильского стартапа, который разрабатывал скоростную базу данных на GPU. В их стеке были Haskell и C++, и основатель жаловался, как тяжело найти людей в команду. В Москву он прилетал в том числе искать хороших программистов. Я остор...

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

Хрупкий кабель дисплея MacBook Pro: очередная ловушка, в которую загнали себя инженеры Apple Кабели, о которых идёт речь, свободно обёрнуты вокруг платы контроллера дисплея. Они туго натягиваются при открытии крышки экрана, что со временем приводит к надрыву Специалисты iFixit подробно разобрали очередную ошибку дизайна в ноутбуках Apple. Ошибки проектирования в ...

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

Подкаст The Big Beard Theory 200: Как бороться с ошибками и заблуждениями о науке Разбираемся, как работает наука, и какие ошибки часто совершают люди, говоря о научном методе и критическом мышлении. Выясняем, что мы на самом деле знаем и почему мы думаем, что знаем это. В гостях Александр Головин, автор и ведущий подкаста «КритМышь». iTunes | Spotif...

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

[Из песочницы] Как я боролся с Shared Element Transition и написал свою первую opensource библиотeку Нет повести печальнее на свете, чем повесть о ViewPager’e и SET’e Хочется предупредить, что автор ‒ новичок андроид, поэтому статья содержит столько технических неточностей, что вас, скорее, нужно предупредить о том, что в статье могут встретиться технически достоверные...

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

Новый набор патчей Adobe на редкость скромен В рамках июльского «вторника патчей» вендор обновил приложение Adobe Bridge из пакета Creative Cloud, а также CMS-решение Adobe Experience Manager (AEM) и HTML-редактор Adobe Dreamweaver. Ни Flash Player, ни Acrobat / Reader плановых заплат на сей раз не получили. ...

В умных коммутаторах Cisco нашли критические уязвимости Компания Cisco исправила три серьезных бага в прошивке интеллектуальных коммутаторов семейства Small Business 220. Уязвимости позволяют обходить механизм аутентификации устройства, запускать на нем сторонний код, а также внедрять команды оболочки и выполнять их с root-привил...

[Перевод] Восемь золотых правил Шнейдермана помогут вам создать лучший интерфейс Восемь золотых правил Шнейдермана помогут вам создать лучший интерфейс Следуйте «Восьми золотым правилам дизайна интерфейса» Бена Шнейдермана, если вы хотите создавать великолепные, производительные и не вызывающие разочарований пользовательские интерфейсы. Apple, Google и...

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

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

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

В очередной раз о НОД, алгоритме Евклида и немного об истории алгоритмов вообще. Конечно, с примерами на Swift Алгоритмы – одна из центральных тем в программировании, они повсюду (особенно на собеседованиях, ха-ха). (Разве можно обойтись в таком посте без «баяна»?) Одним из самых известных является так называемый алгоритм Евклида – пожалуй, самый распространенный способ нахождения...

DEV Labs 2019. Python для решения нетривиальных задач. Онлайн-митап Уважаемые коллеги! Приглашаем принять участие в онлайн-митапе серии DEV Labs, который пройдёт 20 марта и будет посвящён языку Python. Расскажем о применении Python в сфере проектирования систем «умного дома» и рассмотрим примеры решения задач по распознаванию человеческих д...

Как превратить приложение на iPad в программу для Mac Презентация macOS Catalina на WWDC 2019 В июне этого года, на WWDC, Крейг Федериги артистично и с примерами рассказал кое о чем очень важном. Благодаря чему в macOS вернулся Twitter, и появились Jira и Asphalt. Но самое главное о причине этих чудес так и не было сказано. Ч...

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

Конференция C++ Russia 2019 Всем привет! Представьте, что C++ Russia больше нет. Куда вы пойдёте вместо этого? Есть множество конференций, посвящённых более широким темам, но наша — одна из немногих, целиком и полностью сфокусированная на C++ и открыто заявляющая, что это будет реальный хардкор. Выбор...

Transcend представляет накопитель ESD250C с интерфейсом Type-C Компания Transcend Information, Inc. представляет портативный твердотельный накопитель ESD250C в стильном корпусе, выполненном из алюминиевого сплава. Оснащенный высокоскоростным интерфейсом Type-C, этот тонкий и легкий накопитель соединяет в себе стильный дизайн и самые сов...

В библиотеке libssh2 для Linux закрыли девять брешей Разработчики Linux-библиотеки libssh2 залатали девять уязвимостей в очередной версии продукта — 1.8.1. Эксплуатация брешей позволяла злоумышленникам выполнить вредоносный код на пораженном устройстве или вызвать отказ в обслуживании. Баги обнаружил ИБ-специалист компании Can...

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

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

Кластерное хранилище для небольших web-кластеров на базе drbd+ocfs2 О чем мы расскажем: Как быстро развернуть общее хранилище для двух серверов на базе решений drbd+ocfs2. Для кого это будет полезно: Туториал станет полезен системным администраторам и всем, кто выбирает способ реализации хранилища или хотят попробовать решение. От каких р...

iOS 7: Прекрасный ужасный интерфейс Бойтесь своих желаний: в списке “чего хотелось бы” каждой новой версии iOS, чуть ли не с 2008 года, присутствовали радикальные изменения пользовательского интерфейса. Это, в конце концов случилось. В iOS 7. Известный немецкий публицист (имени которого я не помню, извините) ...

[Перевод] Слишком чисто? Привет, Хабр! Предлагаю вашему вниманию перевод статьи "Too Clean?" автора Robert C. Martin (Uncle Bob). Я только что посмотрел выступление Сары Мэй: Жизнеспособный код. Это было очень хорошо. Я полностью согласен с основными моментами ее выступления. С другой стороны, темо...

Основы реактивного программирования с использованием RxJS. Часть 3. Higher Order Observables В данной статье мы рассмотрим, как можно в одном потоке обрабатывать другой, для чего это нужно, и как нам в этом помогут операторы Higher Order Observables (дальше HOO). При работе с потоками часто возникает ситуация, когда необходимо в качестве значения одному потоку пе...

MOXA Nport — взгляд изнутри Серверы сбора данных по последовательным портам MOXA Nport и им подобные — в настоящее время являются стандартом де факто в области построения систем передающих или принимающих данные через интерфейсы RS-232,RS-485 и RS-422. Счетчики электроэнергии, управляемые вентили и зад...

Memento Mori или вычисляем «магические квадраты» 5x5 Привет Хабр. Примерно год назад я рассматривал тему использования GPU на примере вычисления «магических квадратов» 4х4. Там все довольно-таки очевидно, этих квадратов всего 7040, и вычислить их можно практически на чем угодно, хоть на Ардуине (но это не точно). Аналогичным ...

Немного технической лирики о C++ Tools от JetBrains, и при чем тут единороги Начну не с моего типичного “Привет, Хабр! У нас тут очередной крутой релиз”, а с “Привет, меня зовут Настя, я ПММ в JetBrains и я отвечаю за наши инструменты для C++”. Или нет, попробую еще раз, вот так: “Привет, пишет вам C++ разработчик с 8-летним стажем, который 5 лет наз...

[Из песочницы] Почему нам нужна децентрализация интернета и почему она неизбежна За последний год, а особенно после скандала с Facebook и Cambridge Analytica, в Европе и США начали активно появляться статьи о нарушении конфиденциальности данных IT-компаниями. В особенности со стороны Google и Facebook. Большая часть этих историй преподносится как «вопиющ...

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

microSD Express – новый экономичный формат карт памяти со скоростью передачи данных до 985 МБ/с Организация SD Association анонсировала новый формат карт памяти microSD Express, который сочетает высокоскоростные интерфейсы PCI Express и NVMe с традиционным интерфейсом microSD. Последний призван обеспечить обратную совместимость с существующими на рынке решениями. Как и...

[Из песочницы] Oracle VM Server for SPARC для чайников (How-to) Небольшой How-to для начинающих работать с ОС Solaris и платформой виртуализации Oracle VM Server for SPARC, ранее известной как Sun Logical Domains. Oracle VM представляет из себя гипервизор XEN, установленный на ОС Solaris. Управлять гипервизором возможно из командной ...

[Перевод] RabbitMQ: отказоустойчивость и высокая доступность в кластерах Отказоустойчивость и высокая доступность — большие темы, так что посвятим RabbitMQ и Kafka отдельные статьи. Данная статья о RabbitMQ, а следующая — о Kafka, в сравнении с RabbitMQ. Статья длинная, так что устраивайтесь поудобнее. Рассмотрим стратегии отказоустойчивости, ...

Ликбез по передаче параметров по значению в конструкторы и сеттеры (современный C++, примеры) Судя по комментам habr.com/ru/post/460831/#comment_20416435 в соседнем посте и развернувшейся там дискуссии, на Хабре не помешает статья, как правильно передавать аргументы в конструктор или сеттер. На StackOverflow подобного материала полно, но тут что-то я не припомню. По...

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

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

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

Microsoft откажется от живых плиток? По информации Зака Боудена с Windows Central стало известно, что Microsoft пересматривает свое отношение к Пуску и к плиткам в целом. Изначально, живые плитки пришли на платформу Windows Phone 7 в 2010 году и представляли из себя кладь полезной информации, так как благодаря ...

[Перевод - recovery mode ] Как правильно обрабатывать ошибки: тишина — не всегда хорошо У меня никогда не было какого-то особого мнения относительно обработки ошибок. Если я начинала работать с существующим кодом, я продолжала выполнять задачу, над которой трудился автор исходника; если писала код с нуля — делала то, что казалось мне правильным. Но недавно...

Создана первая в мире управляемая силой мысли роботизированная рука Инженеры из Университета Карнеги – Меллона в сотрудничестве со специалистами из Миннесотского университета совершили настоящий прорыв в области разработки неивазивных методов управления роботизированным устройством. Используя неинвазивный нейрокомпьютерный интерфейс (BCI) у...

[Из песочницы] Учимся стандарту проектирования — Entity Relationship Здравствуйте. Данная статья посвящена одной из самых популярных, а также и многим знакомой, модели проектирования — ER(Entity Relationship), которая была предложена учёным, в области информатики — Питером Ченом, в 1976 году. По ходу статьи простым языком на простых примера...

4 правила бизнеса Давида Яна Основатель компании ABBYY рассказал Forbes о том, чем успешный бизнес отличается от провального. Мы в LeadStartup полностью согласны с Давидом Яном, поэтому хотим поделиться его интервью. 1. Грамотное инвестирование Я инвестирую в те проекты, в которых операционно участву...

Inside The JeMalloc. Базовые Структуры Данных: Pairing Heap & Bitmap Tree Тема Аллокаторов частенько всплывает на просторах интернета: действительно, аллокатор — эдакий краеугольный камень, сердце любого приложения. В этой серии постов я хочу в подробностях рассказать о одном весьма занимательном и именитом аллокаторе — JeMalloc, поддерживаемый ...

Популярное приложение из Google Play ворует данные инстаграм-аккаунтов Конфиденциальность крайне важна. Но, видимо, не для крупных компаний Facebook (компания, которая, если вы вдруг не в курсе, владеет Instagram) имеет не самую приятную репутацию, когда речь заходит о защите конфиденциальности своих пользователей. Уже много раз компанию Марка ...

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

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

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

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

Async/await в C#: концепция, внутреннее устройство, полезные приемы Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использов...

Регистрируем свой ИТ-бизнес в Сингапуре: what should I do? Здравствуйте, коллеги! Мой прошлый материал был раскритикован по двум критериям: неверное авторство цитаты и ошибка, связанная с подбором картинки. Поэтому я решила, во-первых, провести воспитательную беседу с фотокором. А во-вторых, тщательно проверять используемые выска...

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

Умеренный Hardening для Firefox Современный веб состоит из множества разных технологий, которые предоставляют самые разные возможности… но ещё и создают немалое количество угроз. Современные браузеры давно стали самыми сложными приложениями на компе, обогнав по сложности даже ядро ОС (в Firefox в нескольк...

[Из песочницы] Распознавание образов в эйдетическом искусственном интеллекте "[ Нейронная сеть нуждается] в 300 миллионах изображений кошек, чтобы научиться понимать, что есть кошка, корова или собака. Но интеллект не основывается на больших данных (Big data). Наоборот, он основан на «маленьких данных». Если вы можете смотреть на кошку, извлекат...

[Из песочницы] Создаем элементы интерфейса программно с помощью PureLayout Привет, Хабр! Представляю вашему вниманию перевод статьи Creating UIViews Constraints Programmatically Using PureLayout автора Aly Yaka. Сегодня я проведу вас через создание простого пользовательского интерфейса мобильного приложения кодом, без использования раскадровок и...

[Из песочницы] Система Управления Тесткейсами QuAck — простые радости тестирования Привет, Хабр! Представляю вашему вниманию перевод статьи «QuAck — the joy of testing» автора Aziz Namazov. Сегодня я затрону непростую тему жизненного цикла программного обеспечения. Тема эта достаточно сложная и многогранна, включающая в себя все этапы, начиная от дизайн...

Сравнительное тестирование PostgreSQL на FreeBSD, CentOS, Ubuntu Debian и openSUSE Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «PostgreSQL benchmark on FreeBSD, CentOS, Ubuntu Debian and openSUSE» автора Martin Kováčik. В ней рассматриваются тесты СУБД PostgreSQL 10.1 в приближенных к реальным условиям средах на различных unix-сис...

Сообщения об ошибках установки Windows 10 скоро станут понятней Обычным пользователям их будет гораздо проще понятьСообщения об ошибках являются нормой для пользователей ПК, но это не делает их менее расстраивающими, когда они всплывают; особенно когда они не предлагают много полезной информации, сообщает ITbukva.com.Плохо объясненные ош...

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

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

[Из песочницы] Получаем Spring Bean из сторонних Application Context правильно Добрый день, хабровчане! В данной статье предлагаю обсудить одну из проблем, с которой нередко сталкиваются в проектах, использующих фреймворк Spring ввиду неверно составленных spring-конфигураций. Не нужно стараться, чтобы такую ошибку допустить, и поэтому данная ошибка яв...

Обзор IPSec в Mikrotik IPSec (IP Security) — набор протоколов и алгоритмов для шифрования данных в IPv4 и IPv6 сетях. Звучит не сложно, но IPSec не устанавливает четких правил для шифрования трафика, вместо этого разработчики реализуют набор инструментов (протоколов и алгоритмов), используя которы...

Топ-15 лучших 3D-шутеров для Android (2019) Как весело провести время в дороге, дома или на работе? Всегда можно отвлечься на игры. Магазин приложений Google предлагает около 2 миллионов приложений, чего будет достаточно для того, чтобы среди всей этой массы софта найти подходящий. 3D-шутеры за счёт своей требователь...

Гетерогенное программирование и OneAPI Toolkit. Задайте вопрос эксперту Intel Гетерогенное программирование — это тема. Тема многочисленных статей на ресурсах для разработчиков и докладов на тематических конференциях. Тема для блога Intel, ведь совсем недавно появились на свет Intel oneAPI Toolkit и Data Parallel C++. Наконец, отличная тема для наше...

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

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

4 новых игры в Apple Arcade: пати-битва PAC-MAN, бейсбол от Gameloft и пара крутых головоломок Каждые выходные компания Apple заставляет пользователей Android-устройств кусать локти, обновляя ассортимент игр в сервисе Arcade. Не все из представленных проектов — шедевры, но в большинстве случаев уровень повыше типичных новинок в Google Play и App Store. В этот раз по ...

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

Microsoft признала проблему, которая есть во всех актуальных версиях Windows 10 Компания Microsoft признала одну из проблем в операционной системе Windows 10, которая охватывает почти все версии ОС. Об этом сообщается на странице службы поддержки.  Она особенно сильно проявляется у пользователей, активировавших режим «Быстрый запуск&raq...

Портативная док-станция Elgato Thunderbolt 3 Mini Dock с возможностью подключения пары мониторов и проводной сети и с «обычным» USB-портом Хабы с интерфейсом Thunderbolt 3 становятся все более популярными у производителей, чему способствует и все большее распространение данного интерфейса в наиболее компактных ноутбуках. В таком разъеме USB Type-C инкапсулируются интерфейсы DisplayPort и PCIe 3.0 x4, что позвол...

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

S for Security: безопасность в Интернете Вещей и доклады на InoThings++ 2019 — Шеф, у нас дыра в безопасности! — Ну хоть что-то у нас в безопасности... Привет, Хабр! В комментариях к предыдущему посту про InoThings++ высказали мнение, что в Интернете Вещей есть более важная для обсуждения область, нежели вмешательство государства — это область обес...

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

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

Раскрыты пять пропатченных уязвимостей в iOS Участники команды Google Project Zero раскрыли подробности о пяти из шести найденных ими уязвимостей в iOS. Все они позволяли проводить удаленные атаки на систему без взаимодействия с пользователем. Компания исправила ошибки в последнем обновлении системы, 12.4, которое вышл...

Как могли бы выглядеть регистры в 1С при наличии ООП В 1С одним из ключевых элементов системы являются регистры. Этот термин имеет свой аналог в английском языке — ledger. Он первоначально появился в бухгалтерской практике, но со временем его логика начала использоваться и в других сферах. В отличие от 1С, где регистры явля...

[Перевод] MVC в Unity со Scriptable Objects. Часть 1 MVC (Model-View-Controller) — это схема, предполагающая разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента, чтобы каждый из них можно было независимо модифицировать. Разработчик Cem Ugur Karacam поделился своим опытом ...

[recovery mode] Как учиться с помощью машинного обучения у экспертов в Dota 2 В предыдущей статье от Питерской Вышки мы показывали, как при помощи машинного обучения можно искать баги в программном коде. В этом посте расскажем о том, как мы вместе с JetBrains Research пытаемся использовать один из самых интересных, современных и быстроразвивающихся ра...

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

[Перевод] Как мы оптимизировали свой Theme Hospital под разные платформы Project Hospital — это игра об управлении зданием больницы со всеми стандартными аспектами жанра: динамическими сценами, создаваемыми игроком, множеством активных персонажей и объектов, развёрнутой системой UI. Чтобы заставить игру работать на разном оборудовании, нам пришл...

Мужчина, pause on caught exceptions Поговорим о практическом применении одной очень интересной темы — системного мышления. Принципов и методов в системном мышлении много, очень рекомендую почитать соответствующую литературу. Например, простую и интересную книгу. Сегодня мы затронем только один принцип — эмерд...

Высокоуровневая репликация в СУБД Tarantool Привет, я занимаюсь созданием приложений для СУБД Tarantool — это разработанная в Mail.ru Group платформа, совмещающая в себе высокопроизводительную СУБД и сервер приложений на языке Lua. Высокая скорость работы решений, основанных на Tarantool, достигается в частности за сч...

Опубликованы спецификации PCI Express 6.0 Пока интерфейс PCI Express 4.0 только готовится к появлению в потребительских продуктах, консорциум PCI-SIG уже анонсировал первичные спецификации PCI Express 6.0. Итак, PCIe 6.0 удвоит скорость передачи данных до 64 ГТ/с и до 256 ГБ/с, сохранив обратную совместимость ...

Автоматизация задач администрирования API VMware vSphere с использованием Python В нашей компании активно используется платформа для виртуализации VMware vSphere. В ней живут тестовые среды продуктов, демонстрационные стенды, эмуляторы различных инфраструктур заказчиков и прочие не менее важные «виртуалки». Несмотря на достаточную мощность нашей инфрас...

Инструменты Node.js разработчика. Удаленный вызов процедур на веб-сокетах О технологии websocket часто рассказывают страшилки, например что она не поддерживается веб-браузерами, или что провайдеры/админы глушат трафик websocket — поэтому ее нельзя использовать в приложениях. С другой стороны, разработчики не всегда заранее представляют подводные к...

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

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

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

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

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

[Перевод] Пессимизм насчёт многопоточности Массивный и аппаратный параллелизм — горячие темы 21 века. Для этого есть несколько приятных причин и одна довольно печальная. Две приятные причины: комбинация отличной работы GPU в играх и при этом их неожиданное побочное использования в глубоком обучении ИИ, поскольку там...

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

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

[Перевод] Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики О Python Python — это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической семантикой. Встроенные структуры данных высокого уровня в сочетании с динамической типизацией и динамическим связыванием делают его очень привлекательным для...

Реальные деньги от казино Вулкан Вы когда-нибудь задумывались над тем, почему многие люди сегодня предпочитают проводить досуг в интернете? На самом деле, ответить на этот вопрос достаточно просто, ведь с помощью интернета мы можем максимально экономить собственное время, и при этом с комфортом и удобством ...

[Перевод] Язык программирования Swift на Raspberry Pi Raspberry PI 3 Model B+ В этом мануале мы разберем основы использования Swift на Raspberry Pi. Raspberry Pi — небольшой и недорогой одноплатный компьютер, потенциал которого ограничен лишь его вычислительными ресурсами. Он хорошо известен техногикам и любителям DIY. Это о...

«Алиса, пойдём во фронтенд!» Голосовые помощники — не далёкое будущее, а реальная действительность. Alexa, Siri, Google Now, Алиса встроены в «умные» колонки, часы и телефоны. Они постепенно меняют наш способ взаимодействия с приложениями и устройствами. Через ассистента можно узнать прогноз погоды, куп...

Swift under the hood: Generic implementation Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner. — Swift docsКаждый, кто писал на ...

Что нового в настройках конфиденциальности iOS 13 Apple не просто рекламирует конфиденциальность, как функцию в своих продуктах. У нее есть специальная страница, на которой в деталях объясняют как именно работают функции конфиденциальности. Компания обновляет ее уже четвертый год подряд. В этом году, Apple сделала акцент на...

Всё, кроме Kotlin: Андрей Бреслав о гендерном балансе в IT, эмоциях и не только Андрей Бреслав (abreslav) известен прежде всего как человек, возглавляющий работу над языком Kotlin. Но в последнее время он стал выступать с докладами совсем о другом: весной говорил о важности эмоций при работе в IT, а в августе на TechTrain представит доклад «Это выгодн...

Security Week 39: безопасность и банальные ошибки На прошлой неделе специалист по безопасности Авинаш Джайн обнаружил (новость, оригинальный блогпост) в общем доступе сотни пользовательских календарей в сервисе Google Calendar. Такие календари индексируются поисковыми сервисами, и в самом Гугле доступны по простому запросу ...

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

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

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

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

Первые подробности о MIUI 11: «глобальный» режим Dark Mode, функция жесткого энергосбережения, новые иконки и уведомления Господин Лю Мин, возглавляющий подразделение Xiaomi по разработке MIUI, провел с пользователями социальной сети своеобразную пресс-конференцию, на которой поделился подробностями о MIUI 11. Благодаря этому приоткрылась завеса тайны над новой версией фирменной оболочки с...

[Перевод] Есть ли в CSS случайные числа? CSS позволяет создавать динамические макеты страниц и интерфейсы веб-проектов. Но CSS — статический язык. После того, как задано некое значение, изменить его нельзя. Идея случайного изменения неких значений здесь не рассматривается. Генерирование случайных чисел — это тер...

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

Бывшие руководители Apple считают, что компании стоит начать создавать смартфоны специально для Китая Несмотря на то, что текущие проблемы Apple явно обусловлены тем, что руководство не хотело прислушиваться к первым звоночкам ещё в прошлом году, компанию нельзя упрекнуть в том, что она не меняется. Плохо это или хорошо, но Apple постепенно превращается из компании, ст...

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

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

Облачная магия: 3 причины, чтобы полюбить Chrome OS Не так давно я рассказывал о том, как установить операционную систему Chrome OS на домашний ПК или ноутбук. После знакомства с данной статьей, многие читатели наверняка задались вопросом: "зачем мне оно нужно, я и на винде себя неплохо чувствую". Вот именно для тебя, дорогой...

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

#Опрос: Кто виноват, если вас обчистили из-за бага в бете iOS 13? В последнее время только и разговоров, что о багах iOS 13. Сначала мы выяснили, что приложение «Локатор», которое ищет даже выключенные устройства, сливает данные об их местоположении посторонним. Потом узнали о риске удаления всех данных из iCloud Drive в процессе установк...

Готовое решение markdown2pdf с исходным кодом для Linux Предисловие Markdown это прекрасный способ написать небольшую статью, а иногда и достаточно объемный текст, с несложным форматированием в виде курсива и толстого шрифта. Также Markdown неплох для написания статей с включением исходного кода. Но иногда хочется без потерь, тан...

[Перевод] Почему люди не используют формальные методы? На Software Engineering Stack Exchange я увидел такой вопрос: «Что мешает широкому внедрению формальных методов?» Вопрос был закрыт как предвзятый, а большинство ответов представляли собой комментарии типа «Слишком дорого!!!» или «Сайт — это не самолёт!!!» В каком-то смысле ...

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

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

Ошибка в прошивке корпоративных SSD HP приводит к потере накопителя и всех данных после 32 768 часов работы Компания HP сообщила своим клиентам, что во встроенном программном обеспечении некоторых из ее SSD с интерфейсом SAS есть ошибка, которая приводит к отказу, когда срок эксплуатации достигает 32 768 ч. Если SSD включен постоянно, это означает 3 года, 270 дней и 8 часов и...

Microsoft выпускает накопительные обновления для Windows 10: KB4524147, KB4524148, KB4524149, KB4524150, KB4524151, KB4524152 и KB4524153 Microsoft выпустила новые накопительные обновления для всех версий Windows 10, включая последний стабильный выпуск, который называется «May 2019 Update».Удивительно, но эти накопительные обновления помечаются как исправления безопасности, хотя они и не попадают в типичный еж...

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

Темы и стили в Android без магии. И как их готовить с SwitchCompat В предыдущей статье мы рассмотрели как использовать темы и стили на уровне кода, на примере кастомной view. В этой статье давайте разберем несколько способов стилизации стандартного ui элемента, а в частности SwitchCompat. Читать дальше →

Обзор Strategic Mind: The Pacific. Реальная война Жанр стратегий в последнее время умирает — на создание качественной игры нужно потратить тьму ресурсов, а геймеры потом все равно купят шутер или ролевую игру. Тем не менее, на рынке все еще есть редкие представители, которые могут удивить и порадовать чем-то действительно и...

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

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

Книга (бытия?). Размышления о природе разума. Часть I • Что такое разум, сознание. • Чем отличается познание от осознания? • Сознание, самосознание — одно и то же? • Мысль — что такое мысль? • Творчество, воображение — что-то загадочное, присущее человеку, или… • Как устроен разум. • Мотивация, целеполагание — зачем ...

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

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

Песнь льда (кровавый Enterprise) и пламени (DevOps и IaC) Тема DevOps и IaC очень популярна и развивается быстро. Однако большинство авторов касаются сугубо технических проблем на этом пути. Я же опишу проблемы, характерные для большой компании. Решения у меня нет — проблемы, в общем, фатальны и лежат в области бюрократии, аудита, ...

Как могла бы выглядеть iOS, если бы Apple вернула скевоморфизм Apple отказалась от скевоморфизма 6 лет назад, но многие продолжают о нём мечтать Несмотря на то что с момента отказа Apple от скевоморфизма в iOS прошло целых шесть лет, остались ещё те, кто по-прежнему мечтает о его возвращении. За это время выросло новое поколение пользов...

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

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

Чего мне не хватает в Java после работы с Kotlin/Scala В последнее время я часто слышу о том, что Java стала устаревшим языком, на котором сложно строить большие поддерживаемые приложения. В целом, я не согласен с этой точкой зрения. На мой взгляд, язык все еще подходит для написания быстрых и хорошо организованных приложений. О...

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

Долгосрочное хранение метрик Prometheus (Алексей Палажченко, Percona) За короткое время Prometheus стал одним из самых популярных средств для мониторинга. Благодаря, в том числе, и высокой скорости своей работы. Его локальное хранилище отлично подходит для краткосрочного хранения метрик и работы с ними. Иногда хочется хранить метрики распредел...

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

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

Smart IdReader SDK — встраиваем распознавание в проекты на Python и PHP Мы, Smart Engines, продолжаем цикл статей про то, как встроить наши технологии распознавания (паспортов, банковских карт и других) в ваши приложения. Ранее мы уже писали про встраивание на iOS и Android, показывали, как встроить распознавание в Телеграм-бота, а сегодня мы ра...

Три чипсетных и два дискретных SATA-контроллера: изучаем влияние на производительность современного SSD Любой накопитель «общается» с системой не через вакуум, а посредством того или иного интерфейса — обычно PCIe или SATA. Второй считается недостаточным даже в самой скоростной своей версии, что регулярно подчеркивается во всех обзорах. Казалось бы, если уж производительность ...

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

Коротко о работе с RabbitMQ из Python Так повелось, что в процессе работы в МегаФоне, приходится сталкиваться с однотипными задачами при работе с RabbitMQ. Закономерно возникает вопрос: «Как упростить и автоматизировать выполнение таких задач?» Первое решение, которое приходит в голову, использовать интерфейс ...

Случайные числа и децентрализованные сети: имплементации Введение function getAbsolutelyRandomNumer() { return 4; // returns absolutely random number! } Как и в случае с концепцией абсолютно стойкого шифра из криптографии, реальные протоколы “Publicly Verifiable Random Beacon” (далее PVRB) лишь пытаются максимально приблиз...

ИИ в собственном SOC’у: мечтают ли руководители центров мониторинга кибератак об электроаналитиках Тематика искусственного интеллекта, зародившаяся еще в 60-х годах, сейчас переживает просто сумасшедший бум. Компьютеры обыгрывают шахматистов и поклонников Го, порой точнее врача ставят диагнозы, нейронные сети (на этот раз не имеющие отношения к умам трех инженеров техподд...

Криптокошелек Coinomi отсылал пароли в Google Десктопная версия криптокошелька Coinomi отправляла незашифрованные пароли пользователей в сервис Google для проверки правописания (Google Spellcheck API). Проблему обнаружил ИБ-специалист из Омана Варит Аль-Маавали (Warith Al Maawali) после того, как с его аккаунта пропало ...

Минималистичный онлайн-симулятор линейных DC и AC цепей Расскажу о своем поделии, которое я использовал на бывшей работе. Преподавание теоретической электротехники предполагает решение многочисленных задач и выполнение экспериментов в ходе лабораторных работ. Результаты решения задачи или выполнения эксперимента, естественно, жел...

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

Аппликативные парсеры на Haskell Мотивация Когда я только начинала осваивать Haskell, меня очень раздражало повсеместное использование сложных абстракций вместо каких-то конкретных решений. Мне казалось, что гораздо лучше всегда следовать принципу KISS и писать велосипеды с использованием элементарных конс...

Предлагаемые изменения в Chromium нарушат работу uBlock Origin Разработчик uBlock Origin заявил, что его расширение для блокировки рекламы не сможет работать, если будут приняты изменения в Chromium. Речь идёт о внедрении declarativeNetRequest API, которые лишают возможности использовать webRequest API. Google считает, что изменения нео...

В анализаторе все должно быть прекрасно: и функциональность, и интерфейс… Изучаем новый интерфейс Solar appScreener 3.1 Как говаривал Генри Форд, все можно сделать лучше, чем делалось до сих пор. Вот и мы так подумали, когда приступили к работе над версией 3.1 нашего анализатора защищенности приложений. Нам ОООЧЕНЬ хотелось сделать наш продукт не только самым крутым по функциональности: напри...

Как убрать спам в Google Календаре на Android Даже лучший календарь не защищён от спама Google ведёт давнюю борьбу со спамом и, надо отдать ей должное, довольно неплохо справляется. В результате в Gmail практически не попадают рассылки, на которые вы не подписывались. Тем не менее, по мере совершенствования механизмов б...

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

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

SonarQube и IntelliJ IDEA: правильная интеграция SonarQube — отличный инструмент для внедрения статического анализа кода в процесс разработки ПО. Он поддерживает как используемую у нас в компании Java, так и большое количество других языков программирования. На данный момент этот инструмент плотно вошёл в нашу жизнь, сле...

Контроллер Google Stadia может следить за пользователями Google может следить при помощи джойстика? Как? Контроллер стримингового сервиса для игр Google Stadia — это, по заверению поискового гиганта, «лучший способ играть в игры» на данной платформе. Причем, что очень удобно, вы можете использовать его на Android, ...

[Перевод] Многопоточность в Node.js: модуль worker_threads 18 января было объявлено о выходе платформы Node.js версии 11.7.0. Среди заметных изменений этой версии можно отметить вывод из разряда экспериментальных модуля worker_threads, который появился в Node.js 10.5.0. Теперь для его использования не нужен флаг --experimental-worke...

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

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

Wanhao D7 plus, разбираем полёты. Начнем с кишочков. ч. 1 Всем печатного счастья.Не уверен, что эта тема не изжёвана вдоль и поперек, но специально я не выискивал. По-этому обозначу чисто для себя и мало ли, кому будет интересно.Это записью я начну серию, в которой хочу разобрать достоинства и косяки этого принтера досконально.И та...

[Из песочницы] Антипаттерны в React или вредные советы новичкам Привет, Хабр. Ровно год прошел с момента, как я начал изучать React. За это время я успел выпустить несколько небольших мобильных приложений, написанных на React Native, и поучаствовать в разработке web-приложения с использованием ReactJS. Подводя итог и оглядываясь назад н...

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

Podlodka #134: Scala Сейчас довольно часто говорят о том, что мейнстримовые языки программирования все чаще заимствуют концепции из мира функционального программирования, но при этом отдают главенствующую роль парадигме ООП. Этому подвержены как молодые языки, так и языки с долгой историей. Поэт...

Пример разбора C++ кода с помощью libclang на Python На одном личном проекте на C++ мне потребовалось получать информацию о типах объектов во время выполнения приложения. В C++ есть встроенный механизм Run-Time Type Information (RTTI), и конечно же первая мысль была использовать именно его, но я решил написать свою реализацию,...

Поваренная книга разработчика: DDD-рецепты (4-я часть, Структуры) Введение Итак, мы уже определились с областью применения, методологией и архитектурой. Перейдем от теории к практике, к написанию кода. Хотелось бы начать с шаблонов проектирования, которые описывают бизнес логику — Service и Interactor. Но прежде чем приступить к ним, изучи...

Как изменить тему на Samsung Galaxy Одной из вещей, которая нравится пользователям в платформе Android, является то, что она намного больше поддаётся всяческой настройке и кастомизации, чем другие ОС. Смартфоны Samsung, работающие под управлением One UI, фирменным ПО южнокорейского производителя, созданного н...

Cборка динамических модулей для Nginx Недавно мы собирали динамический модуль для Nginx, а когда всё было уже готово, то выяснилось, что наш модуль оказался не совместимым с Nginx, который уже был установлен на сервере. Готового решения возникшей проблемы нам найти не удалось и мы начали бороться с ней самостоя...

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

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

Революция или боль? Доклад Яндекса о React Hooks Меня зовут Артём Березин, я разработчик нескольких внутренних сервисов Яндекса. Последние полгода я активно работал с React Hooks. По ходу дела возникали некоторые сложности, с которыми приходилось бороться. Теперь хочу поделиться этим опытом с вами. В докладе я разобрал Rea...

[Из песочницы] Как с нуля написать приложение? С чего начать новичку? Flutter / Программирование Пол года назад я сама искала такую статью и теперь я очень хочу посоветовать себе в прошлом с чего можно начать. 1. Выбрать тему приложения Не нужно долгих мук выбора, просто начните делать то, что вам пригодилось бы. Лучше что-то простое. Нужно понимать, что мы пока не стр...

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

WWDC 2019: Черный стриж В “яблочной” экосистеме грядут перемены. Скорее всего, радикальные. Для пользователя программа – это её пользовательский интерфейс, UI. До SwiftUI, с 1988 и до наших дней, в NeXTSTEP и в её потомках процесс создания UI оставался, в основном, тем же. И вот… Swift, которому к...

Пять перспективных языков программирования со светлым будущим (3 года спустя) В 2016-м году я опубликовал перевод статьи про 5 перспективных языков программирования, в которой прогнозировался их рост в ближайшие 2-3 года. Зачастую прогнозы так и остаются прогнозами, без последующего анализа. Но я решил, что это непорядок. И посколько 3 года уже проле...

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

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

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

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

Тренировки отряда «Альфа» ЦСН ФСБ приводят к огнестрельным ранениям Боевое оружие используется на спецназовцах для того чтобы выжить? Использование боевых патронов во время тренировок спецназовцев «Альфы» вопреки уставам боевой подготовки подтвердил подполковник запаса ФСБ РФ Алексей Филатов в своем интервью. Подобная практика широко примен...

Оформить тёмную тему с умом: заметки, инструкции и примеры для дизайнеров интерфейсов От Microsoft, «Яндекса», «ВКонтакте» и других компаний.

Живут ли базы данных в Kubernetes? Как-то так исторически сложилось, что IT-индустрия по любому поводу разбивается на два условных лагеря: которые «за» и которые «против». Причем предмет споров может быть абсолютно произвольным. Какая ОС лучше: Win или Linux? На смартфоне Android или iOS? Хранить все в обла...

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

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

Что нового в iOS 12.2 Beta 3: редизайн Apple TV Remote, настройка новостей Apple, исправление ошибок и многое другое Вчера Apple выпустила третью бета-версию iOS 12.2 для разработчиков, и, как и в большинстве ранних бета-версий, новое программное обеспечение вводит улучшения и изменения пользовательского интерфейса для различных функций. Существует несколько незначительных изменений, таких...

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

[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...

Реальные испытания Samsung Galaxy Note 10+ 5G: невероятная скорость передачи данных и ужасная автономность Samsung Galaxy Note 10+ 5G — не первый смартфон с поддержкой 5G, но, вероятно, потенциально один из самых популярных в ближайшее время. Специалист ресурса MacWorld протестировал этот смартфон в США в сети Verizon в Провиденсе. Результаты оказались весьма неоднозна...

Основатель Microsoft назвал свою самую большую ошибку В недавнем интервью венчурной компании Village Global основатель компании Microsoft Билл Гейтс рассказал о том, что считает своей самой большой ошибкой. «В мире программного обеспечения, особенно это справедливо по отношению к платформам, победитель получ...

Где же начинается программирование Давным давно мы разработали высокоуровневую платформу для разработки бизнес-приложений lsFusion. Оставалось дело за малым: найти того, кто будет на ней писать. Было решено разместить на сайтах по поиску работу соответствующую вакансию. Но возник вопрос: что указывать в кач...

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

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

Конструирующий XPath? Алгоритмический XPath? Ничего, кроме XPath Здравствуйте, уважаемые читатели. В этой публикации речь пойдет о немного нестандартных применениях такого хорошо известного формализма как XPath. Все знают, что он очень удобен для извлечения информации из XML- или HTML- или еще каких-нибудь *ML-документов (как простых текс...

Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...

[Из песочницы] Использование Conditional в Spring В этом материале я хочу описать очень полезную, и часто используемую аннотацию Conditional и интерфейс Condition. Контекст Spring — это огромный контейнер различных бинов, как самого спринга, так и пользовательских. Всегда хочется иметь гибкие инструменты управления этим зо...

Тёмный режим — новый тренд? Тёмный тема – вещь довольно полезная, она станет трендовой в 2019 году. Хотя даже сейчас прослеживается стремление компаний внедрять её в свои сервисы. Конечно, пока проблема заключается в разработчиках сайтов, которые используют лишь один светлый шаблон, однако в будущем, ...

Разработчики Google пропатчили 39 уязвимостей в Chrome Корпорация Google выпустила обновление для своего браузера. Стабильная версия Chrome 74.0.3729.108 доступна для пользователей Windows, macOS, Linux и Chrome OS. В ней исправлены 39 уязвимостей, 19 из которых обнаружили сторонние исследователи. Независимые исследователи нашли...

4 альтернативы приложению «Напоминания» на iOS В экосистеме Apple напоминания работают таким образом, что вы никогда не забудете о том, что запланировали. Поставив напоминание на компьютере, вы можете быть уверены, что оно достанет вас и на телефоне. Но это не единственный способ следить за своими делами и не забыть, чт...

Накопительное обновление KB4512941 исправляет серьезную ошибку в Windows 10 версии 1903 Последнее накопительное обновление, выпущенное Microsoft для Windows 10 версии 1903, устраняет ошибку, возникающую в «Песочнице» Windows после установки другого обновления.В частности, Microsoft признала ошибку, приводившую к неисправности Windows Sandbox после установки нак...

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

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

Кот Шрёдингера без коробки: проблема консенсуса в распределённых системах Итак, представим. В комнате заперты 5 котов, и чтобы пойти разбудить хозяина им необходимо всем вместе договориться между собой об этом, ведь дверь они могут открыть только впятером навалившись на неё. Если один из котов – кот Шрёдингера, а остальные коты не знают о его реше...

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

[Перевод] 11 мифов про USB Type-C Из-за популярности стандарта USB появилось несколько связанных с ним мифов – в частности, касательно его последнего варианта, USB-C с питанием (PD). Интерфейс USB стал практически универсальным – примечательное достижение, которому помогло то, что интерфейс позволяет переда...

Миром будущего будут править не умные машины, а… мудрые киборги Когда мы думаем о мудрости, на ум приходят древние философы, мистики или духовные лидеры. Мудрость почему-то ассоциируется с прошлым. Однако некоторые интеллектуальные лидеры предлагают нам пересмотреть мудрость в контексте технологического развития будущего. С развитием эк...

У цветового треугольника не два, а один угол Как увидеть цвет, которого в природе не бывает? Четыре года назад на Хабое был пост с интересным и полезным видео «Как устроен цвет». Лектор — Дмитрий Николаев, заведующий сектором зрительных систем ИППИ РАН. Я сделал расшифровку (в меру своего понимания материала), пото...

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

Textly.AI – сервис для улучшения письменного английского Всем привет! Сегодня хотел рассказать вам о своем новом проекте – онлайн-помощнике для исправления ошибок в англоязычных текстах Textly.ai. Это сервис для тех, кто использует английский язык в коммуникациях или хочет улучшить навыки письма. Как это работает: расширения для ...

На The Pirate Bay перестали появляться новые торренты У The Pirate Bay 2018 год был особенно сложным. Попытки (и не всегда безуспешные) разделегировать домен ресурса, нехватка средств на содержание трекера, атаки со стороны правительственных органов разных стран и компаний. Все это привело к тому, что в работе The Pirate Bay с...

[Перевод] Веб-компоненты: 9 проектов, о которых стоит знать в 2019 году Автор материала, перевод которого мы сегодня публикуем, полагает, что если вы собираетесь использовать при проектировании интерфейсов своих приложений веб-компоненты и подыскиваете подходящую библиотеку, независимую от UI-фреймворков, вам стоит взглянуть на те проекты, о кот...

Чипсеты AMD B550 и A520 всё-таки не получат поддержку PCIe 4.0 Пару дней назад мы сообщали о том, что в следующем году всё же появятся чипсеты AMD линейки 500 Series, которые станут основой более доступных системных плат. Речь о наборах логики B550 и A520. При этом сообщалось, что оба якобы получат поддержку PCIe 4.0. Ресурс DigiTi...

Как бороться с flaky тестами в opensource-сообществе С проблемой flaky-тестов сталкиваются многие проекты, и тема эта уже не раз поднималась на Хабре. Тесты, не определившиеся со своим состоянием, постоянно отнимают не только машинное время, но и время разработчиков и тестировщиков. И если в коммерческой компании можно выделит...

Новые iPhone могут получить зарядное устройство с интерфейсом USB Type-C Всё ближе презентация новых смартфонов Apple, которая должна состояться в сентябре, поэтому вокруг iPhone появляются новые слухи. Согласно имеющимся данным, iPhone 11 будут официально анонсированы 10 сентября. По сообщениям сетевых источников, новые iPhone могут комплектоват...

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

Фотогалерея дня: интерфейс EMUI 10 в смартфоне Huawei P30 Pro Компания Huawei анонсировала интерфейс EMUI 10 вчера и пообещала, что в сентябре для смартфонов P30 и P30 Pro появится его бета-версия. Но источник предлагает не ждать сентября и прямо сейчас посмотреть на то, как выглядит EMUI 10 на смартфоне. В данном случае, на P30 P...

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

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

[Перевод] LLVM с точки зрения Go Разработка компилятора — очень тяжёлая задача. Но, к счастью, с развитием проектов наподобие LLVM, решение этой задачи значительно упрощается, что позволяет даже программисту-одиночке создать новый язык, близкий по производительности к C. Работа с LLVM осложняется тем, что э...

Количество ошибок в коде не зависит от языка программирования Почти пять лет назад было опубликовано исследование о том, что определённые языки программирования приводят к появлению большего числа багов.

5 защитных функций iOS 13, которые уберегут вас от слежки iPadOS — лучшее, что случалось с iPad Ежегодно Apple проводит масштабную работу по совершенствованию iOS. Но если новые функции вроде ночной темы или увеличенного быстродействия мы замечаем сразу, то защитные механизмы, как хороший шпион, действуют более скрытно. В рез...

Ускорение запуска Julia при помощи PackageCompiler.jl Зайдя на официальный сайт языка программирования Julia, можно увидеть утверждение: "Julia is fast!". Однако, новые пользователи на практике сталкиваются с проблемой медленной загрузки модулей, в особенности графических [1,2]. Диалектически, причиной медленного запуска являет...

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

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

Что происходит в мозге, когда рождается мысль? Несмотря на то, что в настоящее время строение головного мозга хорошо изучено, ученые до сих пор не могут точно объяснить механизмы его работы Знаете ли вы, что у комаров нет мозга? Возможно, знание этого факта полностью удовлетворит тех, кого не устраивает комариное поведен...

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

«Не так важны инструменты, как умение мыслить о системах, которые они создают». Большое интервью с Мартином Клеппманом Мартин Клеппман (Martin Kleppman) – исследователь в Кембриджском университете, работающий над CRDT и формальной верификацией алгоритмов. Его книга «Designing Data-Intensive Applications», опубликованная в 2017 году, стала бестселлером в области хранения и обработки данных....

[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...

Функциональная обработка ошибок в Kotlin с помощью Arrow Привет, Хабр! Все любят runtime exceptions. Нет лучшего способа узнать о том, что что-то не было учтено при написании кода. Особенно — если исключения обваливают приложение у миллионов пользователей, и эта новость приходит паническим email'ом с портала аналитики. В суббот...

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

PVS-Studio for Java отправляется в путь. Следующая остановка — Elasticsearch Далеко не первый год команда PVS-Studio ведет блог о проверках open-source проектов одноименным статическим анализатором кода. На сегодняшний момент проверено более 300 проектов, а в базу найденных ошибок выписано более 12000 случаев. Изначально анализатор был реализован дл...

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

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

Google оштрафовали на 57 миллионов долларов из-за персональных данных пользователей IT-компании то и дело оказываются в центре внимания из-за очередного судебного разбирательства. При этом зачастую чем крупнее компания — тем сильнее резонанс вокруг судебного процесса. Однако бывает и так, что сведения о принятии решения по довольно серьезному делу ос...

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

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

Почему вам стоит участвовать в хакатонах Примерно полтора года назад я начал участвовать в хакатонах. За этот временной промежуток я успел принять участие в более чем 20 мероприятиях различного масштаба и тематик в Москве, Хельсинки, Берлине, Мюнхене, Амстердаме, Цюрихе и Париже. Во всех мероприятиях я занимался ...

Пользователи жалуются на работу Apple T2 в новых Mac Ни для кого не секрет, что многие пользователи выбирают Mac для профессиональной деятельности. Разумеется, выбор на эти устройства пал не случайно — долгое время компьютеры Apple считались эталоном стабильности и надежности. Однако, это уже не так — владельцы но...

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

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

Apple никогда не вернёт HDMI и слот для SD-карт в свои ноутбуки Пользователи хотят, чтобы Apple вернула старые разъёмы в новые MacBook, но этого не случится Apple не боится принимать непопулярные решения, если считает, что так будет лучше. Чаще всего компании неважно, что подумают или скажут пользователи, которые, как показывает практика...

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

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

Transcend выпустила портативный SSD ESD250C с интерфейсом USB 3.1 Gen 2 Компания Transcend представила портативный твердотельный накопитель ESD250C в корпусе, выполненном из алюминиевого сплава. Накопитель оснащен разъемом USB-C и интерфейсом USB 3.1 Gen 2, что обеспечивает скорость передачи данных до 520 МБ/с при чтении и до 460 МБ/с при з...

Статическое распределение объектов FreeRTOS По умолчанию все объекты в системе FreeRTOS распределяются динамически — очереди, семафоры, таймеры, задачи (потоки), и мьютексы. Программист видит только «кучу» — область где динамически выделяется память по запросу программы или системы, а что там творится внутри – не ясно...

[Перевод] Python становится самым популярным языком программирования в мире Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может пов...

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

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

Так мог бы выглядеть iPhone 12 Дизайнер представил свое виденье iPhone 12 Каким должен быть iPhone будущего? У каждого свое представление на этот счёт. Одни пользователи хотят добавить экранный дактилоскопический сканер, другие — убрать выпирающую камеру, третьи — полностью избавиться от вырез...

Проблемы использования сервиса Яндекс.Метрика В последние дни наблюдаем весьма странное поведение сервиса Яндекс.Метрика. Некоторые сайты, в которых нужно вводить/выбирать пользовательские данные, стали вести себя не очень адекватно. При полной очистке истории браузера проблема пропадает, однако далее всё возобновляется...

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

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

[Перевод] React, JSX, импорт ES модулей (в том числе динамический) в браузере без Webpack Эта статья — попытка свести воедино имеющиеся на текущий момент средства и выяснить, возможно ли создавать production ready приложения на React без предварительной компиляции сборщиками типа Webpack, или по крайней мере свести такую компиляцию к минимуму. Все описанное носит...

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