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

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

[Из песочницы] Хранение настроек в памяти Базового устройства Привет! Если Вам посчастливилось подержать в руках микроконтроллер ESP32 (мне посчастливилось больше и у меня в руках M5Stack) от китайской компании ESPRESSIF, то этот пост, возможно, будет полезен. Бывает ситуация, когда необходимо сохранить какие-то параметры в энергонеза...

[Из песочницы] ES6 Простым языком Шаблонные литералы Шаблонные литералы заключены в обратные кавычки (` `) вместо двойных или одинарных. Они могут содержать подстановки, обозначаемые знаком доллара и фигурными скобками (${выражение}). Пример: var name = "bill"; console.log(`Hello ${name}`); // He...

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

Опыт перевода Maven-проекта на Multi-Release Jar: уже можно, но ещё сложно У меня есть маленькая библиотека StreamEx, которая расширяет возможности Java 8 Stream API. Библиотеку я традиционно собираю через Maven, и по большей части меня всё устраивает. Однако вот захотелось экспериментов. Некоторые вещи в библиотеке должны работать по-разному в раз...

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

[Из песочницы] Как я свой первый ИИ писал Привет, Хабр. История моя берёт начало в январе 2019 года. Мы с моей тимой геймдевелоперов решили взяться за самый большой проект в нашей истории- 2Д платформер. Нет, мы не делали до этого какие-нибудь FlappyBird'ы или змейки, но объём работы в этом проекте просто сносил на...

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

Google выпустил бета-версию Ads API v0_7 Google объявил о выходе бета-версии Google Ads API v0_7. Для работы с новой версией разработчикам нужно будет обновить клиентские библиотеки. Основные нововведения: Параметры запроса. Эти параметры позволяют менять способ обработки запроса: Установите для параметра validate_...

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

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

Как поговорить с микроконтроллером из JS Зачем нужен микроконтроллер? Например, чтобы устроить дома пивоварню. Если своего пивного заводика мало, то можно и что-то масштабнее: построить квест-комнату, оформить презентацию, интерактивный фонтан, который рисует картину каплями, или выставочный стенд для большой компа...

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

[Из песочницы] Хранение и автоматическая сортировка фото и других файлов. Работа с файлохранилищем на базе NAS Synology Давно хотел написать про то как я храню свои файлы, как делаю бэкапы, но все никак не доходили руки. Недавно тут появилась статья, в чем-то похожую на мою но с другим подходом. Сама статья. Я уже много лет пытаюсь найти идеальный для себя метод для хранения файлов. Думаю я ...

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

А какая разница какой Collation выбрать? Статья подготовлена для студентов курса «MS SQL Server разработчик» Хочу поделиться историей из одного из предыдущих проектов, которая иллюстрирует, что Collation нужно выбирать очень вдумчиво. И о том, что бывает, если этот параметр все-таки выбрали неверно, и какие вариант...

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

Flutter: локализация приложений средствами Android Studio Про локализацию (интернационализацию) приложений Flutter написано уже достаточно много. Официальная документация довольно подробно останавливается на этом вопросе, кроме этого ряд энтузиастов описывает самые различные подходы. Эта статья не претендует на полноту охвата вопр...

Пользователи обругали Adobe за то, каким вышел Photoshop для iPad Photoshop для iPad вышел, но пользователи невысоко оценили его Помните мем «ожидание-реальность», высмеивающий завышенные ожидания? Он довольно точно отражает то, как многого мы порой ожидаем от кого-то или чего-то, получая на выходе нечто куда менее грандиозное. То же самое...

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

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

Часть 4. Карьера программиста. Junior. Заход во фриланс Продолжение рассказа «Карьера программиста». Смеркалось. И прямо, и косвенно. Я с большим усердием искал работу программистом, но не было никаких вариантов. В моем городе было 2-3 объявления на 1С-разработчика плюс, редкий случай, когда требовались преподаватели курсов прог...

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

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

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

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

[Из песочницы] Фантазии на тему метаклассов в C# Программистам вроде меня, которые пришли в C# с большим опытом работы в Delphi, часто не хватает того, что в Delphi принято называть ссылками на класс (class reference), а в теоретических работах – метаклассами. Я несколько раз натыкался в разных форумах на обсуждение, прохо...

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

Как уменьшить размер фотографий и видео на Galaxy S10 Памяти никогда не бывает много. Даже если объем накопителя вашего смартфона составляет 128 ГБ и более, нет ничего зазорного в том, чтобы сэкономить его. Кто-то с этой целью удаляет накопившиеся фотографии и видеозаписи, а кто-то регулярно чистит кэш, который накопили прилож...

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

[Перевод] Программная реализация усилителя класса D Best-404-Error интересуется, можно ли получить результат компиляции длиной менее 512 байт, если исходник написан на языке высокого уровня. Можно, если упростить возлагаемую на прошивку задачу. Программная реализация усилителя класса D позволяет менять его параметры (часто...

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

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

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

OpenSceneGraph: Управление окнами и режимами отображения Введение Мы уже говорили о том, что класс osg::Camera управляет связанным с ним графическим контекстом OpenGL. Графический контекст инкапсулирует информацию о том, как и куда происходит отрисовка объектов и какие атрибуты состояния к ним применяются. Под контекстом понимают...

Светильник Wb Nightlight Всем привет! Хочу поделиться с вами результатами создания светильника, который я сделал в качестве подарка одной симпатичной девушке)     Изначально я хотел взять готовый проект, который видел в одном посте на этом сайте. Это была лампа, напечатанная на принтере zmorph. Одна...

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

[Перевод] Моки, стабы и шпионы в Spock Framework Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy. Довольно часто коду, который нужно протестировать, требуется взаимодействовать с внешними модулями, называющимися зависимостями (в оригинальной статье используется т...

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

Интерфейсы как абстрактные типы данных в Go Не так давно коллега ретвитнул отличный пост How to Use Go Interfaces. В нем рассматриваются некоторые ошибки при использовании интерфейсов в Go, а также даются некоторые рекомендации по поводу того, как их все-таки стоит использовать. В статье, упомянутой выше, автор приво...

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

Пишем ITIL 08.08 (жаль, что не 0808 года) в составе ITIL выходит новая публикация, посвященная обзору практики Service Level Management. Я являюсь одним из авторов данного материала, второй, ясное дело, – Роман Журавлев. Поскольку дата официальной публикации уже близко, позволю себе ...

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

[Из песочницы] Пользовательские параметры в Google Analytics, которые не раз нас спасали При настройке аналитики через Google Analytics (GA) нередко без внимания остаются Пользовательские параметры или CD (Custom Dimensions). Это происходит из-за сложности с пониманием их области применения: неясно, как именно CD могут помочь в сборе и анализе данных и каким обр...

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

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

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

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

Идея о поиске людей в лесу Эта статья описание небольшой идеи возникшей после прочтения недавней статьи «Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса» Сразу предупрежу, что у меня маловато опыта в радиотехнике, и совсем нет оного в поиске пропавших людей, так чт...

Это было плохо: глава Huawei заявил, что у компании был прототип гибкого смартфона, подобного Samsung Galaxy Fold, но от него отказались Компании Huawei и Samsung уже показали свои складные смартфоны. И хотя оба они формально относятся к одной категории, устройства вышли достаточно разными. Хотя бы из-за того, что у Galaxy Fold дисплей складывается вовнутрь, а у Mate X — наружу. В первом случае плю...

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

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

Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux. Установка Установить PVS-Studio под Linux можно разными...

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

Блокировка Telegram, Hetzner подсеть /16, опыт общения с РКН Работаю в достаточно крупной консалтинговой компании с представительствами по всему миру. Головной офис в Германии… Так сложилось, что, уехав из России около 20 лет назад, до сего момента про РКН и блокировки я лишь читал и сопереживал. Информация ниже, я так понимаю, не но...

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

Странная видеокарта GeForce GTX 1180 замечена в составе готового ПК В те времена, когда видеокарты Turing ещё не вышли, какое-то время разные слухи приписывали картам разные имена. Ту же GeForce RTX 2080 иногда называли GTX 2080 или GTX 1180. В итоге карты вышли, с именами разобрались, но уже завтра нас ждёт анонс GTX 1660 Ti, которую т...

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

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

Docker — это игрушка или нет? Или всё-таки да? Всем привет! Ооочень хочется прям сразу приступить к теме, но правильнее будет немного рассказать про мою историю: Вступление Я программист с опытом разработки frontend одностраничных приложений, scala/java и nodejs на сервере. Довольно долго (уже точно пару — тройку лет), ...

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

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

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

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

Когда хочется красивый GUI, а gpu нет Обычно для рабочих утилит не требуется вменяемый UI, с кнопками, списками, окнами, поддержкой мыши и прочей мелочевкой, большинство рабочих «хотелок» можно упаковать в скрипты и иногда запускать их с параметром --help, и так будет даже правильней с точки зрения настройки и м...

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

Структуры против Классов С самого начала, когда я начинал заниматься программированием, вставал вопрос, что использовать для улучшения быстродействия: структуру или класс; какие массивы лучше использовать и как. По поводу структур, Apple приветствует их использование, объясняя это тем, что они лучше...

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

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

[Из песочницы] Мой опыт администрирования IBM DB2 Express-C при использовании с 1C: Предприятием Довелось работать с IBM DB2. И на 1С, и сервер на Django использовал эту СУБД одно время, OLAP запросы довольно шустро обрабатывал (правда, требовалась ручная настройка индексов, ну и веб-сервера, конечно, чтобы отклик был в пределах 2 секунд). Году в 2015 подготовил эту неб...

[Из песочницы] Новый метод кластерного анализа В работе предлагается новый метод кластерного анализа. Его преимущество в менее сложном с вычислительной точки зрения алгоритме. Метод основан на расчете голосов за то, что пара объектов находится в одном классе из информации о значении отдельных координат. Читать дальше &...

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

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

[Из песочницы] Построение Outbound продаж в сервисной IT компании В этом интревью мы поговорим о лидогенерации в IT не совсем стандартными методами. Мой сеголняшний гость Макс Макаренко — founder и CEO в Docsify, sales & marketing growth hacker. Макс уже более десяти лет в B2B-продажах. После четырех лет работы в аутсорсе он перешел ...

Объектное хранилище в подсобке, или Как стать самому себе сервис-провайдером Первый прототип объектных хранилищ мир увидел в 1996 году. Через 10 лет Amazon Web Services запустит Amazon S3, и мир начнёт планомерно сходить с ума от плоского адресного пространства. Благодаря работе с метаданными и своей возможности масштабироваться, не проседая под нагр...

Создаем отдел джунов в помощь основным командам, используя лишь Slack, Jira и синюю изоленту Почти вся команда разработки Skyeng, состоящая из более чем 100 человек, работает удаленно и требования к специалистам всегда были высоки: мы искали синьоров, fullstack-девелоперов и мидлов. Но в начале 2019 года мы впервые наняли трех джуниоров. Сделано это было по нескол...

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

Чему не учат в школе: как мы готовим инженеров техподдержки Вот и обещанная “другая история”. Challenge Если бы четыре года назад меня спросили: “Как можно обучать новичков в ИТ отделе/компании?” — я, не задумываясь, выдал бы: “По методу “обезьянка видит — обезьянка подражает”, то есть прикрепите новичка к более опытному сотрудни...

[recovery mode] Бинарные деревья поиска Прелюдия Эта статья посвящена бинарным деревьям поиска. Недавно делал статью про сжатие данных методом Хаффмана. Там я не очень обращал внимание на бинарные деревья, ибо методы поиска, вставки, удаления не были актуальны. Теперь решил написать статью именно про деревья. Пожа...

Server Side Rendering для React App на Express.js На написание этой статьи меня сподвигло отсутствие какого-либо более-менее полного мануала, как же сделать Server Side Rendering для React приложения. Когда я столкнулся с этой проблемой, у меня было 2 варианта это сделать, либо Next.js фреймворк, либо используя Express.js....

RxSwift и корутины в Kotlin — факультатив по мобильной разработке от AGIMA и GeekBrains Знания — это хорошо, просто отлично. Но нужна еще и практика, чтобы можно было использовать полученные данные, переведя их из статуса «пассивное хранение» в статус «активное использование». Каким бы хорошим ни было теоретическое обучение, требуется еще работа «в поле». Ска...

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

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

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

Длинная история путеводителя — как я 5 лет писал сервис для умных пешеходных маршрутов У многих есть один или несколько своих домашних проектов. Это бывают небольшие утилиты, экспериментальные штуки, пробы новых технологий, “убийцы” фейсбуков и много что ещё. Заметно реже такими проектами занимаются долгое время. В статье я поделюсь своим опытом и расскажу ка...

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

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

Как настроить уведомления на iPhone Уведомления являются полезной и важной частью iPhone и iOS, но их легко пропустить, не увидить. Главное — активировать уведомления только для тех приложений, которые вам нужны, или сгруппировать их, чтобы ими было проще управлять. Чтобы получить доступ к настройкам уве...

Хороший, плохой, злой… и другой В ноябре 2014 года я делился с читателями своими мыслями по поводу нового алгоритма агрегирования, названного мной «Среднее с динамическими весами». Трудно представить, но с тех прошло уже 4.5 года. Еще труднее представить, чтобы с тех пор по данной теме у нас не появилось н...

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

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

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

Киберсемантика без SMS и регистрации У меня, как и у многих айтишников, весьма богатая фантазия. И порой я представлял себе (очень красочно и в деталях) как встречаю себя 16-летнего. Что скажу себе. Чему научу. От каких ошибок предостерегу. Знакомая история, да же? Потом я вырос и понял, что жизненный опыт — э...

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

[Перевод] Использование Golang для создания микросервисов в The Economist: ретроспектива Всем привет! Уже 28 мая мы запускаем первую группу по крусу «Разработчик Golang». И сегодня делимся с вами первой публикацией приуроченной к запуску этого курсу. Поехали. Ключевые выдержки The Economist требовалось больше гибкости для распространения контента на все бол...

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

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

Как составить карту путешествия пользователей для службы поддержки и улучшить пользовательский опыт В последнее время подход клиентских путешествий (customer journey) значительно расширил свой охват. Главная цель его применения — улучшение качества обслуживания клиентов, что является чрезвычайно важной инициативой для многих организаций.Обеспечение качественного...

Эксплуатация cookie-based XSS | $2300 Bug Bounty story ⠀Уже на протяжении довольно длительного времени я охочусь за уязвимостями на платформе HackerOne, выделяю некоторое количество времени вне основной работы, чтобы проверить любимые и новые программы. Бесчисленное количество раз приходилось натыкаться на cookie-based XSS уяз...

SKR1.3 + TMC2130 и парковка без концевиков! Всем доброго времени суток! Решил написать как реализовать парковку без концевиков на TMC2130, вдруг кому то пригодится. Оговорюсь сразу, что буду делать только для осей X и Y. Для Z не буду, ибо там у меня BLtouch. Для реализации нам потребуется немного доработать драйвер, ...

Интервью с Александром Макаровым, Yii core team Один из ключевых разработчиков Yii, Александр Макаров(SamDark), выступит на DevConf с докладом про пакетные метрики и я воспользовался возможностью задать несколько интересующих меня вопросов про новую версию Yii, новую ORM, сбор денег на OpenCollective, фулл-тайм open sour...

Разворачиваем Kubernetes на десктопе за несколько минут с MicroK8s Начать работать с Kubernetes не всегда бывает просто. Не у всех есть необходимая для разворачивания полноценного кластера Kubernetes инфраструктура. Для локальной работы Kubernetes предлагет утилиту Minikube. Minikube — достаточно простое и удобное средство, и есть несколько...

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

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

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

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

Переключатели функциональности (feature toggles): виды, преимущества и работа с ними в .NET Переключатель функциональности — это инструмент, позволяющий переключаться со старой функциональности на новую, не пересобирая приложение и не выпуская его заново. Реализуется добавлением в код условного оператора (if), который дает возможность управлять поведением программ...

[Из песочницы] OS1: примитивное ядро на Rust для x86 Я решил написать статью, а если получится — то и серию статей, чтобы поделиться своим опытом самостоятельного исследования как устройства Bare Bone x86, так и организации операционных систем. На данный момент мою поделку нельзя назвать даже операционной системой — это неболь...

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

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

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

[Из песочницы] Figma — как единая точка правды в дизайне Как мы построили все процессы разработки и внедрения дизайна вокруг одного инструмента. Привет! Я — Ваня Соловьёв, дизайн-директор в DocDoc (входит в группу Сбербанк). Сегодня рубрика Тим-тим, в которой я расскажу, как мы уживаемся с другими командами. В 2017 году наши интер...

[Из песочницы] «Брендированные» флешки. Кот в «брендовом» мешке Недавно у одного моего знакомого случился неприятный казус. Его сын делал школьное домашнее задание по информатике, но результат его трудов исчез. Ребенок использовал в качестве носителя информации USB-флешку, на которой был нанесен логотип фирмы моего знакомого, и вот именн...

Autodesk Maya: полезные базовые функции для работы с 3Д моделями Недавно я столкнулся лицом к лицу с таким зверем как Autodesk Maya. За плечами у меня не было опыта в работе с 3Д моделированием и пришлось в экстренном порядке прокачиваться, начиная с основ, а также ознакомится с функциональностью данного ПО, чтобы проверить работу плагина...

[Из песочницы] GridmiAPI — простая и гибкая библиотека Android для работы с REST&RPC Здравствуйте, хабровчане! Когда занимаешься разработкой сетевых приложений под платформу Android, понимаешь, что одно и другое приложение похоже друг на друга. С этой мыслью у большинства разработчиков инициализируется и другая мысль — «Почему бы мне не использовать какие-л...

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

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

[Из песочницы] Легкое создание отчетов на C/C++ Если вы разрабатываете на C/C++ какое-либо ПО для операторов (администраторов) больниц, магазинов, сервисов проката гироскутеров, ремонта сотовых телефонов, то наверняка сталкивались с задачей создания отчетов, чтобы печатать их на принтере, ну или хотя бы в PDF. Существует ...

WAL в PostgreSQL: 4. Настройка журнала Итак, мы познакомились с устройством буферного кеша и на его примере поняли, что когда при сбое пропадает содержимое оперативной памяти, для восстановления необходим журнал предзаписи. Размер необходимых файлов журнала и время восстановления ограничены благодаря периодически...

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

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

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

Байки про суровое российское ИТ и жертв цифровизации Россия иррациональна. Есть правильные практики, есть сто раз ощупанные грабли, но всё равно с завидным постоянством случается что-то эпическое. Иногда по причине: «Ну уж меня-то точно пронесёт», иногда: «Всегда так делали, и работало», иногда просто из-за ошибок. Возможно,...

Лучшие free-to-play игры на Android Кто-то со мной не согласится, но я считаю это отличным, что прошли те времена, когда бесплатные игры были в большинстве своем непритязательными казуалками и для того, чтобы по-настоящему насладиться дорогой и продуманной игрой на своем мобильном устройстве, нужно было запла...

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

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

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

[Перевод] Деплоим ML проект, используя Flask как REST API, и делаем доступным через приложение на Flutter Введение Машинное обучение уже везде и, пожалуй, почти невозможно найти софт, не использующий его прямо или косвенно. Давайте создадим небольшое приложение, способное загружать изображения на сервер для последующего распознавания с помощью ML. А после сделаем их доступными ...

Интеграционное тестирование микросервисов на Scala Unit-тестирование — это замечательно, но его одного бывает недостаточно. Часто хочется дополнительно убедиться, что запущенное приложение будет работать. На помощь приходит интеграционное тестирование. Оно все чаще применяется для тестирования сервисов, а Docker позволяет уд...

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

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

Redux. Простой как грабли Мне уже доводилось заглядывать в репозиторий библиотеки redux, но откуда-то появилась мысль углубиться в его реализацию. Своим в некотором роде шокирующим или даже разочаровывающим открытием я хотел бы поделиться с сообществом. TL;DR: базовая логика redux помещается в 7 ст...

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

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

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

Разработка простейшей «прошивки» для ПЛИС, установленной в Redd, и отладка на примере теста памяти Как-то у меня не получается выражать свою мысль коротко. Прошлой осенью возникло желание рассказать поподробнее про освоенную мною архитектуру PSoC, что вылилось в цикл статей про неё. Сейчас я участвую в подготовке аппаратной части для нашего комплекса удалённой отладки Red...

Nomad: проблемы и решения Первый сервис в Nomad я запустил в сентябре 2016 года. На данный момент пользуюсь как программист и занимаюсь поддержкой как администратор двух Nomad кластеров — один "домашний" для своих личных проектов (6 микро-виртуалок в Hetzner Cloud и ArubaCloud в 5 разных датацентрах ...

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

Немного о лексическом анализе Давным-давно, когда небо было голубым, трава зеленее и по Земле бродили динозавры… Нет, забудьте про динозавров. Ну, в общем, когда-то тогда пришла в голову мысль отвлечься от стандартного web-программирования и заняться чем-то более безумным. Можно было, конечно, чем угод...

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

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

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++ В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн...

Как технологии быстрой разработки могут стать источником неприятных уязвимостей Безопасность на реальных примерах всегда более интересна. Как тестировщик на проникновение, люблю, когда приходят проекты, построенные на фреймворках быстрой разработки (Rapid development), подобно Ruby-on-Rails, Django, AdonisJs, Express и так далее. Они позволяют очень бы...

[Перевод] Монада «Reader» через async/await в C# В моей предыдущей статье я описал, как реализовать паттерн "Монада Maybe" с помощью операторов async / await. В этот раз я расскажу, как реализовать другой популярный шаблон проектирования "Монада Reader", используя те же приемы. Этот шаблон позволяет неявно передать некий ...

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

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

Исаак Калина: в школах Москвы появится мотивирующая образовательная среда для подростков В рамках начавшегося 29 августа международного форума «Город образования» глава столичного образовательного ведомства Исаак Калина объявил о том, что во всех школах мегаполиса будет создана мотивирующая образовательная среда для подростков «МОС». Тем самым, у старшеклассник...

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

[Из песочницы] Реверс-инжиниринг электрокарниза AM82TV Есть у меня пара электрокарнизов компании Akko — AM82TV. Модель эта выделяется из собратьев наиболее полным набором интерфейсов управления. Шторами можно управлять по радиоканалу, есть “сухие контакты”, пофазное управление (замыканием управляющих проводов с сетевыми). Есть и...

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

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

Как быстро делать прототипы устройств и почему это важно. Доклад Яндекс.Такси Любой технически сложный hardware-проект — всегда уравнение с множеством неизвестных: платформа, компоненты, технологии, производство, функциональность, реализуемость. «Пощупать», что получается, можно, когда пройдены дорогостоящие этапы: R&D, выбор комплектующих, разраб...

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

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

Внедряем OSGI на платформе Karaf OSGI это не сложно Я много раз встречал мнение, что OSGI это сложно. И более того, у самого когда-то такое мнение было. Году в 2009, если быть точным. На тот момент мы собирали проекты при помощи Maven Tycho, и деплоили их в Equinox. И это действительно было сложнее, чем раз...

По следам Industrial Ninja: как взламывали ПЛК на Positive Hack Days 9 На прошедшем PHDays 9 мы проводили соревнование по взлому завода по перекачке газа — конкурс Industrial Ninja. На площадке было три стенда с различными параметрами безопасности (No Security, Low Security, High Security), эмулирующих одинаковый индустриальный процесс: в воз...

[Из песочницы] Jenkins для Android сборки, с помощью Docker Всем привет! Я работаю андроид разработчиком, и не так давно мы столкнулись с некоторыми рутинными задачами на своем проекте, которые хотелось бы автоматизировать. Например у нас 5 разных flavor, для каждого из которых требуется загружать свой билд на fabric, иногда для раз...

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

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

Монтаж систем видеонаблюдения: красивые и злополучные истории с камерами VSaaS-провайдер принимает на себя все заботы по обслуживанию ПО и оборудования, а это значит, что когда приходит время взять в руки гофры, кабели и стриппер, мы забываем про облако и работаем «в поле» – иногда в прямом смысле слова. Приятно в теплом офисе работать на сте...

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

Kubernetes tips & tricks: о локальной разработке и Telepresence Нас все чаще спрашивают про разработку микросервисов в Kubernetes. Разработчики, особенно интерпретируемых языков, хотят быстро поправить код в любимой IDE и без ожидания сборки/деплоя увидеть результат — по простому нажатию на F5. И когда речь шла про монолитное приложени...

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

Какими будут AirPods 3 и кто их конкуренты? Рендер графического дизайнера Майкла Риплхубера по мотивам пиктограммы из iOS 13.2 beta Энтузиасты на днях нашли в бета-версии iOS 13.2 пиктограмму с изображением новой версии AirPods. До этого появились «слитые» фотографии с частями новых наушников, которые тогда все принял...

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

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

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

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

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

174 игры в Steam получили поддержку сенсорного управления Логотип игрового сервиса Steam Технология Steam Remote Play позволяет пользователям популярного сервиса играть в игры с компьютера, транслируя их на планшет, смартфон или телевизор. Это очень удобно: телевизор находится в одной комнате, а компьютер в другой. И он занят. При ...

[Перевод] Списки захвата в Swift: в чём разница между ссылками weak, strong и unowned? Джозеф Райт, «Пленный» — иллюстрация «сильного» захвата Список «захваченных» значений находится перед списком параметров замыкания и может «захватить» значения из области видимости тремя разными способами: используя ссылки «strong», «weak» или «unowned». Мы часто его испол...

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

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

[Перевод] Комбинирование Signed Distance Fields в 2D В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки ...

MVCC-7. Автоочистка Напомню, что мы начали с вопросов, связанных с изоляцией, сделали отступление про организацию данных на низком уровне, подробно поговорили о версиях строк и о том, как из версий получаются снимки данных. Затем мы рассмотрели внутристраничную очистку (и HOT-обновления), обыч...

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

Поездка в call-центр и Product Backlog глазами разработчика Служба поддержки — это то место, в которое пользователи обращаются, чтобы помочь вам создать лучший продукт. Конечно, в том случае, если вы готовы их слушать. Ежемесячно нам поступает более 175 000 обращений в поддержку, что можно сравнить с населением целого Петропавловска-...

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

Apple Watch не подключаются к iPhone 5s, 6 и 6 Plus? Так и задумано Почему не стоит устанавливать watchOS 6 Вас когда-нибудь обманывали? Если да, то вы должны знать то жгучее ощущение досады, которое потом ещё долго не хочет уходить. Но одно дело, если были задеты только чувства, и совершенно другое, если вместе с душой обчистили ещё и содер...

[Из песочницы] Немного опыта про backup & storage Всем привет! Некоторое время назад я окунулся в мир «сурового энтерпрайза», а именно в ту его область что отвечает за хранение и резервное копирование данных. Точнее говоря в нее больше всего. И за этот срок у меня накопилось несколько правил, которых я стараюсь придерживат...

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

Новый сотрудник — dead or alive Всем привет! Продолжаю рассказывать об опыте управления в IT. Сегодня поговорим о вводе нового сотрудника в команду. Вы взяли инженера в штат. Когда он станет полноценной боевой единицей? Что делать, чтобы ускорить его адаптацию? Как оптимизировать этот процесс? В конце конц...

Kubernetes для автомобиля: как открыть разработчику доступ к бортовому компьютеру и сделать это безопасно Это история в двух частях — о новом витке развития automotive. Эта «серия» посвящена собственной разработке EPAM – Aos Connected Vehicle Platform. Алекс Агизим, CTO, Automotive & Embedded Systems, объясняет, чем она отличается от традиционного облачного решения и как дае...

Книга «Swift. Основы разработки приложений под iOS, iPadOS и macOS. 5-е изд. дополненное и переработанное» Привет, Хаброжители! Язык Swift молод, он растет, развивается и изменяется, хотя основные подходы к программированию и разработке уже сформировались. В новом, пятом издании книги была полностью переработана первая часть книги, что делает знакомство с языком Swift более комф...

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

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

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

Samsung передумала. Компания всё-таки обновит Galaxy S8 до Android 10 Galaxy S8 по меркам рынка Android-смартфонов уже довольно стар, но Samsung решила продлить его поддержку Стандартный период обновления флагманского смартфона равен двум годам. За это время производитель обязан выпустить для аппарата как минимум две новых версии Android, посл...

Custom refactoring tool: Swift Любой инженер стремится сделать процесс своей работы максимально оптимизированным. Нам, как мобильным разработчикам iOS, очень часто приходится работать с однообразными структурами языка. Компания Apple улучшает инструменты разработчиков, прилагая много усилий, чтобы нам был...

Google решила скрыть одну из лучших функций Android Q В первой бета-версии Android Q Google решила усовершенствовать многозадачность мобильной ОС и добавила в нее такой инструмент, как «пузыри», или Bubbles. Благодаря им можно быстро и с комфортом отвечать на входящие сообщения в мессенджерах без необходимости запускать само п...

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

Для кого нужны курсы JavaScript, (JS) и где их пройти в Харькове В настоящее время компьютерные технологии развиваются как никогда стремительно. Поэтому не удивительно, что специалисты в сфере IT-технологий сегодня предельно востребованы. Множество разных компаний находятся в поиске специалистов данной сферы деятельности, которые в полной...

Как перенести файлы между Mac и Android Предположим, у вас есть MacBook или любой другой компьютер Mac и мобильный телефон Android, и вы хотите перенести файлы с MacBook на устройство Android. Если вы захотите использовать USB-кабель, вы не сможете передавать файлы с Mac на Android из-за несовместимости двух платф...

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

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

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

[Перевод] Лучшие нововведения социальных сетей в 2018 году И снова здравствуйте! Совсем немного времени остается до запуска нашего курса «SMM-специалист», в рамках которого вы узнаете о последних тенденциях и обучитесь работе с самыми актуальными инструментами онлайн-маркетинга для продвинутых специалистов. О трендах 2019 года пог...

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

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

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

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

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

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

[Из песочницы] Extension в Dart (Flutter) В недавном релизе языка Dart 2.6 в языке появилась новая функция, static extension или статические методы расширения, который позволяет вам добавить новые методы к существующим типам. Зачем вообще нужны extension? Как их использовать и на что они годятся? Введение Начнём ...

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

В библиотеке jQuery устранена серьезная уязвимость В jQuery закрыта уязвимость, которая позволяет провести DoS-атаку или получить права администратора веб-приложения, использующего эту JavaScript-библиотеку на стороне клиента. Эксперт по кибербезопасности Лиран Тал (Liran Tal) из Snyk обнаружил брешь 26 марта; пропатченная в...

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

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

Новая версия программы для калибровки дельта-принтера Nameless 1.0.3 Завершил исправление багов. Программа предназначена для калибровки дельта-принтера с прошивкой Repetier под Windows.Требуется .NET Framework 4.5.2 и вышеUPDATE 2019-01-04 v1.0.3Улучшена стабильностьУлучшена работа с потокамиИсправлены ошибки в измерении высотДоработан интерф...

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

Опять обман? Реальные фотографии, сделанные на iPhone 11 с функцией Deep Fusion Мы уже публиковали первые примеры фотографий, которые были сделаны на камеру смартфонов iPhone 11 и iPhone 11 Pro с активной функцией Deep Fusion. Разница в снимках есть, особенно если сравнивать со смартфонами предыдущего поколения. Однако чем больше отзывов появляется...

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

Глава Qualcomm рассказал, какие устройства будут после смартфонов Умные очки не заменят смартфоны полностью, но будут выполнять часть их функций Прямо сейчас рынок смартфонов претерпевает серьёзные изменения. Большинство пользователей больше не интересуют флагманские аппараты, и они покупают устройства среднего ценового сегмента, которые в...

Почему Apple выпустила бету iOS 13.1 до релиза iOS 13 Почему iOS 13.1 вышла так рано? У Apple были причины В начале этой недели Apple выпустила первую бета-версию iOS 13.1. Сначала все решили, что в Купертино просто ошиблись в нумерации апдейтов и в скором времени выпустят патч, который вернёт все в исходное состояние. Однако и...

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

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

Как простой <img> тэг может стать высоким риском для бизнеса? Безопасность на реальных примерах всегда интересна. Сегодня поговорим об SSRF атаке, когда можно заставить сервер делать произвольные запросы в Интернет через img тэг. Итак, недавно занимался тестированием на проникновение одновременно на двух проектах, сразу на двух э...

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

Apple отложила выход watchOS 6 для некоторых Apple Watch watchOS 6 выйдет 19 сентября, но не для всех Долгая и стабильная поддержка своей продукции — это то, за что пользователи любят Apple. Даже новички знают, что, уж если компания выпускает новую версию операционной системы, значит, она незамедлительно будет доступна на вс...

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

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

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

Штаб-квартира Xiaomi креативно отметила первое место Xiaomi Mi СС9 Pro в рейтинге DxOMark Xiaomi Mi CC9 Pro и Xiaomi Mi Watch вместе на живых фото, распаковка и содержимое стандартного комплекта Xiaomi Mi CC9 Pro Кроме того, китайские журналисты сразу же после пресс-конференции Xiaomi начали выкладывать живые фотографии и видеоролики с участием умных часов ...

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

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

На сцене вновь лауреаты международных конкурсов SSH и sudo. Под рукодством заслуженного дирижера Active Directory Исторически сложилось, что sudo права регулировались содержимым файлов из /etc/sudoers.d и visudo, а авторизация по ключам велась с использованием ~/.ssh/authorized_keys. Однако с ростом инфраструктуры возникает желание управлять этими правами централизованно. На сегодняшний...

Митап по PHP в Иванове Привет, Хабр! Мы рады сообщить, что уже в эту субботу в офисе компании Инвольта состоится митап на тему: “PHP: Неправильный путь. Почему важно знать инструменты Native PHP сегодня. Личный опыт разработчика Rambler.” Как уже понятно из темы, на митапе мы будем говорить про ...

У некоторых пользователей заработала тёмная тема в Google Assistant и Поиске В последнее время очень много тем в интернете касается темной темы. Я бы даже назвал ее вездесущей и назойливой, так как многие компании поняли, что благодаря этому лишний раз можно обратить на себя внимание начали добавлять ее во все свои продукты. Одной из таких компаний ...

[Из песочницы] Typescript и react Разработка на javascript иногда становится похожа на работу детектива. Как понять чужой код? Хорошо, если разработчик обладает тонким искусством называть переменные так, чтобы другие поняли суть. А как быть, если члены команды все таки не всегда способны понять замысел своег...

WT2 Plus — гарнитура-переводчик для общения на разных языках в реальном времени Как было бы здорово, если бы при посещении других стран мы не испытывали проблему языкового барьера. Частично решить её попытались в компании TimeKettle Technologies, которая привезла на CES 2019 свою новую разработку — беспроводную гарнитуру-переводчик WT2 Plus. Внешне...

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

Google рассказала, зачем нужен новый режим Google Assistant Ambient Mode — это стационарный режим использования Google Assistant, но не стоит путать его с умным дисплеем Почти у каждой компании есть продукт или даже целый модельный ряд, который она развивает гораздо активнее других. К примеру, для Apple этим продуктом является ...

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

[Из песочницы] Методы сжатия/хранения медиа данных в форматах WAVE и JPEG, часть 1 Здравствуйте! Моя первая серия статей будет направлена на изучение методов сжатия и хранения изображений/звука, таких как JPEG (изобр.) и WAVE (звук), также в них будут примеры программ с использованием этих форматов (.jpg, .wav) на практике. В этой части мы рассмотрим именн...

Lerdge K и 3d touch автоуровень (от TriangleLab) на Ender 3 или любом другом принтере. Наконец-то выдалась минутка поделится своими 'мучениями'. Статья уже неск. мес. в черновиках.Речь пойдет о популярной нынче плате Лердж К и не менее популярном датчике, клоне bl touch, 3д таче.И не надо тут спорить, зачем и почему. Я так захотел, потому что у меня есть для э...

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

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

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

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

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

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

Предварительный обзор ASUS StudioBook S. Тонкая рабочая станция В последнее время мы все привыкли к тому, что для работы есть один ноутбук — MacBook Pro. Конечно, можно взять и более тонкую легкую версию, но она не даст вам такого набора возможностей и производительности в программах. С другой стороны, нужно понимать, что на рынке есть м...

Klipper TMC2208 UART Не большое продолжение темы TMC2208 v2 UART.Многих заинтересовала тема прошивки Klipper и UART. Что-ж, попробую удовлетворить спрос.Для чего? Сами по себе драйвера тихие, но глючные и слабые из-за своего автоматического режима работы и частым явлением является пропуск шагов....

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

О новых стандартах C++ Сегодня у меня довольно короткий пост. Я бы его и не писал, наверное, но на Хабре в комментах довольно часто можно встретить мнение, что плюсы становятся хуже, комитет делает непонятно что непонятно зачем, и вообще верните мне мой 2007-й. А тут такой наглядный пример вдруг п...

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

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

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

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть четвертая. Общие понятия обработки Начав писать про стратегии обработки, я понял что творю «обезьяний набор» — пошаговое руководство даже не для чайников, а для идиотов, мои шаги повторить можно, сделать свои по образцу тоже, но понимания не добавляется. В свое время, когда я внезапно решил стать фрезеровщико...

Samsung Galaxy Tab S6 — самый мощный Android-планшет на сегодняшний день В разработке и производстве планшетов Android уже давно наметился медленный спад. Как правило, они составляют слишком слабую конкуренцию современным смартфонам, часто бывают очень дорогими, а порой даже запускаются с устаревшими спецификациями. В связи с этим бывает довольно...

Apple планирует выпустить приложения нового поколения для Windows Apple планирует заняться разработкой ПО нового поколения под Windows Этим летом Apple сделала то, чего от неё ждали уже много лет – она отказалась от iTunes. Само собой, прекратила существование только утилита, тогда как онлайн-магазин с музыкой и фильмами, а также её ключев...

Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации У нас в True Engineering на одном проекте назрела необходимость в смене версии PostgreSQL с 9.6 на 11.1. Зачем? База данных на проекте уже объемом 1,5 Tb и растет. Перформанс – одно из основных требований к системе. А сама структура данных эволюционирует: добавляются новые...

Action Mobil Zetros 5000 — дом на колесах для самых суровых путешественников Мой дом – моя крепость, только в XXI веке она должна быть еще и мобильной, а также обладать качествами вездехода, чтобы по приказу увезти своих владельцев подальше от суетливого мира. Mercedes и Action Mobil запускают в продажу автомобиль Pure 5000 Zetros, который позиционир...

[Из песочницы] Как я создаю сервис рекомендаций сообществ ВКонтакте Лето заканчивалось, шёл особенно холодный август. Начинался мой 11 класс и я осознал, что сейчас последний шанс (спойлер: нет) на то, чтобы как-то улучшить свою профессиональную компетенцию. Уже несколько лет я усердно делал разные IT проекты, какие-то один, какие-то в колле...

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

О чем думать на NALSD собеседовании Я описывал ранее типичное кодинг-интервью. Помимо кодинга почти всегда есть вопрос на проектирование систем. (Large) System Design. В случае собеседований на SRE, это еще более интересный (как по мне) зверь — NALSD. Non-abstract large system design. Главное отличие между SWE...

Какая оболочка для Android-смартфонов самая быстрая EMUI 10 — самая быстрая оболочка для Android. Интересно, почему? Одной из основных характеристик, на которую пользователи Android всегда обращали внимание при выборе нового смартфона, была скорость его работы. Видимо, так в них отзывалась память о временах, когда аппар...

Пробую .NET Core + Kubernetes + appmetrics + prometheus + grafana + jobs + health checks Краткое знакомство с kubernetes для разработчиков на примере разворачивания простого шаблонного сайта, с постановкой его на мониторинг, выполнением джобов по расписанию и health checks (все исходники прилагаются) — Установка Kubernetes — Установка UI — Запуск своего прил...

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

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

Инструменты информирования или как мы рассказываем о своих сервисах и процессах Хабр, привет! Все, кто работал хотя бы в одной крупной территориально распределенной компании с сетью филиалов по всей стране, сталкивался с проблемой: «Как проинформировать заинтересованные лица об услугах и сервисах, которые вы предоставляете в рамках своего подразделения...

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

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

Видишь данные? Нет. Вот и я не вижу, а они есть. Уничтожаем данные на SSD-накопителях, да ещё и скорость восстанавливаем Любой из нас сталкивался с ситуацией, когда требовалось восстановить данные, будь то что-либо не особо важное или же, наоборот, критически необходимое для достижения определённых целей. Но немногие пользователи задавали себе вопрос: «А что, если кто-то восстановит мои личные...

WAL в PostgreSQL: 3. Контрольная точка Мы уже познакомились с устройством буферного кеша — одного из основных объектов в разделяемой памяти, — и поняли, что для восстановления после сбоя, когда содержимое оперативной памяти пропадает, нужно вести журнал предзаписи. Нерешенная проблема, на которой мы остановились...

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

Управляем android устройством Это уже третья попытка подружить умный дом с android, напомню, что первая попытка контролировать android устройства посредством HTTP, была с помощью приложения Paw Server. Данное приложение позволяло с помощью языка BeanShell встраивать свой код в xhtml страницу и взаимоде...

3D взмывает ввысь: создан новый композит для аэрокосмоса, снизивший вес деталей на 20% Аддитивное производство металлических деталей становится все более востребовано, и неудивительно: по сравнению с традиционными промышленными технологиями, такими как литье, порошковая металлургия и механическая обработка, «аддитивка» позволяет создавать детали сложной формы,...

[Перевод] Любопытные извращения из мира ИТ — 2 Сайт The Daily WTF уже 14 лет собирает курьёзные, дикие и/или печальные истории из мира ИТ. Я перевёл несколько рассказов, показавшихся мне интересными. Все имена и названия компаний изменены. Первая часть находится здесь. История первая. Назло бабушке... [Оригинал] Клайв ...

opencv4arts: Нарисуй мой город, Винсент OpenCV — библиотека с историей непрерывной разработки в 20 лет. Возраст, когда начинаешь копаться в себе, искать предназначение. Есть ли проекты на ее основе, которые сделали чью-то жизнь лучше, кого-то счастливее? А можешь ли ты сделать это сам? В поисках ответов и желании ...

DevOops вчера и сегодня Сегодня мы поговорим немного о настоящем, будущем и о программе конференции DevOops 2019.  DevOps меняется с каждым днём. Вы помните 2004 год? У нас есть спикер, который работал с облаками в то время, когда и термина такого не было. Amazon Web Services запустили в 2006 году....

[Перевод] Почему SvelteJS возможно лучший фреймворк для новых веб-разработчиков Любой веб-разработчик, который занимается этим хотя бы несколько лет, наверняка день за днем слышит подобный вопрос: Я действительно хочу стать веб-разработчиком, но я не знаю с чего начать. Есть какие-то предложения? Лет 10 назад ответ был очень прост. Просто создайте in...

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

Не очередной язык программирования. Часть 2: Логика представлений Вторая часть трилогии о языке и платформе lsFusion. Первую часть можно найти тут. В ней речь пойдет о логике представлений, а именно обо всем том, что связано с объединением данных и отображением их пользователю или другим информационным системам. Читать дальше →

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

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

Сравнение компараторов для синхронизации схем и данных баз данных MS SQL Server Описание общей потребности в синхронизации изменений При работе с базами данных часто приходится решать проблему синхронизации изменений. Если в компании используется всего одна промышленная среда, то в дополнение к ней требуется как минимум еще одна дополнительная среда для...

Аппетиты растут. Новый Windows 10 требует от ПК как минимум 32 ГБ памяти Компания Microsoft продолжает готовится к запуску следующего крупного обновления Windows 10. Если с момента выпуска Windows 10 в 2015 году системные требования сохранялись на одном уровне, то с релизом Windows 10 May 2019 Update (версия 1903) эта ситуация изменится.&nbs...

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

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

Вот чем отличаются режимы Night Mode и Pro Mode в камере Galaxy S10 Многие фанаты просили Samsung предоставить для камеры Galaxy S10 специальный режим для ночной съемки. Первая версия ночного режима в камере Galaxy S10 пользователей совсем не впечатлила, и поэтому было приятно видеть, что Samsung на этом не остановилась, выпустив еще одно о...

Говорящая Мона Лиза. Samsung создала систему, позволяющую «оживлять» изображения Известный китайский инсайдер Ice Universe опубликовал несколько интересных видеороликов, которые связаны с новой интеллектуальной системой генерации мимики на основании всего лишь одного изображения. Источник отмечает, что южнокорейская компания Samsung за последнее вр...

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

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

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

[Из песочницы] Что такое быть Team Leader Всем привет! Меня зовут Артур Дементьев, я бы хотел поделиться личным опытом и написать несколько статей о том, что из себя представляет менеджмент в IT. А также рассказать о том, на какие грабли наступал и каких ошибок можно было избежать. Все статьи я буду писать, основыва...

Вышла новая ОС на базе Android без сервисов Google Разработчик операционной системы /e/ Когда Huawei на презентации флагманского Mate 30 объявила, что смартфон будет поставляться без сервисов Google, по всему было видно, что компании неприятно об этом говорить. Несмотря на то что китайцы подготовились к этому как могли, ни о...

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

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

[Из песочницы] Упрощаем работу с базами данных в Qt с помощью QSqlRelationalTableModel Доброго времени суток, Хабровчане! В этой статье я хочу рассказать о своем опыте упрощения взаимодействия с базами данных SQL при разработке десктопного приложения с помощью класса QSqlRelationalTableModel кроссплатформенной библиотеки Qt. Пролог С Qt я познакомился еще буд...

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

Похоже, Samsung всё же не будет производить для Intel процессоры Вчера в Сети появилась информация о том, что Intel договорилась с Samsung о том, чтобы последняя производила для процессорного гиганта грядущие CPU Rocket Lake, выход которых намечен на 2021 год. Похоже, что этого не будет. Источник утверждает, что Samsung и Intel дейст...

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

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

Когда вредно хешировать ПредисловиеДанный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft re...

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

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

iFixit разобрали клавиатуру нового MacBook Pro 16″. Как она изменилась Клавиатура «ножницы» вернулась в MacBook Pro спустя 5 лет. Это хорошая новость Apple крайне неохотно признаёт свои ошибки. Пожалуй, лучший тому пример – клавиатура «бабочка», которую в Купертино пытались реанимировать на протяжении четырёх лет, и всё ради того, что...

Как менялась новая игра Remedy: сравнение прототипа Control с демоверсией для Е3 2018 Игроки любят сравнивать ранние демонстрации игр с версиями, близкими к релизной. Чаще всего — чтобы обвинить разработчиков в ухудшении графики и упрощении геймплейных возможностей. Сотрудники Remedy Entertainment настолько уверены в качестве своего нового прое...

Адаптация программ для ZX Spectrum к TR-DOS современными средствами. Часть 1 В отличие от современных компьютеров, на спектрумах понятия файловой системы не было как такового. Это значит, что загрузка с каждого типа носителя требовала отдельной реализации и в большинстве случаев программу нельзя было просто так скопировать с кассеты на дискету. В слу...

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

Нахождение объектов на картинках Мы занимаемся закупкой трафика из Adwords (рекламная площадка от Google). Одна из регулярных задач в этой области – создание новых баннеров. Тесты показывают, что баннеры теряют эффективность с течением времени, так как пользователи привыкают к баннеру; меняются сезоны и тре...

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

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

SMS-мониторинг веса трех ульев за 30$ Нет, это не коммерческое предложение, такова стоимость комплектующих системы, которую Вы сможете собрать после прочтения статьи. Немного предыстории: Некоторое время назад я решил завести пчел, и они таки появились… на целый сезон, но не вышли из зимовки. И это несмотря на ...

Предварительный обзор Samsung Galaxy S10+. Улучшеная версия флагмана Совсем недавно компания Samsung официально представила свои новые флагманы, которые поразили аудиторию своими возможностями и характеристиками. Мы уже рассказали вам про базовую версию флагмана, теперь пришло время посмотреть на Samsung Galaxy S10+ — это более продвинутый ва...

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

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

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

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

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

Мой первый опыт восстановления базы данных Postgres после сбоя (invalid page in block 4123007 of relatton base/16490) Хочу поделиться с вами моим первым успешным опытом восстановления полной работоспособности базы данных Postgres. С СУБД Postgres я познакомился пол года назад, до этого опыта администрирования баз данных у меня не было совсем. Я работаю полу-DevOps инженером в крупной IT-к...

Security Week 42: аппаратные бэкдоры, уязвимость в Intel NUC Уязвимости в ПО низкого уровня, которое запускается до загрузки операционной системы, бывают не только в «айфонах». На прошлой неделе были закрыты уязвимости в прошивках двух популярных устройств — в игровой и медиаприставке Nvidia Shield TV и в компьютерах семейства Intel N...

Huawei нашла способ вернуть сервисы Google в свои новые смартфоны Honor 9X — пример того, как можно обойти правила Google Кажется, уже все знают про то, что США наложили на Huawei санкции, запретив ей сотрудничать с американскими предприятиями. Из-за этого китайский производитель лишился возможности устанавливать на свои смартфоны се...

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

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

[Из песочницы] Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Уважаемые друзья! Мы решили поделиться с Вами бюджетным готовым решением, надеемся Вы оцените наши старания. Решение проверенное, рабочее. Во вложении можно скачать все файлы программ и настройки. Отдаем все бесплатно. Умный дом для заказчика в основном «игрушка» которым м...

Мнение: почему я больше не пользуюсь iMessage Все любят iMessage. Пользователи iPhone испытывают к нему теплые чувства, потому что именно он был их первым мессенджером, несмотря на то что Telegram и WhatsApp уже существовали. А поклонники Android мечтают о нём из-за его недосягаемости. Но если раньше iMessage, в общем-...

Правильный Redmi Note 8T с NFC уже продается в Европе Пока все ждут официального анонса смартфона Redmi Note 8T от официальных представителей Xiaomi и Redmi, некоторые магазины не только начали принимать предзаказы, но и уже сообщили о наличии новинки на складах. Так, например, испанский онлайновый магазин powerplanetonli...

Как могла бы выглядеть macOS в стиле iOS macOS была бы привлекательнее, если бы выглядела как iOS Вам нравится, как развивается macOS? Несмотря на то что Apple ежегодно оснащает настольную операционку новыми функциями, которые расширяют её возможности всё больше и больше, её внешний вид по большому счёту не меняетс...

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

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

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

[Перевод] Как решить «Сапёра» (и сделать его лучше) «Сапёр» (Minesweeper) — это простая игра с простыми правилами, однако некоторые её конфигурации создают любопытные трудности. В этой статье мы создадим солвер «Сапёра» с увеличивающейся сложностью, и поразмышляем над тем, как меняется динамика игры при постепенном повышении...

Tevo Nereus у новичка - наблюдения и вопросы за первую неделю использования Добрый день! Когда выбирал принтер, про нереус было написано немного, и я долго сомневался, покупать именно его или допиливать торнадо, другие варианты по субъективным причинам не рассматривал. Сейчас бы хотел поделиться своим личным опытом использования за неделю:1) Сейчас ...

Дизельный малыш ТГК2 в масштабе 1/87 Еще только начав знакомится 3d моделированием, пытался я сделать модель промышленного тепловоза ТГК2. Маленький, узнаваемый, с довольно простыми формами. На тот момент рисовал я в Sketchup и получилась вот такая поделкаДалее Sketchup был благополучно заброшен и осуществлен п...

[Из песочницы] Проблемы и нюансы при разработке под SmartTV с использованием React.js Хочу поделиться опытом разработки приложения с просмотром видео контента для SmartTV (Tizen и WebOS) и с какими проблемами мы столкнулись. На современных телевизорах, как мы знаем, можно устанавливать разные приложения, для облегчения работы с какими-то ресурсами и контенто...

[Перевод] Делаем стильный водопад из RiME прямо в Unity или UE4 Есть игры с таким запоминающимся визуалом, что страшно считать потраченное на его разработку время, взять хотя бы последний God of War или RDR2. А бывают проекты, которые подкупают своей атмосферной, даже если они далеки от ААА. Как пример — RiME не раз хвалили за стиль, зву...

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

Четыре крутых приложения для электронной почты на iOS Приложения для электронной почты являются популярной категорией в App Store по одной простой причине — почти всем нам нужен доступ к письмам на iPhone и iPad. В то время как у Apple есть собственное приложение Mail, интегрированное в iOS, некоторые пользователи хотят ...

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

Patch’ти — не считается: сказ о патч-менеджменте в лицах и красках Наверно, все SOC-аналитики спят и видят, как их детектирующие правила отлавливают модные техники проправительственных APT-группировок, а расследования приводят к обнаружению эксплойтов для zero-day уязвимостей. К сожалению (или к счастью), большая часть инцидентов, с которым...

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

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

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

Бенчмарк как основание для принятия решения об изменении кода Билл Кеннеди в одной из лекций своего замечательного курса Ultimate Go programming сказал: Многие разработчики стремятся оптимизировать свой код. Они берут строчку и переписывают ее, говоря, что так станет быстрее. Нужно остановиться. Говорить, что тот или иной код быстрее, ...

Haptic Touch против 3D Touch: в чем разница? С iPhone 11, 11 Pro и 11 Pro Max Apple покончила с 3D Touch во всей линейке iPhone, заменив прежнюю функцию 3D Touch на Haptic Touch. В этом руководстве мы рассмотрим все, что вам нужно знать о Haptic Touch и о том, чем он отличается от функции 3D Touch, доступной со времен ...

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

Озера с радиоактивными отходами на территории России и опыт их ликвидации Продолжу тему накопленных в нашей стране радиоактивных материалов написанной месяц назад статьей. В отличие от ОГФУ, сейчас речь о реальных радиоактивных отходах, чей статус никем не оспаривается. В начале года я уже писал об утилизации советский атомных подводных лодок в Пр...

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

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

Книга «Учимся кодить на JavaScript» Привет, Хаброжители! Мы издали книгу для мальчиков и девочек от 10-11 лет которая поможет самостоятельно, без помощи родителей и учителей, написать программный код. Ты любишь играть онлайн? Общаться с друзьями через ВКонтакте, Фейсбук и Инстаграм? Смотреть видеоролики на см...

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

Xiaomi пообещала сделать оболочку MIUI «самой крутой» Xiaomi — одна из немногих компаний, которые ритмично обновляют свои оболочки для смартфонов, и не менее ритмично обновляют старые модели до новых версий интерфейса. На вчерашнем мероприятии Xiaomi Developers Conference 2019 речь зашла и о MIUI. Цяо Чжунлян (Qiao ...

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

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

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

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

Лекарство от всех болезней Современные организации — сложные организмы. В них одновременно протекает множество процессов, взаимодействует бесчисленное число субъектов. Как и в любом сложном организме, в них возникают сбои — что-то идёт не так, как положено, или не идёт вовсе. Как...

Глава Honor объяснил, почему смартфонам не нужны 100-мегапиксельные камеры Камера на 100 Мп — это перебор, уверен гендиректор Honor Камера сегодня является, пожалуй, единственным аспектом современных смартфонов, который хоть как-то развивается. Очевидно, поняв, что больше невозможно выезжать на процессорных ядрах и гигагерцах, которые неожида...

Троянца-кликера установили почти 102 000 000 пользователей Android Троянец представляет собой вредоносный модуль, который по классификации Dr.Web получил имя Android.Click.312.origin. Он встроен в обычные приложения - словари, онлайн-карты, аудиоплееры, сканеры штрих-кодов и другое ПО. Все эти программы работоспособны, и для владельцев Andr...

[Перевод] Создание калькулятора чаевых на Kotlin: как это работает? Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч...

Survival Heroes 1.4.1 Survival Heroes — стрелялка от первого лица, RPG, многопользовательская стратегия — разработчикам из Snail Games удалось создать увлекательную смесь из разных жанров компьютерных игр. Любите эпические истории? Тогда эта игра для вас. Выберите подходящую начальную обла...

[recovery mode] Как сделать мобильную игру командой из 2 человек с нулевым бюджетом и получить фичеринг в Google Play Мы с мужем давно хотели делать игры вместе, но времени на это никогда не хватало. Мы оба работали: он — UI-программистом в геймдеве, я — продакт-менеджером в social media, затем в финтехе, и сил на собственную игру не оставалось. Год назад мы переехали в Канаду и решили, ...

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

Как развернуть SAP HANA: разбираем разные методы SAP HANA — популярная in-memory СУБД, включающая сервисы хранилищ (Data Warehouse) и аналитики, встроенное промежуточное ПО, сервер приложений, платформу для настройки или разработки новых утилит. За счет устранения задержек традиционных СУБД с SAP HANA можно сильно увеличит...

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

Джон Мюллер: как проверить региональную выдачу в Google Во время последней видеовстречи для вебмастеров сотрудник Google Джон Мюллер рассказал, как проверить поисковую выдачу по конкретному региону. Чтобы просмотреть региональную выдачу, нужно открыть локальную версию Google, а затем добавить URL-параметр &gl={код страны}. Дл...

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

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

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

«Это японский УАЗ»: В сети озадачились, какой Toyota Land Cruiser стоит взять за 2,1 миллиона Что делать, если есть только 2,1 миллиона рублей, а хочется «200-ку» или «Прадик» – такая проблема возникла у одного из пользователей социальной сети «Вконтакте». Мнения комментаторов по этому вопросу кардинально разошлись. В сообществе любителей Toyota Land Cruiser Prado а...

Sony утверждает, что теоретически может сделать для камер с креплением E объектив с максимальной диафрагмой f/0,63 Источник опубликовал слайды из недавней пресс-конференции Sony, в ходе которой производитель напомнил, что крепление E изначально было разработано для полнокадровых беззеркальных камер. Хотя первая модель, представленная в 2010 году, была формата APS-C, уже тогда произв...

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

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

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

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

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

Шаг отчаяния: Как Microsoft пытается заставить пользователей устанавливать её приложения В последние годы Microsoft много сделала для Android, и на прошлой неделе многие пользователи были приятно удивлены, когда компания запустила свое приложение Your Phone Companion для зеркалирования уведомлений со смартфона на ПК с Windows 10. Тем не менее, мы живем не в иде...

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

[Из песочницы] Что нужно знать перед переходом на Akka toolkit для реализации Event Sourcing и CQRS Здравствуйте, уважаемые читатели Хабра. Меня зовут Рустем и я главный разработчик в казахстанской ИТ-компании DAR. В этой статье я расскажу, что нужно знать перед тем, как переходить на шаблоны Event Sourcing и CQRS с помощью Akka toolkit. Примерно с 2015 года мы начали прое...

Курс «Основы эффективной работы с технологиями Wolfram»: более 13 часов видеолекций, теория и задачи Все документы курса можно скачать здесь. Этот курс я прочел пару лет назад для довольно обширной аудитории. Он содержит очень много информации о том, как устроена система Mathematica, Wolfram Cloud и язык Wolfram Language. Однако, конечно, время не стоит на месте и за по...

Как защитить Землю от астероидов, если их не видно? Челябинский метеорит был всего 17-20 метров в поперечнике, однако причин значительный ущерб на месте, повыбивал окна и покалечил людей во время взрыва в атмосфере Земли в феврале 2013 года. Чтобы предотвратить другое такое столкновение Эми Майнцер и ее коллеги используют пр...

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

«Автоматизация инфраструктуры. Зачем мы это делаем?» (Денис Яковлев) Предлагаю ознакомиться с расшифровкой доклада Дениса Яковлева "Автоматизация инфраструктуры. Зачем мы это делаем?" Сам доклад 2016 года. Доклад специально расшифровал для тех, которые создают виртуальные машины руками. Доклад о том, как мы в компании 2ГИС автоматизировали ра...

Почти уволен. Как я построил отдел аналитики Яндекса Меня зовут Алексей Долотов, я 10 лет не писал на Хабр. Отчасти дело в том, что когда мне было 22 года, я начал строить отдел аналитики Яндекса, затем семь лет им руководил, а теперь придумал и строю сервис Яндекс.Таланты. Профессия аналитика даёт массу возможностей. Главное...

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

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

Как я не готовился и провел роснановский семинар по ПЛИС-ам в Москве. Планы сделать то же в Лас-Вегасе и Зеленограде У вас бывает такой сон: вы оказываетесь на экзамене или выступаете перед некоторой аудиторией, и вдруг осознаете, что вы вообще не готовились и сейчас прийдется импровизировать. Именно в такой ситуации, но не во сне, а в реале, я оказался перед майскими праздниками в Москве,...

Как мы строим систему обработки, хранения и анализа данных в СИБУРе В начале 2018 года у нас активно пошел процесс цифровизации производства и процессов в компании. В секторе нефтехимии это не просто модный тренд, а новый эволюционный шаг в сторону повышения эффективности и конкурентоспособности. Учитывая специфику бизнеса, который и без вся...

Как настроить Linux для входа в домен с использованием алгоритмов ГОСТ Введение Протокол Kerberos 5 сейчас активно используется для аутентификации. Особенностью данного протокола является то, что он осуществляет аутентификацию, базируясь на трех китах: Симметричное шифрование Хеширование ЭЦП Третья доверенная сторона Начиная с пятой версии п...

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

Bitmap-индексы в Go: поиск на дикой скорости Вступительное слово Я выступил с этим докладом на английском языке на конференции GopherCon Russia 2019 в Москве и на русском — на митапе в Нижнем Новгороде. Речь в нём идёт о bitmap-индексе — менее распространённом, чем B-tree, но не менее интересном. Делюсь записью высту...

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

Наш ответ Apple Mac Pro: как своими руками сделать компьютер из терки Чтобы стать обладателем десктопа с таким крутым дизайном совсем необязательно ждать осени 2019 года и готовить минимум 6 тысяч долларов. Все, что понадобится — прямые руки, большая терка для сыра из нержавеющей стали, 3D-принтер, любой одноплатный компьютер сверхмалого ...

Scala + MXNet = Микросервис с нейронкой в проде В интернете есть огромное количество руководств и примеров, на основе которых вы, дорогие читатели, сможете «без особого труда» и с «минимальными» временными затратами написать код, способный на фото отличать кошечек от собачек. И зачем тогда тратить время на эту статью? О...

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

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

Google представила два Android-приложения для слабослышащих Миллионы людей во всем мире страдают от врожденного или приобретенного нарушения слуха. Чтобы хоть как-то облегчить их жизнь и помочь в понимании окружающих, Google разработала два специализированных приложения – Live Transcribe и Sound Amplifier. Каждое из них имеет собств...

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

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

Santorini — новое кодовое имя Microsoft Windows Lite Облегчённая версия системы Microsoft больше не называется Windows Lite, если верить близкому к компании источнику.В конце прошлого года появилась информация относительно новой операционной системы Windows Lite. Она разрабатывается на основе Windows Core OS и призвана оказать...

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

Разработка «на слух»: адаптивные IT-технологии Сложно ли людям с особыми потребностями реализовать себя в IT? Адаптивная индустрия сделала доступными сенсорные смартфоны, заменила клавиатуры брайлевскими дисплеями, позволила незрячим управлять системой голосом, а тем, кто и не видит, и не слышит, – считывать информацию ...

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

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

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

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

[Из песочницы] Удаленный мониторинг и управление устройств на базе Lunix/OpenWrt/Lede через 80-ый порт… Всем привет, это мой первый опыт на Хабре. Хочу написать о том, как нестандартно управлять сетевым оборудованием во внешней сети. Что значит нестандартно: в большинстве случаев, для управления оборудованием во внешней сети Вам необходимо: Публичный IP-адрес. Ну, или если...

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

Рисовать — это 10% работы UX-дизайнера Привет, Хабр! Меня зовут Никита. Год назад я пришёл работать в Промсвязьбанк UX-дизайнером в команду по разработке интерфейсов ДБО для малого и среднего бизнеса. В то время нашей команде прилетали совершенно разные задачи, с разных продуктов. Зачастую уже в виде четко описан...

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

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

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

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

[Перевод] Как встроить С-библиотеку в Swift-фреймворк В 2014 году был представлен Swift, новый язык для разработки приложений экосистемы Apple. Новинка принесла не только новые возможности и функции, но и проблемы — тем, кто хотел пользоваться старыми добрыми C-библиотеками. В этой статье я рассмотрю одну из них — бандлинг C-...

Google представила обновление Chrome для Android. Что изменилось Несмотря на то что с момента релиза Chrome 74 для Android прошло чуть больше одной недели, Google уже приступила к испытаниям юбилейной, 75-й версии фирменного веб-браузера. Предстоящее обновление, которое пока находится в стадии бета-тестирования, сосредоточено на усоверше...

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

Битва Големов из карт. Как мы превращали игру в Карточную лигу Пароботов Продолжение данной истории. Сейчас речь пойдет не о концепции, а том, как мы из вот этого т.е. классической версии в которой само игровое поле, элементы на нем, жетоны повреждений были представлены «вырубкой» из картона и было «дорого и богато» делали карточный «движок» и...

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

Для тех кому нужно пластика меньше 0,5 кг Привет всем - профессионалам, любителям и энтузиастам аддитивных технологий!С недавнего времени присоединился к Вашей группе и стал обладателем принтера Anycubic i3 Mega. 3D принтер открывает широкие возможности для своих фантазий, которые можно воплотить в пластике. Однако ...

ЕГЭ против технологий: как школьники пишут чат-ботов и собирают дроны Школьники больше не сидят за учебниками: они пишут чат-ботов, собирают дроны и проектируют роботов. Екатерина Баяндина, PR-менеджер Олимпиады Национальной технологической инициативы (НТИ), специально для Теплицы спросила у финалистов инженерных соревнований, как новые навык...

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

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

Названы сроки возвращения Touch ID в iPhone. Почему это хорошо Уникальный путь развития, которым привыкла следовать Apple, за последние несколько лет неоднократно пересекался с накатанной магистралью ее конкурентов. Это происходило настолько часто, что почти все, что делали в Купертино, практически не отличалось от того, что уже было н...

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

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

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

Новые ключевые слова в Java В ближайшем будущем в языке Java появятся новые фичи, над которыми сейчас идет работа в рамках проектов Valhalla, Panama и Loom. Расширение языка — дело непростое, тем более — языка, в котором акцент делается на обратную совместимость; поэтому для того, чтобы их интеграция в...

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

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

Google наделила хромбуки поддержкой Linux На прошедшей на днях конференции разработчиков Google I/O компания Google объявила о том, что в выпущенных в этом году хромбуках можно будет использовать операционную систему Linux. Такая возможность, конечно, была и раньше, но теперь процедура стала гораздо проще и доступна...

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

Настраиваем удобную сборку проектов в Visual Studio Эта статья является руководством по настройке сборки C++ проектов Visual Studio. Частично она сводилась из материалов разрозненных статей на эту тему, частично является результатом реверс-инжениринга стандартных конфигурационных файлов Студии. Я написал ее в основном потому ...

Google Chrome научился отображать сайты в темном режиме Вслед за релизом версии 75 для Android, Mac, Windows и Linux на прошлой неделе Google не долго думая выкатила версию под номером 76, правда пока она только бета. Если версия 75, про нововведения которой мы рассказывали здесь, могла показаться вам достаточно скучной, то нова...

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

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

[Перевод] Оттенки значений в английском языке: как использовать глаголы Advise, Recommend, Suggest Английский язык часто воспринимается как нечто не столь сложное, как некоторые другие языки – взять тот же немецкий. Но на самом деле в нем есть достаточное количество трудностей и тонких моментов («Пишется Ливерпуль, а читается Манчестер» ). Один из них, вызывающий личн...

[Из песочницы] Создаем прототип для Sentiment Analysis с помощью Python и TextBlob Что важно для команды разработчиков, которая только начинает строить систему, базирующуюся на машинном обучении? Архитектура, компоненты, возможности тестирования с помощью интеграционных и юнит тестов, сделать прототип и получить первые результаты. И далее к оценке трудоем...

ISE 2019: Canon подтвердил свое абсолютное лидерство в разработке профессиональных 4K HDR проекторов в самом востребованном диапазоне яркости до 10000 лм Стенд Canon на выставке ISE 2019 блеснул обилием 4K моделей и стал хорошим поводом задуматься на довольно непростую тему 4K разрешения в современных проекторах Если посмотреть на цифры то реальная картина с 4K разрешением выглядит сегодня примерно следующим образом (цифры н...

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

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

Как переехать с ESXi на KVM/LXD и не сойти с ума В компании «Макснет Системы» в качестве гипервизора долгое время использовалась бесплатная версия VMware — ESXi, начиная с версии 5.0. Платная версия vSphere отпугивала моделью лицензирования, а у бесплатной был ряд недостатков, которые отсутствовали в платной, но с ними мож...

3 нововведения, которые стоит ждать в Android Q Совсем недавно руководитель Google Сундар Пичаи назвал дату проведения конференции I/O. Она пройдет весной этого года в период с 7 по 9 мая. Вне всяких сомнений, нас ожидает много интересного, но самое важное в этом то, что традиционно в рамках I/O Google анонсирует новую в...

Microsoft HoloLens 2 выходит на Snapdragon 850 После многих лет ожидания второго поколения наголовного устройства дополненной реальности Microsoft HoloLens 2 представлен официально. Судя по новому дизайну и сделанным разработчиками улучшениями, ожидание не было напрасным.HoloLens 2 остаётся достаточно увесистым, но меньш...

Какой следующий член…? — Ищем формулу для n-го члена последовательности, производящие функции и Z-преобразование Скачать файл с кодом и данные можно в оригинале поста в моем блоге В языке Wolfram Language есть четыре совершенно потрясающие функции: FindSequenceFunction, RSolve, DifferenceRootReduce и FindFormula. В этой статье мы обсудим их возможности и поговорим о функциях, тесно с ...

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

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

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

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

Как научиться говорить по-английски — Топ-5 Подсказок Как научиться говорить по-английски — Топ-5 Подсказок Можно долгое время изучать английский язык, но так и не научиться сносно разговаривать на нем. В чем проблема? — мало практики! Существует несколько подсказок для самостоятельной практики разговорного английского: ...

RepRapFirmware небольшой обзор прошивки + бонус библиотека для работы TMC2130 c RuRamps4D Я как то уже писал о том как загрузить прошивку RepRapFirmware (RRF) на плату RuRamps4D и подключить дисплей FullGraphic. Прошивка эта очень интересная, но информации про нее на портале немного, поэтому я хочу восполнить этот момент.Для начала я хочу сделать небольшой обзор ...

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

Лучшие игры для тренировки вашего мозга Что наша жизнь? Игра! В данном случае — игра, которая поможет вам натренировать мозг Современный смартфон позволяет вам получить доступ ко множеству самых разных приложений. Вы можете читать в интернете интересные статьи (в том числе и на нашей страничке в Яндекс.Дзен)...

Обновлённый Google Assistant сравнили с Siri. Кто оказался круче Google Assistant и раньше был самым лучшим голосовым помощником, а теперь стал ещё лучше В этом году Google представила обновлённую версию Google Assistant, которую можно назвать Google Assistant 2.0. Разработчикам компании удалось не только сделать голосового помощника умне...

Первые отзывы о бета-тесте аркадной гонки Mario Kart Tour: хорошая игра с pay-to-win механиками Еще в Январе 2018 компания Nintendo представила Mario Kart Tour для мобильных устройств. Изначально релиз планировался еще на зиму этого года, но теперь он должен состояться летом. Тем не менее уже сейчас стартовал закрытый бета-тест для игроков из США и Японии. Несмотря на ...

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

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

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

Записки pentester’а: случаи на охоте — Ребята, вы круты! Так нас еще никто не опускал! — Мы старались. Да, жизнь охотников за уязвимостями полна специфических комплиментов от заказчиков и не менее специфических ситуаций. За прошедший год мы выполнили более пятидесяти тестов на проникновение в разные компании ...

Что не так с iPhone 11, конец 3D Touch и watchOS для избранных: неделя под знаком Apple Так-так, вот и подошла к концу эта невероятно насыщенная неделя, и виной тому — презентация новых айфонов и не только. Как и следовало ожидать, у многих остались вопросы к Apple по итогам прошедшего мероприятия. Думаю, почти все вы следили за трансляцией в прямом эфир...

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

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

Не работает Google Ассистент? Вот что нужно сделать Есть несколько причин, по которым Google Ассистент может не работать на вашем Android-устройстве. К счастью, большинство проблем незначительны и вы сможете их решить в течение нескольких минут не обладая при этом какими-либо техническими знаниями. Чтобы восстановить и снова...

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

Сравним живучесть аккумуляторов новых Galaxy S10, S10+ и S10e Последнее время сеть просто-таки заполонили новости про новых представителей линейки Galaxy S от Samsung. Про эти смартфоны пишут и снимают обзоры, сравнивают их с конкурентами и даже между собой, обсуждают внешний вид и внутренности и просто уделяют южнокорейским новичкам...

Как выпускник Физтеха открыл самую большую школу программирования в Армении Карен Шарафян родился и вырос в Армении, окончил факультет общей и прикладной физики МФТИ, поступил в магистратуру Сколтех и МФТИ, но решил вернуться в Армению, где с партнерами открыл крупнейшую в стране школу программирования. Поговорили с Кареном об IT-образовании в Армен...

Google представила будущее гейминга — стриминговый сервис Google Stadia Google провела презентацию в рамах Game Developers Conference, где представила стриминговый сервис Google Stadia. Stadia будет использоваться для запуска игр на любых устройствах, поддерживающих браузер Google Chrome – от Chromecast до смартфонов на iOS и Android. Сервис ра...

Довольно вычурные «Начала» Евклида в TeX-е «какая-то странная антикварная х██ня, написанная ирландским кулибиным в 1847 ну, хорошо, что и такая бывает, конечно» Миша Вербицкий В 16-м году мне на глаза попались «Начала» Евклида в интерпретации Оливера Бирна. Фишка этой книги в том, что вместо буквенных обозначений ...

GTA 5 портировали на Android. Как установить У студии Rockstar Games, разрабатывавшей серию игр Grand Theft Auto была хорошая традиция. Каждый раз, когда очередному тайтлу исполнялось 10 лет, выходила его портированная версия для мобильных платформ. В результате мы можем поиграть в такие игры, как GTA Vice City, GTA I...

[recovery mode] Типобезопасная работа с массивами PHP Всем привет, расскажу о собственном велосипеде для удобной работы с массивами в PHP. Type hinting В PHP7 появились подсказки типов (type hinting), что позволило IDE проводить более качественный статический анализ кода, качество нашего кода улучшилось (или правильно говорит ...

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

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

Work Chat 196.0.0 Work Chat — это приложение для обмена сообщениями между пользователями Facebook at Work. Сейчас Facebook at Work и Work Chat доступны только для некоторых компаний, и для их использования требуется рабочий аккаунт. Work Chat позволяет вам быстро отправлять сообщения люд...

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

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

При помощи редактора генома удалось добиться невосприимчивости к яду Редактор генома CRISPR/Cas9 способен на многое! Небезызвестный всем читателям нашего сайта редактор генома CRISPR/Cas9, который в последнее время позволяет ученым сделать все больше открытий, вновь поразил мировое сообщество тем, на что способен. Если раньше CRISPR/Cas9 позв...

[Перевод] Настройка PHP-FPM: используем pm static для максимальной производительности Я в двух словах расскажу, как лучше всего настроить PHP-FPM, чтобы увеличить пропускную способность, снизить задержку и более стабильно использовать процессорные ресурсы и память. По умолчанию строка PM (process manager, менеджер процессов) в PHP-FPM имеет значение dynamic,...

Как закалялась сталь из пластика Доброго времени суток мой друг, пришло время не только рассказать , а то и показать, что для тебя и твоего верного кинематического друга ( если он у тебя есть) нет ничего невозможного. И так…. Поехали !!!! В начале прошлого, 2018 года, ко мне обращается представитель ООО «Zn...

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

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

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

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

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

Чему Google стоило бы поучиться у Apple Вечное противостояние, в котором вряд ли будет победитель Google, наконец, официально представила свои новые смартфоны Pixel 4 и Pixel 4 XL на мероприятии в Нью-Йорке. Очевидно, что невозможно не провести параллель между устройствами Google и продуктами Apple, анонсированным...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 8. Настройка свитча Добро пожаловать в мир свитчей! Сегодня мы поговорим о коммутаторах. Предположим, что вы – сетевой администратор и находитесь в офисе новой компании. К вам подходит менеджер со свитчем «из коробки» и просит его настроить. Возможно, вы подумали, что речь идет об обычном элект...

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

[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...

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

Вред макросов для C++ кода Язык C++ открывает обширные возможности для того, чтобы обходиться без макросов. Так давайте попробуем использовать макросы как можно реже! Сразу оговорюсь, что я не являюсь фанатиком и не призываю отказываться от макросов из идеалистических соображений. Например, когда р...

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

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

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

[Перевод] JavaScript не нужно ничем заменять — другие языки тоже столкнутся с теми же проблемами «Существует только два вида языков: те, на которые жалуются и те, которыми никто не пользуется», — Бьёрн Страуструп, создатель C++ Очень часто слышатся заявления о том, что JavaScript нужно заменить каким-то другим языком. Причиной всегда становится то, что у JavaScript нак...

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

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

Монтируем iOS под OSX с помощью ifuse На днях столкнулся с задачей примонтировать в OSX 10.14 iPad в качестве внешнего диска, с возможностью осуществлять файловые операции из консоли. В интернете я нашел довольно много инструкций как это сделать с помощью файловой системы ifuse. К сожалению с iOS 12 ничего не вы...

Как я данные с BLE-градусника от Xiaomi забирал Предыстория: в качестве одного из хобби у меня случился «Умный дом». Хочется красивых устройств, но при этом ещё хочется свободы и приватности. Поэтому занимаюсь скрещиванием ужика Xiaomi с ёжиком Home Assistant. Для поддержания комфортных условий нам нужно знать, а что воо...

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

WWDC 2011: iCloud, по другую сторону экрана Для пользователей iCloud – магия. Заколдованные этой магией данные достаточно ввести на одном из устройств, и они моментально появляются на всех устройствах пользователя. С точки зрения разработчика, решившего “заколдовать” свои приложения, освоение iCloud не было непреодол...

Делаем облачное видеонаблюдение своими руками: новые возможности Web SDK Ivideon У нас есть несколько интеграционных компонентов, позволяющих любому партнеру создавать собственные продукты: Open API для разработки любой альтернативы личного кабинета пользователя Ivideon, Mobile SDK, с помощью которого можно разработать полноценное решение, эквивалентно...

[Из песочницы] Замена Punto Switcher, раскладки Бирмана с помощью скрипта на autohotkey В данной статье я не предлагаю полностью заменить Punto Switcher (Спасибо Сергею Москалёву за данную программу), а только в очень ограниченном функционале. Довольно давно пользуюсь программой Punto Switcher, но не в целях автопереключения, а как переключатель по левому и пра...

[Перевод] Конференция DEFCON 17. Мои неудачи. Часть 1 Как поживаете, парни? Я только что прочитал чей-то твит про то, что люди, которые тратят полдня на конференцию Defcon, просто идиоты. Итак, я собирался начать с того, что много работал над неудачами, но понимаю, что сейчас буду говорить об этом с людьми, которые понимают в н...

Обновление Google Камеры принесет функцию Pixel 4 на более старые устройства Google Pixel 4 лишается эксклюзивных функций Google Рixel 4 вышел уже приличное время назад, но, кажется, не собирается покидать заголовки новостных лент. Но это и не плохо, ведь свежая информация говорит о том, что Google, что приятно, не стала жадничать и некоторые опции P...

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

Почему я не буду покупать Galaxy Fold или Mate X За складными смартфонами будущее. Вот только в каком формате? В последнее время многие говорят о складных смартфонах. Они действительно вызывают интерес и привлекают внимание, но есть несколько моментов, которые не позволяют считать их устройством, которое хочется купить. У ...

[Перевод] Невероятная история происхождения USB — порта, изменившего всё Аджай Бхатт мучился с обновлением своего компьютера, и в итоге увидел необходимость в одном разъёме, нужном, чтобы править всеми В стародавние времена для подключения чего-либо к вашему компьютеру – мыши, принтера, жёсткого диска – требовался зоопарк кабелей. Возможно, вам...

Стартовало тестирование октябрьского обновления системы для Xbox One (1910) Компания Microsoft объявила, что участники программы Xbox Insider на каналах Alpha Skip-Ahead и Alpha начинают тестирование некоторых новых функций, которые станут доступны пользователям в октябрьском обновлении операционной системы для Xbox One. Инсайдеры на каналах Beta, ...

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

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

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