Раньше как-то пользовался OpenDNS (провайдер не мог добиться стабильной работы своих DNS серверов). Но он кое чем меня не устраивал.
Теперь google открыл свои публичные DNS сервера. Их адреса:
8.8.8.8
8.8.4.4
Ну и статья как их использовать.
3 декабря 2009 г.
27 октября 2009 г.
Дебагинг django в eclipse c помощью PyDev
Pydev в сентябре переехал. Да еще его расширения стали Open Source:
Изменился и сайт апдейта для eclipse - http://pydev.org/updates .
А что нам это дает? А это нам дает бесплатную штуку под названием "Debug 'server' for remote debugging", с помощью которой можно дебажить django очень удобным способом.
Для начала выполняем условия, как написано здесь, в том числе заносим в PYTHONPATH в настройках Eclipse путь примерно следующего содержания
"eclipse\plugins\org.python.pydev.debug_1.5.0.1251989166\pysrc\" (найдете у себя подобный) и запускаем сервер (из перспективы debug):

Добавляем следующий код в manage.py (после if __name__ == "__main__":) проекта, что дает нам возможность обернуть PyDev брейкпоинты в pydevd.settrace(), который пересылает трейс Debug Remote серверу (для теста рекомендую сначала использовать --noreload и pydevd.settrace(), и убедиться, что трейс возникает именно на Debug Remote server, так же можно попробовать запускать проект не в режиме дебага, а в режиме run, трейс должен отправляться в любом режиме):

А для чего мы это, собственно говоря, делали? А чтобы запускать runserver без --noreload. Чтобы и изменение кода и брейкпоинты обрабатывались "онлайн".
Примерно вот такая картина:
Pydev Extensions is now merged with Pydev, and its once closed source code has become open source. Thus, there is no more Pydev Extensions, only the open source Pydev, with all the capabilities of Pydev Extensions incorporated.
Изменился и сайт апдейта для eclipse - http://pydev.org/updates .
А что нам это дает? А это нам дает бесплатную штуку под названием "Debug 'server' for remote debugging", с помощью которой можно дебажить django очень удобным способом.
Для начала выполняем условия, как написано здесь, в том числе заносим в PYTHONPATH в настройках Eclipse путь примерно следующего содержания
"eclipse\plugins\org.python.pydev.debug_1.5.0.1251989166\pysrc\" (найдете у себя подобный) и запускаем сервер (из перспективы debug):

Добавляем следующий код в manage.py (после if __name__ == "__main__":) проекта, что дает нам возможность обернуть PyDev брейкпоинты в pydevd.settrace(), который пересылает трейс Debug Remote серверу (для теста рекомендую сначала использовать --noreload и pydevd.settrace(), и убедиться, что трейс возникает именно на Debug Remote server, так же можно попробовать запускать проект не в режиме дебага, а в режиме run, трейс должен отправляться в любом режиме):
import sys
if len(sys.argv) > 1:
command = sys.argv[1]
if settings.DEBUG and (command == "runserver" or command == "testserver"):
# Make pydev debugger works for auto reload.
try:
import pydevd
except ImportError:
sys.stderr.write("Error: " +
"You must add org.python.pydev.debug.pysrc to your PYTHONPATH.")
sys.exit(1)
from django.utils import autoreload
m = autoreload.main
def main(main_func, args=None, kwargs=None):
import os
if os.environ.get("RUN_MAIN") == "true":
def pydevdDecorator(func):
def wrap(*args, **kws):
pydevd.settrace(suspend=False)
return func(*args, **kws)
return wrap
main_func = pydevdDecorator(main_func)
return m(main_func, args, kwargs)
autoreload.main = main

А для чего мы это, собственно говоря, делали? А чтобы запускать runserver без --noreload. Чтобы и изменение кода и брейкпоинты обрабатывались "онлайн".
Примерно вот такая картина:

