Home

Предыдущие 20

18 Июл, 2008

Умань

Простенькая менюшка для админки

Originally published at Блог FX'а. Please leave any comments there.

Не думаю, что кто-то реально заинтересуется, но всё-же. Написал я где-то полгодика назад менюшку в админке в одном проекте на Symfony. После этого менюшка эта перекочевала еще в несколько проектов, тоже в бэкэнды.

Вот так она выглядит:

Менюшка

А вот и её код:

#nav, #nav * {
  margin: 0;
  padding: 0;
}

#nav {
  overflow: hidden;
  background-color: #FFFFCC;
  border: 1px solid #73B65A;
  margin: 10px 0;
  zoom: 1;
}

#nav li {
  float: left;
  display: block;
}

#nav li a {
  padding: 2px;
  margin: 0 5px;
  display: block;
  height: 100%;
  color: #000000;
  text-decoration: none;
  border-top: 3px solid #FFFFCC;
  border-bottom: 3px solid #FFFFCC;
  float: left;
}

#nav li a:hover {
  border-bottom: 3px solid #73B65A;
}
<ul id="nav">
  <li><a href="...">Гостевая книга</a></li>
  <li><a href="...">Прайс</a></li>
  <li><a href="...">Login</a></li>
</ul>

Пример.

Авось кому-нибудь пригодится.

PS. Менюха на оригинальность и инновационность не претендует!

16 Июл, 2008

Умань

Идиотские вопросы

Originally published at Блог FX'а. Please leave any comments there.

Igorekk затеял очередную эстафету среди блоггеров! Лозунг таков:

“Напишите самый идиотский вопрос по программированию, заданный вами за всё время вашего существования на этой планете!”

или просто

“Write one of your stupid fucking questions!”

Может мой вопрос и не будет самым идиотским из тех, которые я задавал раньше (и о которых уже не помню), но именно он мне вспомнился сразу после прочтения поста Игоря.

Вопрос был задан моему бывшему шефу, Gansik’у, во время моего изучения ASP. Звучал он приблизительно так: “А как выводить переменные на экран? Или это невозможно?”. Я не помню, о чем думал, задавая этот вопрос (хотя, конечно, вряд ли о том - можно ли выводить переменные), но вопрос был задан именно так. Кстати, ответом на вопрос является метод Response.Write(variable).

Кто будет следующим?

21 Июн, 2008

Умань

Shootout: Ruby

Originally published at Блог FX'а. Please leave any comments there.

Думаю, все знакомы с сайтом, предоставляющим возможность сравнить реализации различных языков программирования по скорости и потреблению памяти - Computer Language
Benchmarks Game
.

Зашел я туда сегодня… Почему - уже не помню, и обнаружил такую вот картину, которая меня довольно сильно удивила:

Shootout: Ruby

Руби на последнем месте… Раньше всё вроде было немного по-другому. Радует, что 1.9.0 будет “немного” быстрее. :)

11 Июн, 2008

Умань

Ruby on Rails 2.1 - What’s new

Originally published at Блог FX'а. Please leave any comments there.

Нет, я не собираюсь перечислять нововведения в новой версии ROR, это уже сделали другие, а я лишь представлю вам их наработки. Встречаем очередную бесплатную книгу по рельсам - “Ruby on Rails 2.1 - What’s new”. В ней, как можно догадаться из названия, описываются (главные?) нововведения в последней версии фреймворка.

Почитать о книге и скачать её можно здесь.

PS. Сам книгу посмотрел… Могу сказать, что тем, кто рельсами не занимается, она будет довольно непонятной. Прочтите что-нибудь другое, например, Agile Development With Rails.

Умань

Symfony 1.1 RC 2 и всякие интересности

Originally published at Блог FX'а. Please leave any comments there.

Вышел второй релиз-кандидат Symfony 1.1. Улучшений немного, по сравнению с предыдущими бетами и rc, что, несомненно, радует - версия 1.1 становиться всё стабильнее и стабильнее - уже и релиз не за горами.

Тем временем Fabien (главный разработчик Symfony) разродился кучкой постов:

Умань

Поиск программного кода

Originally published at Блог FX'а. Please leave any comments there.

Сергей опубликовал замечательный пост про сервисы поиска программного кода. Если честно - я такие никогда в жизни не использовал, так что если начну - только благодаря этому посту.

Читаем.

3 Июн, 2008

Умань

jQuery 1.2.6 Release Notes

Originally published at Блог FX'а. Please leave any comments there.

После релиза jQuery 1.2.6 долгое время раздел Release Notes пустовал. Сегодня вот заметил, что его наконец заполнили.

Из улучшений:

  • Глобальное ускорение
    • работа с событиями ускорена более чем в два раза
    • селекторы ускорены на 13%
    • .offset() ускорен на 21%
    • работа с CSS (.css()) ускорена на четверть
  • Кое-что улучшено, кое-что добавлено, вроде в API ничего не изменено
Умань

Вышел jQuery UI 1.5 RC1

Originally published at Блог FX'а. Please leave any comments there.

Как сообщает нам наш официальный источник - вышел первый релиз-кандидат jQuery UI - набора виджетов и визуальных эффектов для известного в узких кругах JS-фреймворка jQuery.

Как утверждает источник, RC1 довольно стабилен, а точнее - это самая стабильная версия из тех, которые вообще выпускались. :) Так что - спешите обновляться.

Ах да, чуть не забыл - в некоторых местах поменялось API (в draggable и resizable модулях так точно поменялось), так что будьте всё же осторожны и предусмотрительны.

29 Май, 2008

Умань

Используем Google AJAX Libraries API

Originally published at Блог FX'а. Please leave any comments there.

Авось, кто-то еще не догадался… :)

Самый простой способ использования своих скриптов совместно с Google AJAX Libraries API:

google.load("jquery", "1");

google.setOnLoadCallback(function() {
  $('<script type="text/javascript" src="_url_вашего_скрипта_"></script>').appendTo('head');
  $('<script type="text/javascript" src="_url_вашего_другого_скрипта_"></script>').appendTo('head');
  // ...
});

Аналогичным образом подключаются, например, плагины для jQuery.

23 Май, 2008

Умань

Unobtrusive JavaScript

Originally published at Блог FX'а. Please leave any comments there.

Цель статьи - показать, что из себя представляет “ненавязчивый JavaScript”, для чего он нужен, и чем он лучше “навязчивого” JavaScript. В рунете я подобных статей не встречал (может они и есть, но мне на глаза не попадались и немного погуглив, я тоже ничего не нашел), а как показывает практика - очень многие не знают, что это такое и как этим пользоваться.

Что такое Unobtrusive JavaScript

Unobtrusive JavaScript - это техника программирования на языке JavaScript, которая состоит из следующих принципов:

  • разделения структуры (HTML) / оформления (CSS) и поведения (JavaScript)
  • использование JavaScript для повышения удобства использования уже рабочего приложения
  • применения техники Graceful degradation - если браузер не поддерживает те или иные функции, которые мы добавляем в приложение с помощью JavaScript - приложение всё равно остается рабочим

Зачем?

Это удобно, это практично, это легко реализуемо и это помогает Вам увеличить аудиторию вашего сайта за счет пользователей, пользующихся старыми браузерами, отключающими JavaScript, пользователей, которые пользуются интернетом с мобильных устройств.

Как?

Легче всего показать это на примере. За ним далеко идти не нужно - возьмем всеми любимый Хабрахабр:

<div class="text_comments"> 

  <div class="comment_item" style="margin-left: 0px;">

    <div class="service_text_comments_holder">
      <a href="http://fxposter.habrahabr.ru/" class="comments_nickname">fxposter</a>
      ...
    </div>

    <div class="comment_text">...</div>

    <div class="comments_reply">
      <div class="reply_word_holder" id="reply_link866650">(<a href="javascript:saw(866650);">ответить</a>)</div>

        <div style="display: none" id="reply866650">
        <!-- форма отправки комментария -->
      </div>

    </div>
  </div>
</div>

Это код комментариев, которые показываются на страничке о посте. Для наглядности ненужные фрагменты были убраны.

Что плохо в этом фрагменте кода?

  1. JavaScript идет вперемешку с HTML (<a href="javascript:saw(866650);">ответить</a>)
  2. У людей с отключенным JavaScript’ом ответить на комментарий не получится в принципе

Как его можно улучшить?

  1. Вынести “навешивание” событий в отдельный файл
  2. Сделать так, чтобы при отключенном JavaScript’е пользователь перебрасывался на отдельную страницу, где бы он мог ответить на выбранный комментарий

Сказано - сделано. Преобразуем HTML к следующему виду:

<div class="text_comments"> 

  <div class="comment_item" style="margin-left: 0px;">

    <div class="service_text_comments_holder">
      <a href="http://fxposter.habrahabr.ru/" class="comments_nickname">fxposter</a>
      ...
    </div>

    <div class="comment_text">...</div>

    <div class="comments_reply">
      <div class="reply_word_holder" id="reply_link866650">(<a href="reply.php?comment_id=866650" class="show_reply_form" id="show_reply_form_866650">ответить</a>)</div>

        <div style="display: none" id="reply866650">
        <!-- форма отправки комментария -->
      </div>

    </div>
  </div>
</div>

Как видите - я изменил тег <a> (присвоил ему “нормальный” href, добавил id и class). Теперь при нажатии на ссылку “ответить” пользователя будет перебрасывать на страницу ответа на выбранный вопрос. Этим я выполнил второй пункт в списке улучшений. Теперь давайте взглянем на первый пункт: для того, чтобы у пользователей, у которых включен JavaScript вместо редиректа выполнялось открытие формы под самим комментарием мне нужно выбрать все элементы с классом “show_reply_form” и каждому из них назначить на событие onclick функцию, которая бы “открывала” соответствующую форму.

Напишем соответствующую функцию:

function showForm(event) {
  var id = parseInt(this.id.replace('show_reply_form_', ''));
  saw(id);
  return false;
}

Она берет this.id (т.е. id текущего обьекта), убирает из него “фразу” “show_reply_form_“, тем самым получая номер элемента, который нам нужно открыть и вызывает функцию saw, которая присутствовала изначально в HTML-коде. Для того, чтобы не произошел редирект после клика на ссылку - функция возвращает false.

Осталось только связать эту функцию с нашими ссылками.

В jQuery это делается так:

$('.show_reply_form').click(showForm);

В PrototypeJS - так:

$$('.show_reply_form').each(function(element) {
  element.onclick = showForm;
});

После присвоения нашей функции элементу - this.id станет относится к id этого элемента (да, это “магия JavaScript” :) ).

Весь JavaScript-код теперь можно вынести в отдельный файл:

function showForm(event) {
  var id = parseInt(this.id.replace('show_reply_form_', ''));
  saw(id);
  return false;
}

window.onload = function(event) {
  $$('.show_reply_form').each(function(element) {
    element.onclick = showForm;
  });
}

Здесь мы вызываем “связывание” наших ссылок с функцией показа формы при событии window.onload (при загрузке страницы).

Таким образом я выполнил и первый пункт в списке улучшений.

Выводы

На мой взгляд, такое использование JavaScript, а именно - вынос всех функций на JS в отдельный файл и связывание этих функций с элементами страницы с помощью различных событий (здесь мы видели события window.onload и element.onclick) - это на данный момент - единственно правильное использование JavaScript.

Дерзайте, господа. :)

PS. Я прекрасно знаю, что можно использовать событие не window.onload, а DOMContentLoaded. Но я считаю, что для примера понятнее будет всё же использование window.onload.

18 Май, 2008

Умань

Wordpress Filters: баг в wptexturize

