В недавней статье об инструментах управления проектами был задан вопрос о различиях Trac и Redmine. Ниже перевод довольно субъективной, но вполне аргументированной статьи о различиях между этими системами.
Sergii @Sergii
User
Сигналы и слоты в Qt
10 min
281KTranslation
Сигналы и слоты используются для коммуникации между объектами. Механизм сигналов и слотов главная особенность Qt и вероятно та часть, которая отличаетcя от особенностей, предоставляемых другими фреймворками.
+38
Учимся проектировать на основе предметной области (DDD: Domain Driven Design)
8 min
222K1. Введение
В данной статье я хотел бы рассказать об этих трёх буквах, постоянно находящихся на слуху, но для многих являющихся тайной за семью печатями, а так же привести ряд ресурсов, с которыми неплохо было бы познакомиться при желании продолжить развитие в проектировании на основе предметной области (DDD: Domain Driven Design).
+42
Что такое анти-паттерны?
9 min
149KАнти-паттерны — полная противоположность паттернам. Если паттерны проектирования —
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
+137
Советы по фиксациям в SVN
4 min
3KTranslation
Предлагаю перевод хорошей статьи с советами по выполнению фиксаций в хранилище. Оригинал написан для проекта T2, но практически все советы универсальны и легко применимы для любого другого проекта. А самое главное — они действительно полезны.
Upd: В названии статьи хоть и фигурирует SVN, но советы, изложенные в ней, подходят ко всем известным мне системам кондроля версий. Стоит так же заметить, что советы направлены в основном на командную разработку.
Upd: В названии статьи хоть и фигурирует SVN, но советы, изложенные в ней, подходят ко всем известным мне системам кондроля версий. Стоит так же заметить, что советы направлены в основном на командную разработку.
+33
Личный тайм-менеджмент
9 min
93KПочитав недавний топик про лягушек я понял, что Хабрасообщество не очень хорошо ориентируется в вопросах тайм-менеджмента и многие никогда не занимались построением своей тайм-системы.
Поэтому я попробую исправить этот недочёт.
Под катом Вы не найдёте каких-то инновационных моделей управления временем. Это будет фундамент, основа, без которой нельзя обойтись людям, которые заботятся о своём будущем, о своём благосостоянии и личностном развитии.
Welcome!
Поэтому я попробую исправить этот недочёт.
Под катом Вы не найдёте каких-то инновационных моделей управления временем. Это будет фундамент, основа, без которой нельзя обойтись людям, которые заботятся о своём будущем, о своём благосостоянии и личностном развитии.
Welcome!
+160
Управление задачами в MLO
5 min
52KЯ долгое время выбирал для себя удобный персональный органайзер и систему для управления задачами…
В конце-концов остановился на такой софтинке как MLO, о которой и поведаю далее.
В конце-концов остановился на такой софтинке как MLO, о которой и поведаю далее.
+42
10 приемов, разрушающих хрупкую красоту кода
19 min
102KСтатья приводится в сокращении из-за ограничения на объем материала.
Для меня программирование — это не только технология, но и, во многом — искусство. И, поэтому, большое значение имеет красота кода.
Последние несколько лет я собирал приемы программирования, разрушающие в программном коде его утонченную красоту:

- Объявление всех переменных в начале программы;
- Возврат результата функции через ее параметр;
- Отсутствие локальных функций;
- Отсутствие
else if
; - Использование параллельных массивов;
- Хранение размера массива в отдельной переменной;
- Доступ к свойствам объекта через
obj.getProperty()
иobj.setProperty(value)
; - Использование рекурсии для вычисления факториалов и Чисел Фибоначчи;
- Отсутствие именованных параметров функции;
- Невозможность объявления объектов «на лету».
Объявление всех переменных в начале программы
В двух словах:
Переменные должны объявляться в начале логического блока, в котором они используются, а НЕ в начале функции или программы.
+246
Когда достигнут потолок зарплаты
5 min
6.8K
Прошло 10 лет вашей программистской карьеры. Накоплен большой профессиональный опыт, изучен вагон языков и технологий. Но со временем горизонт только расширяется, и никогда не удастся сказать, что овладел всем. Чего не скажешь о финансовой стороне. Поясню.
В 20-25 лет мы думаем в основном об интересной работе и мало обращаем внимания на растущую зарплату (а вначале карьеры она неизменно быстро растет). Однако, создав семью и родив детей, в той или иной мере начинает хотеться улучшения и в финансовой сфере. Безусловно, работать только ради денег глупо, но получать адекватную зарплату семейному человеку очень актуально. И мы начинаем уделять внимание карьере.
Что такое карьера в сфере IT?
+147
Martin Fowler — GUI Architectures. Часть 1
9 min
27KПеревод материала Мартина Фаулера. В статье обсуждается общий подход к архитектуре UI и приводятся подробные описания таких шаблонов проектирования, как MVC, MVP, Presentation Model, Forms and Controls, Humble View, Passive View. Статья неплохо прочищает мозг. Для того, чтобы не упустить ни единого нюанса, решил заняться переводом.
Вообще говоря, приседал долго, хотел сделать все сразу и быстро. Пальцем в небо. Иногдаменя разбивал радикулит подступали майлстоуны по проекту и я откладывал перевод в долгий ящик. Или еще что-нибудь мешало. Короче, я все сразу не осилил и, чтоб добру не пропадать, решил выкладывать перевод по параграфам. Сейчас перевел половину, половина же осталась.
Я не профессиональный переводчик и мог что-то неправильно понять (и даже кое-где сделал пометки в скобках), но вы в любом случае обладаете возможностью прочитать статью в оригинале. Надеюсь, что перевод такой интересной статьи поможет кому-то улучшить свои навыки и расширит кругозор.
Вообще говоря, приседал долго, хотел сделать все сразу и быстро. Пальцем в небо. Иногда
Я не профессиональный переводчик и мог что-то неправильно понять (и даже кое-где сделал пометки в скобках), но вы в любом случае обладаете возможностью прочитать статью в оригинале. Надеюсь, что перевод такой интересной статьи поможет кому-то улучшить свои навыки и расширит кругозор.
+40
Три с половиной уровня структурности проекта
3 min
3KНедавно я для себя открыл простую модель, которая обьясняет, какие инструменты нужны менеджеру и команде для ведения и управления проектами.
Все проекты можно разделить на три уровня, по потребности в структуризации и формализации потоков информации и команд. Почему именно это лежит в основе модели? Потому что структура проекта, на мой взгляд, это первое что следует за «стилем управления» и другими неформализируемыми человеческими вопросами.

Все проекты можно разделить на три уровня, по потребности в структуризации и формализации потоков информации и команд. Почему именно это лежит в основе модели? Потому что структура проекта, на мой взгляд, это первое что следует за «стилем управления» и другими неформализируемыми человеческими вопросами.

+38
Первые шаги с Unity: DI/IoC & AOP
7 min
71KВведение
Если Вы когда-нибудь слышали такие слова, как IoC, DI, AoP, но не имеете четкого понимания этих терминов, надеюсь, эта статья поможет в них разораться на примере работы с Microsoft Unity контейнером.
+29
Работа с базами данных в Qt
6 min
214KQt дает возможность создания платформо-независимых приложений для работы с базами данных, используя стандартные СУБД. Qt включает «родные» драйвера для Oracle, Microsoft SQL Server, Sybase Adaptive Server, IBM DB2, PostgreSQL, MySQL и ODBC-совместимых баз данных. Qt включает специфичные для баз данных виджеты, а также поддерживает расширение для работы с базами данных любых встроенных или отдельно написанных виджетов.
+30
Хотите умереть быстро?.. Станьте ПМ-ом!
6 min
15KЗа 5 лет работы в компании сменилось огромное количество менеджеров проектов.
ПМ-ы мрут как мухи. Как пехота штрафбата, брошенная в бессмысленную лобовую атаку.
Мрут сами (уходят), их убивают (увольняют), устраивают ксеноцид (их увольняют вместе с командой). Бегущие без винтовок, сзади вас товарищи, заменят вас. И проживут свои 2 минуты.

ПМ-ы мрут как мухи. Как пехота штрафбата, брошенная в бессмысленную лобовую атаку.
Мрут сами (уходят), их убивают (увольняют), устраивают ксеноцид (их увольняют вместе с командой). Бегущие без винтовок, сзади вас товарищи, заменят вас. И проживут свои 2 минуты.

+169
Гибкие методологии. Ретроспектива
3 min
26KРетроспектива (от лат. retrospectare, «взгляд назад») — взгляд в прошлое, обозрение того, что было в прошлом.
В гибких методологиях существует такое понятие как «ретроспектива». С первого взгляда может показаться, что это совершенно ненужный элемент. Но я точно знаю, что использование ретроспектив улучшило процесс разработки в моей команде.
Итак, несколько определений:
Ретроспектива — собрание, которое проводит проектная команда в конце каждой итерации, чтобы обсудить, чему мы научились, как команда и строить планы на следующие итерации, основываясь на извлечённых уроках.
Ретроспектива – это командная активность пересмотра ближайшего отрезка времени работы команды с целью улучшения процесса работы этой же команды в этом же проекте.
Все звучит довольно просто и логично, но нашей команде удалось сделать ретроспективы полезными и эффективными далеко не сразу.
В гибких методологиях существует такое понятие как «ретроспектива». С первого взгляда может показаться, что это совершенно ненужный элемент. Но я точно знаю, что использование ретроспектив улучшило процесс разработки в моей команде.
Итак, несколько определений:
Ретроспектива — собрание, которое проводит проектная команда в конце каждой итерации, чтобы обсудить, чему мы научились, как команда и строить планы на следующие итерации, основываясь на извлечённых уроках.
Ретроспектива – это командная активность пересмотра ближайшего отрезка времени работы команды с целью улучшения процесса работы этой же команды в этом же проекте.
Все звучит довольно просто и логично, но нашей команде удалось сделать ретроспективы полезными и эффективными далеко не сразу.
+17
Удаленная работа: тим-лиду и программистам
4 min
26KДостоинства удаленной работы очевидны — меньше ограничений в поиске специалистов с нужной квалификацией, возможность нанимать людей за пределами МКАД, меньше расходов на ведение бизнеса. С другой стороны, есть и проблемы: наиболее значительные — со стороны организации работы. Последние 4 года я работаю тим лидом распределенной группы программистов (3-15 человек в разное время) для зарубежного заказчика, и хочу поделиться с хабрадевелоперами опытом такой работы :-)
Здесь и далее имеется ввиду следующая организация труда:
Здесь и далее имеется ввиду следующая организация труда:
- Заказчик (+on-site команда опционально) в офисе где-нибуть в Европе/США.
- Тим лид распределенной команды — где-то на бескрайних просторах exUSSR.
- Члены распределенной команды — также где-то на бескрайних просторах exUSSR.
+68
Фармакология или мозг. Учись не работать
6 min
38KЧитатели порекомендовали представиться. Выпускник лечебного факультета мед университета. На сегодняшний день аспирант-фармаколог, научная работа связана с препаратами, действующими на центральную нервную систему.
На днях прочитал посты на хабре, посвященные тому, как айтишники пытаются повышать производительность своего труда. Сложилось мнение, что некоторая часть из хабровчан готова на все, ради сомнительного удовольствия повпахивать лишние 10-12ч. Эта статья — ответ на удивившие меня статьи хабрапользователей (эту, эту и эту). Очень надеюсь на то, что их авторы не имеют медицинского образования, поскольку подобного рода рекомендации лекарственных препаратов, пусть и снабженные предупреждением «Пользуйтесь на свой страх и риск» для врача недопустимы.
Запомните! Человек бездумно принимающий лекарство — это обезьяна с гранатой. Может навредить себе и окружающим.
+306
Кунг-фу поддержки проектов
3 min
1.5KНаверно каждому из программистов приходилось сталкиваться на новом или на не новом месте работы с необходимостью поддерживать «чужой» проект.
Программисту удается написать код компилилируемый или интерепретиуемый, но не каждому понятный.
Все реагируют на «чужой» код по разному. Одних бросает в холодный пот, другие стиснув зубы разбираются. Так получилось, что я наблюдал этот процесс изнутри, как сторонний наблюдатель, как team leader и как специалист передающий свой код «новичку»
Программисту удается написать код компилилируемый или интерепретиуемый, но не каждому понятный.
Все реагируют на «чужой» код по разному. Одних бросает в холодный пот, другие стиснув зубы разбираются. Так получилось, что я наблюдал этот процесс изнутри, как сторонний наблюдатель, как team leader и как специалист передающий свой код «новичку»
+48
Переезд с одного средства планирования разработки на другое — с XPlanner на Redmine
8 min
24KПереезд с одного средства планирования разработки на другое — с XPlanner на Redmine
«Мыши плакали, кололись, но продолжали есть кактус», — моё мнение о пользователях XPlanner.
Преамбула
Так повелось, что изначально наша команда использовала XP и вообще Agile разработку. Изначально был выбран XPlanner — он же как раз заточен под итеративную разработку ПО.
Со временем процессы разработки менялись, и это все меньше походили на те, которыми были изначально.
И вот лишь недавно мне удалось перетащить всех на Redmine.
+2
Сам себе RSS ридер
12 min
14KОднажды, в середине 5-го курса, попросила меня одногрупница помочь ей с лабами по
C#, так как его она только изучала. Узнав задание – «написать RSS ридер» — и оценив
ситуацию – конец семестра – я решил ей помочь, так как RSS ридер нужен был самому.
C#, так как его она только изучала. Узнав задание – «написать RSS ридер» — и оценив
ситуацию – конец семестра – я решил ей помочь, так как RSS ридер нужен был самому.
+34
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity