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

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

Универсальный способ настройки внешнего вида WinForms приложения (на примере FAQ.Net) Введение После размещения первой статьи о своем приложении FAQ.Net (программа заметок под Windows), появились первые пользователи, для которых хочется дальше развивать свою программу для заметок. Чтобы повысить интерес у пользователей, возникла идея повысить его привлекател...

Самосинхронные схемы. Вычисление логических функций непосредственно по графу событий. Часть 3. Декомпозиция Напомню важный вывод из предыдущих частей. Для циклического последовательного поведения, не содержащего кратных сигналов (переключающихся за цикл более двух раз), минимальная логическая функция каждого сигнала может быть представлена в следующем виде (естественно при отсутст...

[Из песочницы] fform: React & JSONSchema — максимальная гибкость Flexibile form (fform) — построитель форм с минимальной избыточностью кода, при этом максимально гибкий и расширяемый. Используемый стэк технологий: React (v16), Redux (опционально), JSONSchema, TypeScript. Основная идея — максиально возможное повторное использование схем, ...

Полноценная мультиарендность в Zimbra OSE с помощью Zextras Admin Мультиарендность на сегодняшний день является одной из самых эффективных моделей предоставления ИТ-услуг. Единый экземпляр приложения, запущенный на одной серверной инфраструктуре, но который при этом доступен множеству пользователей и предприятий, позволяет максимально сниз...

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

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

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

[Из песочницы] Создание Google пользователей из PowerShell через API Привет! В этой статье будет описана реализация взаимодействия PowerShell с Google API для проведения манипуляций с пользователями G Suite. В организации мы используем несколько внутренних и облачных сервисов. По большей части авторизация в них сводится к Google или Active ...

[Перевод] Опасности конструкторов Привет, Хабр! Представляю вашему вниманию перевод статьи "Perils of Constructors" автора Aleksey Kladov. Один из моих любимых постов из блогов о Rust — Things Rust Shipped Without авторства Graydon Hoare. Для меня отсутствие в языке любой фичи, способной выстрелить в ногу, о...

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

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

[Из песочницы] Ещё одна библиотека для создания mock'ов Добрый день. Я занимаюсь автоматизацией тестирования. Как и у всех автоматизаторов, у меня есть набор библиотек и инструментов, которые я обычно выбираю для написания тестов. Но периодически возникают ситуации, когда ни одна из знакомых библиотек может решить задачу с риском...

Software Defined Radio — как это работает? Часть 4 Привет Хабр. В третьей части было рассказано, как получить доступ к SDR-приемнику посредством языка Python. Сейчас мы познакомимся с программой GNU Radio — системой, позволяющей создать достаточно сложную конфигурацию радиоустройства, не написав ни единой строчки кода. Д...

Печать литейной оснастки. Фото, +2 видео. Привет дорогие читатели! Сегодня я расскажу вам как мне довелось печатать литейную оснастку. Поехали!Для начала немного литейной теории. Для создания простой отливки нам необходима модель. Для создания отливки с внутренней полостью, нам нужна модель и стержень.Стержень - объ...

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

[Из песочницы] Улучшение UX при работе с клавишей «Tab» При разработке приложений «фронтендеры» редко обращают внимание на то, как пользователь будет использовать предоставляемые браузером функции клавиш. Я не являюсь исключением, но в один день мне была дана задача касаемо UX и переходов с помощью нажатия «Tab» и «Shift + Tab». ...

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

Почему мне не нравится приложение «Таймер» на iPhone Таймер на Apple Watch и на iPhone Не знаю, как вы, а я постоянно пользуюсь функцией «Таймер» на Apple Watch: когда хочется знать, сколько времени осталось до посадки самолета, сколько еще нужно запекать мясо, ну или проснуться утром в электричке до своей остановки (да, знаю,...

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

Как запустить java-проект на shell-раннере при пуше в репозиторий GitLab’а Меня зовут Иван Сидоренко, я инженер по тестированию в компании Digital Design. Передо мной стояла задача — внедрить запуск автотестов, написанных на Java Selenium. Я новичок в CI/CD, поэтому столкнулся со множеством проблем. Подробных инструкций в интернете по этой задаче ...

#видео | Роботы-тараканы помогают друг другу встать на ноги В Калифорнийском университете в Беркли уже десять лет подряд идет разработка роботизированных тараканов VelociRoACH — инженеры хотят сделать их максимально реалистичными и маневренными. Как и настоящие насекомые, они иногда падают на спину и не могут перевернуться, поэтому ...

Программирование LibreOffice Base. Часть 3 Сегодня мы рассмотрим использование диалоговых окон при редактировании данных в LibreOffice Base (OpenOffice Base). Как мы выяснили в предыдущих сообщениях, Форма LibreOffice Base (OpenOffice Base) — это фактически экземпляр текстового редактора LibreOffice (OpenOffice) Writ...

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

Использование Paging library совместно с Realm На одном из митингов Android-отдела я подслушал, как один из наших разработчиков сделал небольшую либу, которая помогает сделать «бесконечный» список при использовании Realm, сохранив «ленивую загрузку» и нотификации. Сделал и написал черновик статьи, которой почти в неизме...

Обновление программного комплекса SafeERP: Иерархия полномочий В марте 2019 года компания «Газинформсервис» представила обновленную версию программного комплекса SafeERP 4.6. Подробное описание продукта SafeERP приведено на сайте компании. В новую версию программного комплекса SafeERP 4.6 включена процедура построения иерархии полномоч...

[Из песочницы] Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA. Создаем пустой Gradle проект Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки би...

Дизайн интерфейса для игры, рисуем пак иконок Всем привет! Я Михаил Кравченко, дизайнер игровых интерфейсов. Это статья о том как нарисовать пак иконок для игры. Ниже вы видите результат. Фиксируем требования к результату Вот к нам прилетела задача примерно такого содержания. В игре начинается событие — вторжение ра...

Создаём голосовое приложение на примере Google Assistant Каждый пятый житель США владеет умной колонкой, а это 47 000 000 человек. Помощник может создать напоминание, список дел, будильник, таймер, прочитать новости, включить музыку, подкаст, заказать доставку, купить билеты в кино и вызвать такси. Все это «навыки» или «skills» по...

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

[Из песочницы] OpenVPN и Active Directory (Kerberos без пользовательских сертификатов) Про OpenVPN написано много гайдов, в том числе и про авторизацию через Active Directory. Большинство из них сводится к использованию LDAP, подхода с использованием Kerberos, оформленного в полноценную статью, я не нашел. Впрочем, чего-то нового тут изобретено не будет, я лиш...

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

[Перевод] Создаём процедурные глобусы планет Искажения, бесшовный шум и как с ними работать. Генерируем планету Один из простейших способов генерации планеты — использование шума. Если мы решим выбрать его, то у нас есть пара возможных вариантов. Давайте рассмотрим каждый и определим лучший: Шум Перлина (Perlin Noi...

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

[Из песочницы] JavaScript: Создание простого MEVN-приложения О чем статья Цель этой статьи — показать, как можно создать базовое MEVN-приложение. Акроним MEVN означает — MongoDB + Express.js + Vue.js + Node.js. В качестве примера будет написано одностраничное приложение, которое содержит форму, состоящую из нескольких текстовых полей....

Создан новый базовый блок для квантового компьютера, работающий в 200 раз быстрее ближайших конкурентов Ученые из университета Нового Южного Уэльса (University of New South Wales, UNSW) создали новый тип квантового логического элемента, состоящего из двух кубитов, реализованных в виде отдельных атомов, размещенных на поверхности кремниевой подложки. Такой двух-кубитовый элемен...

OnePlus может выпустить полностью беспроводные наушники Лавры Apple с её невероятно популярными AirPods до сих пор не дают покоя ни одному производителю, которые пытаются создать достойного конкурента этим наушникам. Samsung, Huawei, Xiaomi, Meizu и даже Google в сотрудничестве с Bose уже представили свои беспроводные гарнитуры, ...

Где мы взяли флакон? Flowcon, или Флакон – методика управления, в том числе – задачами. Потоком, проектом, разработкой, рутинными функциями, регуляркой и т.д. Многие, узнав о методике и решениях на ее основе, задают вопросы – что да как, в чем суть, на основе каких «мировых практик» сделано, ка...

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

История одного «разработчика» или как новичку написать приложение для iOS Итак май 2018 года. Предпринято 7 попыток за 7 лет начать программировать что-то под iOS. И каждый раз одно и тоже: то Objective-C что-то страшное и не понятное, то нету идеи. И дальше Hello World, раз в год, вообщем дело не заходило… В этот раз новый Xcode и новый для ме...

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

[Перевод] Вся правда об ОСРВ. Статья #32. Миграция Nucleus SE: Нереализованные функции и совместимость Основным требованием при разработке Nucleus SE была высокая степень совместимости с главным ОСРВ-продуктом Mentor – Nucleus RTOS. Nucleus SE поддерживает определенную часть функционала Nucleus RTOS, о чем много раз говорилось в предыдущих статьях, однако в этой статье я пост...

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

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

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

Samsung исправила самую большую проблему камеры Galaxy S10 У флагманских смартфонов Samsung Galaxy S10 прекрасная камера, но была у неё одна проблема, которая обескураживала многих пользователей и вызывала множество нареканий.  При использовании режима Live Focus (фирменная версия портретного режима), Galaxy S10 и Galaxy ...

Устанавливаем Vmware ESXi на Mac Pro 1,1 В статье описываю свой опыт установки VMware ESXi на старинный Apple Mac Pro 1,1. От заказчика поставлена задача – расширить файловый сервер. Как создавался файловый сервер компании на PowerMac G5 в 2016, и какого было обслуживать созданное legacy достойно отдельной стать...

Drag-&-Drop компоненты для слепых пользователей? Вы шутите? Что объединяет Trello, Gmail, Aviasales и Google Keep? В каждом из них есть Drag-&-Drop-компоненты, которые можно перетаскивать мышкой. Использование этих компонентов делает сайты по-настоящему удобными, потому что в реальной жизни мы часто используем этот паттерн. Перед...

[Из песочницы] CSS-переход свойства height от 0px до auto Здравствуй, Хабр! Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto. Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в ...

Не в «Дом-2», так в губеры: Собчак мечтает превратить Петербург в Нью-Васюки Из фигуранта скандальных хроник Ксения Собчак пытается вновь попасть в разряд респектабельных политиков. Судя по всему, Ксения снова совершает в своей жизни полную перезагрузку. После шумного разрыва с мужем, бранной перепалки со Шнуровым и дежурных светских телодвижений, о...

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

Лучшие приложения для дизайна и благоустройства дома на Андроид Благоустройство и дизайн дома – задача серьёзная, которая может потребовать от вас немало времени и средств. Ваш смартфон не может сделать всю работу за вас, но может помочь, облегчив процесс. Лучшие приложения для дизайна и благоустройства дома для Android-смартфонов: Buil...

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

Microsoft выпускает новый Office Build 12228.20020 для инсайдеров Office Microsoft выпустила новую версию Office для инсайдеров. Новая сборка 12228.20020 представила новые функции для Excel, PowerPoint, Visio, Word. Помимо этого, она приносит множество исправлений ошибок. Вы можете прочитать официальный список изменений ниже.Обновления функцийExc...

[Перевод] Алан Кей: «Могли ли древние римляне построить компьютер?» Это очень интересный вопрос — похож на тот, что я обычно задавал на уроке по компьютерному дизайну: «Какой компьютер капитан Немо разработал бы для «Наутилуса»? — Нарисуйте его дизайн!» Сегодняшний вопрос может быть понят по-разному: например, в значении «С технологиями, до...

Windows 10 Build 18950 доступна для загрузки Windows 10 Build 18950 (20H1) теперь доступна для инсайдеров в канале Fast Ring с множеством улучшений. Windows 10 Insider Preview Build 18950 представляет обновленную версию Snip & Sketch, включает новую ссылку опции Cloud Recovery и многое другое.Что нового в Windows 1...

[Из песочницы] Эффективное создание компонентов с помощью styled system Для стилизации react компонентов наша команда использует styled-components. О styled-components уже есть статьи на Хабре, поэтому подробно останавливаться на этом не будем. Знакомство с Styled components Лучше, быстрее, мощнее: styled-components v4 Написав много компоне...

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

Запуск SAP GUI из браузера Эту статью я сначала написал в свой блог, чтобы потом опять не искать и не вспоминать, но поскольку блог никто не читает, то этой информацией захотелось поделиться со всеми, вдруг кому пригодиться. Во время работы над идеей сервиса по сбросу пароля в системах SAP R/3 возник...

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

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

Прыгающие роботы-муравьи работают в команде для преодоления препятствий EPFL Роботы получили название Tribots и являются трехногими роботами-оригами. Их движения, согласно исследователям, были смоделированы на базе муравьев рода Одонтомахус (Odontomachus); обычно эти насекомые ползают, однако чтобы скрыться от хищника, они способны — с помо...

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

[Перевод] F#9: Тип Option Если в C# есть понятие null для ссылочных типов и Nullabe для структур. Это может принять одну из следующих 2 форм (для демонстрации я использую тип int здесь, но тип может быть любой структурой). Nullable int? Читать дальше →

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

[Перевод] Создание процедурного генератора головоломок В этом посте описывается генератор уровней для моей игры-головоломки Linjat. Пост можно читать и без подготовки, но он легче усвоится, если сыграть в несколько уровней. Исходный код я выложил на github; всё обсуждаемое в статье находится в файле src/main.cc. Примерный план ...

[Из песочницы] Segmented Control своими руками, как в iOS 13.0 и выше В iOS 13 обновили Segmented Control, но для тех кто не может обновить Xcode, он просто не доступен. Вот я и решил написать, как можно быстро сделать самому такой же Segmented Control. Поехали! Первым делом переходим в Storyboard. Размещаем на нашем ViewController элемент Vi...

[Из песочницы] Как я создавал «WildMAN» — пародию на множество 8-битных игр и недавно ее портировал на Android Я думаю каждого фаната приставочных игр интересовала тема создания игр и была мечта создать свою игру, в студенческие годы я увлёкся программированием. Читать дальше →

Cоздание визуальных компонентов в Unity UI. Система частиц Привет! Эта статья о создании собственных визуальных компонентов в UI на примере компонента для визуализации системы частиц в Canvas’e. Данная информация будет полезна для реализации различных эффектов в пользовательском интерфейсе, а также может использоваться для генераци...

[Из песочницы] Как я сделал удобной разработку на Vue.js с server-side рендерингом Всем привет! Начну с небольшой предыстории. Свой новый проект я решил попробовать сделать на Vue.js. Мне нужен был серверный рендеринг (SSR), CSS модули, code-splitting и прочие прелести. Разумеется, для повышения производительности разработки нужна была горячая перезагр...

Множественные эксперименты: теория и практика В современном мире сложно представить развитие продукта без A/B-тестирования. Чтобы успешно запустить продукт или новую функциональность — надо грамотно спроектировать A/B, рассчитать и интерпретировать его результаты. Иногда нам требуется тестирование более чем для двух гру...

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

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

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

[Перевод] Создание многопользовательской веб-игры в жанре .io Вышедшая в 2015 году Agar.io стала прародителем нового жанра игр .io, популярность которого с тех пор сильно возросла. Рост популярности игр .io я испытал на себе: за последние три года я создал и продал две игры этого жанра.. На случай, если вы никогда раньше не слышали о...

Samsung подсказала Huawei, как получить запрещённые приложения Прогрессивные веб-приложения — спасение Huawei от санкций США Софт играет огромную роль в развитии операционных систем. Не будь у пользователей возможности устанавливать сторонние приложения, и даже Android не был бы для них таким привлекательным. Что и говорить про ме...

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

[Перевод] Обзор новых функций NestJS 6 Мы в TestMace активно используем NestJS для разработки наших сервисов. Сегодня вашему вниманию представляется перевод статьи, посвященной обзору фич новой мажорной версии NestJS. Сегодня я рад представить официальный релиз Nest 6 — прогрессивного Node.js фреймворка для со...

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

Xiaomi представила меняющую форму кровать Xiaomi создала «умную» электрическую кровать, которая может принимать такую форму, какая нужна пользователю для максимального удобства.

Создание и обновление списков рассылки в Zimbra Collaboration OSE на основе групп и пользователей Active Directory 1. Пара слов от автора В комментариях к прошлой статье мне задали интересный вопрос об автоматическом формировании списков рассылки на основе групп безопасности AD. Есть задача – есть решение. Правда, оговорюсь сразу, решение несколько костыльное (почему – читать далее), но ...

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

Figma компонент и организация экземпляров на примере Userpic Качественная дизайн-система в Фигме всегда учитывает возможные состояния определенных компонентов. Если до появления Global Styles вариант был лишь один — всегда создавать новый компонент для каждого состояния (например текстовое поле может быть default, а может быть focus...

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

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

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

Предварительный обзор Olympus PEN E-PL10. Компактная камера Официально представлена новая камера Olympus PEN E-PL10, которая выглядит стильно, снимает отлично и при этом занимает минимум места в сумке. Стоит ли камера своих денег? Пока что сложно об этом говорить, но давайте изучим новинку более детально и постараемся ответить на это...

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

Обзор 14 headless cms 2019 Некоторое время назад в одной заметной на российском рынке публичной компании, в которой я работал, встал вопрос об использовании headless cms. Среди множества реализаций нужно было выбрать одну. Это рассказ о том, как я формировал критерии выбора, как анализировал cms-ки, и...

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

Будущее инфраструктур центров обработки данных Архитектуры центров обработки данных общего назначения (такие ЦОДы сегодня все еще широко применяются) хорошо отрабатывали свои задачи в прошлом, но с недавних пор большинство из них достигли своих границ масштабируемости, производительности и эффективности. В архитектуре та...

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

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

Лёгкое программирование: канбан-доска для GitLab за один рабочий день Рабочий понедельник начался со следующего диалога: Руководитель (P): У тебя в команде не понятно, кто чем занимается. Я (Я): Это да, у нас нет инструмента, который бы отображал общую картину работы над задачами. В гитлабе есть канбан-доски, но они только в контексте проекто...

Представлена новая технология масштабирования для сети Ethereum Разработчики блокчейн-платформы Streamr представили решение по масштабированию сети Ethereum под названием Monoplasma. Об этом сообщает CoinDesk. Создатели проекта утверждают, что технология поможет решить проблему повторных платежей с одного адреса на множество других. Mono...

[Из песочницы] Подписываемся на Kafka по HTTP или как упростить себе Веб-хуки Существует множество способов обработки сообщений из Pub-Sub систем: использование отдельного сервиса, выделение изолированного процесса, оркестрация пулом процессов/потоков, сложные IPC, Poll-over-Http и многие другие. Сегодня я хочу рассказать о том, как использовать Pub-S...

Настойчивость даёт результат — пользователь вернул деньги за Atlas после восьми часов игры Анонс Atlas на The Game Awards 2018 стал сюрпризом, а релиз принес разочарование многим игрокам. Проект пестрит множеством ошибок, имеет большие проблемы с анимацией и не соответствует заявленному. Судя по негативным отзывам в Steam, о потраченных средствах жалеют м...

Пять студентов и три распределённых key-value хранилища Или как мы писали клиентскую C++ библиотеку для ZooKeeper, etcd и Consul KV В мире распределённых систем существует ряд типовых задач: хранение информации о составе кластера, управление конфигурацией узлов, детекция сбойных узлов, выбор лидера и другие. Для решения этих зада...

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

Фантастические плагины, vol. 1. Теория Жизнь с многомодульным проектом не так уж проста. Чтобы избежать рутины создания нового модуля мы создали собственный плагин для Android Studio. В процессе реализации мы столкнулись с отсутствием практической документации, перепробовали несколько подходов и откопали множеств...

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

[Перевод] Пространство генерации и пространство возможностей В этом туториале я расскажу о двух терминах, которые используются мной для описания процедурных генераторов: пространство генерации (generative space) и пространство возможностей (possibility space). Мы дадим определения этим двум терминам, а затем рассмотрим интерактивные п...

Мой опыт подключения LPS331AP к Omega Onion2 Доброго времени суток, хабровчане! Небольшое предисловие Намедни я стал счастливым владельцем одного из самых маленьких одноплатников, работающим на LEDE, и первое, что захотелось сделать (после моргания светодиодом) — домашняя метеостанция, к которой можно получить доступ ...

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

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

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

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

Почему мы выбрали Lexus RX450h Создание беспилотного автомобиля крайне увлекательное занятие, наполненное множеством инженерных вызовов. Один из них — выбор правильной базы (автомобиля) для будущей беспилотной системы. Как вы уже могли заметить из предыдущих постов, в OSCAR используется Lexus RX450h, и мы...

Проектируем космическую ракету с нуля. Часть 4 — Второй закон Кеплера Содержание Часть 1 — Задача двух тел Часть 2 — Полу-решение задачи двух тел Часть 3 — Ужепочти-решение задачи двух тел Второй закон Кеплера Всем привет! В прошлый раз мы остановились на вот этих уравнениях: \begin{equation*} \begin{cases} \ddot{x} = -\mu \dfrac{x}...

Древности: три истории о компании Palm Эта компания сменила десяток названий, но давайте просто будем использовать самое первое, оригинальное. Palm Computing обычно вызывает самые теплые чувства у любителей компьютерной старины, а когда-то ее карманные компьютеры были, в некотором смысле, выбором по умолчанию. Ис...

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

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

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

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

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

В Google Формах появился экспорт вопросов из одной формы в другую Ранее это можно было сделать только вручную

Форма корпуса Xigmatek Zeus Spectrum Edition далека от классической Компания Xigmatek представила компьютерный корпус Zeus Spectrum Edition. Это открытое шасси, на которое навешиваются съемные панели, три из которых изготовлены из стекла. Форму корпуса сложно описать одним словом, но она довольно далека от формы классического прямоуголь...

OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным ...

Турбированная башка на Ultimaker 2, дует что надо! Приветствую ультоводов, и всех любопытных)На протяжении всего времени владения ультиком по инструкции Пластмаски, я так и не смог подобрать подходящую мне ПГ(печатную голову) на Thingiverse.То кабельменеджемент никакой, то фиксация радиатора плохая, то сопла кулеров дуют в с...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

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

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

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

[Перевод] 10 лучших JavaScript библиотек для визуализации данных на графиках и диаграммах Есть в графиках что-то магическое. Изгиб кривой мгновенно раскрывает всю ситуацию — историю развития эпидемии, паники или периода процветания. Эта линия просвещает, пробуждает воображение, убеждает. ― Генри. Д. ХаббардОбъемы данных, с которыми нужно работать, постоянно увели...

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

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 9. Физический мир свитчей. Часть 1 В прошлом видеоуроке мы говорили о настройке свитчей, а сейчас рассмотрим, как они взаимодействуют с другими устройствами и как на практике соединяются друг с другом. Не будем тратить время и сразу же перейдем к теме сегодняшнего урока. В первую очередь я хочу рассказать о т...

Псевдо Lens Flare Привет, Хабр! Представляю вашему вниманию перевод статьи «Pseudo Lens Flare» автора John Chapman. Lens flare (блики на линзах) ― это фотографический артефакт, возникающий при рассеивании и преломлении света в системе линз. Хотя он является артефактом, существует множество...

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

Активное обучение ранжированию Этим постом я открываю серию, где мы с коллегами расскажем, как используется ML у нас в Поиске Mail.ru. Сегодня я объясню, как устроено ранжирование и как мы используем информацию о взаимодействии пользователей с нашей поисковой системой, чтобы сделать поисковик лучше. Зад...

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

Создаем несложный шахматный ИИ: 5 простых этапов Перевели для вас статью Лори Хартикка (Lauri Hartikka) о создании простейшего ИИ для шахмат. Она написана еще в 2017 году, но базовые принципы остались теми же. Все файлы, которые использовал Лори, тоже доступны. Простой искусственный интеллект, который умеет играть в ш...

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

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

[Перевод - recovery mode ] Использование Union вместо OR Иногда медленные запросы можно исправить, немного изменив запрос. Один из таких примеров может быть проиллюстрирован, когда несколько значений сравниваются в предложении WHERE с помощью оператора OR или IN. Часто OR может вызывать сканирование индекса или таблицы, которая м...

Panasonic придумал гаджет для забывчивых людей Опять ушли из дома без ключей или кошелька? Мучаетесь от мысли о невыключенном утюге? Забыли зонтик в дождливый день? Потерпите еще немного – и вам на помощь придет новый симпатичный гаджет Hitokoe, разработанный японской компанией Panasonic и ее инкубатором идей G...

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

Мнение математика из Оксфорда: сможет ли ИИ творить как человек? Игра го, в которую компьютерная программа DeepMind обыграла чемпиона среди людей, создала своего рода сумятицу для Маркуса дю Саутоя, математика и профессора Оксфордского университета. «Я всегда сравнивал математику с игрой в го», говорит он. И го не должна быть игрой, в ко...

[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов Нет ничего проще, чем добавить иконку в проект: нужно всего лишь написать дизайнеру, он экспортирует её из Sketch и пришлет вам нужный вариант, а вы используете ее у себя в коде. Если же у вас с десяток проектов, несколько платформ и множество А/Б-тестов на дизайн, то дост...

Sony начинает исследования в сфере искусственного интеллекта с создания соответствующего подразделения Sony Corporation официально объявила о создании нового подразделения Sony AI. Оно будет иметь офисы в Японии, Европе и США, а основное направление его деятельности будет связано с проведением фундаментальных исследований и разработок в сфере искусственного интеллекта. В офиц...

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

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

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

[Перевод] Как опубликовать консольную утилиту на PyPI за 1 минуту Разработав консольную утилиту, вы решаетесь опубликовать её на PyPI. Ну правда, что может быть лучше, чем сделать её доступной через pip install? Погуглив, что для этого надо, вы, возможно, наткнётесь на единственный найденный мной пост по теме, который мало того что от 201...

Таблицы в Figma. Дизайн Data Grid одним компонентом Строительство таблицы из компонентов — задача, которая рано или поздно возникает перед каждым разработчиком дизайн-систем в Figma. Существует три подхода к дизайну таблиц, чтобы создать data grid с гибкой архитектурой. В каждом из случаев используется либо row-компонент, ...

SweetFX Configurator - модифицируем графику в играх на свой вкус Знание - сила! В эпоху Интернета совершенно любые знания стали доступны каждому, вопрос лишь в том, где найти источник этих знаний? И сегодня мы продолжаем рубрику, где будем давать вам советы и делиться опытом в виде коротких, но подробных пошаговых инструкций. От создания ...

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

Redux — пересмотр логики reducer'a и actions На днях ковыряясь в множестве файлов redux'a, где по логике файлы вынесены в reducers, actions, константы типов actions. Bсе это оказалось весьма не простая задача держа все эти типы файлов у себя в голове и прослеживать логику. И… эврика, появилась идея упрощения написания...

Шпаргалка по структурам данных в Go Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных да...

Apple запустила конкурс фотографии. И вы можете в нем поучаствовать «Снято на iPhone» — невероятно успешная рекламная кампания Apple. Представители компании и авторитетные эксперты отбирают снимки и видео, сделанные пользователями iPhone, и демонстрируют их общественности. На этой неделе Apple запустила новый конкурс, которы...

Как выбрать Open Source лицензию для RAD фреймворка на GitHub В этой статье мы немного поговорим об авторском праве, но в основном о выборе свободной лицензии для RAD фреймворка IONDV. Framework и для опенсорсных продуктов на его основе. Мы расскажем о разрешительной лицензии Apache 2.0, о том, что привело нас к ней и с какими решениям...

Универсальная память: SRAM, DRAM и флеш-память в одном флаконе В наши дни существует не один вид памяти, каждый из которых применяется для той или иной задачи. Они со своими задачами справляются достаточно хорошо, но есть ряд недостатков, которые не дают возможность назвать какой-либо из этих вариантов памяти универсальным. Если добав...

Беспростойная миграция RabbitMQ в Kubernetes RabbitMQ – написанный на языке Erlang брокер сообщений, позволяющий организовать отказоустойчивый кластер с полной репликацией данных на несколько узлов, где каждый узел может обслуживать запросы на чтение и запись. Имея в production-эксплуатации множество кластеров Kubern...

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

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

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

Общие компоненты силами разных команд. Доклад Яндекса Создание и сопровождение общих компонентов — процесс, в котором должны быть заняты множество команд. Руководитель службы общих компонентов Яндекса Владимир Гриненко tadatuta объяснил, как их разработка переросла выделенную команду «Лего», как мы сделали монорепозиторий на ба...

Построение отказоустойчивого решения на базе Oracle RAC и архитектуры AccelStor Shared-Nothing Немалое число Enterprise приложений и систем виртуализации имеют собственные механизмы для построения отказоустойчивых решений. В частности, Oracle RAC (Oracle Real Application Cluster) представляет собой кластер из двух или более серверов баз данных Oracle, работающих совме...

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

[Перевод] Советы по созданию нестандартных рабочих процессов в GitLab CI Прим. перев.: Оригинальную статью написал Miłosz Smółka — один из основателей небольшой польской компании Three Dots Labs, специализирующейся на «продвинутых backend-решениях». Автор опирается на свой опыт активной эксплуатации GitLab CI и делится накопленными советами для д...

Проекции карт: о чём на самом деле шутит xkcd Xkcd — один из самых культовых веб-комиксов, и минималистичный стиль зарисовок будто из учебника механики стал его визитной карточкой. Автор комикса Рэндел Манро признавался, что старательно ищет вдохновение для новых выпусков: он пробует новые программы и игры, работает над...

Представлен стабилизатор DJI Osmo Mobile 3 Как и ожидалось, компания DJI вчера представила складной стабилизатор для смартфонов Osmo Mobile 3. Он позволяет снимать плавное и четкое видео в движении, в том числе — с использованием возможностей приложения DJI Mimo. Конечно, со стабилизатором можно снимать и ...

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

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

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

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

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

[Перевод] Искусственный интеллект Horizon Zero Dawn Horizon Zero Dawn находится в списке одних из лучших эксклюзивов для Playstation 4. В роли охотницы Элой игроки путешествуют по постапокалиптическим ландшафтам будущего, чтобы раскрыть тайны её прошлого и узнать о причинах разрушения мира. Упадок человечества привёл к расцве...

[Из песочницы] Что такое автоматизированное машинное обучение (AutoML) Что такое автоматизированное машинное обучение (AutoML) и собирается ли оно лишить специалистов по данным (Data Scientists) работы? С того момента как стали появляться инструменты автоматизированного машинного обучения (AutoML), такие как Google AutoML, эксперты обсуждают ...

[Из песочницы] Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans. Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небол...

[Из песочницы] Использование Context API в React для создания глобальной темы приложения Привет, это мой первый пост на Хабр. Надеюсь, Вам будет интересно. Итак, я хочу начать серию постов, напрямую или косвенно касающихся создания ui-kit. Задача данного поста: Найти решение контроля темы приложения, компоненты которого выполнены в React.js. Будем использова...

Москвич собрал настоящую электрогитару iCaster из 107 iPhone Гитарный мастер из Москвы Артём Майер рассказал, как создал «самую необычную гитару в своей жизни». Проект под названием iCaster представляет собой настоящую рабочую гитару, собранную из 107 iPhone.  Как рассказывает умелец на своём видеоканале ...

[Из песочницы] Трансформация кода в Android Вместо вступления Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc)...

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

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

Apple готовит долгожданное обновление для HomePod Apple намерена продолжить совершенствование HomePod в будущих прошивках, как уже делала это в прошлом. Одно из наиболее значимых нововведений для умной колонки наряду с поддержкой стерео станет многопользовательский режим, который войдет в состав сентябрьского обновления. О...

[Перевод] Создание игры для Game Boy Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на https://github.com/InvisibleUp/AquaAndAshes. Как мне пришла в голову эт...

В Google Forms теперь можно импортировать вопросы из одной формы в другую Google обновил инструмент Google Формы, добавив возможность импортировать вопросы из существующих форм в новые. Нововведение позволит повторно использовать вопросы из уже созданных форм или тех форм, которыми поделились другие пользователи. Ранее перенести вопросы можно было...

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

Что такое арбитраж трафика В современном мире очень много доступных способов заработка, которые не требуют особых затрат и для их реализации даже не обязательно выходить из дома. Главное условие – наличие компьютера и доступа к сети Интернет. Одним из таких способов является арбитраж трафика. Это инте...

Сетевой комбайн: ASUS RT-AC88U Смартфоны заменили нам КПК и телефоны, телевизоры объединили функции простого «ящика» и видеопроигрывателя, а роутеры так и остались обособленными устройствами. На производстве такое положение дел понятно и вопросов не вызывает, а в домашней среде выглядит странно. К чему ра...

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

[Из песочницы] Сeph — от «на коленке» до «production» Выбор CEPH. Часть 1 У нас было пять стоек, десять оптических свичей, настроенный BGP, пару десятков SSD и куча SAS дисков всех цветов и размеров, а ещё proxmox и желание засунуть всю статику в собственное S3 хранилище. Не то чтобы это всё было нужно для виртуализации, но раз...

Использование бинарного дерева в swift с помощью enum на примере OCR Была цель создать приложение на mac, которое может распознавать текст кода с изображений и видео. Хотелось сделать так, чтобы даже при большом объеме кода, текст распознавался менее, чем за секунду. Проблема облегчается тем, что язык на котором пишут код всегда английский ...

[Перевод] Что если искусственный интеллект сделает актеров бессмертными? Одри Хепбёрн умерла в 1993 году, но в 2013 году она все же снялась в рекламе шоколадной плитки Galaxy. Ее показали едущей в автобусе вдоль побережья Амальфи и смотрящий на проезжающий мимо кабриолет. В 2016 году Питер Кушинг, который умер еще в 1994 году, повторно сыграл св...

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

[Из песочницы] Создание REST API с Node.js и базой данных Oracle Привет, Хабр! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics». Часть 1. Создание REST API: основы веб-сервера Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав нескольк...

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

5 причин начать использовать Google Keep прямо сейчас Google Keep — очень удобный инструмент для самоорганизации Google Keep — это приложение для создания заметок. Но так кажется лишь на первый взгляд. На самом деле — это настоящий «медиакомбайн», который может не хило упростить вам жизнь и дать возм...

Теперь даже ребенок может печатать игрушки с Toybox! Toybox – 3D-принтер, который позволяет взрослым и даже детям печатать игрушки. Это простой в использовании принтер с удобным интерфейсом. Toybox был разработан Беном Балтесом и Дженн Чин из Окленда (штат Калифорния). Оба основателя собрали на Indiegogo более 155 тысяч доллар...

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

Как узнать размер любого файла на iPhone или iPad Одно из главных нововведений iOS 12 — приложение «Быстрые команды». Новая программа позволяет пользователям не только создавать цепочки действий для автоматизации повседневных и рутинных операций, но и совершать действия, которые изначально не были предусмотрены iOS. ...

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

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

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

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

Карьера программиста. Глава 3. Университет Продолжение рассказа «Карьера программиста». Закончив вечернюю школу, пришла пора поступать в университет. В нашем городе был один университет технической направленности. В нем же, был один факультет «Математики и Информатики», на котором была одна кафедра «Компьютерных сис...

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

Samsung рассказала, как стать влогером с Galaxy S10+ Если вы читаете этот материал, то скорее всего вас когда-нибудь посещала мысль о том, чтобы окунуться в удивительный мир создания контента. Если вы хотите стать контентмейкером, а именно видеоблогером, а также использовать для этого основную камеру своего Galaxy S10+ (она и...

[Перевод] Выход за пределы pod'а в Kubernetes через монтирование логов Прим. перев.: Эта заметка была написана исследователем ИТ-безопасности из компании Aqua Security, специализирующейся на DevSecOps. Она является прекрасной иллюстрацией тех тонкостей в конфигурации Kubernetes, что важно всегда держать в голове, обслуживая кластеры в productio...

[Перевод] В 90-х рэпер MC Hammer разрабатывал игру, но сегодня U Can't Touch This Выпущенная для американского рынка в октябре 1992 года Sega CD первые несколько месяцев держалась хорошо, но быстро начала терять коммерческую популярность. В основном это было вызвано слишком большим предрелизным ажиотажем. Потребители быстро осознали, что потрясающие FMV-...

Security Week 11: RSA 2019 и светлое будущее На прошлой неделе состоялась двадцать восьмая по счету конференция RSA, и если в 2018 году это крупнейшее в отрасли бизнес-мероприятие отметилось некоторыми затруднениями в поиске новых смыслов, в этот раз опять все хорошо. Открывающая презентация президента RSA Рохита Гая б...

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

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

Ghidra vs crackme. Обкатываем конкурента IDA Pro на примере решения хитрой крэкми с VM Для подписчиковЧтобы испытать новое средство для реверса, созданное в стенах АНБ США, я решил поломать замечательный и несложный крэкми MalwareTech. Выбрал его не случайно. В одной из своих статей я рассказывал о том, как устроена виртуализация кода, и мы даже написали прост...

Software Defined Radio — как это работает? Часть 9 Привет Хабр. В предыдущей части было рассмотрено декодирование сигналов RDS для FM-радиостанций, и идея следующей статьи возникла сама собой — нужно сделать свой собственный FM-трансмиттер. Вариантов будет два — простой, и более сложный, с RDS. Как и в предыдущих случая...

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

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

Почему Apple никогда не сделает идеальные наушники AirPods по многим параметрам получились компромиссными, у них появились как почитатели, так и и противники На прошлой неделе интернет взбудоражили слухи о новых AirPods. Судя по пиктограмме из бета-версии iOS 13.2, это будут внутриканальные наушники True Wireless с активным ...

В Интернете появился ресурс с конструктором лид-форм для СМБ Компания stepFORM, конструирующая лид-формы, создала онлайн-сервис для создания форм и опросов, ориентированный на СМБ. Сервис помогает создавать формы заказа с расчетом стоимости услуг.

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

[Перевод] TensorFlow для начинающих. Часть 1: общие сведения, установка библиотеки TensorFlow — это опенсорсная библиотека, созданная Google, которая используется при разработке систем, использующих технологии машинного обучения. Эта библиотека включает в себя реализацию множества мощных алгоритмов, рассчитанных на решение распространённых задач машинного ...

[Из песочницы] QlikView. Условное форматирование «Как в Эксель» Пришла задача от заказчика – сделать условное форматирование таблицы «как в эксель». QlikView вполне себе справляется со стандартными задачами раскраски по условию, но вот с выбором параметров динамически, да еще и как в эксель – возник вопрос «это как вообще..?». Итог: был...

[Перевод] Инструментарий для анализа и отладки .NET приложений Заглянуть «под капот» кода или посмотреть на внутреннее устройство CLR можно с помощью множества инструментов. Этот пост родился из твита, и я должен поблагодарить всех, кто помог составить список подходящих инструментов. Если я пропустил какие-то из них, напишите в коммента...

User Inyerface — как не надо мучать пользователя Студия Bagaar собрала худшие элементы сайтов в одной онлайн-форме и предложила ее заполнить. Сможете пройти это испытание? Читать дальше →

3D Моделирование и 3D печать малых архитектурных форм. ”Скамейки” Доброго времени суток всем пользователям сайта 3D TODAY. Всех благодарю за комментарии к моей статье, о моделировании ограды для строительных 3D принтеров. Хочу сразу отметить, что я хотел привлечь ваше внимание не столько к дизайну, а к технической стороне вопроса. На сколь...

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

Синхронизация клиентских запросов в Spring Сегодня предлагаю Вам разобрать одну практическую задачу о гонке клиентских запросов, с которой я столкнулся в МаксимаТелеком при разработке back-end для нашего мобильного приложения MT_FREE. При старте клиентское приложение асинхронно отправляет «пачку» запросов к API. При...

Как сделать скриншот на Galaxy S10 Процесс создания скриншотов довольно прост, а причины для их создания бывают самые разные. Так, например, чтобы сохранить какую-нибудь публикацию из Instagram или Twitter для последующей ее публикации в Facebook, нужно сделать скриншот. Полезным это может оказаться и тогда,...

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

[Из песочницы] Управление состоянием и событиями между компонентами в GameObject Управление состоянием и событиями между компонентами в GameObject Ссылка на проект Как известно всем, более или менее знакомых с платформой Unity, каждый игровой объект GameObject состоит из компонентов (встроенных или пользовательских, который обычно называют «скрипт»). Ко...

Как живут фрилансеры: дизайн книжных обложек, собственное производство рюкзаков и работа в путешествиях Героиня нового выпуска интервью с Фрилансим — Наташа Байдужа, дизайнер и человек-пароход. За годы фриланса успела пожить в Москве, Одессе, Черногории, придумать свою марку рюкзаков (сшить и продать первую партию), написать детскую книгу, сделать бесчисленное множество иллюст...

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

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

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

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

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

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

7 лучших (и бесплатных) редакторов PDF для Mac и iOS в 2019 году PDF по-прежнему остается одним из самых популярных форматов для обмена документами, поскольку он отличается эргономичностью и удобством в использовании. А если у вас установлен специальный инструмент для раскрытия всего потенциала этого формата, то вы сможете творить с ним ...

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

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

Организация многопользовательского доступа на сервер GIT При установке и конфигурировании Git-сервера встаёт вопрос об организации доступа нескольких пользователей к нескольким проектам. Я провёл исследование вопроса и нашёл решение, удовлетворяющее всем моим требованиям: простое, безопасное, надёжное. Мои пожелания таковы: ка...

[Перевод] Медиавыражения в CSS — это не только max-width Недавно мы опубликовали новый веб-сайт нашей компании Mabiloft с полностью переработанным чистым дизайном и множеством новых великолепных иллюстраций и анимаций. После того, как наш дизайнер проделал потрясающую работу, продумав и нарисовав сайт, нам, разработчикам, было ...

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

[Перевод] От Uncharted до Obra Dinn: Лукас Поуп рассказывает о своей карьере в разработке игр Слева направо: один из сотен персонажей игры 2013 года Papers, Please; разработчик видеоигр Лукас Поуп в своём родном городе Сайтама (Япония); капитан проклятого пиратского корабля из игры Поупа 2018 года Return of the Obra Dinn Сюжет новой видеоигры дизайнера, программист...

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

Как редактировать видео на Android Большинство сервисов Google пользователями рассматриваются лишь как средство для синхронизации файлов. А кто-то и вовсе не задумывается об их существовании, пользуясь своим смартфоном «на автомате», А зря, ведь хранилище фотографий Google Фото (как и сопутствующее...

Видео: Как создать 3D модели для 3D принтера ? 3D Редактор Fusion 360 Часть 2. Всем привет, с вами 3DTool!В прошлый раз мы приготовили для вас рубрику, которую давно просили читатели и зрители. В формате вебинара, мы продемонстрировали вам, как создавать простейшие 3D-модели в специализированном редакторе. Сегодня мы готовы представить Вам второй урок ...

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

Cisco HyperFlex vs. конкуренты: тестируем производительность Мы продолжаем знакомить вас с гиперконвергентной системой Cisco HyperFlex. В апреле 2019 года компания Cisco в очередной раз проводит серию демонстраций нового гиперконвергентного решения Cisco HyperFlex в регионах России и в Казахстане. Записаться на демонстрацию можно чер...

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

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

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

[Перевод] Стандартный браузерный API Payment Request Знаете ли вы о том, что во многих современных браузерах имеется встроенный API, который называется Payment Request? Этот API описан в стандарте W3C, который направлен на поддержку работы с платёжной и контактной информацией. Вот обзор стандарта на ресурсе developers.google.c...

[Перевод] Замена EAV на JSONB в PostgreSQL TL; DR: JSONB может значительно упростить разработку схемы БД без ущерба производительности в запросах. Введение Приведем классический пример, наверное, одного из старейших вариантов использования в мире реляционных БД (база данных): у нас есть сущность, и необходимо сохрани...

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

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

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

Сбагри — это «Uber» для малого и среднего бизнеса У любой компании малого или среднего бизнеса возникает потребность в сбыте или покупке определенного товара или услуги. Для того, чтобы упростить компаниям данный процесс, была открыта первая в России мобильная онлайн бизнес-площадка «Сбагри», где можно размещать свои объяв...

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

Рецензия на фильм Zombieland: Double Tap / «Зомбилэнд: Двойной выстрел» Zombieland: Double Tap занимал первую строчку в моем персональном списке главных фильмов 2019 г. Я искренне люблю оригинал и пересматривал его множество раз, поэтому действительно ждал сиквела, заранее опасаясь, что завышенные ожидания приведут к разочарованию. К сожалению, ...

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

[Перевод] Создание игры для SEGA Mega Drive/Genesis в 2019 году Даже сегодня люди по-прежнему продолжают создавать новые игры для старых консолей. Мы называем их «homebrew». Иногда это способ реализовать детскую мечту о создании игры для консоли, на которой играл ребёнком. Но кроме того это ещё и интересная задача для любого дизайнера и...

Парковка возле ЦО «Перспектива» Доброго времени суток, меня зовут Мальцева Ульяна, я обучаюсь 3D-моделированию в ЦО "Перспектива".Я хочу представит вам свой проект "Парковка возле ЦО «Перспектива»".В Перспективе 1520 обучающихся. Каждый день родители привозят детей на занятия, но рядом с Перспективой нет м...

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

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

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

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

[Перевод] Один язык чтобы править всеми Скрытый под слоем кода, томится язык, жаждущий быть выученным. На момент написания этой статьи запрос «программирование какой язык изучать первым» выдаёт 517 миллионов поисковых результатов. Каждый из этих сайтов будет нахваливать один определённый язык, и 90% из них, в кон...

Maven-путь построения Go проектов Сначала небольшая предыстория. В начале 2010-х, я сделал небольшую утилиту-конвертер для BIN файлов эмулятора БК-0010 в WAV файлы. Утилита была написана на Python с целью максимальной переносимости, работала без проблем и я на какое то время забыл о ней. Но в 2016м появился ...

[Перевод] PowerShell в роли инструмента для пентеста: скрипты и примеры от Varonis Хакеры любят использовать PowerShell для запуска «fileless malware» — бестелесных вредоносных программ, которые не являются традиционными бинарными файлами с компилированным вредоносным кодом, и по этой причине подчас не могут быть обнаружены антивирусными решениями. Powe...

Создание React-ивного хука usePosition() для получения и отслеживания координат браузера Если вкратце В этой статье мы создадим React-ивный хук usePosition() для отслеживания геолокации браузера. Под капотом этот хук будет использовать методы getCurrentPosition() и watchPosition() нативного браузерного объекта navigator.geolocation. Финальную версию хука я опуб...

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

[Перевод] Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml В последнем семестре университета я выбрал курс компиляторов CS444. Там каждая группа из 1-3 человек должна была написать компилятор из существенного подмножества Java в x86. Язык на выбор группы. Это была редкая возможность сравнить реализации больших программ одинаковой фу...

Тройные фронтальные камеры в смартфонах - новый тренд? Недавно представленный Samsung Galaxy A80 удивил инновацией – тремя камерами на выдвигающемся слайдере, причём камеры эти могут вращаться, работая как основные, так и фронтальные. Тройная основная камера уже стала стандартом среди флагманов, а в Huawei P30 Pro разработчики в...

Уточняем описание функций системы с помощью диаграммы Sequence Уточняем описание функций системы с помощью диаграммы Sequence (продолжение "Белки") В данной статье рассмотрим, как можно детализировать (уточнить) описание автоматизируемой функции с помощью UML Sequence Diagram — диаграммы последовательности. В данном примере я использую ...

NURBS моделирование в Rhino 3D и T-Spline Существует, как минимум, два подхода к созданию 3D моделей. В одном из них, наиболее популярном, объекты состоят из множества полигонов. В другом (freeform surface modelling) — из NURBS поверхностей, которые задаются кривыми (сплайнами). Каждый из подходов имеет свои преиму...

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

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

Мысленный эксперимент: Flutter на Go Совсем недавно я открыл для себя Flutter – новый фреймворк от Google для разработки кроссплатформенных мобильных приложений – и даже имел возможность показать основы Flutter человеку, который никогда не программировал до этого. Сам Flutter написан на Dart – языке, родившимся...

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

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

3D-напечатанные формы для выпечки: 8 рождественских идей Новый Год к нам мчится, скоро… ну Вы сами все знаете. Давайте готовиться к рождественским праздникам вместе. Для этого включаем Фрэнка Сенатру, и будем делать тематическую выпечку. В данной статье мы подготовили 8 интересных идей 3D-печати формочек для рождественского печень...

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

Работать с PDF сложно? Попробуйте это приложение PDFelement — мощный комбайн для работы с PDF Многим из нас так или иначе приходится работать с документами в формате PDF. Одним он нужен в офисе, другие просто предпочитают обмениваться документацией в формате PDF, так как он удобен в использовании и экономичен в потре...

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

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

Телефонные опросы и поиск в CRM в 3CX CFD, новый плагин WP-Live Chat Support, обновление приложения для Android За последние пару недель мы представили несколько интересных обновлений и один новый продукт. Все эти новинки и улучшения соответствуют политике 3CX по созданию на базе UC АТС доступного мультиканального колл-центра.    Обновление 3CX CFD — компоненты Опрос и Поиск в CRM Све...

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

[Перевод] Четыре оси дизайна RPG Эта статья началась с ответа на многогранный, но в то же время довольно прямолинейный вопрос: из чего же состоит хорошая ролевая игра? На протяжении своей карьеры я поработал над несколькими RPG, и даже читал презентацию по этой теме, но никогда не рассматривал её целостно. ...

«Когда в душе ты дальнобойщик»: Тюнинговый «Шальной Мерс» высмеяли в сети В интернете показали доказательство того, что «жертвой» нелепого тюнинга может стать не только старая ненужная машина, но и представительский Mercedes-Benz W140. В одной из тематических групп во «ВКонтакте» появилась фотография весьма необычно тюнингованного «Мерседеса». За...

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

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

Как создать крутой экшен для Google Ассистента. Лайфхаки от Just AI Экосистема вокруг Google Ассистента развивается невероятно быстро. В апреле 2017 года пользователям были доступны всего 165 экшенов, а сегодня только на английском их – более 4500. Насколько разнообразным и интересным станет русскоязычный уголок вселенной Google Ассистента...

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

Определены участники эксперимента с гособлаком Это следует из опубликованного проекта постановления правительства, на которое ссылается "КоммерсантЪ". По результатам "пилота" должны быть определены принципы формирования, порядок финансирования эксплуатации и развития ГЕОП, а также размер и порядок пла...

Microsoft выпускает Office Insider Build 12026.20000 Microsoft выпустила новую версию Office для инсайдеров. Новая сборка 12026.20000 не содержит новых функций в приложениях Office, но содержит множество исправлений ошибок и улучшений производительности. Вы можете прочитать официальный список изменений ниже.Что новогоPowerPoin...

[Перевод] Обзор эмуляторов терминала Пара слов от нашего translate-бюро: обычно все стремятся переводить самые свежие материалы и публикации, и мы не исключение. Но терминалы — это не то, что обновляется раз в неделю. Поэтому мы перевели для вас статью Антуана Бопре, опубликованную весной 2018 года: несмотря на...

В iOS 13 появятся новые инструменты для редактирования фото и видео iOS 13 можно по праву назвать знаменательным релизом — пользователи наконец получили в свое распоряжение темный режим интерфейса, полноценный менеджер загрузок в Safari и даже Swype-клавиатуру. Но есть и другие, не менее важные изменения. К ним можно отнести новое при...

Shiftеd Сraft: коллекция 3D-напечатаных украшений и туфель от Ганит Ганит Гольдштейн, бывшая студентка иерусалимской Академии дизайна и искусств, — инновационный дизайнер, активно использующий аддитивную технологию. Не так давно девушка представила свою экспериментальную коллекцию под названием «Shiftеd Сraft» на модном ...

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

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

Google решила сделать Android внешне похожей на iOS Одна из основных претензий к Android со стороны пользователей состоит во внешней несогласованности интерфейса ОС. Речь, конечно, идет о разношерстности иконок игр и приложений, загружаемых из Google Play. Из-за отсутствия четко сформулированных правил разработчики под Andro...

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

[Из песочницы] Сниппеты против Клевера – обыгрываем популярнейшую викторину в реальном времени Апрель 2018-го года. Мне было 14. Мы с друзьями играли в тогда очень популярную онлайн-викторину «Клевер» от ВКонтакте. Один из нас (обычно я) всегда был за ноутбуком, чтобы пытаться быстро гуглить вопросы и глазами искать в поисковой выдаче правильный ответ. Но вдруг я поня...

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

Организуем работу с приложениями на Mac Каждый пользователь Mac имеет определенный набор приложений для работы. Это может быть браузер, мессенджер, почтовый клиент, прочие программы. Увы, в macOS нет встроенных инструментов (если не брать в расчёт Automator), которые бы позволили запускать сразу несколько приложе...

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

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

Главная «фишка» экрана Google Pixel 4 оказалась нестабильной С частотой обновления экрана новых Pixel 4 происходит множество странностей. Недавно пользователи узнали, что смартфон может работать с 90 Гц только при определённом уровне яркости, а теперь стало известно ещё об одном ограничении. Оказалось, что некоторые популярные приложе...

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

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

Сокращение рисков downtime благодаря архитектуре Shared Nothing Тема отказоустойчивости в системах хранения данных всегда является актуальной, поскольку в наш век повсеместной виртуализации и консолидации ресурсов СХД является тем звеном, отказ которого приведет не просто к заурядной аварии, а к длительным простоям сервисов. Поэтому совр...

Поток как инструмент управления Вернемся к идее использования потоков создания ценности в роли архитектурных элементов системы управления. Вопрос о том, как сделать это целостно, беспокоит меня уже какое-то время. Первые размышления по этому вопросу удалось выразить в заметке «Value stream, user'...

Не заставляйте слушателей рефлексировать Введение В процессе разработки очень часто возникает необходимость создать экземпляр класса, имя которого хранится в конфигурационном XML файле, или вызвать метод, название которого написано в виде строки как значение атрибута аннотации. В таких случаях ответ один: “Использ...

Эволюция H2 — оконные функции, CTE, JSON/XML во встраиваемой базе данных Есть open source проекты которые стали коммерчески успешным мейнстримом, как например PostgreSQL/Elasticsearch. Другие, к примеру RethinkDB, проиграли на рынке и остановили разработку. А проект H2 database встраиваемой базы данных, написанной на языке java, развивается и здр...

Холивар. История рунета. Часть 3. Поисковики: Яндекс vs Рамблер. Как не делать инвестиции Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль «Я ж не сразу поддамся, ты хоть нажимай». Программисты Дмитрий Крюков и Сергей Лысаков создали Rambler.ru — гла...

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

Одна из лучших партийных игр Keep Talking and Nobody Explodes выйдет 1 августа на iOS и Android В конце марта мы узнали, что игра с 98% положительных отзывов в Steam, Keep Talking and Nobody Explodes, выйдет на мобильных в этом году. Сегодня разработчики сообщили, что фактическая дата релиза — 1 августа. Она была создана с целью пересмотреть процесс совместной игры в ...

Лучшее программное обеспечение компьютерной сети Современная компания «Softinventive Lab» предлагает своим клиентам качественное программное обеспечение, которое позволит вести учет и контроль за работой сервера и общей рабочей сети. На сайте этой компании https://www.softinventive.ru/software-asset-management/ можно ознак...

Увольнение Джонатана Айва для Apple станет еще большим испытанием, чем уход Стива Джобса Самые известные проекты Айва — iPhone, iPad, iMac, MacBook — были созданы, когда главой Apple был Стив Джобс. В последующие годы дизайн продуктов компании стали критиковать больше. Главный дизайнер Apple Джонатан Айв проработал в компании почти 30 лет и руководил разрабо...

[Из песочницы] Опыт создания игры для Android в одиночку с нуля и как ее зафичерили на Google Play Привет! Меня зовут Ибрагим, я — начинающий инди-разработчик. У меня всегда было желание заняться программированием, но меня отпугивала сложность и неопределенность выбора (что именно изучать и делать). И лишь 2 года назад я все-таки преодолел этот психологический барьер, смо...

Документный червь. Эксплуатируем необычную XSS и обходим CSP на примере CodiMD Для подписчиковЕсть такой сервис для совместного редактирования текста — HackMD. Штука сама по себе полезная, но нас сегодня интересует ее реализация для установки на свой сервер — CodiMD. В ней нашли баг, позволяющий сделать код, который будет передаваться от пользователя к...

Школьник сделал макет для урока биологии в Minecraft Пользователю Reddit под ником Yonda89 в школе задали создать модель желудочно-кишечного тракта. Особых условий к форме выполнения определено не было. Тогда восьмиклассник не растерялся и воссоздал биологическую модель в Minecraft.

6 советов по измерению удовлетворенности пользователей Часто проводится много дискуссий о том, что измерять при оценке  службы поддержки ИТ и управления ИТ-услугами. В книгах ITIL предлагают множество всевозможных параметров: ключевые показатели эффективности (KPIs), критические факторы успеха (CSF) — так много, что л...

Реализация паттерна Page Object на Python + pytest Когда я начинал изучать автоматизацию тестирования, не мог понять — “что такое Page Object и как его реализовать на Python + pytest?”. Штудируя интернет, нашел реализацию на других языках и фреймворках: обучающие статьи, которые были непонятны для меня. Поэтому решил написат...

Аналитики считают, что пользователи iPhone будут дольше держаться за старые устройства, не желая покупать новые смартфоны Компания Apple в ближайшее время столкнётся с ещё одной проблемой, как считают некоторые аналитики. Речь о увеличении длительности циклов использования смартфонов iPhone. Согласно прогнозам, в той или иной форме в нынешнем году будет заменено лишь 16% находящихся в исп...

Fuchsia: как там дела у операционки Google для всех устройств Начну с небольшого экскурса в историю. В далеком или не очень 2016 году компания Google создала операционную систему, которая получила название Fuchsia. Весь смысл этого поступка заключался в том, что все прежние операционки от поискового гиганта (Chrome OS, Android, ОС для...

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

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

[Перевод] Квантовая информация в квантовом сознании Disclaimer! От переводчика: я перевел этот пост в попытках разобраться в идее. Сама концепция достаточно спорная, и не все моменты ясны (или недостаточно полны) в оригинале. Не беру на себя ответственность домышлять оригинал и оставляю пост в качестве отправной точки для ваш...

Мы все работаем на Google! Или для чего нужна капча? Капча стала неотъемлемой частью нашей жизни. Если вы с ней не сталкивались, вы или счастливчик, или вас просто не существует. Маленькие картинки, на которых надо отметить машины, велосипеды, светофоры и так далее, встречаются всегда и везде. Особенно часто грешит этим Googl...

Cruise открывает исходный код Worldview В Cruise Automation сотни инженеров и тестировщиков работают с данными, собранными на дорогах и через симулятор. Также специальная внутренняя команда AV Tools создает приложения для визуализации, поиска и анализа этих данных. Ведь пользователи и разработчики должны понимать ...

Как не потерять клиентов на этапе заполнения формы заказа на сайте Автор: Антон Гальский, руководитель группы ArrowMedia Контекстная реклама – один из инструментов, участвующий в процессе превращения пользователей в клиентов. За ней закрепляется задача в привлечении качественного трафика на сайт. Поэтому представим процесс всего взаимодейст...

Система построения песчаных форм | Песчаная 3D-печать FHZL Производство 3D-песчаных форм (РСМ) - одна из самых передовых технологий литья, объединяющая традиционную технологию литья в песчаную форму и 3D-печать. Эта технология позволяет быстро создавать песчаные формы и стержни, подходящие для быстрого литья сложных деталей. PCM не ...

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

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

Приложение Adobe убивает динамики MacBook Pro Пользователи некоторых MacBook Pro начали жаловаться, что динамики ноутбука выходят из строя. Роль «убийцы» динамиков приписывают последним обновлениям Adobe Premiere Pro, профессиональной программе нелинейного видеомонтажа компании Adobe.  На официаль...

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

[Из песочницы] Видеонаблюдение на orange pi zero — дешево и совсем не сердито Недавно поставил себе задачу реализовать видеонаблюдение со следующими характеристиками: Минимальное энергопотребление Минимальный размер устройства, которое будет принимать видео с камеры (или нескольких камер). С таким небольшим размером, чтобы можно было его, к примеру,...

Создание бэкенд приложения для онлайн чата Apollo, Node.js Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к...

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

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

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

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

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

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

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

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

Установка Windows через Windows Deployment Services и Microsoft Deployment Toolkit Как было написано в одной умной книге — если в вашем IT-отделе нет автоматизированной установки операционной системы, то её создание может быть самой важной задачей, которую вы когда-либо выполняли. Читать дальше →

Google Поиск наконец научился делиться запросами с другими пользователями Существует множество способов поделиться определенным поисковым запросом Google, например, скопировать (обычно довольно длинный) URL-адрес или использовать сервис LMGTFY, который предлагает немного больше возможностей. Сама Google до сих пор по какой-то неизвестной причине ...

Software Defined Radio — как это работает? Часть 5 Привет Хабр. В предыдущей части был рассмотрен прием сигналов с помощью GNU Radio. Сейчас мы рассмотрим обратную задачу — передачу сигналов различного вида модуляции. Как и в случае приема, с помощью GNU Radio можно создать сложную программную систему для передачи сигнал...

Лазерная коррекция зрения — так ли эффективен метод Smile на самом деле? Мои исходные данные: небольшая близорукость, -1 диоптрия, но всего лишь 20% остроты — видел только две строчки. Очки или линзы мне были неудобны, поэтому я решил сделать операцию. Выбор сводился всего к двум типам — Femto lasik или Smile. Фемто — проверенный и надежный мет...

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

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

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

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

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

Преобразование полигональных моделей в граничное представление: алгоритм и примеры кода В большинстве систем проектирования (САПР) основным представлением моделируемого объекта является граничное представление геометрии или B-rep (Boundary representation). Но все чаще пользователям САПР приходится иметь дело с полигональными моделями, например, полученными в ре...

Главный секрет Google I/O 2019, о котором не узнать из интернета Титульная конференция крупнейшего гиганта рекламного бизнеса отгремела уже как неделю, а некоторые до сих пор пишут статьи. Так как всё, что можно было написать про программу и главные новинки, уже написано (привет phillennium), то что остаётся скромному посетителю? Только р...

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

Почему тратить на смартфон больше 1000 долларов — это безумие Стоит ли платить за смартфон более 1000 долларов? Помните то славное время, когда вы могли заплатить менее 600 долларов за новенький iPhone или флагман от Samsung? Или купить последнюю версию OnePlus за менее, чем 400 баксов? Однако теперь почти невозможно найти актуальное у...

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

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

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

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

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

Microsoft выпускает Windows 10 Build 18363.329 в канал Release Preview Операционная система Windows 10 с обновлением 19H2 сейчас является еще тем запутанным беспорядком. В прежние времена у нас был канал Fast Ring для еженедельных выпусков и Slow Ring для ежемесячных выпусков, и все они были из одной ветви разработки. Fast Ring предназначен для...

WearOS теряет еще одно популярное приложение WearOS переживает не лучшие времена. С каждым месяцем эта операционная система становится еще более удобной и стабильной, а не так давно Google удалось существенно увеличить скорость её работы, но популярность WearOS, к сожалению, наоборот падает. Это связано как с недостато...

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

FreeBSD планирует перейти на ZFSonLinux На прошлой неделе один из разработчиков FreeBSD Matt Macy выдвинул предложение об использовании реализации ZFS от проекта ZFSonLinux. Таким образом все требуемые изменения для FreeBSD будут сразу интегрированы в кодовую базу ZFSonLinux. Предложением это не завершилось, уже с...

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

10 фильмов, изменивших представление о визуальных эффектах в кинематографе Вспоминаем лауреатов премии «Оскар» разных лет за лучшие визуальные эффекты. 1969 год. «2001 год: Космическая одиссея» Съемк...

[Перевод] Полное руководство по useEffect Вы написали несколько компонентов с использованием хуков. Возможно — даже создали небольшое приложение. В целом результат вас вполне устраивает. Вы привыкли к API и в процессе работы обнаружили несколько неочевидных полезных приёмов. Вы даже создали несколько собственных хук...

Software Defined Radio — как это работает? Часть 6 Привет, Хабр. В предыдущей части мы рассмотрели возможность передачи простых сигналов с помощью GNU Radio. Сейчас мы пойдем дальше, и посмотрим, как передать что-нибудь посложнее. Начнем с радиолюбительских сигналов WSPR, а затем создадим работающий программный QAM-модем. ...

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

Видеоурок Теплицы: создание формы обратной связи в Airtable Сегодня мы наконец перейдем к тому, как практически команды НКО могут использовать приложение Airtable, и почему в личном рейтинге Вовы Ломова это приложение входит в десятку самых полезных приложений для социальных проектов. Из видеоурока вы узнаете, как создать форму регис...

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

[Перевод] DataChannels на QUIC: первые шаги DataChannels, основанные на QUIC, считаются альтернативой нынешнему SCTP-транспорту. Рабочая группа WebRTC в Google уже экспериментирует с ними: Looking for feedback: QUIC based RTCQuicTransport and RTCIceTransport API's are available as origin trial in Chrome 73 for experi...

Оптимизация программ под Garbage Collector Не так давно на Хабре появилась прекрасная статья Оптимизация сборки мусора в высоконагруженном .NET сервисе. Эта статья очень интересна тем, что авторы, вооружившись теорией сделали ранее невозможное: оптимизировали свое приложение, используя знания о работе GC. И если ране...

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

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...

[Перевод] Поиск на скорости 1 ТБ/с TL;DR: Четыре года назад я покинул Google с идеей нового инструмента для мониторинга серверов. Идея состояла в том, чтобы объединить в одну службу обычно изолированные функции сбора и анализа логов, сбора метрик, оповещений и панели мониторинга. Один из принципов — сервис до...

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

BCN3D и оптимизация производства Производство индивидуальных стелек для обуви от компании Zoles Компания Zoles производит индивидуальные стельки по всей Европе, используя 3D-принтеры BCN3D, которые позволяют ускорить весь процесс и сэкономить до 80% от общих производственных затрат с каждой пары. Zoles пре...

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

CardInfo — API для определения логотипа, цветов банка и прочего по номеру карты Тут и демо, и документация: cardinfo.online Это API. Вы ему 6 первых цифр банковской карты, оно вам ссылку на логотип банка, его фирменные цвета, бренд (Visa, MasterCard, и т.д.) и прочее в формате JSON. CardInfo нужен тем, кто создаёт форму для приёма банковских карт у се...

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

Apple: «Магазин приложений App Store не является монополией» Вчера Верховный суд США дал согласие на иск потребителей, которые обвиняют Apple в монополизации рынка ПО для iPhone. В частности, пользователи недовольны тем, что Apple забирает себе 30% выручки с каждой покупки в App Store, что заставляет разработчиков поднимать цены ...

[Перевод] Заменяют ли Redux хуки React? С тех пор, как в React появились хуки, возникает много вопросов о том, способны ли они заменить Redux. Я полагаю, что хуки и Redux имеют мало общего между собой. Хуки не дают нам неких новых удивительных возможностей по работе с состоянием. Они, вместо этого, расширяют API,...

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

Чудо Materialise Magics: Nissan тратит секунды вместо нескольких месяцев работы Nissan Motor Corporation использует 3D-печать для создания прототипов и проведения экспериментов с новыми формами автомобилей. Раньше эти задачи требовали большого объема ручной работы. Благодаря программному обеспечению Materialise удалось изменить весь процесс и сделать ...

Словарь рекламных метрик.  CTR, CPI, CPM, CPC, CR Для того, чтобы оценить качество рекламных компаний существует большое количество различных метрик. Все они давольно таки простые для понимания, но чтобы было проще ориентироваться, в данном посте будут описаны основные из них. Разберем один из стандартных процессов попа...

Плагины Jira: несколько примеров успешного изобретения велосипеда Мы в Mail.ru Group вкладываем много сил в развитие продуктов компании Atlassian и, в частности, Jira. Благодаря нашим усилиям свет увидели плагины My Groovy, JS Includer, My Calendar, My ToDo. Все эти плагины мы развиваем и активно используем внутри компании. Мы получаем...

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

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

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

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

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

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

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

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

[Перевод] Множественные запросы к API с помощью mergeMap и forkJoin вместо subscribe Руководство по использованию mergeMap и forkJoin вместо простых подписок для множественных запросов к API. В этой статье я покажу два подхода к обработке множественных запросов в Angular с использованием mergeMap и forkJoin. Читать дальше →

Заметка: Онлайн-чат средствами SSH Привет, Сообщество! Не так давно пользователь с ником maximmasterr рассказал про свою реализацию системы онлайн-чата посредством использования технологии SSH. В этой заметке мне бы хотелось поделиться с вами ещё одной реализацией SSH-чата, которую разработал Андрей Петров....

Сознание и аргумент судного дня Жил был моряк. У него было две любимых женщины в разных портах, и он хотел детей – вот только не решил, одного или двух. Он решил кинуть монету. Орел – будет один ребенок от одной из женщин (к которой первой зайдет в порт по работе – это уж как получится), решка – сделает ...

Fix by Root Nation #3: Очищаем ПК от вирусов при помощи Dr.Web CureIt Антивирусная защита - это, безусловно, важный компонент любой операционной системы. Но к великому сожалению, на данный момент ни один антивирус не обеспечит вас даже 70-процентной защитой. Каждый день появляются всё новые и новые разновидности вирусов и даже самый мощный ант...

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

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

[Из песочницы] Xamarin.Forms — удобное использование иконочных шрифтов в приложении Постановка задачи Для отображения иконок в приложении Xamarin.Forms можно использовать изображения в различных форматах, например png, svg или шрифты ttf. Чаще всего для добавления стандартных иконок удобен шрифт с иконками, например google material icons. Шрифт с иконками ...

[Перевод] Компилируем FFmpeg в WebAssembly (=ffmpeg.js): Часть 1 — Приготовления Из этой части вы узнаете: Зачем это всё нужно Как скомпилировать FFmpeg в Docker Зачем это всё нужно Главные задачи у серии публикаций такие: Создать туториал по использованию Emscripten для компиляции C/C++ библиотек в JavaScript (более детальный и полезный, чем написа...

[Из песочницы] Справочник начинающего подкастера Эта статья — краткое руководство для тех, кто хочет запустить свой собственный подкаст. Когда я вместе с моим нынешним соведущим год назад запускал подкаст “В бесконечность и далее”, я не смог найти ни одной по-настоящему всеобъемлющей статьи. Поэтому я решил попытаться запо...

Сортировка и группировка чатов Telegram: новый клиент AiGram Messenger с Искусственным интеллектом Чего не хватает в мессенджере Telegram? Больше всего, пожалуй, сортировки и группировки чатов, и хотя многие пользователи давно просят об этом разработчиков приложения, они не торопятся с реализацией данных функций. И если на платформе Android еще можно найти сторонние клие...

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

Домен-фронтинг на базе TLS 1.3 Введение Современные корпоративные системы фильтрации контента, от таких именитых производителей как Cisco, BlueCoat, FireEye имеют довольно много общего с более мощными их собратьями — DPI системами, которые усиленно внедряются на национальном уровне. Суть работы и тех и д...

Что ждут владельцы iPad от iOS 13 В конце октября прошлого года, Apple представила обновленную линейку планшетов iPad Pro. Устройство получилось действительно бескомпромиссным — высочайший уровень производительности, качественный экран с поддержкой ProMotion, отличный дизайн с минимальными рамками. И ...

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

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

[Перевод] Новости из мира OpenStreetMap № 485 (29.10.2019-04.11.2019) Навигационная система Теслы и система OSM 1 | Teslamotorsclub – Map data OpenStreetMap contributors Картографирование Пользователь SelfishSeahorse предлагает отмечать в OSM полосы на дорогах, которые специально отведены для пешеходов. StreetCred — компания, основанная Рэ...

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

Bomb Squad Academy 1.1.1 Вы будете обезвреживать бомбы за определенный промежуток времени. В этой игре вы будете выступать в роли сапера который должен положиться на свои знания и логику для того чтобы спасти мир. Проанализируйте работу платы бомбы и правильно отключите детонатор. Будьте предельно о...

У Huawei есть чем заменить приложения и сервисы Google Huawei Mobile Services — то, за счёт чего работают смартфоны Huawei Философия — дисциплина отнюдь не для каждого. Тем не менее, её начинаешь понимать лучше, когда получается проиллюстрировать то, в чём она пытается убедить на словах, примерами из реальной жизни. ...

Зачем нужен собственный удостоверяющий центр Примеры 1) промежуточного УЦ в открытой иерархии доверия и 2) частной иерархии, которая изолирована от открытой иерархии, со своим собственным корневым УЦ Инфраструктура открытых ключей (PKI) традиционно имеет иерархическую структуру. В ней удостоверяющие центры (УЦ) связа...

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

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

Учимся работать с PDF на Mac как профессионал Профессиональных инструментов для работы с PDF на Mac немало, но они стоят очень дорого Если вы хоть раз пробовали профессионально поработать с PDF на Mac, то понимаете, что без использования сторонних приложений сделать это не так просто. Да, можно открыть файл в том же «Пр...

Google выпустила 5 новых приложений для Android. Что они могут Google нечасто выпускает новые приложения, но в этот раз выпустила сразу пять У Google очень много фирменных сервисов, практически каждый из которых имеет собственное приложение. Часто в целях экономии пространства их объединяют в одну программу или утилиту, например, как в ...

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

Лучшие проекты самодельных 3d-сканеров Доступный по цене и качественный 3D-сканер можно сделать и самостоятельно. Просто выберите наиболее подходящий вариант из списка лучших на сегодня самодельных 3D-сканеров. Для чего нужно сканирование? Что общего между Суперменом и антиутопическим обществом, изобра...

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

[Из песочницы] Деплоим изоморфное веб-приложение на примере Nuxt.js В средних и больших проектах сайт не ограничивается одним сервисом  —  к примеру только сайтом, как правило существует база данных, API, сервер который маршрутизирует запросы ко всем этим сервисам. Выкатывать и обновлять все это без какой-либо стандартизации непросто, а мас...

DSC и напильник: часть 1. Настройка DSC Pull Server для работы с базой данных SQL PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов. Но при использовании DSC on-premises, т.е. не в MS Azure, возникает пара нюансов. Они осо...

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

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

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

Блокировка незаконного онлайн-контента является общемировой тенденцией Координационный центр доменов .RU/.РФ представляет обзор «Регистратуры доменных имен и онлайн-контент», подготовленный Советом европейских национальных регистратур доменов верхнего уровня CENTR. Обзор был опубликован на сайте CENTR в 1 квартале 2019 года и по инициативе Коо...

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

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

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

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

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

Как потоки создания ценности могут помочь вам лучше делать свою работу Люди, которые работают в сфере управления ИТ-услугами (IT service management, ITSM) тратят много времени на обдумывание и совершенствование своих процессов. И это хорошо. Но когда мы фокусируемся на процессах в ущерб всему остальному, мы проигрываем. В этом блоге я собираюс...

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

[Перевод] Десять заповедей React компонентов Написано Kristofer Selbekk, в сотрудничестве с Caroline Odden. Основано на лекции с таким же названием и с теми же людьми, состоявшейся на встрече ReactJS в Осло в июне 2019 года.От переводчика — оригинальное название The 10 Component Commandments не упоминает React, но бол...

Электроника с AliExpress В наше время существует множество гаджетов, не все они полезные, но есть и такие которые помогут вам сэкономить время и оперативно получить ответы на ваши вопросы, вовремя напомнят о предстоящем важном событии, помогут создать романтическую обстановку и многое другое. Фитнес...

Can I haz? Ударим программированием на типах по дженерикам Привет, Хабр. В прошлый раз мы описали Has-паттерн, обрисовали проблемы, которые он решает, и написали несколько конкретных инстансов: instance HasDbConfig AppConfig where getDbConfig = dbConfig instance HasWebServerConfig AppConfig where getWebServerConfig = webServerCo...

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

Трейлер к запуску Jump Force: 40 персонажей манг готовы сойтись в безумной потасовке Кроссовер-файтинг Jump Force готов, так что разработчики вместе с издательством Bandai Namco Entertainment представили новый трейлер и рассказали дополнительные подробности. Проект, как уже ранее сообщалось, приурочен к 50-летию японского журнала Weekly Shonen Jump,...

В РСЯ появились новые настройки для массового редактирования рекламных блоков В интерфейсе Рекламной сети Яндекса появилась новая функциональность — «Наборы настроек», с помощью которой можно сохранять групповые настройки для порогов CPM и блокировок, чтобы применять их к множеству RTB-блоков одновременно. Через пункт «На...

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

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

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

Как мы делали облачный FaaS внутри Kubernetes и побеждали в Тинькофф-хакатоне Начиная с прошлого года у нас в компании начали организовывать хакатоны. Первое такое состязание прошло весьма успешно, о нем мы писали в статье. Второй хакатон прошел в феврале 2019 и был не менее успешным. О целях проведения последнего не так давно писал организатор. Уч...

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

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

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

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

Киборги идут: создан вживляемый фитнес-трекер размером меньше рисового зерна Фитнес-трекеры, датчики ЭКГ и прочие полезные сенсоры имеют всего один (но довольно существенный) недостаток — их можно просто забыть надеть на руку или зарядить. А что если поместить устройство внутрь человеческого тела? Звучит как завязка произведения в стиле киберп...

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

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

Xiaomi выпустила смарт-сейф Компания Xiaomi представила, первым в своем роде, интеллектуальный сейф. Xiaomi Cayo Anno Smart Safe - это небольшой интеллектуальный сейф с множеством функций, от электронного пароля и удаленной сигнализации до доступа с помощью кнопки и через приложение Mijia. Он ...

[Из песочницы] Кросс-компиляция Scala в Gradle проекте Для Scala проектов довольно распространённым является предоставление бинарных артефактов скомпилированных под несколько версий Scala компилятора. Как правило для целей создания нескольких версий одного артефакта в сообществе принято использовать SBT, где эта возможность есть...

[Из песочницы] Интеграция React Native и C++ для iOS и Android Недавно мне предложили поработать над одним интересным проектом. Требовалось разработать мобильное приложение для американского стартапа на платформах iOS и Android с помощью React Native. Ключевой технической особенностью и фактором, который однозначно решил мое участие в п...

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

[Из песочницы] Как создать идеальное техническое портфолио Привет, Хабр! представляю вашему вниманию перевод статьи «How To Build A Great Technical Portfolio» автора Emma Wedekind. Портфолио — это отображение вашей личности, обычно первое впечатление о вас и вашей работе складывается именно благодаря портфолио. Таким образом, крайн...

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

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

Как простая поломка MacBook Pro может привести к дорогостоящему ремонту Высокая цена всегда была неотъемлемым атрибутом компьютеров Mac. Но если раньше стоимость компенсировалась качеством и надежностью, то теперь, похоже, всё это в прошлом. К сожалению, новые модели MacBook Pro вышли на редкость неудачными — проблемы с клавиатурами, дина...

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

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

Эволюция кластерного взаимодействия. Как мы внедряли ActiveMQ и Hazelcast В течение последних 7 лет я вместе с командой занимаюсь поддержкой и развитием ядра продукта RealtimeBoard: клиент-серверным и кластерным взаимодействием, работой с базой данных. У нас Java с разными библиотеками на борту. Запускается всё вне контейнера, через Maven-плагин....

Телега для датасайентиста How to deploy Python Telegram bot using Webhooks on Google Cloud Platform Вместо предисловия — Напиши телеграм-бота. Сейчас даже школьники пишут, — сказала она. — А почему бы и нет, — подумал я тогда ( — Ну, ну, — сказал бы я сейчас). Мы сидели в Бине и за чашкой кофе обсуж...

Kia Rio X-Line стал еще выше Корейский автопроизводитель адаптирует свои модели под каждый рынок. Благодаря возросшему дорожному просвету эксплуатация Kia Rio X-Line на российских дорогах зимой станет комфортнее, чему должны обрадоваться дачники. Изменения коснулись множества элементов подвески, некотор...

Разработка простого музыкального синтезатора на ATMEGA8 Несколько лет назад я изготовил на микроконтроллере ATmega8 часы с будильником, где реализовал однотональный (одноголосный) простейший синтезатор мелодий. В Интернете немало статей для начинающих, посвящённых этой теме. Как правило, для генерации частоты (нот) применяют 16-р...

Создаём Azure DevOps extension У нас есть проект с настроенным CI/CD-процессом. Когда разработчик заканчивает задачу и вливает свои изменения в develop\qa, автоматически запускается билд, который выкладывает новую версию приложения на тестовую среду. В идеальном мире тестировщик автоматически узнаёт о зад...

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

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

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

[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK). Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не р...

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

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

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

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

[Перевод] Wired – анимационный фильм из нескольких сцен, нарисованный и анимированный в VR Эту четырёхминутную короткометражку сделал студент из Нью-Йорка Анимационные фильмы, созданные при помощи шлема VR, не являются особой новинкой. Но большинство из них – это отдельные сцены, зацикленные в повторяющуюся петлю типа анимированного GIF. Возможно, там двигается ...

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

[Перевод] Автор Dwarf Fortress Тарн Адамс рассказывает о разработке игры Одним из лучших способов применения мощных процессоров для развлечений долгое время была Dwarf Fortress — игра, в которой весь мир состоит из символов ASCII, и которая с радостью съест гигабайт памяти и большую долю процессорного времени. Но в отличие от некоторых других и...

Как сделать из детского рисунка 3D-скульптуру? Хотя детские рисунки могут быть странными и трудными для понимания, нет никаких сомнений, что это настоящие шедевры. Родители обычно вешают такие творения на холодильник, оформляют их в рамки и ставят на рабочий стол. Некоторые и вовсе превращают их в тату на своем теле. А ч...

[Перевод] Li-Fi: Будущее интернета Представьте себе время, когда каждая из лампочек в вашем доме будет источником интернета. Вообразите сценарий, когда, простояв под лампочкой в течение лишь одной минуты, вы скачали бы около 5 фильмов в формате HD. Звучит круто, верно? Но благодаря технологии Li-Fi эта мечта ...

Хождение по мукам или долгая история одной попытки восстановления данных На дворе стоял 2019 год. В нашу лабораторию поступил не совсем обычный для нашего времени накопитель QUANTUM FIREBALL Plus KA емкостью 9.1Гб. Со слов владельца накопителя отказ случился в далеком 2004 году по вине вышедшего из строя блока питания, который прихватил за собой ...

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

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

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

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

Google Формы – онлайн-инструмент для создания форм обратной связи Журналист Теплицы Юлия Каленкова протестировала Google Формы и убедилась, что это отличный инструмент для создания приглашений и опросов. На мой взгляд, главные преимущества Google Форм – это возможность пользоваться сервисом бесплатно (нужен лишь аккаунт в Google) и настраи...

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

Экран Samsung Galaxy Fold имеет складку посередине У Samsung Galaxy Fold, который недавно был представлен, есть один неприятный сюрприз - устройство имеет значительную складку прямо посередине. Galaxy Fold демонстрировался на стенде Samsung на Mobile World Congress, но за двумя толстыми слоями стекла. Мало того, охранн...

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

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

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

Представлен проект ускорителя, который мощнее Большого адронного коллайдера Европейская организация по ядерным исследованиям (CERN), которая сделала несколько крупных научных открытий, удостоенных Нобелевской премии, объявила о планах создать новый мощный ускоритель частиц, преемника Большого адронного коллайдера (БАК). Большой адронный коллайд...

[Перевод] Как без особенных усилий создать ИИ-расиста Предостерегающий урок. Сделаем классификатор тональности! Анализ тональности (сентимент-анализ) — очень распространённая задача в обработке естественного языка (NLP), и это неудивительно. Для бизнеса важно понимать, какие мнения высказывают люди: положительные или отрицате...

Первый же суперкомпьютер с новыми CPU AMD Epyc будет одним из самых мощных в мире Как сообщают источники, правительство Великобритании заключило контракт на создание суперкомпьютера, который станет самым мощным в Европе. Система получит название Archer2 и будет создана компанией Cray. Что интересно, создана она будет на основе процессоров AMD Epyc, ...

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

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

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

Репортаж с презентации Redmi Note 7 и Mi Play + розыгрыш! Несмотря на то, что мы успели сделать и полновесный обзор, и даже видео, посвященное королю бюджетного сектора Redmi Note 7, официально он к нам приехал лишь на днях. До этого был только в Китае. А вот Mi Play, который также был показан на официальной презентации, интересен ...

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

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

[Перевод] Топ-10 самых распространенных ошибок, которые мне встречались в Go-проектах Этот пост — мой топ самых распространенных ошибок, которые встречались мне в Go-проектах. Порядок не имеет значения. Неизвестное значение Enum Давайте взглянем на простой пример: type Status uint32 const ( StatusOpen Status = iota StatusClosed StatusUnknown ) Здесь м...

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

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

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