Как стать автором
Обновить
232
0.1
force @force

Например: Программист

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

Храним числа экономно

Время на прочтение7 мин
Количество просмотров14K
Недавно в одном из проектов встала задача: есть набор множеств (Set), которые надо достаточно эффективно хранить в оперативной памяти. Потому что множеств много, а памяти мало. И с этим надо что-то делать.

Так как язык, на котором всё это написано — C#, то есть нюансы. А именно, что стандартный HashSet<int> на хранение одного числа тратит 16 байт, также влияет филл фактор. Есть более эффективные реализации (когда-нибудь и про них напишу), но с другой стороны, можно же тупо хранить в массивах, по 4 байта на число (требуется хранить инты), что достаточно эффективно. Но можно ли уменьшить ещё?

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

Есть набор неотрицательных уникальных интов (32 бита). Требуется хранить их эффективно в оперативной памяти, из операций — создание набора и получение всех элементов. Не нужно получать элементы по индексу, добавлять новые или удалять.

В статье будет много букв и цифр и ни одной картинки (кроме упакованного котика на КДПВ).
Что можно с этим сделать?
Всего голосов 25: ↑23 и ↓2+21
Комментарии60

Сканер портов в личном кабинете Ростелекома

Время на прочтение4 мин
Количество просмотров129K
Сегодня я совершенно случайно обнаружил, что личный кабинет Ростелекома занимается совершенно вредоносной деятельностью, а именно, сканирует локальные сервисы на моём компьютере. Так как добиться от Ростелекома вменяемой информации практически нереально, решил указать про данную проблему на Хабре, чтобы хабровчане были в курсе, что можно ожидать весьма сомнительное поведение даже от крупных и серьёзных игроков.

А теперь, собственно детали.
Читать дальше →
Всего голосов 308: ↑300 и ↓8+292
Комментарии195

История про DDR3, SPD и оригинальных китайских производителей

Время на прочтение5 мин
Количество просмотров15K
В данной статье я расскажу, как патчил SPD на ноутбучной плашке памяти, в связи с оригинальной причиной, никак не связанной с тем что у меня оказался старый MacBook, а наоборот, появился новый компьютер и новая планка памяти (оба от 11.2018), и к каким танцам с бубном это всё привело.

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

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

В статье не будет явной инструкции на какие кнопки нажимать, ибо угробить память вы можете запросто, так что, если соберётесь что-то делать, лучше не спешить и думать головой, а уж какие кнопки нажать, догадаетесь.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии22

Отмена роуминга. Нюансы и проблемы

Время на прочтение6 мин
Количество просмотров41K
Недавно ФАС предписало операторам отменить роуминг, и дала на это дело 2 недели. Операторы офигели и ничего не сделали, соответственно разразился хайп по поводу того, какие же они бяки. И, в общем, операторы не белые и не пушистые, но всё-таки не такие плохие, как можно считать.

В этой статье я хочу объяснить, какие есть проблемы, и почему 2 недели — это популистский наезд а не реальное желание решить проблему глобально.
Читать дальше →
Всего голосов 60: ↑54 и ↓6+48
Комментарии276

Бекап баз данных через SQL VDI

Время на прочтение7 мин
Количество просмотров9.1K
Хочу рассказать о том, как мы захотели сделать собственный бекап баз данных для Microsoft SQL Server, и что из этого получилось.

Проблема


Мы в компании используем Microsoft SQL Server, и вполне ожидаемо, что нам надо делать бекапы баз данных для него, что мы успешно делаем. Делается это следующим образом:
  • Первый скрипт делает бекапы нужных баз данных
  • Второй скрипт проходит по папкам с бекапами и архивирует их в 7zip
  • Третий скрипт уносит эти бекапы на внешнее хранилище


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

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

Странное поведение Task Manager в Windows Server 2012

Время на прочтение4 мин
Количество просмотров43K
Краткое содержание: история в картинках, как я «улучшал» Task Manager в Windows Server 2012

Преамбула


Началось всё с того, что я в тестовых целях (выяснить, есть ли принципиальное различие), поставил Windows Server 2012. Для тех, кто не знает, это такая Windows 8, только дороже. Ну, а ещё, от него можно оторвать GUI и поставить всякие разные роли.

Ну так вот, одна из наиболее приятных вещей в Windows 8 для меня — новый Таск Менеджер, и красивый и удобный. Какое же было моё удивление, когда я открыл его в WinServer 2012 и не увидел некоторых данных.
Вот пара картинок для понятности.
Читать дальше →
Всего голосов 75: ↑68 и ↓7+61
Комментарии57

Сенсоры от Yoctopuce — погода дома

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

Из других вариантов, наиболее подходящим была USB Meteo Board от Sparkfun на основе Arduino, или самодельная система на основе того же Arduino или Netduino.

Но совершенно случайно я наткнулся на Yoctopuce, и понял, что это оно. Их сенсоры и датчики настолько меня поразили в мелочах, что я не могу молчать и хочу поделиться с хабра-сообществом про эти замечательные датчики.


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

