Search
Write a publication
Pull to refresh
43
0
Александр Вольф @alexwolf

User

Send message

Поднятие терминального сервера на примере LTSP и CentOS 5.4

Reading time6 min
Views30K

Интро


Сейчас стала очень популярна идея использования тонких клиентов, а в частности – для организации учебных классов в ВУЗах и не только. Вот и для моего любимого ВУЗа пришлось потрудиться.
Не так давно мне была поставлена задача выбора и настройки терминального сервера на CentOS 5.4. Почему именно CentOS – ума не приложу, но скорее всего это было предпочтение наших системных администраторов, которые в последствии будут поддерживать терминальный сервер. Ну а мне выбирать права предоставлено не было.
Читать дальше →

XML + CSS = счастье

Reading time4 min
Views13K
Возрадуйтесь, дети мои, ибо пришёл я к вам с миром и богатыми дарами. Нет, я не принёс вам того, чего вы не видели. И даже не принёс того, чего вы не имели. От чистого сердца вручаю вам то, что всегда лежало у вас под ногами, но вы не замечали того, брезгливо перешагивая, пробегая мимо по своим, несомненно самым важным, делам.

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

Примеси! Я же знаю, вы так устали без наследования. Приходится внедрять лишние классы в элементы или даже, переходить на тёмную сторону силы — копипастить по чёрному.

Отныне! Ваша душа будет чиста как у младенца. Руки в золоте как у царевичей. Дети послушными и приветливыми.

а теперь приступим к съёмкам порева

Новый русский перевод лицензий Creative Commons 3.0

Reading time1 min
Views6.1K
imageВ начале недели опубликованы новые переводы лицензий Creative Commons на русский язык. Советую всем почитать, чтобы вокруг великих и ужасных лицензий было меньше мифов и заблуждений.

Вот размещённые в Викитеке переводы всех шести современных лицензий (всё это только простые переводы, не путать с дополнительной адаптацией лицензий к законам РФ):
Читать дальше →

Hiqus — HIerarhical QUery String

Reading time10 min
Views2.9K
Это формат представления древовидных структур данных в виде одной строки в удобном для человека виде. Является обобщением формата «application/x-www-form-urlencoded» и как следствие — обратно совместим с ним. В основе Hiqus лежит всё тот же принцип представления данных в виде пар «ключ-значение» с той лишь разницей, что ключ может быть составным или пустым.

Данный формат уже используется такими монстрами как Яндекс (http://yandex.ru/yandsearch?date=within&text=hiqus&from_day=28&from_month=4&from_year=2009), Гугл (http://www.google.ru/search?as_q=hiqus&hl=ru&num=10&as_qdr=all) и многими другими, кому требуется передавать иерархические данные в строке запроса. Исключение составляют PHP-сайты, для которых традиционно используется свой, не слишком наглядный формат (пример, навскидку не нашёл, но выглядит он примерно так: ?user%5Bid%5D=123&user%5Bname%5D=Nick).
ох, ну и порево же дальше

Самостоятельное изучение схемотехники. Абстрактный автомат. Часть 2

Reading time5 min
Views122K
Статья написана, собрана и сверстана Brotherofken. Спасибо ему огромное.
В предыдущей статье я попытался изложить все основные определения и принципы, чтобы сделать эту статью максимально понятной. Все не уместилось, так что я настоятельно советую ознакомиться с этими файлами:
Базис, Базис2, Минимизация. Далее в этой статье я оставил несколько разъясняющих пометок курсивом.


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

image
да?

Обеспечение качества программного продукта

Reading time4 min
Views11K
Дисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.
Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.
Читать дальше →

Пользовательские типы в Hibernate

Reading time4 min
Views11K
Hibernate — это прекрасный ORM инструмент, который можно настроить практически под любые свои нужны. В этом топике я покажу, как можно хранить поля произвольного типа. Для примера, возьмем массив строк (String[]) и POJO объект, который мы хотим хранить в БД:
  1. public class StringArrayContainer {
  2.     private Integer id;
  3.     private String[] tags;
  4. //  Место для геттеров и сеттеров.    
  5. }

Для того, чтобы хибернейт мог сохранять в базу поле типа «массив строк» необходимо (и достаточно) написать класс, который реализует интерфейс UserType, а также сослаться на него в мэппинге (файл hbm.xml).
  1. public class StringArrayCustomType implements UserType {
  2. //  TODO: написать реализацию.  
  3. }

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

Визуализация активности сайта с помощью codeswarm

Reading time1 min
Views1.1K

Codeswarm


эта утилита визуализирует историю комитов репозитория. Она умеет сохранять кадры в отдельные файлы, которые потом можно объединить в видео с помощью, например mencoder. Для этого codeswarm нужен файл в формате xml с активностью в репозитории. Вместе с codeswarm идет скрипт, который конвертирует логи из svn, cvs и др. в собственный.

Access log


Получается, codeswarm без разницы что визуализировать, программе нужен лишь правильный xml. Поэтому я подумал, что можно применить эту утилиту для генерации видео активности на сайте. Для этого был написан конвертор access лога апача или nginx в event log. За основу был взят родной конвертор.
Читать дальше →

Привязка модели данных к представлению на javascript

Reading time7 min
Views3.1K
Я думаю многие пользуются DataBinding`ом в .NET, она же привязка данных. Она позволяет, при выделенной модели данных и независимом визуальном представлении, забыть о синхронизации данных с формой. Привязав один раз properties модели к элементам представления, мы избавляемся от десятков обработчиков onChange и подобных для изменения полей модели, а в случае изменения поля вне gui-интерфейса (например синхронизация модели с базой), мы не будем мешать уровни абстрации, чтобы обновить textBox.text. Давайте данные будут отдельно, gui отдельно. Плюс мы получаем наглядный, легко переносимый код на asp.net или даже на другой язык/платформу.

 databinding

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

Сниффер витой пары из Wi-Fi роутера

Reading time2 min
Views90K
image

Трафик проходящий по витой паре может быть прослушан абсолютно незаметно для участников соединения.
В этом посте будет показано как изготовить автономный сниффер с возможностью сохранения дампа на диск и управляемый по Wi-Fi.

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

Решаем проблемы с поломанной кодировкой: accept-charset

Reading time2 min
Views11K
Столкнулся с такой проблемой: многие программисты либо не знают о существовании accept-charset, либо игнорируют данный атрибут. Прийдя в свою текущую компанию я занялся разработкой REST API сервиса, но переодически на меня сваливались баги «XML response is broken for ...». Пришлось копнуть поглубже в GUI и обнаружилось отсутствие излюбленного тага. Зачем нам еще один атрибут, спросите вы?
Читать дальше →

О прилагательных и ленивых переводчиках

Reading time6 min
Views4.6K
image

Когда-то, на заре Интернета, переводом английских текстов и слов занимались все кому не лень, в основном технари. В результате в русский язык вошел целый корпус переводных полуфабрикатов, плохо приспособленных к русской грамматике, синтаксису и стилистике. Та же проблема, кстати, относится к сфере бизнеса. Бедные, бедные Карамзин и Белинский, которые в свое время из кожи вон вылезали, создавая добротные русские аналоги иностранных терминов…

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

Реализация отказоустойчивого файлового сервиса на базе SAMBA

Reading time14 min
Views22K
Статья рассказывает об организации отказоустойчивого файлового сервера на базе пакета Samba. Для понимая материала нужно иметь общее представление об администрировании ОС Linux, а также иметь опыт работы с обычной версией Samba.



Samba – это сервис CIFS, разработанный для того чтобы обеспечить семантику протокола CIFS (и соответственно доступ с машин под управлением Windows) к среде, использующей POSIX файловую систему. Основная функция Samba – преобразовать богатую семантику, которую используют клиенты на базе Windows к значительно более бедной семантике файловой системы POSIX.

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

XSD — умный XML

Reading time3 min
Views568K
XSD — это язык описания структуры XML документа. Его также называют XML Schema. При использовании XML Schema XML парсер может проверить не только правильность синтаксиса XML документа, но также его структуру, модель содержания и типы данных.

Такой подход позволяет объектно-ориентированным языкам программирования легко создавать объекты в памяти, что, несомненно, удобнее, чем разбирать XML как обычный текстовый файл.

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

Стоит также упомянуть о том, что в XSD есть встроенные средства документирования, что позволяет создавать самодостаточные документы, не требующие дополнительного описания.

Рассмотрим в качестве примера XSD документ, описывающий часть структуры аккаунта на хабре.



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

Как поступают в университеты США

Reading time6 min
Views43K
image
Статьи про обучение в США заинтересовали мою жену настолько, что она все таки решилась описать свои мысли и опыт. Она вообще не блоггер, но статья, надеюсь, получилась интересная:


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

Парсинг (разбор) XML документов с помощью CSS селекторов

Reading time3 min
Views6.4K
Привет. Заметил что постов посвященных Symfony 2.0 все еще не много. Постараюсь это исправить в ближайшее время топиками и переводами про компоненты фреймворка. Сейчас же представляю вашему вниманию перевод статьи с блога Фабьена (Fabien Potencier) который всегда интересно читать. Перевод, возможно не всегда дословный, но смысл я старался передавать четко. Итак начнем.

— HTML и XML документы это как хлеб и масло для веб-разработчиков. День за днем вы, скорее всего, создаете множество HTML документов. И наверняка вам приходится парсить некоторые из них время от времени: потому что вы используете веб службы и хотите извлечь некоторую информацию, или потому, что вы хотите получить данные с нужных веб страниц, или просто потому, что хотите написать функциональные тесты для веб сайта. Получить содержимое достаточно просто, но как его разобрать, чтобы выделить нужную информацию?
Читать дальше →

Хабраэффект глазами сервера или почему не стоит апачем раздавать статику

Reading time3 min
Views3.3K
В статье я расскажу впечатления от хабраэффекта наблюдаемом на личном сервере.



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

Как учат в США

Reading time4 min
Views14K

Вводная часть


Раз уж пошла такая канитель с образованием за границей, то мне обязательно нужно внести свои 5 копеек. Я живу в Штатах с 18 лет, но только к 27-ми сумел найти время, деньги и мотивацию, чтоб пойти опять учиться. А 2 года незаконченного обучения в МГИУ (Московский Государственный Индустриальный Университет) позволят мне провести некоторые аналогии с постсоветским высшим образованием.
Читать дальше →

Information

Rating
Does not participate
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity