Месяц: Сентябрь 2022
-
Как Go выполняет встраивание
Привет, я Никита Галушко, работаю над мессенджером ВКонтакте. Расскажу, как Go подходит к инлайнингу функций — этот процесс ещё называют встраиванием. В статье разберёмся, зачем вообще это нужно, какой профит можно получить для ускорения работы кода, а когда плюсы могут обернуться минусами. На примерах углубимся в специфику Go: как этот язык инлайнит функции, что можно…
-
Реализация кэш-компрессии по алгоритму base+delta
ВведениеСущественную часть кристалла современных ЦП занимает кэш-память. Дальнейшее увеличение кэш-памяти без изменения технологических норм приведет к соответствующему увеличению кристалла. Одним из способов увеличения объема хранимой информации в кэше без увеличения объёма самого кэша является использование алгоритмов компрессии. Среди них выделяются алгоритмы Base+Delta и Base-Delta-Immediate. Данная статья посвящена реализации первого алгоритмаОписание Base+Delta Кэш-память состоит из кэш-строк фиксированного…
-
Грокаем функторы
Часть 1 Грокаем функторыЧасть 2 Грокаем монадыЧасть 3 Грокаем монады императивноПрим. переводчика: Это перевод статьи из целого цикла постов «Грокаем функциональное программирование» Мэта Торнтона. Я позволил себе немного поменять порядок постов. В оригинале, функторы идут после монад, что мне показалось неверным. Всякая монада — это функтор, но не всякий функтор — это монада. Также я…
-
Ресерч свежего Excel документа с Loki malware внутри
Вечер добрый, Хабр! Решил немного изучить свежий сэмпл малваря Loki (31.08), который содержится в Excel документе и используется для фишинговой рассылки. В этой небольшой статье основное внимание уделено практической части поиска, извлечения и небольшого разбора поведения вредоноса. Надеюсь, что данная статья будет полезной с теоретической и практической точек зрения.Утилиты и скрипты:file;msoffcrypto-crack.py;msoffcrypto-tool;oletools;scdbg;Detect It Easy (diec);InetSim; FakeNet;PoweShell;strings.…
-
Мой вклад в электронный документооборот
Идея этого пет-проекта родилась из-за оттого, что я всегда был невнимательным. Я мог указать не ту дату в заявлении, мог забыть указать нужного получателя при отправке письма и вообще мне всегда лень возиться со всей этой бюрократией. И я решил автоматизировать отправку заявлений на отгул.
-
Планируем идеальный поход с NetworkX и OpenStreetMap
Как создать приложение с открытым кодом для планирования пеших походов и выбора оптимального маршрута? Любой заядлый турист знает: всё, что ждёт его в походе, зависит от подготовки. Брать ли дождевики? Сколько идти от одного источника воды до другого? Где лучше ночевать в этой местности в это время года? Но самый важный вопрос звучит проще простого:…
-
Пробел в нумерации, или почему никто не говорит про IPv5
Участники ИТ-сообщества уже долгое время спорят, что делать с IPv4 и IPv6. Одни призывают внедрить протокол нового поколения как можно скорее. Другие считают, что решением проблемы нехватки адресов станет NAT. Но в пылу дискуссий на тематических площадках иногда можно встретить справедливый вопрос: куда пропал IPv5?/ Unsplash.com / Possessed PhotographyПод другим именемПротокол IPv5 существует, хотя известен…
-
Топ летающих автомобилей: обзор, особенности, видео
Человечество уже не один век мечтает о создании персонального авиатранспорта, но только с развитием автопромышленности у инженеров и писателей-фантастов начал вырисовываться образ идеального средства передвижения, которым и должны стать аэромобили. Пожалуй, многие согласятся, что огромным вкладом в развитие летающих машин стали sci-fi фильмы – прежде всего, речь идет о трилогии “Назад в будущее” Роберта Земекиса,…
-
«Методолог и рецепты его приготовления»
Привет! В своей первой статье на Хабре я хотела бы рассказать вам много интересного, полезного и нового. Давайте познакомимся! Меня зовут Катя Прошкина и я методолог Innovative People. Кто такой методолог? Чем он занимается? Как стать востребованным в профессии и не споткнуться о подводные камни? Обо всем этом и не только я расскажу в этой…
-
Ускоряем разработку
Любая работа java-программиста опирается на базис, под которым подразумевается не только непосредственно знание самого языка программирования, но также и знание дополнительных компонентов, без которых программирование в чистом виде, становится достаточно затруднительным либо неконкурентоспособным по времени. Именно об этом мы поговорим в этой статье.