Как стать автором
Обновить
36
0

ковырятель блокчейнов

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

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

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

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

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Всего голосов 216: ↑214 и ↓2+212
Комментарии77

Формальные методы проверки смарт-контрактов. Certora Prover

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

Друзья, приветствую! Меня зовут Сергей Соболев, я представляю отдел безопасности распределенных систем Positive Technologies. В этой статье начну рассказывать про методы и инструменты формальной верификации, их практическое применение в аудите смарт-контрактов, а также про подводные камни.

Сегодня поговорим про общие теоретические аспекты формальной верификации, проблемы SAT и SMT и закрепим все это на простом примере с использованием хайпового инструмента для анализа смарт-контрактов Certora Prover со своим языком спецификаций.

Под кат
Всего голосов 10: ↑10 и ↓0+10
Комментарии7

Знакомство с Kubernetes на практике

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

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

В этой статье мы поговорим о том, как начать свой путь в Kubernetes и даже разработаем полноценный fullstack проект и локально развернем его в Kubernetes.

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

Новые проклятия: руководство по ncurses

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

HTOP, midnight commander... Как же они построили довольно красивый и удобный псевдографический интерфейс?

Все благодаря библиотеке для C/С++ под названием new curses ("новым проклятиям" дословно) или же NCURSES.

Но как ее установить и работать с ней?

Вперёд!
Всего голосов 21: ↑16 и ↓5+11
Комментарии9

Выбираем между Global Talent и Global Talent для переезда в Великобританию

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

Пять лет назад Наталья Сергованцева переехала в Лондон, открыла бизнес, запустила два стартапа, один как ко-фаундер, и в статье расскажет про Global Talent Visa.

Читать далее
Всего голосов 19: ↑15 и ↓4+11
Комментарии1

Изучаем ёмкостную трёхточку и собираем FM передатчик

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


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

После чего соберём маленький транзисторный УКВ ЧМ передатчик на базе такого генератора. Не пугайтесь, он совсем маломощный (как MP3-модуляторы в гнезде автомобильного прикуривателя) и не нарушает законов о радиосвязи.

А чтобы услышать, что передатчик вещает, соберем ещё и FM радиоприёмник.
Будет интересно!
Всего голосов 30: ↑30 и ↓0+30
Комментарии5

Thinkpad T480 — сравнение вариантов охлаждения ноутбука (MX4, PTM7950, жидкий металл, разные радиаторы и т. д.)

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

Thinkpad T480 с i5 8350U троттлит в своей стоковой комплектации, я провёл несколько тестов с разными вариантами охлаждения процессора этого ноутбука, и детально сравнил результаты в этом гайде. Он будет полезен не только для владельцев T480, так как эти способы могут быть использованы и в других устройствах.

T480 выпускается в различных комплектациях, версия с i5 8350u без дискретной видеокарты имеет радиатор с одной медной трубкой, он справа на фотографии. Версия ноутбука с процессором i7 8550U и дискретной видеокартой mx150 имеет радиатор с двумя медными трубками и область для GPU.

Ничто не мешает поставить большой радиатор в ноутбук без дискретной видеокарты, чтобы значительно понизить температуру процессора. Я купил радиатор с двумя медными трубками на Aliexpress за 26$ (2100 рублей на момент написания статьи).
Маленький радиатор весит 69 грамм, большой 93.

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии53

Как снимали первую Матрицу и в чём её феномен

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

В 1999 году на экраны кинотеатров вышло небывалое количество фильмов, ставших по-настоящему культовыми: «Зелёная миля», «Бойцовский клуб», «Красота по-американски», «Мумия», «Сонная лощина» и другие («Звёздные войны: Призрачная угроза» в этот список не включён осознанно, потому что ничего культового в нём нет). 

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

Следовать за белым кроликом 🐇
Всего голосов 130: ↑124 и ↓6+118
Комментарии140

Блин! Да не сложно похудеть! Даже работая в IT

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

Очень хочется выругаться прямо в текст! Прочитал длинную статью про похудение. Да вот она - Почему похудеть, работая в ИТ, так сложно. Хотел бы я увидеть фото автора в полный рост. Сомневаюсь что он в хорошей форме.

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

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

В статье автор был так убедителен, что я сам чуть было не поверил. Но вовремя вспомнил что сам похудел с 96кг до 82кг следуя одному правилу - 16/8. За 3 месяца, а не за всю жизнь, как пишет автор. Вес полгода стоит на этой отметке, а в спортзал я так и не записался.

Читать далее
Всего голосов 139: ↑123 и ↓16+107
Комментарии234

«Йо-хо-хо»-2 или перевозка рабов и трупов оппозиционеров

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

Я продолжаю работу над своей браузерной игрой про пиратов на Three.js. Пришло время добавить торговлю. Я подумал, раз у нас тут век пиратов, то и в политическом смысле обстановка должна быть весьма фривольной, то есть, без всякой богомерзкой демократии. А чего стесняться? Заходим в порт, а там нам, пиратам, сразу же предлагают приобрести пушечные ядра и выполнить заказы на транспортировку трупов оппозиционеров и доставку рабов. Еще можно отвезти ром на Тортугу или подбросить губернаторскую дочь на вечеринку на Райский остров. Или тайно эвакуировать беглого губернатора за хорошую плату. Действительно, для подобных дел правительству идеально использовать пиратов. В конце концов, рабы сами себе билет на регулярный рейс не купят, а оппозиционеры сами себя не похоронят. А проблему решать надо... Короче говоря, перевозить древесину и шелк, как в обычных играх - это скучно. Пусть будут этакие «девяностые», но в эпоху пиратов. Пираты выполняют не совсем законные задания правительства, а последнее закрывает глаза на их не совсем законные методы обогащения.

Читать далее
Всего голосов 105: ↑95 и ↓10+85
Комментарии59

React hooks, как не выстрелить себе в ноги. Часть 2: useEffect и useLayoutEffect

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

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

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

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

Им было нечего скрывать

Время на прочтение7 мин
Количество просмотров73K
Мы не первый год работаем на рынке информационной безопасности. Основные наши клиенты – правоохранительные органы разных стран, спецслужбы, а также отделы IT безопасности в крупных компаниях. Иногда наши клиенты делятся с нами интересными историями; о некоторых из них можно прочитать и в средствах массовой информации. Сегодня я хочу рассказать несколько историй о людях, которым было «нечего скрывать» и у которых в результате возникли серьёзные проблемы буквально на ровном месте.

В чём проблема?


Я часто пишу статьи на тему информационной безопасности. Иногда получается понятно для неспециалиста, иногда, вероятно, не очень. «Что-то я вообще не понял посыла статьи […] в чем проблема?», «имхо, проблема с icloud, слегка притянута за уши», ну и бессмертное – «я не стал заморачиваться, мне нечего скрывать». Отлично, давайте посмотрим, стоит ли вам что-либо скрывать.

Celebgate: «проблема с iCloud слегка притянута за уши»


С момента выхода нашего первого продукта для извлечения данных из iCloud прошло более пяти лет. Ключ от продукта Elcomsoft Phone Password Breaker (сейчас у него другое название), который на тот момент мы продавали исключительно правоохранительным органам, был украден и попал в руки хакерской группировки.
Читать дальше →
Всего голосов 115: ↑107 и ↓8+99
Комментарии341

Подробный разбор симплекс-метода

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

Пролог


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

Замечание. Пост будет написан достаточно формальным языком, но будет снабжен комментариями, которые должны внести некоторую ясность. Такой формат позволит сохранить научный подход и при этом, возможно, поможет некоторым в изучении данного вопроса.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии27

Этот наш мир

Время на прочтение12 мин
Количество просмотров42K
Иногда я проверяю свою рабочую почту и вижу там сообщение «Анонс доклада: Вершиннная эллиптическая криптография в N-сторонних Бананотряховых[1] пространствах». Я смотрю аннотацию и там говорится что-нибудь типа «Хорошо известно, что 5-сторонний обмен секретами нелегален со времён Протестантской Реформации [Лютер1517]. Однако, используя новые результаты в области исполняющихся за полиномиальное время Бананотряховых проекций, мы показываем, как множество корреспондентов, притворяющихся друзьями (но являющихся противниками)[2], могут послать друг другу вплоть до 5 ехидных язвительных замечаний, устойчивых к атакам с использованием выбранным по Бананотряху открытого текста сообщения». Такое чувство, что началась середина трагичной, но вряд ли интересной оперы. По какой именно причине нас только что засунули в эллиптический мир? Кто именно такой этот Бананотрях, и почему нам не пофигу, какой он там открытый текст выберет? Если потому, что он похитил наши семьи, можно мне хотя бы обменяться сообщениями с похищенной роднёй, и если да, обязательно ли сообщения должны быть ехидными и язвительными?
Читать дальше про Бананотряха, устойчивые пароли, невест по почте, Моссад и всякое другое
Всего голосов 157: ↑107 и ↓50+57
Комментарии24

Как поехать на двух колесах на работу

Время на прочтение9 мин
Количество просмотров53K
Доброго времени суток, уважаемое Хабросообщество.

Год назад был точно такой же весенний день, как и сегодня. Я как обычно ехал на работу на общественном транспорте, испытывая все те прекрасные чувства, знакомые всем, кто ездит в транспорте в час пик. Сзади меня подпирала еле закрывшаяся дверь автобуса. В лицо мне постоянно лезли волосы девушки, которая эмоционально ругалась с дамой средних лет, при этом вертя головой каждые пол минуты. Дополнял всю картину стойкий запах, как будто в сырной лавке где-то на юге Франции. Но источник запаха, этот любитель Рокфора и Бри-де-Мо, последователь Людовика XIV по принятию водных процедур, спокойно спал на автобусном сиденье. Именно в тот день я решил, что пора отказываться от общественного транспорта в пользу личного.

image

В статье ниже я хочу рассказать как я пришел к решению использовать велосипед, как транспорт для маршрута дом-работа-дом, затронуть вопросы экипировки для катания, как необходимой так и не очень, а также поделиться советами по поводу поведения на дороге на двухколесном.
Читать дальше →
Всего голосов 123: ↑113 и ↓10+103
Комментарии781

256 строчек голого C++: пишем трассировщик лучей с нуля за несколько часов

Время на прочтение8 мин
Количество просмотров142K
Публикую очередную главу из моего курса лекций по компьютерной графике (вот тут можно читать оригинал на русском, хотя английская версия новее). На сей раз тема разговора — отрисовка сцен при помощи трассировки лучей. Как обычно, я стараюсь избегать сторонних библиотек, так как это заставляет студентов заглянуть под капот.

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

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

Итак, сегодня я покажу, как отрисовывать подобные картинки:


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

Схема разделения секрета Шамира

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

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

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

Отчаявшись, вы уничтожаете дубликат и решаете разделить исходный ключ пополам. Теперь, вы думаете, два доверенных человека с фрагментами ключей должны физически присутствовать, чтобы собрать ключ и открыть хранилище. Это означает, что вору необходимо украсть два фрагмента, что вдвое труднее кражи одного ключа. Однако вскоре вы понимаете, что эта схема ненамного лучше, чем просто один ключ, потому что если кто-то потеряет половину ключа, полный ключ нельзя восстановить.
Читать дальше →
Всего голосов 72: ↑72 и ↓0+72
Комментарии22

Ремонт принтера от мейнфрейма IBM 1401 эпохи 60-х

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

Мейнфрейм IBM 1401 (слева) в Музее компьютерной истории печатает фрактал Мандельброта на принтере 1403 (справа)

В Музее компьютерной истории для демонстрации стоят два рабочих мейнфрейма IBM 1401, но несколько недель назад у одного из них внезапно отказал принтер. Я помог его починить, но это оказалось сложнее, чем мы ожидали. По ходу пришлось изучить логические схемы проверки ошибок в принтере, буфер печати и даже низкоуровневые сигналы ферритовой памяти. Эта статья о нашем расследовании и том, как мы всё-таки нашли неисправный германиевый транзистор.
Читать дальше →
Всего голосов 72: ↑72 и ↓0+72
Комментарии63

Что почитать в выходные: 5 книг по практической информационной безопасности

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


Нас часто спрашивают, какие книги стоит почитать тем, кто делает первые шаги в сфере информационной безопасности? Наша команда экспертов по тестированию на проникновение составила подборку книг, которые помогут освоить практические вопросы ИБ.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии3

Анализатор-визуализатор спектра аудио сигнала на базе Arduino

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


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

Почему именно анализатор-визуализатор спектра?


Ведь программных решений данной задачи довольно много и вариантов аппаратной реализации так же немало. Во-первых, очень хотелось поработать с большим количеством светодиодов (т.к. мы уже собирали led-куб, каждый для себя, но в небольших размерах), во-вторых, применить на практике полученные знания по цифровой обработке сигналов и, в-третьих, в очередной раз попрактиковаться в работе с паяльником.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии47

Информация

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