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

Телеком-дайджест: о построении сетей операторов, интернет-протоколах и ИБ Это — подборка тематических материалов, написанных нашими экспертами: статьи о борьбе с ботнетами, ошибках провайдеров при развёртке инфраструктуры, а также квантовых сетях и eSIM. Читать дальше →

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

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

PVS-Studio для Visual Studio Многие наши статьи посвящаются чему угодно, но только не самому инструменту PVS-Studio. А ведь мы очень много делаем, чтобы разработчикам было удобно пользоваться нашим инструментом. Но как раз это часто оказывается за кадром. Решил исправить эту ситуацию и рассказать об пл...

[Перевод] HTTP/3: от корней до кончиков Протокол прикладного уровня HTTP лежит в основе интернета. Он начал свою жизнь в 1991 году как HTTP/0.9, а к 1999 году превратился в HTTP/1.1, который был стандартизирован Инженерным советом Интернета (IETF). HTTP/1.1 долго всех удовлетворял, но растущие потребности Сети п...

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

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

И все-таки, почему Posit являются достойной альтернативой IEEE 754 Месяц Posit объявлен на Хабре открытым, а значит я не могу пройти мимо и проигнорировать обрушившуюся на них критику. В предыдущих сериях: Новый подход может помочь нам избавиться от вычислений с плавающей запятой Posit-арифметика: победа над floating point на его собственн...

Flipper Zero — пацанский мультитул-тамагочи для пентестера Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа. А еще это тамагочи, в котором живет кибер-дельфин. Он будет уметь: Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, эл...

Подробности реализации протоколов RSTP и проприетарного Extended Ring Redundancy В сети можно найти много материалов про протокол RSTP. В рамках данной статьи я предлагаю сравнить протокол RSTP с проприетарным протоколом от Phoenix Contact – Extended Ring Redundancy. Читать дальше →

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

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

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

Трекинг украденного велосипеда по протоколу NB-IoT Интернет вещей проникает повсюду, даже в велосипеды. Вы можете своими руками смастерить маленький трекер с поддержкой протокола NB-IoT. В любой момент этот гаджет ответит на ваш запрос через интернет и сообщит GPS-координаты велосипеда. И что самое приятное, такой трекер р...

О том как я подготовился и сдал сертификацию Oracle Database SQL (1Z0-071) Зачем написана статья? Когда я готовился к OCA и OCP по Java 8, то нашел много статей на Хабре, благодаря которым выбрал оптимальный путь и сэкономил много времени. Однако по подготовке именно к OCA Oracle Database SQL (1Z0-071) материалов на Хабре нет и в интернете тоже о...

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

[Перевод] Наследование в JavaScript с точки зрения занудного ботаника: Фабрика Конструкторов Это история об одной очень специальной части JavaScript, самого используемого искусственного языка в мире в настоящее время (2019). В статье представлен своего рода философский взгляд на Наследование в JavaScript, и я смею лишь надеяться, что он основан на самом впечатляюще...

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

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

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

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

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

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

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

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

[Из песочницы] Организация маршрутов в Laravel Здравствуй, Habr. Недавно я согласился на ревью сайта, заказанного на фрилансе. Я ожидал увидеть контроллеры, которые делают вообще все и занимают 200+ строк (и прочие проявления плохого кода), но все было вполне прилично. Валидация не лежала в контроллере, что встречается д...

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

[Перевод] Как Verizon и BGP Optimizer устроили большой оффлайн Крупная утечка маршрутов повлияла на большие секторы интернета, включая Cloudflare Что случилось? 24.06 в 10:30 UTC в интернете случился коллапс: на небольшую компанию на севере Пенсильвании хлынул поток трафика из множества маршрутов, проходящих через крупного провайдера V...

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

Сибирское саппорт-комьюнити: начало Это было обычное утро обычного апрельского вторника. Мы сидели на кухне и холиварили о том, как нужно делать саппорт. Вдруг Дима Дягилев (Operations Manager Technical Support) нарушил привычный ход событий. Причем не только на вторник, но и ближайшие полгода. — Ребята, вам ...

[Перевод] DNS по HTTPS – половинчатое и неверное решение Всё время существования интернета открытость была одной из его определяющих характеристик, и большая часть сегодняшнего трафика всё ещё передаётся без какого бы то ни было шифрования. Большая часть запросов HTML-страниц и связанного с этим контента делается прямым текстом...

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

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

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

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

[Из песочницы] Через тернии к игре мечты Честно говоря, я долго думал как именно написать этот пост. Я очень хочу рассказать о нашем проекте, но если рассказывать только о текущей ситуации или даже осветить период в последние 6 месяцев, то это будет не совсем честно, так как история “Another Way” начинается со сл...

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

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

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

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

Nginx VTS Stats, Mockify — mock API, сравнение Wiremock и Mockify В этом посте я хотел сделать демо Nginx VTS + Prometheus + Grafana. Для демо необходимо было чтобы upstream могли выдавать разные http коды. Это могли сделать следующие проекты: Mockify, написанный на Golang, и WireMock, написанный на Java. Небольшое оглавление установка и...

Дидосеры «разбомбили» африканского провайдера В минувшие выходные неизвестные злоумышленники провели сокрушительную DDoS-атаку на сеть Cool Ideas (AS37680), одного из ведущих интернет-провайдеров ЮАР. В результате у многочисленных клиентов поставщика возникли проблемы с подключением; судя по заявлению Cool Ideas на сайт...

[Из песочницы] Сборка transport-пакета без установки MODX Писать свои пакеты для MODX не просто для новичка, да и опытному разработчику иногда не сладко приходится. Но новичок пугается, а опытный разбирается :). Эта заметка рассказывает о том, как можно написать и собрать пакет компонента для MODX без установки и настройки самог...

Как мы разрабатываем персональные товарные рекомендации Наши клиенты-магазины хотят делать крутой маркетинг. Чтобы люди больше покупали, они регулярно шлют им email-рассылки. И каждый раз думают: “Что же написать в письме?”. Можно писать просто: “Покупайте у нас почаще!”, но это не очень-то работает. Идея получше — вставлять в п...

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

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

Blameless environment: никто не должен писать качественный код На РИТ++ Никита Соболев (sobolevn) выступил, как он сам назвал это, с проповедью на тему качества кода и процессов в компании. Особо впечатлительных просим налить себе ромашкового чаю, но отойти от экранов не предлагаем. Вы можете не соглашаться ни с одним из тезисов, настаи...

Лучшие и худшие тренды MWC 2019 Две недели назад в Испании закончилась выставка Mobile World Congress. На Хабре от неё – только анонс Microsoft. Но самое интересное, ради чего в Барселону съезжались 100+ тысяч человек, – всё-таки новинки рынка смартфонов. На этот раз тоже было полно необычных девайсов и ...

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

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

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

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

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

Какой серверный язык выбрать…мобильному разработчику Вы скажете, какое вообще дело мобильному разработчику до того, на чем написан бэкенд. Главное, чтобы API туда был удобный, понятный, гибкий. А нам так не кажется. Мы в AppsConf думаем, что всем нам необходимо иногда выходить за пределы мобильной разработки и прокачивать шля...

Окей, Google: как пройти капчу? Здравствуйте. Меня зовут Ибадов Илькин, я студент Уральского федерального университета. В данной статье я хочу рассказать о своем опыте автоматизированного решения капчи компании «Google» — «reCAPTCHA». Хотелось бы заранее предупредить читателя о том, что на момент написани...

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

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

На самом деле вот так будет выглядеть iPhone 11 Помните пару лет назад Тим Кук обещал, что компания начнёт ещё более строго относиться к моментам секретности касаемо своих разработок и продуктов? Возможно, в Apple в этом направлении действительно что-то поменялось. Однако сдержать все утечки по новым моделям iPhone всё ...

[Перевод] Разбираемся с пакетом Context в Golang Пакет context в Go полезен при взаимодействиях с API и медленными процессами, особенно в production-grade системах, которые занимаются веб-запросами. С его помощью можно уведомить горутины о необходимости завершить свою работу. Ниже небольшое руководство, которое поможет ис...

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

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

Google научила Google Assistant работать без интернета. Как это? Google Assistant может работать и без интернета Если вы начали пользоваться интернетом хотя бы в начале нулевых годов, то наверняка помните, на какие жертвы приходилось идти, чтобы попасть в сеть. Тогда самым распространённым способом подключения к интернету было использован...

Делаем свой Google Call Screening на основе Voximplant и Dialogflow Возможно, вы слышали или читали про функцию Call Screening, которую Google выкатил для своих телефонов Pixel в США. Идея отличная – когда вам поступает входящий звонок, то виртуальный ассистент начинает общаться, в то время как вы видите этот разговор в виде чата и в любой ...

Межпозвоночная грыжа? Работай над ней Внимание! Данная статья не призывает к самолечению! Не является рекламной. Люди уникальны, единой схемы для всех нет. Статья будет иметь более мотивационный окрас, нежели россыпь медицинских терминов. Тем не менее, я считаю ей место быть, как реальной истории перехода от о...

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

[recovery mode] Одна задача из SEO рутины: решение в 3 шага По правде говоря, это не «бомбический» кейс, а стандартная ситуация в SEO и её обычное решение. Из таких ситуаций состоит большая часть работы. В данном случае, статья будет интересна владельцам интернет магазинов. Сайт клиента в один момент сильно потерял в позициях. Как...

Кадровая алхимия: каков оптимальный состав команды центра ГосСОПКА? Эта статья пригодится тем, кто работает в компании, признанной субъектом критической информационной инфраструктуры (КИИ), а значит — обязанной выполнить требования №187-ФЗ и построить центр ГосСОПКА (Государственной системы обнаружения, предупреждения и ликвидации последст...

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

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

Сосчитаем агентов «Ревизор» Не секрет, что за контролем блокировок по списку запрещённой информации в России следит автоматизированная система «Ревизор». Как это работает неплохо написано вот в этой статье на Habr, картинка оттуда же: Непосредственно у провайдера устанавливается модуль «Агент Ревизо...

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

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

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

[Перевод] Шардинг в Блокчейне Всем привет, я один из разработчиков Near Protocol, который, среди прочего, реализует шардинг, и в этой статье хочу подробно рассказать что вообще такое шардинг в блокчейне, как он работает, и коснуться ряда проблем, которые возникают при попытке его построить. Хорошо извест...

Самый мягкий и пушистый путь в Machine Learning и Deep Neural Networks Современное машинное обучение позволяет делать невероятные вещи. Нейросети работают на пользу общества: находят преступников, распознают угрозы, помогают диагностировать болезни и принимать сложные решения. Алгоритмы могут переплюнуть человека и в творчестве: они рисуют карт...

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

«Уже подумал, досвидули ремню ГРМ»: На нежелающий заводиться ВАЗ-2112 пожаловался водитель По его словам, в один прекрасный момент зажигание на его автомобиле попросту перестало включаться. Водитель ВАЗ-2112 решил рассказать о своей проблеме в тематическом сообществе соцсети «ВКонтакте». Автомобилист поведал, что его очень подвела его любимая «погремушечка». Он с...

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

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

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

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

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

[Из песочницы] Безопасность в AEM – это вопрос платформы или способа внедрения? Автор: Андрей Пинчук | Certified Senior AEM Developer Представьте ситуацию: вы спокойно спите и видите свой третий сон, как вдруг раздается телефонный звонок — недовольный клиент жалуется, что вся система недоступна. Согласитесь, подобные события — дискомфорт для жизни AEM...

[Перевод] Дорожная карта Android-разработчика в 2019 году Всем привет! У нас отличные новости. В этом месяце в Отус стартует базовый курс "Android-разработчик", а также "Специализация Android-разработчик", которая включает в себя целый пакет курсов. В связи с этим делимся с вами полезной статьей, перевод которой приурочен к данным ...

Allure-Android. Информативные отчеты для мобильной автоматизации Автоматизация мобильных приложений довольно молодая сфера: фреймворков много и многие проекты сталкиваются с проблемой выбора самого «быстрого, стабильного, простого в использовании». Также и мы около двух лет назад стояли перед выбором нового инструмента автоматизации тести...

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() ...

Работаем с USB Custom HID на Android В современных Android — приложениях для взаимодействия с другими устройствами чаще всего используются беспроводные протоколы передачи данных, как например Bluetooth. В годы, когда часть устройств имеют беспроводную зарядку, сложно представить себе связку Android устройства ...

Аддиктивные синдромы IT Здравствуйте, меня зовут Алексей. Я работаю в IT-сфере. Много времени провожу в социальных сетях и мессенджерах по работе. И у меня развились различные аддиктивные сценарии поведения. Я отвлекался от работы и заглядывал в Facebook, чтобы посмотреть, сколько «лайков» накапало...

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

SMARTtech: Что такое интернет-протокол (IP)? Интернет-протокол (IP) - это протокол или набор правил для маршрутизации и адресации пакетов данных, чтобы они могли перемещаться по сетям и прибывать в правильное место назначения.

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

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

DCF77: как работает система передачи сигналов точного времени? Привет Хабр. Наверное многие, приобретающие часы или метеостанцию, видели на упаковке логотип Radio Controlled Clock или даже Atomic Clock. Это весьма удобно, ведь достаточно поставить часы на стол, и они через некоторое время автоматически настроятся на точное время. Раз...

Mozilla пообещала не включать шифрование DoH в Великобритании. Что это значит для России? Две неделе назад на Хабре рассказывали о протоколе DNS-over-HTTPS (DoH) , недавно принятом в качестве стандарта RFC 8484. Разработанный Mozilla, Google и Cloudflare протокол DNS-шифрования сводит на нет попытки мониторинга трафика «человеком-в-середине». Он устраняет само...

Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов, много исследований и рассуждений об их будущем и о том, куда это все движется и приведет нас. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контрак...

[Перевод] Как Apple (приватно) найдёт в офлайне ваше потерянное устройство? В понедельник на конференции WWDC компания Apple представила классную новую функцию под названием “Find My". В отличие от стандартной «Найти мой iPhone», которая полагается на инфраструктуру сотовой связи и GPS потерянного устройства, функция «Найди меня» способна найти даже...

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

Исчерпание IP-адресов в России и Европе: есть ли решение Дефицит интернет-адресов самой распространенной — четвёртой — версии протокола IP в России и Европе окончательно наступил. 25 ноября 2019 г. в 17:35 по Москве был распределён последний блок IPv4-адресов. Это создаст трудности не только для операторов связи и хостинг-провайде...

iPhone 12 станет самым впечатляющим обновлением дизайна Apple за десять лет Смартфоны Apple 2020 года станут самым крупным обновлением дизайна iPhone за последние годы. Об этом рассказал ресурс PhoneArena.  Источник также опубликовал концептуальные изображения iPhone 12, созданные на основе предварительной неофициальной информации об устр...

[Из песочницы] Интервалы: грядущая эволюция C++ Уже скоро появится стандарт C++20, в который, скорее всего, добавят концепцию интервалов (ranges), однако мало кто знает, что они из себя представляют и с чем их едят. Доступных широкой аудитории русскоязычных источников про этого зверя мне найти не удалось, вследствие чего ...

[Перевод] Как работает Flutter Как Flutter работает на самом деле? Что такое Widgets, Elements, BuildContext, RenderOject, Bindings?.. Сложность: Новичок Вступление В прошлом году (прим: в 2018), когда я начал свое путешествие в сказочный мир Flutter, в Интернете было очень мало информации по сравнению с...

Напиши свою песню за 10 минут (модуль textgenrnn Python3) Сегодня попробуем обучить свою собственную нейронную сеть, чтобы писала текст для песен. Обучающей выборкой будут тексты группы "Руки Вверх". Ничто не мешает чтобы поменять данные на тексты своих любимых групп. Для извлечения данных с веб-сайтов используем Python3 (модуль B...

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

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

[recovery mode] REST страсти по 200 Давно я хотел написать эту статью. Все думал — с какой стороны зайти правильнее? Но, вдруг, недавно, на Хабре появилась подобная статья, которая вызвала бурю в стакане. Больше всего меня удивил тот простой факт, что статью начали вбивать в минуса, хотя она даже не декларир...

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

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

Запускаем php скриптики через php-fpm без web сервера. Или свой FastCgi клиент (под капотом) Приветствую всех читателей "Хабра". Дисклеймер Статья получилась довольно длинная и тем кто не хочет читать предысторию, а хочет перейти сразу к сути прошу прямиком к главе "Решение" Вступление В данной статье хотелось бы рассказать о решении довольно нестандартной задачи, с...

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

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 43. Протоколы маршрутизации Distance Vector и Link State Сегодняшний видеоурок о протоколах маршрутизации Distance Vector и Link State предваряет одну из самых важных тем курса CCNA – протоколы маршрутизации OSPF и EIGRP. Эта тема займет 4 или даже 6 следующих видеоуроков. Поэтому сегодня я кратко расскажу о нескольких концепциях,...

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

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

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

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

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

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

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

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

[recovery mode] Цель оправдывает средства? (!) Черное и серое SEO Попытаюсь коротко рассказать про черное и белое SEО. Что это такое, стоит ли пользоваться и т.д.Для начала, сама аббревиатура SEO, расшифровка которой звучит, как: «Search Engine Optimization», уже предполагает некую «серость». Слово «оптимизировать» хоть и не звучит как что...

[Из песочницы] Headless CMS. Почему я пишу свою Всем привет! Написать эту публикацию меня побудила вот эта недавняя статья (вчера увидел). Пересказывать основные признаки Headless/content-first/api-first и т.п. CMS я не буду, материала полно и наверняка уже многие знакомы с этим трендом. А хочу я рассказать почему и ка...

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

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

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

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

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

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

Rombica LED Ricky — ночник, который могла бы сделать Apple Нашу редакцию посещают самые разнообразные устройства, которые сначала, бывает, вызывают вопросы, а потом думаешь: а ведь это и правда удобно! Например, «умные» светильники — включать свет с iPhone немного необычно, но со временем не представляешь, как можно делать эт...

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

Разработка монолитной Unix подобной OS — Библиотека С В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали! Читать дальше →

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

Хватит паранойи или почему вам не светит 100 баллов в Page Speed Йо-йо! Отличная штука SEO. Никто не знает, что делать наверняка, почему сайт «не в топ» и почему онлайн-бизнес не работает. И в поисках истинной причины владельцы сайтов становятся как сорокалетние тётушки, которые верят всякой ерунде цыганок на рынке. И вот взяв в руки клав...

Что нам стоит Mesh построить: как децентрализованный интернет-провайдер «Medium» делает новый Интернет на базе Yggdrasil Приветствую! Наверняка для вас не будет большой новостью то, что «Суверенный Рунет» не за горами — закон вступает в силу уже 1 ноября этого года. К сожалению, как он будет (и будет ли?) работать — не совсем непонятно: точных инструкций для операторов связи пока что в откры...

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

iOS-дайджест №7 (31 мая – 13 июня) Источник картинки: businessinsider.com Астрологи объявили неделю новостей и анонсов в мире Apple и iOS-разработки. Чтобы рассказать про все, одной статьи не хватит, поэтому посмотрим на самые интересные и на те, которым еще не было уделено должного внимания. Читать дальше →

Apple работает над Apple Watch c поддержкой 5G Apple Watch с 5G — вовсе не фантастика Уже не секрет, что первые iPhone и iPad с поддержкой сетей пятого поколения появятся на рынке в 2020 году. Чтобы обеспечить свои смартфоны и планшеты самыми лучшими модемами 5G, Apple заключила мировое соглашение с Qualcomm и отка...

Айсиошечка от Цукерберга — кратко и по делу о Libra Объявленный 17 июня 2019 года проект Libra уже наделал шума в прессе и даже большой политике, но все виденные мной статьи пестрят лозунгами и предсказаниями мрачного будущего, опуская технические детали. В этой статье я кратко изложу что же Facebook собственно обещает, как р...

[Перевод] Пишем HTTP/1.1 & HTTP/2 клиент и сервер на Golang Golang — отличный язык программирования с широким спектром возможностей. В этой статье показано, как на Go можно написать клиент и сервер для протоколов HTTP/1.1 и HTTP/2. Читать дальше →

[Перевод] Всего лишь проведи карточкой: как в Нью-Йоркском метро используют OS/2 Винтажные технологии десятилетиями работали в структурах нью-йоркского метро – и иногда всплывали неожиданным образом. Статья для фанатов OS/2 Нью-йоркец и турист заходят на станцию метро «42 улица», также известную, как «Таймс-сквер». Звучит как начало анекдота. На самом де...

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

[Из песочницы] Использование SQLite в Unity (Unity + SQLite) Всем привет, данная публикация будет посвящена работе с встраиваемой реляционной базой данных SQLite в Unity. Данная статья написана новичком для новичков с целью показания работы с SQLite, предполагается, что вы знаете основы SQL. Так как в интернете нет ясного тутора для н...

Запускаем systemd в контейнере Мы давно следим за темой использования systemd в контейнерах. Еще в 2014 году наш инженер по безопасности Дэниел Уолш (Daniel Walsh) написал статью Running systemd within a Docker Container, а еще через пару лет – другую, которая называлась Running systemd in a non-privilege...

Как писать полиморфические программы c помощью Arrow Привет, Хабр! Меня зовут Артём Добровинский, я работаю в компании Finch. Предлагаю к прочтению статью одного из отцов библиотеки функционального программирования Arrow о том, как писать полиморфические программы. Часто люди, которые только начинают писать в функциональном...

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

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

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

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

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

Интернет для всех, даром, и пусть никто не уйдёт обиженный Добрый день, Сообщество! Меня зовут Михаил Подивилов. Я являюсь основателем общественной организации «Medium». Меня неоднократно просили написать краткое, но исчерпывающее руководство о том, каким образом можно подключиться к сети децентрализованного интернет-провайдера «M...

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

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

[Перевод] HTML — это и есть веб Что нынче с HTML во фронтенде? В последнее время я разговаривал со многими разработчиками. Похоже, что некоторые даже не разбираются в HTML. В смысле, кое-что они понимают. Они понимают, что такое div и что такое span, и когда всё выглядит хорошо и работает по щелчку, им это...

[Перевод] 6 интересных идей применения дополненной реальности (AR) Прим. пер.: в своей статье, оригинальное название которой: «6 Interesting Augmented Reality Concepts», Ник Бабич собрал ценную подборку идей применения AR, которая будет интересна даже тем, кто никак не связан с разработкой. Среди концепций есть реально работающие продукты,...

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

Турбо-страницы Яндекса для десктопного трафика. Я думаю уже все вкурсе, что Яндекс  теперь внедряет свои Турбо-страницы для десктопной выдачи. Кто не в курсе, вот тут пруф — https://webmaster.yandex.ru/blog/turbo-stranitsy-otkryto-testirovanie-tekhnologii-dlya-desktopnogo-trafika А теперь я выскажу своё мнение по вс...

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

Что делать, если не работает Google Play Store Не работает Google Play Store? Не беда! Без Google Play Store сложно представить полноценное функционирование устройств под управлением Android, ведь все важные приложения и обновления для них можно скачать именно оттуда. Однако же порой случается так, что Play Store переста...

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

[Перевод] 5 ошибок в реализации push-уведомлений для мобильных приложений Главная мысль: прежде чем просить пользователя включить push-уведомления, расскажите ему об их пользе и содержании. Не отправляйте слишком много уведомлений одновременно и сделайте так, чтобы их легко было отключить. * * * При грамотном исполнении push-уведомления для мо...

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

Обзор карты памяти Transcend microSDXC/SDHC 300S Карты памяти нужны, карты памяти важны. Если речь заходит о формате MicroSD, вероятно, в первую очередь для смартфонов. Потому что многие устройства, хотя и сами наращивают количество встроенной памяти для хранения данных, иногда становятся ли чересчур дорогими или же памя...

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

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

Криптографический АРМ на базе стандартов с открытым ключом. Конфигурирование токенов PKCS#11 Еще раз просмотрев функционал утилиты cryptoarmpkcs, обратил внимание на то, что она, в основном работая с криптографическими токенами/смаркартами PKCS#11, не имеет встроенного функционала для их конфирурирования. Речь идет об инициализации токенов, установки PIN-кодов и т.п...

Создание бота для участия в Russian AI Cup 2018 CodeBall Сложилась традиция, что после соревнований по спортивному программированию победитель или просто игрок выкладывает на Хабре статью, чтобы рассказать как здорово было участвовать в соревновании и как вариант победить в нем. Из его статьи конечно же многое можно почерпнуть дл...

Как откалибровать Google Maps на Android Google Maps неправильно определяют местоположение? Есть решение Точность является ключевой характеристикой навигационных приложений. Если карты не способны чётко определять ваше местоположение, нет никакой гарантии, что вы вообще доберётесь до точки своего следования, тем бо...

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

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

[Из песочницы] Из гуманитария в разработчики в цифрах и красках Привет, Хабр! Давненько читаю тебя, но все никак не доходили руки написать что-нибудь свое. Как обычно – дом, работа, личные дела, туда сюда – и вот ты снова отложил написание статьи до лучших времен. Недавно кое-что изменилось и я расскажу вам, что же сподвигло меня описать...

[Из песочницы] Асинхронный рассинхрон: антипаттерны в работе с async/await в .NET Кто из нас не косячит? Я регулярно встречаюсь с ошибками в асинхронном коде и делаю их сам. Чтобы прекратить это колесо Сансары делюсь с вами самыми типичными косяками из тех, которые иногда довольно сложно отловить и починить. Читать дальше →

Самая «дешёвая» электронная проходная в России управляемая со смартфона Не так давно я писал пост про самый «дешёвый» турникет в России на данный момент. На всякий случай напомню, что это турникет-трипод «RusGate» T3-NO-SF v.1 за 31 990 рублей, вот самая подробная статья про этот турникет из всех, что были написаны про турникеты. Но история ...

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

Беспроводной модуль для ёмкостного датчика влажности почвы на nRF52832 Всем привет, сегодня расскажу о том как я решил проапгрейдить датчик влажности почвы с Алиэкспресс. Примерно месяц назад был куплен датчик влажности почвы. Зачем покупал и сам не знаю, наверное все из-за цены в 40 рублей :) Получив и успешно проверив датчик(с помощью Ардуин...

5 причин для перехода к 3D-печати металлических изделий Если вы занимаетесь проектированием или изготовлением металлических деталей, то вы уже знаете о некоторых возможностях 3D-печати металлом. Возможно, вы даже уже думали об использовании аддитивных технологий для реализации проекта. Так что вас останавливает? Может быть, вы пы...

Как условно-бесплатные VPN-провайдеры продают ваши данные Привет, Хабр. Мы к вам с новостью: бесплатных VPN не бывает. Вы платите всегда — просмотром рекламы или собственными данными. Для апологетов базовой идеи об анонимности в интернете последний способ оплаты особенно неприятен. Проблема в том, что продавать или передавать инфо...

Лакомый кусочек: компания Walmart тоже может вывести на рынок собственный потоковый игровой сервис Похоже, в ближайшем будущем рынок потокового гейминга начнёт расти внушительными темпами. Google на днях представила сервис Stadia. Такие же платформы уже есть или готовятся у ряда других крупных компаний, включая Microsoft, Sony и Nvidia. Неожиданно стало известно, чт...

Хватит думать, что SLA вас спасет. Оно нужно, чтобы успокоить и создать ложное чувство безопасности SLA, оно же «service-level agreement» —соглашение-гарантия между заказчиком и поставщиком услуг о том, что получит клиент в плане обслуживания. Также в нем оговариваются компенсации в случае простоев по вине поставщика и так далее. По сути SLA — это верительная грамота, с ...

Мирный атом не в каждый дом: неожиданные варианты радионуклидных источников энергии Радиоизотопы в середине XX века казались почти бесконечным источником дешёвого электричества — вот-вот реакторы придут в самолёты, автомобили и даже дома, думали тогда. Но это случилось только в мире игры Fallout. Почему ядерная энергетика в тупике и застанем ли мы её зака...

Почему люди ходят во время разговора по телефону? Привычная картина для мегаполиса По данным Google за 2016 год мобильными телефонами пользуются 95% россиян. Это значит, что каждый день миллионы человек не только переписываются в мессенджерах и социальных сетях, но и звонят друг другу. Даже если вы не очень любите разговари...

[Из песочницы] Как запомнить учебник по JavaScript за 5 дней, или «Дворец Памяти» в повседневной жизни программиста Захожу на кухню, а на столе сидит маленький гномик и вертит в руках перочинный нож. Я что-то говорю гномику, он недовольно сплевывает в бок, нехотя поднимается и отрезает кусок от огромной сосиски, которая лежит на столе. Так я запомнил метод массива splice. Главная идея «...

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

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

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

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

VPN в каждый дом или как приручить Дракона Ниже я расскажу о том, как заменить ваш VPN провайдер собственным сервером, развернутым на DigitalOcean с использованием WireGuard. В чем главная проблема VPN провайдеров? Вы не знаете что они делают с вашими данными. Очень мало VPN провайдеров прошли сторонний аудит и почти...

[Из песочницы] Динамическое изменение схемы JSON в Go с помощью gob Значимо изменить маршализацию структуры в json можно только через метод MarshalJSON(), написав там полную реализацию маршализации. Как именно? На это документация Go ни ответов, ни рекомендаций не даёт, предоставляя, так сказать, полную свободу. А как воспользоваться этой св...

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

О релизе Яндекса о ранжировании сайтов с Https Пару дней назад Яндекс разослал всем релиз в котором рассказал, о том, что наличие Https на вашем сайте положительно влияет на ранжирование вашего сайта. Я прокомментирую основные тезисы данного релиза:   Ключевое тут — МОЖЕТ БЫТЬ УЧТЕНО в ранжировании.  А может ...

Debian по-прежнему отказывается использовать HTTPS APT (advanced packaging tool) — программа для установки, обновления и удаления программных пакетов в операционных системах Debian и основанных на них (Ubuntu, Linux Mint и т. п.). Иногда также используется в дистрибутивах, основанных на Mandrake. Пакеты скачиваются по интерн...

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

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

Facebook пропатчила Fizz — свою реализацию протокола TLS Компания Facebook закрыла серьезный баг в протоколе Fizz — оригинальной реализации TLS с открытым исходным кодом. Эксплуатация уязвимости позволяла удаленному злоумышленнику вызвать отказ в обслуживании и приводила к сбою в работе целевой системы. Баг обнаружили ИБ-специалис...

[Из песочницы] За что я ненавижу Eloquent ORM Всем привет. Хочу перед вами исповедаться и рассказать немного о том, что я чувствую, когда разрабатываю на Laravel. Нет, не подумайте, я обожаю этот фреймворк и безумно благодарен команде, которая его создала и поддерживает, они делают крайне крутое дело и, на мой взгляд, ...

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

[Из песочницы] Мифы про удалённых сотрудников, которые мы разрушили сами Привет, Хабр. Я редактор в компании Ratio, мы делаем веб-разработку на заказ и с начала 2018 года все наши сотрудники работают удалённо. От Таллина до Комсомольска-на-Амуре, семь часовых поясов. Наши разработчики всегда трудились из дома, но также был офис в Москве, в кот...

Matrix 1.0 — релиз протокола децентрализованного обмена сообщениями 11 июня 2019 разработчики Matrix.org Foundation объявили о релизе Matrix 1.0 — протокола для реализации федеративной сети, построенной на основе линейной истории событий (events) внутри ациклического графа (DAG). Самым распространённым способом использования протокола являет...

Ассоциация 3д-образования и "техзадание" Здравствуйте, дорогие форумчане. Сегодня я хотел бы вам рассказать про ассоциацию 3д образования, а точнее про один из её перлов. Иначе это не назвать, так как серьёзным подходом это не назвать. Некоторые данные могут быть изменены в целях скрытности, но я думаю если уладитс...

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

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

Сверхскоростной SSD — ключ к консоли Sony PS5. Представитель компании рассказал, что такой накопитель даст разработчикам Несколько недель назад системный архитектор консолей Sony поделился информацией о грядущем поколении PlayStation. Он рассказал, что PS5 (имя пока не подтверждено) получит полузаказной CPU AMD Ryzen, GPU Navi и очень быстрый твердотельный накопитель. Представитель Sony ...

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

Habr Weekly #20 / 2FA-аутентификация не панацея, Android 10 Go для самых слабеньких, история jQuery, фильм о Гейтсе Нам интересно лучше узнать наших слушателей: кто вы и что думаете о подкасте — что нравится, что бесит, что можно улучшить. Пройдите, пожалуйста, опрос. Ваши ответы помогут сделать подкаст лучше. Опрос: u.tmtm.ru/podcast. В этом выпуске: 01:31 — хроника угона и возвращен...

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

[Перевод] Новое в Git 3: замыкания Git — популярная система контроля версий. В ней атомарное изменение одного или нескольких файлов называется коммитом, а несколько последовательно идущих коммитов объединяются в ветку. Ветки используются для того, чтобы реализовывать новые идеи (фичи). Случается, что идея ок...

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

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

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

Заворачиваем весь трафик ОС в Tor Все описанное в статье реализовано в виде инструмента Toroxy, доступного на GitHub В последнее время анонимность в сети является предметом горячих споров. Ни для кого не секрет, что данные о посещениях Интернет-ресурсов с локального устройства могут собираться на разных у...

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

[Из песочницы] DHCP+Mysql сервер на Python Целью данного проекта было: Изучение протокола DHCP при работе в сети IPv4 Изучение Python (немножко более чем с нуля ;) ) замена серверу DB2DHCP (мой форк), оригинал здесь, который собирать под новую ОС всё труднее и труднее. Да и не нравится, что бинарник, который нет ...

[Перевод] Четыре больших ошибки, которые совершал каждый программист Фотограф — Blake Connally, источник — Unsplash Создание программного обеспечения — искусство. Написание кода позволяет нам самовыражаться. И каждый разработчик делает это по-своему. Но индивидуализм не бесплатен — в этой статье я напишу о некоторых самых распространённых оши...

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

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

«Пятиминутка PHP» о ReactPHP и анонс митапа, плавно переходящего в дринкап Привет, в августе мы проведем в Москве митап с докладчиками из других городов, встречей BeerPHP и трансляцией официальной части для всех, кто не сможет присоединиться. Сегодня начинаем представлять докладчиков. Сергей Жук приедет на митап из Брянска — в его городе нет тусо...

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

Хаки при работе с большим числом мелких файлов Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode». Дело в том, что внутренней спецификой работы наших сервисов является хранение огромадного числа мелких файлов. На данный момент у нас порядка сотен терабайт таких данных. И мы натолкну...

Илон Маск: спутниковый интернет Starlink заработает уже через год Компания SpaceX намерена запустить на околоземную орбиту 12 000 спутников для создания всемирного интернета Starlink. Первую партию из 60 аппаратов планировалось отправить на прошлой неделе, но компания отложила миссию два раза подряд — сначала из-за плохой погоды, а потом ...

МТС обеспечила тоннели и станции московского метро связью в стандарте 4G Максимальная скорость мобильного интернета на станциях может достигать 200 мегабит в секунду за счет агрегации диапазонов 1800 и 800 Мегагерц. Средние скорости при обычном пассажиропотоке составят порядка 35 Мегабит в секунду и позволят во время движения поезда переписыватьс...

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

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

Вместе пытаемся сломать игру «7 на 9» Сегодня будет маленький этюд просто понять, интересно ли вам такое. В общем, есть такой дядька Алексей Савватеев, который читает потрясающий курс по теории игр. Он же написал книгу «Математика для гуманитариев», где очень тонко постебался над всеми гуманитариями. Просто это ...

[Перевод] Настройка НА-кластера Kubernetes на «голом железе» с kubeadm. Часть 1/3 Всем привет! В этой статье я хочу упорядочить информацию и поделиться опытом создания и использования внутреннего кластера Kubernetes. За последние несколько лет эта технология оркестровки контейнеров сделала большой шаг вперед и стала своего рода корпоративным стандартом дл...

Samsung может отказаться от Galaxy S11 Совсем недавно отгремела горячо ожидаемая нами конференция, в рамках которой южнокорейская компания Samsung наконец-то представила все свои новые флагманские устройства, включая Galaxy S10e, S10, S10+ и даже весьма интригующий складной смартфон Fold. Однако в индустрии моби...

[recovery mode] Что показывает вольтметр или математика розетки О чем эта статья Сегодня я ненадолго отступлю от своей обычной темы о визуальном программировании контроллеров и обращусь к теме измерений напряжения прямо в ней, в розетке! Родилась эта статья из дискуссий за чаем, когда разразился спор среди «всезнающих и всеведающих» п...

Docker контейнер для управления HP серверами через ILO Вы наверное может задаться вопросом — а здесь то Docker зачем? В чем проблема зайти на веб интерфейс ILO и настроить свой сервер как надо? Так и я думал когда мне отдали пару старых ненужных серверов, которые мне надо было переустановить (то что называется reprovision). Сам...

Docker: не вредные советы В комментариях к моей статье Docker: вредные советы было много просьб объяснить, чем так ужасен описанный в ней Dockerfile. Краткое содержание предыдущей серии: два разработчика в жестком дедлайне составляют Dockerfile. В процессе к ним заходит Ops Игорь Иванович. Итоговый D...

[Перевод] Каким был первый айфон? Фото: Tom Warren Странный вопрос. Многие видели его презентацию, на которой Стив Джобс, в частности, заявил, что новый смартфон разрабатывали два с половиной года. Вскоре после этого новинка появилась на витринах салонов связи. Любопытно посмотреть, какие прототипы были у...

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

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

Почему уходят разработчики: 8 причин Есть такая фраза «Как бы хорошо вы ни воспитывали ребенка, ему все равно будет что сказать своему психоаналитику». То же самое можно сказать и про работу с сотрудниками. Как бы хорошо у вас ни было работать в компании, вашим сотрудникам будет что сказать о причинах ухода на ...

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

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

Часть 5/2 корп. 1: Перекрёсток проспекта RocketChip и скользкой дорожки инструментации В предыдущих четырёх частях велась подготовка к экспериментам с RISC-V ядром RocketChip, а именно, портирование этого ядра на «нестандартную» для него плату с ПЛИС фирмы Altera (теперь уже Intel). Наконец, в прошлой части на этой плате получилось запустить Linux. Знаете, что...

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

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

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

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

Security Week 44: NordVPN, TorGuard и половинчатый взлом На прошлой неделе широко обсуждался взлом VPN-провайдера NordVPN, а также пары других подобных сервисов (в частности, упоминался TorGuard). Источником информации стал Твиттер, сообщения оттуда затем были подхвачены СМИ (Techcrunch, Хабр). NordVPN и TorGuard по следам этих ст...

Система управления конфигурацией сети фильтрации TL;DR: Описание клиент-серверной архитектуры нашей внутренней системы управления конфигурацией сети, QControl. В основе лежит двухуровневый транспортный протокол, работающий с упакованными в gzip сообщениями без декомпрессии между эндпойнтами. Распределенные роутеры и эндп...

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

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

[Перевод] Крохотные образы Docker, которые верили в себя* [отсылка к американской детской сказке "Маленький паровозик, который верил в себя " ("The Little Engine That Could") — прим. пер.]* Как автомагически создавать крохотные docker-образы для своих нужд Необычная одержимость Последние пару месяцев я был одержим навязчивой идеей...

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

[Перевод] Протокол QUIC в деле: как его внедрял Uber, чтобы оптимизировать производительность За протоколом QUIC чрезвычайно интересно наблюдать, поэтому мы любим писать о нем. Но если предыдущие публикации о QUIC носили больше исторический (краеведческий, если хотите) характер и матчасть, то сегодня мы рады опубликовать перевод другого толка – речь пойдет про реальн...

[Перевод] Чем закончилась история с бомжом-программистом Решил разузнать из первоисточников как начиналась, развивалась и закончилась история про то, как программист обучал бомжа. Я даже пролистал всю группу в FB с логами проекта (там чересчур много деталей для поста на Хабре). Самые иллюстрирующие моменты есть в трёх статьях на M...

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

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

Проектируем космическую ракету с нуля. Часть 1 — Задача двух тел Привет всем! Сегодня я начну серию статей-лекций посвященных теме проектирования беспилотных летательных аппаратов космического назначения (ракет) =). Да-да, — вы не ослышались, самых настоящих ракет, будем их учиться проектировать по настоящему, как это (наверное) делают в ...

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

Триллион маленьких шинглов Источник изображения:www.nikonsmallworld.com Антиплагиат – это специализированный поисковик, о чем уже писали ранее. А любому поисковику, как ни крути, чтобы работать быстро, нужен свой индекс, который учитывает все особенности области поиска. В своей первой статье на Хабре...

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

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

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

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

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

[Из песочницы] Из чего состоит IoT Если обратиться к википедии в поисках определения для термина “интернет вещей”, можно увидеть следущее: Интернет вещей (англ. Internet of Things, IoT) — концепция вычислительной сети физических предметов («вещей»), оснащённых встроенными технологиями для взаимодействия друг...

Закон Яровой с точки зрения конституции. Почему можно Привет, %habrauser% это пробная заметка, с целью разведать насколько интересна данная тематика уважаемому сообществу. И так, наверно многие задавались вопросом, почему статья 23 Конституции РФ предоставляет нам, среди прочего право на тайну переписки, телефонных переговоро...

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

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

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

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

TheOutloud — озвучивай и делись любимыми статьями и историями Привет всему сообществу, Habr! Уже некоторое время я являюсь вашим читателем и сегодня решил, что пришло время для моего первого поста здесь. Я давно хотел научиться программировать и последние пару месяцев проводил все свободное время, просматривая обучающие ролики на yout...

5 вещей, которые чаще всего не понимают новички в JavaScript Всем привет! В конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий хотим поделиться с вами авторской статьей, подготовленной специально для студентов курса. Автор статьи: Павел Якупов Превью. Хочу сразу отмети...

«Хитрила омертвел»: О проблемах с глохнущим Nissan X-Trail рассказал владелец Водитель пожаловался на то, что не может нормально завести свою машину, поскольку она норовит сразу же «отрубиться». Как объяснил владелец Nissan X-Trail в тематическом сообществе соцсети «ВКонтакте», посвящённом этому внедорожнику, его дизельный «Хитрила» 2008 года выпуска...

Сервис Stadia не обеспечивает обещанные 4K при 60 к/с, но Google утверждает, что она не виновата На старте у сервиса Google Stadia было немало проблем. Некоторые пользователи столкнулись с перегревом адаптеров Chromecast, некоторые ждали два дня, чтобы получить доступ к сервису, ну а огромные задержки — это отдельный вопрос. Также пользователи в ряде ...

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

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

[Из песочницы] Дальтоник — друг человека (Минздрав не Прав) Так получилось, что мне пришлось окунуться в тему нарушения цветопередачи имея уже почти 40 лет за плечами. И дело не в том, что я без проблем вожу машину более 15 лет, и не в том, что какие-то оттенки цветов не дают мне насладиться красотой мира, и точно не в том, что родны...

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

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

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

