• Панацея ли Scrum? Давайте рассуждать вместе, где он нам полезен

      Начну я просто — поясню, что такое Scrum и зачем он нужен, что бы те люди, кто с ним пока не сталкивался, могли с интересом прочесть данную заметку и понять о чём собственно идёт речь.

      Итак, Scrum, это популярная (модная, если хотите) сегодня методология ведения программных проектов. Другими словами, как управлять командой разработчиков, что бы программный проект завершился успешно. Что и как документировать, как, с кем и как часто обсуждать детали проекта, как ставить задачи людям и как контролировать результат. Всё это попадает под термин “методология управления программным проектом”.

      Вам понятно? Отлично! А теперь…
      Читать дальше →
    • Частный опыт перехода на Ubuntu

        Не так давно закончился мой переход на Linux. Я установил себе дистрибутив Ubuntu. Процесс был непростой и отнял много сил и времени несмотря на то, что ответы на каждый вопрос я находил в интернете очень быстро.

        Свой переход я начал с того что собрал все свои потребности по софту в виде mind карты и статьи с просьбой к хабраобщественности в помощи при подборе софта. У меня немного Linux'ойдов среди знакомых, а таких знакомых, которых я бы мог о чем-то попросить, нет вообще. Спасибо всем, кто откликнулся, ваша помощь неоценима! В благодарность откликнувшимся и в помощь другим перебежчикам :) решил поделиться своим опытом перехода.

        Эта статья написана для тех кто собирается или переходит на ubuntu, для бывалого в этой статье не будет полезной информации
      • Подскажите аналоги win софта в Ububntu

          Решил перейти на Ubuntu. Завтра мне привезут новый ноутбук — Asus U3S. Если у кого-то был опыт установки Ubuntu на эту машину, пишите о возникших траблах, буду рад.

          Основная видимая мной проблема — выбор аналогичного win софта под ubuntu. Я прошу помощи у хабраобщественности в подборе и поиске решений.

          Предлагайте решения — не надо эмоций (не разжигайте войн)

          Читать дальше →
        • Проектирование по контракту

            Два года назад мне посчастливилось побывать на лекции замечательного человека, одного из разработчиков языка Eiffel, Бертрана Мейера. Он читал в нашем университете (СПб ГУ ИТМО) лекцию о довольно интересной концепции проектирования ПО. Называется она «проектирование по контракту». Суть этой концепции я попытаюсь описать ниже.

            Вот, например, когда вы с клиентом договариваетесь о совместной работе, то вы заключаете контракт. Т.е. вы описываете обязанности обоих сторон и возможные последствия в случае неожиданных ситуаций. Данный подход можно применить и к разработке ПО, где в качестве сторон выступают программные модули.
            Проектирование по контракту является довольно простой, но, в то же время, мощной методикой, основанной на документировании прав и обязанностей программных модулей для обеспечения корректности программы. Я считаю, что корректная программа – это программа, которая выполняет не больше и не меньше того, на что она претендует.
            Читать дальше →
          • Говноконторы. ООО «Прогниение»

              Обычно в нашей сфере говноконторами называют мелкие конторки, нанимающие студентов и старшеклассников «дизайнерами» по 15 баксов в месяц и продающими «сайты» за 6000 рублей. Заляпали они своими говнообъявлениями, кажется, все стены в Питере.

              Есть в России на нашем рынке настоящие говноконторы. Знамениты они телефонным спамом, попытками увода клиентов у своих конкурентов путем клеветы на оных, а также, как выяснилось, ублюдочным отношением к сотрудникам. Набирают иногородних девочек-студенток, ведут двойную бухгалтерию, а недовольных «прессуют» бандюками.

              Читать дальше →
            • Полиморфизм, шмолиморфизм…

                Я думаю всем уже окончательно заморочили голову бесконечные статьи про полиморфизм, но меня они достали тоже и я решил… написать свою.

                Прежде всего основной принцип (о котором писатели всех предыдущих статей забывают напрочь): KISS. Почему-то для объяснения базовых концепций считается необходимым привлечения двух-трёх языков программирования (обычно неизвестных читателю), парочки двухстраничных примеров и т.п.

                Это хороший способ если вы хотите показать свою крутизну на интервью — его иногда даже могут положительно оценить. Хотя я лично вряд ли бы поставил подобному кандидату высокую оценку. Ибо это обозначает просто-напросто что либо человек занимается самолюбованием (не очень хороший вариант), либо он действительно не умеет выражать свои мысли (ещё худший вариент).

                Базовые концепции нужно уметь объяснять без привлечения языков программирования вообще! Второй этап — показать как базове концепции используются в том или ином языке программирования. Но это — уже другая история.
                Читать дальше →
              • Как в курсовых работах оформляются ссылки на электронные источники

                  Так же, как и на бумажные. Разница лишь в том, что указывается в выходных данных. Если это ресурсы удалённого доступа, то в качестве выходных данных Вы используете постоянную ссылку на документ и дату, когда этот документ был доступен по указанному адресу.

                  Например, сноску на пост, который Вы сейчас читаете, я бы оформил так:

                  Internetional. Как в курсовых работах оформляются ссылки на электронные источники <httр://habrahabr.ru/blogs/study/37185/>, 16.08.2008.

                  Если речь идёт о ресурсах локального доступа, следует опираться на действующие на территории России официальные стандарты ГОСТ 7.82-2001 "Библиографическая запись. Библиографическое описание электронных ресурсов. Общие требования и правила составления"

                  В этом документе приводятся следующие примеры оформления библиографических описаний:
                  Читать дальше →
                • ТЗ: макеты или текст?

                    В заметке ТЗ для web-разработчика автор пишет:
                    считаю что одно из самых правильных способов подачи информации есть графический, т.е. лучше один раз увидеть, чем сто раз услышать.

                    Никак не комментируя заметку в целом, хотелось бы сделать несколько замечаний по поводу разных способов представления информации в ТЗ и не только в нём.

                    Читать дальше →
                  • Основы Hibernate



                      Хочу начать со слов благодарности тому человеку, который мне вчера накинул кармы, позволив этим писать мне в персональный блог.

                      Долго думал, о чем же написать свой «первый» топик… Слово первый не зря взял в кавычки, так как первый топик на самом деле уже был, опыт был к сожалению неудачный — дело закончилось баном.  Решил больше не копипастить. Уверенности тому, что надо написать что-то свое, придал вот этот топик. Решил твердо — пусть это будет и редко, но буду писать сам.

                      Ну, едем дальше!

                      Совсем недавно, по роду свой деятельности, мне пришлось столкнуться с таким понятием как ORM — (англ. Object-relational mapping). В двух словах ORM — это отображение объектов какого-либо объектно-ориентированного языка в структуры реляционных баз данных. Именно объектов, таких, какие они есть, со всеми полями, значениями, отношениями м/у друг другом.
                      Читать дальше →
                    • Настройка маршрутизации по двум провайдерам

                        Вчера столкнулся с небольшой проблемой — на машине с Win2k3 установлены 2 сетевых карты, 2 провайдера. Проблема оказалась следующая: подсети пересекаются (точнее — совпадают). Было решено использовать за основной шлюз 1го провайдера, а по внутрисетевым ресурсам гулять — через 2го. И всё бы ничего, но машина должна обслуживать входящие соединения с обоих интерфейсов. Но, благодаря статическим маршрутам, ответы на запросы из подсети 10.0.0.0/8, пришедшей со стороны первого провайдера уходили через канал второго провайдера, что было, мягко говоря, не тем, что нужно. Как решить эту проблему под линухом — я знал (и тоже поведаю в этой заметке). Немного погуглив был найден вариант решения (в msdn'e наткнулись на управления приоритетами соединений). Коллега (WAJIM, привет) подумал — и нашёл 2й вариант. Потом немного (совсем немного) подумал я — и по аналогии появился 2й вариант решения для линуха :)
                        Итого, под катом вас ожидает 4 варианта решения задачи маршрутизации по 2м провайдерам — 2 под виндовс и 2 под линукс.
                        понеслась