Originally published at Блог FX'а. Please leave any comments there.

Столкнулся с багом в WordPress’е при выводе постов, а точнее в “применении” к ним “типографики”:

wptexturize

Как видите, кавычки в некоторых словах расставлены абсолютно не так, как нужно. В поисках решения проблемы обнаружил следующее - в WordPress’е на каждый блок выходных данных, будь то заголовок, сам пост, его комментарии или что-либо еще, навешиваются фильтры, которые определенным образом изменяют блок - убирают теги, заменяют одни символы на другие и т. д.

В данном случае меня интересовал блок the_content (в данном случае понятие “блок” можно интерпретировать как “функция WP, которая возвращает некий контент”), который выводит содержимое поста. В файле wp-includes/default-filters.php можно увидеть, какие фильтры применяются к этому блоку:

add_filter('the_content', 'wptexturize');
add_filter('the_content', 'convert_smilies');
add_filter('the_content', 'convert_chars');
add_filter('the_content', 'wpautop');
add_filter('the_content', 'prepend_attachment');

Методом проб и ошибок было установлено, что найденный мной баг “создает” фильтр wptexturize (в WP “фильтр” - это функция, которая принимает 1 аргумент - входящий текст, и возвращает обработанный текст). Функция нашлась в файле wp-includes/formatting.php. Она выполняет “типографскую” работу, при этом пропуская всё, что находится между тегами pre, code, kbd, style и script. В теории… На практике - нихрена она не пропускает, если внутри одного из этих тегов будет какой-либо другой тег (что, в принципе, возможно, но встречается редко, а случай pre > code система хавает на ура), либо если внутри какого-нибудь из этих тегов встретится \[.*\] - вот такой кусок (у меня этим куском был ['comment_post_ID'], например). Почему так - не могу знать (мне вообще непонятно зачем наряду с тегами <.*> рассматривать еще и \[.*\]), но факт остается фактом. Улучшенная версия этого файла находится здесь (у меня WP 2.5.1, если что).

Умань

Конкурс для javascript-гуру!

Originally published at Блог FX'а. Please leave any comments there.

Никита организовал конкурс для JS-программистов. Задание довольно простое, у меня ушел примерно час на написание + рефакторинг. Главный приз - логотип для блога, так что если вы более-менее разбираетесь в JS - почему бы не выкроить часик и не поучаствовать?

Умань

Subscribe to Comments и OpenID в WordPress

Originally published at Блог FX'а. Please leave any comments there.

Совершенно случайно обнаружил, что у меня нифига не работает WP’шный плагин Subscribe to Comments, хотя раньше проблем с ним вроде не было. Проверка того “что не так” и исправление этого всего у меня заняла добрые два часа…

Сначала грешил на WP 2.5, несовместимость таблиц и прочее - нифига, в бд всё, что нужно есть, но вот только сам факт подписки на комментарий туда заноситься не хотел ну вообще никак. Debug показал, что обработчику subscribe’ов вместо данных, введенных в форму коммента приходит “пустота” - абсолютно пустой $_POST. Глянув в строку адреса - обнаружил там длиннющую строку со всякими не сильно понятными значениями. Что ж, смотрим $_GET…

После просмотра, стало понятно, в чем затык - виной всему был OpenID-плагин, который для аутентификации пользователя выполнял всякие редиректы на другие сайты, после чего поток управления возвращался обратно в WP, однако все POST-данные оказывались потерянными. Нужные, по мнению OpenID-плагина, данные передавались теперь через GET, но OpenID, к сожалению, ничего не знал о плагине Subscribe to Comments и никаких данных о том, подписался ли пользователь на текущий пост, не передавал.

Решить проблему получилось с двух подходов. В первом я пытался сделать так, чтобы проверки OpenID выполнялись после того, как добавится подписка. После некоторых раздумий и просмотра того, как реализовывается подписка, стало понятно, что из этого способа ничего не выйдет. Поэтому пришлось лезть в исходники OpenID-плагина и искать то место, где создаются данные, хранимые в “сессии OpenID-аутентификации” и которые передаются обратно на сайт.

Довольно быстро это место нашлось - функция comment_tagging в файле logic.php:

$this->start_login( $openid_url, '/wp-login.php', 'commentopenid',
  array(
    'wordpressid' => $comment['comment_post_ID'],
    ‘redirect_to’ => get_permalink( $comment['comment_post_ID'] ),
  )
);

Добавляем сюда нужные нам поля, а именно поле subscribe:

$this->start_login( $openid_url, '/wp-login.php', 'commentopenid',
  array(
    'wordpressid' => $comment['comment_post_ID'],
    ‘redirect_to’ => get_permalink( $comment['comment_post_ID'] ),
    ’subscribe’   => isset($_POST['subscribe']) ? $_POST['subscribe'] : null,
  )
);

После чего лезем в плагин Subscribe to Comments, находим функцию add_subscriber и меняем следующую строку:

if (($_POST['subscribe'] == ’subscribe’ && is_email($email)) || $previously_subscribed) {

На такую:

if (($_REQUEST['subscribe'] == ’subscribe’ && is_email($email)) || $previously_subscribed) {

После чего работоспособность подписки на комментарии восстановится.

PS. Так что, если вы задавали вопросы, подписались на комментарии и не получили ответа - зайдите на страничку поста - может быть я вам уже ответил. :)

6 Май, 2008

Умань

Интересности #1

Originally published at Блог FX'а. Please leave any comments there.

За последнее время набрел на несколько отличных блогов и статей, которыми бы хотелось с вами поделиться.

Начну, пожалуй с блога моего “знакомого” (он меня, наверное, в лицо и не помнит), с которым я познакомился на Exception #07, организатором которой он собственно и является - “Иван Пирог в режиме онлайн“. Он открыл его буквально несколько дней назад и пока что там находятся только несколько статей по “самомотивации”. Может эта тема и не особенно интересна как таковая, но блог почитать очень советую - по-моему пишет Ваня просто замечательно. Кстати, у Юры Артюха эта тема тоже недавно поднималась, сговорились что ли. :)

Следующим будет блог, на который я попал как раз таки из блога Вани - Мурк дотком. Автор пишет о разном. Статьи очень интересны, особенно мне понравились последние статьи об agile-методологиях программирования. Я о методологиях в принципе никогда ничего не читал, но после этих двух статей я очень заинтересовался этой темой. Да и вообще - всегда приятно почитать умного человека.

Третьей, и последней “интересностью” будет не блог, а статья, ссылку на которую я почерпнул у Алёны Сагалаевой - статья называется “Редкая профессия” и повествует о разработке компилятора C++, которую проводила наша, отечественная комманда разработчиков в составе всего двух человек. Рекомендую. Настоятельно рекомендую!

UPDATE: Да, кстати, совсем забыл - теперь я регулярно заношу всякие интересные статьи себе в del.icio.us. Можете подписываться.

Умань

Проект на Symfony

Originally published at Блог FX'а. Please leave any comments there.

В последнее время очень хочется написать что-нибудь на Symfony - для себя, для других, что-то открытое и интересное - наподобии материала о создании askeet’а, который я, к сожалению, до конца дочитать еще не успел (но я близок к завершению!), и чтение которого приносит мне реальное удовольствие.

Причем хочется сделать что-то подобное не только потому, что я “хочу показать, что symfony - это круто”, “хочу показать, что я крутой программист” - нет, скорее даже наоборот. Текущий мой проект на работе сейчас усиленно мной допиливается до состояния, в котором его хоть как-то можно будет показать людям, но внутренний код проекта сейчас пребывает, как мне кажется, в плачевном состоянии - кардинально его рефакторить времени и (если уж честно) опыта нет, а тот код, который сейчас там есть мне кажется абсолютно неоптимальным (и некрасивым). У меня в последнее время стало появляться сильное ощущение того, что у меня просто не хватает опыта для того, чтобы реально расставить в рабочем проекте все по полочкам, а помогать мне в этом никто не будет, к сожалению. Поэтому я и хочу сделать какой-нибудь небольшой, несложный (по крайней мере, для начала) проект, смотря на разработку которого, вы, мои читатели, показывали бы мне на что мне стоит обратить внимание, что получается вообще плохо, какие части следует полностью пересмотреть. Я знаю, среди вам есть люди, имеющие гораздо больше опыта в разработке веб-приложений, чем я.

Сейчас для меня самый главный вопрос - что именно делать. Есть варианты:

  • Блог - нужен, скорее всего, будет только мне, да и… сколько людей уже строило свои блоги… я, конечно, могу быть одним из них, но… в общем, если других вариантов не будет - возьмусь за блог
  • Простенькую социальную сеть. Даже не знаю, на какую тему, и что там вообще должно быть…
  • Может, что-нибудь еще… Хочу адекватные по сложности (и по времени разработки!) варианты услышать от вас. Что бы вы хотели, или что бы мне, на ваш взгляд, могло бы быть наиболее полезно.
Умань

JQuery Dialogs == nyroModal

Originally published at Блог FX'а. Please leave any comments there.

Давно ничего не писал - как-то не о чем… Праздники, работа, учеба… Единственное, что реально интересно из этого списка - это работа, но… к сожалению, как раз она и “способствует” отсутствию статей в этом блоге - её много и на блог времени просто не остается… А написать, к счастью, есть о чем. :)

Сегодня речь пойдет о так называемых dialog widget’ах (периодически, слышу, что их также называют js-popup’ами). Недавно понадобилось реализовать такой функционал в моём “рабочем” проекте и стал вопрос об использовании существующих решений.

В проекте я использую jQuery и, соответственно, выбирал системку, которая базировалась бы на нем. Всё началось с Thickbox’а, который я довольно долгое время и использовал, но… Кое-что мне в нем не нравилось изначально:

  • Минимум настроек
  • Отличие от большинства плагинов jQuery
  • Отсутствие развития (последняя версия вышла в августе 2007-го года и зависела еще от jQuery 1.1x, хотя и с 1.2 тоже работала нормально)

… в итоге эти недостатки привели ко вполне логичному концу - я не мог реализовать 2 разных “диалога” на одной странице не “вторгаясь” в сам код Thickbox’а, причем застрял на мелочи - удиалогов должны были различаться бэкграунды - у одного он должен был быть полностью залит определенным цветом, а второй должен был быть полупрозрачным. Причем в первом случае сделать фон непрозрачным мне пришлось через CSS, хотя гораздо логичнее было бы предоставить эту возможность самой функции создания диалога.

В общем, после недолгих поисков на свет был извлечен молодой, но очень быстро развивающийся
проект “окошек” на jQuery, о котором я сегодня и хочу рассказать - это nyroModal. Проекту еще нет и месяца, но основная функциональность там уже реализована (а как по мне - так больше и не нужно), и что самое главное - им очень удобно пользоваться.

Подробное описание (а также демонтрацию возможностей nyroModal) можно посмотреть на странице самого проекта, а я здесь приведу лишь несколько примеров использования.

Самый простой способ, при котором даже не нужно лезть в JavaScript - это присвоение ссылкам класса nyroModal:

<a href="demo.html" class="nyroModal">Ajax</a>

Эта ссылка откроет вам файл demo.html в “окошке”.

<a href="demo.html#demo" class="nyroModal">Ajax</a>

Эта - сделает почти то же самое, только в окошке будет только инфа из блока с id == “test” из файла demo.html.

<a href="#demo" class="nyroModal">No Ajax!</a>

А здесь у нас в окно попадет содержимое блока с id == “test” из текущей страницы.

Если же нужны какие-то дополнительные параметры (значения или callback-функции), то здесь уже без “ручного” JavaScript’а не обойтись:

