Pull to refresh
0
0
strigis @strigis

User

Send message

Архитектура open source-приложений: Как работает nginx

Reading time18 min
Views64K


Мы в «Латере» занимаемся созданием биллинга для операторов связи и рассказываем на Хабре о разработке своего продукта, а также публикуем интересные технические переводные материалы. И сегодня мы представляем вашему вниманию адаптированный перевод одной из глав книги «Архитектура open-source-приложений», в которой описываются предпосылки появления, архитектура и организация работы популярного веб-сервера nginx.
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments10

«А как всё хорошо начиналось...», или О пользе O-нотации не только для анализа алгоритмов

Reading time7 min
Views15K
Термин «О-большое», знакомый нам из курса матанализа, был введён Паулем Бахманом в конце XIX века для описания асимптотического поведения функций. В конце 1970-х Дональд Кнут придумал применять этот термин для оценки эффективности и ресурсоёмкости алгоритмов, благодаря чему с «О-большим» знакомо большинство программистов. Понимание асимптотики быстродействия и ресурсоёмкости даёт возможность выбрать наиболее подходящий метод решения задачи в зависимости от текущих потребностей. «Плохая» асимптотика позволяет сразу же отбросить неподходящий метод.



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

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments7

Производительность без цикла событий

Reading time10 min
Views16K


Эта статья основана на материалах презентации, которую я представил в этом году на конференции OSCON. Я отредактировал текст, чтобы он был более лаконичным, а заодно учёл ту обратную связь, что я получил после своего выступления.

Про Go часто говорят, что он хорош для серверов: здесь есть статические бинарники (static binaries), развитый concurrency, высокая производительность. В этой статье мы поговорим о двух последних пунктах: о том, как язык и среда выполнения (runtime) ненавязчиво позволяют Go-программистам создавать легко масштабируемые серверы и не беспокоиться из-за управления потоками (thread) или блокирующих операций ввода/вывода.
Читать дальше →
Total votes 39: ↑30 and ↓9+21
Comments23

С чего начать новичку в Go

Reading time2 min
Views160K
Если вы решили попробовать замечательный язык Go, но не знаете с чего начать, вам прямая дорога в этот пост, где я постарался перечислить все необходимые для новичков ресурсы.
Читать дальше →
Total votes 56: ↑50 and ↓6+44
Comments50

Ищем замену Digital Ocean среди отечественных хостинговых компаний

Reading time14 min
Views73K
Я поклонник виртуальных серверов, так как в большинстве случаев они дают больше свободы и возможностей чем классический виртуальный хостинг и при этом удобнее в эксплуатации по сравнению с выделенными серверами.
Всего три года назад практически не было альтернативы виртуальным серверам от Digital Ocean. В России аналогичных сервисов практически не было. А цены на зарубежные предложения начинались с 5 долларов США в месяц, что в пересчёте по тогдашнему курсу составляло около 150 рублей и было сравнимо с обычным хостингом. Однако, когда доллар и евро подскочили в цене в два раза пользоваться услугами зарубежных провайдеров стало весьма накладно.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments103

На пути к созданию собственного движка интернет магазина

Reading time4 min
Views17K
Моя статья не открывает каких-либо технологических новшеств и скорее преследует цель узнать мнения Хабравчан. Возможно ваши соображения помогут остановиться и выбрать правильный путь.

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

Выбор тогда пал на два движка ImageCMS и HostCMS. Сейчас пройден уже достаточно немалый путь, но чем дальше я иду, тем больше сомневаюсь, правильный ли выбираю путь.
Читать дальше →
Total votes 16: ↑10 and ↓6+4
Comments72

Идеи и результат

Reading time5 min
Views646
Корреляция

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

— Ах он такой, дурак, он нас умных не слушает, делает неизвестно что, его проект провалится!

И уж если он, действително проваливается, тут нет конца счастья! Вот оно! Свершилось то, о чем они говорили! Их не слушали и, вот, проект загнулся! Ура товарищи! Ещё раз доказали что мы были правы!

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

Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments27

Свободный и бесплатный софт

Reading time12 min
Views18K
Я знаю, подобный топик уже был, но я думаю этот будет более полным. Свобода… Зачем платить, если можно оценивать чужой энтузиазм и иногда, когда чувства переполняют, жать кнопочку Donate.

далее список программ
Total votes 80: ↑71 and ↓9+62
Comments241

«Не хочу работать на дядю!» — обратная сторона медали

Reading time3 min
Views8.1K
В последнее время на хабре читаю много постов о том, как это прекрасно иметь свое дело и освободиться от ежедневного вставания в 5 утра, двухчасовой поездки в электричке на работу, восмичасового «обезьяньего труда» и вечернего отдупления. И всего этого еще пять дней в неделю круглый год.

Читать дальше →
Total votes 146: ↑136 and ↓10+126
Comments188

Google пытается проиндексировать Невидимую Сеть

Reading time2 min
Views2.5K
Разработчики из подразделения краулинга и индексации (Crawling and Indexing Team) сообщили о важном эксперименте, который начался совсем недавно. Они осуществили апгрейд краулера и начали испытывать технологию интеллектуальной обработки HTML-форм. После апгрейда робот-краулер должен научиться получать скрытые URL’ы и веб-страницы, которые генерируются в ответ на обработку форм на различных сайтах и которые невозможно получить иным путём.

На практике технология работает так: при встрече с элементом обработчик форм осуществляет ряд пробных запросов. Для текстовых полей в качестве запросов автоматически выбираются слова с этого самого сайта, на котором находится форма. Значения чекбоксов и выпадающих меню берутся непосредственно из кода страницы. После этого программа пытается обработать полученный URL. Если страница действительно содержит некий контент, то её отправляют на индексирование в общий поисковый индекс.

Несмотря на кажущуюся простоту и очевидность, обработка HTML-форм является очень важным шагом по вытаскиванию на свет так называемой «Невидимой Сети» (Deep Web) — огромных массивов информации, которые скрываются в больших базах данных, открытых миру через интерфейсы HTML-форм. Это юридические БД, разнообразные справочники (телефоны, адреса, цены) и прочие массивы данных. По некоторым оценкам, Невидимая Сеть содержит сотни миллиардов страниц и охватывает 90% всего содержимого интернета. Нужно заметить, что именно там скрывается самый ценный контент, который до сих пор не доступен через стандартные поисковики.
Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments75

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16+500
Comments365

Новый редактор стилей и 3D отображение DOM-структуры страницы в Firefox 11

Reading time2 min
Views4.9K
Разработчики браузера Firefox, который сейчас испытывает сильнейшую конкуренцию с Google Chrome, в марте следующего года планируют к выпуску новую 11-ю версию своего обозревателя. В ней появится ряд новых инструментов, призванных облегчить труд разработчиков.

Среди новых инструментов появится Style Editor: инструмент, предназначенный для более комфортной работы со стилями HTML-страницы. По сути, инструмент представляет из себя двух-панельное окно, одна из панелей которого предназначена для отображения списков имен стилей, а вторая — собственно, CSS-кода. Разработчики смогут создавать новые стили «на лету», импортировать их из файла, включать и выключать отдельные стили, получая возможность оценить как выглядит страница, причем выполняемые изменения тут же отображаются. Если разработчик хочет изучить CSS-код другого сайта, который часто минимизируют с целью уменьшения скорости загрузки, то Style Editor сможет определить «оптимизированные» места в CSS и отобразить их в удобном виде.

Как выглядит будущий инструмент можно оценить на скриншоте ниже:



Более эффектным визуально выглядит другое усовершенствование для разработчиков — отображение структуры web-страницы в виде 3D (функционал, который ранее был реализован в расширении Tilt)

Узнать подробности
Total votes 46: ↑41 and ↓5+36
Comments39

Концепт-арт — история, назначение, проблемы связанные с ним, и способы его создания

Reading time21 min
Views123K


Предисловие


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

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

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

Партия реверансов сделана, тылы прикрыты, паноптикум можно считать открытым.

Уверен, что голая теория вам нужна не более чем собаке пятая лапа. Признаюсь также, что все разы, когда я сталкивался с голой теорией, заканчивались крепким сном. Когда-то давно, когда я только начинал изучать первый пакет трехмерного моделирования, купив пару толстенных книг и проигнорировав при этом известное положение о том, что важен совсем не размер, со мной начали приключаться удивительные вещи. На первых же страницах. Я засыпал. Позорно. В тех позах, в которых меня застигала чертова книга. Везде. Даже в метро.

Я не хочу того же для вас. Хочу, чтобы история была интересной, а посему – долой нудную теорию, долой правила, лекторский тон и никому не нужный апломб. Никаких графиков, таблиц и сравнений. Только эмоции и веселье, по возможности, наподобие этой работы. Один из артов которые я изготовил во время компании в поддержку финансирования разработки игры Wasteland 2.



Что же останется в статье, если убрать особливо техническую информацию, — спросите вы?
Читать дальше →
Total votes 125: ↑122 and ↓3+119
Comments30

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

Reading time4 min
Views87K

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


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

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

Читать дальше →
Total votes 239: ↑227 and ↓12+215
Comments96

Веб-типографика сегодня. Часть I

Reading time7 min
Views27K
Часть IЧасть IIЧасть IIIЧасть IVЧасть V — Часть VI

Часть I



Как-то ко мне обратился знакомый дизайнер с просьбой разобраться в странной по его мнению ситуации. Клиент просил «сделать так же, как у Apple», но с использованием собственных способов расположения блоков, изображений, цветовой гаммы и текста. В общем, дизайн в итоге получался совершенно непохожий на apple.com, но этого, собственно, и добивался клиент. И вроде бы у дизайнера получилось, но… Клиенту по-прежнему не нравилось, он всё равно требовал переделать макет. По его ощущения «что-то было ну совсем не так». А что именно — тот объяснить был не в силах. Вот и возник вопрос у моего коллеги по поводу того, как угодить капризам клиента и понять его чаяния. Оказалось всё не так просто, но вполне объяснимо. Я и раньше сталкивался с данной проблемой. Поэтому решил попробовать изложить свои мысли по этому поводу.

Итак, какова ситуация в области современной веб-типографики и какими способами следует решать возникающие проблемы?
Читать дальше →
Total votes 128: ↑120 and ↓8+112
Comments41

C++‭ ‬2009

Reading time13 min
Views6.2K
«Самая важная вещь в языке программирования - его имя. 
Язык не будет иметь успеха без хорошего имени. 
Я недавно придумал очень хорошее имя, 
теперь осталось изобрести подходящий язык.»  
Д. Э. Кнут  


Эволюция C++09: флешбек



После первой спецификации C++, ратифицированной в 1998 году, был взят пятилетний перерыв, который позволил разработчикам компиляторов подстроиться под стандарт. Также такое время «радиомолчания» позволило Комитету получить отзывы относительно документа. В конце этого периода комитет стандартов ANSI выпустил обновлённую спецификацию, содержащую исправления и различного рода улучшения. Эти исправления были задокументированы в первом техническом списке ошибок от 2003 года.

Читать дальше →
Total votes 101: ↑98 and ↓3+95
Comments148

Ежедневная порция знаний. Хочется больше.

Reading time2 min
Views1.1K
Прошу отнестись терпимо и дочитать до конца. Может быть это не совсем подходящий блог, и вообще было бы лучше создать отдельный (на что пока не хватает кармы).

Я работаю руководителем проектов в компании, которая делает сайты. Работаю головой: проектирую, слежу за работой и общаюсь с клиентами.

Мне нужно быть в курсе возможностей современных технологий и тенденций, чтобы знать что сделать можно, чего нельзя, что хорошо, что плохо. Поэтому я ежедневно получаю порцию знаний. Многие источники у нас с тобой, читатель, конечно совпадут. Но, разумеется, кто-то здесь найдет новое. Это наиболее авторитетные, сильные источники. Даю гарантию, что если вы с ними не знакомы, то познакомившись вырастете на несколько уровней. От них уже расходятся второсортные ручейки, ученики. Итак, источники (порядок ничего не значит):
Читать дальше →
Total votes 46: ↑38 and ↓8+30
Comments55

Цифры, числа и числительные

Reading time9 min
Views37K
По следам хабралинча имени Рюмкина коснёмся темы правильного типографического оформления чисел. В голову пришли следующие темы, если что-то вдруг забыто — пишите в комментариях, добавлю в статью.
  • Минускульные и маюскульные цифры
  • Целые числа и десятичные дроби
  • Простые дроби
  • Буквенные сокращения (тысяча, миллион, миллиард)
  • Диапазоны
  • Порядковые числительные и числительные в составе сложных слов
Ещё в комментариях к хабралинчу возникло интересное обсуждение согласования и управления при употреблении порядковых числительных, но это, как мне кажется, скорее отдельная тема для блога Пишу правильно.

Читать дальше →
Total votes 85: ↑81 and ↓4+77
Comments51
1

Information

Rating
Does not participate
Location
Волынская обл., Украина
Date of birth
Registered
Activity