Pull to refresh
14
0
Николай Фролов @kinokritik

User

Send message

Входите! Аутентификация без логина и пароля, «запомнить меня»

Reading time 3 min
Views 13K
Раз уж подняли эту тему, хочется напомнить о том, как улучшить реализацию стандартной функции remember-me.

Оба предложенных ранее варианта не учитывают один важный момент, что, если token будет похищен? При обычной реализации аутентификации через remember me token, атакующий, получив такой токен, получит доступ к сайту на неограниченное время, а жертва даже не узнает о факте хищения…
Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Comments 20

История развития и оптимизаций одного высоконагруженного ресурса

Reading time 5 min
Views 14K


Введение

Все началось с того, что я стал системным администратором у одного провинциального Интернет-провайдера. Помимо администрирования различного рода ресурсов, мне в присмотр достался один молодой, но бурно развивающийся ресурс. Ресурс представлял из себя классический LAMP проект. Сайт, на котором генераторами контента являлись обычные пользователи.
* К слову, в то время я ничего не понимал в *nix системах, хоть и все сервера которые мне достались, были именно на нем, разбирался я во всем этом достаточно быстро.

Как обычно бывает с ресурсами, набирающими популярность, железки на которых все крутится, перестают справляться. Ресурс стоял на стареньком двухпроцессорном сервере, на котором крутились практически все сервисы для пользователей. В то время начальство не воспринимало ресурс как нечто стоящее вложений, поэтому, к моему сожалению (а позже – счастью), денег под новую железку мне не выделяли.
Читать дальше →
Total votes 208: ↑198 and ↓10 +188
Comments 56

Преступный переинженеринг

Reading time 5 min
Views 18K
Программистов часто обвиняют в том, что они делают свою работу неряшливо. В природе существует бесчисленное количество программ, которые падают, зависают или неожиданно пишут на экране «Превед медвед» миллион раз.
Почему так получается?
Total votes 133: ↑120 and ↓13 +107
Comments 67

Юзабилити кабинки туалета

Reading time 8 min
Views 22K

Как ни странно звучит, но речь действительно пойдёт про usability кабинки туалета.

Цель статьи — немного размять мозги.

Сейчас многие говорят про usability. Но не многие всерьёз о нём задумываются.

— Сделаю-ка я высовывающуюсь панельку на своём сайте. Ведь это же… как его… юзабельно!

Но сейчас я хочу поговорить не про веб-интерфейсы и вообще не про интерфейсы, а про устройство кабинки туалета.
О чём речь?
Total votes 383: ↑322 and ↓61 +261
Comments 288

CouchDB сегодня

Reading time 8 min
Views 26K


Что такое CouchDB для вас? Вероятно любой, кто хоть немного интересуется популярной нынче темой NoSQL, прекрасно знает общие детали: это такая симпатичная игрушка с map/reduce-запросами, которые пишутся на JavaScript, с которой можно работать, гоняя JSON по HTTP-протоколу, а также не исключено, что слышали, что она fault-tolerant, тобишь не ломается вообще. Дальше этого обычно дело не идёт, в результате CouchDB отправляется в delicious в общую кучу со всякими MongoDB, Cassandra, Hadoop и т.п.

Примерно такого мнения придерживался и я вплоть до недавнего времени, пока не возникла острая необходимость переосмыслить архитектуру текущего проекта (упёршегося лбом в свою реляционную БД) и пересесть на документную базу данных, которая бы умела map/reduce. После того, как более пристально взгялнул на CouchDB, я понял, что он уникален в своём классе, его не следует ставить в один ряд с упомянутыми продуктами. Идеи, которые заложены в CouchDB настолько концептуальны, что способны в корне перевернуть представление о разработке веб-приложений.

О том, что же меня так впечатлило, постараюсь рассказать под катом.
Читать дальше →
Total votes 147: ↑142 and ↓5 +137
Comments 110

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity