2013-11-14

Самые основы Reflection в C# .Net на примере исследования класса из DocsVision

Чтобы посмотреть какие методы, свойства и события предоставляет класс нужно:
1) Создать экземпляр класса и в IDE получить все в выпадающем списке.
2) Декомпилировать файл. К счастью, .NET проектами это очень легко проделывается.
3) Прочитать всю нужную информацию о классе с помощью Reflection.
Первый и второй вариант пройден и не считаю нужным их описывать, а вот Reflection для меня является чем-то новым, с чем я попробовал слегка разобраться.

2013-10-18

Поиск файлов и папок в консоли Linux

Иногда приходится пользоваться поиском в консоли Linux. Есть очень хорошая утилита find. Она позволяет искать по типу (файл, директория), размеру (как строго, так и с пределами), датам (строго или по периодам), шаблону имени и много еще чего.
В связи с подозрением на взлом FTP, в очередной раз возникла задача поиска: файлы по маске и некоторым признакам и содержимому. Нужно было найти web-shell`ы и то, что было залито с их помощью. Сначала были найдены образцы вредоносов, исследованы и составлена карта признаков для дальнейшего обнаружения аналогичных файлов в других папках.

2013-10-05

Использование векторной графики SVG на сайте

Попробовал слегка разобраться с возможностью использования векторной графики на сайте. В данной статье будет рассказано про поддержку браузерами SVG и про способы использования.

Порой векторный формат позволяет серьезно сэкономить на объеме ресурсов сайта по сравнению с растровой графикой.
Некоторые возможности SVG дублирует современный CSS 3. Например: фоны, градиенты, скругленные углы, анимация и некоторые другие возможности - можно реализовать с использованием обеих технологий. В каждом конкретном случае выбирается тот подход, который имеет лучшую поддержку браузерами, меньший объем кода реализации, проще в использовании.

2013-09-07

Бекапы на Yandex.Disk

Как говорится, люди делятся на тех, кто не делает бекапы и тех, кто уже делает.
Давно хотел настроить резервирование в облачное хранилище у себя на сервере, но не было времени разбираться с монтированием webdav.
Недавно вышел консольный клиент под Linux Yandex.Disk, оживился Redmine у меня сервере и я начал решать проблему с сохранностью важных данных Redmine, а потом уж по аналогии и все остальное можно будет резервировать.

2013-09-06

Корзина и форма заказа на AngularJS и Twitter Bootstrap

Начнем с предыстории

Давно я что-то не писал в блог. А ведь столько всего произошло и продолжает происходить в мире информационных технологий.
Давно уже поверхностно знакомился с фрейворком для верстки Twitter Bootstrap и JavaScript-фреймворком для разработки веб-приложений AngularJS.
Очень интересные штуки и я просто мечтал выкроить время, чтобы хоть где-то на практике их использовать. И вот это день настал - ко мне обратился бывший сокурсник с просьбой разработать сайт интернет-магазин. Сайт ему нужен был полностью, от "а до я". Дизайнер из меня никакой, поэтому сразу в голову пришла идея - использовать готовое решение Twitter Bootstrap, на мой взгляд его компоненты выглядят достаточно приятно и современно, к тому же накануне вышла обновленная 3-я версия с серьезными переработками и улучшениями. Идея попробовать AngularJS пришла уже по ходу разработки функционала корзины.
Да, еще обратил внимание, что у меня блогозаписи практически не проиллюстрированы и поэтому воспринимаются хуже. Исправляюсь - теперь по возможности будет больше картинок. Неужто, красота Twitter Bootstrap дала мне понять насколько скучны мои посты с одним лишь текстом и вкраплениями кусков кода? :-)

2013-07-08

Небольшой опыт работы с LVM

Менеджер логических томов (англ. Logical Volume Manager) - менеджер логических томов операционных систем Linux и OS/2. LVM - это метод распределения пространства жёсткого диска по логическим томам, размер которых можно легко менять, в отличие от разделов.

Уже давно, когда приходится устанавливать Linux, даже если кажется, что раздел будет один, использую разбивку диска с LVM, ведь все может поменяться. Да и home в отдельном разделе - это удобно.
Базовые понятия LVM:
  • Физический том (англ. physical volume [PV]) - физический жесткий диск или раздел.
  • Группа томов (англ. volume group [VG]) - группа физических томов.
  • Логический том (англ. logical volume [LV]) - аналогичен разделу (hda1, sdb3, etc) на не-LVM системах. По привычке, ниже буду называть тома разделами.
Логические разделы можно перемещать по дискам, менять размеры, расширять один раздел на несколько физических дисков (лично мне особенно нравится такая возможность). Так же, пишут, что с LVM проще делать бекапы, но я с этим еще не разбирался. Полная свобода и масса возможностей по сравнению с обычными разделами.

2013-04-22

Веб-боты и защита от них

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