Category: лытдыбр

4. BackboneJS.

Допустим, у нас есть группа разработчиков на PHP, которые знают чуть чуть JS и jQuery. Что самое простое мы можем сделать, чтобы начали писать браузерное приложение, и были продуктивны немедленно?

Мы можем попробовать использовать тот же принцип, и те же архитектурны правила, к которым они привыкли в PHP. У них были шаблоны с встроенным PHP? Отлично, мы будем использовать такие же шаблоны со встроенным JS, которые будут разворачиваться в браузере. Они использовали jQuery? Отлично, мы сохраним jQuery.

Нам остается задать этому какую-то структуру. Элемент UI - это будет объект View с присоединенным DOM-элементом, и методом 'render', который должен разворачивать шаблон в присоединенный элемент. Помимо этого, View должен уметь перехватывать события UI, и вызывать свои методы.

Помимо этого, нелишне добавить к этому простые средства для работы с REST API. Класс для кусочка JSON, который умеет создаваться/читаться/сохраняться/удаляться (CRUD) в каком-нибудь стандартном варианте REST. Назовем его Model. Раз у нас REST, то надо еще уметь получать их список. Значит, нужен еще Collection.

У нас сейчас получилось что? Правильно, самый популярный фреймворк для разработки в браузере - backbonejs (http://backbonejs.org), который, в сочетании с модульной системой позволяет из говна и палок собрать браузерное приложение.

Collapse )
cartoon

Мой доклад на SoftwarePeople

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

1) Хорошо организованная группа профессионалов всегда проектирует лучше, чем один мегаумный архитектор. Я собираюсь это настолько хорошо обосновать, что это близко к "доказать".
2) Менеджер может эффективно направлять и контролировать процесс проектирования, в том числе надежно отмечать его прогресс. Я собираюсь не просто это сказать, а наглядно и просто показать - как, так, что вы сможете это повторить. Ведь понимание требуется для действия - или нафиг оно не нужно, такое негодное понимание.

В сущности, без участия менеджера (руководителя группы, отдела, whatever) групповой процесс проектирования невозможен. Это не основная мысль, это то, что станет понятно по ходу изложения.

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

P.S.: Мне повезло - в разные моменты жизни мне приходилось лично заниматься всеми из перечисленных, непохожими друг на друга, областями. :) При этом, мне не придется рассказывать вам про них, и пугать вас тем, в чем вы не разбираетесь.

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

P.P.S.: На тот случай, если кто не знает, что такое SoftwarePeople. www.softwarepeople.ru. Регистируйтесь.
cartoon

Проектирование по вытягивающему принципу

В тексте некоторые фразы представляют собой гиперссылки на предыдущие мои статьи, которые раскрывают контекст. Видите ссылку? Вокруг нее текст, смысл которого ускользает? Или может быть, вы с ним несогласны? Или же, вам просто любопытно? Тыкайте в ссылку.

Сегодня в беседе с коллегой рассказал про то, как работает архитектор, и осознал, что ни разу ни где об этом не писал.

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

Что имеет место в реальности - это две стратегии при работе над архитектурой. Вы их сразу узнаете при объяснении. Назовем их "push" и "pull".

Collapse )
cartoon

Как добро победило зло

По-моему, получилось забавно.

Gaperton:
Как яблочко-то на вас, оказывается, сильно действует, а?

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

Да. В светящемся яблоке, определенно, скрыта вся сила.

Collapse )
cartoon

О выборе базовых технологий и open source

Лог моей беседы с thesz.

Беседа в чате - интенсивна, и поэтому сильно "асинхронна". Мы оба пишем одновременно, продолжая мысль, периодически "синхронизируясь", так, и мысль несколько "растерта" по ответам, и два соседних коммента меня и thesz могут между собой не соотносится. Имейте это в виду при чтении - некоторая особенность.

Но беседа ИМХО стоит публикации, несмотря на особенность.

Collapse )
cartoon

professionali.ru. Наглый спам и использование личных данных.

Периодически мне приходил следующий спам:
_____
Уважаемый профессионал!

