tag:blogger.com,1999:blog-19623924395312966782024-03-05T07:25:42.238-08:00IT студентAnonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.comBlogger45125tag:blogger.com,1999:blog-1962392439531296678.post-31340015164013473622012-11-26T05:55:00.001-08:002012-11-26T05:55:30.298-08:00Не вставляются таблицы в Word 2007<div dir="ltr" style="text-align: left;" trbidi="on">
Столкнулся с такой проблемой. На ноуте с Windows 7 установлен Word 2007. Запущен ворд, хром и скайп. Пытаюсь скопировать таблицу из хрома в ворд. Вставляется голый текст. Начал разбираться. Решил попробовать воспроизвести баг на стационарном компе. Там стоит та же Windows 7, но Word 2010. Запущен также хром, скайп и ворд. Скопировал таблицу и вставил без проблем. Хм... задумался. Отправил через скайп файл с таблицей на ноут. Открываю на ноуте, копирую таблицу, пытаюсь вставить в этом же документе - опять фигня, вставляется только текст.<br />
<br />
Решение проблемы оказалось достаточно маразматичным - закрыл хром на ноуте. И ворд заработал как надо. Хэппи-енд!</div>
Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-65035159464873563262012-07-21T09:18:00.000-07:002012-12-01T22:00:22.568-08:00Django -> sorl -> PIL выдает ошибку encoder jpeg not available<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Собственно говоря получил ошибку, описанную в сабже. Джанго проект крутится в виртуальней среде (использую virtualenv). Для генерации тумб (thumbnail) используется sorl, который использует для ресайза PIL который в свою очередь для работы с JPEG изображениями использует библиотеку libjpeg и заголовочные файлы для нее.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Так вот такая ошибка возникает, когд эта либа или хидеры для нее не установлены. Установить (в Ubuntu) можно так:</div>
<div style="text-align: justify;">
<br /></div>
<b></b><br />
<div style="text-align: justify;">
<b><b>sudo apt-get install libjpeg libjpeg-dev</b></b></div>
<b>
</b>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Далее надо удалить к чертям PIL:</div>
<div style="text-align: justify;">
<br /></div>
<b></b><br />
<div style="text-align: justify;">
<b><b>pip uninstall PIL</b></b></div>
<b>
</b>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Далее необходимо скачать только исходники PIL:</div>
<div style="text-align: justify;">
<br /></div>
<b></b><br />
<div style="text-align: justify;">
<b><b>pip install --no-install PIL </b></b></div>
<b>
</b>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Далее надо отредактировать setup.py (папка build/PIL вашего виртуального окружения) PIL (перед строкой 214 добавляем еще одну директорию для поиска либ):</div>
<div style="text-align: justify;">
<br /></div>
<b></b><br />
<div style="text-align: justify;">
<b><b>add_directory(library_dirs, "/usr/lib/i386-linux-gnu")</b></b></div>
<b>
</b>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ну все, теперь надо установить либу и запускать проект:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
в директории build/PIL выполняем команду</div>
<div style="text-align: justify;">
<br /></div>
<b></b><br />
<div style="text-align: justify;">
<b><b>pip install PIL</b></b></div>
<b>
</b>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<a href="http://stackoverflow.com/questions/8479344/pil-encoder-jpeg-not-available">Решать проблему помог этот топик на SO</a>.<br /><br />А вообще, ребятки, используйте Pillow, пригодный для установки через pip.</div>
</div>
Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-48595992162759572132012-07-18T10:22:00.000-07:002012-07-18T10:22:02.883-07:00Virtualbox: после установки гостевой Ubuntu Server 12.04 в консоли вместо русских символов квадратики (проблемы с кодировкой)<div dir="ltr" style="text-align: left;" trbidi="on">
Собственно сабж. И решается он просто.<br />
<br />
<b>LANG=C sudo dpkg-reconfigure console-setup</b><div>
<b><br /></b></div>
В диалоге нужно выбрать кодировку UTF-8 и шрифт .combined - latin, slavic cyrillic (VGA).<div>
<br /></div>
<div>
<a href="http://www.user.su/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_Ubuntu_%D0%BF%D0%BE%D0%B4_VirtualBox">Источник</a></div>
</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com2tag:blogger.com,1999:blog-1962392439531296678.post-70029204569443393692012-07-18T07:55:00.000-07:002012-07-18T08:02:00.074-07:00Virtualbox: гостевая Ubuntu Server 12.04 проблемы с расшариванием папки (общая папка) из хостовой Windows 7<div dir="ltr" style="text-align: left;" trbidi="on">
<span>Первая проблема, с которой я столкнулся это вывод следующей ошибки при попытке примонтировать расшаренную в настройка VirtualBox виндовую папку:</span><br />
<span><br /></span><br />
<b>mount: mounting failed with the error: No such device</b><br />
<div>
<b><br /></b></div>
<div>
<span>Проблема была в том, что дополнения гостевой ОС все-таки не установились. Лог установки сейчас уже показать не могу, но ошибка была вот в чем:</span></div>
<div>
<span><br /></span></div>
<b>The headers for the current running kernel were not found.</b><br />
<b><br /></b><br />
<div>
<div>
<span>То есть надо установить заголовочные файлы для своего ядра, для моего ядра это было сделано так:</span></div>
<div>
<span><br /></span></div>
<div>
<b>sudo apt-get install linux-headers-3.2.0-23-generic-pae</b><br />
<b><br /></b></div>
</div>
<div>
<span>Далее, второй проблемой стало то, что при попытке создания виртуальной окружающей среды при помощи virtualenv для расшаренного в вышеобозначенной общей папке django-проекта получил такую ошибку:</span></div>
<div>
<span><br /></span></div>
<div>
<span></span><br />
<div>
<span>Traceback (most recent call last):</span></div>
<div>
<span> File "/usr/local/bin/virtualenv", line 9, in <module></module></span></div>
<div>
<span> load_entry_point('virtualenv==1.7.2', 'console_scripts', 'virtualenv')()</span></div>
<div>
<span> File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 942, in main</span></div>
<div>
<span> never_download=options.never_download)</span></div>
<div>
<span> File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1043, in create_environment</span></div>
<div>
<span> site_packages=site_packages, clear=clear))</span></div>
<div>
<span> File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1449, in install_python</span></div>
<div>
<span> fix_local_scheme(home_dir)</span></div>
<div>
<span> File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1523, in fix_local_scheme</span></div>
<div>
<span> os.path.join(local_path, subdir_name))</span></div>
<div>
<span>OSError: [Errno 30] Read-only file system</span></div>
<div>
<span><br /></span></div>
<div>
<span>Все дело в том, что я криво примонтировал общую папку - без возможности записи. Правильно смонтировать надо было так:</span></div>
<div>
<span><br /></span></div>
<div>
<b>sudo mount -t vboxsf -o rw,uid=1000 data /home/dizpers/data</b></div>
<div>
<b><br /></b></div>
<div>
<span>Конечно же в эту команду надо подставить свои имена общей папки и места куда она будет примонтирована.</span></div>
<div>
<span><br /></span></div>
<div>
<span>Может также возникнуть вопрос - как узнать uid своего пользователя. Для моего пользователя это делается так:</span></div>
<div>
<span><br /></span></div>
<div>
<b>cat /etc/passwd | grep dizpers</b></div>
<div>
<b><br /></b></div>
<div>
<span>Результатом этой команды явилось следующее:</span></div>
<div>
<span><br /></span></div>
<div>
<div>
<span>dizpers@ubuntu:~$ cat /etc/passwd | grep dizpers</span></div>
<div>
<span>dizpers:x:1000:1000:dizpers,,,:/home/dizpers:/bin/bash</span></div>
</div>
<div>
<span><br /></span></div>
<div>
<span>То, что выделено жирным и есть uid.</span></div>
<div>
<span><br /></span></div>
<div>
<span>И последнее - чтобы каждый раз не монтировать общую папку, пропишем команду монтирования в rc.local:</span></div>
<div>
<span><br /></span></div>
<div>
<b>sudo gedit /etc/rc.local</b></div>
<div>
<span><br /></span></div>
<div>
<span>До строки</span></div>
<span><br /></span><br />
<span> exit 0</span><br />
<span><br /></span></div>
<div>
<b>sudo mount.vboxsf -o rw,uid=1000 data /home/dizpers/data</b>
</div>
</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-10591259562826116452012-07-04T06:26:00.001-07:002012-07-09T05:44:20.480-07:00Django: Error loading MySQLdb module: No module named MySQLdb<div dir="ltr" style="text-align: left;" trbidi="on">
До сегодняшнего дня не работал с mysql в джанго. Начав работу, после команды<br />
<div>
<br /></div>
<div>
python manage.py sql project</div>
<div>
<br /></div>
<div>
получаю ошибку</div>
<div>
<br /></div>
<div>
Error loading MySQLdb module: No module named MySQLdb</div>
<div>
<br /></div>
<div>
Решение простое - установить модуль mysql-python<br />
<br />
sudo easy_install mysql-python<br />
<br />
Во время установки модуля может возникнуть ошибка EnvironmentError: mysql_config not found<br />
<br />
решение проблемы<br />
<br />
sudo apt-get install libmysqlclient15-dev</div>
</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-69479243975135665402012-07-04T04:43:00.000-07:002012-07-04T04:43:14.729-07:00Обновление Ubuntu c 9.10 до 12.04<div dir="ltr" style="text-align: left;" trbidi="on">
На ноуте уже запылилась старенькая убунту 9.10. Решил обновить до последней 12.04. Обновился через менеджер обновлений до 10.04 и дальше уже до 12.04 по этой инструкции (<a href="http://www.ithowto.ru/663-obnovlenie-ubuntu-10-04-do-12-04.html">http://www.ithowto.ru/663-obnovlenie-ubuntu-10-04-do-12-04.html</a>).</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-61099178019343526742012-07-03T01:24:00.000-07:002012-07-03T01:27:16.234-07:00Пример написания парсера на Python: парсинг ссылок на профили пользователей MyShows.ru<div dir="ltr" style="text-align: left;" trbidi="on">
Для разбора DOM был использован модуль PyQuery.<br />
<div>
<br /></div>
<div>
<a href="https://gist.github.com/3038443">https://gist.github.com/3038443</a>
<br />
<br />
<script src="https://gist.github.com/3038443.js">
</script></div>
</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-36035308805169753152012-06-23T10:38:00.000-07:002012-06-23T10:38:14.981-07:00Установка модуля Image в Python (PIL - Python Image Library)<div dir="ltr" style="text-align: left;" trbidi="on">
Сегодня возникла проблема после заливки обновленного бэкенда на питоне при попытке запуска вылетела ошибка<br />
<br />
<br />
Traceback (most recent call last):<br />
File "server.py", line 30, in <module></module><br />
import Image<br />
ImportError: No module named Image<br />
<div>
<br /></div>
<div>
Одним из изменений в бэкенде было добавление работы с изображениями с помощью библиотеки PIL. Так как подгружаемый модуль назывался Image, то проблему я попытался решить так</div>
<div>
<br /></div>
<div>
easy_install Image</div>
<div>
<br /></div>
<div>
потом так</div>
<div>
<br /></div>
<div>
easy_install image</div>
<div>
<br /></div>
<div>
потом вообще вот так</div>
<div>
<br /></div>
<div>
easy_install imaging</div>
<div>
<br /></div>
<div>
но ничего не сработало, НО решение супер простое</div>
<div>
<br /></div>
<div>
easy_install PIL :-))</div>
</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com1tag:blogger.com,1999:blog-1962392439531296678.post-9413055143873758662012-06-20T18:16:00.000-07:002012-06-20T18:23:05.126-07:00Что такое меритократия<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Читая <a href="http://www.regnum.ru/news/it/1543269.html">эту статью</a>, опять наткнулся на невиданое ранее мною слово - меритократие. Итак, что же это такое. Приведу определение согласно вики.
<br />
<div>
<br />
<div style="text-align: justify;">
Меритокра́тия (букв. «власть достойных», от лат. meritus — достойный и др.-греч. κράτος — власть, правление) — принцип управления, согласно которому руководящие посты должны занимать наиболее способные люди, независимо от их социального происхождения и финансового достатка.
</div>
</div>
</div>
</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-32532875026777733102012-06-19T09:40:00.000-07:002012-06-19T09:40:28.741-07:00Фаланстер<div dir="ltr" style="text-align: left;" trbidi="on">
Читая <a href="http://vk.com/topic-34168005_26703795">историю магазина "Фаланстер"</a>, заинтересовало - что же это за слово такое. <b>Термин «фаланстер»</b> придумал французский утопист Шарль Фурье для обозначения трудовой ячейки, каждый участник которой работает ради общего блага.</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-5553023444664216622012-06-16T10:45:00.000-07:002012-06-16T10:45:32.192-07:00CSS переменные в webkit [перевод]<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Мой вольный (и первый) перевод статьи <a href="http://www.phpied.com/css-variables/">CSS variables</a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ура! Наконец-то <a href="http://trac.webkit.org/changeset/120154">в webkit появилась поддержка переменных в CSS</a>. Это очень круто!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
К сожалению, я пока не смог увидеть воочию все перелести переменных в ночных сборках Webkit (возможно я что-то и упустил), но факт остается фактам - Webkit теперь поддерживает переменные в CSS. При этом остаются ярые противники внедрения переменных в язык. Они утверждают, что это противоречит сути каскадных таблиц стилей. Но <a href="http://www.w3.org/TR/css-variables/">W3C внесло предложение стандарта использования переменных</a> и современные браузерные движки начали реализовывать этот стандарт. Так что движуха началась!</div>
<a name='more'></a><br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Поговорим о синтаксисе. Согласно W3C идея переменных состоит в слдующем - вы объявляете переменную (одновременно присвоив ей какое-либо значение), а затем, при необходимости, используете ее.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Приведу пример задания значения переменной my-color. Эта переменная будет глобальной (и поэтому будет находиться в секции :root).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<pre style="background-color: #f8f8f8; color: #333333; font-size: 10pt; line-height: 25px;"><span class="hl-special" style="color: navy;">:root</span><span class="hl-code" style="color: grey;"> </span><span class="hl-brackets" style="color: olive;">{</span><span class="hl-code" style="color: grey;">
</span><span class="hl-reserved" style="color: green;">var-my-color:</span><span class="hl-code" style="color: grey;"> </span><span class="hl-var" style="color: darkblue;">#fad</span><span class="hl-reserved" style="color: green;"></span><span class="hl-code" style="color: grey;">;
</span><span class="hl-brackets" style="color: olive;">}</span></pre>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Использовать переменную надо так:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<pre style="background-color: #f8f8f8; color: #333333; font-size: 10pt; line-height: 25px;"><span class="hl-identifier" style="color: blue;">.thing</span><span class="hl-code" style="color: grey;"> </span><span class="hl-brackets" style="color: olive;">{</span><span class="hl-code" style="color: grey;">
</span><span class="hl-reserved" style="color: green;">color:</span><span class="hl-code" style="color: grey;"> </span><span class="hl-code" style="color: grey;">var</span><span class="hl-code" style="color: grey;">(</span><span class="hl-code" style="color: grey;">my-color</span><span class="hl-code" style="color: grey;">)</span><span class="hl-reserved" style="color: green;"></span><span class="hl-code" style="color: grey;">;
</span><span class="hl-brackets" style="color: olive;">}</span></pre>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
После такого использования объекты класса .thing будут иметь цвет #fad.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
У вебкита есть некоторая особенность использования переменных - использования фирменного префикса webkit-. В этом случае вышеобозначенный пример будет выглядеть следуюзим образом:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<pre style="background-color: #f8f8f8; color: #333333; font-size: 10pt; line-height: 25px;"><span class="hl-special" style="color: navy;">:root</span><span class="hl-code" style="color: grey;"> </span><span class="hl-brackets" style="color: olive;">{</span><span class="hl-code" style="color: grey;">
-</span><span class="hl-reserved" style="color: green;">webkit-var-my-color:</span><span class="hl-code" style="color: grey;"> </span><span class="hl-var" style="color: darkblue;">#fad</span><span class="hl-reserved" style="color: green;"></span><span class="hl-code" style="color: grey;">;
</span><span class="hl-brackets" style="color: olive;">}</span></pre>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<pre style="background-color: #f8f8f8; color: #333333; font-size: 10pt; line-height: 25px;"><span class="hl-identifier" style="color: blue;">.thing</span><span class="hl-code" style="color: grey;"> </span><span class="hl-brackets" style="color: olive;">{</span><span class="hl-code" style="color: grey;">
</span><span class="hl-reserved" style="color: green;">color:</span><span class="hl-code" style="color: grey;"> -</span><span class="hl-code" style="color: grey;">webkit-var</span><span class="hl-code" style="color: grey;">(</span><span class="hl-code" style="color: grey;">my-color</span><span class="hl-code" style="color: grey;">)</span><span class="hl-reserved" style="color: green;"></span><span class="hl-code" style="color: grey;">;
</span><span class="hl-brackets" style="color: olive;">}</span></pre>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
По <a href="http://trac.webkit.org/browser/trunk/LayoutTests/fast/css/variables">этой ссылке</a> можно увидеть другие примеры использования переменных.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
И немного о будущем. Со временем использование переменных станет чуточку проще. Например,<a href="http://dev.w3.org/csswg/css-variables/"> согласно стандарту</a> для получения значения переменной можно будет использовать знак $ заместо var(). И это уже смахивает на наш любимый php:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<pre style="background-color: #f8f8f8; color: #333333; font-size: 10pt; line-height: 25px;"><span class="hl-special" style="color: navy;">:root</span><span class="hl-code" style="color: grey;"> </span><span class="hl-brackets" style="color: olive;">{</span><span class="hl-code" style="color: grey;">
</span><span class="hl-reserved" style="color: green;">var-my-color:</span><span class="hl-code" style="color: grey;"> </span><span class="hl-var" style="color: darkblue;">#fad</span><span class="hl-reserved" style="color: green;"></span><span class="hl-code" style="color: grey;">;
</span><span class="hl-brackets" style="color: olive;">}</span><span class="hl-code" style="color: grey;">
</span><span class="hl-identifier" style="color: blue;">.thing</span><span class="hl-code" style="color: grey;"> </span><span class="hl-brackets" style="color: olive;">{</span><span class="hl-code" style="color: grey;">
</span><span class="hl-reserved" style="color: green;">color:</span><span class="hl-code" style="color: grey;"> $</span><span class="hl-code" style="color: grey;">my-color</span><span class="hl-reserved" style="color: green;"></span><span class="hl-code" style="color: grey;">;
</span><span class="hl-brackets" style="color: olive;">}</span></pre>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
PS</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Это мой первый перевод, жду от вас конструктивной критики:)</div>
</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-9239392893688739952012-06-15T10:23:00.001-07:002012-06-15T10:23:41.693-07:00jQuery не выполняется функция-аргумент для метода submit()<div dir="ltr" style="text-align: left;" trbidi="on">
Наткнулся на такую проблему. Есть форма с id="uploadForm". Нужно было привязать обработчик плагин jQuery.form к методу отправки формы и засабмитить форму. Код прост до безобразия:<div>
<br /></div>
<div>
<div>
$("#uploadForm").submit(function(){</div>
<div>
$(this).ajaxSubmit({});</div>
<div>
return false;</div>
<div>
});</div>
</div>
<div>
<br /></div>
<div>
Но отправка формы не происходила. Долго не мог понять почему. Решение помог найти <a href="http://stackoverflow.com/questions/8186174/jquery-call-of-anonymous-function-doesnt-work-in-submit">этот пост со стэка</a>. Проблема была в том, что когда мы передаем анонимную функцию в качестве аргумента для метода submit() - то мы лишь биндим эту функцию на сабмит формы, но сам сабмит не делаем.</div>
<div>
<br /></div>
<div>
Таким образом правильный код будет такой:</div>
<div>
<br /></div>
<div>
<div>
$("#uploadForm").submit(function(){</div>
<div>
$(this).ajaxSubmit({});</div>
<div>
return false;</div>
<div>
}).submit();</div>
</div>
</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-88375788896543724212012-06-15T09:49:00.001-07:002012-06-15T09:49:26.906-07:00Очистка кеша в Google Chrome в один клик!<div dir="ltr" style="text-align: left;" trbidi="on">
В ходе фронэнд разработки извечная проблема - кеш браузера. В моем случае хром постоянно что-то да кеширует и при каждой незначительной правке приходилось лезть в настройки, искать там очистку кеша и очищать - очень долго. Пошарился по каталогу расширений хрома и нашел решение - плагин <a href="https://chrome.google.com/webstore/detail/cppjkneekbjaeellbfkmgnhonkkjfpdn/reviews">Clear Cache</a>. После установки плагина в настройках указал ему параметр, чтобы после сброса кеша он автоматом релоадил страничку. Супер!<br />
<br />
PS<br />
<br />
Еще бы забиндить хоткей на вызов плагина - было бы вообще шикарно.</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com1tag:blogger.com,1999:blog-1962392439531296678.post-22025408174443750932012-06-10T06:31:00.000-07:002012-06-10T06:31:39.083-07:00Python: как записать в файл<div dir="ltr" style="text-align: left;" trbidi="on">
f = open("out.txt", "w")<br />
print >>f, "Hello, world!"</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-21465267081673230272012-06-02T04:21:00.000-07:002012-06-02T04:21:50.271-07:00Зеленый экран вместо видео YouTube, Вконтакте, ...<div dir="ltr" style="text-align: left;" trbidi="on">
Возникла проблема с просмотром видео на ютубе, вконтакте - вобщем, во всех флэш-проигрывателях. Решение оказалось достаточно неождианным:)<br />
<br />
1. Запускаем видео;<br />
2. Жмем правой кнопкой по зеленому фону, который заместо видео показывается;<br />
3. Жмем "Параметры";<br />
4. Нажимаем в горизонтальном списке иконок на первую иконку (с изображением монитора и какойто фигуры внутри);<br />
5. Убираем галочку "Включить аппаратное ускорение".<br />
<br />
Закрываем окно параметров. И перезагружаем страницу. Вуаля, видео работает.<br />
<br />
PS<br />
Причин этой проблемы не искал, но, вероятно, все дело в драйверах видеокарты.</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com1tag:blogger.com,1999:blog-1962392439531296678.post-47686040620559016352011-12-03T09:39:00.001-08:002011-12-03T09:51:59.855-08:00В чем разница между куками и сессиями (cookie vs sessions)<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Все вы наверняка слышали такие понятия, как сессии и куки. Этим постом я хочу пояснить в чем же состоит различие между столь близкими понятиями.<br />
<a name='more'></a></div>
<div style="text-align: justify;">
<br />
И сессии и куки используются с одной и той же целью - хранение некой служебной информации о пользователе. Это может быть пара логин + хеш пароля, это могут быть настройка громкости видеоплеера, список покупок в корзине интернет магазина и т.п. Основной различие состоит в том, что куки хранятся на клиентской машине, а сессии хранятся на сервере. При этом стоит учесть, что кука живет в браузере до тех пор, пока пользователь ее не сотрет, а сессия живет до момента закрытия браузера.<br />
<br /></div>
<div style="text-align: justify;">
Таким образом напрашиваются следующие выводы. Куки удобно использовать например в случае организации авторизации на сайте - чтобы пользователю не пришлось каждый раз вводить свой логин и пароль, мы просто запишем их в куку и каждый раз когда потребуется будем сверять эти данные. Если же попытаться использовать для этой цели сессии, то мы не получим желаемого эффекта, это очевидно.<br />
<br /></div>
<div style="text-align: justify;">
В завершении скажу, что обычно куки и сессии используются совместно для достижения максимальной эффективности в работе вашего веб-приложения.</div>
</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-68433274872875977782011-10-20T12:20:00.001-07:002011-10-20T12:20:29.255-07:00Использование grep для поиска строки в файлах<div dir="ltr" style="text-align: left;" trbidi="on">
Ссылка на полезную статью под катом
<a name='more'></a><br />
<br />
<a href="http://unixblog.org.ua/shell/grep/">Тыц</a></div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-4652525147952112392011-10-14T09:53:00.000-07:002011-10-14T09:53:52.942-07:00PHP ошибка Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM<div dir="ltr" style="text-align: left;" trbidi="on">
Вчера был озадачен, тем что в логах веб-сервера была такая ошибка php<br />
<a name='more'></a><br />Parse error: syntax error, unexpected <b>T_PAAMAYIM_NEKUDOTAYIM </b>in /home/admin/data/www/mysite.ru/script.php<br />
<br />
Очень удивился идентификатору ошибки не на английском языке. Гугл привел вот <a href="http://ru-php.livejournal.com/431298.html">сюда</a>. Выяснилось, что дословно (с иврита - поправьте если не правильно указал язык) эта ошибка переводится как "двойное двоеточие". И вправду, в скрипте был такой кусок<br />
<br />
$myobj::doAction();<br />
<br />
где $myobj - это объект класса, а doAction() некоторый метод, что есть полный бред, ибо для того чтобы вызвать метод объекта нужно писать<br />
<br />
$myobj->doAction();<br />
<br />
а пресловутое двойное двоеточие используется для вызова метода класса, независимо от объекта:<br />
<br />
MyClass::doAction();<br />
<br />
где MyClass - название класса (так как это назваие класса, а не переменная, то знак доллара не нужен).</div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com1tag:blogger.com,1999:blog-1962392439531296678.post-11564767379059315702011-09-28T09:36:00.000-07:002011-09-30T02:02:48.753-07:00Не пиши идеальный код - делай идеальные проекты!:)<div dir="ltr" style="text-align: left;" trbidi="on">
Пока вы будете стремиться сделать что-то очень хорошо, вас всегда будут обгонять на повороте те, кто делают лишь достаточно хорошо, чтобы этим можно было пользоваться.
<a name='more'></a>
<span class="Apple-style-span" style="background-color: white; font-family: Verdana, sans-serif; font-size: 14px; line-height: 20px;"><br /></span><br />
по мотивам<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><span class="Apple-style-span" style="font-size: 14px; line-height: 20px;"> <a href="http://habrahabr.ru/blogs/complete_code/129171/">этой статьи</a></span></span></div>
Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-5596937666455561412011-09-18T09:35:00.000-07:002011-09-19T00:23:34.076-07:00MySQL: вставить данные в таблицу на основе данных из другой (INSERT..SELECT)<div dir="ltr" style="text-align: left;" trbidi="on">
Для того, чтобы вставить данные в некоторую таблицу, используя данные из другой (или других) таблиц, делаем так:<br />
<a name='more'></a><br />
INSERT INTO `destination_table` (`field1`, `field2`)<br />
SELECT a.field5, a.field6<br />
FROM `source_table` as a;<br />
<br />
Добавлю, что сегодня столкнулся с проблемой - необходимо было сделать две вставки подряд на овснове одной и той же строки таблицы-донора (из которой берем данные для вставки). Решение и подробности <a href="http://stackoverflow.com/questions/7460548/double-insert-in-one-insert-select-query">тут</a>.<br />
<div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-5444256706929039292011-09-18T09:27:00.001-07:002011-09-18T09:28:28.458-07:00MySQL: удалить все записи в таблице<div dir="ltr" style="text-align: left;" trbidi="on">
Для удаления всех записей (всех строк) в таблице СУБД MySQL, используем:
<a name='more'></a><br />
<br />
DELETE FROM `table_name`;</div>
Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com1tag:blogger.com,1999:blog-1962392439531296678.post-61140319610794329782011-09-18T09:25:00.000-07:002011-09-18T09:25:32.870-07:00Debian - узнать кодировку системы<div dir="ltr" style="text-align: left;" trbidi="on">
Для того, чтобы узнать текущую используемую кодировку в системе (<b>локаль</b>) нужно выполнить команду:
<br />
<a name='more'></a><br />
locale<br />
<br />
А для того, чтобы вывести список всех установленных в системе локалей, выполняем:<br />
<br />
locale -a</div>
Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-26029141125556454832011-09-16T12:27:00.000-07:002011-09-17T03:37:38.703-07:00Интернет-магазин Chrome<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Обновил сегодня свой любимый Google Chrome и заметил, что приоткрытии новой вкладки заместо привычного списка часто посещаемых сайтов стоит большая кнопка с предложением посетить интернет-магазин расширений для Google Chrome.</div>
<a name='more'></a><div style="text-align: justify;">
<br />
Сам магазин внешне мне очень понравился. Но перейду сразу к делу, а точнее сказать попиарю два расширения, которые мне понравились и которые реально упрощают мне жизнь!:)</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
1. <b><a href="https://chrome.google.com/webstore/detail/alelhddbbhepgpmgidjdcjakblofbmce">Awesome Screenshot</a></b></div>
<div style="text-align: justify;">
Позволяет <b>на лету делать скриншоты</b>:</div>
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li style="text-align: justify;">всего экрана</li>
<li style="text-align: justify;">только видимой в браузере части</li>
<li style="text-align: justify;">выбранной области</li>
</ul>
<div style="text-align: justify;">
Ну это все фигня. До этого все эти функции на моем компе выполнял Snagit - НО Snagit не позволяет аплоадить сделанный скриншот и в мгновение ока получать ссылку на нужный скриншот. Также отмечу, что элементарное редактирование также доступно - рисование стрелочек, кружков, квадратов, линий, etc...</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
2. <b><a href="https://chrome.google.com/webstore/detail/decdfngdidijkdjgbknlnepdljfaepji">Read Later Fast</a></b></div>
<div style="text-align: justify;">
А вот это уже гвоздь сегодняшнего поста. Не знаю как вы, а я довольно часто, находя нужную информацию в процессе работы или просто серфинга инета оставляю штук 70 открытых вкладок. Раньше спасала панель <b>закладок в браузере</b>. Но закладок там накопилось очень много. И на данный момент хром отказывается добавлять туда новые закладки, вот подлец!:) </div>
<div style="text-align: justify;">
Ситуацию разруливает данное расширение - если текущая страница вас заинтриговала и вы хотите потом ее почитать или еще что-то с ней сделать:)) , то просто жмем ПКМ и выбираем пункт меню "read later" - все вкладка закроется и страница сохранится (дада, оффлайновый просмотр будет возможен). </div>
<div style="text-align: justify;">
Еще отмечу, что данное расширение позволяет на данный момент синхронизироваться с <a href="http://diig.com/">diigo.com</a>. В планах - синхронизация с evernote, dropbox, etc...</div>
</div>
Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com2tag:blogger.com,1999:blog-1962392439531296678.post-90793032694849681682011-06-15T09:56:00.000-07:002011-06-15T09:56:45.962-07:00По мотивам 97 этюдов для архитекторов программных систем<div dir="ltr" style="text-align: left;" trbidi="on">Мир не идеален, и чем быстрее это поймешь, тем быстрее получишь работающее приложение.<br />
<br />
По мотивам <a href="http://www.books.ru/forum/msglist?msgid=34055&bc=books_o&bi=745663">этой ссылки</a></div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0tag:blogger.com,1999:blog-1962392439531296678.post-88930576243707437192011-06-15T03:26:00.000-07:002011-06-15T03:28:44.694-07:00Как получить список всех *.js файлов с абсолютным путем и вывести в файл<div dir="ltr" style="text-align: left;" trbidi="on">Мне было необходимо получить список всех js файлов в определенной папки рекурсивно, сделал вот так:<br />
<a name='more'></a><br />
<span class="Apple-style-span" style="border-collapse: collapse; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px;">find $PWD -name '*.js' > out.txt</span></div>Anonymoushttp://www.blogger.com/profile/15949170568431614371noreply@blogger.com0