<a href="#demo" id="no-ajax">No Ajax!</a>
<script type="text/javascript">
$('#no-ajax').nyroModal({
  bgColor: '#FFFFFF',
  showBackground: function(elts, settings, callback) {
    // elts.bg.css({opacity:0}).fadeTo(500, 0.75, callback);
    callback();
  },
  hideBackground: function(elts, settings, callback) {
    // elts.bg.fadeOut(300, callback);
    callback();
  }
})
</script>

Таким образом мы заменим цвет фона на белый + уберем прозрачность и анимацию при появлении/исчезновении фона.

На этом, наверное, будем прощаться. Если остались вопросы - обращайтесь. :)

20 Апр, 2008

Умань

Формы как обьекты, Zend_Form, MVC, Validation и многое другое

Originally published at Блог FX'а. Please leave any comments there.

Сегодня мы с Мишей разговорились в ICQ. Разговор получился ОЧЕНЬ длинный и офигительно интересный. Читаем под катом:

Read the rest of this entry »

19 Апр, 2008

Умань

PHP CMS: Joomla, Drupal, etc…

Originally published at Блог FX'а. Please leave any comments there.

Никогда не использовал CMS’ки при разработке сайтов. И не смотрел на них никогда. Всегда пользовался фреймворками, библиотеками, либо сам всё писал (да, был маленький, глупый). Сейчас вот стал задумываться над этим фактом. Посему назрел вопрос, который я хочу задать своим читателям - стоит ли изучать какую-либо CMS на PHP (на данный момент, я бы выбрал, скорее всего, Drupal) или “ну это всё нафиг”?  Если бы у меня была куча времени - вопрос бы не стоял, а так - стоит ли оно того?

PS. Одна из причин, по которой хочется посмотреть на Drupal - мне интересно, как такой очень некрасивый, на мой взгляд, код можно поддерживать, развивать и т.д. :)

Умань

РИТ 2008

Originally published at Блог FX'а. Please leave any comments there.

Прошла выставка… Никто практически ничего про неё не написал, по крайней мере из тех, кого я читаю сейчас - написал только Юра Артюх. Больше никаких отчетов я не видел, хотя может и пропустил что-то. Надеюсь, кстати, на следующей неделе пересечься всё-таки с человеком, который там был, послушать впечатления.

Пока же - вот здесь выложены видеозаписи выступлений с конференции (не все, но посмотреть есть на что). Выступления, как по мне, очень интересные. Особенно (естественно!) хочется отметить выступление о моей любимой Symfony.

PS. Что-то не везет мне с ноутами. Заказал у знакомых HP Compaq 6720s. Обещали привезти сегодня до 12-ти из Киева. Приезжаю в час в магазин - “машина Автолюкса (служба доставки) сломалась по дороге, ноута пока нет”. 

11 Апр, 2008

Умань

Digg и фукциональные (и полуфункциональные) языки программирования

Originally published at Блог FX'а. Please leave any comments there.

lrrr анонсировал открытия очередного digg-клона, в этот раз посвященного, как можно прочесть выше функциональным (и не только) языкам программирования:

Тем временем мы с Сёмкой организовали тут недодигг для программистов, утилизировав под это его давно пустовавший домен defun.ru

Основная тема — новости и ссылки о функциональном программировании, разных альтернативных и перспективных языках, ну и про computer science вообще. Ключевые слова — хаскель, erlang, lisp, smalltalk, ocaml. Ruby, groovy и питон туда тоже отлично впишутся.Сервис находится в состоянии лямбда-тестирования ©, так что некоторое время все еще будет несколько глючить и тормозить, так что баг репортам мы будем рады -> пишите на lrrr@defun.ru или semka@defun.ru.

Там за-defun-ено уже довольно много ссылок, так что не медлим, а идем на сайт и читаем, читаем, читаем!

PS. На данный момент сайт несколько… эммм… лежит. Видать, много пользователей привлекли. :) 

Предыдущие 20