В начале 2009 года мы Вам отправляли личное приглашение в Сообщество профессионалов России, но не получили Вашего подтверждения.

Пожалуйста, присоединяйтесь к нам. Уже порядка 200,000 бизнесменов и специалистов ждут Вас для обмена деловыми связями и профессиональным опытом:
http://professionali.ru/Accept/......

Членами сообщества уже также являются, возможно, Вам известные профессионалы:
Наталья Желнова, Владимир ЧЕРНЫШЕВ, Виктория Жура и многие другие.

Присоединяйтесь, ведь связи решают всё!

С уважением,
Команда Professionali.ru
_____

Спам задолбал, и я решил зарегистрироваться. Заодно посмотреть, что это такое.
Зарегистрировавшись, я импортировал контакты с gmail, чтобы посмотреть, много-ли знакомых мне людей зарегистрировано в этой сети. Обнаружил двоих. Никого не стал добавлять, и решил удалить профиль.

Удалить профиль я не смог - я не понял, как это делается. Тогда я плюнул на это дело, и вышел из системы.

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

Вам понятно, как это произошло, уважаемые коллеги? Вообще, на них стоило-бы подать в суд, ибо имеет место совершенно неслыханная наглость, переходящая все границы. Пока же, я буду рад, если кто-нибудь сообщит мне способ, как удалить оттуда аккаунт.
cartoon

Пиши код

У нас в СQG существовала ежегодная процедура аттестаций. Раз в год вам выдают форму, заполнив которую, вы можете письменно рассказать компании, насколько вы круты, и как много сделали за отчетный период, а компания, во-первых - высказывает в вам в ответ (опять же письменно) свое мнение о вас, и во-вторых, пересматривает вам зарплату в сторону увеличения. Или нет. Ну, или еще что-нибудь делает. В общем, момент истины.

Короче говоря, была в CQG процедура аттестаций. В аттестации вы можете написать много чего, в том числе и наболевшее. Скажем, вы можете написать, помимо отчета о своих достижениях, что вас достало текущее положение вещей, и вы хотите что-то изменить. Как это и сделал однажды я. И смотрит ваши аттестации, в первую очередь, конечно, ваш начальник. А начальником моим, как вы может быть уже знаете, прочитав мою статью "Читай код [cука]", являлся замечательный человек и гениальный архитектор Тол Корин.

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

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

Получил я совершенно разгромный ответ. Письменно. Я был убит. Я не верил, что это мог написать Тол. Я думал, это написал кто-то другой. Я был в шоке.

"Влад должен уметь и _хотеть_ работать не с теми людьми, с которыми ему хочется, а с теми, которых назначит менеджмент"

"Компания не видит возможности удовлетворить желание Влада, и освободить его от кодирования. Его требования недопустимы".

Короче говоря, я был близок у истерике (у меня была в те годы довольно тонкая душевная организация), я подозревал разного рода козни, но, довольно скоро Тол приехал в Москву, и окончательно разорвал мне мозг. Он сказал - "Влад, ответ на твою аттестацию написал я. Никто другой не приложил к нему руку".

- Тол?!
- Да, Влад, - спокойно говорит Тол, глядя мне в глаза.
- Но почему?!
- Влад, ты хорошо понимаешь, что имено ты написал в аттестации? Кажется, ты написал, что тебе нужны специальные люди для кодирования, или я неправильно тебя понял?
- Ну да! Тол, сейчас мы пректируем новую подсистему данных, и если я буду кодировать, у меня не останется время на продумывание всей подсистемы! Мне нужны люди!
- Это недопустимо.
- Тол, да как ты не понимаешь...
- ...Влад. Дай я скажу, - спокойно говорит Тол, - Я старше тебя, и наблюдал за свою жизнь много "архитекторов" и "дизайнеров", которые не пишут код. Влад, они очень быстро становятся очень полохими архитекторами и дизайнерами. Год или два - и все.
- Правда?
- Точно. Они довольно быстро теряют связь с реальностью. Когда ты не пишешь код, ты не получаешь обратной связи, ты не видишь, во что выливаются на практике твои мысли. Когда ты не правишь багов, и не сидишь на поддержке, ты лишаешь себя важнейшего элемента обратной связи - ты не видишь, какие решения оказались плохи, а какие хороши. А обратная связь - это сама суть инженерии. Ты ведь уже заметил, что наша база данных по дефектам содержит значительную часть требований? Это жизнь. Так всегда происходит. Твое желание иметь группу вполне понятно, но ты не должен переставать писать код и работать с ним.
- Конечно, Тол, как ты такое мог подумать? Конечно я не хочу совсем отказаться от написания кода, - поспешно и неискренне говорю я.
- То есть, я неправильно тебя понял, я ошибся, и ты совсем не имел в виду того, что ты перестанешь писать код и исправлять дефекты? Так?

Тол, задавая мне этот вопрос, внимательно смотрит мне в глаза. Я понимаю, что именно этого я на самом деле и хотел, и также я понимаю, что соврать сейчас не получится. Да и не могу я врать своему учителю, глядя в глаза. Надо думать, и принимать решение.

- Да, Тол. Я действительно не хочу переставать писать код, - с усилием говорю я, - я буду его писать.

- Отлично, Влад. - сказал Тол, откинувшись на спинку стула, и очень натурально сделав вид, что он на самом деле меня неправильно понял, хотя я был на сто процентов уверен, что он понял меня правильно, - Это я и хотел от тебя услышать. В самом деле, я рад что ошибся.

- Но я хочу работать с Бойцом! Что в этом плохого? А вы собираетесь дать мне черт знает кого! Я с ним уже работал, и у нас здорово получается! У нас синергия! Ты же видел результаты предыдущего проекта!
- Влад. Боец занят в другом проекте. Он нужен там. Мы даем тебе другого специалиста.
- Тол, но у меня отлично получается работать с Бойцом!
- Влад. По твоему, в чем проявляется профессионализм менеджера? Ведь ты становишься менеджером, когда у тебя появляется группа.
- В чем?
- Он должен уметь управляться с людьми, а не только с компьютерами. Причем, с теми людьми, которые есть в наличии, а вовсе не с теми, с которыми ему удобно, и которые ему нравятся. Это как широта ролевого диапазона у актеров. Хороший актер умеет играть разные роли, а не только те, которые подходят к его характеру. Влад, в жизни у тебя не будет возможности выбирать лучших и удобных. Учись обращаться с теми, кто есть. И я скажу тебе больше - люди не всегда такие, какими кажутся на первый взгляд. Возможно, ты откроешь в них новые грани. И делать это, теперь, когда у тебя будет группа - твоя работа.

- Хорошо, Тол, - пристыженно сказал я. Тол понимал меня лучше, чем я сам пронимал себя. Может быть, потому, что в молодости он был таким же? - Ты, как всегда, оказался прав, черт возьми. Я буду писать код, Я буду учится. Но, таки, получается, что основная просьба моей аттестации будут удовлетворена? У меня будет группа?

- Ну конечно, Влад. Скажу честно - мне нравится с тобой работать, и я рад, что мы поняли друг друга. Главное - не переставай писать код.
cartoon

HTC MAX 4G

Купил. И, блять, понял, что я забыл, как же сцуко я ненавижу Windows Mobile. Не смотря на то, что мой первый КПК был на PocketPC, а первый и до сих пор любимый смартфон - на нем же только Smartphone Edition.

Symbian, как и все штуки от nokia и apple, обладает серьезным преимуществом - он Just Works. Предельно прямолинеен в обращении и настройке, все программные и аппаратные детали пригнаны (один производитель софта и харда), простое и логичное меню, он просто работает и делает именно то, что ты от него ожидаешь в каждой ситуации.

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

Вот например, какого хера почему мы разрываем связь по WiFi-WiMAX когда уходим в слип мод? Какого хера Почему не работает проксимити сенсор в Skype? Типа не звонок, значит можно не работать? Почему вообще Скайп булькает на стабильном WiFi соединении? Может, я просто не умею это говно готовить, ну так мы разберемся, дайте срок.

Неработающую сегодня связь я Йоте простить могу легко, стартап типа и все такое, но Win Mobile - ни за что, ибо горбатого могила исправит. Я им это издевательство еще припомню. Такого секса с мобильным софтом у меня давно не было - все через жопу. Майкрософту надо уволить нахер всех продакт менеджеров с этого проекта (они там, кажется, называются, програм менеджерами, и один хер все равно ничего не делают). Фантастика просто - так засрать испортить простой и понятный Смартфон Эдишн. И вместо них нанять команду Йоты. :)

Ок, когда заработает связь, поставим аппликухи Йоты, и посмотрим, что они добавляют к чудовищному user experience Windows Mobile. А свой великолепный Nokia e71, воистину, шедевр инженерной мысли, я все-таки продам, хотя сердце после этого Win Mobile кровью обливается. На что не пойдешь ради прогресса. В конце концов, если не вытерплю - там как раз подойдет Nokia N97 - совершенно сказочный аппарат.

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

Я бы, правда, решил это немного не так. Во-первых, кнопка "дом" должна сразу открывать меню. Во-вторых, в этом же меню надо помечать запущенные приложения. В третьих, длинное нажатие на "дом" должно открывать переключалку активных задач. Но все равно - вполне юзабельно. 

Да, надо сказать - экран в HTC MAX шикарный, и однозначно ему в плюс. Альтернатив по экрану просто нет - он лучший. Браузеры, как опера, так и опера мини, мне тоже на максе очень понравились. С оперой реально обращаться одной рукой. И gmail на нем выглядит превосходно (800х480 точек, что вы хотите!). Но идиоту, который придумал в WinMobile так обращаться с Java-приложениями, надо вырвать его кривые руки. Почему они не ставятся в меню наравне с обычными?
cartoon

Software People

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

Единственно, боюсь, не уложусь в 40 минут. И так пришлось откоцать от презентации почти все. Я просто не успею ничего сказать, например, про темпоральную логику и основания методики (поэтому она будет вводится "интуитивно" на основании auftragstaktik), не успею показать ее связь с сетевым планированием (сетевой график - один из частных случаев декларативного плана), и не смогу рассказать про то, как получить их "карты целей" сетевой график, и даже использовать схему при time boxing планировании.

К сожалению, я даже не успею показать ни одного примера реального плана проекта. Я для демонстрации придумал три плана:
1) Подготовка продукта к онлайн-продажам в США (иллюстрирует процесс решения проблем при составлении плана, увязывает воедино проблемы составления документации, решение организационных вопросов, и разработку)
2) Разработка движка медиаплеера (иллюстрация чистой хай-тек разработки).
3) Разработка программно-аппаратного комплекса (разработка ПО и аппаратуры одновременно, с элементами логистики в процессе разработки).

И ни один из них не успею показать. Дело в том, что только объяснение плана (2) займет не менее 5 минут. План (1) - вообще занял бы половину презентации.

Короче, все. Как есть, так есть. Выдвигаюсь на мероприятие.
cartoon

Хох, герой общаги

1994 год, общежитие Мехмата МГУ

- Дай тыщу взаймы, - хитро кося глазом спрашивает Хох, глядя на шустрого маленького паренька в очках.
- Да пошел ты нахуй, Хох! - с неподдельным возмущением отвечает тот.

Странно, думаю я, стряхивая пепел с сигареты. Какое грубое обращение. Вероятно, оно так просто с рук пареньку не сойдет. Ну-ка, посмотрим, что будет дальше.

- Да лана те! - гнусно улыбается Хох, - или боишься, не верну? - ненатурально изображает удивление.
- Хох, я тебе ясно сказал - иди. ты. нахуй, пидорас! Ты сцука когда блять приходить перестанешь, а?!
- Ну хорошо, - говорит Хох с хитрой улыбкой, и идет дальше по коридору.
Collapse )