Home
Журнал Тигры Below are the 7 most recent journal entries recorded in the "Alexey Tigarev" journal:
June 12th, 2005
06:55 pm

[Link]

Выбор PHP IDE. del.icio.us
Я подбираю интегрированную среду разработки для PHP. Найденное я разместил на своем аккаунте на del.icio.us:

http://del.icio.us/t_gra/php_ide

Пока не выбрал, чем именно я буду пользоваться.

Кстати, del.icio.us - очень удобный менеджер закладок, позволяющий цеплять к закладкам произвольное количество тэгов - собственноручно придуманных наименований категорий. Преимущества такого персонализованного подхода к классификации веба прекрасно описаны в статье Ontology is Overrated: Categories, Links, and Tags (thanks to [info]scoon_the_crazy).

Я часто пользуюсь del.icio.us для выбора той или иной софтины или изучения какой-то области с помощью поиска в web - всегда можно вернуться и посмотреть весь набор страниц, представлявших интерес.

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

Current Music: Various Banshees - 13 - Where I Wake Warm - Water Warps My Words
Tags: , ,

(7 comments | Leave a comment)

June 10th, 2005
10:49 am

[Link]

Оценка необходимого времени
Чтобы оценить, сколько времени займёт написание программы, нужно написать программу. Вместо "написание программы" можно подставить любую другую довольно сложную по структуре работу..

Уважаемые френды, а каким образом вы оцениваете необходимое вам время на какую-либо работу?

Current Music: Athmospheric drum'n'bass - Slice of Soul
Tags: , ,

(14 comments | Leave a comment)

June 8th, 2005
01:10 pm

[Link]

Уровень работоспособности программиста (via [info]metaxa)

Current Music: astral projection - utopia (concept remix)
Tags: ,

(4 comments | Leave a comment)

June 1st, 2005
11:47 am

[Link]

Google's Summer of Code
    The Summer of Code is Google's program designed to introduce students to the world of Open Source Software Development.

    This Summer, don't let your programming skills lie fallow...Use them for the greater good of Open Source Software and computer science! Google will provide a $4500 award to each student who successfully completes an open source project by the end of the Summer. (payment details can be found in FAQ)

    By pairing applicants up with the proven wisdom and experience of established prominent open source organizations (listed below), we hope to make great software happen. If you can't come up with a great idea to submit, a number of our organizations have made idea lists available.

Программа Google "Summer of Code" призвана познакомить студентов с миром Open Source.
Этим летом студенты получают возможность получить награду в $4500 для каждого студента, реализовавшего успешный проект с открытым исходным кодом до конца лета.

Программу поддерживают видные Open Source-организации, роль которых - использовать свою мудрость и опыт, чтобы помочь соискателям создать действительно восхитительное программное обеспечение. Также у этих организаций есть списки идей, которыми могут воспользоваться соискатели, если не придумают свои собственные.

