<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0UGRXw7fSp7ImA9WhVUFUU.&quot;"><id>tag:blogger.com,1999:blog-37345659</id><updated>2012-05-21T10:20:24.205+04:00</updated><category term="linux" /><category term="sfWidget" /><category term="android" /><category term="gedit" /><category term="java" /><category term="git" /><category term="php" /><category term="Mysql" /><category term="intent" /><category term="layout" /><category term="ssh" /><category term="sfFilter" /><category term="symfony" /><category term="Propel" /><category term="ubuntu" /><category term="algorithm" /><category term="konwert" /><category term="Oracle" /><category term="ntp" /><category term="samsung" /><category term="toast" /><category term="sed" /><category term="sqplus" /><category term="gnome" /><title>Заметки разработчика</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://broderix.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/web-development-notes" /><feedburner:info uri="web-development-notes" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEMGR3o6fCp7ImA9WhRbFk8.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-3912518767209908519</id><published>2012-02-07T15:18:00.001+04:00</published><updated>2012-02-07T17:47:06.414+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T17:47:06.414+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Ошибки Eclipse и Android SDK</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Я разрабатываю под ubuntu (на момент публикации 11.04).&lt;br /&gt;
Eclipse SDK&amp;nbsp;Version: 3.7.1&amp;nbsp;Build id: M20110909-1335&lt;br /&gt;
&lt;pre&gt;$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)
&lt;/pre&gt;&lt;br /&gt;
При очередном старте проекта наткнулся на ошибку&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;parsesdkcontent failed android&lt;/blockquote&gt;&lt;br /&gt;
проекты собирались, т.к. sdk не был загружен. Я попытался переустановить все с начала - не помогло. Попробовал обновить sdk через файл ./sdk/tools/android (Android SDK Manager), стали появляться следующие ошибки:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-1.xml, reason: Failure initializing default SSL context&lt;/blockquote&gt;но файл по адресу открывается. Покопавшись в интернетах обнаружил вот это &lt;a href="http://stackoverflow.com/questions/8910359/failed-to-fetch-url-http-dl-ssl-google-com-android-repository-addons-list-1-xm" target="_blank"&gt;обсуждение&lt;/a&gt;.&lt;br /&gt;
Там сказано, что следует удалить gcj, позже я вспомнил, что недавно устанавливал этот пакет.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;sudo apt-get remove gcj-*&lt;/blockquote&gt;Далее при попытке сборки в консоли эклипса появляется следующее&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead. Please use Android Tools &amp;gt; Fix Project Properties.&lt;/blockquote&gt;Должно лечиться &lt;a href="http://kyleclegg.com/android-requires-compiler-compliance-level-5-0/" target="_blank"&gt;этими&lt;/a&gt; инструкциями, а именно Project properties -&amp;gt; Android Tools -&amp;gt; Fix Project Properties&lt;br /&gt;
Мне не помогло. Я попробовал перейти на openjdk.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;sudo apt-get remove sun-java6-*&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;ubuntu сразу предложил поставить пакеты на замену&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;ca-certificates-java default-jre default-jre-headless icedtea-6-jre-cacao icedtea-6-jre-jamvm icedtea-netx libaccess-bridge-java libaccess-bridge-java-jni openjdk-6-jre openjdk-6-jre-headless&amp;nbsp;openjdk-6-jre-lib tzdata-java&lt;/pre&gt;&lt;br /&gt;
добавил путь /usr/lib/jvm/java-6-openjdk/jre/bin/ в bash_profile чтобы запускался eclipse&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ vim ~/.bash_profile
PATH=$PATH:/usr/lib/jvm/java-6-openjdk/jre/bin
export PATH&lt;/pre&gt;&lt;br /&gt;
После этого все заработало, ура.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-3912518767209908519?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ka873iPsJvllHiWzP-PkImS9wb4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ka873iPsJvllHiWzP-PkImS9wb4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ka873iPsJvllHiWzP-PkImS9wb4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ka873iPsJvllHiWzP-PkImS9wb4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/3912518767209908519/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=3912518767209908519" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3912518767209908519?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3912518767209908519?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/BVrNmXddf1w/eclipse-android-sdk.html" title="Ошибки Eclipse и Android SDK" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2012/02/eclipse-android-sdk.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUENRXw7fSp7ImA9WhRUFEQ.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-8686841722591876081</id><published>2012-01-25T17:21:00.001+04:00</published><updated>2012-01-25T17:21:34.205+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-25T17:21:34.205+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="algorithm" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Простой алгоритм случайной выборки с учетом веса</title><content type="html">Часто необходимо обращаться к одной и той же задаче:&lt;br /&gt;
&lt;b&gt;"случайная выборка с учетом веса"&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы не забыть вот кратное описание взятое &lt;a href="http://blog.dotzero.ru/post/4337902522/weighted-random-simple"&gt;отсюда&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Простой алгоритм случайной выборки с учетом веса&lt;/h2&gt;&lt;br /&gt;
В общем виде этот алгоритм можно описать так:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Выбрать случайное число между еденицей и суммой “весов” всех элементов&lt;br /&gt;
&lt;li&gt;Спускаться по списку элементов добавляя к счетчику вес текущего элемента&lt;/dd&gt;&lt;br /&gt;
&lt;li&gt;Проверить, если счетчик (шаг №2) больше или равен случайному числу (шаг №1), то закончить&lt;br /&gt;
&lt;li&gt;цикл и вернуть текущий элемент. В противном случае перейдите к шагу №2.&lt;br /&gt;
&lt;/ol&gt;&lt;pre class="prettyprint"&gt;/**
 * Выборка случайного элемента с учетом веса
 *
 * @param array $values индексный массив элементов
 * @param array $weights индексный массив соответствующих весов
 * @return mixed выбранный элемент
 */
function weighted_random_simple ( $values, $weights )
{
    $total = array_sum( $weights );
    $n = 0;
 
    $num = mt_rand( 1, $total );
 
    foreach ( $values as $i =&gt; $value )
    {
        $n += $weights[$i];
 
        if ( $n &gt;= $num )
        {
            return $values[$i];
        }
    }
}

$values = array('A', 'B', 'C');
$weights = array(3, 7, 10);
echo weighted_random_simple($values, $weights);
&lt;/pre&gt;&lt;h2&gt;Алгоритм случайной выборки из тысяч элементов&lt;/h2&gt;Алгоритм может быть расширен, чтобы сделать его значительно быстрее. Вместо вычисления общего веса (шаг №1) и счетчика (шаг №2) каждый раз, можно сделать это один раз и сохранить значения счетчиков в массиве. Тогда мы сможем использовать бинарный поиск, чтобы быстро выбрать правильный элемент. Ниже приведен модифицированный вариант скрипта:  &lt;pre class="prettyprint"&gt;/**
 * Случайно выбирает один из элементов на основе их веса. 
 * Оптимизирован для большого числа элементов.
 *
 * @param array $values индексный массив элементов
 * @param array $weights индексный массив соответствующих весов
 * @param array $lookup отсортированный массив для поиска
 * @param int $total_weight сумма всех весов
 * @return mixed выбранный элемент
 */
function weighted_random($values, $weights, $lookup = null, $total_weight = null)
{
    if ($lookup == null OR $total_weight == null) 
    {
        list($lookup, $total_weight) = calc_lookups($values, $weights);
    }
 
    $r = mt_rand(1, $total_weight);
         
    return $values[binary_search($r, $lookup)];
}
 
/**
 * Создание массива используемого в бинарном поиске
 *
 * @param array $values 
 * @param array $weights
 * @return array
 */
function calc_lookups($values, $weights)
{
    $lookup = array();
    $total_weight = 0;
         
    for ($i=0; $i &lt; count($weights); $i++)
    {
        $total_weight += $weights[$i];
        $lookup[$i] = $total_weight;
    }
     
    return array($lookup, $total_weight);
}
 
/**
 * Ищет в массиве элемент по номеру и возвращает элемент если он найден.
 * В противном случае возвращает позицию, где он должен быть вставлен, 
 * или count($haystack)-1, если $needle больше чем любой элемент в массиве.
 *
 * @param int $needle
 * @param array $haystack
 * @return int
 */
