Search
Write a publication
Pull to refresh
1
0
Дмитрий @SHadDim

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

Send message

Побег из Крипто Про. Режиссерская версия, СМЭВ-edition

Reading time11 min
Views69K

Эта статья посвящена тому, как перестать использовать Крипто Про и перейти на Bouncy Castle в девелоперском/тестовом окружении.
В начале статьи будет больше про СМЭВ и его клиент, в конце — больше про конвертирование ключей с готовой копипастой, чтобы можно было начать прямо сейчас.


Картинка для привлечения внимания:


image
Читать дальше →

Заметка про NULL

Reading time10 min
Views189K
Всем привет!
Долго думал, что бы написать полезного про Оракл, перепробовал кучу тем. Каждый раз получалось слишком длинно, потому что уносило глубоко в дебри. Поэтому решил начать с максимально простой темы, чтобы оценить интерес аудитории и её отношение к моему стилю изложения материала (имхо, писатель из меня не очень). Несколько замечаний:
  • заметка относится к СУБД Oracle, но большинство написанного касается и других СУБД;
  • не получилось симпатично оформть код: тег source lang=«sql» подсвечивает слишком мало, как сделать по другому не в курсе. Если кто покажет, быстро всё приведу в более читабельный вид.
Итак.

Основные положения

Специальное значение NULL означает отсутствие данных, констатацию того факта, что значение неизвестно. По умолчанию это значение могут принимать столбцы и переменные любых типов, если только на них не наложено ограничение NOT NULL. Также, СУБД автоматически добавляет ограничение NOT NULL к столбцам, включенным в первичный ключ таблицы.

Основная особенность NULLа заключается в том, что он не равен ничему, даже другому NULLу. С ним нельзя сравнить какое-либо значение с помощью любых операторов: =, <, >, like… Даже выражение NULL != NULL не будет истинным, ведь нельзя однозначно сравнить одну неизвестность с другой. Кстати, ложным это выражение тоже не будет, потому что при вычислении условий Oracle не ограничивается состояниями ИСТИНА и ЛОЖЬ. Из-за наличия элемента неопределённости в виде NULLа существует ещё одно состояние — НЕИЗВЕСТНО.
Читать дальше →

Компьютерная криминалистика (форензика) — обзор инструментария и тренировочных площадок

Reading time5 min
Views139K

 
Форензика (компьютерная криминалистика, расследование киберпреступлений) — прикладная наука о раскрытии преступлений, связанных с компьютерной информацией, об исследовании цифровых доказательств, методах поиска, получения и закрепления таких доказательств. В этой статье мы рассмотрим популярные инструменты для проведения криминалистического анализа и сбора цифровых доказательств.
Читать дальше →

Социальная инженерия в Instagram

Reading time2 min
Views19K
Эта статья будет о способе взлома Instagram аккаунтов из-за неопытности их владельцев. Всё это описано лишь в ознакомительных целях.

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

Теперь главной задачей для нас будет найти те аккаунты Instagram, к которым привязана нужная нам почта. Чтобы не пересматривать профили вручную в поисках кнопки «Контакты» или «E-mail адрес», я написал простой скрипт на Python, который собирает логины подписчиков определенного человека и каждому отправляет запрос на восстановление пароля, и в файл записывается ответ сервера:

image
Читать дальше →

Почему вам стоит разгонять оперативную память (это легко!)

Reading time5 min
Views195K


Любая программа на ПК использует для работы оперативную память, RAM. Ваша RAM работает на определённой скорости, заданной производителем, но несколько минут копания в BIOS могут вывести её за пределы стандартных спецификаций.

Да, скорость работы памяти имеет значение


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

Улучшение скорости работы памяти может напрямую улучшить эффективность работы CPU в определённых ситуациях, хотя существует и точка насыщения, после которой CPU уже не в состоянии использовать память достаточно быстро. В повседневных задачах несколько дополнительных наносекунд не принесут вам особой пользы, но если вы занимаетесь обработкой больших массивов чисел, вам может помочь любое небольшое увеличение эффективности.
Читать дальше →

Fasttext на PHP\Python. Первые шаги

Reading time3 min
Views6K

Чё, зачем, почему




Уже достаточно давно популярность набрали разного рода алгоритмы машинного обучения. Также, благодаря крупным компаниям, которые двигают технологический прогресс, появилось много opensource продуктов. Одним из них является Fasttext, о котором пойдет речь ниже.
Читать дальше →

Git изнутри и на практике

Reading time11 min
Views19K
Умение работать внутри системы контроля версий — навык, который требуется каждому программисту. Зачастую может показаться, что закапываться в Git и разбираться в его внутренностях — лишняя потеря времени и основные задачи можно решить через базовый набор команд.

Команде AppsCast, конечно, захотелось узнать больше, и за консультацией по практическому применению всех возможностей Git ребята обратились к Егору Андреевичу из Square.


Читать дальше →

Я мотоцикл покупал, чтобы ездить, а не чтобы падать

Reading time8 min
Views168K


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

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

Деревянные игрушки, часть третья — 1989

Reading time4 min
Views19K
Где-то в 1989-90 году я стал более-менее регулярно играть на РС, а не время от времени. Нас на выходные брали на работу и почти целый день у нас на троих в распоряжении имелось два компьютера с играми. На третьем компьютере в это время работали в чем-то Windows-подобном, но нас это мало беспокоило. Игры-то на других компьютерах были.



Содержание:
Деревянные игрушки — эпилог, что осталось прибитым к потолку
Деревянные игрушки, часть последняя — 1997
Деревянные игрушки, часть десятая — 1996
Деревянные игрушки — неписи
Деревянные игрушки, часть девятая — 1995
Деревянные игрушки, часть восьмая — 1994
Деревянные игрушки, часть седьмая — 1993
Деревянные игрушки, часть шестая — 1992
Деревянные игрушки, часть пятая — 1991
Деревянные игрушки, часть четвертая — 1990
Деревянные игрушки, часть третья — 1989
Деревянные игрушки, часть вторая — 1986-1988
Деревянные игрушки, часть первая — 1982-1985
Читать дальше →

Деревянные игрушки, часть четвертая — 1990

Reading time4 min
Views19K
Восьмидесятые закончились и сразу довольно резко выросло количество игр, как выходящих вообще, так и доступных тогда ещё в СССР. Если честно, не знаю тогдашних источников. Сомневаюсь, что качали откуда-то — в нашей деревне, по крайней мере. Скорее привозили из столицы на маленьких, но толстых трёхдюймовых дискетках. А потом владелец трёхдюймового дисковода копировал эти игрушки на пятидюймовые дискеты, на которых их уже растаскивали по другим компьютерам. Сегодня же от этих дисководов одна только польза — дырку в корпусе закрывают, если системник не сильно новый. На ноутах же дисковод часто был быстросменным — но это уже тогда, когда начали CD-ROM ставить массово. Хотя у некоторых моделей могло и то, и другое одновременно быть.



Содержание:
Деревянные игрушки — эпилог, что осталось прибитым к потолку
Деревянные игрушки, часть последняя — 1997
Деревянные игрушки, часть десятая — 1996
Деревянные игрушки — неписи
Деревянные игрушки, часть девятая — 1995
Деревянные игрушки, часть восьмая — 1994
Деревянные игрушки, часть седьмая — 1993
Деревянные игрушки, часть шестая — 1992
Деревянные игрушки, часть пятая — 1991
Деревянные игрушки, часть четвертая — 1990
Деревянные игрушки, часть третья — 1989
Деревянные игрушки, часть вторая — 1986-1988
Деревянные игрушки, часть первая — 1982-1985
Читать дальше →

Деревянные игрушки, часть пятая — 1991

Reading time4 min
Views19K
В 1991 году всё больше игр выходило с поддержкой VGA, хотя за EGA ещё держались и не так много игр именно требовали VGA. Для меня же в 1991 начинался период отлучения от РС. Регулярному доступу приходил на смену эпизодический, гораздо больше времени начал проводить за MSX в школе. На РС же, к которым был доступ, был паскаль, а не игрушки. Это тоже было интересно, но всё же проходило по другому ведомству.



