Существует много разработанных теорий, задокументированных технологий и парадигм программирования. Перед тем как углубиться с головой в их изучение было бы мудро изучить сам принцип взаимодействия программ и их структур. UML предлагаем вам разработанный стандарт что бы сделать это.
Sapien2 @Sapien2
Пользователь
Expert Python Programming
2 мин
6.1K Совсем недавно (24.09.08) Tarek Ziadé анонсировал публикацию своей замечательной книги (IMHO).
В первую очередь она предназначена для людей, обладающих опытом программирования на языке Python, и желающих повысить свои навыки.
Expert Python Programming это не очередная книга о синтаксисе языка программирования Python, это книга о платформе Python, об основных библиотеках и инструментах, используемых для написания профессиональных приложений. В ней рассматриваются такие процессы разработки программного обеспечения, как непрерывная интеграция, документация, тестирование, релизинг, рефакторинг и прочее.
Из книги вы узнаете какие использовать IDE, DVCS, фреймворки тестирования, технику оптимизации; как выпускать и поддерживать разработанные приложения; как документировать код, используя reStructuredText и Sphynx; как распространять с помощью setuptools и других инструментов (PasteScript, zc.buildout, builbots); как использовать систему issue/bag трекинга Trac.
* Детальная информация о книге
* Подробный обзор Мишеля Симонато (Michele Simionato)
* Блог автора
* Chapter 10, Documenting Your Project. [PDF 3MB]
Для кого написана
В первую очередь она предназначена для людей, обладающих опытом программирования на языке Python, и желающих повысить свои навыки.
Expert Python Programming это не очередная книга о синтаксисе языка программирования Python, это книга о платформе Python, об основных библиотеках и инструментах, используемых для написания профессиональных приложений. В ней рассматриваются такие процессы разработки программного обеспечения, как непрерывная интеграция, документация, тестирование, релизинг, рефакторинг и прочее.
Из книги вы узнаете какие использовать IDE, DVCS, фреймворки тестирования, технику оптимизации; как выпускать и поддерживать разработанные приложения; как документировать код, используя reStructuredText и Sphynx; как распространять с помощью setuptools и других инструментов (PasteScript, zc.buildout, builbots); как использовать систему issue/bag трекинга Trac.
Ссылки
* Детальная информация о книге
* Подробный обзор Мишеля Симонато (Michele Simionato)
* Блог автора
* Chapter 10, Documenting Your Project. [PDF 3MB]
+24
Задачка "Hello World"
1 мин
6.8KИтак, вопрос знатокам: Сколько раз на экране появится заветная фраза при выполнении этой программы?
#include <iostream>
int main(int argc, char* argv[])
{
int i = 10;
std::cout<<"Hello World!"<<std::endl;
// Сколько раз???
while(i--)
{
// Сколько раз будет вызвана эта строка???/
for(int j=0; j<10; j++)
std::cout<<"Hello World!"<<std::endl;
}
return 0;
}
+73
MaxSite CMS — первые впечатления
1 мин
15KВчера на одном из своих блогов поставил MaxSite CMS 0.22. Первые впечатления только положительные. Автор этой системы, Максим, долгое время занимался поддержкой русской версии WordPress, и вот к сентябрю этого года выпустил систему собственного изготовления, за что ему однозначный респект. Что можно отметить в первую очередь:
1. От тормознутости Вордпресса здесь не осталось и следа. Система легкая и ест совсем немного памяти.
2. В системе абсолютно ничего лишнего, по крайней мере, сразу возникает такое ощущение.
3. Настройки и вообще работа с CMS очень удобны и очевидны. У меня ушло не больше часа на то, чтобы поднять сайт, настроить его и скопировать туда свои старые тексты по теме.
4. Поддержка на очень хорошем уровне: на какие-то вопросы или замечания Максим отвечает очень быстро. Я вчера пожаловался на то, что немного некорректно работает плагин, создающий XML Sitemap, и уже буквально через час автор выложил исправленную версию.
Ну что ж, буду использовать дальше и тестировать прочие возможности. В ближайшее время планирую заняться созданием собственного темплейта.
1. От тормознутости Вордпресса здесь не осталось и следа. Система легкая и ест совсем немного памяти.
2. В системе абсолютно ничего лишнего, по крайней мере, сразу возникает такое ощущение.
3. Настройки и вообще работа с CMS очень удобны и очевидны. У меня ушло не больше часа на то, чтобы поднять сайт, настроить его и скопировать туда свои старые тексты по теме.
4. Поддержка на очень хорошем уровне: на какие-то вопросы или замечания Максим отвечает очень быстро. Я вчера пожаловался на то, что немного некорректно работает плагин, создающий XML Sitemap, и уже буквально через час автор выложил исправленную версию.
Ну что ж, буду использовать дальше и тестировать прочие возможности. В ближайшее время планирую заняться созданием собственного темплейта.
+28
Архитектура приложений — горячие точки
9 мин
26KПеревод
Как часть нашего проекта, мы свели вместе информацию об общих подходах к разработке архитектуры приложений.
+85
Программирование в ring0 для Windows: вводная статья
3 мин
32KПо долгу службы мне пришлось столкнуться с программированием драйверов под Windows. Люди, которые никогда не сталкивались с этой задачей могут предположить, что драйвера — это что-то очень сложное и непосредственно взаимодействующее с железом. Отчасти они правы, а отчасти нет. В этой статье я постараюсь рассказать о том, что же из себя представляют Windows драйвера изнутри и с чем мне пришлось столкнуться. Статья является некоторым введением и не содержит «кусков кода».
+104
Сделаем фотомодель по-быстрому!
8 мин
5.6KНе знаю о чем Вы там подумали из названия, но знайте — я этого в виду не имел! :)
Итак, продолжим становиться «Колумбами и открывать то, что до нас знали миллионы людей», кто вспомнит откуда эта почти-цитата (подсказка: про Интернет) тому 4 балла к гик-карме. Итак…
Итак, в свободное время, когда я не создаю безумные проекты, не учу людей зарабатывать на стартапах, в это время я изучаю всяческие гик-технологии, в т.ч. одна из них прямо-таки у меня стала навязчивой идеей. А именно — взять свой городок в пригороде большого города и превратить его в 3d-уровень для какой-нибудь игры (в FarCry/Crysis я продвинулся в этом больше всего), при том с фотограмметрической точностью (погрешности в метр или меньше от реального расположения домов).
Для того, чтобы это сделать нам понадобится:
Начнем с 3D моделей
Итак, продолжим становиться «Колумбами и открывать то, что до нас знали миллионы людей», кто вспомнит откуда эта почти-цитата (подсказка: про Интернет) тому 4 балла к гик-карме. Итак…
Итак, в свободное время, когда я не создаю безумные проекты, не учу людей зарабатывать на стартапах, в это время я изучаю всяческие гик-технологии, в т.ч. одна из них прямо-таки у меня стала навязчивой идеей. А именно — взять свой городок в пригороде большого города и превратить его в 3d-уровень для какой-нибудь игры (в FarCry/Crysis я продвинулся в этом больше всего), при том с фотограмметрической точностью (погрешности в метр или меньше от реального расположения домов).
Для того, чтобы это сделать нам понадобится:
- 3d-модели;
- 3d-движок;
- наука со страшным названием фотограмметрия;
- даже математика — а то, когда читаешь про Spherical harmonics — радуешься, что приматом был некоторое время; грустишь что все-равно не понимаешь о чем там...
- тонна терпения (впрочем, я не был бы мировым лентяем, если бы это и правда было так);
Начнем с 3D моделей
+99
Не мешайте мне работать!
5 мин
3.4KНаверняка не ошибусь, если напишу, что каждый программист хочет работать максимально эффективно, а каждый работодатель хочет, чтобы все его работники были максимально эффективны. Однако на самом деле часто бывает так, что даже самый мотивированный и профессиональный программист не может работать эффективно, а работает только на 10-20% своей силы. И постепенное его мотивация угасает, а 10-20% превращаются в 1-5%.
Из-за чего это может происходить?
А происходит это из-за многочисленных преград, которые мешают работать эффективно.
Часть из этих преград невозможно убрать, не сменив работу, а с большинством можно бороться и побеждать их и именно об этом пойдет речь в этой статье.
Ниже — мой личный топ-список таких преград с комментариями для программистов и примерами из моей жизни.
Думаю, примерно такой же список актуален и для других IT-профессий.
Из-за чего это может происходить?
А происходит это из-за многочисленных преград, которые мешают работать эффективно.
Часть из этих преград невозможно убрать, не сменив работу, а с большинством можно бороться и побеждать их и именно об этом пойдет речь в этой статье.
Ниже — мой личный топ-список таких преград с комментариями для программистов и примерами из моей жизни.
Думаю, примерно такой же список актуален и для других IT-профессий.
+77
Обзор моделей работы с потоками
4 мин
26KПеревод
Обзор моделей работы с потоками
Многие люди не понимают того, как многопоточность реализована в различных языках программирования. В наши времена многоядерных процессоров такое знание будет весьма полезно.
Вот вам небольшой обзор.
+62
Использование общего C++ кода на примере браузера Chrome
1 мин
7.6KДумаю ни для кого не секрет, что новый браузер от Google — это open-source продукт, написанный на C++. Каждый может скачать его исходники на C++ и собрать свой собственный браузер из них.
А сегодня мне встретилась интересная статья Code Reuse in Google Chrome Browser. Там автор проанализировал использование общего open-source кода в этом проекте Google и нашел его превосходным. Он обнаружил как минимум 26 разных библиотек, используемых в этом проекте и описал их все в одной таблице…
Я решил сначала перевести эту таблицу на русский, т.к. она может быть полезна всем разработчикам на C++ — там много реально полезных open-source библиотек. Но эта таблица настолько проста, что перевод был бы бессмысленным — каждый сам легко разберется.
Многие из этих библиотек будут полезны не только Web-разработчикам.
А сколько open-source библиотек используется в ваших проектах? И каково отношение руководство к open-source?
На предыдущем месте работы мы использовали несколько таких библиотек — zlib, LuaPlus, TinyXml, CppUnit, библиотеки для работы с графикой (типа libpng ) и т.п.
А на новой работе отношение к open-source отрицательное и почти ничто из open-source не используется — все пишется свое с нуля.
А сегодня мне встретилась интересная статья Code Reuse in Google Chrome Browser. Там автор проанализировал использование общего open-source кода в этом проекте Google и нашел его превосходным. Он обнаружил как минимум 26 разных библиотек, используемых в этом проекте и описал их все в одной таблице…
Я решил сначала перевести эту таблицу на русский, т.к. она может быть полезна всем разработчикам на C++ — там много реально полезных open-source библиотек. Но эта таблица настолько проста, что перевод был бы бессмысленным — каждый сам легко разберется.
Многие из этих библиотек будут полезны не только Web-разработчикам.
А сколько open-source библиотек используется в ваших проектах? И каково отношение руководство к open-source?
На предыдущем месте работы мы использовали несколько таких библиотек — zlib, LuaPlus, TinyXml, CppUnit, библиотеки для работы с графикой (типа libpng ) и т.п.
А на новой работе отношение к open-source отрицательное и почти ничто из open-source не используется — все пишется свое с нуля.
+54
Исходные коды .net 3.5 sp1 для отладки в Visual Studio
1 мин
1.4K28 августа на блогах MSDN появилось сообщение о том, что стали доступными исходные коды свежей версии .net Framework 3.5 sp1. Как и ранее, исходные коды доступные через сервера Reference Source Code Center.
+23
Правила личной эффективности от ЭД
21 мин
66KЗаранее предупреждаю и извиняюсь, но оно того стоит: букаф многа.
В средней школе я был «круглым» двоечником, которого переводили в следующий класс только под значительным влиянием моего отца, в то время проректора ФПИ, довольно влиятельного (в личном общении) и властного человека.
В конце седьмого класса у меня встал выбор — идти в ПТУ или учиться дальше в школе. Все учителя, настаивали на том, что мне бесполезно учиться не то что в институте, но и в старших классах, в виду моей бездарности. Естественно, это мне не очень понравилось, и я решил стать лучшим в школе.
Попытка понять программу восьмого класса провалилась в виду отсутствия элементарных знаний предыдущих классов (начиная с второго-третьего), что не оставляло передо мной выбора, кроме как начать изучать все предметы по новой, самостоятельно.
Я взял учебники по всем предметам с младших классов и начал их читать и конспектировать. Тут же я понял, что с текущей скоростью чтения, с неразвитой памятью, с низкой скоростью конспектирования, неспособностью сконцентрировать внимание, с многочисленными друзьями со двора, одноклассниками и со спортивной секции, я вряд ли смогу изучить весь школьный материал и за пять лет.
Введение
В средней школе я был «круглым» двоечником, которого переводили в следующий класс только под значительным влиянием моего отца, в то время проректора ФПИ, довольно влиятельного (в личном общении) и властного человека.
В конце седьмого класса у меня встал выбор — идти в ПТУ или учиться дальше в школе. Все учителя, настаивали на том, что мне бесполезно учиться не то что в институте, но и в старших классах, в виду моей бездарности. Естественно, это мне не очень понравилось, и я решил стать лучшим в школе.
Попытка понять программу восьмого класса провалилась в виду отсутствия элементарных знаний предыдущих классов (начиная с второго-третьего), что не оставляло передо мной выбора, кроме как начать изучать все предметы по новой, самостоятельно.
Я взял учебники по всем предметам с младших классов и начал их читать и конспектировать. Тут же я понял, что с текущей скоростью чтения, с неразвитой памятью, с низкой скоростью конспектирования, неспособностью сконцентрировать внимание, с многочисленными друзьями со двора, одноклассниками и со спортивной секции, я вряд ли смогу изучить весь школьный материал и за пять лет.
+113
DMA для новичков или то, что вам нужно знать
5 мин
139KВсем привет, сегодня мы с вами поговорим о DMA: именно о той технологии, которая помогает вашему компьютеру воспроизводить для вас музыку, выводить изображение на экран, записывать информацию на жесткий диск, и при этом оказывать на центральный процессор просто мизерную нагрузку.
+75
Прокрастинация с пользой, или «История о структурированном отлынивании»
5 мин
9.1KЭтот текст — перевод старой, но по-прежнему актуальной статьи Джона Перри, посвященной организованному отлыниванию — способу сделать много за счёт того, что не делается что-то самое важное.
Возможно, кто-то сразу вспомнит другие способы снять это «напряжение старта», когда вместо того, чтобы начать то самое, Большое и Важное, берешься за другие, тоже полезные, но не такие срочные и важные дела, или просто дробишь большую задачу на несколько мелких и не страшных. Отлично! Теперь в вашем арсенале ещё на одно средство больше. Расскажите о своих впечатлениях в комментариях.
* * *
Я собирался написать эту статью несколько месяцев. Почему наконец собрался? Может, нашлось свободное время? Нет. Мне ещё надо просмотреть работы студентов и поставить оценки, заполнить бланки заказов на учебники, ответить на предложение Государственного научного фонда, почитать черновики диссертаций. И, чтобы не делать ничего из вышеперечисленного, я пишу эту статью.
В этом заключается суть того, что я называю «организованным отлыниванием». Удивительная стратегия, которую я недавно открыл. Она превращает злостных отлынивателей в эффективных людей, которых уважают и которыми восхищаются за то, что они способны сделать, за пользу, которую они умеют приносить.
Возможно, кто-то сразу вспомнит другие способы снять это «напряжение старта», когда вместо того, чтобы начать то самое, Большое и Важное, берешься за другие, тоже полезные, но не такие срочные и важные дела, или просто дробишь большую задачу на несколько мелких и не страшных. Отлично! Теперь в вашем арсенале ещё на одно средство больше. Расскажите о своих впечатлениях в комментариях.
* * *
Я собирался написать эту статью несколько месяцев. Почему наконец собрался? Может, нашлось свободное время? Нет. Мне ещё надо просмотреть работы студентов и поставить оценки, заполнить бланки заказов на учебники, ответить на предложение Государственного научного фонда, почитать черновики диссертаций. И, чтобы не делать ничего из вышеперечисленного, я пишу эту статью.
В этом заключается суть того, что я называю «организованным отлыниванием». Удивительная стратегия, которую я недавно открыл. Она превращает злостных отлынивателей в эффективных людей, которых уважают и которыми восхищаются за то, что они способны сделать, за пользу, которую они умеют приносить.
+38
Совместная разработка с помощью Subversion
6 мин
13KПеревод
Управлять наёмными рабочими и распределенными проектами — это просто и весело. Стоп, что за чушь? На помощь приходит хороший контроль версий — именно то, что вам нужно, чтобы правильно вести ваши проекты.
Далее — перевод статьи Collaborate and Connect with Subversion. Это мой первый перевод, поэтому был бы очень рад вашим замечаниям.
Далее — перевод статьи Collaborate and Connect with Subversion. Это мой первый перевод, поэтому был бы очень рад вашим замечаниям.
+40
Установка SVN+Trac+TracWebAdmin
3 мин
18KПривет всем!
Сегодня я расскажу как правильно и без гемора установить связку SVN + Trac + TracWebAdmin.
Сегодня я расскажу как правильно и без гемора установить связку SVN + Trac + TracWebAdmin.
Для чего все это...?
Представьте себе ситуацию: у вас есть проект, который находится на стадии разработки. Скрипты содержат тысячи строк кода. Постоянное сохранение, бэкап файлов, удаление фрагментов кода, вставка новых вынуждают вести точный контроль над исходным кодом проекта, чтобы не потерять уже существующее и проверенное. Вам приходится записывать в текстовом файле или на бумаге этапы разработки и тестирования отдельных частей системы, возможно даже записывать версии файлов. Возможно это удобно… но не надолго — насутпают моменты, когда контролировать код вручную становится физически невозможным из-за его размера. Здесь на помощь приходит система контроля за версиями SVN. Начать ознакомление можно осюда: ru.wikipedia.org/wiki/SVN. А Trac — это всего лишь удобный веб-интерфейс для еще более удобного контроля за своим проектом. Рассмотрение Trac'а можно начать отсюда: ru.wikipedia.org/wiki/Trac+32
Установка и настройка SVN (сервер+клиент)
6 мин
312KПо просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
+57
Бизнес в стиле «Купи-продай», или о войнах с таможней
5 мин
2.1KПоскольку я не умею создавать хорошие сайты, рисовать дизайны, кодить и продвигать сайты в Интернет, и я достаточно ленива для того, чтобы целыми днями делать авторские украшения и расставаться с ними за копейки, направление собственного бизнеса для меня было предопределено: купи-продай!
Почти ни один из интересующих меня видов товаров не производится в России, поэтому я вооружилась гуглом и стала искать поставщиков за границей. «К черту все! Берись и делай!» – и прошлой осенью я заказала товар из Китая, Индии и Непала на 1243, 510 и 311 долларов США соответственно, совершенно не представляя, что меня ждет, когда эти заказы приедут и, как и положено, будут задержаны таможней.
Почти ни один из интересующих меня видов товаров не производится в России, поэтому я вооружилась гуглом и стала искать поставщиков за границей. «К черту все! Берись и делай!» – и прошлой осенью я заказала товар из Китая, Индии и Непала на 1243, 510 и 311 долларов США соответственно, совершенно не представляя, что меня ждет, когда эти заказы приедут и, как и положено, будут задержаны таможней.
+57
Аддоны для Visual Studio
1 мин
3.4KВ качестве развития темы поднятой хабраюзером XaocCPS, хочу поинтересоваться какими полезными аддонами (add-ins) для Visual Studio пользуетесь Вы?
От себя хочу порекомендовать следующие:
От себя хочу порекомендовать следующие:
- ReSharper — помогает осуществлять анализ и генерацию кода, рефакторинг и многое-многое другое… По-моему, этот аддон заслуживает отдельной статьи на Хабре.
GhostDoc — поможет Вам автоматически генерировать XML описания для функций, переменных и т.п.
Smart Paster — вставит и отформатирует тескт из буфера обмена как Comment, String, StringBuilder или Region.
P.S.
Надеюсь, что комментарии к этой записи помогут нам всем найти новые, нужные и полезные аддоны.
+14
10 лучших офисных кресел
1 мин
17KПеревод
Герман Миллер (Herman Miller) произвел настоящую революцию офисной мебели, создав кресло Аэрон (Aeron) в 1994 году. Главными достоинствами нового кресла Аэрон были комфорт и гибкость, что «подстегнуло» других производителей стремиться к новым высотам качества. Мы выбрали 10 самых на наш взгляд интересных моделей офисных кресел.
+15
Информация
- В рейтинге
- Не участвует
- Откуда
- Россия
- Зарегистрирован
- Активность