function binary_search($needle, $haystack)
{
    $high = count($haystack) - 1;
    $low = 0;
 
    while ( $low &lt; $high )
    {
        $probe = (int)(($high + $low) / 2);
 
        if ($haystack[$probe] &lt; $needle)
        {
            $low = $probe + 1;
        } 
        elseif ($haystack[$probe] &gt; $needle) 
        {
            $high = $probe - 1;
        } 
        else
        {
            return $probe;
        }
    }
 
    if ( $low != $high )
    {
        return $probe;
    } 
    else
    {
        return ($haystack[$low] &gt;= $needle) ? $low : $low + 1;
    }
}

// Рассчет массивов (1 раз)
list($lookup, $total_weight) = calc_lookups($values, $weights);
//....
// Каждый раз когда вам необходимо выбрать случайный элемент:
$val = weighted_random($values, $weights, $lookup, $total_weight);
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-8686841722591876081?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YtFsoLKZsvv9H139RB_-fkZsidE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YtFsoLKZsvv9H139RB_-fkZsidE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YtFsoLKZsvv9H139RB_-fkZsidE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YtFsoLKZsvv9H139RB_-fkZsidE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/8686841722591876081/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=8686841722591876081" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/8686841722591876081?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/8686841722591876081?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/Ujf008y4WZM/blog-post.html" title="Простой алгоритм случайной выборки с учетом веса" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://broderix.blogspot.com/2012/01/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUFQH87fSp7ImA9WhRTEk8.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-6348349629507162866</id><published>2011-10-31T13:45:00.002+04:00</published><updated>2011-11-02T12:56:51.105+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-02T12:56:51.105+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="git" /><title>Основы работы с git</title><content type="html">Основной и полноценный документ &lt;a href="http://githowto.com/"&gt;http://githowto.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
забрать код&lt;br /&gt;
git clone git@github.com:companyname/projectname.git&lt;br /&gt;
&lt;br /&gt;
если&lt;br /&gt;
&lt;blockquote&gt;Cloning into mambaandroid...&lt;br /&gt;
Permission denied (publickey).&lt;br /&gt;
fatal: The remote end hung up unexpectedly&lt;/blockquote&gt;то &lt;br /&gt;
ssh-keygen -t rsa -C "your_email@youremail.com"&lt;br /&gt;
cat ~/.ssh/id_rsa.pub &lt;br /&gt;
и скопировать его в настройки своего аккаунта на гитхабе&lt;br /&gt;
&lt;br /&gt;
тест коннекта&lt;br /&gt;
ssh -T git@github.com&lt;br /&gt;
&lt;br /&gt;
иногда надо добавить идентит&lt;br /&gt;
ssh-add ~/.ssh/id_rsa&lt;br /&gt;
&lt;br /&gt;
список бранчей&lt;br /&gt;
git branch -a&lt;br /&gt;
&lt;br /&gt;
переключиться в бранч&lt;br /&gt;
git checkout version-0.8&lt;br /&gt;
&lt;br /&gt;
если вставить этот код в конец своего .bashrc&lt;br /&gt;
PS1="\[\033[38m\]\u@\h\[\033[01;34m\] \w \[\033[31m\]\`ruby -e \"print (%x{git branch 2&gt; /dev/null}.grep(/^\*/).first || '').gsub(/^\* (.+)$/, '(\1) ')\"\`\[\033[35m\]$\[\033[00m\] "&lt;br /&gt;
&lt;br /&gt;
то будет подсвечиваться текущий бранч прямо в консоли&lt;br /&gt;
&lt;br /&gt;
забрать все новое с удаленного репа и попытаться авто-смерджить с текущим состоянием&lt;br /&gt;
git pull origin version-0.8&lt;br /&gt;
&lt;br /&gt;
добавить все данные в локальной копии и зафиксировать&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m 'desc' &lt;br /&gt;
или&lt;br /&gt;
git commit -a -m 'desc' &lt;br /&gt;
&lt;br /&gt;
пушнуть в удаленный реп&lt;br /&gt;
git push origin version-0.8&lt;br /&gt;
&lt;br /&gt;
отменить локальные изменения (svn revert)&lt;br /&gt;
сбросить все&lt;br /&gt;
git reset --hard HEAD&lt;br /&gt;
&lt;br /&gt;
только определенный файл&lt;br /&gt;
git checkout -- hello.rb&lt;br /&gt;
git checkout HEAD hello.rb&lt;br /&gt;
&lt;br /&gt;
ревертнуть последний коммит&lt;br /&gt;
git revert HEAD&lt;br /&gt;
&lt;br /&gt;
еще примеры &lt;a href="http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html"&gt;здесь&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
смерджить код из обного бранча в другой&lt;br /&gt;
git checkout version-0.9&lt;br /&gt;
git pull origin version-0.9&lt;br /&gt;
git merge version-0.8&lt;br /&gt;
git log&lt;br /&gt;
git push origin version-0.9&lt;br /&gt;
&lt;br /&gt;
смерджить код в мастер и навесить таг&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge version-0.8&lt;br /&gt;
git tag -a version-0.8.1-release -m "0.8.1 фикс-версия"&lt;br /&gt;
git push --tags origin master&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-6348349629507162866?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wcFFSmPGuXKFKZp6uhpcmcCGhLk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wcFFSmPGuXKFKZp6uhpcmcCGhLk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wcFFSmPGuXKFKZp6uhpcmcCGhLk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wcFFSmPGuXKFKZp6uhpcmcCGhLk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/6348349629507162866/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=6348349629507162866" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/6348349629507162866?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/6348349629507162866?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/oqxcmBftiQE/git.html" title="Основы работы с git" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2011/10/git.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04AR3o4cCp7ImA9WhZTFEg.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-5993843242355425347</id><published>2011-02-10T16:31:00.013+03:00</published><updated>2011-03-18T16:45:46.438+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-18T16:45:46.438+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Как на самом деле работает присваивание и передача по ссылке объектов в php5</title><content type="html">Как-то давно, когда только появился php5, я думал, что разобрался с ООП, а именно с присвоением  объектов. Но из-за того, что много времени проводил с java стал под забывать как это работает в php5.&lt;br /&gt;
В штатном режиме, если всегда помнить о том, что в php5 присваивание происходит по ссылке, то нет никаких проблем, пока не используешь знак &amp;.&lt;br /&gt;
http://www.php.net/manual/en/language.oop5.basic.php&lt;br /&gt;
&lt;pre class="brush: php"&gt;&amp;lt;?php
class SimpleClass{}
class SimpleClass
{
    // property declaration
    public $var = 'a default value';

    // method declaration
    public function displayVar() {
        echo $this-&amp;gt;var;
    }
}
?&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
Но подлинный смысл раскрывается этим комментарием:&lt;br /&gt;
&lt;a href="http://www.php.net/manual/en/language.oop5.basic.php#79856"&gt;http://www.php.net/manual/en/language.oop5.basic.php#79856&lt;/a&gt;&lt;br /&gt;
Я позволил себе его вольно перевести:&lt;br /&gt;
В php необходимо думать о переменных как о ячейках памяти. У каждой переменной если имя, которое ссылается на ячейку памяти(переменную), где хранится значение простого типа: число, строка, массив, и т.д. Когда вы создаете ссылку(&amp;), вы создаете второе имя, которое ссылается на ту же саму ячейку памяти. Когда вы присваиваете одну переменную другой, вы копируете содержимое  ячейки памяти в другую ячейку памяти.&lt;br /&gt;
Но присваивание экземпляров классов(далее объект) происходит не так как присваивание простых типов. Объекты не хранятся в ячейках памяти, которые программист "видит" на прямую. Вместо этого в ячейке памяти хранится указатель на объект. Таким образом указатель ведет себя как примитивный тип.&lt;br /&gt;
Когда вы присваиваете значение ссылки объекта одной переменной другой, обе переменные могут менять состояние одного и того же объекта. Но переменные не являются ссылками на объект, т.к. если присвоить одной из переменных новое значение, то это не отразится на другой переменной.&lt;br /&gt;
&lt;pre class="brush: c"&gt;&amp;lt;?php
// Assignment of an object
Class Object{
   public $foo="bar";
};

$objectVar = new Object();
$reference =&amp; $objectVar;
$assignment = $objectVar

//
// $objectVar ---&amp;gt;+-----------+
//                |(указатель1)----+
// $reference ---&amp;gt;+-----------+    |
//                                 |
//                +-----------+    |
// $assignment --&amp;gt;|(указатель2)----+
//                +-----------+    |
//                                 |
//                                 v
//                  Object(1):foo="bar"
//
?&amp;gt;
&lt;/pre&gt;Значение переменной $assignment отличается от $objectVar, но эти значение ссылаются на один и тот же объект. Это поведение делает похожим на механизм передачи по ссылке. Если вы используете переменную $objectVar, чтобы поменять состояние объекта, то эти же изменения появятся и в переменной $assignment, т.к. они указывают на один и тот же объект.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="autoinclude"&gt;&amp;lt;?php
$objectVar-&amp;gt;foo = "qux";
print_r( $objectVar );
print_r( $reference );
print_r( $assignment );

//
// $objectVar ---&amp;gt;+-----------+
//                |(указатель1)----+
// $reference ---&amp;gt;+-----------+    |
//                                 |
//                +-----------+    |
// $assignment --&amp;gt;|(указатель2)----+
//                +-----------+    |
//                                 |
//                                 v
//                  Object(1):foo="qux"
//
?&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
Но с передачей значения по ссылке (&amp;) дело обстоит совсем иначе. Если вы обнулите $objectVar, вы замените значение указателя в ячейке памяти на NULL. Это означает, что $reference, которая ссылается на туже ячейку памяти, также будет NULL. Но $assignment, которая ссылается на другую ячейку памяти, будет так же хранить копию указателя на объект, и она не будет равна NULL.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="prettyprint"&gt;&amp;lt;?php
$objectVar = null;
print_r($objectVar);
print_r($reference);
print_r($assignment);

//
// $objectVar ---&amp;gt;+-----------+
//                |  NULL     | 
// $reference ---&amp;gt;+-----------+
//                           
//                +-----------+
// $assignment --&amp;gt;|(указатель2)----+
//                +-----------+    |
//                                 |
//                                 v
//                  Object(1):foo="qux"
?&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
К примеру, если взять java, где все переменные если ссылки на объекты, тот же пример выполняется так как и в php5 без символа &amp;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;import java.util.*;

class ObjectReference {
    public static void main(String[] args) {
        class Obj {
            int var = 1;
        }
        
        Obj objectVar = new Obj();
        Obj reference = objectVar;
        objectVar.var = 2;
        System.out.println("objectVar.var="+objectVar.var);
        System.out.println("reference.var="+reference.var);
        
        objectVar = null;
        
        if (reference == null) {
            System.out.println("reference is null");
        } else {
            System.out.println("reference is not null");
        }
    }
}
&lt;/pre&gt;ответ:&lt;br /&gt;
&lt;pre&gt;objectVar.var=2
reference.var=2
reference is not null
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-5993843242355425347?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/svIniGIHbkEyTiUil5R4bAZ6ey8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/svIniGIHbkEyTiUil5R4bAZ6ey8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/svIniGIHbkEyTiUil5R4bAZ6ey8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/svIniGIHbkEyTiUil5R4bAZ6ey8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/5993843242355425347/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=5993843242355425347" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5993843242355425347?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5993843242355425347?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/eLXTQYZfeqg/php5.html" title="Как на самом деле работает присваивание и передача по ссылке объектов в php5" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2011/02/php5.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMBSHc4eSp7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-3660142157116058515</id><published>2011-01-20T19:47:00.000+03:00</published><updated>2012-02-07T13:54:19.931+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:54:19.931+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Программа для сбора логов в клиентов</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Очень полезно, когда у клиента что то не работает и ты не знаешь чем помочь&lt;br /&gt;&lt;a href="http://code.google.com/p/android-log-collector/"&gt;http://code.google.com/p/android-log-collector/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-3660142157116058515?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uvOZX6cAIrwB7muegJxNp1Lw51M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uvOZX6cAIrwB7muegJxNp1Lw51M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uvOZX6cAIrwB7muegJxNp1Lw51M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uvOZX6cAIrwB7muegJxNp1Lw51M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/3660142157116058515/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=3660142157116058515" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3660142157116058515?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3660142157116058515?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/LamYWTzkSvw/blog-post.html" title="Программа для сбора логов в клиентов" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2011/01/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMBSHc4eSp7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-2526166235835380051</id><published>2011-01-20T18:36:00.000+03:00</published><updated>2012-02-07T13:54:19.931+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:54:19.931+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Как сбросить logcat в файл</title><content type="html">&lt;code&gt;&lt;br /&gt;try {&lt;br /&gt;    File filename = new File(Environment.getExternalStorageDirectory()+"/logfile.log"); &lt;br /&gt;    filename.createNewFile(); &lt;br /&gt;    String cmd = "logcat -d -f "+filename.getAbsolutePath();&lt;br /&gt;    Runtime.getRuntime().exec(cmd);&lt;br /&gt;} catch (IOException e) {&lt;br /&gt;    // TODO Auto-generated catch block&lt;br /&gt;    e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-2526166235835380051?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vJB1GdJOvGnvjkdx-Wby5IRiBpc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vJB1GdJOvGnvjkdx-Wby5IRiBpc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vJB1GdJOvGnvjkdx-Wby5IRiBpc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vJB1GdJOvGnvjkdx-Wby5IRiBpc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/2526166235835380051/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=2526166235835380051" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/2526166235835380051?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/2526166235835380051?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/Z5iCXTiwvek/logcat.html" title="Как сбросить logcat в файл" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2011/01/logcat.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcEQX46eCp7ImA9Wx9QEUQ.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-8053165341646721356</id><published>2010-12-24T16:23:00.002+03:00</published><updated>2010-12-24T16:23:20.010+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-24T16:23:20.010+03:00</app:edited><title>А как умеет ваш язык это делать?</title><content type="html">Результат будет одинаковый:&lt;br /&gt;
about_logo&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;python -c 'import re;s="http://www.google.ru/intl/ru/images/about_logo.gif"; m = re.match(".*\/(.*)\.gif$",s); print m.group(1)'
&lt;/pre&gt;&lt;pre&gt;perl -e '$e="http://www.google.ru/intl/ru/images/about_logo.gif"; $e =~ /.*\/(.*)\.gif$/i; print $1."\n";'
&lt;/pre&gt;&lt;pre&gt;php -r '$e="http://www.google.ru/intl/ru/images/about_logo.gif"; $pat = "/.*\/(.*)\.gif$/"; preg_match($pat,$e,$m);print $m[1]."\n";'
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-8053165341646721356?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EBRTWrEELyaEWWyIEyodlmv1jDE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EBRTWrEELyaEWWyIEyodlmv1jDE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EBRTWrEELyaEWWyIEyodlmv1jDE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EBRTWrEELyaEWWyIEyodlmv1jDE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/8053165341646721356/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=8053165341646721356" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/8053165341646721356?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/8053165341646721356?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/dyjgyuLYXpg/blog-post.html" title="А как умеет ваш язык это делать?" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/12/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMBSHc4eip7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-7098617343742321662</id><published>2010-12-07T16:09:00.000+03:00</published><updated>2012-02-07T13:54:19.932+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:54:19.932+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Android SDK 2.3 - "Unknown Android Packaging Problem"</title><content type="html">После обновления SDK согласно документам&lt;br /&gt;http://developer.android.com/intl/zh-TW/sdk/adding-components.html&lt;br /&gt;http://developer.android.com/intl/zh-TW/sdk/installing.html&lt;br /&gt;http://developer.android.com/intl/zh-TW/sdk/eclipse-adt.html&lt;br /&gt;&lt;br /&gt;перестала работать отладка adb&lt;br /&gt;Эта программа переехала в другую папку, нужно обновить .bashrc&lt;br /&gt;export PATH=${PATH}:&lt;sdk&gt;/tools:&lt;sdk&gt;/platform-tools&lt;br /&gt;т.е. по сути добавить папку platform-tools&lt;br /&gt;Далее перестала работать сборка, выходит следующая ошибка&lt;br /&gt;&lt;pre&gt;Error generating final archive: java.io.FileNotFoundException: &lt;br /&gt;/home/user/android/bin/resources.ap_ does not exist &lt;br /&gt;Android  &lt;br /&gt;Unknown Android Packaging Problem&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Решение нашел здесь &lt;br /&gt;http://stackoverflow.com/questions/4372574/many-errors-in-android-project-after-i-upgraded-to-android-sdk-2-3&lt;br /&gt;Вкратце, если в файле res/values/strings.xml вы используете конструкции вида&lt;br /&gt;&lt;pre&gt;&amp;lt;string name="page_number"&amp;gt;%d results, showing page %d of %d&amp;lt;/string&amp;gt; &lt;br /&gt;&lt;/pre&gt;то теперь нужно использовать индексы для элементов больше одного, т.е. вот так&lt;br /&gt;&lt;pre&gt;&amp;lt;string name="page_number"&amp;gt;%1$d results, showing page %2$d of %3$d&amp;lt;/string&amp;gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-7098617343742321662?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ThJKtgKEsSVp_EzAtOZnhhwhONw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ThJKtgKEsSVp_EzAtOZnhhwhONw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ThJKtgKEsSVp_EzAtOZnhhwhONw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ThJKtgKEsSVp_EzAtOZnhhwhONw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/7098617343742321662/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=7098617343742321662" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/7098617343742321662?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/7098617343742321662?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/Hpln9Kj1Yc0/android-sdk-23-android-packaging.html" title="Android SDK 2.3 - &amp;quot;Unknown Android Packaging Problem&amp;quot;" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/12/android-sdk-23-android-packaging.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMNRX48eip7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-1560161121019455539</id><published>2010-11-11T19:31:00.002+03:00</published><updated>2012-02-07T13:54:54.072+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:54:54.072+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Глобальная переменная $_REQUEST в php</title><content type="html">Заметил интересное поведение в глобальной переменной&lt;br /&gt;
$_REQUEST в php, похоже она создается по запросу&lt;br /&gt;
&lt;pre class="pretty-print"&gt;~$ php -r 'echo (int)isset($GLOBALS["_REQUEST"])."\n";'
&lt;/pre&gt;&lt;br /&gt;
ответ 0, но если&lt;br /&gt;
&lt;pre class="pretty-print"&gt;~$ php -r '$_REQUEST;echo (int)isset($GLOBALS["_REQUEST"])."\n";'
&lt;/pre&gt;&lt;br /&gt;
ответ уже 1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-1560161121019455539?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/98kwWWz8WyKkYwSkLXaVK3S944k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/98kwWWz8WyKkYwSkLXaVK3S944k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/98kwWWz8WyKkYwSkLXaVK3S944k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/98kwWWz8WyKkYwSkLXaVK3S944k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/1560161121019455539/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=1560161121019455539" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/1560161121019455539?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/1560161121019455539?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/p4Wae0eXQrg/request-php.html" title="Глобальная переменная $_REQUEST в php" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/11/request-php.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMGQnk5eip7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-8889231311485633889</id><published>2010-11-08T22:05:00.000+03:00</published><updated>2012-02-07T13:53:43.722+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:53:43.722+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Java - кофе</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_67GcH7V6PNQ/TNhLK73ZA0I/AAAAAAAAMAU/dscrxQT1nHo/s1600/2010-11-08+21.54.16.jpg"&gt;&lt;br /&gt;&lt;img style="display:block; margin:2px; text-align:left;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_67GcH7V6PNQ/TNhLK73ZA0I/AAAAAAAAMAU/dscrxQT1nHo/s320/2010-11-08+21.54.16.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5537258393092817730" /&gt;&lt;/a&gt;&lt;br /&gt;Теперь я не только пишу Java, но и пью её.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-8889231311485633889?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/E_0Sxtz1lYHCuKdTGB-8ExzDvLs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E_0Sxtz1lYHCuKdTGB-8ExzDvLs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/E_0Sxtz1lYHCuKdTGB-8ExzDvLs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E_0Sxtz1lYHCuKdTGB-8ExzDvLs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/8889231311485633889/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=8889231311485633889" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/8889231311485633889?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/8889231311485633889?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/epNJyeGYBUQ/java.html" title="Java - кофе" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_67GcH7V6PNQ/TNhLK73ZA0I/AAAAAAAAMAU/dscrxQT1nHo/s72-c/2010-11-08+21.54.16.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/11/java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EER3g4cCp7ImA9Wx5QEUU.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-4023931087488618817</id><published>2010-08-30T21:20:00.003+04:00</published><updated>2010-08-30T21:33:26.638+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-30T21:33:26.638+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mysql" /><title>Mysql ERROR 1005 (HY000): Can't create table (errno: 150)</title><content type="html">Уже который раз спотыкаюсь об одни и те же грабли, решил записать.&lt;br /&gt;&lt;br /&gt;т.е. после создания таблиц:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;CREATE TABLE sf_guard_user &lt;br /&gt;(&lt;br /&gt; id BIGINT AUTO_INCREMENT, &lt;br /&gt; first_name VARCHAR(255), &lt;br /&gt; last_name VARCHAR(255), &lt;br /&gt; email_address VARCHAR(255) NOT NULL UNIQUE, &lt;br /&gt; username VARCHAR(128) NOT NULL UNIQUE, &lt;br /&gt; algorithm VARCHAR(128) DEFAULT 'sha1' NOT NULL, &lt;br /&gt; salt VARCHAR(128), password VARCHAR(128), &lt;br /&gt; is_active TINYINT(1) DEFAULT '1', &lt;br /&gt; is_super_admin TINYINT(1) DEFAULT '0', &lt;br /&gt; last_login DATETIME, created_at DATETIME NOT NULL, &lt;br /&gt; updated_at DATETIME NOT NULL, &lt;br /&gt; INDEX is_active_idx_idx (is_active), &lt;br /&gt; PRIMARY KEY(id)&lt;br /&gt;)ENGINE = INNODB;&lt;br /&gt;&lt;br /&gt;CREATE TABLE sf_guard_user_profile &lt;br /&gt;(&lt;br /&gt; id BIGINT AUTO_INCREMENT, &lt;br /&gt; user_id BIGINT, first_name VARCHAR(20), &lt;br /&gt; last_name VARCHAR(20),&lt;br /&gt; email VARCHAR(255), &lt;br /&gt; email_hash VARCHAR(255), &lt;br /&gt; INDEX user_id_idx (user_id), &lt;br /&gt; PRIMARY KEY(id)&lt;br /&gt;) ENGINE = INNODB;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;я пытаюсь создать ключи:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;ALTER TABLE sf_guard_user_profile &lt;br /&gt;ADD CONSTRAINT sf_guard_user_profile_user_id_sf_guard_user_id &lt;br /&gt; FOREIGN KEY (user_id) &lt;br /&gt;  REFERENCES sf_guard_user(id) &lt;br /&gt;   ON DELETE CASCADE;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;и получаю ошибку ERROR 1005 (HY000): Can't create table (errno: 150)&lt;br /&gt;mysql говорит, что не может найти поле на которое ссылаемся&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mysql&gt; SHOW ENGINE INNODB STATUS; &lt;br /&gt;...&lt;br /&gt;100830 20:59:41 Error in foreign key constraint of table s1/#sql-477_152:&lt;br /&gt; FOREIGN KEY (user_id) REFERENCES sf_guard_user(id) ON DELETE CASCADE:&lt;br /&gt;Cannot find an index in the referenced table where the&lt;br /&gt;referenced columns appear as the first columns, or column types&lt;br /&gt;in the table and the referenced table do not match for constraint.&lt;br /&gt;Note that the internal storage type of ENUM and SET changed in&lt;br /&gt;tables created with &gt;= InnoDB-4.1.12, and such columns in old tables&lt;br /&gt;cannot be referenced by such columns in new tables.&lt;br /&gt;See http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html&lt;br /&gt;for correct foreign key definition.&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;mysql это не нравится, отсюда и ошибка, хотя пишет что не может найти поле, а оно есть.&lt;br /&gt;Дело оказывается в том, что в symfony при генерации схемы нет проверки на размерность типов для внешних ключей, т.е. если указать разные размерности для ключевых полей, то будет ошибка, т.е. вместо:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sfGuardUserProfile:&lt;br /&gt;  tableName:     sf_guard_user_profile&lt;br /&gt;  columns:&lt;br /&gt;    user_id:          integer(4)&lt;br /&gt;    first_name:       varchar(20)&lt;br /&gt;    last_name:        varchar(20)&lt;br /&gt;    email:            varchar(255)&lt;br /&gt;    email_hash:       varchar(255)&lt;br /&gt;  relations:&lt;br /&gt;    Users:&lt;br /&gt;      class: sfGuardUser&lt;br /&gt;      refClass: sfGuardUserGroup&lt;br /&gt;      local: group_id&lt;br /&gt;      foreign: user_id&lt;br /&gt;      foreignAlias: Groups&lt;br /&gt;    sfGuardUser:&lt;br /&gt;      type: one&lt;br /&gt;      foreignType: one&lt;br /&gt;      class: sfGuardUser&lt;br /&gt;      local: user_id&lt;br /&gt;      foreign: id&lt;br /&gt;      onDelete: cascade&lt;br /&gt;      foreignAlias: Profile&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;надо :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sfGuardUserProfile:&lt;br /&gt;  tableName:     sf_guard_user_profile&lt;br /&gt;  columns:&lt;br /&gt;    user_id:          integer&lt;br /&gt;    first_name:       varchar(20)&lt;br /&gt;    last_name:        varchar(20)&lt;br /&gt;    email:            varchar(255)&lt;br /&gt;    email_hash:       varchar(255)&lt;br /&gt;  relations:&lt;br /&gt;    Users:&lt;br /&gt;      class: sfGuardUser&lt;br /&gt;      refClass: sfGuardUserGroup&lt;br /&gt;      local: group_id&lt;br /&gt;      foreign: user_id&lt;br /&gt;      foreignAlias: Groups&lt;br /&gt;    sfGuardUser:&lt;br /&gt;      type: one&lt;br /&gt;      foreignType: one&lt;br /&gt;      class: sfGuardUser&lt;br /&gt;      local: user_id&lt;br /&gt;      foreign: id&lt;br /&gt;      onDelete: cascade&lt;br /&gt;      foreignAlias: Profile&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;а именно поле user_id должно быть таким же как в у sfGuardUser&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-4023931087488618817?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-y3GD0th9UA9pxF3mEOSinutJsc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-y3GD0th9UA9pxF3mEOSinutJsc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-y3GD0th9UA9pxF3mEOSinutJsc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-y3GD0th9UA9pxF3mEOSinutJsc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/4023931087488618817/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=4023931087488618817" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/4023931087488618817?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/4023931087488618817?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/FFN7NcdNnNo/mysql-error-1005-hy000-cant-create.html" title="Mysql ERROR 1005 (HY000): Can't create table (errno: 150)" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/08/mysql-error-1005-hy000-cant-create.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIAQXozeip7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-5325147538050413421</id><published>2010-06-02T17:14:00.006+04:00</published><updated>2012-02-07T13:55:40.482+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:55:40.482+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><category scheme="http://www.blogger.com/atom/ns#" term="gnome" /><title>Как сделать слайд-шоу для рабочего стола gnome</title><content type="html">В ubuntu 9.10 появились обой рабочего стола в виде слайд-шоу&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_67GcH7V6PNQ/TAZZ7GAl1YI/AAAAAAAAJiU/KJRZHkUmTu8/s1600/ubuntu10_04_gnome_slideshow.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 244px;" src="http://2.bp.blogspot.com/_67GcH7V6PNQ/TAZZ7GAl1YI/AAAAAAAAJiU/KJRZHkUmTu8/s320/ubuntu10_04_gnome_slideshow.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5478164868503033218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;его пример лежит в папке&lt;br /&gt;/usr/share/backgrounds/cosmos/background-1.xml&lt;br /&gt;&lt;br /&gt;Это простой xml файл с простыми инструкциями.&lt;br /&gt;Его можно создать вручную, схема довольно проста.&lt;br /&gt;Но можно использовать этот скрипт:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;$staticDuration = "300.0";#1795.0&lt;br /&gt;$transitionDuration = "5.0";#5.0&lt;br /&gt;&lt;br /&gt;print &amp;lt;&amp;lt;"TBEGIN";&lt;br /&gt;&amp;lt;background&amp;gt;&lt;br /&gt;  &amp;lt;starttime&amp;gt;&lt;br /&gt;    &amp;lt;year&amp;gt;2009&amp;lt;/year&amp;gt;&lt;br /&gt;    &amp;lt;month&amp;gt;08&amp;lt;/month&amp;gt;&lt;br /&gt;    &amp;lt;day&amp;gt;04&amp;lt;/day&amp;gt;&lt;br /&gt;    &amp;lt;hour&amp;gt;00&amp;lt;/hour&amp;gt;&lt;br /&gt;    &amp;lt;minute&amp;gt;00&amp;lt;/minute&amp;gt;&lt;br /&gt;    &amp;lt;second&amp;gt;00&amp;lt;/second&amp;gt;&lt;br /&gt;  &amp;lt;/starttime&amp;gt;&lt;br /&gt;TBEGIN&lt;br /&gt;&lt;br /&gt;$pwd = `pwd`;&lt;br /&gt;$pwd =~ s/[\n]//;&lt;br /&gt;$isStart = 0;&lt;br /&gt;opendir(DIR,".");&lt;br /&gt;while ($name = readdir(DIR)) {&lt;br /&gt;if($name =~ /jpg|png/){&lt;br /&gt;    if($isStart){&lt;br /&gt;            $pathLast = $pwd."/".$lastName;&lt;br /&gt;            $pathCurr = $pwd."/".$name;&lt;br /&gt;            print &amp;lt;&amp;lt;"Tname";&lt;br /&gt;&amp;lt;static&amp;gt;&lt;br /&gt;  &amp;lt;duration&amp;gt;1795.0&amp;lt;/duration&amp;gt;&lt;br /&gt;    &amp;lt;file&amp;gt;$pathLast&amp;lt;/file&amp;gt;&lt;br /&gt;  &amp;lt;/static&amp;gt;&lt;br /&gt;  &amp;lt;transition&amp;gt;&lt;br /&gt;    &amp;lt;duration&amp;gt;5.0&amp;lt;/duration&amp;gt;&lt;br /&gt;    &amp;lt;from&amp;gt;$pathLast&amp;lt;/from&amp;gt;&lt;br /&gt;    &amp;lt;to&amp;gt;$pathCurr&amp;lt;/to&amp;gt;&lt;br /&gt;&amp;lt;/transition&amp;gt;&lt;br /&gt;Tname&lt;br /&gt;    } else {&lt;br /&gt;        $pathFirst = $pwd."/".$name;&lt;br /&gt;    }&lt;br /&gt;    $lastName = $name;&lt;br /&gt;    $isStart = 1;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;closedir(DIR);&lt;br /&gt;&lt;br /&gt;print &amp;lt;&amp;lt;"TEND"&lt;br /&gt;&amp;lt;static&amp;gt;&lt;br /&gt;  &amp;lt;duration&amp;gt;1795.0&amp;lt;/duration&amp;gt;&lt;br /&gt;    &amp;lt;file&amp;gt;$pathCurr&amp;lt;/file&amp;gt;&lt;br /&gt;  &amp;lt;/static&amp;gt;&lt;br /&gt;  &amp;lt;transition&amp;gt;&lt;br /&gt;    &amp;lt;duration&amp;gt;5.0&amp;lt;/duration&amp;gt;&lt;br /&gt;    &amp;lt;from&amp;gt;$pathCurr&amp;lt;/from&amp;gt;&lt;br /&gt;    &amp;lt;to&amp;gt;$pathFirst&amp;lt;/to&amp;gt;&lt;br /&gt;&amp;lt;/transition&amp;gt;&lt;br /&gt;&amp;lt;/background&amp;gt;&lt;br /&gt;TEND&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;создайте текстовый файл gen.pl с этим кодом и положите в папку с фотографиями.&lt;br /&gt;выполните команду:&lt;br /&gt;&lt;pre&gt;perl gen.pl &gt; background-2.xml&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Теперь добавьте этот файл в "Параметры внешнего вида" - "Фон", вуаля.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-5325147538050413421?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WgSGuzR_QDtxaqfvil08_oJqEBI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WgSGuzR_QDtxaqfvil08_oJqEBI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WgSGuzR_QDtxaqfvil08_oJqEBI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WgSGuzR_QDtxaqfvil08_oJqEBI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/5325147538050413421/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=5325147538050413421" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5325147538050413421?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5325147538050413421?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/L1l3tEqwxlg/gnome.html" title="Как сделать слайд-шоу для рабочего стола gnome" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_67GcH7V6PNQ/TAZZ7GAl1YI/AAAAAAAAJiU/KJRZHkUmTu8/s72-c/ubuntu10_04_gnome_slideshow.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/06/gnome.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIAQXozeip7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-5637087559929205831</id><published>2010-05-18T16:58:00.002+04:00</published><updated>2012-02-07T13:55:40.482+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:55:40.482+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gedit" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Плагин по regexp для gedit</title><content type="html">Потребовался инструмент для мелкого редактирования текста с использованием regexp&lt;br /&gt;То что может стандартный gedit уже не хватает, такие вещи как замена теста с использованием спец-символов таких как отступ(\t), конец строки(\n) решаются довольно просто, но дальше уже сложно.&lt;br /&gt;Есть такой &lt;a href="http://students.olin.edu/2010/bfisher/blog/geditplugin/regex_replace.tar.gz"&gt;плагин&lt;/a&gt; в &lt;a href="http://halfhourhacks.blogspot.com/2008/03/gedit-regular-expression-plugin.html"&gt;одном блоге&lt;/a&gt; описано как его  поставить&lt;br /&gt;Я повторюсь, его нужно &lt;a href="http://students.olin.edu/2010/bfisher/blog/geditplugin/regex_replace.tar.gz"&gt;скачать&lt;/a&gt; и распаковать в папку ~/.gnome2/gedit/plugins/&lt;br /&gt;Создать если не существует.&lt;br /&gt;Теперь можно использовать такие конструкции как поиск функции название которой вы точно не помните, например ищете Что_то_тамSave&lt;br /&gt;function\s+.*Save.*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-5637087559929205831?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BZHvqEeKo_s11px9mOZTJ7Bn84c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BZHvqEeKo_s11px9mOZTJ7Bn84c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BZHvqEeKo_s11px9mOZTJ7Bn84c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BZHvqEeKo_s11px9mOZTJ7Bn84c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/5637087559929205831/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=5637087559929205831" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5637087559929205831?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5637087559929205831?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/Q44l6yoEgmE/regexp-gedit.html" title="Плагин по regexp для gedit" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/05/regexp-gedit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIAQXozeyp7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-7295350736335706292</id><published>2010-04-20T10:50:00.003+04:00</published><updated>2012-02-07T13:55:40.483+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:55:40.483+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ntp" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Настройка времени под linux</title><content type="html">Самый простой способ:&lt;br /&gt;&lt;pre&gt;sudo ntpdate 0.ru.pool.ntp.org&lt;/pre&gt;&lt;br /&gt;Список всех серверов:&lt;br /&gt;&lt;pre&gt;0.ru.pool.ntp.org&lt;br /&gt;1.ru.pool.ntp.org&lt;br /&gt;2.ru.pool.ntp.org&lt;br /&gt;3.ru.pool.ntp.org&lt;/pre&gt;&lt;br /&gt;Теперь по порядку:&lt;br /&gt;&lt;h2&gt;1.Установить часовой пояс&lt;/h2&gt;&lt;br /&gt;&lt;pre&gt;sudo dpkg-reconfigure tzdata&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;2.Синхронизация&lt;/h2&gt;&lt;br /&gt;&lt;pre&gt;ntpdate 0.ru.pool.ntp.org&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;3.Настройка обновления&lt;/h2&gt;&lt;br /&gt;&lt;pre&gt;$ sudo bash&lt;br /&gt;# echo "ntpdate 0.ru.pool.ntp.org" &gt; /etc/cron.daily/ntpdate&lt;br /&gt;# chmod 755 /etc/cron.daily/ntpdate&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-7295350736335706292?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pc06c384cydRNx5T7lknVTiPbmA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pc06c384cydRNx5T7lknVTiPbmA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pc06c384cydRNx5T7lknVTiPbmA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pc06c384cydRNx5T7lknVTiPbmA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/7295350736335706292/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=7295350736335706292" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/7295350736335706292?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/7295350736335706292?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/6i7aSBPuDNY/linux.html" title="Настройка времени под linux" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/04/linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMBSHc4eip7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-5505095543426657987</id><published>2010-04-08T21:26:00.000+04:00</published><updated>2012-02-07T13:54:19.932+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:54:19.932+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="toast" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Простой способ вывода сообщения</title><content type="html">&lt;pre&gt;&lt;br /&gt;public class MyActivity extends Activity&lt;br /&gt;{&lt;br /&gt;    public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;        super.onCreate(savedInstanceState);&lt;br /&gt;        Toast.makeText(&lt;br /&gt;            MyActivity.this, &lt;br /&gt;            "Ваше сообщение", &lt;br /&gt;            Toast.LENGTH_LONG&lt;br /&gt;        ).show();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-5505095543426657987?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6F12CggeH1V0fY8GR8J8DLEcTOk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6F12CggeH1V0fY8GR8J8DLEcTOk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6F12CggeH1V0fY8GR8J8DLEcTOk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6F12CggeH1V0fY8GR8J8DLEcTOk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/5505095543426657987/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=5505095543426657987" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5505095543426657987?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5505095543426657987?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/pesx2UFU1KY/blog-post.html" title="Простой способ вывода сообщения" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/04/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMBSHc4eyp7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-3944618396433566151</id><published>2010-04-06T13:43:00.000+04:00</published><updated>2012-02-07T13:54:19.933+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:54:19.933+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="intent" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Как передать картинку в Activity через Intent</title><content type="html">Короткий пример:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Uri imageUri = intent.getData();&lt;br /&gt;mBitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), imageUri);&lt;br /&gt;Intent intent = new Intent(TakePictureActivity.this, PreviewActivity.class);&lt;br /&gt;intent.putExtra(EXTRA_BITMAP_DATA, mBitmap);&lt;br /&gt;startActivityForResult(intent, REQUEST_PREVIEW);&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-3944618396433566151?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ifj_VepPh3E-rJo1IPm5UE13KCI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ifj_VepPh3E-rJo1IPm5UE13KCI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ifj_VepPh3E-rJo1IPm5UE13KCI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ifj_VepPh3E-rJo1IPm5UE13KCI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/3944618396433566151/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=3944618396433566151" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3944618396433566151?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3944618396433566151?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/cUgGCyXf7oQ/activity-intent.html" title="Как передать картинку в Activity через Intent" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2010/04/activity-intent.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYHSXwzfip7ImA9WxJUFks.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-1512399967541427520</id><published>2009-07-15T17:13:00.003+04:00</published><updated>2009-07-15T17:22:18.286+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-15T17:22:18.286+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="symfony" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Полезные заметки по symfony - 2</title><content type="html">Если надо использовать функции из View в Controller, то надо вопользоваться sfLoader&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;class blogActions extends sfActions&lt;br /&gt;{&lt;br /&gt;  public function preExecute(){&lt;br /&gt;   ...&lt;br /&gt;  }&lt;br /&gt;  public function executeRedirect(sfWebRequest $request)&lt;br /&gt;  {&lt;br /&gt;    sfLoader::loadHelpers('Url');&lt;br /&gt;    $this-&gt;redirect(url_for('@archive_blog?id='.$this-&gt;currentBlog-&gt;getId(), 301);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Но лучше использовать внутренние средства, в symfony почти для каждого из составляющих MVC если дублирующие средства:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;class blogActions extends sfActions&lt;br /&gt;{&lt;br /&gt;  public function preExecute(){&lt;br /&gt;   ...&lt;br /&gt;  }&lt;br /&gt;  public function executeRedirect(sfWebRequest $request)&lt;br /&gt;  {&lt;br /&gt;    sfLoader::loadHelpers('Url');&lt;br /&gt;    $this-&gt;redirect(&lt;br /&gt;      $this-&gt;getController()-&gt;genUrl('@archive_blog?id='.$this-&gt;currentBlog-&gt;getId()),&lt;br /&gt;      301&lt;br /&gt;    );&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Исключение составляет вызов action из View, как например в ZendFramework, но в symfony похоже это не трубуется (прим. автора: по крайней мере в моей практике).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-1512399967541427520?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bdvRRe9XtfZ5UeZIAOPueht-OpM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bdvRRe9XtfZ5UeZIAOPueht-OpM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bdvRRe9XtfZ5UeZIAOPueht-OpM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bdvRRe9XtfZ5UeZIAOPueht-OpM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/1512399967541427520/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=1512399967541427520" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/1512399967541427520?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/1512399967541427520?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/s_alXM0CtSU/symfony-2.html" title="Полезные заметки по symfony - 2" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2009/07/symfony-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQESXo-cCp7ImA9WxJUEEg.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-908767855766564438</id><published>2009-07-08T16:11:00.008+04:00</published><updated>2009-07-08T16:31:48.458+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-08T16:31:48.458+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="symfony" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><category scheme="http://www.blogger.com/atom/ns#" term="sfWidget" /><title>Как добавить в форму admin генератора ссылку</title><content type="html">К примеру у вас есть backend (admin) и вам нужно поставить ссылку на какой нибудь ресурс. &lt;br /&gt;Для этого нужно создать свой виджет, например, такой:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;&lt;br /&gt;class sfWidgetFormHtmlLink extends sfWidgetForm&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;  protected function configure($options = array(), $attributes = array())&lt;br /&gt;  {&lt;br /&gt;    $this-&gt;addOption('url', false);&lt;br /&gt;    $this-&gt;addOption('target', 'self');  // self, blank&lt;br /&gt;    $this-&gt;addOption('route', false);&lt;br /&gt;    $this-&gt;addOption('name', true);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public function render($name, $value = null, $attributes = array(), $errors = array())&lt;br /&gt;  {&lt;br /&gt;    if($this-&gt;getOption('route')){&lt;br /&gt;      return link_to(&lt;br /&gt;        $this-&gt;getOption('name'),&lt;br /&gt;        $this-&gt;getOption('route'),&lt;br /&gt;        array('target'=&gt;'_'.$this-&gt;getOption('target'))&lt;br /&gt;      );&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if($this-&gt;getOption('url')){&lt;br /&gt;      return "&amp;lt;a href='".$this-&gt;getOption('name').&lt;br /&gt;        "' target='_".$this-&gt;getOption('target')."'&amp;gt;".&lt;br /&gt;        $this-&gt;getOption('name')."&amp;lt;/a&amp;gt;";&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Теперь его просто использовать:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;class SomeForm extends BaseSomeForm&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;  public function configure()&lt;br /&gt;  {&lt;br /&gt;    $this-&gt;setWidget('external_link',new sfWidgetFormHtmlLink(array('url'=&gt;'http://ya.ru','name'=&gt;'Поискать')));&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Меняя метод render можно создать свой виджет по выводу какого-либо html текста и т.д.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-908767855766564438?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UBZNLbeKpvsGmJPeupjEgQku9e8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UBZNLbeKpvsGmJPeupjEgQku9e8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UBZNLbeKpvsGmJPeupjEgQku9e8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UBZNLbeKpvsGmJPeupjEgQku9e8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/908767855766564438/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=908767855766564438" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/908767855766564438?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/908767855766564438?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/Tk7yaUIaXTI/admin.html" title="Как добавить в форму admin генератора ссылку" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2009/07/admin.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMNRX48eip7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-5323530814654485108</id><published>2009-06-17T13:01:00.002+04:00</published><updated>2012-02-07T13:54:54.072+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:54:54.072+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Полезные заметки по symfony - 1</title><content type="html">Установка meta html данных:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;class SomeObjectActions extends sfActions&lt;br /&gt;{&lt;br /&gt;  public function executeShowObject(sfWebRequest $request){&lt;br /&gt;    ...&lt;br /&gt;    $this-&gt;getResponse()-&gt;setTitle($this-&gt;object-&gt;getMetaTitle());&lt;br /&gt;    $this-&gt;getResponse()-&gt;addMeta('meta_keywords', $this-&gt;object-&gt;getMetaKeywords());&lt;br /&gt;    $this-&gt;getResponse()-&gt;addMeta('meta_description', $this-&gt;object-&gt;getMetaDescription());&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-5323530814654485108?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vF894gl4B3FZbEFwt7jcsyD0tNI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vF894gl4B3FZbEFwt7jcsyD0tNI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vF894gl4B3FZbEFwt7jcsyD0tNI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vF894gl4B3FZbEFwt7jcsyD0tNI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/5323530814654485108/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=5323530814654485108" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5323530814654485108?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/5323530814654485108?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/uoLSBOHEelk/symfony-1.html" title="Полезные заметки по symfony - 1" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2009/06/symfony-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYCSHgzfip7ImA9WxJWEk8.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-3237339801534369977</id><published>2009-06-17T11:24:00.003+04:00</published><updated>2009-06-17T11:36:09.686+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-17T11:36:09.686+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="symfony" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Правильное использование sfWidgetFormTextareaTinyMCE</title><content type="html">sfWidgetFormTextareaTinyMCE - это виджет, HTML WYSIWYG editor. Очень удобная вешь, но в &lt;a href="http://www.symfony-project.org/blog/2008/10/18/spice-up-your-forms-with-some-nice-widgets-and-validators"&gt;блоге&lt;/a&gt; symfony очень скудно описан принцип работы, точнее в последней версии возникает ошибка:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;You must pass a "class" attribute for a TinyMCE widget&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Вот, как и какой класс надо указывать:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;    $this-&gt;setWidget('text', new sfWidgetFormTextareaTinyMCE(array(&lt;br /&gt;      'width'  =&gt; 650,&lt;br /&gt;      'height' =&gt; 550,&lt;br /&gt;      'config' =&gt; 'theme_advanced_disable: "anchor,image,cleanup,help"',&lt;br /&gt;    )&lt;br /&gt;    ,array(&lt;br /&gt;   'class' =&gt; 'tinyMCE',&lt;br /&gt;    )&lt;br /&gt;  ));&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;в генераторе (если вы используете его в backend) generator.yml укажите class в атрибутах&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;    config:&lt;br /&gt;      actions: ~&lt;br /&gt;      fields:&lt;br /&gt;        text:  { label: 'Текст', attributes: { class: "tinyMCE" } }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;еще обсуждение &lt;a href="http://forum.symfony-project.org/index.php/t/18293/"&gt;здесь&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-3237339801534369977?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/evs0QHRSs_ThZZOfghwFcCgWGQw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/evs0QHRSs_ThZZOfghwFcCgWGQw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/evs0QHRSs_ThZZOfghwFcCgWGQw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/evs0QHRSs_ThZZOfghwFcCgWGQw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/3237339801534369977/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=3237339801534369977" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3237339801534369977?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3237339801534369977?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/dG3z3WITq1E/sfwidgetformtextareatinymce.html" title="Правильное использование sfWidgetFormTextareaTinyMCE" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2009/06/sfwidgetformtextareatinymce.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQBSHc6fip7ImA9WxFQFUo.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-3857245966501749304</id><published>2009-06-16T14:55:00.004+04:00</published><updated>2010-05-11T13:32:39.916+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-11T13:32:39.916+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mysql" /><title>Как заставить mysql5 использовать нужный вам default-character и collation</title><content type="html">Для начала посмотрите что у вас есть&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;SHOW VARIABLES LIKE 'character_set%';&lt;br /&gt;+--------------------------+----------------------------+&lt;br /&gt;| Variable_name            | Value                      |&lt;br /&gt;+--------------------------+----------------------------+&lt;br /&gt;| character_set_client     | utf8                       | &lt;br /&gt;| character_set_connection | utf8                       | &lt;br /&gt;| character_set_database   | utf8                       | &lt;br /&gt;| character_set_filesystem | binary                     | &lt;br /&gt;| character_set_results    | utf8                       | &lt;br /&gt;| character_set_server     | utf8                       | &lt;br /&gt;| character_set_system     | utf8                       | &lt;br /&gt;| character_sets_dir       | /usr/share/mysql/charsets/ | &lt;br /&gt;+--------------------------+----------------------------+&lt;br /&gt;8 rows in set (0.00 sec)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;По умолчанию Value=latin1&lt;br /&gt;&lt;br /&gt;Теперь вы хотите чтобы все клиенты mysql сразу использовали нужную ва кодировку:&lt;br /&gt;utf8,cp1251 или koi8r&lt;br /&gt;&lt;br /&gt;Нужно добавить в файл my.cnf&lt;br /&gt;/etc/mysql/my.cnf&lt;br /&gt;&lt;br /&gt;Слудущие переменные:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;[client]&lt;br /&gt;default-character-set=utf8&lt;br /&gt;[mysqld]&lt;br /&gt;default-character-set=utf8&lt;br /&gt;default-collation=utf8_general_ci&lt;br /&gt;character-set-server=utf8&lt;br /&gt;init-connect='SET NAMES utf8;'&lt;br /&gt;collation-server=utf8_general_ci&lt;br /&gt;[mysql]&lt;br /&gt;default-character-set=utf8&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;После изменений перезагружайте сервер.&lt;br /&gt;/etc/init.d/mysql restart&lt;br /&gt;&lt;br /&gt;Если не работает еще раз проверьте что у вас происходит:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;SHOW VARIABLES LIKE 'character_set%';&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;проверьте кодировку базы данных:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;mysql&gt; show create database yourdatabase;&lt;br /&gt;+-------------+----------------------------------------------------------------------+&lt;br /&gt;| Database    | Create Database                                                      |&lt;br /&gt;+-------------+----------------------------------------------------------------------+&lt;br /&gt;| yourdatabase | CREATE DATABASE `yourdatabase` /*!40100 DEFAULT CHARACTER SET utf8 */ | &lt;br /&gt;+-------------+----------------------------------------------------------------------+&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Кодировка по умолчанию для создания таблиц наследуется.&lt;br /&gt;&lt;br /&gt;Можно еще проще для ubuntu (10.04):&lt;br /&gt;создать файл, например /etc/mysql/conf.d/mysqld_charset.cnf&lt;br /&gt;с текстом:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;[mysqld]&lt;br /&gt;default-character-set=utf8&lt;br /&gt;default-collation=utf8_general_ci&lt;br /&gt;character-set-server=utf8&lt;br /&gt;init-connect='SET NAMES utf8;'&lt;br /&gt;collation-server=utf8_general_ci&lt;br /&gt;&lt;br /&gt;[mysql]&lt;br /&gt;default-character-set=utf8&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;и перезапустить mysql&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-3857245966501749304?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fXZSkFmS0tO3NXPFyXIFXIeU-rU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fXZSkFmS0tO3NXPFyXIFXIeU-rU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fXZSkFmS0tO3NXPFyXIFXIeU-rU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fXZSkFmS0tO3NXPFyXIFXIeU-rU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/3857245966501749304/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=3857245966501749304" title="Комментарии: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3857245966501749304?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3857245966501749304?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/WGugnxym9lM/mysql5-default-character-collation.html" title="Как заставить mysql5 использовать нужный вам default-character и collation" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://broderix.blogspot.com/2009/06/mysql5-default-character-collation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIAQXozeyp7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-643971718967182737</id><published>2009-06-15T17:34:00.001+04:00</published><updated>2012-02-07T13:55:40.483+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:55:40.483+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><title>Смена часового пояса в linux</title><content type="html">$ cd /etc; ln -sf /usr/share/zoneinfo/Europe/Moscow localtime&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-643971718967182737?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Gkp4gTaljuJjj0y8jxGuFF065a4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gkp4gTaljuJjj0y8jxGuFF065a4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Gkp4gTaljuJjj0y8jxGuFF065a4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gkp4gTaljuJjj0y8jxGuFF065a4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/643971718967182737/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=643971718967182737" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/643971718967182737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/643971718967182737?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/gUDFknYIlaI/linux.html" title="Смена часового пояса в linux" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2009/06/linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMNRX48eyp7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-3986923997191341908</id><published>2009-05-08T16:43:00.004+04:00</published><updated>2012-02-07T13:54:54.073+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:54:54.073+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Полезные команды для web-разработчика</title><content type="html">Искать любое упоминание чего-либо в проекте, исключая системные svn файлы:&lt;br /&gt;
&lt;b&gt;grep -Rn &amp;#39;mysql.php&amp;#39; ./ | grep -v svn&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Перенести изменения из одного проекта в другой методом патча:&lt;br /&gt;
&lt;b&gt;project1 $ svn diff &amp;gt; filename.patch&lt;br /&gt;
&lt;/b&gt;&lt;b&gt;project2 $ &lt;/b&gt;&lt;b&gt;patch -p0 -i ../project1/filename.patch&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Собрать файлы в архив по определенному принципу, в данном случае измененные и добавленные файлы: &lt;br /&gt;
&lt;b&gt;perl -e &amp;#39;$res = `svn stat|grep -E &amp;quot;^[AM]&amp;quot;`; $res =~ s/\+|^\w+\s*//gm; $res =~ s/\n/ /g; `tar cfz 1.tgz $res`;&amp;#39;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В буду дальнейшем буду пополнять, есть что то вспомню.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-3986923997191341908?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QzkrWZoPnDoz0Xb8A6O_llKZUG0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QzkrWZoPnDoz0Xb8A6O_llKZUG0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QzkrWZoPnDoz0Xb8A6O_llKZUG0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QzkrWZoPnDoz0Xb8A6O_llKZUG0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/3986923997191341908/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=3986923997191341908" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3986923997191341908?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/3986923997191341908?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/dgwXAk5zL4I/web.html" title="Полезные команды для web-разработчика" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2009/05/web.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQFRH44fip7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-1890757124481454023</id><published>2009-05-07T22:42:00.000+04:00</published><updated>2012-02-07T13:51:55.036+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:51:55.036+04:00</app:edited><title>Google I/O</title><content type="html">Как многим разработчикам на Android или просто интерисующимся уже известно, что в 27-28 мая в Сан-франциско пройдет конференция посвященная разработке под Google.Android.&lt;br&gt;Будет затронуто очень много &lt;a href="http://code.google.com/events/io/sessions.html"&gt;интересных тем&lt;/a&gt;, но самой интересной для меня будет тема посвященная разработке игр. &lt;br&gt; А именно &lt;a href="http://code.google.com/events/io/speakers.html#pruett"&gt;Chris Pruett&lt;/a&gt; расскажет о  &lt;b&gt;Writing Real-Time Games for Android&lt;/b&gt;, т.к. я сейчас сам разрабатываю игру, о которой скоро расскажу.&lt;br&gt; Он болжен будет рассказать о фреймворке, который он разрабатывает специально для разработчиков игр. К тому же расскажет о новых возможностях работы с OpenGLES появившихся в AndroidSDK1.5&lt;br&gt;Немного поискав я &lt;a href="http://code.google.com/p/apps-for-android/source/browse/trunk/#trunk/SpriteMethodTest"&gt;нашел&lt;/a&gt; (&lt;a href="http://apps-for-android.googlecode.com/svn/trunk/"&gt;svn&lt;/a&gt;) что-то, что разрабатывает Chris, но не уверен, что это именно тот фреймворк, о котором шла речь.&lt;br&gt; Если кто &amp;quot;в теме&amp;quot; и нашел этот фреймворк, буду признателен, если скинете ссылку.&lt;br&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-1890757124481454023?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dwDeW0uwLuQu1c4P899xHbUZ2O4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dwDeW0uwLuQu1c4P899xHbUZ2O4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dwDeW0uwLuQu1c4P899xHbUZ2O4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dwDeW0uwLuQu1c4P899xHbUZ2O4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/1890757124481454023/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=1890757124481454023" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/1890757124481454023?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/1890757124481454023?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/XlKtKwAxqVU/google-io.html" title="Google I/O" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2009/05/google-io.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQFRH4-eip7ImA9WhRbFk0.&quot;"><id>tag:blogger.com,1999:blog-37345659.post-1860856386182766326</id><published>2009-05-05T12:59:00.000+04:00</published><updated>2012-02-07T13:51:55.052+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-07T13:51:55.052+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="samsung" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Samsung I7500 будет первым телефоном на Android в России</title><content type="html">Пресс-центр корпорации Samsung &lt;a href="http://www.samsung.ru/press/global_news/22259.html"&gt;объявил&lt;/a&gt; о примерной дате выхода смартфона на базе Android: 3 квартал 2009 года. &lt;br /&gt;Возникает много вопросов таких как:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Будет ли Android.Market в России?&lt;br /&gt;&lt;li&gt;Сколько будет стоить устройство?&lt;br /&gt;&lt;li&gt;Почему Google позволяет появится первым устройством в России не свой аппарат G1 или G2?&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Т.к. в России Samsung пользуется большой популярностью, то ответ на 3 вопрос выглядит логичным.&lt;br /&gt;Если рассуждать дальше, то Google согласен пустить первым Samsung.&lt;br /&gt;К тому же если посмотреть темпы распространения платформы по странам(в прошивке 1.5 уже доступна русская локаль), то скорее всего Android.Market в России в тому времени будет.&lt;br /&gt;А стоить мне кажется он будет не дешевле 20 тыс. руб., чтобы составить конкуренцию iPhone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37345659-1860856386182766326?l=broderix.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/q9b5-QqSDxzMHl73OKXJAqyUhQM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q9b5-QqSDxzMHl73OKXJAqyUhQM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/q9b5-QqSDxzMHl73OKXJAqyUhQM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q9b5-QqSDxzMHl73OKXJAqyUhQM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://broderix.blogspot.com/feeds/1860856386182766326/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=37345659&amp;postID=1860856386182766326" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/1860856386182766326?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/37345659/posts/default/1860856386182766326?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/web-development-notes/~3/u2LYn3soT3Y/samsung-i7500-android.html" title="Samsung I7500 будет первым телефоном на Android в России" /><author><name>Кирилл Д</name><uri>https://profiles.google.com/104303496085730802846</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-jEYtICJMX9o/AAAAAAAAAAI/AAAAAAAAPaM/w3S786xpE3k/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://broderix.blogspot.com/2009/05/samsung-i7500-android.html</feedburner:origLink></entry></feed>

