Pull to refresh
233
0
force @force

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

Send message

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

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

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

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

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

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

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

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

А теперь, собственно детали.
Читать дальше →
Total votes 308: ↑300 and ↓8+292
Comments195

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

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

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

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

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

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

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

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

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

Reading time7 min
Views9.1K
Хочу рассказать о том, как мы захотели сделать собственный бекап баз данных для Microsoft SQL Server, и что из этого получилось.

Проблема


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


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

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments16

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

Reading time4 min
Views43K
Краткое содержание: история в картинках, как я «улучшал» Task Manager в Windows Server 2012

Преамбула


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

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

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

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

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

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


Читать дальше →
Total votes 95: ↑95 and ↓0+95
Comments47

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

Reading time5 min
Views468K
Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ.

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

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

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

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

Reading time9 min
Views5.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 с андроидом, появляющиеся при включении или выключении аппарата).

Читать дальше →
Total votes 42: ↑28 and ↓14+14
Comments53

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

Reading time2 min
Views5.5K
Сегодня с утра на работе сотрудница словила троян, требующий отправки SMS на короткий номер.

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

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

Читать дальше →
Total votes 134: ↑89 and ↓45+44
Comments150

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

Reading time4 min
Views120K
К написанию данного поста меня подтолкнула история про Нокию и 112. Так как я некоторое время занимался как раз тем, что отвечал на звонки по этому номеру, то решил рассказать некоторые детали, связанные с функционированием данной системы. Возможно, это поможет понять некоторые особенности, которые могут вызывать недоумения или недовольство.
Поехали
Total votes 323: ↑320 and ↓3+317
Comments175

Information

Rating
Does not participate
Location
Россия
Registered
Activity