Pull to refresh
0
Можете удалять @ipadmread⁠-⁠only

User

Send message

36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

Reading time5 min
Views114K
Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
Читать дальше →
Total votes 111: ↑96 and ↓15+81
Comments102

Вспоминая прошлое

Reading time2 min
Views95K
Решил вспомнить то, как и что было раньше в мире информационных технологий. Да и с Хабром поделиться захотелось. Пост предназначен для старшего поколения, из серии «Школоте не понять». А у Вас так же было?
  • Это мы работали с мышками без колеса, и нормально себя чувствовали.
  • Это мы будили ночью родителей диал-апом, когда заходили в интернет. Но как же он пел ;)
  • Только мы знаем, что такое мультикарта.
  • Это мы радовались тому, что любимая mp3-песня наконец-то звучит на компьютере без подтормаживания

Читать дальше →
Total votes 117: ↑74 and ↓43+31
Comments330

Вечная жизнь: замена мозга другим носителем с сохранением сознания и личности

Reading time6 min
Views131K

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

1. Управляемое бесконечное деление биологической клетки
2. Перенос сознания на другой более отказоустойчивый носитель.

Смысл статьи и последующей дискуссии — исследовать теорию именно по пункту 2, т.к. он подразумевает не копирование личности, когда ваш мозг скопирован в кого-то другого, но при этом вы остаётесь самим собой, а перенос именно вашего мозга на другой носитель, да так, чтобы вы не прекратили своего существования, мыслительного континуума, самоосознания.
Читать дальше →
Total votes 82: ↑60 and ↓22+38
Comments361

В MIT научили модель самолета самостоятельно избегать столкновений с препятствиями в тесных помещениях

Reading time1 min
Views8.6K
Специалисты Массачусетского Технологического Института создали автономную модель самолёта, которая может агрессивно маневрировать в стеснённых условиях на скорости до 10 м/сек. Самолёт определяет своё положение в пространстве с помощью гироскопов, акселерометров и лазерного дальномера. Бортовой компьютер работает на процессоре Intel Atom частотой 1,6 ГГц. Ключевой элемент системы — оптимизированный для полёта в реальном времени алгоритм Gaussian particle filter.


Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments30

Почему копирайт неконституционен

Reading time5 min
Views3.8K
Disclaimer. Я обращаю внимание, что я не даю в данный момент никаких оценочных суждений и не предлагаю никаких решений. Я просто излагаю факты.

Я уже как-то писал, что копирайт нелегитимен. Это не всё. Копирайт ещё и неконституционен, т.к. противоречит базовым принципам права.

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

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

Т.о., на первый взгляд, отношения автора, издателя и покупателей сводятся к обычным гражданско-правовым договорам купли-продажи (ну или «аренды», как стало модно делать в последнее время). На самом деле, это не так.

Читать дальше →
Total votes 148: ↑121 and ↓27+94
Comments162

Zabbix и бесплатные SMS

Reading time2 min
Views14K
Когда в Google Календаре появилась возможность получать бесплатные SMS уведомления, думаю все разработчики подумали о том, что это можно прикрутить к своим скриптам. Многие так и не нашли времени и сил этим заняться, поэтому предоставляю PHP скрипт для бесплатной отправки SMS себе, а для пущей пользы прикручу его к системе мониторинга Zabbix. Надеюсь после этих слов все системные администраторы подумали о том, как будет здорово получать SMS когда из сети выпадает сервер, кто-то наступает на сетевой провод, перезагружается роутер или повышается температура в серверной.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments28

Два способа разработки программного обеспечения, или Одна ночь из жизни программиста Миши

Reading time9 min
Views53K


«Две тропинки идут рядом: путь жизни и путь смерти… Люди не идут никаким путём, ни путём жизни, ни путем смерти. Вихрь носит их, как солому.»
Густав Майринк, «Голем»

В офисе было тихо и темно, лишь стук клавиш и редкие щелчки мыши нарушали едва различимое жужжание кулера, да широкоформатный монитор освещал измождённое лицо regular developer'а Миши. Сторонний наблюдатель мог бы подумать, что идёт обычная рабочая ночь с пятницы на субботу. Так оно и было для тысяч других разработчиков по всему миру, но только не для Миши. Поставив очередную пустую бутылку под стол, он внезапно почувствовал, что граница, отделяющая его от гордого титула «senior developer», не так уж и далека.

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

Миша сглотнул и тихо спросил дрожащим голосом:

— Тим-лид Коля? Проджект-менеджер Изя? Рабочий день уже давно закончился, что вы здесь делаете? И к чему весь этот маскарад?
Читать дальше →
Total votes 258: ↑228 and ↓30+198
Comments87

NFC + метрончики = большая польза

Reading time3 min
Views328K
imageСейчас уже практически в каждом новом коммуникаторе встраивается модуль работы с NFC-тегами. Однако, как это часто бывает, суровые отечественные реалии не поспевают за технологическим прогрессом и обнаружить реальное применение новых технологий в повседневной жизни мягко-говоря, непросто.
Проблем всего две:
1. Люди, которые могли бы технологию популяризовать, либо не видят её преимуществ, либо её внедрение стоит денег, неадекватных отдаче.
2. Люди, для которых технология была придумана, вообще о ней ничего не знают и зачастую даже не слышали о ней.

Поэтому, сегодня я внесу маленькую лепту в копилку идей тех людей, для которых NFC — тёмный лес.
Читать дальше →
Total votes 63: ↑48 and ↓15+33
Comments74

Верховный суд США объявил: Конгресс может принимать законы о приватизации работ, находящихся в общественном достоянии

Reading time2 min
Views7.4K
Надеюсь, не многие позабыли ещё, что 17 января в заметке «Иисус Христос и этика свободного копирования» я объявил о возможности копирайтового апокалипсиса, предтечею которому станет тот момент, когда правоторговцы, не удовлетворённые последовательным продлением сроков действия копирайта в будущее (а сейчас эти строки в ряде стран достигли или готовы достигнуть целой сотни лет!), начнут продлевать их и в прошлое — то есть приватизировать те творческие работы, которые давно (многие десятилетия назад!) перешли в общественное достояние.

И что же? Буквально на следующий день (18 января) в «Wired» вышла заметка «Supreme Court Says Congress May Re-Copyright Public Domain Works» о том, что в США принято на высшем уровне такое судебное решение, которое признаёт право Конгресса на издание законов и принятие международных договоров, удлиняющих в прошлое сроки копирайта, вновь переводящих некоторые творческие работы из общественного достояния (куда они попали в США по той или иной причине) в разряд частной собственности правоторговцев.

Читать дальше →
Total votes 66: ↑58 and ↓8+50
Comments33

О нелегитимности копирайта

Reading time3 min
Views2.9K
Свою позицию по авторскому праву я излагал здесь: раз, два. Дописать это небольшое дополнение меня сподвигло небезызвестное выступление господина Акопова.

Господин Акопов, обращаясь к пользователям «ВКонтакте» пишет:

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


Господин Акопов — а он (либо его референт), судя по тексту, довольно образованный человек — употребил здесь правильное слово, которое я позволил себе выделить: легальный. Легальность означает соответствие закону — законность, проще говоря.

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

Так вот, господин Акопов: копирайт нелегитимен.

А почему?
Total votes 279: ↑233 and ↓46+187
Comments823

Лучшие практики и рекомендации по защите php-приложений от XSS-атак

Reading time5 min
Views70K

Лучшие практики и рекомендации по защите php-приложений от XSS-атак


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



Большинство уязвимостей связано с неправильной обработкой данных, получаемых извне, или недостаточно строгой их проверкой. Одной из таких уязвимостей является межсайтовое выполнение сценариев (Сross Site Sсriрting, XSS), которая может привести к дефейсу сайта, перенаправлению пользователя на зараженный ресурс, вставке в веб-ресурс вредоносного кода, краже COOKIE-файлов, сессии и прочей информации. Противостоять XSS своими сила поможет применение лучших практик и рекомендаций по безопасному программированию, о которых и пойдет речь ниже.
Читать дальше →
Total votes 52: ↑35 and ↓17+18
Comments35

Фильтры захвата для сетевых анализаторов (tcpdump, Wireshark, Paketyzer)

Reading time18 min
Views200K

1. Фильтры захвата


Анализаторы трафика являются полезным и эффективным инструментом в жизни администратора сети, они позволяют «увидеть» то что на самом деле передается в сети, чем упрощают диагностику разнообразных проблем или же изучение принципов работы тех или иных протоколов и технологий.
Однако в сети зачастую передается достаточно много разнообразных блоков данных, и если заставить вывести на экран все, что проходит через сетевой интерфейс, выделить то, что действительно необходимо, бывает проблематично.
Для решения этой проблемы в анализаторах трафика реализованы фильтры, которые разделены на два типа: фильтры захвата и фильтры отображения. Сегодня пойдет речь о первом типе фильтров – о фильтрах захвата.
Фильтры захвата, это разновидность фильтров, позволяющая ограничить захват кадров только теми, которые необходимы для анализа, уменьшив, таким образом, нагрузку на вычислительные ресурсы компьютера, а также упростив процесс анализа трафика.
Читать дальше →
Total votes 73: ↑68 and ↓5+63
Comments20

Наш чеклист для фильтров на сайтах

Reading time7 min
Views51K
Довольно часто на сайтах е-коммерса нас просят реализовать фильтры. Хороший фильтр — довольно дорогая игрушка. Вообще, они не всегда уместны — пользователю проще посмотреть глазами на список, чем разбираться в логике разработчика фильтра. Конечно, если в этом списке не так много элементов. Скажем, не больше 200 в каждом разделе. Ниже в виде проверочного списка для наших QA, я зафиксировал некоторые требования, которые мы настойчиво внедряем на своих проектах с этого года. Стандартизация, ептэ.

Эти требования разумны. Часть из них трудно реализуема. Часть — очевидна. Часть — зависит от контекста. Но в целом они довольно универсальны. Если будут какие-то вопросы по конкретным пунктам — велкам в комментарии.


Читать дальше →
Total votes 55: ↑40 and ↓15+25
Comments17

Распараллеливаем процессы для ускорения вычислений и выполнения заданий в Linux

Reading time11 min
Views80K


Почти все персональные компьютеры, выпущенные за последние несколько лет, обладают как минимум двухъядерным процессором. Если у тебя, читатель, не очень старый комп или не какой-нибудь бюджетный ноутбук, то, вероятнее всего, ты обладатель многопроцессорной системы. А если еще любишь играть в игры, то тебе доступно около сотни GPU-ядер. Однако львиную долю времени вся эта мощь пылится без дела. Попробуем это исправить.
Подробности
Total votes 85: ↑69 and ↓16+53
Comments20

Несколько интересностей и полезностей для веб-разработчика #10

Reading time4 min
Views41K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром. Это последняя подборка в этом году и я постарался сделать ее наиболее информативной и нужной.

image
Летом 2013 года издательство The Guardian обновило свой сайт, согласно всем современным трендам/нормам/правилам. Но самым главным событием является то, что разработчики выложили весь фронтенд сайта в открытый доступ на GitHub. Свыше 1500 старов, 10 000 коммитов и 100 веток. Там целый джентельменский набор. Для многих это будет кладезь знаний.

imageCenny.js — plug 'n play бэкенд для веб-приложений. Быстрый, защищенный, расширяемый.
var server = new Cenny();
server.set({data: [1,2,3]});
server.get(function(data){ 
   console.log(data); 
});


imageМаленький скрипт от Filament Group (один из первых спонсоров jQuery). Overthrow.js это полифил для отзывчивого дизайна, который стабилизирует работу стандартного скроллинга контента HTML элементов (overflow: auto/scroll) на тач устройствах. Для тех, кто не совсем понял о чем речь, сравните на вашем гаджете работу обычного скроллинга и действие Overthrow.

Читать дальше →
Total votes 75: ↑72 and ↓3+69
Comments23

Я построю свой почтовый сервер с Postfix и Dovecot

Reading time20 min
Views307K
image

В рамках программы по унификации установленных серверных систем встала задача по переделке почтового сервера. Вдумчивое изучение мануалов и руководств показало довольно любопытный факт – нигде не было найдено однозначно достоверного руководства или подобия Best Practice по развёртыванию почтовика.

Мануал пошаговый, основывается на внутренней документации компании и затрагивает совершенно очевидные вопросы. Гуру могут не тратить время, ноу-хау здесь нет – руководство является сборной солянкой и публикуется только потому, что все найденные руководства по развёртыванию почтовика напоминали картинку о том, как рисовать сову.
Очень много текста
Total votes 78: ↑74 and ↓4+70
Comments65

Python изнутри. Введение

Reading time7 min
Views99K
Boa constrictor1. Введение
2. Объекты. Голова
3. Объекты. Хвост
4. Структуры процесса

Помимо изучения стандартной библиотеки, всегда интересно, а иногда и полезно, знать, как язык устроен изнутри. Андрей Светлов (svetlov), один из разработчиков Python, советует всем интересующимся серию статей об устройстве CPython. Представляю вам перевод первого эпизода.

Мой друг однажды сказал мне: «Знаешь, для некоторых людей язык C — это просто набор макросов, который разворачивается в ассемблерные инструкции». Это было давно (для всезнаек: да, ещё до появления LLVM), но эти слова хорошо мне запомнились. Может быть, когда Керниган и Ритчи смотрят на C-программу, они на самом деле видят ассемблерный код? А Тим Бёрнерс-Ли? Может он сёрфит интернет по-другому, не так, как мы? И что, в конце концов, Киану Ривз видел в том жутком зелёном месиве? Нет, правда, что, чёрт побери, он там видел?! Эм… вернёмся к программам. Что видит Гвидо ван Россум, когда читает программы на Python?
Узнать ответ
Total votes 98: ↑93 and ↓5+88
Comments60

Запуск OLAP-сервера на базе Pentaho по шагам

Reading time13 min
Views87K

Итак, дорогие хабровчане, хочу представить на ваше обозрение инструкцию, как нам пришлось поднимать OLAP-сервер в нашей компании. Шаг за шагом мы пройдем по пути, который был нами проделан, начиная с установки и настройки Pentaho и заканчивая подготовкой таблиц данных и публикацией olap-куба на сервере. Естественно, многое здесь может быть сумбурным/неточным/неоптимальным, но когда нам понадобилось поднять сервер и посмотреть, сможет ли Pentaho заменить нашу самописную статистику, у нас не было и такого…
Дальше много букв и картинок...
Total votes 25: ↑24 and ↓1+23
Comments4

Backdoor в Active Directory

Reading time4 min
Views9.8K
В свое время, менее года назад, на хабре мелькала публикация с аналогичным заголовком [1]. В ней автор предлагал способ по сокрытию привилегий администратора домена путем использования в качестве контейнера, для размещения «скрытой» учетной записи, служебное хранилище «Program data», в совокупностью с агрессивным разграничением прав с целью предотвращения доступа к «спрятанной» учетной записи. Однако, несмотря на заверения автора, обнаружение «скрытой» учетной записи и ее последующее удаление можно было выполнить всего в несколько кликов.
Читать дальше →
Total votes 82: ↑78 and ↓4+74
Comments15

Бэкдор в active directory своими руками

Reading time3 min
Views18K
Итак, мы все знаем про подлых пользователей c UID=0 в unix, которых может быть больше одного.

Посмотрим, как такое же (а на самом деле, даже более страшное) организовывается в инфраструктуре Windows. Разумеется, мы говорить будем не про локальные виндовые учётные записи, а про Active Directory, т.е. говорить будем об администраторе домена. Или, даже, хуже, об enterprise administrator.

Итак, истина номер один: у объектов в active directory есть атрибуты и права доступа.
Истина номер два: эти атрибуты можно менять.

Как легко понять, мы МОЖЕМ сделать учётную запись с фантастическими правами, к которой не будет доступа НИ У КОГО. Однако, он сможет логиниться, блокировать, разблокировать, менять свои атрибуты и атрибуты чужих людей.

В самом страшном случае, это будет пользователь с волшебным SID-*500, которого не позволяет удалить уже сама винда. (Для этого нужно переименовать, а на его место положить другого пользователя с ником Administrator и с полными правами).
Читать дальше →
Total votes 118: ↑100 and ↓18+82
Comments69

Information

Rating
Does not participate
Location
Ашмор и Картьер о-ва
Date of birth
Registered
Activity