Erlang’s Blogue http://blog.erlang.com.ru/ Сумрачный блог Кирилла Панфилова Shinobi Blog Engine Графический редактор... http://blog.erlang.com.ru/harmony-js-graphic-editor.rhtml <p>...написанный на JavaScript:</p> <p><a href="http://mrdoob.com/lab/javascript/harmony/" target="_blank">http://mrdoob.com/lab/javascript/harmony/</a></p> <p>Можно выбирать стиль и в конце сохранять произведение искусства.</p> Wed, 10 Mar 2010 13:01:46 Старые журналы http://blog.erlang.com.ru/post-2010-3-6.rhtml <p>Замечательный проект: <a href="http://journal-club.ru/" target="_blank">journal-club.ru</a> — тут можно скачать в PDF старые журналы (Весёлые картинки, Вокруг света, Горизонты техники для детей, За рулем, Здоровье, Крестьянка, Крокодил, Наука и жизнь, Огонек, Пионер, Работница, Ровесник, Рыбоводство и рыболовство, Советское фото, Трамвай, Юность, Юный техник и другие).</p> Wed, 10 Mar 2010 00:30:29 Албанский веб-дизайн http://blog.erlang.com.ru/albanian-web.rhtml <p>Я считаю, что все сайты нужно делать настолько же юзабельными и привлекательными, как <a href="http://www.cezarkurti.com/" target="_blank">Albanian World</a>.</p> <p>C другой стороны, ресурс очень полезный, лингвисту грех пройти мимо.</p> Tue, 9 Mar 2010 14:45:42 Финальный релиз Shinobi http://blog.erlang.com.ru/shinobi-released.rhtml <p>Сегодня, 7 марта 2010, была дописана финальная версия фреймворка <a href="http://www.shinobium.com/" target="_blank">Shinobi</a> с CMS и возможностями блога. Это версия 1.0.0.0 — почему такая сложная нумерация, напишу позже.</p> <p>Помимо тестов и багфиксинга, добавились:</p> <p>— URL для загрузки случайной страницы;</p> <p>— возможность загружать содержимое страницы вне основного шаблона (удобно для Ajax);</p> <p>— встроенная документация.</p> Sun, 7 Mar 2010 00:35:09 Продолжение «Нум-хета» http://blog.erlang.com.ru/num-xet-on.rhtml <p>Новые главы повести «Мост над рекой Нум-Хет» теперь будут публиковаться на другом сервере:</p> <p><a href="http://art.erlang.com.ru/num-xet.html" target="_blank">art.erlang.com.ru/num-xet.html</a>.</p> <p>Там уже опубликована <a href="http://art.erlang.com.ru/num-xet/13.html" target="_blank">13-я глава</a>.</p> Sat, 6 Mar 2010 02:47:28 Новости по Shinobi http://blog.erlang.com.ru/post-2010-3-2.rhtml <p>Выход в свет окончательного релиза блог-движка <a href="http://www.shinobium.com/" target="_blank">Shinobi</a> немного откладывается, потому что в нём добавилось много мелких и не очень мелких возможностей. Стоит просто перечислить их:</p> <p>— дополнен функционал меню: теперь в него можно помещать и внешние адреса, они будут самостоятельно открываться в новом окне и не будут обрабатываться по правилам движка;</p> <p>— с помощью одной текстовой метки в любое место вёрстки или даже просто текстовой страницы можно вставить последнюю запись из блога. Это удобно, если блог — не главная страница сайта. С помощью другой метки — три последние записи;</p> <p>— с помощью ещё одной метки (шорткода) — форму авторизации;</p> <p>— появились интерцепторы: теперь можно перехватить события на одном из десяти этапов обработки содержания и вёрстки и сделать с ними что-то ещё до вывода на экран или до последующей обработки;</p> <p>— исправление: теперь не нужно бояться, что вы напишете два одинаковых альтернативных адреса к записям блога. Если данный альтернативный адрес уже есть, то к указанному вами добавится случайное число во избежание повтора;</p> <p>— комментарии можно не только добавлять, редактировать, удалять или запрещать совсем. Теперь можно в любой момент закрыть дискуссию: существующие комментарии будут видны, но нового уже не добавишь;</p> <p>— особая функциональность для скачивания файлов: какое бы ни было расширение у файла, если поместить его в определённую папку и указать адрес определённого формата, то файл будет не открыт, а предложен для скачивания. Кроме того, в авторизованном состоянии можно скачивать все php-файлы из файлового менеджера;</p> <p>— исправления по работе с системными метками движка;</p> <p>— запрет передачи данных с другого хоста; вопросы безопасности (улучшенная обработка пользовательских данных);</p> <p>— в текстовом редакторе я отказался от самостоятельного увеличения высоты текстового поля: появились кнопки увеличения и уменьшения высоты — так гораздо удобнее;</p> <p>— в меню добавлена функциональность переключения языков в неавторизованном состоянии;</p> <p>— сообщения об отсутствующих страницах теперь можно опционально получать на ваш электронный адрес (на том языке, который выбран в системе);</p> <p>— если вы создадите собственную страницу ошибки, то она будет загружаться вместо системного сообщения. При этом страница может быть не только статической, но и динамической: большой простор для фантазии;</p> <p>— переписана языковая подсистема; благодаря этому движок работает ещё быстрее;</p> <p>— файл CSS в шаблоне указывается с суффиксом, основанным на дате последней модификации, в связи с чем можно не заботиться о кэшировании стилей;</p> <p>— улучшения в административном интерфейсе;</p> <p>— названия файлов страниц можно переименовывать;</p> <p>— файл robots.txt создаётся и редактируется самостоятельно;</p> <p>— улучшена файловая система.</p> <p>Весит ядерный файл 72 Кб.</p> Fri, 5 Mar 2010 12:21:58 Мост над рекой Нум-хет. Глава двенадцатая http://blog.erlang.com.ru/num-xet-12.rhtml <p><a href="/num-xet.rhtml">« оглавление</a></p> <br> <p>Наливая чай, Таус пролил кипяток на стол. Совсем немного, но мокрыми остались ручка чашки, скатерть и полотенце. Хорошо, что книжка лежала поодаль.</p> <p>Таус, стараясь не ругаться вслух, медленно сел за стол, повозил по прозрачной луже полотенцем и кинул его на место. Промахнулся, полотенце упало на пол и увлекло за собой две пачки с салфетками. (...)</p> Mon, 1 Mar 2010 01:44:05 Trails of Indochina http://blog.erlang.com.ru/indochina.rhtml <img src="http://blog.erlang.com.ru/storage/indochina.jpg"><br>Вьетнамская девушка-дизайнер Xu&#226;n Ph&#7845;n нарисовала очень красивый сайт про Индокитай: <a href="http://www.trailsofindochina.com/" target="_blank">www.trailsofindochina.com</a>. Особенно стоит обратить внимание на фотоальбом. Fri, 26 Feb 2010 14:10:20 FormSpring http://blog.erlang.com.ru/formspring.rhtml <p>Завёл себе анонимный опросник:</p> <p><a href="http://www.formspring.me/Debugger" target="_blank">www.formspring.me/Debugger</a></p> Wed, 24 Feb 2010 11:56:29 Соединение с базой данных на PHP http://blog.erlang.com.ru/db-connection-php.rhtml <p>Иногда удобно просто брать откуда-то код, который используешь постоянно, зная, что он точно корректен и не подведёт. Такая типичная для проекта вещь, как соединение с базой данных, требует чуть большего кода, чем две строчки.</p> <p>В конфигурационном файле или в начале скрипта пишем (понятное дело, внутри маркеров PHP):</p> <pre><code>$db_server = 'сервер баз данных (обычно localhost)'; $db_user = 'пользователь/администратор'; $db_password = 'пароль'; $db_name = 'имя базы';</code></pre> <p>Затем используем следующий код:</p> <pre><code>$connected = @mysql_connect($db_server, $db_user, $db_password); if($connected) { $select_db = mysql_select_db($db_name); if(!$select_db) die('No DB connection'); } else { die('No DB connection'); }</code></pre> <p>Смысл его в следующем: если нет соединения с базой данных, то дальнейшие сценарии не будут выполняться, а на экран будет выведено сообщение «No DB connection». Ошибки в браузер тоже не будут выводиться.</p> <p>Сценарий можно модифицировать, вместо сообщений о недоступности базы генерируя переменные с определёнными значениями; в дальнейшем эти переменные можно использовать в условных операторах. Дело в том, что оператор <code>die()</code> вообще закрывает обработку сценариев, и может получиться, что после сообщения об ошибке часть вёрстки страницы просто не загрузится. В случае же с использованием переменных можно гибко управлять кодом. Вот пример:</p> <pre><code>$isSetError = ''; // не должно быть 'ERR' $isSetDb = ''; // должно быть 'OK' $connected = @mysql_connect($db_server, $db_user, $db_password); if($connected) { $select_db = mysql_select_db($db_name); if(!$select_db) $isSetError = 'ERR'; else $isSetDb = 'OK'; } else { $isSetError = 'ERR'; }</code></pre> <p>Далее код можно использовать:</p> <pre><code>if($isSetError == 'ERR') { echo 'Всё плохо. База умерла.'; } else { // Выполняем код страницы; }</code></pre> Mon, 22 Feb 2010 12:00:42 Мои книги http://blog.erlang.com.ru/my-books.rhtml <img src="http://blog.erlang.com.ru/storage/book_otherside.jpg"><br>В 2008 году вышла моя книга о веб-дизайне и веб-разработке «<a href="http://www.ozon.ru/context/detail/id/3695049/" target="_blank">По ту сторону веб-страницы</a>» (она на фото авторства <a href="http://www.flickr.com/people/de_lafayette/" target="_blank">Lafayette</a>). В 2009 году вышло её переиздание под названием «<a href="http://www.ozon.ru/context/detail/id/4518103/" target="_blank">Создание веб-сайта от замысла до реализации</a>» — оба в московском издательстве «ДМК Пресс». В будущем я планирую выпустить книгу по вёрстке сайтов, книгу по растровой графике, учебник одного из любимых языков по своей методике и одну (или не одну) художественную книгу с красивыми иллюстрациями. Sat, 20 Feb 2010 23:21:27 &#23487;&#35377; http://blog.erlang.com.ru/yadomoto.rhtml <img src="http://blog.erlang.com.ru/storage/wheretolive.jpg"><br>Совсем не против бы жить тут. Sun, 14 Feb 2010 02:00:50