Последние новости
02/21/2015, 07:57
В связи со всевозможными факторами, вроде погоды, настроения и внезапных котонашествий, я делаю что-либо крайне медленно. Но все же решил поделиться сегодняшней находкой в скриптах ЫнтернетЖывтоне. Код преобразования формата адреса IPv4 в исполнении ЫнтернетЖывтоне:
function RealIPToHex($ip)
{
$ar = explode('.', $ip);
if (count($ar)<>4) return false;
foreach($ar as $k=>$v)
{
$dh = dechex($ar[$k]);
if (strlen($dh)==1) $sp = '0';
else $sp='';
$ar[$k] = $sp.$dh;
}
return implode('', $ar);
}
function HexToRealIP($hip)
{
for($i=0;$i<4;$i++) $ar[$i] = substr($hip,2*$i,2);
foreach($ar as $k=>$v)
{
$ar[$k] = base_convert($ar[$k],16,10);
}
return implode('.', $ar);
}
То же самое у меня:
private static function IP2Hex($ip)
{
return sprintf('%08s',dechex(ip2long($ip)));
}
private static function Hex2IP($ip)
{
return long2ip(hexdec($ip));
}
Кому непонятно, в данном конкретном примере действует правило: чем проще (менее комплексно), тем лучше.
function RealIPToHex($ip)
{
$ar = explode('.', $ip);
if (count($ar)<>4) return false;
foreach($ar as $k=>$v)
{
$dh = dechex($ar[$k]);
if (strlen($dh)==1) $sp = '0';
else $sp='';
$ar[$k] = $sp.$dh;
}
return implode('', $ar);
}
function HexToRealIP($hip)
{
for($i=0;$i<4;$i++) $ar[$i] = substr($hip,2*$i,2);
foreach($ar as $k=>$v)
{
$ar[$k] = base_convert($ar[$k],16,10);
}
return implode('.', $ar);
}
То же самое у меня:
private static function IP2Hex($ip)
{
return sprintf('%08s',dechex(ip2long($ip)));
}
private static function Hex2IP($ip)
{
return long2ip(hexdec($ip));
}
Кому непонятно, в данном конкретном примере действует правило: чем проще (менее комплексно), тем лучше.
Разместил: Misty Rain
Комментарии: 0
10/17/2014, 07:58
В связи с лавинообразным ростом завала, я продолжаю тормозить, но не прекращаю работу. В DSSM остается допилить лишь враппер страниц и основу системы обмена баннерами, а также запилить шоп (который все равно не будет работать и будет висеть лишь ради исторического референса ).
Разместил: Misty Rain
09/29/2014, 11:02
Увы, 27-го я проворонил, т.к. в этот день возвращался из командировки, а до этого готовился к передислокации домой, ибо чертова ангина не дала мне нормально насладиться поездкой и прикончить все дела там. Посему помянем старину Миста добрым (или не очень ) словом сейчас.
Командировка-отпуск позволила мне переключить внимание, в результате чего теперь я смогу дольше кодить эффективно. На это время я приостановил все работы по проектам, включая Axioma и DSSM, но это временно. Сейчас я дорисую систему управления средой разработки сайтов и продолжу.
Так что сезон трансляций оттуда не за горами.
Командировка-отпуск позволила мне переключить внимание, в результате чего теперь я смогу дольше кодить эффективно. На это время я приостановил все работы по проектам, включая Axioma и DSSM, но это временно. Сейчас я дорисую систему управления средой разработки сайтов и продолжу.
Так что сезон трансляций оттуда не за горами.
Разместил: Misty Rain
08/30/2014, 09:50
Решил прикола ради допилить Darkstar CMS версии 2008 года до юзабельного состояния. С нынешними навыками на это уйдет не больше недели в свободное время.
Разместил: katta
08/26/2014, 10:26
Поюзаю пока что этот форум в качестве технического блога, за неимением последнего.
Итак, разработка того, что некогда задумывалось как Darkstar CMS, идет полным ходом. В настоящее время реализовано (и в большинстве своем успешно отлажено):
Так что предвещаю скорейшийконецполноценный апгрейд и открытие шарда.
Итак, разработка того, что некогда задумывалось как Darkstar CMS, идет полным ходом. В настоящее время реализовано (и в большинстве своем успешно отлажено):
- Модульная архитектура
- Простой конфиг
- Внутренний механизм сессий с защитой от перехвата
- Хендлер внутренних URI + поддержка User-Friendly URI.
- Шустрый механизм определения браузера клиента
- Базовое определение прокси клиента
- Аудит подозрительных действий
- Поддержка XHTML
- Заделка под AJAX
- Модульный JavaScript
- Поддержка локализаций (вплоть до html language) + расширенное определение языка клиента
- Поддержка настраиваемых дизайнов сайта (скинов)
- Работа с любой СУБД, поддерживаемой ZDBC.
- Поддержка дополнительных источников данных (могут быть в разных СУБД и на разных серверах)
- Блокировка по логину/мылу/номеру телефона (при вводе оного)
- Заделка под SMS-шлюз
- Авторизация (логин/выход, регистрация, заказ пасса на мыло, автологин)
- Удобная конфигурация любых форм
- Заделка под статические страницы
- Доделать каптчу
- Админка (для начала конфиг, меню и банлист)
- Доделать статические страницы
- Настройки юзера
- Доделать AJAX
- Модули сайта и конфигурируемое модульное меню
- Модуль опросов и, возможно, адаптация MRTE
- Модули импорта всякой инфы из IPB и CPG
- Модуль для обмена ссылками с автоматической проверкой сайтов и кэшированием баннеров
- Модуль глоссария/вики
- Модуль блогов (для всяких там зометог одминофф и иже с ними)
- Интегрированные сайты (для глагне/эв/слип/etc)
Так что предвещаю скорейший
Разместил: Misty Rain
08/12/2014, 20:41
Казалось бы, причем здесь афца?
Ну да ладно, сначала о делах. Констатирую факт готовности ZDBC к использованию в проектах. Это важное достижение, поскольку его разработка периодически велась уже около 2 лет. Остальные модули ZCT Framework — простенькая задачка. А там и обвязки подоспеют без проблем.
А теперь можно и пошутить.
Решив бегло убедиться в отсутствии этого (да, именно этого ) шарда в поисковой выдаче, я случайно обнаружил, что я не единственный, кто поднял шард эв-слипа, и существует еще как минимум один шард со снапшотом 2009 года. Беглый осмотр шарда показал следующее:
- Движок форума был обновлен до версии 2.3.5. Той самой, с дырой в системе регистрации, которой превосходно пользовались спам-боты на эв-слипе после обновления там движка. Конечно же, мой почти доработанный апдейт на патченную 2.3.6 ниасилили, чему я вовсе не удивлен.
- В админах Окейло и афца, а сам шард, вероятнее всего, принадлежит первому.
- Дизайн глагне несколько корявый. Лучше, чем до апдейта, но стоила ли игра свеч?
- Сайт студии, делавшей сайт (судя по копирайту), выдает SQL ошибку.
- Раздел слипов на шарде выпилен. И с сайта, и с форума. Ладно, предположим, что пофиг.
- В разделе эванов нагло спизженный у меня враппер и листинг, над которым я работал несколько дней 6 лет назад. Я решил проверить код враппера и листинга на предмет своих копирайтов. Копирайтов, конечно же, не нашел (аве эгоцентризм афцы! Она не могла допустить упоминания любого, кто на него покушался ), зато обнаружил… *барабанная дробь*
- …что сайт крутится на БИТРИХЕ! *та-дааам* это пиздец, господа, это просто пиздец
1хуй-битрих (также известна как 1C-Битрикс) — пародия на движок сайта от малоизвестной артели 1хуй (в народе 1C). Известна в первую очередь отвратительным качеством кода (по сравнению с которым даже код, выдаваемый Каттой под управлением личности MR, сильно проседающий из-за ограниченных навыков первого, кажется приличным) и неоправданно высокими требованиями к ресурсам сервера. Я предполагаю, что массовое удаление постов на эв-слипе после обновления, а также ряд других проблем и отказов, были обусловлены ростом нагрузки, вызванным именно появлением сайта на битрихе.
Чтобы не быть голословным, вот модуль из системы 1хуй-битрих, реализующий функционал, описываемый 2-3 строчками кода, которые, к тому же, работают на порядки быстрее. Комментарии мои в основном.
http://www.zct-mrl.com/src/BitrixCompression-include.phps
http://www.zct-mrl.com/src/BitrixCompression-table.phps
Картинка в шапке относится именно к тому периоду, и тогда же я разбирал этот хлам.
Итого в сухом остатке мы имеем то, что даже tinyScript был не столь ужасен. А уж про грядущую обвязку я вообще молчу, ибо юнит-тест показал отличный тайминг в ZDBC, когда мне показалось, что она стала медленнее. Да и остальные модули ZCT Framework тоже не отстают. Так что все будет, сто́ит лишь расхотеть… впрочем, за счет отката аспектов состояния к снапшоту 6-летней давности, желание появилось, пусть и без нужного фидбэка, но все же. Призрак Misty Rain не успокоится даже в старых руинах, пока не завершит свою задачу.
Разместил: Misty Rain