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

Как загрузить OpenStreetMap в Hive? В прошлой статье я рассмотрел обратное геокодирование средствами Spark. Теперь представим, что перед нами встала задача прямого геокодирования почтовых адресов. То есть, получения для записанного текстом адреса неких географических координат. Адреса для определенности росс...

[Перевод] 9 правил крутого расширения для Visual Studio Крутые расширения Visual Studio имеют несколько ключевых признаков, которые отличают их от остальных. Они выглядят и на самом деле хорошо продуманы, функциональны и надежны. Кроме того, они делают то, что должны, до уровня совершенства и нативно вписываются во внутренние фун...

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

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

[Из песочницы] UICollectionView всему голова: Изменение представления на лету Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly". В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде...

Один из методов получения истории блокировок в PostgreSQL Продолжение статьи "Попытка создать аналог ASH для PostgreSQL ". В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_locks. Предупреждение. В связи с новизной темы и незавер...

[Перевод] Как полиморфизм реализован внутри JVM Перевод данной статьи подготовлен специально для студентов курса «Разработчик Java». В моей предыдущей статье Everything About Method Overloading vs Method Overriding (“Все о перегрузке и переопределении методов”) были рассмотрены правила и различия перегрузки и переопре...

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

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

[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0 Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee. Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают ...

[Перевод] Кеширование в Laravel: основы плюс tips&tricks Техника кеширования позволяет создавать более масштабируемые приложения, запоминания результаты некоторых запросов в быстрое in-memory хранилище. Однако, некорректно реализованное кеширование может сильно ухудшить впечатление пользователя о вашем приложении. Эта статья содер...

Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи! В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от...

[Перевод] Конференция BLACK HAT USA. Разбогатеть или умереть: зарабатываем в Интернете методами Black Hat. Часть 2 Конференция BLACK HAT USA. Разбогатеть или умереть: зарабатываем в Интернете методами Black Hat. Часть 1 Существует сайт под названием Hire2Hack, который тоже принимает заявки на «восстановление» паролей. Здесь стоимость услуги начинается от $150. Я не знаю об остальном, но...

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

Sigma rules. Поделка или новый стандарт для SOC Я Сергей Рублев, руководитель SOC (Security Operations Center) в компании «Инфосекьюрити». В этой статье подробно рассмотрю амбициозный проект Sigma Rules, девиз которого: «Sigma для логов — это как Snort для трафика и Yara для файлов». Речь пойдет про три аспекта: Пр...

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

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

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

[Перевод] Конференция DEFCON 19. Три поколения DoS-атак (с участием аудитории в качестве жертв). Часть 2 Конференция DEFCON 19. Три поколения DoS-атак (с участием аудитории в качестве жертв). Часть 1 Но что еще хуже… Я попытался разработать проект для своих студентов, и получалось забавно, но проблема заключалась в том, что нельзя было посмотреть «убиваемые» адреса, так как эт...

Ну, Android, а ты OMA CP… Недавно мы «порадовали» пользователей iPhone проблемами безопасности BLEee, но вряд ли мы сторонники какого-либо из фронтов в извечном споре Apple vs. Android, и готовы рассказать «отличную» новость про Android, если, конечно, в вашей душе есть место для злорадства. Исследо...

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

Вредонос Sustes обновился и теперь распространяется через уязвимость в Exim (CVE-2019-10149) Вредонос Sustes обновился и теперь распространяется через уязвимость в Exim (CVE-2019-10149). Новая волна криптомайнера Sustes теперь использует для заражений июньскую уязвимость в почтовом сервере Exim. Начиная с 11 августа наши сетевые сенсоры PT Network Attack Discover...

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

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

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

Facebook непреднамеренно собрала почтовые контакты 1,5 млн пользователей Представители социальной сети уверяют, что произошедшее было ошибкой и теперь списки контактов уже удалены с серверов компании.

Джон Мюллер поинтересовался, почему SEO-компании не публикуют свой адрес Вчера сотрудник Google Джон Мюллер поинтересовался в Twitter, почему SEO-компании и digital-агентства не указывают на сайте свой физический адрес. Просматривая сайты компаний, он заметил, что многие из них вообще не приводят свой адрес – даже на страницах типа «О нас». «Имет...

[Перевод] Улучшенные четыре правила проектирования ПО Привет, Хабр! Представляю вашему вниманию статью "Four Better Rules for Software Design" автора David Bryant Copeland. David Bryant Copeland — архитектор ПО и технический директор Stitch Fix. Он ведет свой блог и является автором нескольких книг. Мартин Фаулер недавно создал...

[Перевод] Reflective Shadow Maps: Часть 2 ― Реализация Привет, Хабр! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации. Рисунок 1: Слева направо: бе...

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

КамАЗы оборудуют электронной почтой Как сообщает «Коммерсантъ» со ссылкой на пресс-службу компании Mail.ru Group, новые грузовики КамАЗ, которые начнут выпускаться с осени текущего года, получат фирменный почтовый сервис. Он будет интегрирован в штатную мультимедийную систему автомобилей, чтобы водители с его ...

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

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

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

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

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

Mailinator: как пользоваться почтой без паролей Мы много говорили о том, как внимательно нужно относиться к своим паролям. Но в этой статье речь пойдет о сервисе, где нет ни логинов, ни паролей. На Mailinator ваше письмо могут прочитать абсолютно все. А у вас есть доступ к чужой электронной почте. Зачем же он нужен? M...

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

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

Авиационные газотурбинные двигатели Всем привет! В этой статье я хочу рассказать о том, как работают авиационные газотурбинные двигатели (ГТД). Я постараюсь сделать это наиболее простым и понятным языком. Авиационные ГТД можно можно разделить на: турбореактивные двигатели (ТРД) двухконтурные турбореактивны...

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

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

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

[Перевод] Представляем «CLI Builder»‎-ы В этой статье мы рассмотрим новый API Angular CLI, который позволит вам расширять существующие возможности CLI и добавлять новые. Мы обсудим, как работать с этим API, и какие существуют точки его расширения, позволяющие добавлять новый функционал в CLI. Читать дальше →

В королевстве PWN. ROP-цепочки и атака Return-to-PLT в CTF Bitterman Для подписчиковВ этой статье мы рассмотрим особенности переполнения стека в 64-битном Linux. Сделаем мы это на примере таска Bitterman с соревнования CAMP CTF 2015. С помощью модуля pwntools для Python мы построим эксплоит, в котором будут применены техники Return-oriented p...

AERODISK Engine: Катастрофоустойчивость. Часть 1 Привет, читатели хабра! Темой этой статьи будет реализация средств катастрофоустойчивости в системах хранения AERODISK Engine. Изначально мы хотели написать в одной статье про оба средства: репликацию и метрокластер, но, к сожалению, статья получилась слишком большой, поэто...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 29. PAT и NAT Сегодня мы будем изучать PAT (Port Address Translation), технологию трансляции IP- адресов с использованием портов, и NAT (Network Address Translation), технологию преобразования IP-адресов транзитных пакетов. PAT является частным случаем NAT. Мы рассмотрим три темы: — пр...

Защищаем почтовый сервер без антивируса. Настройка DKIM-, SPF- и DMARC-записей Для подписчиковЭлектронная почта — один из самых популярных каналов распространения спама, малвари и фишинговых ссылок. В этой статье я расскажу, как усилить безопасность корпоративных почтовых серверов (MS Exchange и Postfix) с помощью доступных штатных средств — DKIM-, SPF...

[Перевод] Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen. В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество сто...

Facebook «непреднамеренно» сохраняла контакты из электронной почты 1,5 млн пользователей Некоторое время назад выяснилось, что социальная сеть Facebook запрашивала у некоторых новых пользователей информацию о пароле для своего адреса электронной почты. Как оказалось, после такого ввода пароля Facebook использует его для доступа к списку контактов и загрузки соде...

Как адаптировать UX/UI под permissions Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п. Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. ...

В отделениях Почты России установлено 50 тысяч терминалов для оплаты банковскими картами Почта России и Почта Банк завершили основной этап установки терминалов безналичной оплаты в отделениях почтовой связи. 50 тысяч операционных окон Почты России по всей стране, более 60% которых расположены в малых городах и сельской местности, были оснащены pos-терминалами, б...

Facebook получил доступ к контактам 1.5 миллионов своих пользователей Представители социальной сети заявили, что они случайно собирали списки контактов электронных адресов у некоторых пользователей.

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

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

Простая уязвимость в автомобильной сигнализации грозила угоном 3 млн машин в мире Специалисты по кибербезопасности британской компании Pen Test Partners обнаружили весьма опасную, хотя и досадную уязвимость в системе работы бесключевой автомобильной сигнализации двух крупных мировых компаний ― российской Pandora и американской Viper (в Англии ― Clifford)....

[Из песочницы] Proof-Of-Work эффективен Привет, Хабр! Представляю вашему вниманию перевод статьи «PoW is Efficient» автора Dan Held. Вступление Большинство людей думает, что энергия, потраченная на Proof-Of-Work (далее PoW), тратится впустую. В этой статье я расскажу, почему все основано на энергии, включая деньг...

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

[Из песочницы] Унификация правил валидации на примере Asp core + VueJS В статье описывается простой способ унификации правил валидации пользовательского ввода клиент-серверного приложеия. На примере простого проекта, я покажу как это можно сделать, с использованием Asp net core и Vue js. Разрабатывая веб приложения, мы как правило сталкаваемся...

[Перевод] Учебник по JavaFX: основные макеты Перевод статьи «JavaFX Tutorial: Basic layouts» автора Vojtech Ruzicka. Как организовать и разместить GUI компоненты в приложении JavaFX. Это четвертая статья в серии о JavaFX. В предыдущей статье я описал, как использовать FXML и SceneBuilder для создания вашего пользоват...

Как устроен поиск адреса по координатам в «Дадате» (и где мы взяли справочник) Весной мы добавили в API DaData.ru фичу «Обратное геокодирование», она же «Адрес по координатам». Название намекает: метод принимает геокоординаты и отдает данные об адресе. Солидный продукт с той же функциональностью сделал «Яндекс» — он называется «Геокодер». Но сервис ...

Архитектура компьютера. Цифровой логический уровень Компьютер — это машина, которая может выполнять вычисления через исполнение примитивных операций. Она может понимать только два сигнала, которые принимаются за 0 и 1. Организация архитектур машин представляется как ряд уровней, каждый из которых надстраивается над нижележа...

[Перевод] 30.000$ за решение задач о Правиле 30 для клеточных автоматов — конкурс от Стивена Вольфрама Оригинал перевода в моём личном блоге Прямая трансляция Стивена Вольфрама о конкурсе (на английском) Поясним для читателей, что означает «Правило 30» — это элементарный клеточный автомат (см. Wiki), состояние которого (правило построения нового уровня ячеек на основе старо...

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

Расширяем возможности UObject в Unreal Engine 4 Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами. Поскольку сетевые проекты отличаются своими требованиями к разработке и производительности, нередко необходимо работать с более простыми объектами, та...

[Перевод] Вся правда об ОСРВ. Статья #25. Каналы передачи данных: введение и базовые службы После небольшого перерыва мы продолжаем публиковать переводы статей «Вся правда об ОСРВ» Колина Уоллса. В этот раз поговорим о каналах передачи данных (далее – каналы), которые были уже были упомянуты в одной из предыдущих статей, а именно в #5. Каналы, по сравнению с почт...

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

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

[Из песочницы] Оптимизация скриптов с Webpack SplitChunksPlugin В этой статье я бы хотел поделиться своим опытом по разбиению бандлов для многостраничного сайта с помощью Webpack 4. Cначала создадим для каждой страницы свою точку входа. Рассмотрим на примере 4 страниц: const path = require("path"); const PATHS = { src: path...

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

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

[Перевод] 12 возможностей ES10 в 12 простых примерах Перед вами перевод статьи из блога Carlos Caballero на сайте Medium.com. Автор расскажет нам о функциях, которые появились в версии ES10 2019 года. ES10 — это версия ECMAScript, актуальная для 2019 года. Она содержит не так много нововведений, как версия ES6, выпущенная в...

9 типовых проблем в сети, которые можно обнаружить с помощью анализа NetFlow (на примере Flowmon) Относительно недавно мы публиковали статью “Сетевой мониторинг и выявления аномальной сетевой активности с помощью решений Flowmon Networks”. Там мы кратко рассмотрели возможности этого продукта и процесс установки. Неожиданно для нас, после статьи и вебинара, поступило бо...

Модельно ориентированное проектирование. Создание достоверной модели, на примере авиационного теплообменника «Если на клетке слона прочтёшь надпись «буйвол», не верь глазам своим» Козьма Прутков В предыдущей статье о модельно-ориентированном проектировании было показано, зачем нужна модель объекта, и доказано, что без этой модели объекта про model based design можно говорить толь...

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

Автоматизируем переход на React Hooks React 16.18 — первый стабильный релиз с поддержкой react hooks. Теперь хуки можно использовать не опасаясь, что API изменится кардинальным образом. И хотя команда разработчиков react советует использовать новую технологию лишь для новых компонентов, многим, в том числе и мне...

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

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

«Почта России» ввела новые правила доставки посылок из зарубежных магазинов Государственная почтовая служба «Почта России» существует в стране и оказывает свои услуги вот уже как много лет, за которые в ее работе практически совсем ничего не изменилось. Посылки по-прежнему активно разворовывают или вообще не доставляют, Сообщение «Почта России» вве...

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

[Из песочницы] ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска» Основные тезисы или о чем эта статья Так как интересы людей разные, а времени у людей мало, то кратко о содержании статьи. Статья эта представляет собой обзор проекта контроллера с минимальной ценой и возможностью визуального программирования посредством WEB-браузера. Пос...

Сравнение и выбор систем миграции данных Сравнение и выбор систем миграции данных Модель данных в процессе разработки имеет свойство изменяться, и в какой-то момент она перестает соответствовать базе данных. Конечно же, БД можно удалить, и тогда ORM создаст новую версию, которая будет соответствовать модели, но т...

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

[Из песочницы] Поймут даже дети: простое объяснение async/await и промисов в JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaScript Async/Await and Promises: Explained like you’re five years old» автора Jack Pordi. Каждый, кто считает себя JavaScript-разработчиком, в какой-то момент должен был столкнуться с callback-функциями, промисам...

[Перевод] Интервью — 10 вопросов про Swift. Часть 3 Профессиональная программа «iOS Разработчик» — 5 месяцев Best Practice по разработке мобильных приложений с помощью Swift 5. Лучших выпускников ждут на собеседованиях 12 компаний-партнёров OTUS, поэтому публикуем перевод заключительной статьи из серии «iOS Interview Question...

Хотите отремонтировать iPhone? Сделайте это бесплатно! Видов поломок iPhone, как известно, существует великое множество. Но одно дело, когда необходимо поменять только аккумулятор, и совсем другое — заменить чип памяти или стекло, которое разбилось при падении. Чем сложнее ремонт, тем дороже он обходится, но на этот раз у...

[Перевод] Оптимизация стратегии игры в Блэкджек методом Монте-Карло Перевод статьи подготовлен специально для студентов курса «Machine learning». Обучение с подкреплением штурмом взяло мир Искусственного Интеллекта. Начиная от AlphaGo и AlphaStar, все большее число видов деятельности, в которых раньше доминировал человек, теперь завоевано...

[Из песочницы] Краткое введение в рекурсию. JavaScript Перевод: Привет, Хабр! Представляю вашему вниманию перевод статьи "A Quick Intro to Recursion in Javascript" Yazeed Bzadough. Примечание. Рекурсия не единожды обсуждалась на хабре, но данная статья даёт базовое понимание рекурсии. Это будет полезно начинающим разр...

Импортозамещение на практике. Часть 2. Начало. Гипервизор В предыдущей статье были рассмотрены варианты, на что можно заменить существующие системы в рамках выполнения приказа об импортозамещении. Далее в статьях речь пойдет о выборе конкретных продуктов для замены развернутых в настоящее время. Начнем с точки отсчета — системы вир...

[Перевод] Лямбды: от C++11 до C++20. Часть 2 Привет, хабровчане. В связи со стартом набора в новую группу по курсу «Разработчик C++», делимся с вами переводом второй части статьи «Лямбды: от C++11 до C++20». Первую часть можно прочитать тут. В первой части серии мы рассмотрели лямбды с точки зрения C++03, C++11 и C+...

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

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

[Из песочницы] Забота о себе во время написания кода Привет, Хабр! Представляю Вашему вниманию перевод статьи «Developer health — taking care of yourself as you code» автора Christopher Kad. Недавно мне поставили диагноз «тендинит», и, конечно, в этом нет ничего особенного, и его можно вылечить, но я понял, что не слишком хор...

[Перевод] Введение в Redis с использованием Spring Boot Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis. Мы создадим приложение, которое демонстрирует, как выполнять CR...

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

Как быстро очистить смартфон от ненужных контактов Сегодня это сложно представить, но раньше (а если быть точным, то в начале 2000-х) память записной книжки большинства телефонов ограничивалась 150-200 контактами. Со временем количество ячеек памяти росло, пока и вовсе это ограничение не было снято. И сегодня на наших сматр...

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

[Перевод] Подготовка к Spring Professional Certification. Spring Security Эта статья является переводом статьи по подготовке к Spring Professional Certification. В ней будет рассмотрена тема Spring Security и основные вопросы по ней. Ее также можно использовать для подготовки к собеседованию. ↓ Остальные статьи доступны по ссылкам в оглавлении ↓ ...

Debian + Postfix + Dovecot + Multidomain + SSL + IPv6 + OpenVPN + Multi-interfaces + SpamAssassin-learn + Bind Данная статья о том как настроить современный почтовый сервер. Postfix + Dovecot. SPF + DKIM + rDNS. С IPv6. С шифрованием TSL. С поддержкой нескольких доменов — часть с настоящим SSL сертификатом. С антиспам-защитой и высоким антиспам-рейтингом у других почтовых серверов. С...

[Из песочницы] Внедрение Zimbra Collaboration Open Source, авторизация через AD и автоматическое создание почтовых ящиков 1. Исходные данные ОС сервера: CentOS 7 По поводу ОСНа самом деле разница между CentOS7 и любой другой системой будет заключаться исключительно в командах серверу на установку зависимостей, и, возможно, расположении некоторых файлов. Работа ведется в основном с командлетами...

[Из песочницы] Vue.js render-функции и переходы (перевод статьи Hajime Yamasaki Vukelic) Здравствуй, Хабр! Начать свою деятельность решил с перевода на русский статей, который мне самому принесли большую пользу. Надеюсь, вам пригодятся. Отмечу, что я старался переводить литературно, а не дословно. Первым вашему вниманию представляю перевод статьи «Vue.js rende...

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

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

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

Как настроить звуковой сигнал в Почте на Mac при получении письма с определенным текстом Если вы пользуетесь почтовым клиентом Почта (Mail) на компьютере Mac, то наверняка знаете – интересных настроек там очень много. Одна из них, о которой мало кто знает – звук при получении нового сообщения. ПО ТЕМЕ: Одноразовый (временный) почтовый ящик e-mail: лучшие сервисы...

Univention Corporate Server (UCS) — установка простого и удобного LDAP сервера с web-панелью и его связка с Nextcloud Рано или поздно на любом маленьком или среднем предприятии возникает задача по созданию единого центра авторизации пользователей в многочисленных сервисах и порталах компании. Среди кандидатов на такой центр авторизации сразу приходит в голову Microsoft Active Directory ил...

[Перевод] ValueTask<TResult> — почему, зачем и как? Предисловие к переводу В отличие от научных статей, статьи данного типа сложно переводить "близко к тексту", приходится проводить довольно сильную адаптацию. По этой причине приношу свои извинения, за некоторую вольность, с моей стороны, в обращении с текстом исходной статьи...

[Из песочницы] Amazon: 25 лет успеха на поприще электронной коммерции Привет, Хабр! Представляю вашему вниманию перевод статьи автора «AMAZON: 25 years of success in ecommerce». От гаража до самой дорогой компании мира Понедельник. Утро. Сиэтл. Новые сотрудники Amazon выстраиваются в очереди, чтобы пройти посвящение и пополнить ряды гиганта...

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

Новое в iOS 13: Как настраивать уведомления почтовых веток в Почте (Mail) iOS на iPhone и iPad У многих пользователей в почтовый ящик электронной почты постоянно приходят письма разной тематики. Уведомления о такой чрезмерной активности могут раздражать. К счастью, штатное приложение Почта в iOS позволяет легко настроить эти оповещения. ПО ТЕМЕ: Менеджер загрузок в Sa...

Решение заданий WorldSkills модуля Network в компетенции «СиСА». Часть 2 — Базовая настройка Продолжаем разбор заданий модуля Network чемпионата WorldSkills в компетенции «Сетевое и системное администрирование». В статье будут рассмотрены следующие задания: На ВСЕХ устройствах создайте виртуальные интерфейсы, подынтерфейсы и интерфейсы типа петля. Назначьте IP-ад...

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

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

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

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

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

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

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

[Перевод] Как подписывать приложения для macOS Catalina 10.15 [Прим. пер.: переведя вызвавший широкое обсуждение на Хабре пост, я заинтересовался новыми правилами для разработчиков ПО, введёнными компанией Apple. В этой статье рассказывается о личном опыте освоения правил одним из разработчиков игр.] Введение В новой версии macOS App...

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

В течение 5 лет на цифровизацию Почты России будет направлено более 40 млрд рублей Еще порядка 10-15 млрд рублей будет инвестировано в цифровизацию продуктов и услуг. Генеральный директор Почты России принял участие в Форуме по цифровой трансформации, который состоялся в рамках Недели российского бизнеса-2019, организованной Российским союзом промышлен...

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

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

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

[Из песочницы] Странные они, статические переменные в PHP Дисклеймер: данная статья не явит вам какого то откровения и не откроет третий глаз, но позволит разобраться в не очень очевидном вопросе более детально. Мне по крайней мере при ее написании она в этом помогла. Если вы матерый волк в php то можете не читать, опытным человека...

Двойной VPN в один клик. Как легко разделить IP-адрес точки входа и выхода TL;DR В статье описывается самый простой способ настроить VPN-сервер, у которого IP-адрес для подключения VPN-клиентов отличается от IP-адреса, с которого клиенты выходят в интернет. Используете VPN для защиты приватности в интернете и арендуете для этого свой личный сер...

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

[Из песочницы] Сравнение: Svelte и React На сайте React'a есть туториал, в котором описывается разработка игры Tic Tac Toe. Я решил повторить разработку этой игры на Svelte. Статья охватывает только первую половину туториала, до реализации истории ходов. Для целей ознакомления с фреймворком этого вполне достаточно....

[Из песочницы] Работа с JSON RPC в Symfony 4 Всем привет, сегодня поговорим о том, как подружить Symfony 4, JSON RPC и OpenAPI 3. Данная статья рассчитана не на новичков, вы уже должны понимать как работать с Symfony, Depedency Injection и другими «страшными» вещами. Сегодня рассмотрим одну конкретную реализацию JSON ...

[Из песочницы] GIT изнутри: введение (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи "Git for Computer Scientists" автора Tommi Virtanen. GIT изнутри: введение От себя: Периодически почитываю статьи, как различные популярные технологии устроены под капотом, наткнулся вот на этот материал. Ста...

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

[Перевод] Вся правда об ОСРВ. Статья #29. Прерывания в Nucleus SE Все современные микропроцессоры и микроконтроллеры содержат какие-либо механизмы прерывания. Эти механизмы необходимы для обеспечения «отзывчивости», требуемой многими приложениями. Безусловно, отзывчивость и предсказуемость являются основной целью при использовании ОСРВ, но...

[Из песочницы] Как сэкономить в AWS до полумиллиона долларов? Привет, Хабр! Представляю вашему вниманию перевод статьи «How to reduce your AWS costs? Save up to $500k with these guidelines!» автора George Batschinski. В этой статье мы в подробностях расскажем, как Back4App уменьшила свои расходы в AWS с $55,492 в месяц до $20,074 в ...

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

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

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

[Перевод] Утечка 809 миллионов email адресов сервиса Verifications.io из-за публично открытой MongoDB Примечание переводчика — поводом для перевода статьи стало получение уведомления Have I Been Pwned о том, что мои данные оказались в этой утечке. На прошлой неделе исследователи безопасности Bob Diachenko и Vinny Troia обнаружили незащищенную базу данных MongoDB, содержащую...

В КамАЗах появится встроенная электронная почта В бортовую систему «КамАЗов» внедрят почтовый сервис Mail.ru Group. Чтобы водители могли легко и быстро проверять электронную почту и оплачивать услуги.

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

[Перевод] Как Doom попал на Super Nintendo Эта статья — перевод главы книги Game Engine Black Book: DOOM, подробного анализа внутреннего устройства одной из самых влиятельных игр id Software. В этой главе рассказывается о сложном процессе портирования DOOM на Super Nintendo и о ключевой роли, которую сыграл в нём ра...

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

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

Балансировка красно-чёрных деревьев — Три случая Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в дл...

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

Анимационный граф состояний Привет! Мы тут в Playrix решили сделать свой Unity3D. А там есть Animator. В этой статье я  расскажу, как мы сделали его у себя и как он работает. Читать дальше →

[Из песочницы] Как одно изменение конфигурации PostgreSQL улучшило производительность медленных запросов в 50 раз Здравсвуйте, хабровчане! Предлагаю вашему вниманию перевод статьи «How a single PostgreSQL config change improved slow query performance by 50x» автора Pavan Patibandla. Она очень сильно мне помогла улучшить производительность PostgreSQL. В Amplitude наша цель — предоставит...

Работа с навигацией при рефакторинге легаси проекта в React Native Данный материал посвящен работе по рефакторингу навигации в мобильной разработке. В статье приведены примеры возможных проблем, а также выходов из сложных ситуаций, связанных с работой навигации в мобильной разработке на React Native. Мы рассмотрим основные особенности и ...

[Перевод] Приёмы в проектировании пользовательского интерфейса, которые сэкономят время В переводе этой статьи автор приводят ряд советов и приёмов, которые упростят жизнь при проектировании дизайна пользовательского интерфейса. В статье даны сведения о полезных и экономящих время возможностях работы таких программ как Sketch, Adobe Illustrator, Figma, Adobe XD...

[Перевод] GCP: Разбор вычислительного стека Google Cloud Platform Перевод статьи подготовлен специально для студентов курса «Облачные сервисы». Интересно развиваться в данном направлении? Смотрите запись профессионального мастер-класса «AWS EC2 сервис», который провёл Егор Зуев — TeamLead в компании InBit и автор образовательной программы...

Приложения для электронных книг на операционной системе Android. Часть 5. Облачные хранилища и плееры В этой, последней, части статьи о приложениях для электронных книг на операционной системе Android будут рассмотрены две темы: Облачные хранилища и Аудиоплееры. Бонус: список бесплатных библиотек с каталогами OPDS. Краткое содержание предыдущих четырёх частей статьиВ 1-ой ч...

[Перевод] Делаем приложение доступным, используя библиотеку тестирования доступности aXe Представляем вам перевод статьи Indrek Lasn, опубликованной на Medium.com. Под катом вы узнаете, как сделать приложение или сайт более доступными при помощи aXe — средства тестирования доступности веб-сайтов и других пользовательских интерфейсов. react-axe показывает резул...

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

[Перевод] Грязные хаки ассемблера 6502 В этой статье перечислены некоторые трюки, которые применяли участники моего маленького конкурса программирования Commodore 64. Правила конкурса были просты: создать исполняемый файл C64 (PRG), который рисует две линии, чтобы сформировать изображение ниже. Побеждал тот, чей ...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 20. Статическая маршрутизация Сегодня мы поговорим о статической маршрутизации и рассмотрим три темы: что такое статическая маршрутизация, как она настраивается и какая у неё альтернатива. Вы видите топологию сети, которая включает в себя компьютер с IP-адресом 192.168.1.10, подсоединенный через свитч к ...

[Перевод] История 3dfx Voodoo1 Это вторая статья из серии «3D-карты конца 90-х, на которых работал Quake». В первой части мы рассмотрели Rendition Vérité 1000 конца 1996 года и специальный порт игры для неё под названием vQuake. Rendition удалось победить всех на рынке Quake. На короткий промежуток време...

[Перевод] Топ 20 навигационных фич в IntelliJ IDEA Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам Продолжая серию статей, в которых я освещаю основные фичи IntelliJ...

Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov Лаборатория нейронных систем и глубокого обучения МФТИ вот уже больше года делает DeepPavlov — открытую библиотеку для создания диалоговых систем. Она содержит набор претренированных компонент для анализа языка, с помощью которых можно эффективно решать задачи бизнеса. Напр...

Эксперт рассказал о недостатках «Войти с Apple» Функция «Войти с Apple», которая позволит проходить авторизацию на сайтах, в приложениях и веб-сервисах, не сможет обеспечить стопроцентной защиты пользователям и их данным. Такое мнение выразил Казуки Ота технический директор компании Arm Treasure Data. По его словам, меха...

3. Дизайн сети предприятия на коммутаторах Extreme Добрый день, друзья! Сегодня я продолжу цикл, посвященный коммутаторам Extreme статьей по проектированию сети Enterprise. В статье я постараюсь по возможности кратко: описать модульный подход к проектированию сети Etnterprise рассмотреть виды построения одного из важне...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 9. Физический мир свитчей. Часть 2 Итак, мы рассмотрели, как настроить сеть на компьютере. Что же касается свитча, напомню, что он является устройством 2 уровня модели OSI, а мы должны сконфигурировать IP-адрес, который относится к 3-му уровню. Для этого мы используем управление IP-адресом и переходим к интер...

Хакеры опубликовали огромную базу данных с 773 миллионами уникальных почтовых адресов и 22 миллионами паролей (Проверьте, нужно ли вам менять пароль) Стало известно об очередной крупной утечке персональной информации пользователей. Неизвестные выложили в интернет базу данных объемом 87 ГБ, содержащую 773 миллиона уникальных адресов электронной почты и 22 миллиона уникальных паролей. Об инциденте сообщил известный эксперт ...

Security Week 48: гигантская утечка данных и уязвимость в Whatsapp 22 ноября эксперты компании DataViper Винни Тройя и Боб Дьяченко сообщили об обнаружении крупной (мягко говоря) базы данных, содержащей персональные данные о более чем миллиарде человек (новость, оригинальный отчет). Сервер Elasticsearch был доступен без авторизации, всего т...

[Перевод] NLog: правила и фильтры NLog: правила и фильтры В Confirmit мы используем библиотеку NLog для логирования в наших .NET-приложениях. Хотя для этот библиотеки существует документация, для меня было сложно понять, как все это работает. В данной статье я попытаюсь объяснить, как правила и фильтры приме...

Структура DNS пакета Предисловие Решил как то написать снифер DNS, так сказать just for fun. Просто посмотреть какие адреса в моей системе резолвятся. Протокол старый, документации должно быть много. Много. Но все статьи очень не полные и заканчиваются, на самом интересном моменте. Да, есть rf...

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

Упрощенный доступ к данным внутренней FAT12 для STM32 В предыдущей статье был рассмотрен вариант использования микроконтроллера STM32F103C8T6 как flash накопителя с внутренней файловой системой FAT12. Теперь можно рассмотреть, каким образом получить данные из нашей внутренней файловой системы. К примеру нам необходимо хранить н...

[Перевод] Почему вам следует использовать pathlib От переводчика: Привет, хабр! Представляю вашему вниманию перевод статьи Why you should be using pathlib и её продолжения, No really, pathlib is great. Много внимания нынче уделяется таким новым возможностям Python, как asyncio, оператору :=, и опциональной типизации. При э...

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

Telegram-бот называет пароли от вашего адреса электронной почты Созданием бота занимается эксперт по безопасности из Казахстана Батыржан Тютеев. Бот находится в мессенджере Telegram по логину @mailsearchbot. Далее, отправляя ему единичные запросы, содержащие интересующий вас email, вы получите список из паролей, которые использовались ...

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

[recovery mode] Расширение (плагин) SketchUp для проектирования мебели программистом При расчете стоимости новой кухни цена оказалась такой большой, что я решил сделать её сам так как это обойдется в два раза дешевле. Для тренировки решил сделать для себя рабочий стол. Достаточно быстро пришло понимание: чтобы сделать хорошую вещь нужно сделать 3D модель. Эт...

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

[Из песочницы] Язык программирования, помещающийся на почтовой открытке Источник Ральф Джонсон, один из членов "Банды четырёх", однажды показал, как синтаксис языка Smalltalk-80 можно уместить на почтой открытке. Сейчас, спустя почти 30 лет после появления первой версии Smalltalk, самым быстроразвивающимся диалектом Smalltalk является...

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

«Почта России» прекратила выдавать и отправлять все посылки Так сложились обстоятельства, что на российской территории существует только одна единственная почтовая служба, и это конечно же «Почта России». Она существует в стране уже более чем 15 лет, занимаясь доставкой почтовых отправлений россиян, а вместе Сообщение «Почта России»...

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

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

[Из песочницы] Как быть опубликованным в Google Play в 2019 Вступление Опубликовать приложение, не нарушив ни чьих прав, стало непростой задачей. За последние пару лет в Google Play добавилось множество новых правил и ограничений, причем некоторые из них действуют только в определенных регионах и бремя отслеживания какие ограничения ...

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

[Перевод] Reflective Shadow Maps: Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «Reflective Shadow Maps» автора Eric Polman. Reflective Shadow Maps (RSM) (отражающие карты теней) ― это алгоритм, расширяющий “простые” shadow map. Алгоритм учитывает свет, рассеянный после первого попадания на пов...

[Из песочницы] WWDC19: Приступим к работе с Test Plan для XCTest Привет, Хабр! Представляю вашему вниманию перевод статьи «WWDC19: Getting Started with Test Plan for XCTest» автора Shashikant Jagtap. На прошедшей конференции WWDC компания Apple показала новые классные фичи для разработчиков. В Xcode 11 так же добавлено несколько потряс...

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

Исправляем паттерн проектирования — Singleton в PHP Недавно я писал о том, как сломать паттерн проектирования — Singleton в PHP. После написания статьи я искал новый вариант реализации паттерна: есть ли способ создать Singleton в PHP, не давая возможности создавать новые экзепляры класса с помощью Closure::bind()? Читать даль...

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

[Из песочницы] Создание Redux-подобного глобального хранилища, используя React Hooks Привет, Хабр! Представляю вашему вниманию перевод статьи "Build a Redux-like Global Store Using React Hooks" автора Ramsay. Давайте представим, что я написал интересное предисловие к этой статье и теперь мы сразу можем перейти к по-настоящему интересным вещам. Если...

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

Функциональное тестирование навыков Яндекс Алисы на Node.js Прошел почти год с того момента, как появилась возможность создавать свои навыки для Алисы — голосового помощника от Яндекса. В каталог ежедневно прибывают новые навыки, а их общее число составляет несколько сотен. К сожалению, общение с некоторыми навыками мягко говоря "не...

[Из песочницы] Три парадигмы Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Three Paradigms» автора Robert C. Martin (Uncle Bob). За последние 40 лет технологии аппаратного обеспечения увеличили вычислительную мощность наших устройств более чем на двадцать порядков. Теперь мы играем в Angry ...

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

Как проверить электронную почту на взлом с помощью Telegram-бота Вам когда-нибудь приходилось сталкиваться со взломом своей электронной почты? Если да, то, скорее всего, вы узнавали об этом уже после того, как злоумышленник как-то ей воспользовался. К примеру, у меня таким образом «угнали» мой аккаунт Apple ID и даже заблокировали привяз...

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

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

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

[Перевод] Разбираемся с асинхронностью в JavaScript [Перевод статьи Sukhjinder Arora] Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding Asynchronous JavaScript» автора Sukhjinder Arora. Читать дальше →

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

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

Создание таблиц в дизайн системе Figma и реализация в Storybook (React) В предыдущей статье на тему дизайна таблиц в Фигме мы выяснили, что базовый элемент создания любого data grid — это компонент ячейки, внутри которого спрятано все необходимое для того, чтобы оставаться в одном экземпляре и строить таблицы ячейка-за-ячейкой. Теперь поговори...

[Перевод] Указатели в Python: в чём суть? Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам упр...

Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...

СМИ подняли панику, что «в России кончаются IP-адреса». Как на самом деле? Распределение адресного пространства IPv4 (слева) и IPv6 (справа), апрель 2018 года На прошлой неделе немало шума наделала статья «К концу сентября в России закончатся IP-адреса» в РБК (123 000 просмотров), которую затем подхватили другие СМИ. На самом деле никаких причи...

«Почта России» с 1 февраля ввела новые правила получения посылок Вот уже как много лет на территории РФ существует единственная в своем роде почтовая служба, а называется она «Почта России». Ее услугами вынуждены пользоваться все граждане страны, которым нужно за минимальную сумму денег отправить или Сообщение «Почта России» с 1 февраля ...

DevOps LEGO: как мы пайплайн на кубики раскладывали Поставили мы как-то заказчику на один объект систему электронного документооборота. А потом на другой объект. И еще на один. И на четвертый, и на пятый. Увлеклись настолько, что дошли до 10 распределенных объектов. Мощно получилось… особенно когда мы дошли до поставки измене...

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

[Перевод] Учебник по JavaFX: расширенные макеты Как организовать и разместить GUI компоненты в приложении JavaFX, используя расширенные макеты. В предыдущей статье мы рассмотрели некоторые основные макеты JavaFX. Теперь пришло время рассмотреть остальные имеющийся макеты. Учебник по JavaFX: начало работы Учебник по Ja...

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

Уязвимость в iOS 13 позволяет обойти пароль и получить доступ к контактам iOS 13 Golden Master Тестовая версия обновления — на то и тестовая, что практически наверняка содержит те или иные недоработки, которые предстоит выявить в процессе её исследования тестировщиками. iOS 13 не была в этом смысле исключением, поскольку содержала несколько ...

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

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

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

[Перевод] Десять лет на удалёнке Ещё во время учёбы в колледже (вперёд, Бронкос!) мы с Алеком запустили стартап. Мы были молоды, неопытны и наивны. Наш первый проект назывался YippieMail: агрегатор электронной почты. Проще говоря, YippieMail отображает все ваши почтовые ящики (например, Hotmail, Yahoo, Gmai...

[Перевод] Создание игры «Крестики-нолики» при помощи TypeScript, React и Mocha Представляем вам перевод статьи Josh Kuttler, опубликованной на blog.bitsrc.io. Узнайте, как создать приложение «Крестики-нолики», используя React и TypeScript. Простая игра в крестики-нолики создана по модульному принципу и загружена на сайт Bit. Вы можете изменять компо...

[Из песочницы] Учебник по JavaFX: начало работы Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka. Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK. Читать дальше →

Введение в контекстно-ориентированное программирование на Kotlin Это перевод статьи An introduction to context-oriented programming in Kotlin В этой статье я постараюсь описать новое явление, которое возникло как побочный результат стремительного развития языка Kotlin. Речь идет о новом подходе к проектированию архитектуры приложений и б...

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

[Перевод] Я просканировал всю Австрию и нашёл… ...IP-камеры, принтеры, АСУ ТП и многое другое Отказ от ответственности: статья — результат нескольких недель работы. О самых больших проблемах я сообщил владельцам серверов, если смог их найти, а о других — в Cert.at. Кроме того, я не пытался войти ни на какое устройство/се...

Особенности настройки Palo Alto: SSL VPN Несмотря на все преимущества межсетевых экранов Palo Alto, в рунете не так много материалов по настройке этих устройств, а также текстов, описывающих опыт их внедрения. Мы решили обобщить материалы, накопленные у нас за время работы с оборудованием этого вендора и рассказа...

Быт и нравы фантазёров В конце статьи есть краткое содержание. В работе с изменениями, чего бы конкретно они не касались – будь то стратегия развития компании, системы мотивации, орг.структура или правила оформления кода – всегда есть одно ключевое звено: идеи. Идеи отвечают на вопрос «а чего, со...

Вокруг света с электронной книгой: обзор ONYX BOOX James Cook 2 «Сделайте хотя бы раз то, что, по словам окружающих, вам не по плечу. После этого вы уже никогда не будете обращать внимание на их правила и ограничения.»  Джеймс Кук, английский военный моряк, картограф и первооткрыватель К выбору электронной книги каждый подходит по-сво...

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

iOS 13 официально представлена: темная тема, обновленные приложения, конфиденциальность Компания Apple провела традиционную конференцию для разработчиков WWDC 2019, где представила несколько новых устройств и программные новинки. Наиболее ожидаемым был анонс новой версии операционной системы iOS 13. Если не считать появления долгожданной темной темы, визуально...

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

Техподдержка 3CX отвечает — 5 правил безопасности IP-АТС Взломы АТС 3CX, которые приводят к серьезным последствиям, случаются достаточно редко. Тем не менее, наши клиенты иногда становятся жертвами мошенников. Как показала практика, в основном это связано или с неверными настройками системы, или с использованием устаревшей версии ...

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

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

[Перевод] Программный поиск общего кода с помощью oEmbed Всем доброго времени суток! Хочу поделиться переводом статьи ""Programmatically Discovering Sharing Code With oEmbed" автора Drew McLellan. Введение На многих сайтах размещены мультимедиа и контент, которыми можно поделиться в другой платформе с помощью некоторого HTML-кода...

[Перевод] Service mesh для микросервисов. Часть III. Более глубокий взгляд на Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Это третья статья из серии публикаций, посвященных  Kubernetes и технологии service mesh (также известной как «сеть микросервисов» и «mesh-сеть микросервисов»). В ...

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

Почта Mail.ru запускает интерактивные письма Почтовый сервис Mail.ru запустил электронные письма на базе технологии AMP (Accelerated mobile pages). Технология AMP в почтовом сервисе позволит обновлять информацию в письмах в реальном времени. Сами получатели также смогут работать с полученным контентом, например, изменя...

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

[Перевод] Настало ли время для URL, содержащих эмодзи? Домены с эмодзи существуют уже много лет, но до сих пор не обрели популярность [К сожалению, редактор Хабра не позволяет вставлять в текст эмодзи. Эмодзи-ссылки можно найти в оригинальном тексте статьи (копия статьи на сайта Archive) / прим. перев.] Если вы введёте в адре...

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

BESTFILAMENT теперь и в Минске! Отличная новость, друзья! Открылся новый склад Bestfilament в Минске!Теперь жители Беларуси могут заказывать пластик напрямую с ближайшего склада.Чтобы заказать пластик напрямую со склада в Минске: - выберите регион Минск на сайте bestfilament.ru - или сразу переходите по эт...

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

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

Как Habr помогает исполнять мечты Вы, наверное, знаете как сильно я ценю Хабр. Это не просто сайт с релевантной информацией. Это сообщество людей, нетворкинг. В этом посте краткая история о том, как Habr исполняет мечты. Как за 6 месяцев из идеи можно сделать MVP, найти инвесторов и создать что-то новое. Пос...

Алиса приобретает навык В этой статье речь пойдёт о голосовых интерфейсах (Voice User Interface — VUI), а также будет показано, как на Node.js можно создать приложение (навык — в терминологии платформы Яндекс.Диалоги) для голосового помощника Алисы. С помощью стороннего API наше приложение будет ...

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

У пользователей macOS Catalina пропадают письма. Как решить проблему Кто-то еще пользуется приложением «Почта» на Mac? Проблемы с macOS Catalina у многих наблюдались еще тогда, когда операционная система была в состоянии бета-версии, но в основном они касались работы сторонних приложений. Многие проблемы Apple успела поправить к рел...

Оптимизация производительности .NET (C#) приложений Статей с подобным заголовком достаточно много, поэтому постараюсь избежать банальных тем. Надеюсь, что даже очень опытные разработчики найдут здесь что-то новое для себя. В данной статье будут рассмотрены только простые механизмы и подходы к оптимизации, которые позволят п...

Как изменилось приложение «Почта» в macOS Catalina Несколько дней назад Apple показала нам новую macOS Catalina. Обновление не стало революционным — компания медленно, но уверенно совершенствует свою настольную операционную систему. Среди списка изменений можно выделить: полный отказ от iTunes, дебют функции Sidecar, ...

[Перевод] Unreal Engine4 — PostProcess эффект сканирования В эти выходные у меня появилось немного свободного времени между занятиями (прим. автор на момент статьи получал степень магистра наук), и я решил вернуться к созданию шейдеров, придумав этот postprocess эффект сканирования. Я представил, что он используется в игре как сво...

Telegram запустил геочаты и позволил передавать права на группы и каналы Мессенджер Telegram получил очередное обновление. Среди основных нововведений – геочаты, а также возможность обмениваться контактами с пользователями рядом и добавлять людей в контакты без номера телефона. Вверху всех новых чатов теперь будет отображаться кнопка «Add to Cont...

[Перевод] Никогда больше не игнорируйте обучение с подкреплением Привет, Хабр! Представляю вашему вниманию перевод статьи «Don’t Ever Ignore Reinforcement Learning Again» автора Michel Kana, Ph.D. Обучение с учителем и обучение без учителя — это ещё не все. Все это знают. Начните с OpenAI Gym. Собираетесь победить чемпиона мира по шах...

[Перевод] Inception bar: новый метод фишинга Доброго времени суток, Хабр! На просторах Интернета мне попалась статья на английском «The inception bar: a new phishing method» автора Jim Fisher. В ней описывается занимательный способ фишинга, механизм которого заключён в использовании экранного пространства строки отобра...

Приложения для электронных книг на операционной системе Android. Часть 4. Игры В сегодняшней, четвёртой (предпоследней), части статьи о приложениях для электронных книг на операционной системе Android будет рассмотрена только одна, но обширная тема: игры. Краткое содержание предыдущих трёх частей статьиВ 1-ой части были подробно рассмотрены причины, п...

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

[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Всем привет, уже через несколько недель мы запускаем новый поток по курсу «Разработчик С++». Этому событию и будет посвящен наш сегодняшний материал Что такое strict aliasing? Сначала мы опишем, ...

[Перевод] F#4: Let / Use / Do В этом посте мы рассмотрим привязки в F#, в частности мы рассмотрим Let / Use / Do. Теперь вы, возможно, спрашиваете себя, что такое привязки, и, поскольку мы еще не рассмотрели их, сейчас самое время поговорить об этом. Проще говоря, привязка связывает идентификатор со зна...

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

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

40 миллионов HTTP запросов/мин на голом Си Введение I/O реактор (однопоточный цикл событий) — это паттерн для написания высоконагруженного ПО, используемый во многих популярных решениях: Node.js Tor Transmission Chromium Memcached ... В данной статье мы рассмотрим подноготную I/O реактора и принцип его работы, нап...

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

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

Небольшой обзор SIMD в .NET/C# Вашему вниманию предлагается небольшой обзор возможностей векторизации алгоритмов в .NET Framework и .NETCORE. Цель статьи познакомить с этими приёмами тех, кто их вообще не знал и показать, что .NET не сильно отстаёт от "настоящих, компилируемых" языков для нативной разрабо...

[Из песочницы] Создаем монорепозиторий с помощью lerna & yarn workspaces За последние несколько лет концепция монорепозиториев успешно зарекомендовала себя, так как позволяет значительно упростить процесс разработки модульных программных проектов, таких как инфраструктуры на основе микросервисов. Основные преимущества такого архитектурного подх...

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

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

Глубины SIEM: корреляции «из коробки». Часть 4. Модель системы как контекст правил корреляции Представьте ситуацию: вы потратили много времени на написание и отладку правил корреляции, а через день обнаружили, что они не работают. Как говорится, никогда такого не было и вот опять! После выясняется, что ночью сеть в очередной раз модернизировали, а парочку серверов за...

Один день из жизни модели ресторана Данная статья описывает новые компоненты фреймворка для имитационного моделирования, ранее представленного в статье «Простая система имитационного моделирования на Go». По мере расширения фреймворка появилась возможность моделировать более сложные системы, например, провест...

[Из песочницы] Перевод руководства по Stream API от Benjamin Winterberg Привет, Хабр! Представляю вашему вниманию перевод статьи "Java 8 Stream Tutorial". Это руководство, основанное на примерах кода, представляет всесторонний обзор потоков в Java 8. При моем первом знакомстве с Stream API, я был озадачен названием, поскольку оно очень созвучно...

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

[Из песочницы] Изучение комбинаторных парсеров с Rust Привет, Хабр! Представляю вашему вниманию перевод статьи "Learning Parser Combinators With Rust". Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого о...

postfix+dovecot+mysql в FreeBSD Введение Почтовый сервер хотел изучить уже давно, но руки дошли только сейчас, да и информации корректной не особо много удавалось найти, поэтому решил написать как можно более подробную публикацию. В данной публикации пойдёт речь не только о postfix, dovecot, mysql, postfix...

Автоматизация Для Самых Маленьких. Часть Вторая. Дизайн сети В первых двух статьях я поднял вопрос автоматизации и набросал её фреймворк, во второй сделал отступление в виртуализацию сети, как первый подход к автоматизации настройки сервисов. А теперь пришло время нарисовать схему физической сети. Если вы не на короткой ноге с устрой...

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

Разработка простейшей «прошивки» для ПЛИС, установленной в Redd. Часть 2. Программный код Итак, в прошлой статье мы разработали простейшую процессорную систему, с помощью которой планируем провести тест микросхемы ОЗУ, подключённой к ПЛИС комплекса Redd. Сегодня же мы сделаем для этой аппаратной среды программу на языке С++, а также разберёмся, как эту программу ...

В Gmail теперь можно зачёркивать текст и скачивать письма Компания Google объявила о запуске новой функциональности в сервисе электронной почты Gmail. В почтовом сервисе добавились такие возможности, как кнопки перечёркнутого текста, отмены и повтора, а также загрузки писем.

[Из песочницы] Операционные vs аналитические базы: колоночное vs построчное хранение данных Базы данных можно реализовать с помощью Excel, GSheet или при помощи больших ORM систем. В своей практике бизнес-аналитика я сталкивался с разными решениями. А поскольку в бизнес-анализ я пришёл из финансов и аудита, то каждый раз встречая новую систему задавался вопросами —...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

Gmail наконец получил интеграцию с сервисом Google Задачи Google на долгое время полностью отказалась от своей автономной службы Tasks и вместо этого встроила функцию напоминания в своего Ассистента, сервис Keep и ныне почивший Inbox. Однако в прошлом году, как гром среди ясного неба, нам представили редизайн Google Tasks в сочета...

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

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

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

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

Миф о кадровом голоде или основные правила формирования вакансий Довольно часто от работодателей можно услышать о таком явлении как «кадровый голод». Я считаю, что это миф, в реальном мире нет кадрового голода. Вместо него есть две реальные проблемы. Объективная – соотношение между количеством вакансий и количеством кандидатов на рынке тр...

Анализ подходов к связыванию модулей в Node.js Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них я в этой статье и расскажу. Будут рассмотрены четыре подхода: Жёсткие завис...

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

[Перевод] Posit-арифметика: победа над floating point на его собственном поле. Часть 1 Часть 2 От переводчика: Тема формата Posit уже была на хабре здесь, но без существенных технических подробностей. В этой публикации я предлагаю вашему вниманию перевод статьи Джона Густафсона (автора Posit) и Айзека Йонемото, посвящённой формату Posit. Так как статья имеет ...

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

Проверка корректности адресов в памяти на Cortex-M0/M3/M4/M7 Привет, Хабр! По поводу случившегося на днях послабления режима, возмущения в комментариях одного соседнего поста о том, что статьи про микроконтроллеры — сплошь мигание светодиодом, а также безвременной гибели моего стандалон-блога, восстанавливать который мне пока лень, п...

Уязвимость блокировщика экрана в Astra Linux Special Edition (Смоленск) В данной статье мы рассмотрим очень одну интересную уязвимость в «отечественной» операционной системе Astra Linux, и так, начнем… Читать дальше →

Как поделиться контактом на iPhone Может показаться, что отправить свою или чью-либо контактную информацию другому человеку с помощью iPhone не составит особого труда, ведь Apple наверняка сделала это процесс как можно более простым. Тем не менее, это не так, что весьма странно для компании, которая старается...

Уязвимость в Zcash позволяет раскрыть IP-адреса полных нод сети Ошибка во всех имплементациях Zcash и большинстве его форков позволяет раскрыть IP-адрес полной ноды, которой принадлежит защищенный адрес (zaddr). Разработчик Komodo Джонатан Лето сообщил в блоге, что баг существует с момента появления протокола Zcash и присутствует во всех...

Follow the money: как группировка RTM стала прятать адреса C&C-серверов в криптокошельке Группировка киберпреступников RTM похищает деньги у банковских клиентов с 2015 г. Большинство ее жертв — российские компании. Вредоносное ПО, которое используют злоумышленники, в ИБ-сообществе так же принято называть RTM. Об этой программе написано довольно много технических...

[Из песочницы] «Статья про минет»: ученые обработали 109 часов орального секса, чтобы разработать ИИ, который сосет член Привет, Хабр! Представляю вашему вниманию перевод статьи Саманты Коул (Samantha Cole) c motherboard.vice.com. Анонимные специалисты по машинному обучению написали «статью про минет», чтобы сделать эту машинку для отсоса более реалистичной. Autoblow AI, секс-игрушка для поль...

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

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

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

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

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

ShIoTiny и окружающий мир: аналоговые датчики или АЦП для самых маленьких Основные тезисы или о чем эта статья Продолжение серии статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266. Ключевой особенностью данного контроллера является возможность его программирования путем рисования программы в браузере. В данной статье о...

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

Перевод «Подготовьте ваши приложения к 64-бит требованиям» Перевод статьи Get your apps ready for the 64-bit requirement блога «Android Developers Blog». Современные 64-бит процессоры увеличивают скорость и обогащают опыт ваших пользователей. Добавление 64-бит версии приложения даёт улучшение производительности, открывает пути для...

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

[Перевод] Распаковка: загрузчик Dridex Доброй ночи, друзья! Менее чем через месяц у нас стартует курс «Реверс-инжиниринг», в связи с этим традиционно делимся полезным материалом по теме. У некоторых читателей были проблемы с распаковкой начального загрузчика для Dridex (того, что был сброшен макросом), поэтому с...

Когда почта доставляет: боремся с потерями push-уведомлений в iOS Со стороны пользователя почтовый клиент — приложение нехитрое. Разработчики Яндекс.Почты даже шутят, что в приложении всего три экрана: список писем; отправка письма; экран about. Но очень много интересного происходит под капотом. Как многие мобильные приложения, Почта испо...

[Из песочницы] Angular. Понимание @Input, @Output и EventEmitter Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding @Input, @Output and EventEmitter in Angular» автора foolishneo. Приветствую всех желающих накапливать информацию о тонкостях работы фреймворка Angular. Сегодня посчитал нужным лучше изучить информацию,...

Утверждены правила недискриминационного доступа к услугам общедоступной почтовой связи Правительство РФ утвердило правила недискриминационного доступа к услугам общедоступной почтовой связи28 декабря 2018, 11:10Lori 0007358713 bigwwwФАС России является разработчиком этого документа В настоящее время в России действуют более двух десятков частных компаний, пред...

20 проектов, 20 языков, срок вчера. Часть 3 Заключительная статья об интеграции Serge+Smartcat. В этой статье я расскажу, как мы масштабируем Serge на всю компанию, рассмотрю 4 нестандартных интеграции и, в качестве бонуса, расскажу о 2 фичах которые могут упростить вам жизнь. Предыдущие статьи: 20 проектов, 20 язык...

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

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

[Из песочницы] Практичный гайд по переменным окружения в Go Привет, Хабр! Представляю вашему вниманию перевод статьи A no-nonsense guide to environment variables in Go автора Enda Phelan. Переменные окружения — лучший способ хранения конфигурации приложения, поскольку они могут быть заданы на системном уровне. Это один из принципов ...

Сжимаем список IP-адресов наилучшим образом Как-то я прочитал на Хабре статью про настройку BGP на роутере. Инструкции оттуда можно использовать для настройки домашнего роутера так, чтобы трафик на определённые IP-адреса шёл через другой канал. Однако здесь есть проблема: список IP-адресов может быть очень большим. ...

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

Garbage Collector. Полный курс + перевод из BOTR В данной статье вы встретите сразу два источника информации: Полный курс по работе Garbage Collector на русском языке: CLRium #6 (текущий семинар здесь) Перевод статьи из BOTR "Устройство сборщика мусора" от Маони Стевенс. Читать дальше →

[Из песочницы] Как разработать ещё один платформер с помощью Unity. Ещё один туториал Привет, Хабр! Под катом вас ждёт ещё одна статья, которая расскажет о том, как я поставил себе цель запрограммировать игру, основываясь на переводе статьи на Хабр под названием Паттерны дизайна уровней для 2D-игр. Статья имеет много текста (как обычного, так и исходного) и м...

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

Полезные советы по использованию Outlook на Android Outlook на Android имеет множество полезных и нужных функций В 2014 году Microsoft приобрела популярное мобильное приложение электронной почты Acompli. Для усиления позиций на рынке почтовых приложений, компания Microsoft произвела ребрендинг программы, выпустив на ее основе...

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

[Из песочницы] Перевод: Стандарт IEEE 802.15.4z. Что нас ждет в будущем? Привет, Хабр! Представляю вашему вниманию перевод статьи «IEEE P802.15. Wireless Personal Area Networks». Перевод статьи: mentor.ieee.org/802.15/documents?is_dcn=coexistence%20document&is_group=004z Файл: 09-Apr-2019 ET Coexistence Document 15.4z Benjamin A. Rolfe (BCA...

Крупнейший дамп в истории: 2,7 млрд аккаунтов, из них 773 млн уникальных и 120 млн новых Известный специалист по безопасности Трой Хант уже несколько лет поддерживает сайт Have I Been Pwned (HIBP) с миллионами записей об украденных аккаунтов. Каждый может проверить там свой email на предмет утечки. Трой Хант следит за хакерскими форумами, покупает базы данных,...

[] 5 простых правил удобного для восприятия кода Ускользает понимание своего или чужого кода? Не можете вникнуть в алгоритм? Проводите кучу время в отладке, но найти место неверной инициализации не получается, а хочется получать удовольствие от кодирования? Вспомните о приведенных ниже правилах и примените их! В статье...

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

Топ Кулеры для ПК Aigo C5. С RGB подсветкой. В данной статье рассмотрен вариант охлаждения ПК при помощи вентиляторов с RGB подсветкой на отдельном контроллере. Рассмотрена комплектация и характеристики.

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

Про установку и использование LineageOS 16, F-Droid Предлагаю вашему вниманию инструкцию как оптимально(по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS(далее сокращённо LOS) и приложений из F-Droid. Я думаю, что это статья будет вам интересна,...

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

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

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

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

3. Типовой сценарий внедрения Check Point Maestro В прошлых двух статьях (первая, вторая) мы рассмотрели принцип работы Check Point Maestro, а также технические и экономические преимущества этого решения. Теперь хотелось бы перейти к конкретному примеру и описать возможный сценарий внедрения Check Point Maestro. Я покажу ...

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

Разработка цифровых продуктов с помощью ментальных моделей Привет, Хабр! Предлагаю вашему вниманию перевод статьи Designing Digital Products with Mental Models автора дизайнера Тима Шеинера. Лучший способ добиться взаимопонимания в проектной команде. Перевод — это сложно Когда-то, путешествуя по Индии, я купил недорогую книжку — ...

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

Как отписаться от всех подписок в Instagram Если вы активно используете Instagram, то наверняка у вас скопилась не одна сотня (а то и тысяча) подписок. И из всех аккаунтов, на которые вы подписаны, порой по-настоящему вам интересна от силы пара десятков. Но при взгляде на огромное количество подписок становится не по...

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

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

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

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

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

[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 2 Всем привет. Сегодня делимся с вами заключительной частью статьи «Тестирование инфраструктуры как код с помощью Pulumi», перевод которой подготовлен специально для студентов курса «DevOps практики и инструменты». Тестирование развертывания Рассмотренный стиль тестирования —...

[Перевод] Сервисная сеть, «Плоскость данных» и «Плоскости управления» (Service mesh data plane vs. control plane) Привет, Хабр! Представляю вашему вниманию перевод статьи «Service mesh data plane vs control plane» автора Matt Klein. В этот раз «захотелось и перевелось» описание обоих компонентов service mesh, data plane и control plane. Это описание мне показалось самым понятным и ин...

RE: Боль и слёзы в Svelte 3 Вместо предисловия Данный пост является ответом на вчерашнюю статью «Боль и слёзы в Svelte 3» и появился как следствие сильно «располневшего» комментария к оригинальной статье, который я решил оформить в виде поста. Ниже я буду использовать слово автор для отсылки к автору о...

[Перевод] Разбираемся с промисами в JavaScript Доброго времени суток, Хабр! Представляю вашему вниманию перевод статьи «Understanding Promises in JavaScript» автора Sukhjinder Arora. Читать дальше →

В сети появилась еще одна коллекция украденных адресов электронной почты и паролей Как и предыдущий архив, он состоит из множества файлов, полученных злоумышленниками из разных источников. По оценка, общее количество сочетаний адресов и паролей в обеих «коллекциях» составляет порядка 2,19 млрд. Еще один архив с украденными адресами электронной почты и п...

Signpost: когда брейкпоинтов недостаточно В предыдущей статье мы узнали о причинах нестабильности unit-тестов и способах борьбы с этим. Теперь мы хотим рассмотреть один из новых инструментов Apple для отладки и профилирования кода. Речь о представленном на WWDC 2018 фреймворке для логирования os_log, который был рас...

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

Язык и органы чувств Привет, Хабр! Представляю вашему вниманию перевод статьи "How your language reflects the senses you use" автора Sophie Hardach. Что вам проще описать: цвет травы или ее запах? Ответ может зависеть от того, откуда вы родом, и, в частности, от того, на каком языке вы с детств...

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

Боль и слёзы в Svelte 3 Вместо предисловия Статья будет полезна тем, кто так-же как и Мы решил попробовать Svelte в живом проекте. В нашу небольшую компанию пришёл заказ на разработку веб-админки для сервиса с бекэндом на Mongodb Stitch. В последние пару лет frontend Мы пишем на React или Vue (в за...

Генеральный директор Почты России: многофункциональные почтовые отделения необходимы для качественного улучшения жизни людей 27 февраля во Владивостоке состоялась встреча генерального директора Почты России Николая Подгузова и губернатора Приморского края Олега Кожемяко. Руководители обсудили совместную реализацию социально значимых проектов региона с использованием возможностей федерального почто...

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

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

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

[Из песочницы] Вступление в архитектуру React Fiber Привет, Хабр! Предлагаю вашему вниманию перевод статьи "React Fiber Architecture" автора Andrew Clark. Вступление React Fiber — прогрессивная реализация ключевого алгоритма React. Это кульминационное достижение двухгодичных исследований команды разработчиков React. Цель Fibe...

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

«Почта России» полностью поражена безумным поступком AliExpress Единственной почтовой службой на территории РФ является «Почта России», которая представляет из себя полного и абсолютного монополиста в данной сфере. Она ежегодно доставляет миллионы почтовых отправлений россиян, но их становится все больше и больше, а Сообщение «Почта Рос...

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

После кампании преследования YouTube изменил правила публикации фанатских переводов для роликов Сервис YouTube изменил свои правила в отношении помощи сообщества. Это было сделано после того, как эта функция была использована для кампании преследования. Согласно новым правилам, добавленные переводы не будут публиковаться на YouTube до тех пор, пока владелец канала не у...

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

[Из песочницы] Планирование в Go: Часть I — Планировщик ОС Привет, Хабр! Представляю вашему вниманию перевод статьи «Scheduling In Go: Part I — OS Scheduler» автора Билла Кеннеди, о том, как работает внутренний планировщик Go. Это первый пост в серии из трех частей, который даст представление о механике и семантике, лежащей в осно...

[Перевод] Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 1 — NLP, Computer Vision Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся т...

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

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

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

Преступники меняют настройки сети в Android-смартфонах Мобильные телефоны Samsung, Sony, Huawei и LG уязвимы для фишинговой атаки, в ходе которой злоумышленники могут изменить настройки устройства и направить пользовательский трафик через свой прокси. Об этом сообщили специалисты Check Point, которые выяснили, что версии Android...

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

Десять самых значимых нововведений в Android 10 Релиз десятой версии Android состоялся. Устройства Pixel уже могут обновиться, всем остальным придется подождать. В Google опубликовали список самых ярких нововведений. Выглядит он вот так: Функция «Быстрый ответ» теперь предлагает варианты действий. Если кто-нибудь отправ...

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

Softline перевела почту химической компании в облако Эксперты Softline обеспечили стабильную работу почтовых сервисов компании Kazakhstan Petrochemical Industries Inc. при помощи миграции электронной почты на Exchange Online и настройки Skype for Business Online. Заказчик получил единую коммуникационную платформу, отвеч...

[Перевод] Внутренности JVM, Часть 1 — Загрузчик классов Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В этой серии статей я расскажу о том, как работает Java Virtual Machine. Сегодня мы рассмотрим механизм загрузки классов в JVM. Читать дальше →

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

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

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

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

[Перевод] Вся правда об ОСРВ. Статья #28. Программные таймеры Идея программных таймеров была введена в одной из предыдущих статей. Они являются объектами ядра, предоставляющими задачам простой способ запуска событий по времени, или, чаще всего, способ выполнять действия на регулярной основе. Все детали функционала, связанного со времен...

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

Операция TA505: сетевая инфраструктура группировки. Часть 3 Анализ сетевой инфраструктуры играет большую роль в исследовании вредоносных кампаний. Сведения о том, какие IP-адреса соответствовали доменному имени в различные промежутки времени, позволяют определить новые серверы злоумышленников. Решение противоположной задачи (ретрос...

VMware NSX для самых маленьких. Часть 3. Настройка DHCP Часть первая. Вводная Часть вторая. Настройка правил Firewall и NAT DHCP – сетевой протокол, позволяющий вашим виртуальным машинам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. В NSX Edge есть три опции настроек DHCP: 1) DHCP p...

[Перевод] Метаморфическое тестирование: почему об этой перспективной методике почти никто не знает Должен признаться: я читаю ACM Magazine. Это делает меня «ботаником» даже по меркам программистов. Среди прочего, я узнал из этого журнала о «метаморфическом тестировании». Раньше я никогда о нём не слышал, как и все люди, которых я спрашивал. Но научная литература по этой ...

Юзабилити корзины и чекаута: анализ топ-20 российских нишевых интернет-магазинов В статье я анализирую по ряду показателей корзину и заказ в топовых интернет-магазинах, ее выводы легли в основу рекомендаций, описанных в статье: Проектирование интернет-магазина для SEO: (теория + чеклист) Наиболее частая точка потери клиентов в интернет-магазине, это кор...

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

Почта Mail.ru реализовала поиск документов во вложениях по ключевым словам Почта Mail.ru научилась распознавать тип скана документа по внешнему виду. Теперь пользователь может искать документы в почтовом ящике по ключевым словам («паспорт», «загран», «права» и так далее), и Почта найдет их, даже если ключевого слова нет в названии или в письме. Ран...

[Из песочницы] Классификация покрова земли при помощи eo-learn. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи "Land Cover Classification with eo-learn: Part 1" автора Matic Lubej. Предисловие Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиоте...

Как понять, что Facebook использует ваши контакты без разрешения и как с этим бороться Уже неоднократно упоминалось о том, что один из современных гигантов Кремниевой Долины Facebook собирает массу данных о своих пользователях. Более того, в сеть просачивалась и информация о том, что Facebook весьма небрежно относится к этим данным, чуть ли не «раздавая&...

Да возрадуйтесь же Android-пользователи! Разработчики Spark передумали На Android существует множество почтовых клиентов и, даже не смотря на это, многие предпочитают использовать установленный по умолчанию Gmail. Некоторые даже никогда не задумывались над тем, что кроме Gmail может еще что-то существовать – вот такие вот они непритязательные ...

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

Настройка GAL в Zimbra Collaboration Suite Стандартной функцией всех систем совместной работы на сегодняшний день является адресная книга предприятия или Glabal Address List, в которой содержится информация о должностях, местоположении рабочих мест, а также рабочие номера телефонов и почтовые адреса всех сотрудников....

Проектирование интернет-магазина для SEO: (теория + чеклист) Что стоит учесть при проектировании интернет-магазина, чтобы не пришлось переделывать пол сайта для начала продвижения. Статья разбита на две части. Теория: о том, что в принципе можно учесть в SEO интернет-магазина и как это работает. Чек-лист: 80 пунктов, по которым легко...

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

[Из песочницы] Глубокое ранжирование для сравнения двух изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «Image Similarity using Deep Ranking» автора Akarsh Zingade. Алгоритм Deep Ranking Понятия "сходства двух изображений" — введено не было, поэтому давайте введем данное понятие хотя бы в рамках статьи. Сходс...

[Из песочницы] Криптография в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "Java Cryptography" автора Jakob Jenkov. Данная публикация является переводом первой статьи Java Cryptography из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Из песочницы] Подключение сторонних аудио и видео решений к Microsoft Teams Привет, Хабр! Представляю вашему вниманию перевод-адаптацию статьи «Integrating Third-Party Voice & Video with Microsoft Teams» автора Brent Kelly, в которой он рассматривает проблему интеграции Microsoft Teams с другими продуктами. 9 июля 2018 г. Пригодится ли теперь ваша...

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

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

ZX Spectrum 128k своими руками. Часть 2 Первая часть здесь Все изображения кликабельны. Прошло больше года c того момента как я написал статью про сборку клона ZX Spectrum «Ленинград». И за это время его возможности существенно расширились. Не думал что я буду писать ее продолжение, но все таки статей по ретрок...

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

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

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

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

На пути к ядру Питона Привет, Хабр! Представляю вашему вниманию перевод статьи Toward a “Kernel Python” автора Glyph Lefkowitz (создателя фреймворка Twisted). Подробнее — под катом. Читать дальше →

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

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

[Из песочницы] Как научиться учиться Привет, Хабр! Представляю вашему вниманию перевод статьи «HOW TO LEARN HOW TO LEARN». Заметки и наблюдения о том, как лучше организовать свой учебный процесс. Мы, IT-шники, обречены на постоянное обучение до конца жизни. Еще 10-15 лет назад знания Java и JSP-серверлетов б...

Вычисляем потенциальных «злых» ботов и блокируем их по IP Доброго дня! В статье расскажу как можно пользователям обычного хостинга отловить IP адреса генерирующие излишнюю нагрузку на сайт и затем блокировать их при помощи средств хостинга, будет «чуть-чуть» php кода, несколько скриншотов. Читать дальше →

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

Security Week 47: нетривиальные уязвимости В прошлом году у нас уже был дайджест про нетривиальные атаки. Тогда речь шла про DoS-атаку на ПК через акустическое воздействие на жесткий диск и кражу пользовательских данных через хак со стилями CSS. А на прошлой неделе как раз было опубликовано два исследования про уязви...

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

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

[Перевод - recovery mode ] Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему? Несмотря на мой статус и очевидную предвзятость как одного из создателей D, я постараюсь отвечать откровенно; Я следовал путям Go и Rust, и я абсолютно точно знаю, где стирают грязное белье в D. Я поощряю людей на аналогичных позициях в сообществах Rust и Go чтобы и они дели...

Как на Mac выбирать рингтоны (мелодию звонка) для выборочных контактов с iPhone Начиная с iOS 8 и OS X 10.10 Yosemite, устройства Apple, связанные одним Apple ID получили новые возможности интеграции. Например, пользователи могут присвоить уникальный рингтон и мелодию на сообщение любому iPhone-контакту прямо с Mac. ПО ТЕМЕ: Как сделать, скачать и устан...

[Перевод] Инструментарий для рефакторинга баз данных: Flyway vs. Liquibase В этой статье мы поговорим о Flyway и Liquibase — двух наиболее популярных инструментах на основе Java для рефакторинга баз данных. Цель статьи — сравнить эти инструменты и выяснить, какой из них в каких случаях лучше применять. Читать дальше →

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

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

Улучшение агента на основе Q-Learning, торгующего stocks, путем добавления рекуррентности и формирования наград Напоминание Привет, Хабр! Предлагаю вашему вниманию ещё один перевод моей новой статьи с медиума. В прошлый раз (первая статья) (Habr) мы создали агента на технологии Q-Learning, который совершает сделки на имитированных и реальных биржевых временных рядах и пытались провер...

[Из песочницы] Ограничения машинного обучения Привет, Хабр! Представляю вашему вниманию перевод статьи “The Limitations of Machine Learning“ автора Matthew Stewart. Большинство людей, читающих эту статью, вероятно, знакомы с машинным обучением и соответствующими алгоритмами, используемыми для классификации или прогнози...

Безопасный доступ к полям регистров на С++ без ущерба эффективности(на примере CortexM) Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg Всем доброго здравия! В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части про...

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

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

Google добавила в почту поддержку AMP-страниц. Теперь письма будут гораздо полезнее Можно заполнять формы и совершать покупки прямо из почтового клиента.

SamsPcbGuide, часть 9: Гальваническая изоляция, безопасность и печатные платы Данная статья продолжает рассмотрение вопроса, поднятого @olartamonov, а именно, обеспечение безопасности в высоковольтных приложениях. В статье будут рассмотрены физические основы пробоя диэлектриков, а также новый стандарт безопасности. Читать дальше →

Игровой портал Plаy Vulcan Отличной площадкой для проведения азартных игр является сайт казино Вулкан http://play-vulcan-now.ru/club-na-dengi. Именно тут можно смело и без опаски провести свой онлайн досуг и неплохо на нем заработать. Вопросы о том, миф или реальность «Заработок в казино», давно уже р...

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

[Перевод] Управление ЖК-матрицей F-51543NFU-LW-ADN / PWB51543C-2-V0 (от ленточной библиотеки) И снова привет, Хабр! Сделав перевод статьи об управлении ЖК-модулем с драйвером, но без собственного видео-ОЗУ, я решил перевести ещё одну публикацию на ту же тему. Здесь модуль уже попроще, монохромный, но «оживить» его не менее интересно. Читать дальше →

[Из песочницы] 27 вещей, которые я хотел бы узнать заранее, прежде чем начинать программировать Привет, Хабр! Представляю вашему вниманию перевод статьи «27 things I wish I knew when I started programming» автора Ken Mazaika. Заранее, прежде чем начинать программировать, хотелось бы узнать массу вещей, но вот 27 из них, которые приходят на ум. Читать дальше →

[Из песочницы] Изучить отзывчивый веб-дизайн за 5 минут Привет, Хабр! Представляю вашему вниманию перевод статьи «Learn responsive web design in 5 minutes» автора Per. В этой статье я научу вас многим приёмам отзывчивого дизайна за 5 минут. Этого, очевидно, недостаточно для правильного изучения, но здесь вы найдёте обзор на след...

[Из песочницы] Эффективные и не эффективные методы кодинга на Python Привет, Хабр! Предлагаю Вашему вниманию перевод статьи Good and Bad Practices of Coding in Python автора Duomly. Python – высокоуровневый язык программирования, акцентирующий внимание на удобочитаемости. Он разрабатывается, поддерживается и часто используется в соответствии...

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

Топ-5 нововведений Android Q, которые давно есть в iOS Мало кто помнит, что были времена, когда iOS не отличалась широким набором функций, а большинство нововведений, которые появлялись в обновлениях ОС, в той или иной степени были позаимствованы у Android. Но поскольку ничего вечного не бывает, то пришло время для обратного за...

Разбираем протокол пейджерных сообщений POCSAG, ч2 Привет, Habr! В первой части был рассмотрен протокол обмена пейджерными сообщениями POCSAG. Были рассмотрены цифровые сообщения, перейдем теперь к более «полноценным» сообщениям в формате ASCII. Тем более, что декодировать их интереснее, т.к. на выходе будет читаемый текст....

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 13. Настройка VLAN Сегодняшний урок мы посвятим настройкам VLAN, то есть попробуем проделать всё то, о чем говорили на предыдущих уроках. Сейчас мы рассмотрим 3 вопроса: создание VLAN, присваивание портов VLAN и просмотр базы данных VLAN. Откроем окно программы Cisco Packer tracer с нарисован...

Как сделать BTC-транзакцию без сдачи из мелких монет Многие кошельки биткоина при выборе монет для отправки предпочитают использовать крупную монету, баланс которой больше отправляемой суммы. После каждой такой транзакции образуется монета-сдача. Через какое-то время весь кошелёк зарастает такими монетами порядка 0.001 (~10 д...

Как загрузить музыку и видео с YouTube бесплатно, без СМС и регистрации Популярный видеохостинг YouTube уже давно предоставляет не только услуги по просмотру видеороликов, но и позволяет слушать музыкальные композиции. Благодаря функции YouTube Music Premium вы можете загружать и слушать музыку без рекламы в фоновом режиме. Это, конечно, замеча...

История о том, как мы иконку PVS-Studio меняли Релиз 7.0 ознаменовал новую веху в истории анализатора PVS-Studio – теперь доступен анализ не только кода, написанного на C, C++, C#, но также и Java. Кроме этого глобального нововведения продолжают улучшаться и дорабатываться существующие механизмы анализа, добавляются ди...

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

[Из песочницы] Arduino и прерывания таймера Привет, Хабр! Представляю вашему вниманию перевод статьи "Timer interrupts" автора Предисловие Плата Arduino позволяет быстро и минимальными средствами решить самые разные задачи. Но там где нужны произвольные интервалы времени (периодический опрос датчиков, высок...

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

Улучшаем работу Wi-Fi. Часть 3. Размещение точек доступа Обычно, когда говорят, что можно повысить качество работы чего-либо, то имеют в виду внедрение каких-либо новинок, обновлений, в общем всего того, что связано с приобретением новой техники. Однако в погоне за техническими новинками иногда упускаются такие важные вещи как ус...

«Почта России» заменит марки QR-кодами ФГУП «Почта России» объявила о запуске в пилотном режиме новой системы оплаты почтовых услуг, базирующейся на электронном сервисе по генерации и обработке двумерных кодов (QR-кодов)...

[Перевод] Дизайн видеоигр: нужно понимать, что наследуешь В прошлом году я сделал короткий доклад на GDC о важности понимания того, на каком наследии прошлого основана ваша игра. Видео доклада опубликовано здесь (моя часть начинается с 28:50): Ссылка Три страйка — и ты выбываешь. Эта фраза настолько популярна, что практически ста...

[Из песочницы] TON: рекомендации и лучшие практики Эта статья является переводом документа, опубликованного на странице блокчейна TON: smc-guidelines.txt. Возможно кому-то это поможет сделать шаг в сторону разработки для этого блокчейна. Также, в конце я сделал краткое резюме. Читать дальше →

[Перевод] Mozilla собирается использовать WASI для всех устройств, компьютеров и операционных систем Всем привет! На связи TestMace и мы продолжаем знакомить вас с самыми горячими новостями из мира JavaScript. На очереди перевод статьи о WASI — технологии, которая позволит использовать WebAssembly вне браузеров Один формат, чтоб править всеми Компания Mozilla на этой недел...

Основы формата GLTF и GLB, часть 1 Что такое GLTF и GLB? GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. Данный формат хоро...

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

[Перевод] Smem – Отчеты о распределении памяти между процессами и пользователями в Linux И снова здравствуйте. Друзья, хотим поделиться с вами переводом полезного материала о мониторинге использования памяти в Linux. Данный материал подготовлен специально для студентов курса «Администратор Linux». Управление памятью в вопросах мониторинга ее использования – о...

Срочно смените пароль! В сеть утекло более 87 ГБ краденных данных. База данных, созданная неизвестными хакерами и выложенная в открытый доступ, содержит почти 773 млн адресов электронной почты и более 21 млн паролей. В ней, в том числе, имеются и учетные данные российских пользователей.

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

[Перевод] Универсальность картриджей: датчики в играх для Game Boy К концу 90-х большинство игровых домашних консолей перешли с картриджей на оптические диски. Однако большинство портативных консолей, за несколькими исключениями, никогда не переходили на диски; они продолжали работать на картриджах и постепенно мигрировали в сторону скачив...

[Из песочницы] Учебное пособие по TensorFlow: 10 минутное практическое занятие по TensorFlow для начинающих [перевод] Привет, Хабр! Представляю вашему вниманию перевод статьи "TensorFlow Tutorial: 10 minutes Practical TensorFlow lesson for quick learners" автора Ankit Sachan. Этот туториал по TensorFlow предназначен для тех, кто имеет общее представление о машинном обучении и пыта...

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

PayPal оставила Pornhub без денег. Более ста тысяч авторов порно лишились заработка Команда платёжной системы PayPal объявила, что сервис больше не поддерживает платежи для Pornhub, одного из самых популярных порносайтов в мире.  Об этом сообщило издание Vice. Данное решение повлияет на «сотни тысяч» людей, использующих Pornhub ...

Google открыл исходный код своего парсера для robots.txt В рамках инициативы по переводу Robots Exсlusion Protocol (REP) в разряд официальных стандартов Google открыл исходный код своего парсера для robots.txt. В частности, речь идёт о C++ библиотеке, которую системы Google используют для парсинга и сопоставления правил в файлах r...

[Из песочницы] Машинное обучение для всех, кто изучал математику в восьмом классе Привет, Хабр! Представляю вашему вниманию перевод статьи "Machine Learning for Anyone Who Took Math in Eighth Grade" автора Kyle Gallatin. Я обычно замечаю, что искусственный интеллект объясняется одним из двух способов: через все более сенсационную призму различн...

[Перевод] Программная архитектура и проектирование систем: общая картина и путеводитель по ресурсам Здравствуйте, коллеги. Сегодня на ваш суд предлагается перевод статьи Тугберка Уруглу (Tugberk Uruglu), который взялся в сравнительно небольшом объеме изложить принципы проектирования современных софтверных систем. Вот что автор сообщает о себе в сухом остатке: Поскольку ...

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

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

Как 3D-принтер помог подростку пострадавшему от бомбардировки получить новую руку Перевод статьи из The Guardian сделан для вас Top 3D Shop. Когда Мик Эбелинг прочёл о южносуданском мальчике потерявшем обе руки, он вооружился 3D-принтерами и отправился в путешествие, чтобы изготовить для подростка новые конечности. Теперь этот проект дарит надежду ещё ...

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

Функциональные интерфейсы… в VBA "…те, кто не прочь поглазеть на любителя прилюдно свалять дурака, пусть понаблюдают, как я доказываю, что Java и Visual Basic – близнецы, разлученные при рождении, а С++ им даже не дальний родственник." Брюс Мак-Кинни “Крепкий орешек Visual Basic” Введение Постоянный инте...

Эксперты рассказали как работает бэкдор LightNeuron Бэкдор LightNeuron, за которым стоит криминальная группировка Turla, берет под контроль почтовые серверы Microsoft Exchange. Об этом рассказали ИБ-специалисты, которые изучили работу зловреда в скомпрометированных системах. По мнению экспертов, программа действует на одном у...

Software Defined Radio — как это работает? Часть 3 Привет Хабр. Во второй части были рассмотрены практические аспекты использования SDR. В этой части мы разберемся, как принять данные метеоспутника NOAA с помощью Python и недорогого (30$) приемника RTL-SDR. Рассмотренный код будет работать везде — на Windows, OSX, Linux и д...

Данные онлайн-казино утекли в открытый доступ Судя по всему, сервер принадлежит компании, контролирующей деятельность нескольких онлайн-казино. Среди сайтов, данные пользователей которых были собраны на сервере, присутствуют kahunacasino.com, azur-casino.com, easybet.com, viproomcasino.net и ряд других.Часть этих домено...

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

Тесты или типы? — Rust version Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как "чёрный ящик", не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем...

Как сгенерировать гипотезы о потребностях потенциальных потребителей вашего будущего продукта Подавляющее большинство бизнесов умирает потому, что предлагают продукт, который не нужен потребителям. Это известное высказывание Эрика Риса, автора методики Lean Startup. Как не попасть в эту ловушку со своим проектом? Ответ прост – прежде чем делать продукт, нужно прове...

Компании "Filamentarno!" исполняется 4 годика! Приветствуем всех завсегдатаев "тридесюдей"! Спешим сообщить, что, несмотря на 1 апреля, сегодня есть место и для серьезных новостей А именно - нам исполняется 4 года! Мы долго к этому шли, падали, снова поднимались, и снова шли. И вот мы с вами уже четыре года, и очень это...

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

[Перевод] Пишем чистый и масштабируемый JavaScript-код: 12 советов Язык JavaScript родом из раннего веба. Сначала на нём писали простые скрипты, которые «оживляли» страницы сайтов. Теперь же JS превратился в полноценный язык программирования, который можно использовать даже для разработки серверных проектов. Современные веб-приложения силь...

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

«Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience) В последнее время мне все чаще на глаза попадается информация о фреймворке для машинного обучения Ml.NET. Количество упоминаний о нем переросло в качество, и я решил хотя бы одним глазком глянуть, что же это за зверь такой. Ранее мы с вами уже пробовали решить простейшую з...

[Перевод] Реализация анимации в React Native Перевод статьи подготовлен специально для студентов курса «ReactJS/React Native-разработчик». Трудно себе представить мобильное приложение, в котором нет анимации. В вебе анимации обычно простые, если они есть вообще (максимум – одна страница сменяет другую). Анимации же...

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

Сбалансированные двоичные деревья поиска: реализация на Julia Иллюстрация из работы Г.М. Адельсон-Вельского и Е.М. Ландиса 1962 года Деревья поиска — это структуры данных для упорядоченного хранения и простого поиска элементов. Широко применяются двоичные деревья поиска, в которых у каждого узла есть только два потомка. В этой статье ...

К дню космонавтики. Продолжение истории советского баллистического центра «Земля слушает». Нестеров.В.Д. 1965 год Моя прошлая статья с, возможно, претенциозным названием вызвала оживленную дискуссию. Чтобы дать ответы на часть вопросов, я решил выложить письмо Платонова полностью, без какой-либо редактуры. Тем более что оно представляет историче...

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

Итоги конкурса компании Aerocool — кто же выиграл главный приз? Дорогие друзья! Вот и завершился конкурс, который наш сайт провел совместно с компанией AeroCool Advanced Technologies (AAT), популярным изготовителем компьютерной периферии – корпусов, вентиляторов, многофункциональных панелей управления, блоков питания и т.д. Напомним, что...

«Почта России» будет удаленно взимать плату при покупке свыше 500 евро С 1 января 2019 года беспошлинный порог понижен в два раза и составляет 500 евро для покупок в интернет-магазинах, которые сделаны в течение одного месяца. До сих пор было неясно, каким образом покупатели будут платить пошлину при превышении данного порога. Оказалось, что с...

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

[Перевод] Леворекурсивные PEG грамматики Я упоминал о левой рекурсии как о камне преткновения несколько раз, и пришло время разобраться с этим. Основная проблема заключается в том, что парсер с лево-рекурсивным спуском мгновенно падает из-за переполнения стека. Содержание серии статей о PEG-парсере в Python PEG пар...

Automator: Массовая рассылка писем Automator можно по праву назвать одним из самых недооцененных приложений на macOS. Увы, но многие пользователи не догадываются о скрытых возможностях данной утилиты. Тем не менее потенциал заложенный в программу действительно огромен. Сегодня мы расскажем о службе, которая ...

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки. TDD — ну, это все знают, сначала пишем тесты, а потом остальной код. BDD — что-то знакомое, вроде как, тоже тесты, но особенные. TDD — снов...

Как мы сделали PHP 7 в два раза быстрее PHP 5. Часть 2: оптимизация байт-кода в PHP 7.1 В первой части рассказа по мотивам выступления Дмитрия Стогова из Zend Technologies на HighLoad++ мы разбирались во внутреннем устройстве PHP. Детально и из первых уст узнали, какие изменениях в базовых структурах данных позволили ускорить PHP 7 более чем в два раза. На этом...

SciPy, оптимизация с условиями SciPy (произносится как сай пай) — это основанный на numpy математический пакет, включающий в себя также библиотеки на C и Fortran. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных, как MATLAB, IDL, Octave, R или SciLab. В это...

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

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

Все приложения Google Play должны поддерживать Android 9.0 Pie к ноябрю 2019 Компания Google время от времени устанавливает новые правила для приложений, которые появляются в магазине Google Play. В ноябре прошлого года было объявлено о том, что все приложения (свежие и ранее выпущенные) обязаны поддерживать операционную систему Android 8.0 Oreo...

Как зависит перевод термина trunk от вендора коммутаторов? На эту ошибку (или, если хотите, разночтение) я обратил внимание во время проверки перевода по коммутаторам NETGEAR. Дело в том, что при переводе термина “trunk” нужно обязательно учитывать, чьей трактовки придерживается вендор — Cisco или HP, ибо между ними очень разный тех...

В сеть выложили базу данных с 773 миллионами почтовых адресов Хакеры выложили в сеть базу данных с почти 773 миллионами уникальных адресов электронной почты и почти 22 миллионами уникальных паролей.  Как сообщил эксперт в области компьютерной безопасности Трой Хант (Troy Hunt), папка «Коллекция № 1» весом 87 гигабай...

Компания Softline перевела корпоративную почту химической компании в облако Эксперты Softline обеспечили стабильную работу почтовых сервисов компании Kazakhstan Petrochemical Industries Inc. при помощи миграции электронной почты на Exchange Online и настройки Skype for Business Online. Заказчик получил единую ...

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

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

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

Firefox и Chrome будут шифровать DNS-запросы и обходить цензуру Обычно резолвер сообщает каждому DNS-серверу, какой домен вы ищете. Этот запрос иногда включает ваш полный IP-адрес или его большую часть, что можно легко объединить с другой информацией, чтобы установить вашу личность. Из статьи Лин Кларк «DoH в картинках» На Хабре неодно...

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

Блокчейн: что нам стоит PoC построить? Глаза боятся, а руки чешутся! В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализаци...

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

[Из песочницы] 40 лучших инструментов и ресурсов Laravel Привет, Хабр! Представляю вашему вниманию подборку, которая является переводом оригинальной статьи с моего блога. Если есть идеи что добавить в подборку — буду рад пообщаться в комментах. Наслаждайтесь! Читать дальше →

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

[Перевод] Аппаратные «характеристики» в .NET Core (теперь не только SIMD) Введение Несколько лет назад, мы решили, что настало время поддержать SIMD код в .NET. Мы представили пространство имен System.Numerics с типами Vector2, Vector3,Vector4 и Vector<T>. Эти типы представляют API общего назначения для создания, доступа и оперирования векто...

[Из песочницы] Удалённая работа у здорового (?) работодателя В 2019 году удаленная работа в ИТ уже давно никого не удивляет — она ​​воспринимается как один из доступных способов организации команды. Почитать об этом можно в восторженных отзывах работников, слегка хвастливых рассказах работодателей, скучных аналитических статьях рекрут...

[Из песочницы] Как хакеры используют Microsoft Excel против самого себя Привет, Хабр! представляю вашему вниманию перевод статьи «How Hackers Turn Microsoft Excel's Own Features Against It» автора Лили Хэй Ньюман. Elena Lacey, getty images Наверняка для многих из нас Microsoft Excel – программа скучная. Она много чего умеет, но всё-таки это н...

[Перевод] Как происходит рендеринг кадра A Plague Tale: Innocence Предисловие Как и в других моих исследованиях, давайте начнём с введения. Сегодня мы рассмотрим последнюю игру французского разработчика Asobo Studio. Впервые я увидел видео этой игры в прошлом году, когда коллега поделился со мной 16-минутным геймплейным трейлером. Моё вни...

Google об абсолютных и относительных URL для внутренних ссылок Как известно, адрес ссылки может быть как абсолютным, так и относительным. Абсолютные адреса должны начинаться с указания протокола (например, https://) и содержать имя сайта. Относительные ссылки ведут отсчёт от корня сайта или текущего документа. На днях сотрудник Google Д...

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

[Перевод] Асинхронные Stream в C# 8 Функционал Async/Await появился в C# 5, чтобы улучшить скорость отклика пользовательского интерфейса и веб-доступ к ресурсам. Другими словами, асинхронные методы помогают разработчикам выполнять асинхронные операции, которые не блокируют потоки и возвращают один скалярный ре...

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

LokiBot атаковал американскую промышленную компанию Крупный американский поставщик полупроводников пострадал от вторжения шпионского трояна LokiBot. Злоумышленники доставили зловреда в инфраструктуру предприятия с помощью вредоносного письма с email-адреса одного из контрагентов предприятия. Что такое LokiBot Впервые LokiBot ...

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