Pull to refresh
37
0
Серега @thecoder

Бекенд на микросервисах

Send message

Full Hierarchy — иерархические структуры в базах данных

Reading time5 min
Views16K
Здравствуйте. В этой статье я хотел бы написать про один очень интересный способ хранения иерархических структур в базах данных, не относящийся при этом к общепринятым и общеизвестным трём (Adjacency List, Nested Set, Materialized Path). Я не встречал в интернете упоминания о нём, о чём очень удивлен, ведь, по моему мнению, — это лучший и единственный способ хранить иерархические структуры. При разработке console-like форума я воспользовался именно этим способом, о чём ни на грамм не жалею. Это авторская статья и ни одно предложение не было вставлено метотодом копипаста.

Под катом способ, который я назвал Full Hierarchy

Работа с http через неблокируемые сокеты

Reading time7 min
Views9K
Понадобилось сделать несколько параллельных http запросов на php. Интуиция подсказывала что делается это через неблокируемые сокеты. В интернете в общем то есть несколько готовых классов для работы с ними, но как всегда захотелось легкости и простоты, поэтому был срочно изобретен новый велосипед. Под катом чуть больше 100 строк кода с комментариями и пример использования.

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

Настройка nginx

Reading time5 min
Views300K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности

Скругленные углы на чиcтом CSS без JS без картинок с анти-аллиасингом

Reading time2 min
Views7.7K
Раз уже пошла такая пьянка бурное обсуждение, то предложу и свой метод скругления углов, с характеристиками, которые можно увидеть в названии топика.

Хочу заметить, что это не улучшение какого-то из существующих методов, а совершенно новый (по крайней мере, я нигде не смог найти — наверное, плохо искал ;) метод. В статье 38 статей о создании закругленных углов на сайтах данный метод также не был упомянут.

Итак, что же мы имеем: чистый CSS, без единой картинки, без JavaScript (хотя и с ним, для демонстрации, тоже сделаем), с анти-аллиасингом (то есть плавные переходы), прозрачные углы (то есть в фоне может быть что угодно), тянущийся по высоте и ширине и, конечно же, кроссбраузерный метод.

Не томи

Маленькие секреты about: config, ручная настройка

Reading time4 min
Views131K


После прочтения поста о уменьшении расхода оперативной памяти в FF, я решил залезть поглубже в страницу настроек about:config и отыскать там что-нибудь интересное. Забегая вперёд, скажу, что поиски мои увенчались успехом.
Начну с того, что все изменения вы можете сделать в файле ..\Mozilla Firefox\greprefs\all.js или в папке с настройками вашей конфигурации, хранящимися в C:\Document and Settings\ или ~/.mozilla/firefox в Виндовсе и Линуксе соответственно. Как вы уже заметили, Лис хранит настройки в js, да ещё и для каждой настройки вызывает специальную функцию pref(prefName,value), а сама функция находится в файле ..\Mozilla Firefox\defaults\autoconfig\prefcalls.js! Вот так-то.
Читать дальше →

Уменьшаем расход оперативной памяти в Firefox 2

Reading time1 min
Views1.4K
Мы уже знаем, что в третьей версии Firefox будет есть намного меньше памяти, но что делать обладателям двойки. А сделать можно следующее:

  • Отключить ненужные расширения
  • Включить освобождение памяти при минимизации
  • Настроить грамотно кеш


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

jQuery Tools v1.0.1

Reading time1 min
Views3.9K
jQuery Tools Logo
jQuery Tools v1.0.1 — это инструмент/библиотека представляет собой файл весом в 5,8 кб включающий в себя наиболее важные компоненты для вебдванольных сайтов, а именно: табы, всплывающие подсказки, плавные переходы, прокрутки, всплывающие окна и т.д.

Не буду тянуть резину, лучше, как говориться, один раз увидеть, чем сто раз услышать!
Переходим по ссылке и смотрим более 50 (!) демок:

Несколько понравившихся мне демонстраций. Очень рекомендую!
Маскируем фоновое изображение;
AJAX-табы с поддержкой истории переходов;
Неколько всплывающих окошек на одной странице.

Таймер «Самоконтроль» с новым дизайном

Reading time1 min
Views14K
image

Всем привет, вот и подошло время для нового обновления таймера «Самоконтроль». Теперь он стал красивее и умеет делать чуть больше вещей.

Страница с таймером: http://www.boomstudio.ru/portfolio/files/experiments/timer_control/

Если быть точнее, то появились следующие штуки:
1) Улучшенный дизайн (за это отдельное спасибо Станиславу Щербакову )
2) Появилась возможность ставить таймеры на паузу. Для этого достаточно «отжать» уже нажатую кнопку (кликнуть повторно по нажатой кнопке).
3) Теперь программа сама следит за обновлениями. Если ваша версия таймера устареет, то программа покажет сообщение о наличии новых версий программы. Правда скачивать и распаковывать обновления, пока, придётся всё-таки самим.
4) Теперь можно изменять названия кнопок и цвет таймеров. Эти настройки вынесены во внешний XML файл.

P.S.: Если кому-то будет интересно, то вот предыдущие обсуждения программы на хабре:
Обсуждение #1: habrahabr.ru/blogs/arbeit/59123
Обсуждение #2: habrahabr.ru/blogs/arbeit/59477

Почему пожилая электронная почта по-прежнему идеальна для рабочего общения?

Reading time4 min
Views3.5K
Пост написан от некоторого отчаяния. Дело в том, что общение по рабочим вопросам с людьми (с клиентами, партнёрами, исполнителями) стало потреблять слишком много моих ресурсов (времени, внимания). Более всего утомляют инструменты общения, выбранные моими собеседниками.

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

Телефон, Skype и прочие VoIP


Когда мне звонят и задают вопрос, на который я могу моментально ответить — это прекрасно. Если для того, чтобы ответить, мне предстоит углубиться в документы или поиск, то, конечно, лучше было бы получить вопрос по почте, коли для ответа всё равно требуется компьютер.

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

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

Ещё меня веселит, когда люди пытаются голосом диктовать адреса сайтов (все эти милые «хэ тэ тэ пэ слэш слэш двоеточие вэ вэ вэ», «эс как доллар», «цэ как русская эс»), притом иногда не только доменов, а каких-нибудь внутренних страниц. Мне очень нравится всё это записывать, ага, сначала на салфетку, а после обеда — в браузер с уже рассыпающейся салфетки. Я бы что, не кликнул по ссылке в письме?

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

Инструкция по воплощению

Reading time6 min
Views890
Полезная статья в журнале «Деньги» о том, «можно ли создать универсальный рецепт извлечения денег из идей?». Особенна полезна, как информация к размышлению тем, кто, как говорится, берется за дело, чтобы понять сколько и на каких усливиях можно за него получить.

Полная версия доступна здесь.
Читать дальше →

Корзина в современном интернет-магазине

Reading time3 min
Views31K
Здравствуйте, хочу написать цикл статей про юзабилити веб-интерфейсов, и начну, как не странно, с корзины покупок.

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

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

Итак, начнем!

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

Почему я люблю Drupal

Reading time3 min
Views3.9K
топик-ответ на противоположный взгляд

Предыстория


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

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

Сценарий RFID

Reading time2 min
Views4.1K
imageRFID-метки двинулись на потребительский рынок. Впрочем, купить USB-сканер и наборчик с метками можно было давно, а нидерландский Mediamatic даже проводил регулярные мастерские на тему RFID, которые в последствии превратились в ежегодный RFID-фестиваль. Однако, организовывать стартапы и выпускать потребительские продукты начали буквально нынешней осенью.

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

На Хабре уже писали про Tikitag и недавно ещё одна фирма Violet выпустила свой наборчик RFID-меток. В комплект, под названием Mirror, входит RFID-сканер и 25 RFID-чипов на клейкой ленте. Чипы можно прикреплять к различным предметам, а сканер подсоединить к компьютеру. При приближении к сканеру, чипованные предметы будут вызывать какое-то действие компьютера. Например, чип, открывающий веб-страницу с прогнозом погоды, можно наклеить на ручку дождевого зонтика, чип, вызывающий список рецептов для приготовления блюд, можно наклеить на сковородку, а на пульте дистанционного управления телевизором разместить чип, вызывающий программу телепередач.

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

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

Делаем вебдванольные превьюшки с ImageMagick

Reading time2 min
Views15K
Недавно, у меня случилась проблема с GD на сервере — он перестал понимать png, после получаса мытарств, решил посмотреть на ImageMagick и его PHP интерфейс IMagick
После недолгого гугления нашел замечательный блог посвященный Imagick. Там же нашел способ делать красивые превьюшки. Однако, способ, предложенный там, правильно отрабатывал только с png картинками. Я немного поковырялся и сделал свой.

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

Некоторые инженерные практики для улучшения качества web application на PHP

Reading time2 min
Views4.6K
Этот топик мой ответ на жалобу одного человека, что «баги достали».

Для начала, никакая методология положения не спасет. Начинать нужно с инженерных практик – внедрив их и почувствовав уверенность в своем коде можно внедрять любую методологию.

Первые задачи могут быть такие:
  • Обеспечить интеграционное тестирование, чтобы каждое обновление на production не было головной болью.
  • Обеспечить регрессионное тестирование – чтобы выявленные ошибки не возникали опять (отслеживались автоматически).

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

Фонетический поиск

Reading time4 min
Views16K
Пару лет назад была задача написать для одного из сайтов такой поиск, который бы распознавал опечатки и предлагал бы исправленные запросы. Было перепробовано несколько вариантов, об одном из которых я и хотел тут написать. Поиск на основе звучания слов может стирать языковые границы, поскольку имена собственные на разных языках созвучны. Например, ищешь «Арнольд Шварцнеггер» на русском — находишь «Arnold Schwarzenegger» на английском, или ищешь «Michael Jordan» — находишь «Майкл Джордан», или ищешь «Чак Норрис» — и вдруг он сам тебя находит. Помимо поиска созвучных слов этот метод нивелирует большое количество опечаток. А то че-то задолбала попса, надо больше про инсайд…

...больше про инсайд
12 ...
19

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity