Search
Write a publication
Pull to refresh
5
0
Дмитрий @driessen

User

Send message

Наш аудитор безопасности — идиот

Reading time6 min
Views15K
Прим. переводчика: это статья (а вернее — вопрос на serverfault.com) системного администратора одной электронной торговой площадки, проходившей аудит безопасности на право пользоваться некой системой процессинга банковских карт.

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

Продуктивная работа в vim с использованием snipMate

Reading time4 min
Views11K
В этой статье я хочу рассказать об одном замечательном плагине для vim, который значительно ускоряет написание кода, вёрстку и редактирование текстов.

snipMate — позволяет быстро вставить в документ текстовый шаблон с помощью ключевого слова + <tаb> и предоставляет удобную навигацию по вставленному шаблону.
Читать дальше →

Автоконфигурация сетевых интерфейсов в Debian GNU/Linux

Reading time6 min
Views19K
Решил рассказать о вариантах решения достаточно часто встречающейся проблемы для обладателей мобильных устройств. Проблема заключается в том, что зачастую лаптопы подключаются к достаточно большому количеству разных сетей, в которых далеко не всегда есть DHCP-сервер, либо же DHCP-сервер «отдаёт» не все необходимые настройки, либо же отдаёт неверные.
Читать дальше →

7 способов бюджетного обучения для тестировщиков

Reading time4 min
Views93K
Если присмотреться к различным ИТ-профессиям, складывается ощущение, что «движухи» у тестировщиков больше, чем в любом другом направлении. Оно и понятно: отрасль молодая, незрелая, и уровень квалификации по сравнению с западным отстаёт.

При этом может показаться, что обучение — это сложно или дорого. Как бы не так! У тестировщиков есть масса возможностей учиться либо совсем недорого, либо вообще бесплатно! Сегодня я хочу поделиться новостями в мире обучения тестировщиков: надеюсь, каждый заинтересованный найдёт для себя что-то подходящее.
Читать дальше →

Создание семантического веб-приложения

Reading time6 min
Views17K
railsrdf
В рамках моего дипломного проекта мне предложили создать систему формирования проектных команд на основе технологий семантической паутины. Так как я уже переболел голым PHP, SQL, ZF, и имел опыт программирования на Ruby on Rails, ознакомившись с существующими гемами и решениями для работы с RDF, решил писать на нём, т.к. не очень люблю яву (да простят меня ява-разработчики), хотя она и является самым передовым языком в области semantic web, intelligent agents, data mining.
Читать дальше →

Основы работы с Wine для начинающих

Reading time7 min
Views628K

Введение


Статья посвящена Wine и всем аспектам его использования. В сети находится очень
много информации, есть различные руководства по настройке и многое другое. Я
постараюсь объединить все для того чтобы любой человек смог достичь
максимального успеха, в пределах своих способностей и конечно возможности
программы. Итак — начнем.

Wine — это отдельная реализация Windows API, а не эмулятор, как большинство
думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
уникальным и интересным для пользователей различных систем, открывает различные
пути для реализации своих идей. Уникальность заключается в том, что с помощью
этой программы можно запускать Windows приложения в Ubuntu и в других
Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
свои «подводные камни». Некоторые думают что будет легко перейти с одной
системы на другую, в данном случае мы рассматриваем Windows и Linux.

Заблуждение заключается в том что люди думают что у них получиться запустить из
под Wine различный софт, к которому они привыкли и им удобно в нем работать.
Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
будут работать на нем стабильно.

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

Библиотека сериализации в JSON для Erlang

Reading time3 min
Views6.8K
Поскольку мы очень активно используем opensource решения в своей деятельности, вполне естественным является и обратный процесс — публикация под свободными лицензиями библиотек и компонент, созданных в нашей компании.

В этот раз мы публикуем библиотеку сериализации в JSON типов данных Erlang, авторства si14 под BSD 2-clause license. Те проекты, для которых написана эта библиотека, ещё не готовы (ждите анонсов к осени), но библиотека уже стала вполне самостоятельной и может применяться в множестве других случаев. Традиционно, рассчитываем на кооперацию в совершенствовании, с интересом услышим о применении в других проектах.

В дебри Erlang'а

