Каталог RSS-каналов
Статистика

RSS-каналов в каталоге: 3394

Добавлено сегодня: 0

Добавлено вчера: 0

Hi-Tech / Прочее

Хабр / Лучшие публикации за сутки

Лучшие публикации за последние 24 часа

Найдено 3253 записи
[Перевод] Руководство по Node.js, часть 8: протоколы HTTP и WebSocket

Node.js — это серверная платформа. Основная задача сервера — как можно быстрее и эффективнее обрабатывать запросы, поступающие от клиентов, в частности — от браузеров. Восьмая часть перевода руководства по Node.js, которую мы публикуем сегодня, посвящена протоколам HTTP и WebSocket. [Советуем почитать] Другие части цикла Часть 1: Общие сведения и начало работы Часть 2: JavaScript, V8, некоторые приёмы разработки Часть 3: Хостинг, REPL, работа с консолью, модули Часть 4: npm, файлы package.json и package-lock.json Часть 5: npm и npx Часть 6: цикл событий, стек вызовов, таймеры Часть 7: асинхронное программирование Часть 8: протоколы HTTP и WebSocket Читать дальше →

IT в мире животных: поиск еды муравьями и протокол TCP/IP

Ряд технологий, которыми мы пользуемся сейчас, были «придуманы» и реализованы естественным отбором и прочими эволюционными механизмами миллионы лет назад. Это, например, ультразвуковая навигация (летучие мыши), сонары (киты), электрошокер (электрические угри) и т.п. Как оказалось, природа миллионы лет назад разработала еще и алгоритмы, согласно которым работает сетевой протокол TCP/IP, созданный уже человеком. Методы поиска еды муравьями совпадают с этими алгоритмами. Практически в каждой муравьиной колонии большинства видов муравьев есть фуражиры — особи, которые доставляют еду. На первый взгляд фуражиры беспорядочно бегают вокруг гнезда, кто дальше, кто ближе, и особого толку от их деятельности нет. Но это только на первый взгляд. Несмотря на кажущуюся...

[Перевод] Разработка React-приложений с использованием ReasonReact

Вы применяете React для создания пользовательских интерфейсов? Автор материала, перевод которого мы публикуем, говорит, что он тоже работает с React. Здесь он хочет рассказать о том, почему для написания React-приложений стоит использовать ReasonML. React — это очень хороший инструмент для разработки интерфейсов. Можно ли сделать его ещё лучше? Для того чтобы улучшить работу с React, сначала надо понять его основные проблемы. В частности, проблему, у истоков которой лежит тот факт, что React — это JavaScript-библиотека. Читать дальше →

[Из песочницы] Kotlin под капотом — смотрим декомпилированный байткод

Просмотр декомпилированного в Java байткода Kotlin едва ли не лучший способ понять как он все-таки работает и как некоторые конструкции языка влияют на перфоманс. Многие само собой уже давно это сделали, так что особенно актуальной данная статья будет для новичков и тех, кто уже давно осилил Java и решил использовать Kotlin недавно. Я специально упущу довольно избитые и известные моменты так как, наверное, нет смысла в сотый раз писать о генерации геттеров/сеттеров для var и подобных вещах. Итак начнем. Читать дальше →

[Перевод] Wi-Fi становится безопаснее: всё, что вам нужно знать про WPA3

WPA3, улучшенное открытие [Enhanced Open], простое соединение [Easy Connect]: три новых протокола от Wi-Fi Alliance Недавно Wi-Fi Alliance обнародовал крупнейшее обновление безопасности Wi-Fi за последние 14 лет. Протокол безопасности Wi-Fi Protected Access 3 (WPA3) вводит очень нужные обновления в протокол WPA2, представленный в 2004 году. Вместо того, чтобы полностью переработать безопасность Wi-Fi, WPA3 концентрируется на новых технологиях, которые должны закрыть щели, начавшие появляться в WPA2. Wi-Fi Alliance также объявил о двух дополнительных, отдельных протоколах сертификации, вводящихся в строй параллельно WPA3. Протоколы Enhanced Open и Easy Connect не зависят от WPA3, но улучшают безопасность для определённых типов сетей и ситуаций. Все протоколы...

Самые быстрые числа с плавающей запятой на диком западе

В процессе реализации одной «считалки» возникла проблема с повышенной точностью вычислений. Расчетный алгоритм работал быстро на стандартных числах с плавающей запятой, но когда подключались библиотеки для точных вычислений, все начинало дико тормозить. В этой статье будут рассмотрены алгоритмы расширения чисел с плавающей запятой с помощью мультикомпонентного подхода, благодаря которому удалось достичь ускорения, так как float арифметика реализована на кристалле цп. Данный подход будет полезен для более точного вычисления численной производной, обращение матриц, обрезке полигонов или других геометрических задач. Так возможна эмуляции 64bit float на видеокартах, которые их не поддерживают. Хотеть считать быстрee

Ты не станешь героем, если ты разработчик

Мало кто может стать героем в этом мире, но у этих парней получилось. Если серьёзно, то я хочу рассказать вам про самых упоротых людей, которых мы позвали выступать на нашу маленькую уютную конференцию. Потому что мы внезапно поняли, что этих людей приходят послушать не для того, чтобы узнать про новую технологию и фронтир разработки (хотя про это тоже), а чтобы просто посмотреть, чего и как может добиться разработчик в своей жизни. Ведь кто-то сидит и пилит кусок безликого корпоративного кода, а кто-то рядом умудряется при этом стать знаменитым на весь мир. Вот, например, Андрей Паньгин из Одноклассников. Он внезапно делал Java как таковую, потом в Оракле пилил компиляторы. А сейчас сидит в самом сердце Mail.ru Group и коммитит оттуда в опенсорсные...

Для чего хакерам Микротик и как я спрятал 100 тыс. RouterOS от ботнета

RouterOS очень мощный инструмент в руках профессионалов и ответственных специалистов. Но в руках новичков или тех, кто делает всё на «и так сойдёт» Mikrotik начинает жить своей жизнью и превращается в ноду ботнета. Ещё в мае 2018 я писал статью с рекомендациями как защитить свой Микротик. Как ни странно, но в сети до сих пор тысячи «открытых» роутеров Mikrotik и армия ботнета пополняется. Я в свободное от работы и отдыха время искал уязвимые устройства по всей сети и делал настройки в соответствии со своими рекомендациями, то есть добавлял правила фаервола, которые закрывали доступ к роутеру не из локальной сети. В комментариях писал информацию об уязвимости и оставлял адрес телеграм-канала @router_os, где можно было мне задать интересующие вопросы (у...

Kubernetes 1.12: обзор основных новшеств

Сегодня 27 сентября, а это означает, что в рабочее время (по американскому часовому поясу) мы можем ожидать очередной релиз Kubernetes — 1.12 (впрочем, его официальный анонс иногда задерживается). В общем, самое время продолжить славную традицию и рассказать о наиболее значимых изменениях, что мы и сделаем, руководствуясь публичной информацией от проекта: таблицей Kubernetes features tracking, CHANGELOG-1.12, многочисленными issues, pull requests и design proposals. Итак, что нового в K8s 1.12? Читать дальше →

[Перевод] История первых микропроцессорных видеоигр

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

Жизнь и смерть митохондрий

Митохондрии – маленькие труженики или большие начальники? Если вы думаете, что самая важная для нас история совместной жизни начинается во время свадьбы, то это совсем не так. Самая важная история совместной жизни каждого человека началась более миллиарда лет назад, когда наши далекие одноклеточные предки вынуждены были подписать «брачный контракт» с теми, кого мы сейчас называем митохондрии (см. теория симбиогенеза). Митохондрии имеют две мембраны (внутреннюю и внешнюю) и собственный наследственный материал в виде ДНК (рис.1). На внутренней мембране митохондрий находится система окислительного фосфорилирования, работа которой обеспечивает окисление энергетических субстратов с образованием АТФ. Рис. 1. Схематическое строение митохондрии В брачном контракте...

Привет, Хабр! Представляю вашему вниманию перевод статьи «Do not fall into Oracle's Java 11 trap» автора Stephen Colebourne. Java 11 была официально выпущена. Это мажорный релиз, имеющий долгосрочную поддержку (LTS — long-term support). Однако Oracle приготовила ловушку (намеренно или случайно). Ловушка В течение 23 лёт разработчики привыкли загружать JDK с сайта Oracle и использовать его бесплатно. Введите «JDK» в свою любимую поисковую систему, и верхняя ссылка будет вести на страницу загрузки Oracle Java SE (я намеренно не предоставляю ссылку). Но этот запрос и эта ссылка теперь являются ловушкой. Oracle JDK, на который ссылаются почти все поисковые запросы, теперь является коммерческим, и не является бесплатным. Читать дальше →

Готовимся к С++20. Coroutines TS на реальном примере

В C++20 вот-вот появится возможность работать с корутинами из коробки. Нам в Яндекс.Такси эта тема близка и интересна (под собственные нужды мы разрабатываем асинхронный фреймворк). Поэтому сегодня мы на реальном примере покажем читателям Хабра, как можно работать с C++ stackless корутинами. В качестве примера возьмём что-то простое: без работы с асинхронными сетевыми интерфейсами, асинхронными таймерами, состоящее из одной функции. Например, попробуем осознать и переписать вот такую «лапшу» из колбеков: void FuncToDealWith() { InCurrentThread(); writerQueue.PushTask([=]() { InWriterThread1(); const auto finally = [=]() { InWriterThread2(); ShutdownAll(); }; if (NeedNetwork()) { networkQueue.PushTask([=](){ auto v = InNetworkThread(); if (v...

16.01 — Коллеги, у нас серьезные проблемы с управляемостью. – с серьезным видом сказала Светлана Владимировна. – Если так пойдет дальше, компанию можно закрывать. — Что вы имеете в виду, Светлана Владимировна? – спросила Марина, директор по качеству. — А вы не знаете, Марина? – удивилась директор. — Ну, я догадываюсь, конечно. – не захотела выглядеть глупо Марина. — Исполнительская дисциплина – вот ключевая проблема. – не стала развивать тему Светлана Владимировна. – Пока сотрудники не делают то, что им велено, в срок, который им указан, мы – в огромной опасности. — Тогда нам нужна система! – восторженно сказала Марина. Остальные понуро молчали. Читать дальше →

Java 11: новое в String

Всем привет! С момента выхода Java 11 прошли сутки, и вот уже наконец стали появляться первые обзоры релиза. Я же посвящу свою небольшую статью незаметному для официальных релизов и потому обделённому вниманием обновлению класса String, тем более, что оно не упоминается в официальной документации 11-й Java (я, во всяком случае, там информации об этом не нашёл). Действительно, если мы заглянем в класс String, то среди множества знакомых нам методов мы найдём несколько, помеченных как "@since 11". И да, официально в Java они появились только вчера. Читать дальше →