Содержание:
Деревянные игрушки — эпилог, что осталось прибитым к потолку
Деревянные игрушки, часть последняя — 1997
Деревянные игрушки, часть десятая — 1996
Деревянные игрушки — неписи
Деревянные игрушки, часть девятая — 1995
Деревянные игрушки, часть восьмая — 1994
Деревянные игрушки, часть седьмая — 1993
Деревянные игрушки, часть шестая — 1992
Деревянные игрушки, часть пятая — 1991
Деревянные игрушки, часть четвертая — 1990
Деревянные игрушки, часть третья — 1989
Деревянные игрушки, часть вторая — 1986-1988
Деревянные игрушки, часть первая — 1982-1985
Читать дальше →

Самодельный счётчик Гейгера на ESP8266 с сенсорным экраном

Reading time4 min
Views36K


Я разработал и собрал счётчик Гейгера – устройство, способное обнаруживать ионизирующее излучение и предупреждать об опасных уровнях радиации в окружающей среде знакомыми щелчками. Его также можно использовать для поиска минералов, и определять, есть ли в найденном вами камне урановая руда!

В интернете можно найти много готовых наборов и инструкций по сборке счётчика Гейгера, но я хотел сделать нечто уникальное – и я разработал GUI-дисплей с сенсорным управлением и красивым выводом информации на экран.

Деревянные игрушки, часть первая — 1982-1985

Reading time6 min
Views33K
Когда писал обзоры на ноутбук Compaq LTE, не думал, что настолько затяну с игрушечной частью. Но, как выяснилось, тут «работы» гораздо больше, чем думал. К примеру, куча игр, в которые играл уже в девяностые, оказалась из восьмидесятых. Плюс одно тянет за собой другое — вторая часть первую и т.п.

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

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



Содержание:
Деревянные игрушки — эпилог, что осталось прибитым к потолку
Деревянные игрушки, часть последняя — 1997
Деревянные игрушки, часть десятая — 1996
Деревянные игрушки — неписи
Деревянные игрушки, часть девятая — 1995
Деревянные игрушки, часть восьмая — 1994
Деревянные игрушки, часть седьмая — 1993
Деревянные игрушки, часть шестая — 1992
Деревянные игрушки, часть пятая — 1991
Деревянные игрушки, часть четвертая — 1990
Деревянные игрушки, часть третья — 1989
Деревянные игрушки, часть вторая — 1986-1988
Деревянные игрушки, часть первая — 1982-1985
Читать дальше →

Улучшение производительности Zabbix + PostgreSQL при помощи партиционирования и индексирования

Reading time24 min
Views30K
Примерно год назад передо мной и моими коллегами была поставлена задача разобраться с использованием популярной системы мониторинга сетевой инфраструктуры — Zabbix. После изучения документации мы сразу же перешли к нагрузочному тестированию: хотели оценить с каким количеством параметров может работать Zabbix без заметных падений производительности. В качестве СУБД использовали только PostgreSQL.

В ходе тестов были выявлены некоторые архитектурные особенности разметки БД и поведения самой системы мониторинга, которые по умолчанию не позволяют выйти системе мониторинга на свою максимальную мощность работы. В результате были разработаны, проведены и апробированы некоторые оптимизационные мероприятия в основном в части настройки БД.

О результатах проделанной работы я и хочу поделиться в данной статье. Статья будет полезна как администраторам Zabbix, так и PostgreSQL DBA, а также всем желающим лучше понять и разобраться в популярной СУБД PosgreSQL.

Небольшой спойлер: на слабой машине при нагрузке в 200 тысяч параметров в минуту нам удалось снизить показатель CPU iowait с 20% до 2%, уменьшить время записи порциями в таблицы первичных данных в 250 раз и в таблицы агрегированных данных в 32 раза, уменьшить размер индексов в 5-10 раз и ускорить получение исторических выборок в некоторых случаях до 18 раз.
Читать дальше →

Как объяснить своей бабушке разницу между SQL и NoSQL