24 октября 2009 г.
Google Chorme в Debian
Debian в качестве ОС для нетбука asus eeepc 1000 меня полностью устраивал. Во всем, кроме браузеров. Идущий в комплекте Iceweasel ничем не отличился от обычного firefox, который я установил, после Iceweasel. И тот и другой потребляли неимоверное количество памяти и процессора, веб разработка на коленке казалась просто невозможной. Flash плеер, который идет в дебиане (не помню его название) - это просто тихий ужас. Он был заменен официальным с сайта adobe. После этого флеш заработал как надо, но потребляет очень много процессорного времени.
Так как в общем, такая скорость меня не устраивала, решил попробовать Google Chrome. Стабильного релиза под линукс до сих пор нет, официальный сайт google предлагает нам оставить e-mail для оповещения о выходе релиза браузера. Но, как известно, есть не стабильная ветка, deb пакет которой можно взять отсюда: http://dev.chromium.org/getting-involved/dev-channel
Я скачал dev пакет, установил.
Все очень приятно удивляло.
1. Пакет устанавливает дополнительный репозиторий, с которого, по-видимому, он планирует обновляться.
2. Первый запуск - предложение импортировать настройки браузера с firefox.
3. Русский интерфейс (правда не весь, новые функции наверное не успевают переводить).
4. БОльшая полезная площадь страниц (что особенно актуально в нетбуках).
5. Ну конечно скорость! Намного шустрее.
6. Поедание памяти (без флеша -1-3% на 10 вкладках, в то время как мозила - до 20%).
С флешом таже беда, флеш на torrents.ru занимает 50% процессора сразу. Но это проблема флеша, попробую найти ее решение позже.
Далее, мне нужен был firebug или аналог.
В самом Crome есть DeveloperTools - который, в принципе, может заменить и firebug - он уже сейчас предоставляет много функций, хотя может быть не привычно для любителей firebug'а.
Также, хромисты пошли дальше, выпустили в августе так называемый CrhomeDevtools, который позволяет использовать eclipse для дебага яваскрипта в eclipse.

Еще есть приложение диспетчер задач. Он показывает нагрузку на процессор и скорость закачки страниц, как для всего браузера, так и для каждой вкладки (у меня скорость показывал для каждой вкладки, а процессор - нет, только общий, наверное не сделано еще).
В общем, первые впечатления самые наиположительнейшие, дерзайте.
Так как в общем, такая скорость меня не устраивала, решил попробовать Google Chrome. Стабильного релиза под линукс до сих пор нет, официальный сайт google предлагает нам оставить e-mail для оповещения о выходе релиза браузера. Но, как известно, есть не стабильная ветка, deb пакет которой можно взять отсюда: http://dev.chromium.org/getting-involved/dev-channel
Я скачал dev пакет, установил.
Все очень приятно удивляло.
1. Пакет устанавливает дополнительный репозиторий, с которого, по-видимому, он планирует обновляться.
2. Первый запуск - предложение импортировать настройки браузера с firefox.
3. Русский интерфейс (правда не весь, новые функции наверное не успевают переводить).
4. БОльшая полезная площадь страниц (что особенно актуально в нетбуках).
5. Ну конечно скорость! Намного шустрее.
6. Поедание памяти (без флеша -1-3% на 10 вкладках, в то время как мозила - до 20%).
С флешом таже беда, флеш на torrents.ru занимает 50% процессора сразу. Но это проблема флеша, попробую найти ее решение позже.
Далее, мне нужен был firebug или аналог.
В самом Crome есть DeveloperTools - который, в принципе, может заменить и firebug - он уже сейчас предоставляет много функций, хотя может быть не привычно для любителей firebug'а.
Также, хромисты пошли дальше, выпустили в августе так называемый CrhomeDevtools, который позволяет использовать eclipse для дебага яваскрипта в eclipse.