«Будущее наступило?»: В России роботы-трамваи поработят человечество — ДепТранс Беспилотные трамваи в России будут заставлять работать человека, сидящего в кабине. Один из отвечающих за технологии в Департаменте транспорта Москвы (ДепТранс) поделился технологией, которая будут распространена в ближайшем будущем по всей России. Напомним, что трамваи по ...

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

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

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

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

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

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

[Из песочницы] Локальный (offline) npm репозиторий Предыстория Решив продаться задорого, я оказался у работодателя, где интернета нет не только в пром-контуре, но и в деве (ситуация на самом деле нередкая во многих, так сказать, "энтерпрайзах"). Есть IE в консоли, где ты, мой дорогой читатель, можешь конечно посм...

Лишь 1% пользователей вспомнил про разъём для наушников, отвечая на вопрос о важных критериях при выборе нового смартфона С подачи Apple производители смартфонов начали постепенно отказываться от разъёма для наушников в своих устройствах. Даже Samsung в своём новейшем флагмане решила поступить так же. Конечно, как и во многих подобных ситуациях ранее, такой подход принято осуждать, ведь в...

Check Point Maestro Hyperscale Network Security — новая масштабируемая security платформа Компания Check Point довольно резво начала 2019 год сделав сразу несколько анонсов. Рассказать обо всем в одной статье не получится, поэтому начнем с самого главного — Check Point Maestro Hyperscale Network Security. Maestro это новая масштабируемая платформа, которая позв...

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

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

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

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

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

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

[Перевод] Service mesh для микросервисов. Часть II, основы работы с Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Настройка базового микросервиса в Kubernetes обманчиво проста. В одной из последних статей мы рассказали, как легко начать работать с контейнерами. Мы скомпоновали п...

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

[Из песочницы] Делаем расширение для браузера, проверяющее результаты ЕГЭ Я, как и любой другой выпускник, переживаю по поводу экзаменов. От баллов, полученных на ЕГЭ зависит слишком многое, поэтому сейчас трудно думать о чем то другом. Чтобы не обновлять сайт check.ege.edu.ru каждые две минуты, я решил написать расширение, которое будет делать э...

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

CJDNS мертв, да здравствует Yggdrasil Что такое Yggdrasil? Yggdrasil — это распределённая Mesh сеть, которая работет в Overlay режиме, позволяя сделать интернет поверх интернета Последние новости о сети cjdns датируются 2017 годом, может показатся, что сеть умерла и разработка остановлена (на самом деле — да)...

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

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

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

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

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

Поймай меня, если сможешь. Версия менеджера Ты – программист. Я – эффективный менеджер. Ну, ты так считаешь. Может, даже статью про меня напишешь, наберешь кучу плюсов – тема-то благодатная. В статье обязательно слово «эффективный» в кавычки поставишь. Я уже не работаю в вашей компании. Решил рассказать тебе, как всё...

work&dev fun(damentals) #1. Я был благодарен, за то что меня научили этому, когда я был джуном Это цикл статей. Предыдущую можно прочесть тутМне офигенно повезло. Когда я устроился на работу trainee, я не знал совершенно ничего. Вокруг сидели люди, разговоры которых меня пугали. Любой, сейчас примитивный, термин оставлял пустоту в глазах, а люди, которые ходили на мит...

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

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

DDoS-бот Godlua использует DoH для сокрытия трафика Новый Linux-зловред проникает на серверы Confluence с помощью эксплойта, открывает бэкдор и ждет команд на проведение DDoS-атаки. Отличительная черта Godlua, как его называют в Qihoo 360, — использование протокола DoH (DNS поверх HTTPS) для получения URL центра управления из...

Как заопенсорсить npm-пакет с нормальным деплоем, CI и демо (без потери радости к жизни) Вот вы сделали что-то новое и крутое, приходит мысль — выложить в опенсорс и опубликовать в npm. Просто запушить код в публичный репозиторий недостаточно. Это обречет проект на отсутствие развития и провал. А с другой стороны вспоминается целый ряд скучных процессов: версио...

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

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

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

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

Как мы сдружили EF 6 с MSSQL и PostgresSQL Жил-был проект на EF 6 с СУБД MSSQL. И появилась необходимость добавить возможность его работы с СУБД PostgreSQL. Проблем здесь мы не ожидали, ведь есть большое количество статей на эту тему, и на форумах можно найти обсуждение похожих задач. Однако, на деле не все оказало...

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

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

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

[Из песочницы] VPN без VPN или рассказ об нетрадиционном использовании SSH По данным ssh.com и Wikipedia, первая версия и реализация протокола SSH увидела свет в 1995 году. Задачей автора было разработать безопасную альтернативу использовавшимся тогда для удалённого администрирования rlogin, telnet и rsh. Любопытно, что появлению протокола SSH посп...

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

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

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

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

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

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

Слёрм DevOps: от Git до SRE со всеми остановками 4-6 сентября в Санкт-Петербурге, в конференц-зале Selectel пройдет трехдневный Слёрм DevOps. Мы строили программу, исходя из мысли, что теоретические труды по DevOps, как и мануалы к инструментам, каждый может прочитать самостоятельно. Интересны только опыт и практика: расс...

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

[Перевод] Мета-грамматика для PEG парсера На этой неделе мы делаем генератор парсеров «самостоятельным», то есть он будет генерировать свой собственный парсер. Содержание серии статей о PEG-парсере в Python PEG парсеры Реализация PEG парсера Генерация PEG парсера Визуализация работы PEG парсера Леворекурсивные PEG г...

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

[recovery mode] ShIoTiny: часы без пружины или реальное время и как с ним работать О чем эта статья Продолжаем цикл статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266. В этот статье рассказано о часах реального времени в контроллере ShIoTiny, синхронизации времени и использовании узлов работы с часами. Сайт проекта ShIoTiny...