В отличие от многих динамических языков, в Erlang'е есть опциональные аннотации типов для функций и record'ов. На текущий момент они используются минимум 3 утилитами: edoc (формирует документацию из исходников; пример получаемой документации можно увидеть, например, здесь), что более важно, dialyzer (анализирует существующую информацию о типах и сообщает об ошибках несоответствия типов, в том числе несоответствия декларируемого и выведенного типов) и PropEr (система автоматической генерации тестов на основании информации о типах и декларативно задаваемых свойств функций). Использование этих деклараций стало правилом хорошего тона, поэтому почти все качественные проекты на Erlang'е имеют их. Нельзя ли использовать информацию о типах где-либо ещё?

JANE

В процессе разработки одного из проектов возникла идея: почему бы не использовать существующую информацию о типах прямо в JS
Читать дальше →

О самодельных фирменных конвертах для дисков

Reading time2 min
Views12K


Хочу поделиться с вами одним из способов показать клиенту, что работа выполнена более чем на 100%.

Разрабатывая любой материал, мы передаем результат своей работы в электронном виде на цифровом носителе (CD или DVD-диски) лично клиенту или просто в электронном письме без использования физического носителя. Все зависит от оговоренного способа работы с клиентом.

Суть способа проста — оформляем фирменный конверт для дисков. Такой вариант не только даст впечатление более качественной работы, но и даст возможность вспомнить контактные данные разработчика.
Читать дальше →

elFinder 2.0 beta. Don't panic!

Reading time7 min
Views18K
«Для многих цивилизаций Восточного Завитка Галактики, не столь церемонных, elFinder уже с успехом заменил прочие web файловые менеджеры и стал общепринятым, поскольку, хотя в нем и встречаются редкие баги, но зато у него есть два больших преимущества.
Во-первых, он дешевле;
а во-вторых, у него есть большая красная кнопка, на которой большими веселыми
буквами написан дружеский совет: Don't panic!»


Сегодня у меня по настоящему счастливый день!
Несколько месяцев крайне напряженной, но невероятно приятной работы позади.
И я с удовольствием представляю — файловый менеджер для web elFinder 2.0 beta!

Хочу выразить огромную благодарность всему сообществу за помощь, патчи и переводы.
Коллегам по студии — спасибо, что взяли на себя всю текучку, чтобы освободить меня для этого проекта.
И хочу представить нового разработчика elFinder — 667bdrm. Он же автор модуля для drupal.
И еще, нам всем очень приятно, что сейчас нет практически ни одного фреймворка, в который бы не был интегрирован elFinder. Кстати, одними из первых это сделали РБК Софт.

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

Это знает любой студент-программист

Reading time7 min
Views27K

Краткое введение


В статье пойдет речь о вещах, которые сотни раз описаны в талмудах по CS: об общепринятых стилях кодирования, о документировании кода, об юнит-тестах и т.п. Это крошечный сборник советов для студентов начальных курсов IT-специальностей. Сумбурный текст и повторения необходимы для лучшего пережевывания материала.

Статья предназначена для начинающих студентов-программистов.
Читать дальше →

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

Reading time9 min
Views135K
Предыдущая часть: habrahabr.ru/post/119407

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

Карьера сисадмина


Итак, допустим, вы вполне справились с теми зоопарками, которые достались вам по наследству от предшественника, реализовали всё, что нужно было срочно сделать, подумываете о парочке изменений, у вас даже появилось свободное время и т.д.

Я не буду рассказывать вам, как организовать сеть компании и «что делать сисадмином» — эти статьи про карьеру, и описывать я буду именно вещи, важные для карьеры, а не для повседневной работы.

Как только у вас появилось свободное время — вы снова стоите на концептуальном перепутье. Вы можете просто продолжать работать администратором, и делать это долгое время. У вас будет копиться опыт, ваше резюме будет становиться всё менее и менее крикливым, а ожидаемая сумма будет постепенно расти, у вас появится сколько-то настоящих success story… Так может продолжаться неограниченно долго. Более того, про эту стадию сисадминства чуть ли не легенды складывают «я всё настроил и могу заниматься чем хочу», «чем больше админ работает, тем хуже он», «хороший админ должен бездельничать, пока сервера работают» и т.д.

Но что дальше? А дальше изменения могут быть только с вашей стороны. Вы можете либо продолжать стихийное развите «под потребности работодателя», либо начать выстраивать собственную специализацию. При этом «развитие под потребности работодателя» у вас будет идти спорадически, т.к. бизнесу в моменты затишья ничего не нужно нового от ИТ, нужно, чтобы оно продолжало работать. Для настоящего развития нужно смотреть глубже, и свободное время тратить не на исполнение обязанностей офисного планктона, а на обучение (если вы думали, что пройдя путь от аникея до «крутого админа» мучения с книжками/мануалами закончатся — не мечтайте).

Потребности бизнеса


Кстати, о потребностях бизнеса (поскольку деньги платит именно он, то именно он и определяет ситуацию на рынке труда)
Читать дальше →

Что должен знать о времени каждый программист

Reading time3 min
Views100K

Некоторые замечания о времени

  • UTC: время на нулевом меридиане называется Всемирное координированное время, Universal Coordinated Time. Несовпадение акронима было вызвано необходимостью универсальности его для всех языков.
  • GMT: ранее вместо UTC использовалось среднее время по Гринвичу (Greenwich Mean Time, GMT), так как нулевой меридиан был выбран так, чтобы проходить через Гринвичскую королевскую обсерваторию.
  • Прочие часовые пояса могут быть записаны как смещение от UTC. Например, Австралийское восточное стандартное время (EST) записывается как UTC+1000, то есть время 10:00 по UTC есть 20:00 по EST того же дня.
Читать дальше →

«Рамблер» объединяет контакты пользователей

Reading time2 min
Views23K
Друзья!

Сегодня объединенная компания «Афиши» и «Рамблера» запустила в публичное beta-тестирование коммуникатор «Рамблер-Контакты». Новый продукт объединяет контакты из различных интернет-сервисов и предоставляет все возможности для общения — в одном приложении.

«Рамблер-Контакты» позволяют пользователю общаться через единый интерфейс с друзьями из различных социальных сетей и мессенджеров. Сегодня это «ВКонтакте», Facebook, ICQ, Mail.ru «Агент», Google Talk, «Я.Онлайн», QIP, Jabber. Не важно, на какой аккаунт или сервис было отправлено сообщение. Если пользователь подключил свои учетные записи к «Рамблер-Контактам», то сможет всегда оставаться на связи.

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

16 практических советов по работе с CouchDB

Reading time10 min
Views19K
Где-то год назад при разработке нашего проекта мы дошли до некой точки развития, когда или начинается кропотливая настройка и оптимизация MySQL-сервера, или начинается опять же кропотливое изучение запросов, которые идут в БД. Так получилось, что именно тогда был бум статей про MongoDB, CouchDB и прочие NoSQL базы данных и соблазн попробовать их на живом проекте был крайне велик.

При выборе главную роль сыграла фраза «CouchDB предназначен именно для веба», а также то, что для доступа не требовались никакие прослойки — доступ осуществляется по любимому мной REST, а API выглядит очень простым и изящным. Вдобавок к этому CouchDB имеет крайне удобный веб-интерфейс для администрирования Futon, чего на тот момент не было у MongoDB, а также железную устойчивость к падениям.

Забегая вперед скажу, что выбор полностью себя оправдал — мы избавились от огромного количества проблем при разработке и проектировании БД, код проекта сильно упростился и стал гораздо лучше структурирован, но самое главное — тот самый поворот в сознании, который нам дал CouchDB. За это время я лично набил множество шишек при разработке и хотел бы поделиться опытом с Хабрасообществом. Эти советы не для начинающих — это советы по использованию CouchDB на живом production.
Читать дальше →

Нездоровый минимализм: ide

Reading time4 min
Views4K
При программировании на common lisp стандартной средой разработки является SLIME. Пожалуй единственным главным недостатком SLIME является emacs, особенно для поклонников vi. Конечно же есть поделки и для vim, но сам vim тоже не верх минимализма.

Под катом минимальный ide для интерпретируемых сред без блэкджека и шлюх.

мне интересно

10 способов улучшить свои навыки программирования

Reading time4 min
Views89K

1. Выучить новый язык программирования


Изучение нового языка программирования разовьет новые способы мышления, особенно если новый язык программирования использует парадигмы, с которыми Вы еще не знакомы. Многие из приобретенных способов мышления могут быть применены к языкам, которые уже знаете. Возможно, вы даже полюбите новый для Вас язык программирования настолько, что начнёте использовать его для серьёзных проектов.

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

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

MBR для флешки своими руками или как сделать из одного устройства три

Reading time8 min
Views114K
Мое почтение читающему!
Топик мог бы получиться просто катастрофически огромным, поэтому перейдем сразу к делу. Впереди вас ждет рассказ, о том, как можно одну флешку сделать одновременно загрузочной как для ОС семейства Windows, так и *nix, а также сделать из нее live-usb. Заранее прошу прощения за жаргон, не сторонник, но так короче.

Аннотация


Как-то пришлось много раз подряд устанавливать на одну и ту же машину кучу разных операционных систем, как от товарищей господ из Майкрософт, так и любимых всеми нами *nix`ов. При этом инсталляторы вновь устанавливаемых ОСей периодически терли загрузчики ранее установленных, так что приходилось их восстанавливать вручную, загружаясь с live-usb. Но самое ужасное, что при всем при этом под рукой была всего одна флешка (и еще 15 компьютеров правда, но толку от них было мало, так как разбирать их по причинам гарантии в надежде на лишний жесткий диск было нельзя). Флешка к счастью была большого объема. Вот тут-то и возникла идея сделать из одной флешки две, а лучше три (хотя можно и 4) разных девайса.

Немного теории


Как сделать из одной флешки несколько с целью последующей установки на нее одновременно нескольких установщиков ОС и еще live-операционки? Ответ очевиден — сделать на флешке несколько разделов!
Читать дальше →

Временное переключение WIFI в режим точки доступа

Reading time3 min
Views36K
Представьте, что вы поехали в другую страну, у вас собой есть смартфон и вам очень нужно зайти с него в интернет (например синхронизировать контакты или поставить какой-то софт). Какие есть варианты?
— Первый вариант — это мобильный интернет. К сожалению, это не всегда просто и не всегда дёшево.
— Второй вариант — WIFI. Вам повезло, если вы можете подключиться к WIFI там, куда вы прибыли, и в этом случае задача уже решена.
— Третий вариант — LAN. А что если у нас есть только LAN? Самое простое — это захватить с собой из дома небольшую точку доступа, но что если вы её не взяли с собой или у вас её нет? В этос случае вам поможет случайно захваченный с собой ноутбук или нетбук :)

Имеем


— EeePC 901 с Ubuntu 10.10
— Смартфон
— Локальная сеть

Задача


— Получить доступ в сеть со смартфона используя WIFI
Читать дальше →

Настройка свитчей уровня доступа в сети провайдера

Reading time4 min
Views249K
В статье я расскажу о том, как мы (небольшой региональный провайдер) настраиваем коммутаторы уровня доступа.

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

Размытие изображений по Гауссу с помощью SVG

Reading time6 min
Views16K


В этом топике я хотел бы рассказать, как добавить изображениям на веб странице эффект размытия по Гауссу без использования флеша. Статью я планировал написать еще год назад, и, к моему большому удивлению, меня никто не опередил, хотя тема достаточно проста и интересна как с точки зрения веб дизайна, так и с точки зрения клиентской разработки. Для создания эффекта будем использовать уже ставшую популярной технологию SVG, которая работает во всех последних версиях браузеров. Для IE8- воспользуемся CSS фильтрами (Blur в частности), которые работают только в продуктах Microsoft. Для начала, предлагаю ознакомиться с итоговым вариантом здесь (наведите на любое изображение). Скрипт представлен в виде jQuery плагина, но выдернуть его для использования вне jQuery не составит труда.

Очевидно, целью работы являетя не только размытие картинки, а и анимация этого размытия.

Из простейшего примерамы видим, что интенсивность размытия зависит от атрибута stdDeviation в теге feGaussianBlur.
Читать дальше →

Information

Rating
Does not participate
Location
Новосибирская обл., Россия
Date of birth
Registered
Activity