Еще есть приложение диспетчер задач. Он показывает нагрузку на процессор и скорость закачки страниц, как для всего браузера, так и для каждой вкладки (у меня скорость показывал для каждой вкладки, а процессор - нет, только общий, наверное не сделано еще).
В общем, первые впечатления самые наиположительнейшие, дерзайте.
Ярлыки:
chromebug,
debian,
firebug,
Google Chorme
3 сентября 2009 г.
Отмена обработки события load дизайнером форм Visual Studio 2005
Иногда при конструировании сложных форм в Visual Studio, особенно при наследовании Дизайнер студии не справляется с загрузкой сторонних компонентов из солюшена (например, не может динамически прилинковать class assembly другого проекта солюшена).
Дизайнер обрабатывает конструктор и событие Load формы\контрола.
Решается это довольно просто, вот таким способом мы определяем, что загрузка функции идет от дизайнера и прекращаем обработку события (или конструктора).
Дизайнер обрабатывает конструктор и событие Load формы\контрола.
Решается это довольно просто, вот таким способом мы определяем, что загрузка функции идет от дизайнера и прекращаем обработку события (или конструктора).
private void MyUserControl_Load(object sender, EventArgs e)
{
if (this.DesignMode) return;
... а здесь наш код ...
}
Ярлыки:
.NET,
C#,
Visual Studio 2005
1 сентября 2009 г.
Nhibernate в .NET
Надоел мне, так называемый raw SQL на работе, и воодушевившийся django я подумал, а нет ли ORM для C# .NET 2.0 (тем более, что в NET 3.5 и студии 2008 уже заложена пооддержка ORM в виде LINQ (хотя, как я понял - это не совсем ORM, а скорее аналог HQL). Оказалось есть и не одна.
Так как я приверженец os, поэтому неудивительно, что мой выбор пал на NHibernate.
http://ru.wikipedia.org/wiki/NHibernate
Чтобы быстро начать с ним работать, рекомендую просмотреть следущие скринкасты:
Summer of nhibernate
Через день вы сможете уже писать приложения, используя NHibernate, что в дальнейшем сэкономит вам уйму времени (написать один класс для таблицы и все - использовать эти классы в любой программе).
В общем, рекомендую посмотреть, а потом решить, подходить ли данное решение для Вас.
ps. приверженцы Djanjo оценят, я уверен =)
pps. Да, с Днем Знаний всех! Помните, учиться никогда не поздно! ;)
укапывп
Так как я приверженец os, поэтому неудивительно, что мой выбор пал на NHibernate.
NHibernate — ORM-решение для платформы Microsoft .NET портированное с Java. Это бесплатная библиотека с открытым кодом, распространяется под лицензией GNU Lesser General Public License.
NHibernate позволяет отображать объекты бизнес-логики на реляционную базу данных. По заданному XML-описанию сущностей и связей NHibernate автоматически создает SQL-запросы для загрузки и сохранения объектов.
NHibernate является портом на .NET популярной на платформе Java библиотеки Hibernate. Версия 1.0 покрывает набор возможностей Hibernate 2.1, а также часть возможностей Hibernate 3. NHibernate 1.2.1, выпущенная в ноябре 2007 года, предоставляет ещё больше возможностей из Hibernate 3, поддерживает .NET 2.0, хранимые процедуры, generics и nullable типы. NHibernate 2.0.1, выпущенная в конце сентября 2008 года предоставляет бо́льшую часть возможностей Hibernate 3.
Поддерживаемые СУБД
* Microsoft SQL Server
* Oracle
* Microsoft Access
* Firebird
* PostgreSQL
* DB2 UDB
* MySQL
* SQLite
http://ru.wikipedia.org/wiki/NHibernate
Чтобы быстро начать с ним работать, рекомендую просмотреть следущие скринкасты:
Summer of nhibernate
Через день вы сможете уже писать приложения, используя NHibernate, что в дальнейшем сэкономит вам уйму времени (написать один класс для таблицы и все - использовать эти классы в любой программе).
В общем, рекомендую посмотреть, а потом решить, подходить ли данное решение для Вас.
ps. приверженцы Djanjo оценят, я уверен =)
pps. Да, с Днем Знаний всех! Помните, учиться никогда не поздно! ;)
укапывп
Ярлыки:
.NET C#,
Nhibernate,
ORM,
SQL
31 августа 2009 г.
Используем gitextensions
Я сначала даже писать не хотел, все так ясно и прозрачно. Но так как на русском ничего нет, то решил все-таки кое-чего написать.
Для начала возможности gitextensions
* интеграция Git в Windows Explorer
* Плагин в Visual Studio (2005/2008) для Git
* Богатый пользовательский интерфейс Git
* Один инсталлер для Git, GitExtensions и утилиты слияния KDiff3
* поддержка 32bit и 64bit!
Ну собственно, качаем, устанавливаем.
Вот так выглядит плагин для студии:

Для push'а в нашу установку установки GIT сервера, прописываем путь примерно так:
gituser@SERVER:project.git
в поле url на следующем скрине:

На странице проекта много скринов примеров использования.
Больших сложностей в использовании я не вижу, удачи! ;)
Для начала возможности gitextensions
* интеграция Git в Windows Explorer
* Плагин в Visual Studio (2005/2008) для Git
* Богатый пользовательский интерфейс Git
* Один инсталлер для Git, GitExtensions и утилиты слияния KDiff3
* поддержка 32bit и 64bit!
Ну собственно, качаем, устанавливаем.
Вот так выглядит плагин для студии:

Для push'а в нашу установку установки GIT сервера, прописываем путь примерно так:
gituser@SERVER:project.git
в поле url на следующем скрине:

На странице проекта много скринов примеров использования.
Больших сложностей в использовании я не вижу, удачи! ;)
Ярлыки:
git,
gitextensions,
KDiff3,
Visual Studio
25 августа 2009 г.
Первый сайт на Django. izmenimsya.ru
Ну как бы больше для развлечения. :)

Вот такие штуки можно добавлять в подпись на форумах или в блоги:


ps. Кстати, лого нарисован в blender :)

Что такое izmenimsya.ru?
Вы знаете, иногда мы хотим стать лучше, но все время это лучшее оттягиваем на потом.
Бросить курить, бросить выпивать, бросить наркотики, не изменять, жертвовать, не врать, делать добро, выучить физику.
Подумав, мы решили, что под пристальным взглядом общественности, когда за твоим "изменением" следят тысячи, сорваться (избавляясь от чего-то) гораздо сложнее, а делать больше - гораздо проще.
читать дальше...
Вот такие штуки можно добавлять в подпись на форумах или в блоги:


ps. Кстати, лого нарисован в blender :)
Ярлыки:
сайт,
django,
izmenimsya.ru
Подписаться на:
Сообщения (Atom)