Стив Возняк рассказал про своё любимое устройство от Apple Apple Watch — лучший гаджет по версии Стива Возняк Если подумать, то смартфон – это, пожалуй, единственное устройство, с которым большинство из нас ни за что не расстанется. Планшеты, смарт-часы, фитнес-браслеты, да даже ноутбуки – всё это меркнет по сравнению с возмож...

Как диагностировать проблемы интеграции SDK. Опыт команды разработки Yandex Mobile Ads SDK Всем привет! Меня зовут Дмитрий Фисько, я разрабатываю Yandex Mobile Ads SDK. Наша библиотека предназначена для монетизации мобильных приложений на платформе Android и iOS. Сегодня я хочу рассказать вам о том, как мы упростили разбор сложных ошибок интеграции SDK в Android-п...

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

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

Почему Google Pixel 4 так похож на iPhone? Google Pixel 4 и iPhone 11 Pro. Похожи, не так ли? Вчера Google представила несколько новых продуктов, среди которых оказался смартфон Pixel 4. Подробности о новинке вы можете почитать у наших коллег с AndroidInsider.ru, я же больше хотел бы поговорить о дизайне Pixel 4 R...

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

Свежий взгляд на отображение диалогов в Android На картинке первая мысль читателя, который недоумевает, что можно написать про такую простую задачу как отображения диалога. Аналогично думает и менеджер: «Тут ничего сложного, наш Вася за 5 минут сделает». Я, конечно, утрирую, но на самом деле всё не так просто, как кажетс...

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

[Из песочницы] История одного отчета Одним прекрасным солнечным днем от руководства поступило задание: отремонтировать прибор (нежданно-негаданно он перестал работать, хотя конечно же ничто не предвещало беды), разобраться, как он работает, и подумать, может стоит подобные производить и продавать. Когда-то да...

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

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

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

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

Из риелтора в разработчика игр 2. «Операция: Андроид» Добрый день, Хабр. Две моих предыдущих статьи (раз, два) вы приняли очень тепло и даже выдвинули в топ, поэтому и продолжение не заставило себя ждать. Всего-то полгода, не такой уж и большой срок. Для тех, кто не в курсе – меня зовут Тим, мне 30 лет, я риелтор и сейчас пыта...

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

[Перевод] Миллионы бинарников спустя. Как укреплялся Linux TL;DR. В этой статье мы исследуем защитные схемы (hardening schemes), которые из коробки работают в пяти популярных дистрибутивах Linux. Для каждого мы взяли конфигурацию ядра по умолчанию, загрузили все пакеты и проанализировали схемы защиты во вложенных двоичных файлах. Ра...

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

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

5 способов полезного использования Raspberry Pi Привет Хабр. Raspberry Pi наверное есть дома почти у каждого, и рискну предположить, что у многих она валяется без дела. А ведь Raspberry это не только ценный мех, но и вполне мощный fanless-компьютер с Linux. Сегодня мы рассмотрим полезные возможности Raspberry Pi, для исп...

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

[Из песочницы] Чётные числа Фибоначчи Навеяно комментарием под постом Фибоначчи на собеседовании. Пользователь pavellyzhin упомянул следующую задачу на собеседовании (комментарий): Больше года назад откликнулся на вакансию «php-программист», прислали ТЗ и там было задание с Фибоначчи: выбрать все четные числа Фи...

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

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

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

Что делать, если камера смартфона не фокусируется Если вы читаете это, то, скорее всего, ваш смартфон уже не раз в самый неподходящий момент съемки, вдруг, отказывался фокусироваться. Эта неприятность может коснуться как основной, так и сефли-камеры, но хуже всего, если этой проблеме подверглись обе камеры. Даже в этом слу...

Паттерны и антипаттерны обоснования задач Содержание 1. Антипаттерны: плохое обоснование 1.1. Очевидно же 1.2. Мамой клянусь! 1.3. Зайчики обиделись 2. Хорошие паттерны обоснования 2.1. Пруфлинк Ссылка на требования Сами требования Ссылка в интернет Письмо заказчика ROI Статистика 2.2. Единообразие 2.3. Про...

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

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

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

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

[Перевод] Офис — это театр, в котором мы актёры TL;DR. Многие стремятся к «тихому успеху» — делать работу, которая «говорит сама за себя». К сожалению, это неправильный ход в современном театре труда. Зачастую верно обратное — для офисного информационного сотрудника представление работы и есть работа. Да, внутренняя полит...

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

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

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

Первые опыты использования потокового протокола на примере связи ЦП и процессора в ПЛИС комплекса REDD В предыдущих статьях мы уже познакомились с шиной Avalon-MM, где MM означает Memory Mapped, то есть проецируемая на память. Эта шина вполне себе универсальная. К ней может быть подключено несколько ведущих (Master) и несколько ведомых (Slave) устройств. Мы уже подключали с...

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

Utreexo: сжимаем множество UTXO Bitcoin Привет, Хабр! В сети Bitcoin все узлы в ходе консенсуса соглашаются над множеством UTXO: сколько монет доступно для траты, кому именно и при каких условиях. Множество UTXO — это минимально необходимый для узла-валидатора набор данных, без которого узел не сможет удостоверит...

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

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

Автоматизация Для Самых Маленьких. Часть 1.1. Основы виртуализации Предыдущая статья рассматривала архитектуру виртуализированной сети, underlay-overlay, путь пакета между VM и прочее. Роман Горге вдохновился ею и решил написать обзорный выпуск о виртуализации вообще. В данной статье мы затронем (или попытаемся затронуть) вопросы: а как с...

[Перевод] The Pirate Bay за 15 лет так и не смогли убить Интернет продолжает развиваться с небывалой скоростью, но одно в нём остаётся неизменным — это The Pirate Bay Как-то в 2009-м году, в тихом уголке читального зала моей школы, я загрузил свой побитый жизнью ноутбук, при этом следя за тем, чтобы никто не подглядывал мне чер...

[Перевод] Fortnite — это будущее, но по довольно неожиданным причинам Уже многое сказано о Fortnite, о её доходах, пользователях, бизнес-модели, истоках и многоплатформенности. Но вокруг всех этих историй слишком много ажиотажа. Самое главное то, как все эти достижения, дополненные остальной частью Epic Games, навечно сохранятся в индустрии р...

Препарируем PHP. Как устроены while, foreach, array_walk и некоторые другие страшные слова Дело было вечером, делать было нечего. Самое время устроить небольшой разбор того, чем изнутри отличаются некоторые способы перебора массивов в PHP. Исходники от master ветки (это сейчас 7.4 с вкраплениями 8) Генератор опкодов от php 7.3.0. Замеры производились на 7.3.6. ...

Децентрализованный интернет-провайдер «Medium» — три месяца спустя 1 мая 2019 года действующий президент Российской Федерации подписал Федеральный закон № 90-ФЗ «О внесении изменений в Федеральный закон «О связи» и Федеральный закон «Об информации, информационных технологиях и о защите информации», также известный как законопроект «О сувере...

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

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

[Перевод] Индустрия робомобилей, наконец, становится более реалистичной За последнее десятилетие большая часть шумихи вокруг робомобилей была сконцентрирована на идее, которую первой запустили в компании Google (теперь Waymo), а потом подхватили Tesla и другие. Это идея о робомобиле пятого уровня (полностью, на самом деле, по-настоящему автоном...

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

«Детские подгузники – и те потолще будут»: «Ваговода» возмутила «шумка» капота Skoda Kodiaq Автомобилист пожаловался, что 7 000 рублей он, по сути, потратил в пустоту. На тематическом форуме Drive2 владелец нового Skoda Kodiaq раскритиковал шумоизоляцию капота своего кроссовера, которую он заказывал у дилеров в качестве дополнительной опции. Спустя несколько дней ...

Работа с семантикой, ссылками и парсинг веб-страниц: 16 полезных формул Google Sheets для SEO-специалистов SEO — это рутина. Иногда приходится делать совсем тоскливые операции вроде удаления «плюсиков» в ключевых словах. Иногда — что-то более продвинутое вроде парсинга мета-тегов или консолидации данных из разных таблиц. В любом случае все это съедает тонны времени. Но мы не лю...

Тренировочный лагерь по схемотехнике для танков и закладкам в процессоры В апреле был роснановский семинар по современной схемотехнике для школьников олимпиадного типа. После него группа организаторов собралась в фойе и долго ломала голову, как сделать предмет более интересным и при этом полезным. Чтобы ввести Verilog и ПЛИС например в формат Оли...

[Из песочницы] Советы начинающим разработчикам Я работаю iOS разработчиком более шести лет. Мне довелось работать в нескольких различных компаниях и командах. Я работал как в outsource так и в outstaff, довелось даже поучаствовать в startup. И вот спустя несколько лет коммерческой разработки, а также пару-тройку лет прог...

5G в России: зачем нужно, сколько стоит и когда появится? Коротко о главном Сотовая связь пятого поколения пока еще где-то там, на горизонте О мобильных сетях пятого поколения начали говорить еще тогда, когда только стартовало внедрение 4G. Тем не менее, развитие 5G сетей идет не слишком активными темпами, что в России, что на Западе. Причина — бо...

Удаленный мониторинг и управление устройств на базе Linux/OpenWrt/Lede через 80-ый порт, продолжение Это заключительная часть статьи, вот начало. В прошлый раз я написал о том, как реализовал мониторинг устройств, теперь речь пойдет о управлении. В дискуссиях с «технарями» со стороны Заказчика я часто встречаюсь с ограниченным восприятием возможностей таких маленьких устро...

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

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

Такая боль, такая боль, сервис на аутсорсе 1:0 Мы делаем самую лучшую в России и ближнем зарубежье систему обнаружения заимствований. В идеальном мире мы бы занимались только разработкой и развитием системы. Но, увы, Антиплагиат работает не в вакууме, и для того, чтобы нашим пользователям было удобно и комфортно использо...

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

[Перевод] composer и автодополнение командной строки Так как я все больше и больше добавляю свои скрипты в файлы composer.json, было бы полезно иметь автозаполнение для команды composer в bash. Мой вопрос в Твиттере не дал немедленного решения, и, поскольку я уже делал нечто подобное для Phing, я закатал рукава и написал своё ...

Тематический хабрамитап #1: бэкэнд-разработка Привет, Хабр! Наша команда посещает многие тематические IT-конференции, а на некоторых из них даже выступает. И часто во время общения в кулуарах нам задают один и тот же вопрос: а не планируем ли мы делать свои конференции. Во-первых, мы их иногда очень даже делаем (наприме...

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

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

Беспроводной модуль связи с объектом WISE-4000 Можно ли без навыков программирования развернуть систему сбора данных промышленного уровня? В статье мы познакомимся с устройствами, которые позволяют в несколько кликов получить готовую систему обработки цифровых сигналов, доступных через JSON API. Серия WISE-4000 — это ...

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

«Карта в стоп-листе». Что делать? В 2019 году не надо носить с собой банковские и транспортные карты. Apple Pay всегда выручит. Ну, почти всегда Сегодня бесконтактные платежи с помощью Apple Pay прочно вошли в нашу жизнь. Многие перестали носить с собой не только наличные деньги, но и банковские карты. Но ин...

[Перевод] Go += управление версиями пакетов Статья написана в феврале 2018 года В Go необходимо добавить версионирование пакетов. Точнее, нужно добавить концепцию версионирования в рабочий словарь разработчиков Go и в инструменты, чтобы все употребляли одинаковые номера версий при упоминании, какую именно программу...

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

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

[Перевод] Дизайн низкополигональных персонажей Персонаж — это личность. Без истории нет индивидуальности. Каждый хороший персонаж начинается с истории, а дизайн персонажа должен рассказать эту историю. В своей предыдущей статье How To Make Low Poly Look Good я говорил, что главная цель низкополигонального (low poly) ди...

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

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

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

Пишем защиту от DDoS-атак на XDP. Ядерная часть Технология eXpress Data Path (XDP) позволяет выполнить произвольную обработку трафика на интерфейсах Linux до того, как пакеты поступят в сетевой стек ядра. Применение XDP — защита от DDoS-атак (CloudFlare), сложные фильтры, сбор статистики (Netflix). Программы XDP исполняют...

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

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

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

ThingJS v1.0-alpha Последние два года я разрабатывал собственную IoT платформу и сегодня готов показать ее альфа версию. Вместе с партнером мы создаем и поддерживаем IoT устройства. Мы разобрали не один сарай с граблями в процессе этой деятельности. ThingJS родилась не столько из желания, ско...

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

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

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

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

Инструменты для хорошего Wi-Fi. Ekahau Pro и другие Если вы занимаетесь построением средних и крупных Wi-Fi сетей, где самое меньшее число точек доступа это несколько десятков, а на больших объектах оно может исчисляться сотнями и тысячами, вам нужны инструменты для планирования такой внушительной сети. От результатов плани...

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

Неидейный бизнес «Наш главный актив — люди». Эта хрень написана, наверное, на сайте каждой компании. Только почему-то этот актив используется только… Стоп, дальше не важно. Только используется. Стоит за станком, сидит за компьютером, лежит под машиной. Желательно – молча. А что будет, если ...

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

[Перевод] Современная игра для NES, написанная на Lisp-подобном языке What Remains — это повествовательная игра-адвенчура для 8-битной видеоигровой консоли NES, выпущенная в марте 2019 года как бесплатный ROM, запускаемый в эмуляторе. Она создавалась небольшой командой Iodine Dynamics на протяжении двух лет с перерывами. В настоящий момент игр...

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз Скачать файл с кодом и данные можно в оригинале поста в моем блоге Картинка к вебинару и посту взята не просто так: в определенном смысле символьное ядро Wolfram Language можно сравнить с Таносом — если бы его мощь была бы направлена в правильное русло, он мог бы стать самы...

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

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

Мне нравятся картонные человечки Краткое содержание статьи — в конце текста. Леха – отличный парень. Хорошо работает, исполнительный, с идеями, перспективный. Сделали с ним пару отличных проектов. Но он бегает от уплаты алиментов на ребенка от первого брака. Прям приходит и просит, чтобы как-то скрыть его ...

[Перевод] Как Yahoo убила Flickr и потеряла интернет Веб-стартапы состоят из двух компонентов: людей и кода. Люди делают код, а код делает людей богатыми. Код – он как поэма: ему приходится удовлетворять определённым структурным требованиям, однако на основе этой структуры может появиться искусство. Однако код – это искусств...

Установка ReactOS с USB-флешки Привет, Хабр! Эцново мы! В новости о выходе релиза 0.4.11 мы рассказали, что благодаря обновленному драйверу RAM-диска ReactOS можно не только запустить, но установить по сети при помощи протокола PXE. Однако, волонтер проекта под ником Illen выяснил, что используя тот же ...

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

[Перевод] Иллюстрированное руководство по OAuth и OpenID Connect Прим. перев.: В этом замечательном материале компании Okta просто и наглядно рассказывается о принципах работы OAuth и OIDC (OpenID Connect). Эти знания будут полезны разработчикам, системным администраторам и даже «обычным пользователям» популярных веб-приложений, которые с...

[Перевод] Создаём собственный игровой контроллер Источник вдохновения На игровых выставках разработчики Objects in Space показывали демо своей игры с контроллером на кокпите огромного космического корабля. Он был дополнен загорающимися кнопками, аналоговыми приборами, световыми индикаторами состояния, переключателями и т.д...

Методика D.I.Y. проекта. Часть вводная Данная статья написана радиолюбителем, имеющим опыт руководства проектами по разработке и постановке на производство сложной радиоэлектронной аппаратуры. Цель данной статьи: помочь энтузиастам в организации их проектной деятельности, а также обозначить различия в подходах ...

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

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

Делаем крутой sticky-эффект для слайдера на React Есть много разных библиотек для реализации слайдера со всеми возможными эффектами. Для React одни из лучших это: ReactSlick и Swiper. Но когда для моего проекта потребовался горизонтальный sticky-эффект, то ничего подходящего не нашлось. В этой статье мы попробуем поэтапно...

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

Пссс, хотите немного ужасных IT-историй? Боитесь ли вы темноты? Может быть, зомби-апокалипсиса или чудовища под кроватью? Мы знаем, что нет. У нас, айтишников, свои источники ужаса: криворукие пользователи, далёкие от IT начальники, упавшие сервера, пропавшие или не сделанные бэкапы, легаси код и Agile-митинги, ког...

IntelliJ IDEA, ReSharper, SonarLint и SonarQube находят те же ошибки, что и PVS-Studio — ну и зачем нам PVS-Studio? Иногда люди задают вопрос, который, на первый взгляд, про одно, а на самом деле про другое. Как говорится, грамотно поставленный вопрос содержит половину ответа. На днях я вернулся с конференции JPoint, на которой впервые был представлен наш новый анализатор PVS-Studio для ...

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

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

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

Обработка исключений ASP.NET при помощи IRO.Mvc.MvcExceptionHandler Если вы являетесь c# бекенд разработчиком, наверняка рано или поздно появилась необходимость найти унифицированный способ обработки исключительных ситуаций. Хотя, даже если вы довольствуетесь кодом 500 в ответе, эта статья все равно поможет улучшить ваш способ, при этом не...

Как добавить проверки в NoVerify, не написав ни строчки Go-кода В статическом анализаторе NoVerify появилась киллер-фича: декларативный способ описания инспекций, который не требует программирования на Go и компиляции кода. Чтобы вас заинтриговать, покажу описание простой, но полезной инспекции: /** @warning duplicated sub-expressions in...

Круче, чем у SpaceX: Германский центр авиации и космонавтики предлагает ловить первую ступень многоразовой ракеты... самолётом Согласно сообщению источников, Германский центр авиации и космонавтики (Deutsches Zentrum für Luft - und Raumfahrt; DLR) приступает в этом месяце к исследованию концепции многоразовой ракеты-носителя. Учитывая, что SpaceX уже всем давно доказала состоятельность по...

[Перевод] Визуализация работы PEG парсера В прошлый раз получился простой генератор парсера PEG. Сейчас же я покажу, что на самом деле делает сгенерированный парсер при разборе программы. Я погрузился в ретро-мир ASCII-арта, в частности, библиотеку с именем «curses», которая доступна в стандартной поставке Python дл...

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

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

Введение в аннотации типов Python. Продолжение Автор иллюстрации — Magdalena Tomczyk В первой части статьи я описал основы использования аннотаций типов. Однако несколько важных моментов остались не рассмотрены. Во-первых, дженерики — важный механизм, во-вторых иногда может оказаться полезным узнать информацию об ожидае...

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

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

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

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

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

«WARNING: sanitizing HTML stripped some content» и как с ним правильно бороться Всем, кому приходилось вставлять HTML содержимое в DOM в Angular, доводилось видеть это сообщение. Конечно, все мы получаем проверенное содержимое с нашего же сервера и просто хотим застилизовать сообщение об ошибке. Или вставляем HTML из наших же констант, инлайним наши SVG...

Типовое внедрение мониторинга. Николай Сивко Расшифровка доклада "Типовое внедрение мониторинга" Николая Сивко. Меня зовут Николай Сивко. Я тоже делаю мониторинг. Okmeter это 5 мониторинг, который я делаю. Я решил что я спасу всех людей от ада мониторинга и мы избавим кого-то от этих страданий. Я всегда в своих презен...

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

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

Почему Mozilla назвали «главным злодеем интернета»? Личная приватность или общественная безопасность В начале июля Ассоциация интернет-провайдеров Великобритании (ISPA-UK) подвела итоги ежегодной номинации «главный герой» и «главный злодей» интернета. В число «главных злодеев» попала организация Mozilla. Это неожиданное реше...

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

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

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

Dwarven Elevator Simulator — красивый симулятор лифта с элементами градостроительной стратегии Студия Creative Mobile представила необычную игру — Dwarven Elevator Simulator. Это симулятор лифта с элементами градостроительной стратегии в сеттинге подземного города гномов. В игре вам предстоит путешествовать по уровням города на лифте и выполнять разные задания: сража...

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

История одной смерти Наверное многие видели в своих городах мальчиков и девочек в куртках и с рюкзаками — Яндекс.Еда:   Так вот весь прикол в следующем: Доставка какой либо еды курьером Яндекс.Еды стоит 75-100 рублей. Курьёры просто ходят пешком, ездят не велосипедах, на роликах или ...

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

Apple хотела превратить iPhone в рацию, но не смогла AirPods — самые лучшие беспроводные наушники В арсенале Apple много разных разработок, часть из которых кажется совсем уж невероятной. Взять хотя бы функцию Find My, позволяющую искать даже разряженные устройства путём установки связи с гаджетами проходящих мимо пользо...

Medium Weekly Digest (26 Jul – 2 Aug 2019) Те, кто способен отдать свою свободу, чтобы обрести недолговечную защиту от опасности, не заслуживает ни свободы, ни безопасности. — Бенджамин Франклин Данный дайджест призван повысить интерес Сообщества к проблеме приватности, которая в свете последних событий становится к...

[Из песочницы] Domain Driven Design: Value Objects и Entity Framework Core на практике На Хабре и не только написано приличное количество статей про Domain Driven Design — как в общем про архитектуру, так и с примерами на .Net. Но при этом зачастую слабо упоминается такая важнейшая часть этой архитектуры, как Value Objects. В этой статье я постараюсь раскрыт...

PHP для начинающих. Обработка ошибок Не совершает ошибок только тот, кто ничего не делает, и мы тому пример — сидим и трудимся не покладая рук, читаем Хабр :) В этой статье я поведу свой рассказа об ошибках в PHP, и о том как их обуздать. Читать дальше →

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

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

Что (не)нужно знать для создания игр на Unity Unity — игровой движок, с далеко не нулевым порогом вхождения (сравнивая с тем же Game Maker Studio), и в этой статье я расскажу с какими проблемами столкнулся начиная его изучение, и какие решения этих проблем нашел. Я буду описывать подобные моменты на примере своей 2d и...

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

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

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

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

Как общаются машины — протокол MQTT В предыдущей статье мы разбирали протокол Modbus, являющийся стандартом де-факто в промышленности для M2M-взаимодействия. Разработанный в далеком 1979 году, он имеет ряд существенных недостатков, которые решает MQTT. Протокол MQTT достаточно молод (стандартизирован только ...

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

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

Принцип Брета Виктора: «Творцам нужна мгновенная связь с тем, что они создают» Это одно из лучших выступлений, которое я встречал. Хоть про эту презентацию уже писали на Хабре и переводили 6 лет назад, я решил её красиво оформить и ещё раз обратить на неё внимание. Она того стоит. Брет Виктор: Я просто хочу рассказать вам о том, как прожить свою жиз...

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

[Перевод] Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ Объектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии. — Эдсгер Вибе Дейкстра Возможно, это только мои ощущения, но объектно-ориентированное программирование кажется стандартной, самой распространённой парадигмой ...

Пластик Aerotex - не для PICASO 3D Designer. Попытаюсь вернуть производителю. Недаром ведь спрашивал - "этим точно можно печатать?", сказали - "да".Практика показала, что его даже в экструдер не реально заправить (как минимум на моём принтере). Попробую вернуть. Самый короткий пост наверное, но вот так вот.Наверное пос...

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

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

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

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

[recovery mode] Популярные вопросы разработчика о тестировании Эта статья — не теоретическое руководство по написанию тестов и не how-to по использованию инструментария в определенном стеке, а ряд популярных вопросов, иногда даже у многих не сформировавшихся, на которые я постараюсь дать ответы. Источником этих вопросов служат коллеги, ...

Протокол своими руками. Создаем с нуля TCP-протокол и пишем сервер на C# Для подписчиковТы в жизни не раз сталкивался с разными протоколами — одни использовал, другие, возможно, реверсил. Одни были легко читаемы, в других без hex-редактора не разобраться. В этой статье я покажу, как создать свой собственный протокол, который будет работать поверх...

Обеспечение надежной работы Zextras Team в сложных корпоративных сетях В прошлой статье мы рассказали вам о Zextras Team — решении, которое позволяет добавить в Zimbra Collaboration Suite Open-Source Edition функциональность корпоративных текстовых и видео-чатов, а также возможность проводить видеоконференции с большим числом участников, без не...

Посвящённое Huawei Mate 30 промо-видео появилось в Интернете Всё ближе официальный анонс новых смартфонов Huawei серии Mate 30, который состоится 19 сентября в Мюнхене. В преддверии этого события китайский производитель начинает подогревать интерес потенциальных покупателей, выпуская рекламные ролики. На этот раз производитель выпусти...

[Из песочницы] Использование локальной директории с пакетами в Python уже сейчас В Python 3.8 предлагается добавить альтернативу виртуальным окружениям — локальную директорию с пакетами PEP 582 Python local packages directory. Данный PEP предлагает добавить в Python механизм автоматического обнаружения директории __pypackages__ и использовать её при имп...

Google готовит к этой осени некий загадочный девайс На сайте FCC (Федеральная комиссия по связи в США) появилось загадочное устройство Google с питанием от литий-ионного аккумулятора на 3.8 V, модулем Bluetooth и двухдиапазонным Wi-Fi.   Первое предположение заключается в том, что это Google Home Mini , который можно взя...

[Перевод] Основы внедрения зависимостей В этой статье я расскажу об основах внедрения зависимостей (англ. Dependency Injection, DI) простым языком, а также расскажу о причинах использования этого подхода. Эта статья предназначена для тех, кто не знает, что такое внедрение зависимостей, или сомневается в необходим...

Основы статической маршрутизации в Mikrotik RouterOS Маршрутизация — процесс поиска оптимального пути для передачи пакетов в сетях TCP/IP. Любой устройство подключенное к сети IPv4 содержит процесс и таблицы маршрутизации. Данная статья не является HOWTO, она описывает на примерах статическую маршрутизацию в RouterOS, я намере...

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

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

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

pg_stat_statements + pg_stat_activity + loq_query = pg_ash? В качестве короткого дополнения к статье Попытка создать аналог ASH для PostgreSQL. Задача Необходимо связать историю представлений pg_stat_statemenets, pg_stat_activity. В результате, используя историю планов выполнения из сервисной таблицы log_query, можно получить очень ...

Не всё так плохо у Google Pixel 4. Оказывается, беспроводная зарядка у новинки мощнее, чем все думали Оказывается, с беспроводной зарядкой у смартфонов Google Pixel 4 не всё так плохо. Сегодня мы писали о том, что на сайте Wireless Power Consortium мощность такой зарядки для новинок Google указана равной 11 Вт. Но на самом деле она выше — 15 Вт. Источник утвержда...

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

Интернет вещей по-русски. Baseband-отель LoRaWAN для владельцев RTL-SDR Концепция переноса обработки сигналов в облако не нова. Во-первых, VRAN (virtual radio access network) это основной способ построения сети операторов сотовой связи. Во-вторых, IoT-сеть компании SigFox строится по тому же принципу, это видно из ее патентов. Проще говоря, это ...

Samsung уже показала на CES 2019 свой складной смартфон Источник утверждает, что компания Samsung уже показала прототип своего гибкого смартфона на CES 2019. Правда, за закрытыми дверями и только партнёрам. Источник говорит, что в раскрытом состоянии аппарат никак не будет выдавать того факта, что он складной, но у прототипа...

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

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

Google рассказала, чем так ценна ночная тема на Android Ночная тема появилась в Android только потому, что Google сама убедилась в ее необходимости. Об этом в кулуарах конференции Google I/O 2019 рассказал Самир Самат, вице-президент по продукту Google Play. По его словам, возможность перевести интерфейс смартфона в темные цвета...

OTUS. Наши любимые ошибки Два с половиной года назад мы запустили проект Otus.ru и я написал вот эту статью. Сказать, что я ошибся – это совсем ничего не сказать. Сегодня я хотел бы подвести промежуточный итог и немного рассказать о проекте, что у нас пока получилось, что у нас «под капотом». Начну я...

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

Криптографический АРМ на базе стандартов с открытым ключом. Функции разбора и просмотра ASN1-структуры Основной работой при создании утилиты cryptoarmpkcs было не разработка кода или графического интерфейса, а работа с ASN1-структурами. Именно в этих структурах хранятся сертификаты x509v3, электронные подписи документов (PKCS#7, CMS), запросы на сертификаты (PKCS#10, CSR), от...

Способы применения и искажения меткости в играх. Наглядные графики для сравнения Вычислять факт попадания в играх на основе полученной меткости можно по разному: — сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]); — сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел; — сравнивая среднее из двух и б...

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

ShIoTiny: узлы, связи и события или особенности рисования программ Основные тезисы или о чем эта статья Тема статьи — визуальное программирование ПЛК ShIoTiny для умного дома, описанного тут: ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска». Очень кратко рассмотрены такие понятия, как узлы, связи, события, а такж...

МТС списывает по 2,5 ГБ в день: Оператор забирает трафик клиентов при выключенном интернете — Сеть Пользователь отметил, что разочаровался в МТС, хотя раньше не верил ни одному плохому отзыву. Но хорошее впечатление закончилось, когда оператор начал списывать гигабайты интернета просто так. Клиент МТС поделился своей печальной историей использования услуг оператора. Дейс...

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