Продолжаем кромсать CLR: пул объектов .Net вне куч SOH/LOH

Автор: admin от 7-01-2015, 22:52, посмотрело: 394

Добрый день, уважаемые разработчики (просто не знал, с чего начать пост). Предлагаю перед тем как начнется трудовая неделя немного подразмять мозги (совсем немного) и построить свой Small Objects Heap для .Net. Вернее даже не Small Objects Heap, а Custom Objects Heap. Это — один из примеров прошлогодней конференции CLRium, новая итерация которой состоится Продолжаем кромсать CLR: пул объектов .Net вне куч SOH/LOH в Апреле — в Москве и в Мае — в Питере

Как все мы знаем, в .Net существует две группы куч: для больших и малых объектов. Как выяснить, во сколько нам обойдется объект можно при помощи кода из этой статьи (он нам пригодится): Продолжаем кромсать CLR: пул объектов .Net вне куч SOH/LOH Ручное клонирование потока, а получить указатель на объект и по указателю получить сам объект можно научиться, прочтя эту статью: Продолжаем кромсать CLR: пул объектов .Net вне куч SOH/LOH Получение указателя на объект .Net. Также нам понадобится статья корейского (южно-) программиста по перенаправлению указателя на скомпилированную часть метода на другой метод: ?? ?? ??? ???? — CLR Injection: Runtime Method Replacer ??

Так что давайте поэкспериментируем и напишем библиотеку, которая позволит:

  • Аллоцировать участок памяти

  • Разметить его как набор объектов определенного .Net типа

  • Выделять объекты с этой памяти

  • Возвращать их обратно



Ссылка на проект на GitHub: Продолжаем кромсать CLR: пул объектов .Net вне куч SOH/LOH DotNetEx

Категория: Программирование

 

Красивое падение: CSS3-анимация с гравитацией

Автор: admin от 7-01-2015, 22:20, посмотрело: 946

Давным давно (летом 2014), когда я усиленно работал с оформлением, передо мной возникла следующая проблема. Я хотел использовать CSS3 для создания эффекта прыгающего мячика с учетом естественных законов физики. Я прошерстил Интернет в поисках какого-нибудь способа, чтобы «вдохнуть» гравитацию в мой мячик.

После нескольких часов просматривания Stackoverflow и доков CSS, я нашел несколько опций, но это все равно не до конца меня устроило. Использование javascript и Jquery было бы лишним и неэффективным для такой простой задачи, которая, как кажется, должна легко решаться с использованием существующих опций для анимации в CSS3.

Я сначала попытался использовать переходы ease-in (ease-out), которые представлены CSS. Но несмотря на то, что они выглядели достаточно плавными, было слишком сложно добиться ощущения естественности. И каждый новый прыгающий объект нуждался бы в совершенно новой функции, подобрать которую очень трудоёмко. Многие сайты, которые я посещал, предлагали использовать громоздкие keyframe-функции для описания анимации каждого прыжка. Код этих функций выглядит слишком сложным и избыточным. Более того, полученные прыжки объекта выглядели отрывистыми и непрофессиональными.
Решение задачи

Категория: Программирование, Веб-разработка

 

Сборка ICO файла с иконками в формате PNG при помощи FASM

Автор: admin от 7-01-2015, 17:45, посмотрело: 682

Иногда я пишу небольшие программы на C++, и часто выходит так, что иконка программы «весит» больше, чем собственно сама программа. Так же вышло и при написании Sound Keeper: программа — 14КБ, иконка 16x16 + 32x32 + 48x48 пикселей — 15КБ. Какое расточительство! :) К счастью оказалось, что Windows (начиная с Vista) поддерживает PNG внутри ICO. Это как раз то, что нужно! Но почему-то не нашлось программы, которая бы позволила самому оптимизировать файлы PNG и собрать из них файл ICO. Поскольку у файлов ICO очень простой формат, соберём его при помощи FASM. Это нестандартное использование «плоского» ассемблера показывает, что его можно применять в самых неожиданных ситуациях, и это работает! :)

Категория: Программирование

 

Создание 3D сканера из вебкамеры, лазера, и еще кучки радиодеталей

Автор: admin от 7-01-2015, 17:27, посмотрело: 899

В прошлом году мы с другом были на летней школе. На ней необходимо было сделать проект. Прочитав две статьи про создание 3d сканеров (раз, два) мы решили попробовать свои силы в его сборке и по возможности улучшить его конструкцию. Мы даже не представляли, что из этого получится и тем более не представляли, что победим с ним на нескольких научно-инженерных выставках. Но по порядку. Кому интересно узнать результат, добро пожаловать под кат (много фотографий).

Создание 3D сканера из вебкамеры, лазера, и еще кучки радиодеталей

Категория: Программирование, Сделай Сам

 

Восстановление удаленных данных с помощью Scalpel

Автор: admin от 7-01-2015, 17:16, посмотрело: 532

У каждого человека в жизни возникает такая ситуация как rm -rf на той папке, где этого не следовало делать. Бекапы это хорошо, но что делать если их нет? Для Linux систем существует утилита Scalpel, которая позволяет восстановить удалённые файлы по заданным паттернам, включая применение регулярных выражений.

Категория: Операционные системы » Linux

 

Интеграция Fail2ban с CSF для противодействия DDoS на nginx

Автор: admin от 7-01-2015, 16:35, посмотрело: 964

Интеграция Fail2ban с CSF для противодействия DDoS на nginxНабор скриптов ConfigServer Security & Firewall (CSF) изначально обладает достаточно богатыми возможностями по организации защиты сервера хостинга Web с помощью фильтра пакетов iptables. В частности с его помощью можно противостоять затоплению атакуемого хоста пакетами TCP SYN, UDP и ICMP слабой и средней силы. Дополняет CSF встроенный Login Failure Daemon (lfd), который осуществляет мониторинг журналов на предмет наличия многочисленных неудачных попыток авторизации в различных сетевых сервисах с целью подбора пароля. Такие попытки блокируются путем внесения адреса IP злоумышленника в черный список CSF.

Категория: Веб-разработка, Linux