Взлом программ для чайников

Время на прочтение5 мин
Количество просмотров468K
Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ.

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

Я не буду углубляться в детали и использовать сложные инструменты для взлома. Всё будет расписано «для чайников», т.е. все инструменты будут простыми, легкодоступными и бесплатными. А основным будет Reflector, декомпилятор программ под .NET

В качестве подопытного кролика я выбрал Expresso — анализатор регулярных выражений. Данная программа бесплатная, в лицензии вроде бы ничего не указано про взлом, но при этом без регистрации она будет работать всего 60 дней. Другими словами, вред от взлома данной программы минимальный, к тому же внутреннее её устройство очень уж хорошо подходит для тренировки. Буду надеяться, что автор данной программы не обидится на меня.
Читать дальше →
Всего голосов 147: ↑138 и ↓9+129
Комментарии47

Обзор китайского клона HTC Eris

Время на прочтение9 мин
Количество просмотров5.6K
По другим китайским телефонам можно почитать следующие обзоры: HTC Touch Diamond 2, Sunno A880.



Предисловие


Захотелось мне недавно обновить свой древний телефончик Motorola RAZR MAXX v6. Сам телефон весьма неплохой и всем меня устраивал, но хотелось большего, СМАРТФОНА! Я очень долго смотрел на HTC Tattoo и HTC Hero, но кормёжка HTC обещаниями по свежим прошивкам немного достала, к тому же, мне эти телефоны не казались идеальными по некоторым параметрам, поэтому всё никак не мог решиться на покупку. И тут я случайно узнал, что кроме всяких NOKLA и NCKIA у китайев появились вполне неплохие и дешёвые смартфоны на Windows Mobile. Тут я засел за изучение ассортимента китайских магазинов и по крупицам изучать отзывы о них, и оказалось, что не всё так плохо, телефоны работают, и вроде иногда весьма неплохо.

Как я понял, основная причина, по которой у китайцев появилось много смартфонов — компания Huawei, выпустившая мобильную платформу K3, которая включает в себя все компоненты для телефона (процессор, камеру, bluetooth, wifi и и всё остальное). Т.е. есть уже готовая платформа, нужно только собрать телефон и допилить прошивку. При этом, как я понял, пока все драйвера и приложения есть только для Windows Mobile, поэтому немногочисленные представители китайских андроидов идут на других процессорах, при этом уровень обмана в характеристиках зашкаливает. Так что, если под K3 будет сделана версия андроида, то у китайцев появится ещё много чего интересного из телефонов.

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

После пары недель мук выбора между кучей разнообразных телефонов, среди которых был и уже рассмотренный Sunno A880 и Sunno S880 Pro и некторые другие, я остановился на HTC Eris G5, т.к. он мне больше всех других понравился внешним видом (хотя у большинства моих знакомых он восторга не вызвал, так что как я понял, это дело вкуса). Собственно, симпатичный внешний вид, это заслуга HTC, а именно HTC DROID Eris (упрощённая версия Nexus One для Verizon). Китайцы нагло скопировали внешний вид, правда забыли положить туда Android, а вставили Windows Mobile 6.5.x (но не забыли добавить картинки от HTC с андроидом, появляющиеся при включении или выключении аппарата).

Читать дальше →
Всего голосов 42: ↑28 и ↓14+14
Комментарии53

Удаляем трояна, требующего отправку SMS с компьютера

Время на прочтение2 мин
Количество просмотров5.5K
Сегодня с утра на работе сотрудница словила троян, требующий отправки SMS на короткий номер.

Тут должна быть картинка с трояном, но что самое смешное, я не смог запустить его на виртуалке. Даже в автозагрузку его прописывал, ну не хочет работать и всё. В общем, если желающие сделают скриншот, то будет очень неплохо. Сам троян для опытов можно скачать отсюда. При этом я видел окно только мельком, но выглядело оно красиво :)Мне прислали картинку:.
Отправьте SMS

По поводу механизма заражения очень хорошо расписал Olegas, я, соответственно распишу про первую часть, про лечение. Кстати, первоначально было подозрение в том, что это дыра в IE8, на практике оказалось что скорее всего вирус проник через дыру в Java или Flash. Так что, в принципе, не защищён ни один из браузеров. Анализ логов показал, что сайты посещались достаточно безобидные, на каком из них завёлся iframe с дроппером, выяснить не удалось (не все же перебирать, в самом деле).

Читать дальше →
Всего голосов 134: ↑89 и ↓45+44
Комментарии150

Про 112, и как он работает

Время на прочтение4 мин
Количество просмотров121K
К написанию данного поста меня подтолкнула история про Нокию и 112. Так как я некоторое время занимался как раз тем, что отвечал на звонки по этому номеру, то решил рассказать некоторые детали, связанные с функционированием данной системы. Возможно, это поможет понять некоторые особенности, которые могут вызывать недоумения или недовольство.
Поехали
Всего голосов 323: ↑320 и ↓3+317
Комментарии175

Информация

В рейтинге
2 738-й
Откуда
Россия
Зарегистрирован
Активность