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

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

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

История взлома классической игры на Dendy или Contra со спрэдганом в начале Раз уж прошлая моя статья, к моему большому удивлению, вас заинтересовала. Я решил дополнить её результат, хакнутую версию игры "Contra (J) [T+Rus_Chronix]", небольшим функционалом, заодно показав "code injection" на NES. В этот раз я сделаю так, чтоб игроки начинали игру с ...

Зоопарк AFL фазеров На Хабре уже пару раз появлялись статьи, поднимающие тему American Fuzzy Lop (AFL) (1,2). Но в данной статье речь пойдет не о классическом AFL, а о вспомогательных утилитах для него и его модификациях, которые, на наш взгляд, могут значительно улучшить качество фаззинга. Е...

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

Почему валидации email регуляркой недостаточно. Проверка MX-записей с примерами на PHP и Ruby Уж сколько раз твердили Миру… Существует давний и, вероятно, нескончаемый спор о том, какой именно регуляркой правильно и нужно проверять поле email пользователя. Да, проверять регуляркой действительно нужно. Но ведь наши продукты работают в Сети. Так почему бы не использов...

[Перевод] Почему программисты продолжают использовать многословный Java, хотя есть лаконичный Python Java и Python — одинаково популярные языки программирования. Однако Python более продуктивен: в нем меньше объем кода, нужного для решения задачи. Почему же программисты до сих пор работают с Java там, где можно применить Python? Давайте разбираться. Читать дальше →

Устанавливаем GUI на Windows Server Core В прошлом нашем посте мы рассказали как готовим стандартные клиентские виртуальные машины и показали на примере нашего нового тарифа Ultralight за 120 рублей, как мы создавали стандартный образ Windows Server 2019 Core. В службу поддержки стали поступать заявки как работать...

Талисман для стабильной связи Для чего нужен мобильный Интернет, например, 4G? Чтобы путешествовать и быть всё время на связи. Вдали от мегаполисов, где нет привычного бесплатного Wi-Fi, и жизнь идёт своим спокойным чередом. А ещё он нужен, чтобы иметь доступ в Сеть, посещая удалённые объекты, где не пр...

PHP Xdebug proxy: когда стандартных возможностей Xdebug не хватает Для отладки PHP-программ часто используют Xdebug. Однако стандартных возможностей IDE и Xdebug не всегда достаточно. Часть проблем можно решить с помощью Xdebug proxy — pydbgpproxy, но всё же не все. Поэтому я реализовал PHP Xdebug proxy на базе асинхронного фреймворка amph...

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

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

[Из песочницы] 4 Причины, почему вы должны забыть о Redux в приложениях на React Я работаю с Реактом на протяжении почти 3 лет, использовал как Redux так и MobX и у меня к текущему моменту возник вопрос. Почему абсолютное большинство front-end разработчиков продолжают свято верить в то, что Redux + Redux Saga + Reselect + 100500 других библиотек «облегча...

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

Математические неопределенности на примере Python Всем привет! Мы очень часто пользуемся привычными числами в наших любимых языках программирования. Привычные это 1, -1.5, pi или даже комплексные. А вот NaN, +Inf, -Inf используется нами гораздо реже. Примечание: В статье я использую элементарные функции Python версии 3.6....

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

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

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

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

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

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

Мгновенная настройка привычных файловых ассоциаций Автоматизировал задание файловых ассоциаций, то есть выбор программы которая будет открывать файл из Explorer/Finder. И делюсь. Сначала проблематика. Файлы нужных расширений часто не открываются по умолчанию ничем, а если открываются, то каким-нибудь iTunes. Под windows нужн...

[Из песочницы] Сергей Голубев: «Самое лучшее, что можно сделать для OSM сейчас — взять дамп планеты, удалить его и начать всё заново» Сергей Голубев — натуралист, опытный осмер и автор блога «Город Шахты». Его размышления об OpenStreetMap всегда неожиданны, а потому вдвойне интересны. Он умеет найти необычный ракурс и на привычное посмотреть под другим углом. Зачем OSM нужны катастрофы, почему у него не су...

Топ 5 книг, которые нужно прочитать художнику Чтобы попасть в игровую индустрию, мало уметь хорошо делать своё дело. Для ребят из Banzai.Games учеба не заканчивается никогда. А все потому, что голод до новых знаний — штука посильнее творческих амбиций. Сегодня мы поделимся с вами самым ценным (после своих игр, конечн...

Что нам стоит IoT построить? Свой IoT на Amazon за один день Начать разбираться с IoT (Internet of Things) платформами меня останавливало отсутствие IoT устройства, которое было бы совместимо по протоколам и способам доступа. Но когда я понял, что в качестве устройства можно использовать обыкновенный смартфон, то реализация работающей...

[Перевод] Чему VR-рынок может научить геймдизайнера? VR жив и продолжает развиваться. Но что нужно VR-игре, чтобы приносить прибыль? Давайте посмотрим, как можно анализировать рынок, и почему полезно знакомиться с тайтлами из топов. Читать дальше →

[Перевод] Когда «Zoë» !== «Zoë», или почему нужно нормализовывать Unicode-строки Никогда не слышали о нормализации Unicode? Вы не одиноки. Но об этом надо знать всем. Нормализация способна избавить вас от множества проблем. Рано или поздно нечто подобное тому, что показано на следующем рисунке, случается с любым разработчиком. «Zoë» — это не «Zoë» Читать...

Nextcloud внутри, а снаружи OpenLiteSpeed: настраиваем обратное проксирование Как настроить OpenLiteSpeed на обратное проксирование в Nextcloud, находящийся во внутренней сети? Удивительно, но поиск на Хабре по запросу OpenLiteSpeed не даёт ничего! Спешу исправить эту несправедливость, ведь LSWS – достойный веб-сервер. Я люблю его за скорость и модный...

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

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

[Перевод] AWS показал Open Source средний палец От переводчика: мне кажется, заголовок слегка неточный и на самом деле средний палец показали ребятам из MongoDB, которая теперь не очень то и Open Source. Сегодня, Amazon AWS запустил продукт DocumentDB — новую базу данных, совместимую с API MongoDB. Компания описывает Doc...

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

[Перевод] Функция Data Saver для Chrome на Android теперь доступна и для HTTPS Google помогает пользователям Android быстрее работать в Chrome с улучшенным режимом Data Saver, который, как утверждается, может сократить использование данных до 90% и сократить время загрузки веб-страниц даже в медленных сетях. Однако до сих пор он работал только с HTTP-с...

11 причин, почему вам нужно отказаться от налички Использовать карту вместо купюр гигиеничнее, быстрее и удобнее.

[Перевод] Всегда ли Node.js будет медленнее, чем Golang? Возникает такое ощущение, что буквально каждую неделю появляется новый «веб-фреймворк» для Node.js, который называют чем-то таким, что работает быстрее, чем всё, что было до него. Всем известно, что Express — это медленно, но способен ли очередной фреймворк по-настоящему улу...

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

Google готовит замену Android Beam Как известно, компания Google убрала из Android Q технологию Android Beam, используемую в предыдущих версиях мобильной ОС для быстрого и простого обмена файлами между смартфонами. По данным источника, в качестве замены будет предложена функция под названием Fast Share. ...

[Из песочницы] Придумываем технологию Powercheck Меня всегда интересовало как устроен и работает индикатор заряда на батарейках Duracell: А также почему под ним указано, что тестировать нужно при 21°С. Но перед тем как посмотреть на решение, которое используется в батарейках, давайте попробуем прийти к нему самостоятельн...

[Перевод] Почему я боюсь стать «прокачанным человеком» Вы когда-нибудь слышали о «прокачанном человеке» (augmented human)? Пояснение от переводчицыЯ долго искала подходящий перевод термина «augmented human», так как устоявшегося перевода в русском языке еще нет. Вариант Википедии c глаголом «улучшать» кажется недостаточно перед...

Больше чем Ceph: блочное хранилище облака MCS «Flying Cart», Afu Chan Я работаю в Mail.ru Cloud Solutons архитектором и разработчиком, в том числе занимаюсь нашим облаком. Известно, что распределенной облачной инфраструктуре нужно производительное блочное хранилище, от которого зависит работа PaaS-сервисов и решений, п...

ObjectRepository — .NET in-memory repository pattern для ваших домашних проектов Зачем хранить все данные в памяти? Для хранения данных сайта или бекэнда первым желанием большинства здравомыслящих людей выберет SQL базу данных.  Но иногда в голову приходит мысль что модель данных не подходит для SQL: например, при построении поиска или социального графа ...

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

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

[Перевод] С++, определен ли тип: предварительное декларирование нужных объектов В прошлый раз, мы использовали SFINAE, чтобы понять, есть ли у типа определение, и мы использовали это в сочетании с if constexpr и универсальными лямбда-выражениями, чтобы код мог использовать тип, если он определен, при этом все еще принимаясь компилятором (и отбрасываясь)...

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

[Из песочницы] Deploy Symfony + React приложения на AWS посредством CI Добрый день, в данной статье я покажу как развернуть Symfony 4 приложение на AWS. В официальной документации есть пример подобного процесса, однако мой вариант не столь тривиален, как загрузка zip архива с приложением. На дворе 2019, в моде docker, микросервисная архитектура...

Нам нужен другой 1С-Битрикс, часть 2 После публикации первой статьи в деле борьбы за права причастных к 1С-Битриксу появились соподвижники Dekmabot и Sergik_DS со статьями «Почему Битрикс — Битрикс» и «За что, Битрикс? Или сказочный мир 1С», чему я несказанно рад. Как там пишут в руководствах по зачинанию старт...

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

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

Интеграция Kubernetes Dashboard и пользователей GitLab Kubernetes Dashboard — простой в работе инструмент для получения актуальных сведений о работающем кластере и минимального управления им. Начинаешь его ценить ещё больше, когда доступ к этим возможностям нужен не только администраторам/DevOps-инженерам, но и тем, кто меньше...

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

[Перевод] Почему простой дизайн сайта лучше с научной точки зрения Исследование, проведенное Google, имело два ключевых вывода: • Пользователю нужно всего 1/50 до 1/20 секунды, чтобы оценить, красивый сайт или нет. • «Визуально сложные» сайты оцениваются как менее красивые, чем их простые аналоги. Другими словами, исследование показало ...

Autoscaling своими руками с помощью AWX, Ansible, haproxy и Облака КРОК Какое-то время назад мы сделали безагентский (Agentless) мониторинг и алармы к нему. Это аналог CloudWatch в AWS с совместимым API. Сейчас мы работаем над балансировщиками и автоматическим скейлингом. Но пока мы не предоставляем такой сервис — предлагаем нашим заказчикам сд...

Git это круто! Ваш кэп Это, пожалуй, будет самая короткая моя статья. Более того, сама идея, изложенная в ней, очевидная. Часто в WEB проектах возникают задачи по доставке статики на прод вне релизов. Например, нужно выложить файлы для SPA со всякой маркетинговой лабудой, типа актуальных комиссий...

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

Дайджест продуктового дизайна, март 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыду...

Дайджест продуктового дизайна, декабрь 2018 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыдущие выпу...

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

Дайджест продуктового дизайна, июнь 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыду...

Дайджест продуктового дизайна, июль 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыду...

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

Дайджест продуктового дизайна, август 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыду...

Active Restore: может ли аварийное восстановление происходить быстрее? Намного быстрее? Резервное копирование важных данных – это хорошо. Но что если работу нужно продолжить сразу, и на счету каждая минута? Мы в Acronis решили проверить, насколько возможно решить задачу максимально быстрого запуска системы. И это первый пост из серии Active Restore, в котором я...

[Перевод] Использование Fastify и Preact для быстрого прототипирования веб-приложений Автор материала, перевод которого мы сегодня публикуем, хочет поделиться рассказом о том, какими технологиями он пользуется для быстрой разработки прототипов веб-приложений. В число этих технологий входят библиотеки Fastify и Preact. Он, кроме того, пользуется библиотекой ht...

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

Дайджест продуктового дизайна, апрель 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыд...

[Перевод] Деревья квадрантов и распознавание коллизий Эта неделя была короткой, в понедельник и вторник я продолжал работать над системой 2D-освещения. Остальное время я потратил на реализацию деревьев квадрантов (quadtree). В этой статье я поделюсь своей реализацией и мыслями, возникшими в процессе её проектирования. Во-пер...

Елена Балашова: «Активисты подняли вопрос о том, чтобы данные нашего ГИС-портала были открыты для OpenStreetMap» Год назад администрация Тольятти перевела почти все свои интернет-ресурсы на лицензию Creative Commons Attribution, а данные своего ГИС-портала персонально разрешила использовать сообществу OpenStreetMap. Почему они решили это сделать, отчего чиновники боятся открытых данн...

[Перевод] Скорость хранилища подходит для etcd? Спросим fio Короткая история о fio и etcd Производительность кластера etcd во многом зависит от производительности его хранилища. etcd экспортирует некоторые метрики в Prometheus, чтобы предоставить нужные сведения о производительности хранилища. Например, метрику wal_fsync_duration_se...

Работа с callbacks в React За время свой работы, я периодически сталкивался с тем, что разработчики не всегда четко представляют, каким образом работает механизм передачи данных через props, в частности колбеков, и почему их PureComponents обновляется так часто. Поэтому в данной статье мы разберемся,...

Лошадь сдохла – слезь: переход с tslint на eslint До недавнего времени во всех проектах фронта разработчики Dodo Pizza Engineering использовали tslint – полезный инструмент, который подсказывает, когда ты накосячил в коде допустил неточность, помогает поддерживать код в одном стиле и сам исправляет многие замечания. Но тут ...

Разработан метод шумоизоляции, гасящий до 94% шумов — рассказываем, как он работает Американские инженеры предложили способ шумоизоляции. Он отличается от привычных звукопоглощающих панелей. Это — напечатанное на 3D-принтере пластиковое кольцо. Читать дальше →

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

[Перевод] Грамматика английского. Who vs. Whom – как понять, какое слово использовать Разобраться в хитростях английской грамматики может быть довольно непросто. Классический пример здесь – выбор между who и whom. Даже носители языка не всегда корректно используют нужное слово, что уж говорить о тех, кто только изучает английского. В блоге одного из сервис...

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

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

Интерфейсы для мониторинга производительности популярных БД в Foglight for Databases В прошлых статьях мы рассказывали о мониторинге различных БД в Quest Foglight for Databases и о подходе к быстрой локализации проблем производительности SQL Server. В этой мы покажем какие ещё дашборды можно использовать на основе собираемых метрик. А метрик этих достаточн...

[Перевод] Нет, вам не нужен Express в вашем REST API на Node.js Об альтернативах Express, где и почему стоит отказаться от Express'a и небольшие замеры в переводе под катом Читать дальше →

Дайджест продуктового дизайна, май 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыд...

IBM System i (aka AS/400) — Как мы делали автотесты приложений зеленого экрана Привет! Меня зовут Антон Воробьев, я отвечаю в Альфа-Банке за разработку приложений для централизованной банковской системы. В этом посте я расскажу вам о том, что такое приложения зеленого экрана, зачем они нужны и как мы делали для них автотесты, написав для этого собстве...

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

IoT-стандарты, сети, три стола Тема интернета вещей и раньше проскальзывала на конференциях РИТ++ и HighLoad++, но обычно с упором на привычные нам вопросы хранилищ данных или программирования. Но в прошлом году мы решили, что настало время серьезно обсуждать IoT: аппаратное обеспечение, сети передачи дан...

Карта Метро Москвы и всего мира для Android ГЛАВА 1. Амбиции Конец февраля 2018 Мы, как адепты идеологии свободного ПО и свободного рынка считаем, что монополия — это плохо. Огромному количеству людей требуется удобная и быстрая навигация в метро. Странно, что нет ни одного достойного конкурента приложения Яндекс...

[Из песочницы] Разработка под Docker. Локальное окружение. Часть 1 Возможно, одна из самых основных причин почему мне нравится докер это то, что он позволяет избавиться от необходимости установки на компьютер различных сервисов. К их числу можно отнести и сам веб-сервер Apache или Nginx, базы данных и прочие компоненты инфраструктуры прилож...

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

GPT-2 нейросеть от OpenAI. Быстрый старт Не успели отшуметь новости о нейросети BERT от Google, показавшей state-of-the-art результаты на целом ряде разговорных (NLP) задач в машинном обучении, как OpenAI выкатили новую разработку: GPT-2. Это нейронная сеть с рекордным на данный момент числом параметров (1.5 млрд,...

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

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

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

Как мы пробивали Великий Китайский Фаервол (ч.2) Привет! С вами снова Никита — системный инженер из компании SЕMrush. И этой статьей я продолжаю историю про то, как мы придумывали решение обхода Китайского Фаервола для нашего сервиса semrush.com. В предыдущей части я рассказал: какие появляются проблемы после того, как пр...

Подкаст Лайфхакера: почему работать по 8 часов нет смысла Чтобы всё успевать, нужно работать меньше.

Как управлять React Data Grid через Redux Это продолжение предыдущей статьи: Зачем писать свой React Data Grid в 2019 Для чего нужен Redux? Ответов много. Например, чтобы работать с общими данными в разных React-компонентах. Но можно воспринимать Redux еще как способ манипулирования компонентой. Сам взгляд интересны...

Битва L2TP, RRAS vs SoftEther «Украденная с запада картинка для привлечения внимания» В прошлых наших статьях мы рассказали, как работать с VDS на Windows Server Core 2019 на нашем новом тарифе UltraLight за 99 рублей в месяц. Предлагаем еще один способ использования данного тарифа. На этот раз речь по...

Бэрримор, что за шум вокруг Voximplant? Внедрили веб-сокеты, сэр WebSocket — это прогрессивный стандарт полнодуплексной (двусторонней) связи между клиентом и сторонним сервисом в режиме реального времени. Веб-сокеты используются для организации непрерывного обмена данными без разрыва соединения и дополнительных HTTP-запросов. И мы рады ...

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

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

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

Микробиота. Как работает тестирование Мы завершаем цикл статей о микробиоте. Первая была о том, как работает микробиота, а последняя — о влиянии лекарств на бактерии кишечника. В этом материале мы расскажем, как проводится тест «Генетика микробиоты» от Атласа, почему для него нужен именно образец стула, а также ...

Подробно о dynamic: подковерные игры компилятора, утечка памяти, нюансы производительности Прелюдия Рассмотрим следующий код: //Any native COM object var comType = Type.GetTypeFromCLSID(new Guid("E13B6688-3F39-11D0-96F6-00A0C9191601")); while (true) { dynamic com = Activator.CreateInstance(comType); //do some work Marshal.FinalReleaseComObject(com...

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

AI supremacy: Leela Chess. Или про то, как полностью открытая нейросеть победила Честно говоря, я очень разочарован хабром. Почему никто не осветил такую вещь, как победа нейросетевого подхода с полностью открытым кодом, а? И полностью открытыми нейросетевыми данными? Действительно, ну вот DeepMind Technologies описали как они обучали шахматный ИИ, иг...

YouTokenToMe: инструмент для быстрой токенизации текста от Команды ВКонтакте Хотим представить наш новый инструмент для токенизации текста — YouTokenToMe. Он работает в 7–10 раз быстрее других популярных версий на языках, похожих по структуре на европейские, и в 40–50 раз — на азиатских языках. Рассказываем о YouTokenToMe и делимся им с вами в open s...

Транзакции в глобалах InterSystems IRIS СУБД InterSystems IRIS поддерживает любопытные структуры для хранения данных — глобалы. По сути это многоуровневые ключи с различными дополнительными плюшками в виде транзакций, быстрых функций для обхода деревьев данных, блокировок и своего языка ObjectScript. Подробнее о ...

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

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

IBM LTO-8 – простой способ хранить «холодные» данные Привет, Хабр! По статистике 80% данных устаревают в течение 90 дней и больше активно не используются. Весь этот массив данных нужно где-то хранить и желательно хранить с наименьшими затратами. И при этом иметь простой и быстрый доступ в случае необходимости. В последние ...

[Перевод] Ускоряем JavaScript-код с использованием типа данных Set Автор материала, перевод которого мы сегодня публикуем, говорит, что уверен в том, что многие JavaScript-разработчики пользуются, в основном, такими типами данных, как Number, String, Object, Array и Boolean. В большинстве случаев этого вполне достаточно. Но если нужно сдела...

Stop the line или прокачай свой pipeline, йоу Если ваши релизы быстры как молния, автоматизированы и надежны, можете не читать эту статью. Раньше наш процесс релиза был ручным, медленным и напичканным ошибками. Мы проваливали спринт за спринтом, потому что не успевали сделать и выложить фичи к следующему Sprint Revie...

Race condition в веб-приложениях TL;DR Большинство атакующих использовали ненадежные методы race condition, инструмент racepwn поможет это исправить Вася хочет перевести 100 долларов, которые есть у него на счету, Пете. Он переходит на вкладку переводов, вбивает Петин ник и в поле с количеством средств, ко...

Автоматизация управления Let's Encrypt SSL сертификатами используя DNS-01 challenge и AWS Пост описывает шаги для автоматизации управления SSL сертификатами от Let's Encrypt CA используя DNS-01 challenge и AWS. acme-dns-route53 — это инструмент, который позволит нам реализовать данную фичу. Он умеет работать с SSL сертификатами от Let's Encrypt, сохранять их в Am...

Как продлить время автономной работы iPhone на iOS 13   Время автономной работы современных гаджетов оставляет желать лучшего. Виной всему большое количество мелких фишек и опций. Большинство пользователей не использует все “примочки” iOS. Так почему бы не отключить их для экономии заряда батареи. Для начала применяе...

NetBIOS в руках хакера В данной статье пойдёт краткое повествование о том, что нам может рассказать такая привычная с виду вещь как NetBIOS. Какую он может предоставить информацию для потенциального злоумышленника/пентестера. Читать дальше →

Язык программирования Ü. Введение, мотивация к созданию, цели Введение С 2016-го года (с перерывами) я разрабатываю собственный язык программирования. Название данного языка — «Ü». Почему Ü? Потому, что хотелось однобуквенного названия, а все буквы из набора A-Z уже заняты. Данная статья имеет задачу ознакомить публику с данным языко...

The state of CSS В ежегодном опросе «The state of JavaScript» разработчики рассказывают о том, что они используют здесь и сейчас. Вопросы там знакомы и привычны фронтенд-сообществу. В 2019 году появился опрос «The state of CSS», который ввёл разработчиков в ступор. Оказывается, многие технол...

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

Как научить машину понимать инвойсы и извлекать из них данные Привет, хабр! Меня зовут Станислав Семенов, я работаю над технологиями извлечения данных из документов в R&D ABBYY. В этой статье я расскажу об основных подходах к обработке полуструктурированных документов (инвойсы, кассовые чеки и т.д.), которые мы использовали совсем ...

Facebook Developer Circle: Moscow | Launch Event 10 сентября присоединяйтесь к первой встрече сообщества Facebook Developer Circle: Moscow! На встрече, которая пройдет в нашем офисе, расскажем подробно о сообществе и поговорим про интересные технологии. Среди спикеров: Вики-Мария Гиббонс (Facebook, EN) расскажет про F...

[Перевод] Семь неожиданных переменных Bash Продолжая серию заметок о менее известных функциях bash, покажу вам семь переменных, о которых вы могли не знать. 1) PROMPT_COMMAND Возможно, вы уже в курсе, как манипулировать приглашением prompt, чтобы показать различную полезную информацию, но не все знают, что каждый ра...

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

[Перевод] Создаем конвейер потоковой обработки данных. Часть 2 Всем привет. Делимся переводом заключительной части статьи, подготовленной специально для студентов курса «Data Engineer». С первой частью можно ознакомиться тут. Apache Beam и DataFlow для конвейеров реального времени Настройка Google Cloud Примечание: Для запуска конве...

Реализация целого типа в CPython На Хабре уже были статьи о подробностях реализации менеджера памяти CPython, Pandas, я написал статью про реализацию словаря. Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный. Если вам и...

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

[recovery mode] Почему мы решили запустить корпоративный акселератор «Газпром нефти» StartupDrive, и кто уже его прошел Расскажу, кому нужны такие акселераторы, какие проблемы могут возникнуть при запуске, как мы подошли к их решению, и что из этого получилось.   Читать дальше →

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

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

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

Семинар по SLS 6 сентября Приглашаем вас на семинар по SLS-3D-печати, который пройдет 6 сентября в технопарке «Калибр»: «Возможности, преимущества над FDM и SLA, примеры внедрения». На семинаре представители Sinterit, приехавшие специально для этого из Польши, ознакомят участников с первой доступно...

Что нам стоит CDN построить? Привет Хабр! В этой статье мы будем строить свой CDN. Почему не воспользоваться готовыми решениями? Потому что сайт автора полностью статический, сделанный на Jekyll, с большими картинками, которые нужно отдавать максимально быстро. Сервер не должен быть кэширующим, он долже...

Как мы учились рисовать тексты на Canvas Мы разрабатываем платформу для визуальной коллаборации. Для отображения контента мы используем Canvas: на нём рисуется всё, в том числе тексты. Готового решения для отображения текстов на Canvas один в один как в html не существует. За несколько лет работы с отрисовкой текст...

Microsoft ML Spark: расширение Spark, делающее SparkML человечнее, и LightGBM как бонус Многие, кто работал с Spark ML, знают, что некоторые вещи там сделаны "не совсем удачно" или не сделаны вообще. Позиция разработчиков Spark в том, что SparkML — это базовая платформа, а все расширения должны быть отдельными пакетами. Но это не всегда удобно, ведь Data Scient...

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

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

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

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

[Из песочницы] Как технология in-memory изменила бизнес-аналитику Примерно 5 миллисекунд проходит от запроса до ответа, если данные хранятся на жестком диске. SSD отвечает в 300 раз быстрее — за 150 микросекунд. Оперативной памяти требуется в 300,000 раз меньше времени — лишь 15 наносекунд.* Можно долго рассуждать о том, как бизнес-анал...

Нетворкинг в США для чайников. Личный опыт На прошлой неделе я была на воркшопе/конференции по unsupervised machine learning. Все мы сто раз слышали, что подобные мероприятия нужны для того чтобы себя показать и на других посмотреть. Построить нетворк и все такое. Хочу поделиться тем, как я выходила из зоны комфорта ...

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

Обзор Sea of Thieves. Лучший пиратский боевик Нужно понимать, что Sea of Thieves вышла в конце марта 2018 года, а мы делаем обзор на нее только сейчас, спустя год после релиза. Нет, дело не в том, что автор ленивый и никак не мог добраться до написания данной статьи, а в том, что на релизе игра показалась немного сырой....

[Перевод] Используем все возможности индексов в PostgreSQL В мире Postgres индексы крайне важны для эффективной навигации по хранилищу базы данных (его называют «куча», heap). Postgres не поддерживает для него кластеризацию, и архитектура MVCC приводит к тому, что у вас накапливается много версий одного и того же кортежа. Поэтому о...

[Перевод] Что такое коэффициент скорости обучения и как он улучшает характеристики глубокого обучения? Данная статья представляет собой мою попытку выразить свой взгляд на следующие аспекты: Что такое коэффициент скорости обучения и каково его значение? Как подбирать данный коэффициент при обучении моделей? Почему необходимо менять коэффициент скорости обучения в процесс...

[Из песочницы] Мы забыли про делегирование в JavaScript. Event delegation in React Всем привет. Статья о делегирование событий в JavaScript и реализация его в react.js. О чем собственно речь? Зачем и почему? Для начала давайте кратко обсудим: что есть событие; как происходит распространение; обработка DOM Level 2 с примером на JavaScript; И в конце: поч...

Китайцы показали шестиместный концепт, впечатляющий аэродинамикой autohome.com.cn Китайская компания GAC представила на автосалоне в Гуанчжоу концептуальный автомобиль Eno.146. Отмечается впечатляющая аэродинамика машины — коэффициент аэродинамического сопротивления составляет всего 0,146 (например, у Bugatti Chiron данный показатель ...

[Перевод] Что такое таблица виртуальных таблиц? Однажды в Slack я наткнулся на новый акроним для моего глоссария акронимов C++: “VTT.” Godbolt: test.o: In function `MyClass': test.cc:3: undefined reference to `VTT for MyClass' “VTT” в данном контексте означает «таблица виртуальных таблиц» (virtual table table). Это вспом...

Анализ производительности запросов в ClickHouse. Доклад Яндекса Что делать, если ваш запрос к базе выполняется недостаточно быстро? Как узнать, оптимально ли запрос использует вычислительные ресурсы или его можно ускорить? На последней конференции HighLoad++ в Москве я рассказал об интроспекции производительности запросов — и о том, что ...

[Из песочницы] Open Session In View в Spring Boot: Скрытая угроза Все здесь правы, каждый по-своему, и, следовательно, все здесь не правы. "Сказка о Тройке" (А. и Б. Стругацкие)Если вы используете Spring Data JPA, то после обновления на Spring Boot 2 при старте приложения можете заметить в логе новое предупреждение: spring.jpa.op...

«Скользкие» места C++17 В последние годы C++ шагает вперед семимильными шагами, и угнаться за всеми тонкостями и хитросплетениями языка бывает весьма и весьма непросто. Уже не за горами новый стандарт, однако внедрение свежих веяний — процесс не самый быстрый и простой, поэтому, пока есть немного...

Охладить вино быстро! Российское изобретение Под катом, пожалуй, самый быстрый в мире и удобный способ охладить вино до нужной температуры в бытовых условиях. Читать дальше →

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

[Перевод] Кодогенерация в Dart. Часть 2. Аннотации, source_gen и build_runner В первой части мы выяснили зачем нужна кодогенерация и перечислили необходимые инструменты для кодогенерации в Dart. Во второй части мы узнаем как создавать и использовать аннотации в Dart, а также как использовать source_gen и build_runner, чтобы для запуска кодогенерации. ...

Старикам здесь не место? Программируем после тридцати пяти Привет, меня зовут Дмитрий, и я программист. Прошлым летом я получил приглашение Яндекса и перебрался работать в Москву. Недавно мне исполнилось 35 лет. В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом в 3...

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

[] Бикватернионы Если вы открыли данную статью, то наверняка уже слышали о кватернионах, и возможно даже используете их в своих разработках. Но пора подняться на уровень выше — к бикватернионам. Можно и еще выше — к седионам! Но не сейчас. В данной статье даны основные понятия о бикватернио...

Семинар «Почему мы связались с Kubernetes и что у нас из этого получается», 28 февраля, Москва Всем привет! В ноябре мы запустили сервис по предоставлению и обслуживанию кластеров Kubernetes — KuberLine. 28 февраля мы расскажем, что такое Kubernetes и как его «готовить», чтобы от него была польза. Будем рады видеть всех, кто уже хорошо знаком с контейнерами или тольк...

Ситуация: гибридное облако и перспективы IaaS Почему есть спрос на мультиоблачную инфраструктуру. / фото Tory Townsend CC BY-SA Как дела у гибридных облаков По данным опроса Rightscale, уже 58% мировых компаний из разных сфер использует гибридное облако. В прошлом году эта цифра равнялась 51%. Внедрение такой инфрастр...

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

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

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

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

О столе для работы стоя, здоровье позвоночника и личной эффективности С недавних пор я снова перешёл на 100% работу из дома и стал использовать стол для работы стоя. Хочу поделиться дампом своего опыта на тему здоровья, призвать закончить прокрастинировать и начать работать стоя. Сначала, о том, почему стол для работы стоя — не панацея... Чит...

Квантовые вычисления в играх, или сходим с ума по-серьезному Если живешь среди сумасшедших, надо и самому научиться быть безумным Вы когда-нибудь пробовали «научиться быть безумным»? Нетривиальная задачка. Даже нормальной методики не найдешь, ибо каждый сходит с ума по-своему. Моя первая попытка: теория заговора. Теория не предполага...

JS. Proxy. Подводный камень, о котором нужно знать Эта статья будет интересна тем кто использует Proxy, для реактивности или рефлексии. Поведение JS методов, нам хорошо знакома если мы просто используем их в рамках объекта. Если метод передается через свойство другому объект, то он работает с тем this, который определен в р...

[Перевод] Новый кодек AV1: ускоряем загрузку видео в браузере В этом руководстве мы научимся использовать видео в Вебе, как это принято в 2019. Chrome и Firefox начали поддерживать новый кодек AV1 — для них видео можно сделать в два раза меньше. Отдельно поговорим, как заменить GIF на видео в AV1 и H.264 — тогда его размер упадёт в 20...

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

MessageBox для AvaloniaUI MessageBox — достаточно часто используемая форма для различных графических фреймворков, но почему-то в avalonia ей не нашлось место, тогда подарим ей жизнь самостоятельно. Читать дальше →

«Технология» получения уравнений динамики ТАУ. И почему System Identification is sucks, а рулит «честная физика» При обсуждении предыдущей статьи про модельно-ориентированное проектирование возник резонный вопрос: если мы используем данные эксперимента, а можно ли поступить еще проще, засунуть данные в System Identification и получить модель объекта, не заморачиваясь с физикой вообще? ...

[Из песочницы] Почему нельзя установить размер шрифта у посещенной ссылки Привет, Хабр! Представляю Вашему вниманию перевод статьи «Why can’t I set the font size of a visited link?» автора Jim Fisher. Посещенные ссылки отображаются фиолетовым; не посещенные — голубым. Это различие пришло к нам с времен появления веба. Но CSS позволяет нам перен...

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

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

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

Volvo Cars использует VR-шлемы Разработка электромобилей требует весьма серьезных затрат и времени, так как множество систем нужно протестировать и узнать работают ли они или нет. Теперь компания Volvo Cars решила использовать для этого шлем дополненной реальности, чтобы получать оценку системам авто прям...

[recovery mode] IT в Армении: стратегические секторы и технологические сферы страны Быстрое питание, быстрые результаты, быстрый рост, быстрый интернет, быстрое обучение… Скорость стала неотъемлемой частью нашей повседневной жизни. Мы хотим, чтобы все было проще, быстрее и лучше. Постоянная потребность в большем количестве времени, скорости и производител...

Создание системы отчетности для 1С:ERP на базе OLAP и Excel Как программистам так и пользователям известно, как долго и сложно создаются отчеты в 1C. Однако, мы можем предложить на рассмотрение не стандартное решение — это загрузка данных в OLAP. OLAP — онлайн аналитическая отчетность для предприятий с возможностью построения таблиц ...

[Перевод] Таймер в iOS Представьте, что вы работаете над приложением, в котором нужно периодически выполнять некоторые действия. Именно для этого в Swift используется класс Timer. Timer используется для планирования действий в приложении. Это может быть разовое действие или повторяющаяся процедур...

[Из песочницы] Неявные (implicit) параметры и преобразования в Scala Пробежавшись по предыдущим статьям на Хабре, тыц и тыц так и не удалось в быстром режиме понять, что делает неявность (implicit) в Scala. Попробуем разобраться вместе. Итак, implicit в Scala позволяют избежать вызывания методов или явных ссылок на переменные, и взамен это...

Что почитать и посмотреть для старта в Data Science: книги, словари и курсы Подборка ресурсов по математике, статистике и программированию для начинающих Дата Сайентистов. Ознакомьтесь с материалами, если вы планируете учиться на онлайн-курсах. Так вы опередите одногруппников, а заодно прокачаете полезный навык — изучать дополнительные материалы сам...

Управляем Windows Server из Windows Admin Center В данной статье мы продолжаем рассказывать про работу с Windows Server Core 2019. В прошлых постах мы рассказали как готовим клиентские виртуальные машины на примере нашего нового тарифа VDS Ultralight с Server Core за 99 рублей. Затем показали как работать с Windows Server ...

В iOS 12.4 появился удобный способ передачи данных со старого iPhone на новый   В iOS 12.4 появилась функция «Быстрое начало» для переноса настроек и данных со старого iPhone на новый. Теперь для этого необязательно использовать iCloud или создавать резервную копию в iTunes. Чтобы использовать новую функцию, оба iPhone должны работать под у...

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

[Перевод] USB-педаль для переключения между компьютерами Статья из блога самоделкина с ником РедькаМышь Вот она, во всей своей красе: Файлы STL: Верх корпуса. Низ корпуса. Кнопка. Зачем я её сделал Я одновременно использую несколько ноутбуков. На них запущены Linux, OpenBSD, macOS и ChromeOS. Я предпочитаю работать на кл...

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

[Из песочницы] Customer Development или как запустить продукт без провала? Если вкратце — никак. Продуктовый мир — мир неопределенности. Мы не знаем, что будет в будущем наверняка. При этом все решения продуктового менеджера стоят компании времени и денег. Чтобы принимать наиболее эффективные решения, необходимо опираться на аналитику, метрики и п...

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

Предварительный обзор Lenovo Yoga A940. Очень необычный моноблок На выставке CES 2019 показали массу интересных решений — ноутбуков для геймеров, здоровенных мониторов или телевизоров с разрешением 8К. Однако, далеко не всем пользователям нужны вот такие невероятные технологии, кому-то нужен просто удобный компьютер для работы. Именно для...

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

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

[Из песочницы] Работаем с коботом Dobot M1 Год назад на Хабре выходил обзор настольного робота Dobot Magician. В этой статье я предлагаю оценить его старшего брата Dobot M1 в действии. Также я попытаюсь объяснить, почему для своего проекта выбрал именно данную модель, опишу процесс разработки демки в Qt/c++, а также ...

[Перевод] Python Testing с pytest. Глава 2, Написание тестовых функций Вернуться Дальше Вы узнаете, как организовать тесты в классы, модули и каталоги. Затем я покажу вам, как использовать маркеры, чтобы отметить, какие тесты вы хотите запустить, и обсудить, как встроенные маркеры могут помочь вам пропустить тесты и отметить тесты, ожидая неуд...

[Из песочницы] Делим Laravel на компоненты Привет, Хабр. Недавно получил в руки интересный проект, который, несмотря на свою простоту требовал не использовать какой-либо фреймворк. О пакетах речи не шло, поэтому было принято решение использовать привычные компоненты Laravel. Если есть необходимость в использовании оч...

[Перевод] Почему ['1', '7', '11'].map(parseInt) возвращает [1, NaN, 3] в Javascript? Javascript — странный. Не верите? Ну попробуйте тогда преобразовать массив строк в целые числа с помощью map и parseInt. Запустите консоль (F12 на Chrome), вставьте код ниже и нажмите Enter ['1', '7', '11'].map(parseInt); Вместо ожидаемого массива целых чисел [1, 7, 11] мы ...

Почему я перешел из UX в PM'а и потом в Lead PM'а и что изменилось? — Привет, Саша. Расскажи, пожалуйста, как долго ты работаешь в Wrike, и чем ты занимался до прихода в компанию? — Привет. В Wrike работаю шесть лет. До этого работал в другой организации и занимался там сначала search engine optimization и потом перешел в проджект-менеджеры....

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

Как выгружать данные с вложенной структурой из Google BigQuery на примере пользовательских параметров Google Analytics Google BigQuery — популярная облачная база данных, которой пользуются компании по всему миру. Она особенно удобна для работы с “сырыми” данными Google Analytics: в GA 360 интеграция с BigQuery настраивается в несколько кликов, а для бесплатной версии существуют сторонние ск...

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

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

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

[Перевод] 50 оттенков matplotlib — The Master Plots (с полным кодом на Python) Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужны и так далее. Для подобных целей часто использует...

[Перевод] Метрики производительности для исследования невероятно быстрых веб-приложений Есть одно высказывание: «Что ты не можешь измерить, то ты не можешь улучшить». Автор статьи, перевод которой мы сегодня публикуем, работает в компании Superhuman. Он говорит, что эта компания занимается разработкой самого быстрого в мире почтового клиента. Здесь речь пойдёт ...

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

Honor 20 и 20 Pro получат качественные камеры с 3 и 4 сенсорами, соответственно Флагманы Honor 20 и Honor 20 Pro должны представить 21 мая в Лондоне. По традиции это будут смартфоны похожие на серию P30 от Huawei, но более доступные. В сети появилась утечка о камерах новинок — одной из важнейшей составляющих современных телефонов. Так, Honor 20 может п...

[Перевод] Интегрируем команды Linux в Windows с помощью PowerShell и WSL Типичный вопрос разработчиков под Windows: «Почему здесь до сих пор нет <ВСТАВЬТЕ ТУТ ЛЮБИМУЮ КОМАНДУ LINUX>?». Будь то мощное пролистывание less или привычные инструменты grep или sed, разработчики под Windows хотят получить лёгкий доступ к этим командам в повседневно...

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

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

Как распознать картинки и тексты на телефоне с помощью ML Kit Два года назад Сундар Пичаи, глава Google, рассказал о том, что компания из mobile-first становится AI-first и фокусируется на машинном обучении. Год спустя вышел Machine Learning Kit — набор инструментов, с которым можно эффективно использовать ML на iOS и Android. Об ML ...

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

[Из песочницы] Бесконечный и нелепый список того, что вам нужно знать, чтобы безопасно использовать публичные сети Wi-Fi Привет, Хабр! Представляю вашему вниманию перевод статьи «The Complete, Endless, Ridiculous List of Everything You Need to Be Safe on Public Wi-Fi» автора Patrick F. Wilbur. Wi-Fi сети, вебсайты, протоколы, которые мы используем, не обеспечивают нам необходимой безопасност...

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

[Перевод] Swift: ARC и управление памятью Будучи современным языком высокого уровня, Swift в основном берёт на себя управление памятью в ваших приложениях, занимаясь выделением и освобождением памяти. Это происходит благодаря механизму, который называется Automatic Reference Counting, или сокращенно ARC. В этом руко...

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

[Перевод] Новый алгоритм поиска пути в Factorio На прошлой неделе мы говорили в своём блоге об изменениях, которые позволят врагам (biters) не наталкиваться друг на друга, но это было не единственное обновление, связанное с biter-ами. Совпало так, что в обновления этой недели вошло то, над чем мы работали предыдущие неск...

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

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

[Перевод] Представьте себе ваши данные перед тем, как вы их соберете Перевод подготовлен для студентов курса «Прикладная аналитика на R». Нам, как исследователям данных (data scientist), часто дают набор данных и просят использовать его для получения информации. Мы используем R для обработки, визуализации, моделирования, подготовки таблиц и...

«Хаббл» заснял необычную, «двуликую» галактику NASA and ESA; T. Roberts (Durham University, UK), D. Calzetti (University of Massachusetts) and the LEGUS Team, R. Tully (University of Hawaii), and R. Chandar (University of Toledo) Галактика NGC 4485 находится на расстоянии примерно 25 миллионов световых лет в созвезд...

Анализ производительности виртуальной машины в VMware vSphere. Часть 1: CPU Если вы администрируете виртуальную инфраструктуру на базе VMware vSphere (или любого другого стека технологий), то наверняка часто слышите от пользователей жалобы: «Виртуальная машина работает медленно!». В этом цикле статей разберу метрики производительности и расскажу, ...

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

[Перевод] План вернулся в экономику Большие данные (big data) создали новые возможности для посткапиталистического будущего. Но, чтобы ими воспользоваться, нашей демократии нужно подрасти. Когда СССР распался, вопрос экономического планирования, казалось, был решён раз и навсегда. В борьбе рынка и плана, рыно...

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

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

Amazon запускает доставку дронами. Как это будет работать Вчера Amazon впервые представила собственный дрон для доставки – на своей первой конференции Re:Mars в Лас-Вегасе. Это на самом деле уникальное устройство, доверху напичканное сенсорами и алгоритмами. К тому же, это дрон-трансформер. Он умеет лететь вертикально, как вертол...

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

Пост-анализ: что известно о последней атаке на сеть серверов криптоключей SKS Keyserver Хакеры использовали особенность протокола OpenPGP, о которой известно более десяти лет. Рассказываем, в чем суть и почему её не могут закрыть. Читать дальше →

Алгоритм взаимодействия сотен тысяч уникальных частиц на GPU, в GLES3 и WebGL2 Описание алгоритма логики, и разбор рабочего примера в виде техно-демки-игры WebGL2 версия этой демки https://danilw.itch.io/flat-maze-web остальные ссылки смотрите в статье. Статья разбита на две части, сначала про логику, и вторая часть про применение в игре, первая часть...

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

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

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

«Нефть» современной экономики и война за кадры У всех IT-гигантов вроде Google или IBM существуют собственные лаборатории, где ученые, инженеры и аналитики ведут работу над монетизацией искусственного интеллекта. В 2017 году компания МТС присоединилась к интересу западных коллег и также открыла подразделение, которое зан...

[Перевод] Flutter: прокачиваем AppBar & SliverAppBar Во Flutter для создания панели инструментов используется хорошо всем известный AppBar, ну а когда нам нужна динамическая панель инструментов, которая покажет контент при свайпе, мы используем отличный виджет SliverAppBar. Оба виджета позволяют сделать приложение чуточку крас...

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

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

Иструменты Node.js разработчика. Очереди заданий (job queue) При реализации бэка веб-приложений и мобильных приложений, даже самых простых, уже стало привычным использование таких инструментов как: базы данных, почтовый (smtp) сервер, redis-сервер. Набор используемых инструментов постоянно расширяется. Например, очереди сообщений, суд...

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

Google Drive как хранилище для веб-приложения Предисловие Мое веб-приложение хранит данные в localStorage. Это было удобно, пока не захотелось, чтобы пользователь, заходя на сайт с разных устройств, видел одно и то же. То есть, понадобилось удаленное хранилище. Но приложение «хостится» на GitHub Pages и не имеет сервер...

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

3 выигрышные стратегии монетизации приложения в 2019 Главная боль разработчика — понять, почему еще вчера его стратегия монетизации работала и приносила доход, и вдруг перестала. Январь — идеальное время, чтобы проснуться от спячки и переосмыслить свою стратегию монетизации. Ниже мы подготовили обзор трех выигрышных стратеги...

[Перевод] Взаимодействие между компонентами Angular с использованием RxJS Руководство о том, как использовать Subject RxJS и BehaviourSubject RxJS для связи между компонентами Angular. В этой статье я буду использовать RxJS, чтобы показать как компоненты взаимодействуют, когда они не знают друг друга или не имеют общих родительских / дочерних отн...

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

Артем Светлов: «Каждый день на работе я вижу, как OSM помогает самым разным компаниям» Артем Светлов aka trolleway — программист из NextGIS, а также любитель архитектуры и общественного транспорта. Он не только правит OpenStreetMap, но и каждый день работает с данными из него. Помимо этого, он увлекается съемкой сферических панорам улиц. Зачем он это делает, ...

«Первый месяц три здоровых мужика боялись включать турбину» — как Алексей Стаценко строит джетпак с нуля В октябре мы поговорили с Алексеем Стаценко (MagisterLudi) о том, как он загорелся идеей построить джетпак, зачем основал JetHackers, а главное — для чего нужен реактивный ранец. Бытовые вопросы тоже в стороне не оставили: сколько это стоит, опасно ли, почему турбины не ра...

Разворачиваем распределенное хранилище CEPH и подключаем его к Kubernetes Часть 1 Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian) Здравствуйте, уважаемые читатели Хабра! В прошлой публикации я рассказал, как развернуть отказоустойчивый кластер Kubernetes. Но дело в том, что в Kubernetes удоб...

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

Сканирование на уязвимости и безопасная разработка. Часть 1 В рамках профессиональной деятельности разработчикам, пентестерам, безопасникам приходится сталкиваться с такими процессами, как Vulnerability Management (VM), (Secure) SDLC. Под этими словосочетаниями скрываются различные наборы практик и используемых инструментов, которы...

Kali Linux NetHunter на Android: зачем и как установить Здравствуй, мой любознательный друг! Наверняка тебя посещали мысли о том, как хакать все вокруг, не привлекая лишнего внимания санитаров службы безопасности и окружающих, быть похожим на героев фильмов, взламывающих системы просто с мобильного устройства, или как прокачать с...

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

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

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

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

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

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

Подробности об английской версии Blade II: The Return of Evil от MMO Culture Новость о выходе английской пробной версии экшена Blade II: The Return of Evil не была встречена так же бурно, как в случае с некоторыми другими проектами, но и пропустить ее вряд ли удастся. Редактор портала MMO Culture сыграл в эту версию и поделился первыми впечатлениями....

[Из песочницы] Сериализация данных на уровне базы Привет, Хабр! Сидел я как-то и пытался отдать фронту JSON с объектами недвижимости, у которых была масса зависимостей. На бэке стояла Symfony 4, knp pagination и JMSSerializer, ну в принципе стандартные вещи, но проблема в том, что когда ты пытаешься отдать объект со всеми ...

[Из песочницы] Размышления о Agile The measure of intelligence is the ability to change. Albert Einstein Предисловие Представляю ИТ-сообществу “Размышления о Agile” или можно назвать данную статью так, “Agile, это все же философия или проектная методология?”. Цель данной статьи — обсудить с ИТ-сообществом в...

Разработка hexapod с нуля (часть 3) — математика Всем привет! Разработка гексапода продвигается и наконец-то базовая математическая часть протестирована и готова к документированию. Чтобы проект дожил до конца и не остался пылиться на полке нужно видеть его сдвиги в положительную сторону, даже если они незначительны. В эт...

[Перевод] Хватить использовать смехотворно малый TTL для DNS Низкая задержка DNS — ключевой фактор для быстрой работы в интернете. Чтобы её минимизировать, важно тщательно подобрать DNS-серверы и анонимные рилеи. Но первым делом следует избавиться от бесполезных запросов. Именно поэтому DNS изначально создавался как сильно кэшируемый...

[Перевод] Почему стандарт USB нужно было делать таким сложным? USB Type-C Что такое USB Gen 1, Gen 2 и Gen 2×2? (предыстория от февраля 2019) Раньше найти USB побыстрее было просто: выбирайте USB 3.0 вместо USB 2.0. но теперь вам придётся разобраться в том, чем отличаются USB 3.2 Gen 1, Gen 2 и Gen 2×2 – а также в том, чем отличаются ...

12 книг, которыми мы зачитались Хотите лучше разбираться в людях? Узнать, как укрепить силу воли, повысить личную и профессиональную эффективность, прокачать управление эмоциями? Под катом вы найдете список книг для развития этих и других навыков. Конечно, советы авторов — не лекарство от всех бед, и подхо...

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

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

Заглянуть в черный ящик — новая система от MIT покажет, как работают алгоритмы машинного обучения В MIT представили интерактивный инструмент, который дает понять, почему интеллектуальная система принимает то или иное решение. В этом материале — о том, как он работает. Читать дальше →

Как запустить ML-прототип за один день. Доклад Яндекс.Такси Машинное обучение применяется на всём цикле заказа автомобиля в Яндекс.Такси, и число компонентов сервиса, работающих благодаря ML, постоянно растёт. Чтобы строить их единообразно, нам потребовался обособленный процесс. Руководитель службы машинного обучения и анализа данных...

Реверс инжиниринг протокола активации Яндекс.Станции «Яндекс.Станция» — умная колонка с голосовым помощником Алиса. Чтобы её активировать, нужно поднести телефон и проиграть звук из приложения «Яндекс». Под катом я расскажу, как устроен этот сигнал, про пароль от WiFi в открытом виде и попробую развить идею передачи данных ч...

Фотоаппарат на дискетах: 8 интересных фактов о Sony Mavica MVC-FD85 (много картинок) Меня раньше всегда забавляло, что в старой фантастике люди далёкого будущего продолжают пользоваться старыми носителями информации. Космические корабли бороздят просторы далёких галактик, но на Земле и в космосе всё ещё используют дискеты или магнитные ленты. А теперь пре...

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

[Из песочницы] Как работать со множественными запросами. Композиция, Reducer, ФП Привет, Хабр. Меня зовут Максим, я iOS-разработчик в компании FINCH. Сегодня я покажу вам некоторые практики использования функционального программирования, которые мы наработали у себя в отделе. Читать дальше →

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

Самые крутые новинки CES 2019 В Лас-Вегасе сегодня началась главная выставка потребительской электроники. Больше 180 000 людей и 4400 компаний приехали в Лас-Вегас, чтобы показать и посмотреть последние гаджеты и технологии. В числе тех, кто похвастается своими техническими достижениями, будут Huawei, ...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

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

Сколько дней нужно работать в Украине, чтобы купить новый iPhone 11 [График] Международная скидочная платформа Picodi провела очередное исследование и подсчитала, сколько дней нужно работать жителям различных стран, чтобы приобрести себе новый iPhone 11. Для этого был рассчитан так называемый «Индикатор iPhone 2019». Для данного индикатора были испол...

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

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

[Перевод] Хранилище LINSTOR и его интеграция с OpenNebula Не так давно ребята из LINBIT представили свое новое SDS-решение — Linstor. Это полностью свободное хранилище в основе которого используются проверенные технологии: DRBD, LVM, ZFS. Linstor сочетает в себе простоту и хорошо проработанную архитектуру, что позволяет добиться с...

Анонс Galax Hall of Fame Pro: быстрые SSD с котроллером Phison и поддержкой PCIe 4.0 Компания Galax показала новую линейку твердотельных накопителей Hall of Fame Pro. Они используют новейший контроллер Phison PS5016-E16 с поддержкой PCIe 4.0 и легко преодолевают барьер в 4000 Мбайт/с при последовательном чтении. Подробнее об этом читайте на THG.ru.

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

Сэмплирование с температурой Недавно натолкнулся на вопрос в чате ODS: почему алгоритм, генерирующий текст буква-за-буквой, сэмплит буквы не из p (вектор вероятностей следующей буквы, предсказанный языковой моделью), а из p'=softmax(log(p)/t) (где t — это ещё какой-то непонятный положительный скаляр)? Б...

Как проверить доступность вводного предложения в iOS Если в вашем приложении с подписками вы используете вводные предложения (триал, оплата по мере использования или предоплата), то прежде чем показать цену на экране оплаты, вам нужно определить доступность вводного предложения для пользователя. Если пользователь до этого уже ...

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

Заметки фитохимика. Закат эпохи хабра-банана Anfangen ist leicht, Beharren eine Kunst (Начинать — легко, продолжать — искусство) Немецкая пословица Думаю, тема банана уважаемым хабра-читателям уже порядком поднадоела. Пора бы с одной стороны закончить наконец с этим бананом, да написать про какой-нибудь чеснок. Но что ...

Google тестирует полнотекстовый поиск по подкастам Ориентироваться в двухчасовых подкастах станет гораздо проще. Сервис Google Podcasts начал автоматически генерировать расшифровки аудиозаписей и использует их в качестве метаданных для поиска, сообщает Android Police. Это помогает не только найти нужный фрагмент в конкретном...

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

Windows Server Core против GUI и совместимость с ПО Мы продолжаем рассказывать про работу на виртуальных серверах с Windows Server 2019 Core. В прошлых постах мы рассказали как готовим клиентские виртуальные машины на примере нашего нового тарифа VDS Ultralight с Server Core за 99 рублей. Затем показали как работать с Windows...

[Перевод] Лучшие практики для контейнеров Kubernetes: проверки работоспособности TL;DR Чтобы добиться высокой наблюдаемости контейнеров и микросервисов, журналов и первичных метрик мало. Для более быстрого восстановления и повышения отказоустойчивости приложения должны применять Принцип высокой наблюдаемости (HOP, High Observability Principle). На уров...

[Перевод] Стандарт WASI: запуск WebAssembly за пределами веба 27 марта мы в Mozilla объявили о начале стандартизации WASI, системного интерфейса WebAssembly (WebAssembly system interface). Зачем: разработчики начали применять WebAssembly за пределам браузера, потому что WASM обеспечивает быстрый, масштабируемый, безопасный способ запу...

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

Книга «Data mining. Извлечение информации из Facebook, Twitter, LinkedIn, Instagram, GitHub» Привет, Хаброжители! В недрах популярных социальных сетей — Twitter, Facebook, LinkedIn и Instagram — скрыты богатейшие залежи информации. Из этой книги исследователи, аналитики и разработчики узнают, как извлекать эти уникальные данные, используя код на Python, Jupyter Not...

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

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

Подсчитываем энергобюджет радиолинии для спутника формата CubeSat Предисловие Думаю, нужно коротко пояснить, почему вдруг такая, казалось бы, тривиальная тема с подсчетом энергобюджета и почему именно спутники CubeSat? Ну, здесь всё достаточно просто: моя короткая педагогическая практика показала (мне), что тема эта хоть и базисная, но дал...

Дизайнеры vs разработчики: об истории создания приложения «Мой умный город» Представьте себе банковское приложение. Что вы видите? Наверняка это несколько строчек с количеством денег на ваших счетах и куча невзрачных менюшек, где перечислены способы как-нибудь эти деньги потратить. Невзрачная картина. А банковское приложение, как центр платежной акт...

Как работает функция Sidecar на iPad и Mac Несколько дней назад Apple показала нам новые iPadOS и macOS Catalina. Среди множества новых функций имеет смысл выделить опцию Sidecar. Данная технология позволяет использовать iPad как внешний монитор для Mac.  Функция Sidecar может работать удаленным образом, что, несомн...

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

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

Расширения для Visual Studio Code которые помогают работать с Git Visual Studio Code имеет git по умолчанию, но встроенных функций хватает не всегда для удобной и быстрой работы. Также для эффективной работы с git требуется визуализация процессов. Читать дальше →

Intel показала новый процессор i9-9900KS с Turbo-частотой 5 Ghz на ядро Вчера компания Intel представила публике свой новый восьмиядерный процессор (16 потоков) i9-9900KS с тактовой частотой в 5,0 Ghz на каждое ядро в режиме Turbo. Режим Turbo в процессорах Intel — это система, которая автоматически поднимает тактовую частоту ядер при увеличении...

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

[Перевод] Лучшие дистрибутивы Linux для старых компьютеров Привет! Вкратце: пока не бросайте свой старый компьютер — используйте легкий дистрибутив Linux, чтобы возродить его! Что вы делаете со своим старым компьютером? Тот, который когда-то имел хорошую аппаратную конфигурацию, но теперь считается устаревшим. Почему бы не восстан...

Neutralinojs — что ты такое? Или UNIX way там, где не ждали Недавно я совершенно случайно наткнулся на простую рекламную заметочку "Neutralinojs — альтернатива Electron, потребляющая меньше памяти", рассказывающую о том, что есть такая крутая вещь как Neutralinojs. Заметочка, как и следует ей быть, совсем короткая и не несёт никакой ...

[Из песочницы] Типичная ошибка сетки (Bootstrap Grid), или почему дизайнер и верстальщик не понимают друг друга Сталкивались ли вы с ситуацией, когда текст и блоки, которые прекрасно вмещаются в макете фотошопа, почему-то упрямо не хотят слушаться в верстке – не вмещаются в заданную макетом ширину? При этом и дизайнер, и верстальщик используют одинаковую сетку, например, сетку Bootstr...

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

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

Разработка Kubernetes оператора с Operator Framework Как уже говорилось в статье Радар технологий, Lamoda активно двигается в направлении микросервисной архитектуры. Большинство наших сервисов упаковываются с помощью Helm и деплоятся в Kubernetes. Данный подход полностью удовлетворяет наши потребности в 99% случаев. Остается ...

[Из песочницы] Мой подход к реализации делегатов в C++: вызов функции с неизвестными параметрами во время выполнения Предыстория Мне нравится язык C++. Я бы даже сказал, что это мой любимый язык. Кроме того, для своих разработок я использую технологии .NET, и многие идеи в нём, по моему мнению, просто восхитительны. Однажды мне пришла в голову идея – как реализовать некоторые средства рефл...

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

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

[Перевод] Как работает рендеринг 3D-игр: обработка вершин В этом посте мы рассмотрим этап работы с вершинами. То есть нам придётся снова достать учебники по математике и вспомнить линейную алгебру, матрицы и тригонометрию. Ура! Мы выясним, как преобразуются 3D-модели и учитываются источники освещения. Также мы подробно объясним р...

[Перевод] Быстрое введение в Svelte с точки зрения разработчика на Angular Svelte — сравнительно новый UI фреймворк, разработанный Ричем Харрисом, который также является автором сборщика Rollup. Скорее всего Svelte покажется совершенно не похожим на то, с чем вы имели дело до этого, но, пожалуй, это даже хорошо. Две самые впечатляющие особенности э...

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

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

Как очистить оперативную память на Android-смартфоне Освободив оперативную память, вы заставите смартфон работать быстрее Большинство устройств среднего и высокого ценового диапазона, выпущенные за последние пару лет, имеют в районе 4 гигабайт оперативной памяти. Если, конечно, мы не будем принимать во внимание флагманы вроде ...

[Из песочницы] Рендеринг 3D графики с помощью OpenGL Введение Рендеринг 3D графики — непростое занятие, но крайне интересное и захватывающее. Эта статья для тех, кто только начинает знакомство с OpenGL или для тех кому интересно, как работают графические конвейеры, и что они из себя представляют. В этой статье не будет точных ...

[Перевод] История и наследие jQuery jQuery — это самая популярная в мире JavaScript-библиотека. Сообщество веб-разработчиков создало её в конце 2000-х, что привело к возникновению богатой экосистемы сайтов, плагинов и фреймворков, использующих под капотом jQuery. Но в последние годы её статус главного инстру...

Получение статистики по всем клиентам из API Яндекс Директ в разрезе дней с помощью Python В работе часто использую короткую статистику в разрезе дней чтобы отслеживать отклонения трафика. Более подробно о написании запросов написал в статье « Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python)». В данной статье я в большей степени рас...

[Перевод] Я выставил счёт $18 000 за статичную веб-страничку… и мне это сошло с рук Не так давно я работал контрактником, перескакивая с одного проекта на другой. С некоторыми краткосрочными проектами справлялся за неделю. Другие длились пару месяцев. Они приносили достаточно денег, чтобы взять отпуск. Но я предпочитал короткие, потому что там можно было ус...

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

5 лучших тренажёров для дома, которые реально работают Они помогут прокачать выносливость и укрепить мышцы.

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

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

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

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

Вкалывают роботы — счастлив человек Позабыты хлопоты, Остановлен бег, Вкалывают роботы, Счастлив человек! Из фильма "Детство Терминатора" "Приключения Электроника" Привет, сегодня мы снова поговорим о производительности. О производительности труда разработчиков. Я расскажу о том, как средствами "Идеи" прокачат...

[Перевод] Почему всемирный день экологического долга и экологический след — это псевдонаучная чушь Если верить некоммерческому мозговому центру Global Footprint Network (GFN), то начиная с августа и до конца года человечество потребит больше ресурсов, чем способна произвести наша планета. Подобные дни GFN отмечает периодически с 1986 года. «Человечество использует прир...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 17. Итоги пройденного и дорожная карта курса CCNA Сегодня мы подведем итоги нашего обучения и рассмотрим, что будем изучать в оставшихся сериях видеоуроков. Поскольку мы пользуемся учебными материалами Cisco, то посетим сайт компании, расположенный по адресу www.cisco.com, чтобы увидеть, сколько мы изучили и сколько ещё ост...

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

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

[Перевод] Kubernetes: сборка образов Docker в кластере Чтобы собирать образы Docker в контейнере и при этом обойтись без Docker, можно использовать kaniko. Давайте узнаем, как запускать kaniko локально и в кластере Kubernetes. Дальше будет многабукаф Читать дальше →

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

[Перевод] DEFCON 21. Одних паролей недостаточно, или почему «ломается» шифрование диска и как это можно исправить. Часть 1 Спасибо всем, что пришли, сегодня мы поговорим о полном шифровании жёсткого диска (FDE), которое не так безопасно, как вы думаете. Поднимите руки, кто шифрует таким образом HDD своего компьютера. Поразительно! Ну что же, добро пожаловать на DefCon! Похоже на то, что 90% и...

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

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

[Из песочницы] Взаимодействие с Asterisk сервером из Java-приложения Взаимодействие с сервером Asterisk из java-приложения через Asterisk Managment Interface (AMI) Если вы только начинаете исследования в этой области, то взаимодействие с данным сервером может показаться вам несколько запутанным, как когда-то показалось мне. Чтобы не искать ...

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

Upgrade дисковой подсистемы старого сервера с шиной PCIe 1.0 — 2.0 Почему темой данной статьи выбран апгрейд дисковой подсистемыПонятно, что в первую очередь нужно, как правило: Увеличить оперативную память. Это настолько очевидный ход, что я даже не счёл нужным писать об этом в основной статье Поставить дополнительный процессор(ы) или за...

[Из песочницы] Angular schematics, или как я писал свой шаблон для angular cli Здравствуйте, меня зовут Максим. Уже несколько лет я занимаюсь front-end разработкой. Мне часто приходится иметь дело с версткой различных html шаблонов. В своей повседневной работе я обычно пользуюсь сборщиком webpack c настроенным шаблонизатором pug, а также использую мето...

Пишем высокопроизводительный http клиент на примере fasthttp. Александр Валялкин (VertaMedia) Библиотека Fasthttp — ускоренная альтернатива net/http из старндартных пакетов Golang. Как она устроена? Почему она такая быстрая? Паттерны из Fasthttp можно использовать для ускорения ваших приложений, вашего кода. Кому интересно, добро пожаловать под кат. Читать дальше →

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

Downhill Masters — необычная гонка на велосипедах для Android Мы привыкли к тому, что большая часть гонок на мотоциклах и велосипедах использует вид сбоку, давая возможность разработчикам играться с виражами и оставляя свободу игроку. Но свежая Downhill Masters выполнена в более привычном виде от третьего лица — то есть, из-за спины гл...

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

[Перевод] IBM показала 8-битный аналоговый чип памяти с изменением фазового состояния Исследователи использовали чип для испытания простой нейросети, сумевшей определить цифры со 100% точностью В начале декабря 2018 на выставке IEEE International Electron Devices Meeting в Сан-Франциско IBM показала новый 8-битный аналоговый чип. Однако основной инновацией ...

Почему два крупнейших производителя электроники объединили силы в новом GPU-проекте Samsung и AMD начали совместный проект в области архитектур GPU. Разберемся, какие есть предпосылки для этого партнерства и обсудим другие компании, работающие в этой сфере. Читать дальше →

[Перевод] Новости из мира OpenStreetMap № 463 (28.05.2019-03.06.2019) Multimapas- это сочетание множества исторических, топографических, спутниковых и дорожных карт 1 | CC BY 4.0 Национальный географический институт Испании | Leaflet | map data OpenStreetMap contributors Картографирование Последняя версия сервиса “How Did You Contribute", ...

[Из песочницы] [Опрос и зло] Хостинги, будь они неладны Привет, Хабр! Я — сисадмин по вызову, а точнее, аутсорсер, который консультирует и обслуживает как частных лиц, так и организации разного профиля в плане IT-инфраструктуры. Это тяжёлая, нервная, почти бешеная работа, внутри которой я видел всё: от разлитой на ноут водки до п...

[Из песочницы] CI/CD, используя Jenkins на Kubernetes Добрый день. На Хабре уже есть несколько статей о jenkins, ci/cd и kubernetes, но в данной я хочу сконцентрироваться не на разборе возможностей этих технологий, а на максимально простой их конфигурации для постройки ci/cd pipeline. Я подразумеваю, что читатель имеет базовое ...

Как организовывать Knowledge Sharing внутрь и наружу Какой путь видит неподготовленный тимлид, когда возникает необходимость чему-то научить своих коллег, будь то команда разработчиков или люди, которые сопровождают, поддерживают или продают его продукт? Правильно — слепить презентацию на 100500 слайдов, забронировать перегово...

Бэкдор на Node.js: зачем, почему и как это работает Недавно коллеги из Яндекса поделились с нами сэмплом интересного троянца, о чем мы сообщили в этой новости. Такая малварь попадается не часто, поэтому мы решили подробнее ее разобрать, а заодно поговорить о том, почему мы так редко встречаем подобные сэмплы. Читать дальше →

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

Большой брат следит за… собой или карта с историей перемещений в HomeAssistant Вступление. Для своей домашней автоматизации я уже давно использую HomeAssistant. Однажды товарищ у меня спросил, мол, почему у HomeAssistant есть возможность указывать только текущее положение трекера на карте, но нельзя отобразить весь маршрут следования? С тех пор данная ...

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

[Из песочницы] Изучаем данные, собранные Xiaomi Mi Band за год Введение Люди носят фитнес-браслеты по разным причинам, я могу предположить некоторые из них: Для того, чтобы поддерживать себя в форме и выполнять цели по активности; Потому что это некая модная штучка; Чтобы ставить над собой эксперименты или узнать себя лучше. Я ношу фи...

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

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

[Из песочницы] Разброс цен на проектирование и дизайн онлайн-сервиса от 100 тыс до 5 млн руб. Причины Эта статья для тех, кто хочет свой запустить it-стартап и понять сколько денег и времени нужно на MVP (минимальную версии), чтобы протестировать идею или сделать рабочий прототип для презентации инвесторам. После прочтения данной статьи: Вам не нужно будет отправлять 10-2...

Графический редактор GANpaint рисует объектами и демонстрирует возможности GAN Одна из кистей удаляет/добавляет деревья, другая — людей и т. д. Генеративно-состязательные сети (GAN) создают потрясающе реалистичные изображения, часто неотличимые от реальных. С момента изобретения таких сетей в 2014 году в этой области проведено много исследований и со...

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

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

Как скачивать видео с Вконтакте, Ютуб, Facebook, Инстаграм, Одноклассников на компьютер: лучшие бесплатные сервисы С помощью данных сервисов можно скачивать видео на компьютер с различных ресурсов, таких как «ВКонтакте», Ютуб, Инстаграм, Фейсбук и пр., не используя дополнительные программы.   Как скачивать видео с Ютуба, Вконтакте, Facebook, Twitter и т.д. Все ресурсы работают по сх...

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

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

Травим данные с travajs В своем предыдущем посте я описал основные моменты при разработке другой opensource библиотеки. Забыл упомянуть еще один: если никому не рассказывать про библиотеку, какая бы нужная она ни была, скорее всего никто про нее так и не узнает. Итак, встречайте trava.js — сочна...

Новый тип SSD-хранилищ сократит энергопотребление в ЦОД — как это работает Cистема уменьшит расходы на электроэнергию в два раза. / фото Andy Melton CC BY-SA Зачем нужна новая архитектура По оценкам Data Centre Dynamics, к 2030 году электронные устройства будут потреблять 40% всей вырабатываемой на планете энергии. Приблизительно 20% от этого объ...

Короткая JS-задачка для понедельника Которая родилась в процессе изучения кошмаров LexicalEnvironment и вообще ликбеза на тему "Почему оно работает так". Задача получилась действительно из серии wtfjs, но после внимательного рассмотрения — полностью укладывается в логику работы языка. Читать дальше →

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

[Из песочницы] На одной асимптотике далеко не уедешь… Любители посоревноваться в алгоритмах часто говорят об асимптотике того или иного решения задачи. При этом нередко можно встретить высказывания, что, мол, «вот этот» алгоритм работает за O(n), а «вон тот»  – за O(n·log(n)), значит первый однозначно быстрее и, следовательно,...

WhatsApp для iOS теперь можно защищать от посторонних глаз при помощи Face ID или Touch ID Разработчики мессенджера WhatsApp выпустили небольшое, однако довольно значимое обновление для устройств, которые работают под управлением операционной системы iOS. Теперь пользователи популярного мессенджера получили дополнительную возможность, позволяющую скрыть свою ...

[Перевод] Генерируем одноразовые пароли для 2FA в JS с помощью Web Crypto API Введение Двухфакторная аутентификация сегодня повсюду. Благодаря ей, чтобы украсть аккаунт, недостаточно одного лишь пароля. И хотя ее наличие не гарантирует, что ваш аккаунт не уведут, чтобы ее обойти, потребуется более сложная и многоуровневая атака. Как известно, чем слож...

[Из песочницы] Оформление PL/SQL кода и формирования PL/SQL документации (pldoc), аналогично JavaDoc Внутри команды нужно разработать свои стандарты и правила, а оформление документации — это одно из главных правил работы в команде. Ну, поехали… Ссылка на сам инструмент pldoc. По ссылки хорошо все расписано как работать и формировать документацию, но чтобы было проще приве...

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

[Из песочницы] Особенности HttpUrlConnection из java.net Здравствуйте, сегодня постараюсь рассказать о том, как можно отправить запрос и прочитать ответ от HTTP сервера, используя URLConnection из библиотеки JRE. Сейчас изучаем Java в онлайн режиме. Вся наша команда использует Slack для работы и общения. Заинтересовала возможнос...

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

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

[Перевод] Настраиваем Out-Of-Memory Killer в Linux для PostgreSQL Когда в Linux сервер базы данных непредвиденно завершает работу, нужно найти причину. Причин может быть несколько. Например, SIGSEGV — сбой из-за бага в бэкенд-сервере. Но это редкость. Чаще всего просто заканчивается пространство на диске или память. Если закончилось прост...

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

Docker'изация: что нужно знать каждому .Net-разработчику В век победившего DevOps разработчики просто обязаны знать про Docker контейнеры, зачем они нужны и как с ними работать. Это многократно облегчает работу. Причем всю силу контейнеризации могут почувствовать даже те, кто работает с .Net Core в среде разработки Visual Studio 2...

[Перевод] Unreal Engine 4 — шейдер горения Это небольшой шейдер, который появился, когда я думал о различных методах применения flowmap. Существуют много эффектов перехода/растворения, но большинство из них выглядит довольно статично, так как они используют статические текстуры. Данный шейдер далек от совершенства, н...

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

[Перевод] Пишем кастомный трансформер AST на TypeScript Команда TestMace снова с вами. На этот раз мы публикуем перевод статьи о преобразовании кода TypeScript, используя возможности компилятора. Приятного чтения! Введение Это мой первый пост, и в нём мне бы хотелось показать решение одной задачи с помощью API компилятора TypeScr...

[Из песочницы] Сообщения и оповещения на Android через JSON Для получения коротких сообщений, можно использовать электронную почту, SMS, push-уведомления или создать бота для мессенджера. Предлагаю рассмотреть еще один простой способ: 1. Создаем на стороне веб-сервиса источник данных в JSON. { "refl.me":true, ...

Закаливание: как я страдала, чтобы прокачать здоровье От умывания холодной водой до обтирания снегом и купания в проруби.

Почему бизнесу нужен хороший код В сфере разработки программного обеспечения, нередко встречаются тезисы наподобие «Nobody cares about your code» (перевод — «Твой код никого не интересует»), «Код всего лишь инструмент» и ситуации полного непонимания со стороны бизнеса, почему это мы должны выделять время и ...

Proof of Concept: целесообразность внутреннего ML проекта Недавно в уютном чатике дата сатанистов подняли вопрос, как правильно "продавать" внутренние проекты по машинному обучению. Оказалось, что многие из нас весьма брезгливо относятся к экономическому обоснованию своей деятельности. Меж тем, чтобы провести минимальную оценку рен...

Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора) Я работаю со студентами на микроконтроллере STM32F411RE, имеющего целых 512 кБайт ROM и 128 кБайт ОЗУ. Обычно в этом микроконтроллере в ROM память записывается программа, а в RAM изменяемые данные и очень часто нужно сделать так, чтобы константы лежали в ROM. В микроконтро...

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

Американские ученые научили роботов использовать вспомогательные инструменты Обезьяна (шимпанзе) достает термитов из термитника при помощи палки. Навторой фотографии горилла использует палку для сбора нужной ей травы Разработчики из США создали специализированный алгоритм для роботов, который дал возможность последним использовать дополнительные и...

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

[Перевод] Я самый большой скупердяй в инди-разработке игр Скриншот из Queen's Wish. Учтите, что я использую игровой арт, который мне нравится. Это необходимо, потому что потом придётся смотреть на него годами, и я не хочу сойти с ума. Неделю назад я опубликовал в блоге пост «Почему все мои игры выглядят так отстойно» (оригинал). ...

“Есть все, что нужно, и ничего не бесит” — устами клиента глаголет истина В каком виде к вам поступает задача? Это устное описание менеджера, схема на флипчарте или ТЗ заказчика? Для нашей команды разработки — это пользовательская история. И выглядеть она может так: «Я как владелец бизнеса хочу видеть счета в мобильном приложении». Из истории след...

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

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

Что такое маржинальная торговля на бирже, и как она работает Изображение: Unsplash Любой, кто интересуется сферой биржевых инвестиций встречал упоминания понятия маржинальная торговля. Но что это такое, и для чего нужен этот инструмент? Разбираем в нашем новом материале. Читать дальше →

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

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

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

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

Google выпустила AR-режим в Google Maps для всех Несмотря на то что смартфоны Google Pixel не пользуются особой популярностью, именно им Google посвящает большую часть своих программных наработок. Google Camera, Night Sight и даже AR-режим в Google Maps – все это было доступно только на «пиксельных» аппаратах, пока разраб...

Обзор бесплатного инструмента SQLIndexManager Как известно индексы играют важную роль в СУБД, предоставляя быстрый поиск к нужным записям. Потому так важно их своевременно обслуживать. Об анализе и оптимизации написано достаточно много материала, в том числе и в Интернете. Например, недавно делался обзор данной темы в э...

Маршмеллоу по-домашнему Магазинные сладости перестали внушать доверие, поэтому вы начали самостоятельно искать идеи для домашних вкусностей? Почему бы вам не взяться за приготовление маршмеллоу – мы расскажем, что и как нужно делать, чтобы жевательный зефир в домашних условиях получился на 5+. ...

Как я Telegram ломал Как-то раз я взломал один из серверов telegram. Не то чтобы это было нечто интересное, да и сами уязвимости стандартные. Удивление скорее вызывает факт того, как телеграм относится к безопасности и почему на протяжении многих лет уязвимостями так никто и не воспользовался. Н...

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

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

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

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

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

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

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

Методология БЭМ на примере стикеров в opencart Поскольку я предпочитаю методологию БЭМ, начав работать с opencart, я сразу же столкнулся с ужасными для меня вещами, это вложенные селекторы. Они повсюду! Начиная от шаблона по умолчанию, заканчивая практически всеми модулями и авторскими шаблонами. Почему так? Мне кажетс...

Grid Layout как основа современной раскладки В темные века верстальщики строили сайты на таблицах. Потом они освоили float и flexbox, и тьма отступила. В 2017-м наступила эпоха Просвещения с приходом CSS Grid Layout. Grid учитывает горизонтальное и вертикальное пространство, с ним можно менять раскладку, не трогая раз...

[Из песочницы] DDS Синтезатор на Verilog В этом посте я поделюсь тем, как разбирался с написанием DDS синтезатора на Verilog. Он будет использован для генерации синусоидального колебания, частоту и начальную фазу которого можно регулировать и рассчитан для использования с 8-битным однополярным ЦАП. О том, как рабо...

Игровая агрессия, или как кооператив превращается в кровавую баню и что делать, чтобы он этого не делал В прошлый раз мы остановились на том феномене, что игра, которая изначально задумывалась как кооператив (например, D&D или многопользовательская песочница типа Space Station 13), почему-то может использоваться игроками совершенно по другому назначению, становясь простр...

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

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

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

[Перевод] Нейросети и глубокое обучение, глава 4: визуальное доказательство того, что нейросети способны вычислить любую функцию В данной главе я даю простое и по большей части визуальное объяснение теоремы универсальности. Чтобы следить за материалом этой главы, не обязательно читать предыдущие. Он структурирован в виде самостоятельного эссе. Если у вас есть самое базовое представление о НС, вы должн...

Улучшенный поиск Windows теперь распространяется на ПК с Windows 10 Microsoft выпускает обновление на стороне сервера, которое позволяет немного улучшить вариант поиска Windows в различных сборках Windows 10, включая ПК с обновлением за май 2019 года (May 2019 Update).Поиск Windows стал неотъемлемой частью ОС, и теперь доступна более продвин...

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

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

АСУ ТП карьерного экскаватора Введение Экскаватор можно увидеть на любой стройке в городе. С обычным экскаватором справляется один машинист. Для управления ему не требуется сложная система автоматизации. Но если экскаватор в разы больше привычного и достигает высоты пятиэтажного дома, в его ковш можно...

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

[Из песочницы] Ретрогейминг: PAL vs NTSC. Или почему PAL не нужен Многие из вас знают про форматы видео как PAL, NTSC и, конечно же, SECAM. Скорее всего эти аббривеатуры вы слышали, когда речь шла о видеотехнике. Толком никто не знал в чем была между ними разница и почему они отличались. Что касательно видеоигровой индустрии, то тут уж точ...

Как мы делали тариф для Windows VPS за 120 рублей Если вы являетесь клиентом VDS-хостинга, задумывались ли вы о том, что идет в комплекте со стандартным образом операционной системы? Мы решили поделиться, как мы готовим стандартные клиентские виртуальные машины и покажем на примере нашего нового тарифа Ultralight за 120 ру...

Как мы пересадили всю команду на другой язык за один день (на самом деле — нет) func main() { envs.UpdateDotenv() ctx := context_os.Context(context.Background()) res := resources.Get(ctx) ready := readiness.New() ready.AddProbe(func() { //add some initialization }) h := handlers.New(res) s := server.NewServer(ready) s.HandleFunc("/test", h.Tes...

Walmart открыла первый магазин, управляемый AI На днях крупнейшая сеть супермаркетов США представила то, что она называет «магазином будущего». Работающий в городе Левиттаун (штат Нью-Йорк) большой супермаркет, использующий сразу десятки передовых технологий. В том числе – интерактивные дисплеи и камеры, подключенные к...

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

Протокол SPBm как основа Extreme Automated Campus Решения компании Extreme Networks «Extreme Automated Campus» обеспечивают возможность одновременного использования множества путей передачи и быстрого восстановления в случае аварии. Сеть, состоящая из множества физических коммутаторов, представляет собой один распределённый...

Человек без смартфона Мне 33 года, я программист из Санкт-Петербурга и у меня нет и никогда не было смартфона. Не то чтобы он был мне не нужен — нужен, даже очень: я работаю в IT сфере, у всех членов моей семьи они есть (у ребенка уже третий), мне приходилось руководить в том числе и мобильной ра...

Что почитать про организацию рабочих мест, коворкинги и дизайн пространств для дистанционной работы Получилось так, что с 2012 года я курирую московский Techstars Startup Digest. Это — email-рассылка мероприятий для IT-специалистов, основателей стартапов и маркетологов. Моя задача — отфильтровать непомерно дорогие и рекламные эвенты — в рассылку попадают бесплатные или оч...

JSON API – работаем по спецификации В последнее время веб-разработка разделилась. Теперь мы все не full-stack программисты — мы фронтендеры и бэкендеры. А самое сложное в этом, как и везде, это проблема взаимодействия и интеграции. Фронтенд с бэкендом взаимодействуют через API. И от того, какой это API, наско...

[Перевод] Новый GitLab 12.0 с визуальными ревью и списком зависимостей Dev, Sec и Ops GitLab 12.0 — это ключевой выпуск на пути к реализации подхода, который будет охватывать все элементы DevSecOps и позволит всем вносить свой вклад. У нас был очень увлекательный год — мы много работали над решением, которое объединило бы все команды. Сообщест...

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

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

Еще раз о passport.js Недавно мне передали на поддержку проект на express.js. При изучении кода проекта я обнаружил немного запутанную работу с аутентификацией/авторизацией которая базировалась, как и 99,999% случаев, на библиотеке passport.js. Этот код работал и следуя принципу «работет — не тро...

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

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

ИТ-байки розницы — как это было 12 лет назад Я работаю в КРОК уже 15 лет, сейчас директором по развитию бизнеса в рознице. Исторически большинство моих проектов тоже в ритейле. С согласия заказчика публикую байки про то, на что был похож ритейл по ИТ лет 12 назад от себя и коллег. Безопасники заменили некоторые неваж...

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

Наряд-допуск: для чего он нужен и почему электронный лучше бумажного Привет! Меня зовут Игорь Громов, и я работаю в СИБУРе в функции «Цифровые технологии», в направлении цифровизации процессов. Сейчас мы активно занимаемся переводом в электронный вид наших нарядов-допусков. Наряд-допуск — это инструкция по мерам безопасности, которая выда...

Книга "{Вы не знаете JS} Типы и грамматические конструкции" Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное руководство исследует типы более глубоко, чем все существующие книги: вы узнаете, как работают типы, о проблемах их преобразования и научитесь пол...

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

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

Свой Telegram бот для отслеживания uptime своих серверов на python и docker 1. Делаем телеграм бота Для начала нужно написать бота, который будет пинговать нужные ip и посылать сообщение, когда нужный сервис пропадает из сети, а потом появляется Читать дальше →

[Перевод] Почему вам стоит разгонять оперативную память (это легко!) Любая программа на ПК использует для работы оперативную память, RAM. Ваша RAM работает на определённой скорости, заданной производителем, но несколько минут копания в BIOS могут вывести её за пределы стандартных спецификаций. Да, скорость работы памяти имеет значение Кажд...

Инструменты Node.js разработчика. Работа с веб-сокетами по протоколу mqtt Технология веб-сокет позволяет в веб-приложении или в мобильном приложении реализовать отправку сообщений с сервера на клиент, что невозможно сделать средствами REST-API. Для работы с веб-сокетами часто используют библиотеку socket.io, или же разработчики работают с нативным...

Админка за 5 минут. Фронтэнд — react-admin, бэкэнд — Flask-RESTful Если нужно на коленке получить быстро админку, где фронтендом будет react-admin, а бэкендом Flask-RESTful api, то ниже минимальный код в несколько десятков строк, чтобы это реализовать. Читать дальше →

Что такое музыкальное программирование — кто и почему им занимается, устраивая настоящие live-сессии Ранее мы говорили об инструменте OpenMusic. Он позволяет писать музыку, используя объектно-ориентированный подход. Сегодня речь пойдет о людях, которые создают композиции с помощью специализированных языков программирования. И зачастую делают это «в прямом эфире». Читать д...

[Перевод] Нейросети и глубокое обучение, глава 3, ч.3: как выбрать гиперпараметры нейросети? Содержание Глава 1: использование нейросетей для распознавания рукописных цифр Глава 2: как работает алгоритм обратного распространения Глава 3: ч.1: улучшение способа обучения нейросетей ч.2: почему регуляризация помогает уменьшать переобучение? ч.3: как выбрать гиперпара...

Быстрый старт: Go + Apache Kafka + Redis В последнее время я, в силу необходимости, просмотрел все объявления о вакансиях Go-разработчиков, и в половине из них (как минимум) упоминается платформа для обработки потоков сообщений Apache Kafka и NoSQL база данных Redis. Ну и все, конечно, хотят, чтобы кандидат знал Do...

Доступ к свойствам внутри поля Jsonb для Npgsql PostgreSQL имеет тип данных Jsonb, который позволяет добавлять к стандартной реляционной модели дополнительные свойства с возможностью поиска по ним. EntityFramework Core с расширением Npgsql умеет вытягивать данные поля в тип System.String Однако для фильтрации по Json свой...

ControlValueAccessor и contenteditable в Angular Вы когда-нибудь задумывались, как работает связка форм Angular и HTML элементов, через которые пользователь заносит данные? С самого начала для этого использовали ControlValueAccessor — специальный интерфейс, состоящий всего из 4 методов: interface ControlValueAccessor { w...

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

Москва, 18 апреля — QIWI SERVER PARTY 4.0 18 апреля, в четверг, мы снова собираем митап QIWI SERVER PARTY. На митапе подробно обсудим не только технические вопросы, но и поговорим о том, нужны ли хорошим программистам soft skills, на каких ошибках мы научились, обучая стажеров, и нужен ли сотруднику ментор, или дос...

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

Мини-интервью Олега Анастасьева: отказоустойчивость в Apache Cassandra Одноклассники – самый крупный пользователь Apache Cassandra в Рунете и один из крупнейших в мире. Мы начали использовать Cassandra в 2010 для хранения оценок фото, а сейчас под управлением Cassandra находятся петабайты данных на тысячах нод, более того, мы даже разработали...

[Из песочницы] Крибле Карбле Gradle: магия автоматической сборки Разработчики облегчают жизнь людям, а Gradle — разработчикам. Если вы пишете на Android, эта статья для вас. Читайте о том, что за зверь этот Gradle (спойлер: он слон), а также — как с ним работать. Gradle — система автоматической сборки, которую используют для упрощения раб...

100GbE: роскошь или насущная необходимость? IEEE P802.3ba, стандарт для передачи данных по 100-гигабитным каналам Ethernet (100GbE), разрабатывался в период с 2007 по 2010 год [3], но получил широкое распространение только в 2018 [5]. Почему именно в 2018, а не раньше? И почему сразу в массовом порядке? На то есть как...

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

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

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

«Автономные Агенты» или исполняем код в открытой криптоплатформе Obyte Obyte — это открытая крипто платформа, использующая в качестве реестра транзакций Directed Acyclic Graph (DAG, направленный граф без циклов) вместо блокчейна, со свободным равным доступом к реестру для всех участников. DAG, в отличие от привычного всем блокчейна, даёт возм...

Один маленький шаг для тестировщика: топ-10 докладов Heisenbug 2019 Piter Привет, Хабр! Выкладываем подборку отличных докладов о тестировании и обо всём, что его окружает. Оценки посетителей Heisenbug 2019 Piter определили лучшие доклады этой конференции, из которых вы узнаете, например: Может ли один тестировщик изменить всю компанию; Что пр...

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

[Из песочницы] Инкрементальные бэкапы postgresql с pgbackrest — курс молодого бойца от разработчика Дисклеймер Я — разработчик. Я пишу код, с базой данных взаимодействую лишь как пользователь. Я ни в коем случае не претендую на должность системного администратора и, тем более, dba. Но… Так вышло, что мне нужно было организовать резервное копирование postgresql базы данны...

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

[Перевод] 7 ключевых индикаторов риска Active Directory на панели мониторинга Varonis Все, что нужно злоумышленнику, – это время и мотивация для проникновения в вашу сеть. Но наша с вами работа состоит в том, чтобы не дать ему этого сделать или, по крайней мере, максимально усложнить эту задачу. Нужно начать с определения слабых мест в Active Directory (дал...

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

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

[Из песочницы] Изоморфизм спешит на помощь «Изоморфизм» — одно из базовых понятий современной математики. На конкретных примерах на Haskell и C# я не только растолкую теорию для нематематиков (не используя при этом никаких непонятных математических символов и терминов), но и покажу как этим можно пользоваться в повсе...

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

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

[Из песочницы] Почему Windows XP в 2019 году по-прежнему рулит, или ЧЯДНТ? На Хабре в комментариях к статьям о выходе новых версий операционных систем, выпуске новых моделей ноутбуков, накопителей данных, модулей памяти и т.п. регулярно высказывается мнение о том, что только наипоследнейшая версия операционной системы известного вендора даёт возмож...

Глава СБУ Иван Баканов считает, что SIM-карты в Украине нужно продавать по паспорту (чтобы быстрее вычислять «минёров») Глава СБУ Иван Баканов поддержал продажу SIM-карт по паспорту, так как считает, что это облегчит работу по поиску людей, которые сообщают о «минировании» объектов инфраструктуры. Данное мнение глава Службы безопасности Украины высказал в интервью изданию «Глав...

[Перевод] Используйте __main__.py Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют это магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаим...

[recovery mode] Что такое Cordentity? [Перевод статьи] Cordentity — это приложение Corda (CorDapp) позволяющее использовать возможности технологии Self Sovereign Identity (SSI) другим CorDapps. Другими словами, Cordentity = Corda + Identity. Мы рады объявить, что теперь Cordentity является проектом Hyperledger Labs с открытым и...

Чипсет Snapdragon 865 оказался быстрее Apple A12 Bionic Одними из самых популярных чипсетов среди производителей являются версии Snapdragon 855 и 855 Plus. Но их возможный преемник появился в базе данных Geekbench, показав отличную производительность. Очевидно, что Qualcomm готовит очередную флагманскую новинку. Подробнее об этом...

[Перевод] Крошечные компоненты: что может пойти не так? Используем принцип единственной ответственности Представляем вашему вниманию перевод статьи Scott Domes, которая была опубликована на blog.bitsrc.io. Узнайте под катом, почему компоненты должны быть как можно меньше и как принцип единственной ответственности влияет на качество приложений. Фото Austin Kirk с Unsplash Чит...

Зачем компании управлять смартфонами сотрудников? В начале октября на Хабре обсуждалась утечка данных из «Сбербанка». Один из сотрудников банка продал информацию о тысячах или миллионах клиентов: ФИО, номер паспорта, номер карты, дата рождения, адрес и т. д. Сама по себе новость рядовая: такую приватную информацию о клие...

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

5 вещей, которые должен сделать начинающий инвестор Даже если в инвестициях вы новичок, за короткий срок можно неплохо прокачать свои знания и даже получить прибыль. Рассказываем вместе с «Открытием Брокер», что нужно делать.

[Из песочницы] Первое, что нужно сделать запуская проект на Django Приветствую сообщество, встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти фа...

26 ноября, Москва — Alfa JS MeetUP #3 Привет! Во вторник, 26 ноября, мы проведём третий JS-митап. Бесплатный по предварительной регистрации, на привычной вам площадке, Большая Полянка, дом 2/10, строение 1 (Deworkacy Полянка). Спикеры от Ozon.travel, HH.RU и, само собой, Альфа-Банка. Поговорим о CI/CD, про ...

CRM ++ Есть такое мнение, что всё многофункциональное — слабое. И правда, это утверждение выглядит логично: чем больше взаимосвязанных и взаимозависимых узлов, тем выше вероятность того, что с выходом из строя одного из них потеряет свои достоинства и всё устройство. Мы все неоднок...

Менеджеры проектов не нужны Обратите внимание, что в названии нет знака вопроса. Я не хочу рассуждать, нужны менеджеры проектов в современной разработке программного обеспечения или нет. Практика показывает, что нет. Я только пытаюсь разобраться, почему так сложилось. Работая более 20 лет в IT-индустр...

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

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

Сoncurrent collections за 10 минут Photo by Robert V. Ruggiero Тема не новая. Но задавая вопрос “что такое concurrent collections и когда их использовать?” на собеседовании или code review, я почти всегда получаю ответ, состоящий из одного предложения: “они полностью защищают нас от race conditions” (что не...

Размышления о карьере в ИТ Сделать быструю карьеру в области разработки сегодня не так просто, как кажется. Если начать работать, например, в сфере финансов, то в 30 лет вы почти наверняка будете руководителем. В нашей же отрасли и в 35, и в 40 лет можно оставаться разработчиком. Среди нас много тех, ...

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

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

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

[Из песочницы] Telegram Bot — помощник в планировании мероприятий Всем привет :) Хочу показать вам свою разработку и очень хотелось, чтобы эта вещь стала полезной не только мне и моему окружению, а всем-всем-всем. И сразу к делу. Это бот для телеграмма. Называется он так: EventPlannerChecker По этому имени вы его можете найти с помощ...

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

[Перевод] Недоступная роскошь от Intel: Core i9-9990XE с 14 ядрами на частоте 5,0 ГГц (1 часть) Intel выпустил свой самый быстрый потребительский процессор для настольных ПК: Core i9-9900KS, у которого все восемь ядер работают на частоте 5,0 ГГц. Вокруг нового процессора много шума, но не всем известно, что у компании уже есть процессор с тактовой частотой 5,0 ГГц, к...

iPhone 11 прошел первый тест на производительность в Geekbench Известно, что анонс смартфонов Apple iPhone 11 состоится 10 сентября. И незадолго до данного мероприятия, iPhone 11 показал свою производительность в Geekbench. Так, в базе данных бенчмарка, показано устройство под управлением iOS 13.1 с идентификатором материнской платы N10...

Беспроводная настройка Raspberry PI 3 B+ Привет, несколько месяцев назад, приобрел себе малинку, с целью попрактиковатся в embedded-типа разработке. Я уверен, много людей знакомых из Raspberry полагают, что для первоначального запуска микрокомпьютера нужен как минимум RJ45 или монитор, клавиатура и мышь (что лучше...

Характеристики и изображения Honor 20 SE с сайта TENAA Оценить перспективы альянса Huawei/Honor на глобальном рынке сложно. Новинки вынуждено лишатся сервисов Google и придется заморачиваться, чтобы они появились. Нет ясности с обновлениями и далеко не все захотят заморачиваться, чтобы получить привычную функциональность An...

[Из песочницы] О том, как из C# перешел в Elixir/Phoenix Как-то раз пришлось мне менять работу. До этого я работал только с языками типа Python, C++, C# и ещё парочкой подобных. А теперь пришлось начать работать с функциональным языком. Первые впечатления были «да что за фигня?». Однако у меня получилось достаточно быстро адаптиро...

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

[Из песочницы] Direct routing и балансировка с помощью NFT vs Nginx При разработке высоконагруженых сетевых приложений возникает необходимость в балансировке нагрузки. Популярным инструментом L7 балансировки является Nginx. Он позволяет кешировать ответы, выбирать различные стратегии и даже скриптить на LUA.  Несмотря на все прелести Ngin...

DMA: мифы и реальность Введение В прошлой статье («Часть 2: Использование блоков UDB контроллеров PSoC фирмы Cypress для уменьшения числа прерываний в 3D-принтере») я отметил один очень интересный факт: если автомат в UDB изымал данные из FIFO слишком быстро, он успевал заметить состояние, что н...

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

[Перевод] Почему мы предпочитаем CSS(--variable) переменным SASS($variable)? С момента релиза CodyHouse Framework, пару месяцев назад, многие пользователи спрашивали нас, почему мы выбрали переменные CSS вместо переменных SASS, хотя мы используем SASS в этой среде. В этой статье я расскажу о преимуществах использования пользовательских свойств и о то...

[Перевод] Почему вам стоит использовать язык Ада для программирования вашей системы Язык программирования Ада родился в середине 1970-х, когда министерство обороны США и министерство обороны Британии решили заменить сотни специализированных языков программирования для встроенных вычислительных систем, всё чаще использовавшихся в военных проектах. Язык Ада...

В кабине Bloodhound: почему самому быстрому автомобилю в мире нужен не водитель, а пилот У самого быстрого автомобиля в мире, Bloodhound, нет водителя. Его функции выполняет пилот, потому что это наземное транспортное средство по способу движения и управлению гораздо ближе к истребителям, чем к машинам. И у Энди Грина, пилота Королевских ВВС Великобритании, была...

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

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