Pull to refresh
-5
@andmerk93read⁠-⁠only

User

Send message

Забытая история Java: версия Патрика Ноутона

Level of difficultyEasy
Reading time44 min
Views5.2K

Патрик Ноутон — первоклассный специалист из Sun Microsystems, являющийся одним из создателей Star7 и Java.

Именно он был инициатором запуска проекта (причём через конфликт с руководством Sun и критику их работы, находясь на грани увольнения), который привел к появлению Java.

Если бы Патрику позволили уволиться и перейти в NeXT, возглавляемую Стивом Джобсом, как он того хотел, то языка Java, не существовало бы.

Данный текст, опубликованный им 18 марта 1996 г., позволяет взглянуть в прошлое на “лихие” 90-е, когда Sun пыталась оседлать перспективные направления, связанные с компьютерами, сетями и сопутствующими технологиями.

Но Патрика не запомнят, как одного из компьютерных гениев, работавших в Sun над Java. А все потому, что на пике своей карьеры в возрасте 34 лет в конце 1999 г. он потеряет всё: семью, престижную работу, бо́льшую часть состояния и репутацию. Причиной тому будет поимка его ФБР и обвинение в педофилии.

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

Узнать темное прошлое Java

Краткая история визуализации данных: от древних времён до XVII века

Reading time3 min
Views5.6K
На нашей планете 4.3 миллиарда пользователей интернета. Каждую минуту они добавляют 46,740 фото в Instagram, пишут 456,000 твитов, 120 профессионалов регистрируются в LinkedIn и происходит 990,900 свайпов в Tinder. А у Facebook 2 миллиарда пользователей — больше четверти населения планеты! [1]

Данные везде и их количество только возрастает. Как пишут в своём отчёте McKinsey & Company “Data Science — это простая часть. Получить правильные данные и данные, пригодные для анализа — куда более сложна задача” [2]. Визуализация данных упрощает восприятие, делает данные более доступными и понятными, помогает понять, какую часть лучше всего использовать. А ещё за это хорошо платят. Давайте проследим как в разные эпохи люди по разному решали проблему визуализации, посмотрим на самые древние и самые известные примеры.
Читать дальше →

Правительство США: критически важное программное обеспечение должно отказаться от C/C++ к 2026 году

Level of difficultyEasy
Reading time6 min
Views27K

31 октября 2024 года, 11:00, автор: Дэррил К. Тафт

Это самая жёсткая позиция правительства в отношении безопасности программного обеспечения, которая предупреждает производителей: устраняйте опасные методы программирования, иначе вас могут обвинить в халатности.
Федеральное правительство предупреждает об опасных методах разработки программного обеспечения. Агентство по кибербезопасности и защите инфраструктуры США (CISA) и Федеральное бюро расследований (ФБР) публикуют жёсткие предупреждения о нарушениях базовых мер безопасности, которые продолжают затрагивать критически важную инфраструктуру.

В недавнем отчёте, опубликованном совместно CISA и ФБР, о недостаточных мерах обеспечения безопасности продуктов производители программного обеспечения предупреждаются о нежелательности использования небезопасных для памяти языков программирования, таких как C и C++.
«Разработка новых линеек продуктов для использования в критически важной инфраструктуре или [национальных критически важных функциях] NCF на языке, небезопасном для памяти (например, C или C++), когда есть доступные альтернативные языки, безопасные для памяти, которые можно использовать, несет в себе угрозу и значительно повышает риск для национальной безопасности, национальной экономической безопасности, здоровья и безопасности населения», — говорится в отчёте.

Читать далее

Как поднять личный Прокси в Европе за 15 минут

Level of difficultyEasy
Reading time2 min
Views39K

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

Читать далее

Как я переделал освещение в подъезде на два контура и сэкономил 200 т.р. не делая ремонт, а используя умный дом

Level of difficultyEasy
Reading time8 min
Views29K

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

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

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

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

Но это не решало проблему двух контуров освещения: тусклого вечером и яркого днём.

Узнать чем закончилось

Django-аутентификация: просто о сложном

Level of difficultyEasy
Reading time13 min
Views12K

Привет, Хабр!

Аутентификация является фундаментальной частью любого веб-приложения. Мы рассмотрим различные способы реализации аутентификации в Django, начиная от стандартных методов и заканчивая более крутыми техниками, например как 2FA и OAuth2.

Читать далее

Жизненный цикл контейнеров в Docker Compose: использование хуков post_start, pre_stop

Level of difficultyEasy
Reading time3 min
Views2.6K

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

Читать далее

ByeDPI + Redsocks на OpenWRT: дарим свободу локальной сети на дровах (на примере ASUS RT-N12 ROM/ОЗУ: 8/32 Мб)

Level of difficultyEasy
Reading time6 min
Views104K

Решение проблемы зачастую упирается в использование роутеров с ограниченными ресурсами, таких как ASUS RT-N12 VP B1 с ROM/ОЗУ 8/32 Мб. В этой статье я расскажу, как настроить связку ByeDPI и Redsocks на роутере с OpenWRT, даже если ваш роутер далеко не топ по характеристикам.

## Зачем нужны ByeDPI и Redsocks?

ByeDPI — это утилита для обхода DPI (Deep Packet Inspection), которая изменяет сетевые пакеты таким образом, чтобы они не распознавались системами фильтрации трафика.

Redsocks — это прокси-инструмент, который перенаправляет трафик через SOCKS или HTTP прокси, даже если приложение не поддерживает прокси напрямую.

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

Ставим ByeDPI и Redsocks на OpenWRT

Зачем рассказывать про контейнеризацию в 2023 году

Level of difficultyMedium
Reading time13 min
Views24K
image
Техножрец DevOps бережно описывает документацию по проекту

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

Каждая новая технология поначалу держится на энтузиастах, которые её полностью понимают. Например, первые пользователи радио знали почти всё про радиосвязь, могли на коленке собрать детекторный приёмник и ловить радио «Маяк» на металлическую вешалку и моток проводов. Первые пользователи GNU/Linux знали всё про ядро и ключевые принципы работы. По крайней мере, вариант «поправил и скомпилировал драйвера для модема, чтобы настроить сеть» был не самым редким. Текущие пользователи обычно не сталкивались с основами, так как начали щупать технологию уже после снижения порога входа.

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

Так происходит и с контейнеризацией. Я всё чаще встречаю на собеседованиях devops-инженеров, которые знают, как пользоваться Docker и Podman, пишут Dockerfile, но теряются, когда спрашиваешь про namespaces, и начинают плавать при вопросе: «А зачем, чем RPM хуже?» Все собирают контейнеры, и я собираю. Таков Путь. Не всегда, кстати, оптимальный.
Читать дальше →

Хватит называть контейнеризацию виртуализацией

Reading time5 min
Views22K

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

Продолжим об этом ниже в посте.

Читать далее

Скилл-нутриенты для тестировщика и не только: зачем выращивать в себе технолога

Level of difficultyEasy
Reading time11 min
Views5K

Однажды я задумался, почему одни QA-инженеры застревают в мидлах, а другие — дорастают до CTO. Я исследовал эту тему, проводил интервью и пришёл к определённым выводам, которыми готов поделиться. 

Дисклеймер: везде, где далее будет использован термин «тестировщики», можно подставлять «разработчики», «аналитики» и даже «менеджеры», ведь скилл-нутриенты полезны вообще всем айтишным специалистам. 

Читать далее

Как мы нашли уязвимость в SQLite при помощи LLM

Level of difficultyMedium
Reading time9 min
Views7K

В нашем предыдущем посте Project Naptime: Evaluating Offensive Security Capabilities of Large Language Models мы рассказали о фреймворке для исследований уязвимостей при помощи языковых моделей и продемонстрировали его потенциал, усовершенствовав показатели современных бенчмарков CyberSecEval2 компании Meta. С тех пор Naptime эволюционировал в Big Sleep — совместный проект Google Project Zero и Google DeepMind.

Сегодня мы с радостью готовы поделиться первой уязвимостью из реального мира. обнаруженной агентом Big Sleep: отрицательным переполнением (underflow) буфера стека с возможностью реализации эксплойтов в SQLite, — широко используемом опенсорсном движке баз данных. Мы обнаружили уязвимость и сообщили о ней разработчикам в начале октября, и они устранили её в тот же день. К счастью, мы обнаружили эту проблему до её появления в официальном релизе, так что она не затронула пользователей SQLite.

Мы считаем, что это первый публичный пример обнаружения ИИ-агентом ранее неизвестной уязвимости безопасности по памяти в широко используемом реальном ПО. В этом же году на мероприятии DARPA AIxCC команда Team Atlanta обнаружила разыменование нулевого указателя в SQLite, что вдохновило нас использовать его в нашем тестировании, чтобы проверить, сможем ли мы найти более серьёзную уязвимость.

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

Сама уязвимость довольно любопытна, к тому же существующая инфраструктура тестирования SQLite (и через OSS-Fuzz, и через собственную инфраструктуру проекта) не обнаружила проблему, так что мы провели дополнительное исследование.

Читать далее

Не удержался. Ответ на статью про «где лучше платят»

Level of difficultyMedium
Reading time10 min
Views59K

Это ответ, точнее мысли по статье, опубликованной на Хабре: «Зарплаты в IT: сравнение Германии и России — где программисты и айтишники получают больше». Советую сначала ее прочитать и потом уже здесь продолжить.

Читать далее

Prompt Me One More Time. Учим LLM строить графы знаний из текстов

Level of difficultyHard
Reading time10 min
Views8.6K

Привет, Хабр! Меня зовут Алла, я работаю младшим исследователем в команде Memory‑Augmented models в AIRI и занимаюсь ресерчем на пересечений графов знаний и языковых моделей. Потребность в таких изысканиях понятна любому, кто пытался добиться от ChatGPT точного ответа на конкретный вопрос: подобрать литературу для курсовой, вспомнить название фильма по описанию и тому подобное. Очень часто модель начинает галлюцинировать и выдумывать факты, которых не существует.

Один из способов решения этой проблемы — связать LLM с графом знаний, но сами графы тоже должен кто‑то наполнять. Мы с коллегами доказали, что эту задачу можно автоматизировать с помощью LLM и предложили своё решение, названное Prompt Me One More Time (фанаты Бритни тут?), о котором мне бы и хотелось сегодня здесь рассказать. За подробностями же можно обратиться к статье, представлена нами на воркшопе TextGraphs-17 конференции ACL-2024, недавно прошедшей в Тайланде.

Читать далее

Зарплаты в IT: сравнение Германии и России — где программисты и айтишники получают больше

Level of difficultyEasy
Reading time7 min
Views141K

Эта статья для тебя, если ты когда-нибудь задумывался о том, сколько получают IT-специалисты в Германии и как это всё сравнить с зарплатами в России. Я расскажу про реальные цифры и поделюсь своим личным опытом переезда.

Я живу третий год в Европе. В апреле 2024 года я начал работать на позиции scrum master в компании ALDI SUD int в городе Мюльхайм на реке Рур.
Мой профессиональный опыт в роли scrum master на апрель 2024 составлял 5 лет.

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

Читать далее

«Это как коллективные грёзы наяву»: гигантское исследование, показывающее, как танцы влияют на наш мозг

Level of difficultyEasy
Reading time6 min
Views4.2K

Гель холодил кожу головы, и мне пришлось забыть о том, как глупо я выглядела, потому что мы находились в центре серьёзных научных исследований. Это было в 2021 году, ещё в мире антибактериальных средств и масок для лица — я уже давно смирилась с тем, что во имя науки можно выглядеть глупо на публике. Танцевальный центр Siobhan Davies Studios на юге Лондона был превращён в научную лабораторию, и на меня надели то, что выглядело как сложная плавательная шапочка. По всей шапочке были разбросаны электроды для измерения активности моего мозга, а гель, выдавливаемый в отверстия, способствовал соединению электрода со скальпом.

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

Читать далее

Немного про UEFI и GRUB

Level of difficultyHard
Reading time8 min
Views32K

В данной статье пойдёт речь об особенностях UEFI на примере переноса Debian Stretch с MBR на UEFI. Опишу так же разницу между MBR и UEFI, так как я её воспринимаю.

Кроме общей части, ключевая часть статьи про формирование GRUB EFI файла grubx64.efi во время grub-install и про то, что этот файл не так прост, как кажется на первый взгляд.

Читать далее

Тактические паттерны DDD

Level of difficultyMedium
Reading time12 min
Views13K

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

Читать далее

Documentation as Code: как мы создали новую версию документации для Rest API

Level of difficultyMedium
Reading time6 min
Views5.6K

Привет! Меня зовут Сергей Востриков, я руковожу направлением Маркет и интеграций в Битрикс. Иными словами, я помогаю развивать функционал Битрикс24, доступный для разработчиков тиражных решений и индивидуальных кастомизаций. Это значит REST API и всё «вокруг» него — документацию, витрину Битрикс24 Маркет, кабинет разработчика решений и т.д.

REST API Битрикс24 включает в себя просто страшно сказать сколько методов, событий, встроек виджетов и прочих нюансов. Без документации с этим, конечно, совершенно невозможно иметь дело. И хотя нельзя сказать, что документации у нас не было, надо признать, что с течением времени у разработчиков накопилось к ней немало претензий.

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

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

Добавлю, что  в требования к третьей версии Rest API, которая (спойлер!) сейчас находится в разработке,  мы заложили автоматическую генерацию документации из исходного кода продукта, вместо того чтобы продолжать вручную писать таблички с описанием методов.  

Однако ждать выхода нового Rest API мы не стали — нам предстояла долгая работа, мы решили подготовиться заранее. Кроме того, текущую версию REST API мы будем поддерживать еще долго, так что хорошая документация для неё всё равно нужна.

Читать далее

Telegram Боты на Aiogram 3.x: Все про FSM простыми словами

Level of difficultyMedium
Reading time17 min
Views40K

Друзья, приветствую! Сегодня мы коснемся важной и не такой уж сложной темы — реализации конечных автоматов состояний (FSM) в телеграм-ботах на Aiogram 3.x.

Для лучшего понимания рекомендую ознакомиться с моими предыдущими публикациями на тему Aiogram 3.x:

Читать далее

Information

Rating
Does not participate
Registered
Activity

Specialization

Инженер АСУТП
SQL
Python
Network administration
System administration
Server administration
PLC
PLC programming
SCADA
APCS