Как стать автором
Обновить
22
0
Андрей Щеглов @unix_junkie

Пользователь

Отправить сообщение

Операция «пейджер» может стать катастрофой для гражданской авиации (мнение)

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров35K

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

Читать далее
Всего голосов 106: ↑90 и ↓16+103
Комментарии599

Ну что, очередная техногенка?

Время на прочтение3 мин
Количество просмотров13K

Я достаточно размялся, чтобы начать выполнение ваших реквестов. Под Бастией попросили Крыжовку – что ж, вот она.

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

Читать далее
Всего голосов 68: ↑63 и ↓5+73
Комментарии54

Сюрпризы конкатенации

Время на прочтение5 мин
Количество просмотров8.1K

Вопрос в стиле головоломок с offline-конференций: Что выведет этот код при запуске?


import java.util.concurrent.atomic.AtomicInteger;

public class Disturbed {

    public static void main(String... args) {
        AtomicInteger counter = new AtomicInteger(1);
        System.out.println(
            "First two positive numbers: " +
            counter + 
            ", " +
            counter.incrementAndGet()
        );
    }

}

Помедитируйте немного над кодом и приходите за ответом под кат.

Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии6

.kkrieger — маленькое чудо большой демосцены

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров13K
image

Демосцена полна необычными проектами. Однако лишь единицы из них становятся широко известны. Но, пожалуй, самой популярной технодемкой стала .kkrieger — игра в жанре шутера от первого лица с качественной (для 2004 года, когда она была выпущена) графикой, занимающая всего 96 килобайт!

На этом необычные факты не заканчиваются — начиная с сегодняшнего дня вы можете скачать архив с .kkrieger по ссылке, которая транслируется со спутника-сервера RUVDS прямо из космоса! ?‍? Получить её можно на специальном лендинге.
А теперь подробнее про саму игру
Всего голосов 43: ↑42 и ↓1+56
Комментарии34

Как понять, что работодатель не в себе — часть 2

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров29K

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

Читать далее
Всего голосов 68: ↑62 и ↓6+70
Комментарии33

Профессиональная разработка на Brainfuck

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров8.2K

Хотите довести до дурки любимого преподавателя компьютерных наук или навсегда прослыть «особенным» среди коллег сразу после (немедленного) увольнения?

Читайте про патентованный метод.

Читать далее
Всего голосов 25: ↑25 и ↓0+34
Комментарии22

Любой может получить доступ к удалённым и приватным данным репозиториев GitHub

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров49K

Кто угодно может получать доступ к данным из удалённых форков, удалённых репозиториев и даже приватных репозиториев GitHub. И эти данные доступны всегда. Это известно разработчикам GitHub, и они намеренно спроектировали систему таким образом.

Это настолько огромный вектор атак для всех организаций, использующих GitHub, что мы решили ввести новый термин: Cross Fork Object Reference (CFOR). Уязвимость CFOR возникает, когда форк одного репозитория может получить доступ к требующим защиты данным из другого форка (в том числе и к данным из приватных и удалённых форков). Аналогично Insecure Direct Object Reference, при CFOR пользователи передают хэши коммитов, чтобы напрямую получать доступ к данным коммитов, которые иначе были бы для них невидимыми.

Давайте рассмотрим несколько примеров.
Читать дальше →
Всего голосов 114: ↑106 и ↓8+127
Комментарии41

GitHub Copilot в JetBrains IDEs в РФ

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров25K

В 2022 году в публичный доступ вышел GitHub Copilot – довольно удобный современный инструмент для разработчиков. В этой короткой статье поделюсь своим опытом взаимодействия с GitHub Copilot, а главное тем, как его использовать в IDE от JetBrains. Приятного чтения!

Читать далее
Всего голосов 23: ↑12 и ↓11+6
Комментарии45

Технологии статического анализа кода PVS-Studio

Время на прочтение16 мин
Количество просмотров7K

0908_Technology_ru/image1.png


PVS-Studio предоставляет статические анализаторы для языков C, C++, C# и Java на платформах Windows, Linux и macOS. Несмотря на некоторые различия, накладываемые особенностями отдельных языков, в целом все перечисленные анализаторы используют общие технологии и подходы.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+18
Комментарии16

Инициализация в современном C++

Время на прочтение26 мин
Количество просмотров158K


Общеизвестно, что семантика инициализации — одна из наиболее сложных частей C++. Существует множество видов инициализации, описываемых разным синтаксисом, и все они взаимодействуют сложным и вызывающим вопросы способом. C++11 принес концепцию «универсальной инициализации». К сожалению, она привнесла еще более сложные правила, и в свою очередь, их перекрыли в C++14, C++17 и снова поменяют в C++20.


Под катом — видео и перевод доклада Тимура Домлера (Timur Doumler) с конференции C++ Russia. Тимур вначале подводит исторические итоги эволюции инициализации в С++, дает системный обзор текущего варианта правила инициализации, типичных проблем и сюрпризов, объясняет, как использовать все эти правила эффективно, и, наконец, рассказывает о свежих предложениях в стандарт, которые могут сделать семантику инициализации C++20 немного более удобной. Далее повествование — от его лица.

Всего голосов 62: ↑61 и ↓1+60
Комментарии125

Что такое фаззинг и зачем он нужен?

Время на прочтение8 мин
Количество просмотров31K

Всем привет! Меня зовут Кирилл, я старший разработчик в группе «Полигоны и ограничения доставки» в Ozon. Cегодня я расскажу про фаззинг, встроенный в Go: что это такое, зачем он нужен в разработке программного обеспечения и как с его помощью найти баг в дикой природе open-source-коде (рассмотрим на примере).

Читать далее
Всего голосов 47: ↑45 и ↓2+49
Комментарии7

Как устранить пробелы в DAST-тестировании с помощью инструментации

Время на прочтение4 мин
Количество просмотров1.5K

Всем привет! Меня зовут Владимир Исабеков, в Swordfish Security я занимаюсь динамическим анализом приложений (DAST, Dynamic Application Security Testing). В этой статье мы поговорим о ключевых недостатках DAST-тестирования и рассмотрим один из способов их устранения.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии4

Дешифровка текста методом частотного анализа

Время на прочтение4 мин
Количество просмотров32K

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


s1200

Читать дальше
Всего голосов 7: ↑7 и ↓0+7
Комментарии14

Как мы ржавели. История внедрения и обучения

Время на прочтение12 мин
Количество просмотров36K

Все говорили – переходи на rust! Начинай пользоваться самым-самым языком, который самый любимый язык на stackoverflow и всё такое.

Я тяжело вздохнул и огляделся. Ну опять двадцать-пять. Ладно, давайте разбираться, как правильно покрывать всё ржавчиной.

Профессионально я программирую уже 17 лет. В далёкие-предалёкие времена я начал изучать программирование с x86 Assembly. Такой жестокий подход к изучению компьютера дал мне глубокое понимание того как работает процессор и что делают другие языки программирования. Учить новые языки для меня никогда не было проблемой. Я их просто учил. C, C++, шарпы, ГО, тысячи разных скриптов и фреймворков. Чего уж там, ещё один язык, можно и выучить.

Ага.

Только вот не с этой ржавой развалюхой. Я просидел две недели над официальным руководством, пялился в VSCode и не мог выдавить из себя больше чем fn main() {}. Ну какого же чёрта? Я просто закрыл глаза, открыл руководство на рандомной странице и начал его читать. И прикол в том, что я понял о чём там говориться. И тут до меня дошло… Руководство написано наизнанку. Начало и конец ничуть не лучше чем в Мементо Кристофера Нолана. Они как-то умудрились запутать в общем-то нормальное руководство. После этого всё пошло получше.

Ржавые шестерёнки заскрипели и начали крутиться. Программа пошла-поехала. Если хотите знать как я внедрил rust в продакшин, как я ему научился и что из этого вышло – добро пожаловать под кат. Реальные люди, коммиты, примеры и никаких todo-list и хеллоу-ворлдов.

Ржаветь так ржаветь.
Всего голосов 113: ↑109 и ↓4+134
Комментарии315

Об Oracle Coherence по-русски: Зачем он нужен?

Время на прочтение12 мин
Количество просмотров21K
В данной статье вы найдете ответ на поставленный вопрос, а также в ней будут объяснены базовые понятия по технологии распределенных вычислений в Oracle Coherence. Это вводная статья, главной задачей которой является объяснение “словаря” терминов, которым пользуются разработчики Coherence. Я приведу термины в том числе и на английском языке, для облегчения поиска информации для тех, кто захочет узнать больше в этом направлении.
Для тех, кому эта тема интересна, прошу под кат
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии20

Где скачать научную статью легко и доступно?

Время на прочтение1 мин
Количество просмотров92K

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

Однако стоимость одной статьи от платных издателей может составлять 150 долларов, что не так уж и мало по сравнению с размером стипендии студента.

Здесь собраны совершенно бесплатные ресурсы, где вы можете найти интересующую Вас научную статью.

Читать далее
Всего голосов 89: ↑89 и ↓0+89
Комментарии26

CodeQL: SAST своими руками (и головой). Часть 1

Время на прочтение12 мин
Количество просмотров9.9K

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

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

В этой статье я расскажу о CodeQL от GitHub Security Lab, интересном инструменте и языке для анализа исходного кода, который активно набирает популярность и выглядит весьма перспективным.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Kubernetes: шпаргалка для собеседования

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров41K
Всем привет! Меня зовут Олег, я работаю исполнительным директором по разработке в Газпромбанке. На разных этапах карьеры я участвовал во многих собеседованиях, а в настоящее время сам собеседую кандидатов на должность инженеров DevOps и системных администраторов в Газпромбанке, вследствие чего у меня сформировалось некоторое представление о вопросах, которые могут быть заданы соискателям. И сейчас я хочу остановиться на разделе вопросов про Kubernetes.

image

Сразу хочу сказать, что изначально планировал сделать одну статью, но в итоге получилась такая простыня, что пришлось разделить текст на две части. Ссылку на вторую опубликую здесь, как только она появится (вот она).

Вопросы по Kubernetes достаточно часты на собеседованиях на инженерные вакансии, связанные с администрированием и эксплуатацией. Они могут варьироваться от базовых, рассчитанных на механическую проверку теоретических знаний («объясните, что такое service») до более сложных и комплексных, требующих глубинного понимания внутренних принципов Kubernetes и работы (каким образом опубликовать приложение, развёрнутое в Kubernetes). Давайте пойдём от базы в направлении возрастания сложности.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+20
Комментарии12

Как в России в XIX веке компьютер изобрели

Время на прочтение12 мин
Количество просмотров7.6K
Компьютер придумал русский учёный Семён Корсаков в первой половине XIX века. Что? Да! И теоретическое обоснование к изобретению искусственного интеллекта впервые подвёл тоже он. «Как микроскоп и телескоп усилили наши чувства, так и интеллектуальные машины могут усиливать наш разум», — писал изобретатель.

image
Кстати, вот он — Семён Корсаков, человек, опередивший своё время

Интеллектуальные машины, которые создал Корсаков, достаточно простые и недорогие. Базы данных и некий прототип языка программирования Корсаков для них тоже придумал. Машины могли проводить поиск среди множества критериев, учитывая их относительную важность, и обрабатывать большие объёмы информации. Они умели проводить все основные операции с множествами, то есть делать всё, что сейчас делает дискретная математика. Их появление могло физически перевернуть всю науку XIX века и лет на пятьдесят ускорить появление современных компьютеров. Но что-то пошло не так.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+24
Комментарии11

Как при помощи нейросети восстанавливали обугленные свитки из Помпеи (угадайте, с каким контентом внутри)

Время на прочтение13 мин
Количество просмотров22K
image
Результат одной из попыток физически развернуть обугленный свиток

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

Сверху у них — грязь селя. Дальше — выпавший из эруптивной колонны вулканический пепел. Получилась довольно прочная оболочка — это «запечатало» помещения, не дав воздуху и влаге окончательно добить бесценные рукописи, буквально законсервировав их почти на 2 000 лет.

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

Но сейчас удаётся восстановить часть контента с этих древних свитков. Кажется, нам достался самый популярный греческий контент — предметные инструкции, как радоваться жизни. Довольно прикладные.
Читать дальше →
Всего голосов 59: ↑58 и ↓1+77
Комментарии23
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность