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

User

Send message

Зачем дьявол придумал javadoc

Reading time3 min
Views60K
Есть мнение, что хорошая программа должна быть хорошо задокументирована.

Компания SUN даже придумала специальный формат javadoc — «стандарт для документирования классов Java». В моей практике было совершенно обычным явлением, когда какой-то код не проходил Code Review, потому что в нём у некоторых методов отсутствовали комментарии.

Я утверждаю, что этот подход устарел, и сегодня я расскажу, почему комментарии — это зло.

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

Как использовать свой тип контента

Reading time8 min
Views14K
ПортфолиоВ Wordpress есть два типа контента: Посты и Страницы.
Эти типы содержат такие поля как название, описание, категории/тэги.
Дополнительное описание можно создать с помощью Пользовательских Полей (Custom Fields).

В Wordpress 3.0 появилась возможность создавать свой тип контента.

Идея в том, чтоб создать новый тип контента, например Потфолио (название, описание, адрес сайта, дата релиза, имя заказчика, используемые технологии), который бы не выводился вместе с постами и имел бы другое представление.
Wordpress
Далее следует техническое руководство и много кода

Именование узлов в сети

Reading time8 min
Views52K
Хочу поднять вопрос, который, как мне кажется, никто не рассматривал ранее системно. Вопрос звучит так:

как называть узлы и интерфейсы узлов в сети?


Для начала обрисую суть проблемы: когда у вас 2-3-5-10 серверов, то их названия, адреса и т.д. вы быстро запоминаете, и особой путаницы они не вызывают. Но если у вас несколько тысяч серверов (добавим к реальным ещё виртуальные), если у вашего маршрутизатора несколько сотен реальных или виртуальных (в виланах) интерфейсов, каждому из которых нужно дать имя (хотя бы для PTR/A записей в DNS), когда у вас есть интерфейсы для конфигурирования коммутаторов, принт-серверов, сетевых принтеров… В этих условиях нужно реально садиться и думать, как их называть. Лучше садиться думать до того, как начали называть, чем после.

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

Делаем твёрдый переплёт для любимых книжек

Reading time6 min
Views551K
Небольшое вступление

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

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

Большое вступление

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

Первые две книги выглядели так:
image

Я их прочитал с огромным удовольствием, но выглядели они не очень хорошо. И я решил, что «Life, the Universe, and Everything» нужно делать книжкой.

Процесс с картинками и комментариями под катом. Осторожно, действительно много картинок.
Читать дальше →

Замены для nginx (Web Sockets)

Reading time1 min
Views9.5K
В своё время nginx стал глотком свежего воздуха для Web-разработки.

В настоящее время, к сожалению, этот продукт тормозит развитие Web, так как является динозавром эпохи HTTP/1.0.

Если Вы используете современные возможности HTTP/1.1, или partial updates, или Web Sockets, нужна рабочая альтернатива.
Читать дальше →

Google и университеты

Reading time1 min
Views3.5K
Михаил Дайчик, менеджер технических программ Google

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

Подробнее о этих программах можно прочитать на сайте http://research.google.com/university, или послушать на одной из открытых лекций, которые проведет глава европейской команды по развитию отношений с университетами Дэвид Харпер во время его визита в Москву 16-17 июня.

Приходите на лекции Дэвида в один из удобных вам дней:

16-го июня в 14:00 в главном здании МГУ, аудитория П-01.
17-го июня в 10:00 в Институте Системного Программирования РАН. Схему проезда можно посмотреть на сайте Института.

Будем рады вас видеть!

Медленные и/или ресурсоёмкие задачи в коде: отложенные задания, очереди, задачи с ручной обработкой

Reading time2 min
Views4.4K
Публикую по просьбе eugenioz.

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

Общим подходом здесь является создание очередей выполнение и отложенных заданий. Основные примеры: пересылка/верификация данных у сторонних сайтов; передача данных от реселлерской панели на основной сайт; передача заданий, которые не могут быть выполнены автоматически, на ручную обработку.

В качестве средства распределения задач предлагаю вашему вниманию PHP-класс Tasks.

Код класса
Читать дальше →

Выключаем монитор с клавиатуры

Reading time3 min
Views26K
Предыдущий топик про ddccontrol, открыл для меня, что по DDC можно мониторы выключать. Не вгонять в сон, не включать энергосберегающий режим, а реально выключать. Так, чтобы гасла (и совсем не мигала!) лампочка питания на морде. Как от нажатия выкл на той же самой морде. Разумеется, можно не только выключать, но и включать. Программно!

1) Это можно сделать программно (ddccontrol)
2) Это можно прописать в скрипт
3) Скрипт можно повесить на хоткей

5) PROFIT??

В список профитов можно записать возможность включения/выключения ОДНОЙ кнопкой на клавиатуре ВСЕХ мониторов (у меня их сейчас два, и я планирую больше в будущем). Кнопка на клавиатуре куда приятнее для нажатия, чем кнопка монитора (по которой её целиться надо, да и монитор от нажатия может слегка поворачиваться, что раздражает).

Читать дальше: скрипты и руководство по настройке

Кеширование блоков с помощью nginx

Reading time6 min
Views15K
nginx + SSIМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
  • Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
     
  • Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
     
  • Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
     
Позвольте предложить и мне проверенное и относительно простое решение на базе одной из старейших технологий в Web-разработке.
Читать дальше →

Генератор миниатюрок из Nginx-а

Reading time3 min
Views27K
Итак, сегодня мы соберём генератор миниатюрок на базе любимого народом веб-сервера — nginx-а. Что примечательно, сделаем мы это без единого гвоздя, т.е. без единой строчки кода, не считая конфигурации.
Что ж приступим...

BuddyPress — руководство для начинающих

Reading time3 min
Views74K
imageBuddyPress — это плагин, добавляющий возможности социальной сети, к базовому функционалу WordPress. Например, добавив расширенный профиль для авторов блога, можно легко превратить обычный сайт в полноценную социальную сеть. Большинство возможностей BuddyPress не имеют аналогов в других плагинах, а в связи с ростом его популярности, можно без конца удивляться насколько сложные сайты можно создавать на основе WordPress.
Читать дальше →

Критический взгляд

Reading time3 min
Views1.6K
Вольный перевод статьи Азы Раскина How To Critique An Interface.

Людей далёких от дизайна часто просят высказать своё мнение об интерфейсе. Быть может вы директор компании, а исполнитель просит оценить ваш новый сайт. Или вы руководитель проекта и недоумённо смотрите на макеты вашего дизайнера. Как вы оцениваете дизайн? На что обращаете внимание? И как вам ответить что-то более внятное, чем «Вот выглядит клёво!» или «Убери это с глаз долой!».

Сложно ответить на эти вопросы в такой короткой статье, но я приведу хотя бы несколько советов:
Опять одно и то же

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. Мы перевели официальный туториал, а я записал четыре скринкаста.

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

Nginx + IPv6

Reading time2 min
Views25K
Недавно написал топик про поддержку IPv6 в Windows 7/Vista/XP (это тут). Захотелось сделать поддержку IPv6 на своём сервере, где хостируются сайты, в итоге вот что получилось.
Читать дальше →

Кроссбраузерный box-shadow

Reading time2 min
Views66K
Здравствуйте, дорогие читатели. Сегодня хочу с вами поделиться чрезвычайно простым способом кроссбраузерной реализации css-свойства box-shadow. Способ настолько простой и очевидный, что я был чрезвычайно удивлен тем, что не смог найти на просторах интернета аналогичного решения (хотя я более чем уверен, что не являюсь первооткрывателем).

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

Взлом сайта: простые советы по безопасности

Reading time5 min
Views93K
Активность хакеров никогда не сходит на нет. Например, только по данным одного хакерского сайта zone-h.org (см. раздел Onhold), взламываются ежедневно сотни сайтов. Вашего сайта там точно нет?

Для взлома не надо быть профессиональным хакером, речь в статье о так называемых «кулхацкерах», использующих плоды чужих «трудов» и самых простых случаях взлома. Статья ни в коей мере не howto, как взломать сайт. Цель — показать, насколько просто осуществляется взлом и рекомендовать меры по защите сайта и действия, в случае взлома «косовскими албанцами».
Приведён пример успешного розыска хакера российскими правоохранительными органами.

Как осуществляется взлом сайта?


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

debman — фронтенд для apt с синтаксисом pacman'а

Reading time1 min
Views1.5K
logoРешил тут написать о своей небольшой программке, дабы увеличить её популярность, и так начнём.
debman — фронтенд для apt'а с синтаксисом pacman'а (пакетного менеджера в Arch linux). Сейчас он поддерживает все deb-based дистрибутивы, а так же rpm-based с apt (проверено на ALT linux'е).
Читать дальше →

Учимся в университете США

Reading time6 min
Views18K
image
В предыдущей статье я писала о том как поступают в американские университеты, теперь поведаю о самой учебе. Обучение сильно отличается от методик российских ВУЗов. Я хочу рассказать про то, как выбирают предметы и преподавателей, сдают тесты и иногда списывают.

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

Хэш-алгоритмы

Reading time4 min
Views178K
Как я полагаю, многим известно о том, что с 2007 года Национальный институт стандартов и технологий США (NIST) проводит конкурс на разработку хэш-алгоритма для замены SHA-1, и семейства алгоритмов SHA-2. Однако данная тема, почему-то обделена вниманием на сайте. Собственно это и привело меня к вам. Предлагаю вашему вниманию цикл статей, посвященных хэш-алгоритмам. В этом цикле мы вместе изучим основы хэш-функций, рассмотрим самые именитые хэш-алгоритмы, окунемся в атмосферу конкурса SHA-3 и рассмотрим алгоритмы, претендующие на победу в нем, обязательно их потестируем. Так же по возможности будут рассмотрены российские стандарты хеширования.
Читать дальше →

Information

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