Reading time7 min
Views23K
image

Одно из наиболее важных решений, которые принимает разработчик, заключается в том, какую базу данных использовать. В течение многих лет опции были ограничены различными вариантами реляционных баз данных, которые поддерживали язык структурированных запросов (SQL). К ним относятся MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 и многие другие.

За последние 15 лет на рынке появилось много новых баз данных в рамках подхода No-SQL. К ним относятся хранилища ключей-значений, такие как Redis и Amazon DynamoDB, широкие колоночные базы, такие как Cassandra и HBase, хранилища документов, такие как MongoDB и Couchbase, а также графовые базы данных и поисковые системы, такие как Elasticsearch и Solr.

В этой статье мы попробуем разобраться в SQL и NoSQL, не влезая в их функционал.
Кроме того, мы немного повеселимся в процессе.
Читать дальше →

Книга «Data mining. Извлечение информации из Facebook, Twitter, LinkedIn, Instagram, GitHub»

Reading time8 min
Views9.2K
image Привет, Хаброжители! В недрах популярных социальных сетей — Twitter, Facebook, LinkedIn и Instagram — скрыты богатейшие залежи информации. Из этой книги исследователи, аналитики и разработчики узнают, как извлекать эти уникальные данные, используя код на Python, Jupyter Notebook или контейнеры Docker. Сначала вы познакомитесь с функционалом самых популярных социальных сетей (Twitter, Facebook, LinkedIn, Instagram), веб-страниц, блогов и лент, электронной почты и GitHub. Затем приступите к анализу данных на примере Twitter. Прочитайте эту книгу, чтобы:

  • Узнать о современном ландшафте социальных сетей;
  • Научиться использовать Docker, чтобы легко оперировать кодами, приведёнными в книге;
  • Узнать, как адаптировать и поставлять код в открытый репозиторий GitHub;
  • Научиться анализировать собираемые данные с использованием возможностей Python 3;
  • Освоить продвинутые приемы анализа, такие как TFIDF, косинусное сходство, анализ словосочетаний, определение клика и распознавание образов;
  • Узнать, как создавать красивые визуализации данных с помощью Python и JavaScript.
Читать дальше →

Отладка игр для NES: как она происходит сегодня

Reading time5 min
Views8.3K
image

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

Инструменты отладки


Один из лучших способов отладки кода — использование отладчика. В некоторых версиях эмуляторов FCEUX и Mesen есть встроенный отладчик, позволяющий прерывать в любой момент времени выполнение программы для проверки работоспособности кода.


Отладчик эмулятора FCEUX

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

Система «Умный дом» своими руками

Reading time9 min
Views92K

Пару недель назад в нашем чате появилось вот такое сообщение:




А еще чуть позже — вот такое:




Автор сообщений — Женя, программист, руководитель отдела обучения и электронщик. В 5 лет он заметил, что если вырвать из магнитофона моторчик, подключить к нему лампочку и начать его крутить, то лампочка будет гореть. В шесть — что если у моторчика поменять полярность подключения, он будет крутиться в другую сторону. В 18 поступил на Измерительные инновационные технологии в Политех. А в 24 пришел работать в «Сибирикс».


Это к тому, что цель всей затеи — не Умный дом и метеостанция как таковые. Цель — почесать руки (потому что чешутся) и не дать им окислиться (потому что из золотого сплава). Так что все, кто недоумевает, зачем тратить время, когда можно просто купить такие девайсы — идите лесом-DNCом. А тем, кому интересна тема DIY-электроники (или DIY-электронщиков, что тоже не зазорно), можно скроллить дальше.


Скроллить дальше

HDMI-LVDS. Разработка на TSUMV59 от MStar

Reading time3 min
Views12K
Доброго времени суток, Хабр!



В продолжение прошлой статьи на тему DisplayPort-LVDS, решил написать о своей новой разработке контроллера HDMI-LVDS на чипе TSUMV59 от MStar. Контроллер имеет много интересного на борту, например, аналоговый выход звука, ИК порт, кнопки управления и даже OSD меню.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity