Pull to refresh
10
0
nezlooy @nezl00y

User

Send message

Обзор свежих материалов, август 2010

Reading time4 min
Views593
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель, май-июнь, июль.


Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments4

Репликация в PostgreSQL 8.x: упрощаем работу со Slony

Reading time4 min
Views6.6K

Предисловие


Доброго времени суток. Так уж исторически сложилось, что из коробки Postgresql 8й ветки(а светлое будущее с 9й в стейбле еще не наступило) не имеет системы репликации. Поэтому для этих целей написан внешний инструмент — Slony1.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments19

Замыкания в php

Reading time10 min
Views48K
Не секрет, что в PHP 5.3 был введен ряд интересных новшеств. Разной степени полезности и скандальности. Возможно даже, что выпуск PHP 5.3 — хорошо спланированный PR-ход: самый большой список изменений за последние пять лет, оператор goto (sic!), пространства имен (namespaces) с синтаксисом «не как у всех», позднее статическое связывание (late static binding), более-менее честные анонимные (лямбда) функции (lambda functions), замыкания (closures).
Читать дальше →
Total votes 142: ↑109 and ↓33+76
Comments69

Производительность и оптимизация отрисовки графики во Flash

Reading time3 min
Views12K

Во время создания нашей игры на флэше (осторожно — вконтакт!), в определенный момент мы столкнулись с проблемой производительности.

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

По старой доброй традиции в зубы был взят Google и начался поиск решения…
Читать дальше →
Total votes 47: ↑34 and ↓13+21
Comments49

Правила эффективного использования jQuery

Reading time5 min
Views43K
Здесь приведен ряд очень простых правил, следуя которым, ваше сотрудничество с jQuery не будет омрачено скрежетом напрягшегося браузера. Конечно, не так часто случается, что скорость работы javascript’а оказывается критичной, однако такое все же может произойти, и произойти в самый неподходящий момент. Поэтому, лучше держать эти правила в голове и не пренебрегать ими.
Читать дальше →
Total votes 144: ↑112 and ↓32+80
Comments151

Учебник по Ubuntu для новичков в День Знаний

Reading time2 min
Views49K
Итак, сегодня День Знаний, любимая многими дата (хотя большинством всё же не очень). Однако именно сегодня мне почему-то захотелось выпустить обновлённую версию русскоязычного руководства по переходу на Ubuntu 10.04 «Lucid Lynx». С момента последнего выпуска было исправлено огромное количество ошибок, плюс добавилось немного весьма полезного материала.

Без сомнения осень — отличное время для изучения современных компьютерных технологий, а Ubuntu — идеальный дистрибутив для первоначального знакомства с богатейшим миром Linux. Надеюсь эта книжка поможет вам легко перейти на использование мощной современной полностью бесплатной операционной системы и забыть о проблемах и неудобстве в работе с компьютером. Руководство ориентировано на новичков и описывает установку, настройку и основы работы в Ubuntu Desktop с прицелом на Ubuntu 10.04 «Lucid Lynx».

Где почитать
Total votes 82: ↑72 and ↓10+62
Comments61

Мечта параноика или Еще раз о шифровании

Reading time7 min
Views101K
В свете последних событий с torrents.ru и активизации государственных группировокорганов по борьбе с пиратством, думаю многие задумались как же обезопасить себя или свой сервер на случай если придут нежданные «гости». Вот и мне подвернулась задача защитить локальный медиасервер от посягательств, проведя пару дней за гугленнием и чтением мануалов/howto — мне удалось это реализовать. Скажу сразу, статей по шифрованию очень много, но в основном они рассчитаны на шифрование только определенных разделов, либо устарели/содержат много ошибок.

ЦЕЛИ:

  1. Весь винт(винты) должны быть надежно зашифрованы
  2. На винтах не должно быть абсолютно никакой разбивки, так как будто это новый(или стертый) винт
  3. ОС должна стоять на зашифрованных разделах
  4. Должна быть возможность увеличения дискового пространства, путем добавления новых винтов
  5. Загрузка системы без ввода ключа от шифрованных данных

Читать дальше →
Total votes 183: ↑176 and ↓7+169
Comments198

LVM — это просто!

Reading time4 min
Views640K
Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.
Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments75

Pirobox — хорошая альтернатива jQuery Lightbox

Reading time1 min
Views20K
Pirobox — легкий и быстрый скрипт галереи на jQuery.

Автор скрипта итальянец Diego Valobra (http://www.diegovalobra.com), талантливый человек.
В сжатом виде скрипт весит всего 10Кб, есть несколько тем внешнего вида, слайдшоу, корректная работа с PNG, клавиатурная навигация, проверка состояния ссылок (битая/не битая), возможность открыть картинку в новом окне.

На данный момент последняя версия — 1.2.2.

Официальный сайт
Скачать
Demo
Total votes 50: ↑39 and ↓11+28
Comments30

Обзор свежих материалов, май-июнь 2010

Reading time7 min
Views1K
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. В прошлом месяце вышла заминка с публикацией, так что эта подборка двойная.



Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments20

Правильная обработка ошибок в PHP

Reading time7 min
Views33K

Что я понимаю под правильной обработкой:


  • Универсальное решение, которое можно вставить в любой существующий код;
  • Легко расширяемое решение;
  • В PHP аж три «механизма ошибок»: собственно ошибки (error), исключения (exception) и утверждения (assertion). Свести три механизма к одному — exception. В комментариях к предыдущей статье на эту тему выражалось мнение, что exception это плохой и/или сложный метод обработки ошибок. Я так не считаю и готов это обсудить в комментариях;
  • Опциональное логирование;
  • Общий обработчик exception, который будет поддерживать разные форматы вывода и debug/production режимы;
  • В debug режиме должен выводится trace. Требования к trace: компактный, понятный и по возможности ссылки на открытие файлов в IDE.

Теперь по порядку
Total votes 105: ↑84 and ↓21+63
Comments102

Организация SSH-доступа по одноразовым паролям

Reading time4 min
Views7K
В любой серьезной компании иногда возникает необходимость в том, чтобы сотрудник, уехавший в отпуск, срочно выполнил свои должностные обязанности. Рассмотрим ситуацию, когда компании необходим конкретный сотрудник, например, системный администратор, который в данный момент возлежит на пляже в тысяче километров от душного офиса. Допустим даже, что этот сотрудник согласен выполнить неожиданно свалившуюся ему на голову работу и на курорте есть интернет-кафе. Но вот проблема: кафе располагается в темном переулке, на его компьютерах стоят популярная ОС, трояны, кейлоггеры и прочие хактулзы, так что набирать пароль root'а от главного сервера компании на подобных машинах довольно неразумно.

Существует несколько решений этой задачи. Например, можно использовать одноразовые пароли, а именно систему s/key, использующую для генерации паролей алгоритмы md4 и md5. Об этой системе и будет рассказано далее.
Читать дальше →
Total votes 95: ↑93 and ↓2+91
Comments45

Разрабатываем быстрее и качественнее при помощи прототипов

Reading time10 min
Views6.8K
Старая поговорка «Лучше один раз увидеть, чем сто раз услышать» очень точно описывает, что разработчикам может дать создание прототипа интерфейса: визуальное представление, значительно более наглядно описывающие вопросы дизайна проекта и разработки функционала. В итеративном подходе к дизайну пользовательского интерфейса используется быстрое проектирование в процессе создания набросков системы (будь то веб-сайт или приложение) и утверждение их у обширной группы представителей заказчика, заинтересованных сторон, разработчиков и дизайнеров. Если придерживаться этого подхода — можно получить обратную связь раньше (чаще всего прямо в процессе обсуждения), что значительно улучшает качество дизайна конечного продукта и уменьшает потребности во внесении изменений в процессе разработки.
Читать дальше →
Total votes 73: ↑70 and ↓3+67
Comments22

Underscore.js — библиотека, которая так хороша, что должна быть вне закона

Reading time3 min
Views50K
Каждый, кому приходилось писать объемные куски осмысленного кода на javascript, рано или поздно понимал, что ему многого не хватает в этом языке или просто неудобны некоторые врожденные конструкции. Для сглаживания шероховатостей применяются jQuery, Prototype, MooTools etc. Кто-то уже мало представляет себе, как можно кодить без них. Сегодня я расскажу о еще одной маааленькой библиотечке, которая делает мир javascript-программиста еще прекраснее. Речь пойдет о Underscore.js
Go ahead, make my day
Total votes 177: ↑163 and ↓14+149
Comments51

Осваиваем простейший микроконтроллер PIC. Часть 2

Reading time12 min
Views145K
В первой части мы разобрали как можно прошить выбранный МК, как его правильно сконфигурировать, а так же научились работать с цифровыми портами.
Теперь пришло время рассмотреть остальную периферию микроконтроллера.
Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments27

Распространение приложений на twisted

Reading time5 min
Views6K
imageМоя работа — создание различных приложений на Twisted для работы с многочисленными веб-сервисами. В отличие от проектов на TurboGears, которые я распространяю как eggs с помощью easy_install (через setuptools) у меня не было удобного способа «выкатить» проекты на Twisted.

До этого момента.
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments14

Создаем простейшее usb-устройство для общения со своей программой

Reading time7 min
Views118K
В продолжение темы о создании собственного USB-гаджета.
Создание простого устройства.

Раз устройство планируется подключать к ПК, значит вероятнее всего потребуется передача данных между устройством и ПК.
Начнем писать прошивку и софт, наладив связь между ними.
Читать дальше →
Total votes 138: ↑134 and ↓4+130
Comments35

Классы и метаклассы в Javascript

Reading time3 min
Views3K
Хочу рассказать о решении, которое я использую для одиночного наследования в JavaScript. Оно настолько маленькое, что наверняка в том или ином варианте встречается где-нибудь еще. Надеюсь, кому-то из читателей оно окажется полезным.

Это часть фреймворка, который я сделал для своей платформы Akshell, вот полный код решения и документация. Однако оно может пригодиться в любой Server-Side JavaScript среде, на стороне сервера удобное создание иерархий классов особенно актуально. Его можно использовать и на клиенте, если заменить работу со свойством __proto__ оператором new.
Читать дальше →
Total votes 50: ↑38 and ↓12+26
Comments7

Sage: математика open source

Reading time2 min
Views12K
Материал публикуется в рамках проекта Computer Science Student. Блога о математике с удивлением не обнаружил, возможность создать новый блог с удивлением не обнаружил тоже.

Сегодня я хочу познакомить вас с Sage.

Одним из курсов в последнем семестре у меня был Mathematical Software, где мы изучали фундаментальные алгоритмы, лежащие в основе почти всех математических операций, проводимых в компьютере (удобные для вычислений виды представления данных, быстрое умножение, трансформации Фурье, алгоритм Карацубы и т.д.). Курс не был похож на другие: к концу семестра в классе осталось только трое человек; не было никаких тестов или экзаменов, финальная оценка состояла из двух домашних заданий и одного проекта; и, наконец, я давно не исписывал сотню с лишним страниц тетради в течение одного курса. Практическая часть — работа с системой Sage.

Sage (анг. 'Мудрец') — система компьютерной алгебры покрывающая много областей математики, включая алгебру, комбинаторику, вычислительную математику и матанализ. Первая версия Sage была выпущена 24 февраля 2005 года в виде свободного программного обеспечения с лицензией GNU GPL. Первоначальной целью проекта было «создание открытого программного обеспечения альтернативного системам Magma, Maple, Mathematica, и MATLAB». Разработчиком Sage является Уильям Стейн — математик Университета Вашингтона.

Для финального проекта нужно было сделать что-нибудь полезное для сообщества Sage. Учитывая приличную нагрузку из-за других курсов, мы (я и мой друг Темирлан) решили пойти путем наименьшего сопротивления и сделать русскоязычную документацию для Sage. Мы перевели официальный туториал, а я записал четыре скринкаста.

Читать дальше →
Total votes 92: ↑84 and ↓8+76
Comments28

Выступаем публично. Подготовка к твоему первому выступлению на конференции

Reading time4 min
Views7K
AHTUNG!!!!Приветствую, коллеги по цеху. Начну с отказа от ответственности. Сам я не опытный рассказчик, а только учусь. Возможно, именно поэтому мой опыт будет интересен другим новичкам. Опытных презентаторов, кому есть что добавить — прошу отписаться в комментах или в личку — что можно было бы сделать лучше.

Началось всё с того, что на РИФ+КИБ нашей компании выступить не удалось, в силу разных причин, а давно хотелось. Следующее интересное отраслевое событие — "Неделя электронной торговли", и наши доклады включили в программу мероприятия (не без помощи razmolot).

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

Итак. Первое: Цели. Как правильно писали умные люди на Хабре — презентация это не "о чем", а "зачем".

Мои цели были следующие:
Total votes 101: ↑84 and ↓17+67
Comments67

Information

Rating
Does not participate
Registered
Activity