Pull to refresh
81
0
Send message

LUA в nginx: лапшакод в стиле inline php

Reading time5 min
Views15K

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

Думаю, что все разработчики на PHP (включая меня) так или иначе проходили через период, когда код представляет из себя жуткую смесь html и php, напиханных в одном файле. И речь не о шаблонах, а вообще о всей логике в лапше/спагетти-коде.
И в качестве концепта я решил к первому апреля набросать реализацию чего-то подобного, но на lua под nginx. Прямо как на картинке.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments21

Проблемы с производительностью Git на большом репозитории

Reading time2 min
Views15K
Джошуа Редстоун (Joshua Redstone) пожаловался в листе рассылки Git на некоторые проблемы с производительностью, которые возникли у Facebook на большом репозитории. Они создали синтетический репозиторий и провели тесты.

Тестовый репозиторий
4 млн коммитов, линейная история и около 1,3 млн файлов. Размер папки .git — около 15 ГБ, её упаковали командой repack:

git repack -a -d -f --max-pack-size=10g --depth=100 --window=250

Процесс занял около двух суток на хорошей машине (много памяти, SSD). Размер индексного файла составил 191 МБ.
Читать дальше →
Total votes 62: ↑50 and ↓12+38
Comments64

Правильные способы исключения файлов в Git

Reading time1 min
Views209K
Иногда встречаю в файле .gitignore то, чего там быть никак не должно. Например, папка .idea, в которой лежат конфиги известных IDE от JetBrains. Это часть вашего рабочего окружения и она никаким боком не относится к проекту и репозиторию. Если над проектом работает несколько человек и каждый из них добавит конфиги своего окружения в .gitignore, то он превратится в нечитаемую помойку.

В этом топике я расскажу о правильных способах исключения файлов и о том когда какой способ использовать.
Читать дальше →
Total votes 98: ↑74 and ↓24+50
Comments68

Используем трейты с пользой

Reading time2 min
Views19K
На хабре уже было несколько статей о трейтах и о том, как их использовать. Но я пока не видел примеров использования с реальными фреймворками, на которых мы пишем каждый день. Я любитель Symfony2 стека и потому именно на нем я покажу, как можно использовать трейты с пользой.
Читать дальше →
Total votes 24: ↑14 and ↓10+4
Comments14

Yii связь многие ко многим

Reading time4 min
Views19K
many-to-many

Вступление


Привет, хабр! Многие, наверное, сталкивались с необходимостью реализовать функционал связи многие-ко-многим в Yii. Казалось бы, тут нет ничего сложного, и скорее всего разработчики фреймворка уже постарались за нас реализовать необходимый функционал связи, и нам остаётся только прописать необходимые связи в модели, и, пользуясь привычными методами, сохранить данные.
Читать дальше →
Total votes 11: ↑7 and ↓4+3
Comments13

Катаемся на флоппике и изучаем перспективный роутер. (В этой статье не пострадал ни один TP-Link MR3020 и TL-WR703N, и отделался легким испугом HAME MPR A100 (A2))

Reading time8 min
Views68K
Всем привет!

Сегодня хочу рассказать о интересном мобильном роутере HAME MPR-A100 (аналог HAME MPR-A2). Устройство показалось интересным, особенно для «кухонного» роботостроения и я решил рассказать о нем. Статью построю следующим образом — сначала расскажу о самом роутере, а потом построим на его основе максимально простой и дешовый бот на колесном шасси из подручного материала. Будет проще и дешевле чем в прошлый раз.

И самое главное найден ответ на вопрос — «Что делать с вашим старым флоппиком который лежит в шкафу?»

Основное преимущество — сразу с коробки будем иметь довольно большой аккумулятор (5000mAh) со всей обвязкой, и туда можно установить OpenWrt. Если подключить фантазию то может получится множество новый решений на основе этого роутера.



Читать дальше →
Total votes 57: ↑52 and ↓5+47
Comments27

Samba4 + GlusterFS

Reading time3 min
Views16K
    Многие уже сталкивались с такой штукой как GlusterFS, кто-то же пока еще не в курсе дел, сегодня всех вас приглашаю познакомиться с этим проектом, а точнее с возможностью использования GlusterFS вкупе с Samba4 для построения распределённого, линейно масштабируемого файлового хранилища с защитой от сбоев.

    В этом материале будет рассмотрено несколько возможностей использования GlusterFS с Samba4, а так же анализ производительности каждого варианта.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments7

Делаем автополив комнатного цветка на Arduino за 15 минут

Reading time3 min
Views239K
После того как у меня сдох очередной цветок, я понял, что неплохо было бы как-то автоматизировать процесс полива.
Не мудрствуя лукаво, я решил собрать конструкцию, которая бы поливала цветок вместо меня. В итоге у меня получился вот такой аппарат, который вполне справляется со своими обязанностями:

image

При помощи двух регуляторов можно настроить объём поливаемой за раз воды, а также период между поливами. Кому интересно — далее подробная инструкция, как сделать такое устройство.
Читать дальше →
Total votes 106: ↑85 and ↓21+64
Comments118

Как создать продукт в сфере бытовой электроники за пару недель с минимальным бюджетом

Reading time4 min
Views116K
Не так давно я написал небольшой пост на Хабре о том, как организовать автополив комнатных растений на Ардуино. В комментариях к посту многие высказывали мнение, что реализовано слишком просто, что нет магии, так как торчат провода и выглядит все неэстетично. Также были весьма дельные замечания по функционалу устройства, связанные с необходимостью использования датчика влажности почвы и другие. В итоге я решил за достаточно короткий срок сделать устройство, которое как по внешнему виду, так и по начинке было бы сопоставимо с промышленным продуктом. Возможно, эта история вдохновит кого-то на создание собственных продуктов или поможет в плане распространения опыта.


Читать дальше →
Total votes 114: ↑113 and ↓1+112
Comments70

Продвинутые методы неявного вызова php кода, использующиеся во вредоносных скриптах

Reading time4 min
Views22K
Логичным продолжением заметки про неявные вызовы php кода во вредоносных скриптах будет ее вторая часть, в которой я рассмотрю более сложные и менее очевидные варианты использования различных обработчиков и загрузчиков php, а в конце статьи приведу несколько примеров, как еще хакеры неявно вызывают вредоносный код и php скрипты на сайте.

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

echo 'Test'


Поскольку цель статьи показать различные подходы и механизмы скрытого выполнения кода, то для простоты функция, которая выполняет наш «вредоносный код» будет объявлена рядом с вызываемым ее неявно кодом. В реальной жизни вредоносный код и его вызов находятся далеко друг от друга, как минимум в разных php скриптах, но чаще код подгружается из базы данных, мета-данных изображений, с другого сервера, после чего выполняется функцией eval, assert, preg_replace и им подобными.

Читать дальше →
Total votes 59: ↑50 and ↓9+41
Comments11

Релиз KPHP и движков

Reading time6 min
Views164K
Довольно часто, выступая на различных конференциях, мы делились желанием выпустить под открытой лицензией KittenPHP, согласно традиции, заложенной крупными IT-компаниями, такими как Google и Facebook.

Это событие несколько раз откладывалось в связи с опасением, что нам не хватит сил и времени на взаимодействие с opensource-сообществом, однако в конце концов заветный день настал, и код KPHP и некоторых других инструментов, используемых внутри проекта, был выложен в открытый доступ.

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


Читать дальше →
Total votes 323: ↑311 and ↓12+299
Comments159

Шпаргалка по шаблонам проектирования

Reading time2 min
Views1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments66

Взгляд изнутри или инфраструктура проекта Likeastore

Reading time6 min
Views8.6K
За относительно небольшое время, мы успели попробовать и поменять много решений, прямо или косвенно влияющих на продукт. Сегодня, я бы хотел сделать обзор инфаструктуры вокруг проекта Likeastore. Это может быть интересно многими разработчикам думающим о своем запуске.

Я пойду от железа к софту, от низких инфрастуктурных уровней к более высоким. Для всех сервисов, которые мы используем по подписке, я укажу цены. Для каждого из пункта будет небольшой комментарий, но в перспективе каждый из них может быть открыт более глубоко, в последующих постах. Поехали…
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments20

Метод определения и динамической защиты от DDoS типа SYN-flood

Reading time4 min
Views16K
Привет, Хабрасообщество.

Об актуальности DDoS атак в наше время рассказывать не стану. Достаточно взглянуть на статистику. Сталкиваюсь с атаками по роду деятельности довольно часто, возникла идея динамической защиты от DDoS типа SYN-flood на северах Linux и FreeBSD. Также предложена реализация мониторинга SYN-flood по SNMP.

Об этом всём под катом.
Читать дальше →
Total votes 51: ↑46 and ↓5+41
Comments30
12 ...
40

Information

Rating
Does not participate
Registered
Activity