Участвуют организации:
  • The Python Software Foundation (ideas)
  • The Perl Foundation (submission guidelines & ideas)
  • The Apache Software Foundation (ideas)
  • Ubuntu Linux (ideas)
  • The Mono Project (ideas)
  • The Gnome Foundation (ideas)
  • The Wine Project (ideas)
  • The Subversion Project (ideas)
  • Google

    Что сказать - Гугль жжот! :)

    Страница программы - http://code.google.com/summerofcode.html
    FAQ для участников, FAQ для менторских организаций

    Current Music: Athmospheric drum'n'bass - Destiny
    Tags: ,

    (10 comments | Leave a comment)

  • April 20th, 2005
    12:02 am

    [Link]

    How Many Careers Would You Like?
    Я сегодня нашёл блог Steve Pavlina по личностному росту. В частности, меня заинтересовал такой отрывок:
      Instead of trying to follow 10 different interests at once though, try to focus on one or two at a time. But keep open the possibility that you can switch down the road. So if you love art and music and medicine but can’t find a way to combine them into a single career, try pursuing one in your 20s and 30s, one in your 40s and 50s, and another in your 60s and 70s.

      As you age your priorities will shift. There’s a strong chance that the career you choose at age 20 will be a lot less interesting to you at age 35. Even if you have to take a massive pay cut to do something else, it may be worth it for the experience. The money isn’t going to make you happy anyway if you no longer love what you do.

      Let your career become a dynamic experience instead of a static one if that appeals to you. The people around you will probably whine a lot when you switch careers, but don’t let that bother you. There’s no honor in sticking to a path that doesn’t have a heart.
      http://www.stevepavlina.com/blog/2005/04/how-many-careers-would-you-like/


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

    Предложение Стива, естественно, добавляет гибкости по сравнению с фиксированным путём. Но зачем изначально пресуппозировать, что в 35 лет карьера, выбранная в 20, будет не так интересна?? С одной стороны - не лучше ли на ранних стадиях карьеры уделить больше усилий исследованию своих интересов - оставляя, конечно, эту возможность сменить путь, если откроешь что-то новое. С другой стороны, выбрать для начала хотя бы какую-нибудь карьеру и преследовать её цели, помня, что потом хочешь выбрать точнее, чем вечно выбирать и не продвигаться ни в каком направлении. С третьей стороны, углубление в какую-то недостаточно продуманную карьеру может съесть ресурсы на дальнейшее продумывание. То есть - нужна возможность одновременно выделять ресурсы на преследование текущей карьеры, и на дальнейшее продумывание - причём и тот, и тот процесс - должны быть эффективными.

    На данный момент у меня, если обобщить, есть представление о двух возможных карьерах - project manager в области software development, и NLP-style карьера - ведение тренингов и консалтинг, помогающие в конечном счёте тем, кто делает карьеру первого типа. Есть большой соблазн разделить это во времени и заняться, скажем, сперва PM, а когда надоест - взяться по-серьёзному за тренингово-консалтинговую карьеру. Но я боюсь, что в таком случае я что-то важное теряю. Посмотрим, to be continued.

    P.S.: Вместо слова "карьера" выше можно подставить слово "жизнь", так вернее.

    Current Mood: curious
    Current Music: Сергей Калугин - Восхождение Черной Луны
    Tags: , , ,

    (35 comments | Leave a comment)

    April 19th, 2005
    05:52 pm

    [Link]

    Защита исходников PHP
    У меня возникла потребность защитить исходники на PHP при инсталляции на third-party сервер. Есть следующие категории программ для этого: обфускаторы, шифровальщики исходников и генераторы байт-кода. Можно совмещать, некоторые программы объединяют в себе два уровня.

    Обфускаторы портят имена переменных, классов и методов, затрудняя реверс-инжиниринг логики программы. Однако, структура исходников остаётся прежней. Про то, что они форматирование кода портят - я уж и не говорю, это легче всего восстанавливается имеющимися в избытке утилитами.

    Шифровальщики исходников - вообще не добавляют секьюрности (а только создают её иллюзию) - перед выполнением всё одно исходники раскодируются.

    Генераторы байт-кода компилируют исходники в байт-код, такой же, который генерирует само PHP при прекомпиляции скрипта. При этом теряется структура (вложенные блоки с циклами и ветвлениями становятся линейным кодом с переходами и условными переходами). Возможно, сохраняются идентификаторы - я не смотрел (тогда добавочно можно доработать напиль обфускатором).

    Генераторы байт-кода - лучшее решение: исходники вообще не появляются на системе, где установлена программа. Об абсолютной неуязвимости говорить не приходится, байт-код ломается точно так же, - критерием "хорошей" защиты в этом случае является требуемая квалификация взломщика и стоимость взлома.

    Ограничивает использование генераторов байт-кода необходимость убеждать хостинг-провайдера установить на свой веб-сервер загрузчик этого самого байт-кода.

    Из трёх защит, работающих на уровне генератора байт-кода, я рассматривал Zend Encoder, ionCube PHP Encoder, и microCODE.

    Zend кусается (лицензия на год от $600, пожизненная - около $2500), microCode - судя по текущему номеру версии, ещё недозрелый. Предварительно я выбрал ionCube PHP Encoder - посмотрим на документацию и на триал, как скачаются.

    Список всех ссылок, которые я использовал при поиске/оценке: http://del.icio.us/t_gra/php+obfuscation

    Current Mood: productive
    Current Music: Rammstein - Links 2 3 4 (Westbam Technoelectro mix)
    Tags: , , ,

    (6 comments | Leave a comment)

    March 21st, 2005
    06:06 pm

    [Link]

    SCRUM - фреймворк для разработки ПО
    Scrum - гибкий и лёгкий (!) процесс, который позволяет управлять разработкой программного продукта, используя итеративный подход.

    Это обобщённый подход - внутри Scrum можно использовать различные методологии - от экстримального программирования (XP) до Rational Unified Process (RUP). Scrum даёт контролируемую гибкость процесса разработки за счёт сравнительно небольших затрат - в этом его основное отличие от тяжеловесных методологий разработки ПО. Увеличение продуктивности команды разработчиков с импользованием Scrum происходит благодаря использованию адаптивного эмпирического процесса разработки.

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

    Приоритетизированный бэклог пожеланий заказчика -> планирование одной итерации (sprint'а) -> ежедневные встречи команды разработчиков для отслеживания прогресса, идентификации проблем и планирования.

    Вот общая схема работы по методологии Scrum:

    Основной ресурс по Scrum: http://www.controlchaos.com/
    Хорошее введение (pdf, 170Kb): http://jeffsutherland.com/oopsla/schwapub.pdf

    Current Music: Rhapsody - Legendary Tales
    Tags: ,

    (6 comments | Leave a comment)

    AgileProductivity: Утройте продуктивность команды программистов, используя гибкие методологии Powered by LiveJournal.com