среда, 30 октября 2013 г.

Про блог №3

"Мои 5 копеек. Пару дней назад увидел впервый раз ваш блог. Первое впечатление, Wow! сколько всего интересного, оказалось обманчивым. Интересное оказалось в заголовках. Большинство тем ждут явно более полного описания и покрытия. Вот скажем есть пост "Почему мы используем GUI-тесты", открывая его ждал описания какого то workflow, инструментов, примеров GUI тестов, процесс организации. Безусловно, название поста не подразумевает этого, а то что подразумевает не дает никакого опыта. Так и не понятно что за GUI тесты вы используете и почему. 
Понимаю, что тут действует принцип "не нравится, не ешь", но раз вы спрашиваете...

На счет UML, тема интересна. Но я бы не стал фокусироваться только на ней. Она влияет на все аспекты разработки. От управлениям требованими, документирования до написания кода. Лет 7 назад активно пытался пользоваться кодогенерацией. Но не взлетело. Был период программирования на C# и VS2010. С удивлением обнаружил, что делфовая интеграция с Together на голову выше чем все что есть для VS2010, может поэтому делфисты как то особо ревностно относятся к UML? В VS понравилась фича, которую все еще ищу в Delphi. Контроль архитектуры: настраиваешь на диаграмме слои приложения, устанавливаешь связи, а на этапе компиляции производится проверка на нарушение архитектуры и нерадивому программисту бьет по рукам в случае надобности. Очень полезная вещь. 
Поток сознания тоже бывает интересен, но быстро утомляет, хочется погружения и умных статей."

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

Так, ДРУЗЬЯ МОИ! ЗАДАВАЙТЕ вопросы.

Я пишу ТО, что МНЕ - "очевидно". Если я написал "почему мы используем GUI-Тестирование", а потом написал текст - то РОВНО это я и имел в виду.

Я же - НЕ ТЕЛЕПАТ - чтобы "угадывать" - как вы прочитаете заголовок.

ЗАДАВАЙТЕ ВОПРОСЫ. По существу, а не "зачем вам это надо" или "а что будет если в бензпилу положить лом".

Я С РАДОСТЬЮ - ОТВЕЧУ.

Между прочим тому же Namerec'у - практически на все вопросы были даны ответы.

"хочется погружения и умных статей." - у меня значит - "статьи - не умные" :-) ну да ладно :-)

Вот смотрите - написал я несколько "более менее удачных" постов (с моей точки зрения) про "контрольные точки", про "абстрактные контейнеры", про "шаблонизирование тестов", про "использование примесей". Про "VCM vs MVC" -наконец.

И что? Ну задал вопросы всё тот же NameRec и Николай Зверев. Какие-то вопросы остались неотвеченными? По-моему - нет.

В посте про "примеси" - мне написали - "это всё ерунда - используйте Haskell". Так мы и про монады - вроде продуктивно поговорили. Нет? Вроде бы выяснили - что такое - монады. Спасибо - Роману Янковскому в конечном итоге.

И где "непонятность" и "нераскрытая многообещающесть"?

Кладезь-то она - кладезь. Только нужно "уметь ею пользоваться".

Если конечно есть интерес.

Ещё раз повторю - ЗАДАВАЙТЕ ВОПРОСЫ. Тем - много.

Я - не gunsmoker - который "всё вдумчиво и детально разжёвывает". Я - ТАК НЕ УМЕЮ.

Мне ВАЖНА - "реакция аудитории". Ну что уж поделать. Если реакция НЕГАТИВНАЯ или её нет, то я считаю - "тема неинтересна - всё дальше проехали".

Про "процесс организации" - я бы с РАДОСТЬЮ бы написал. Тема - хорошая. ВАЖНАЯ. Но тут - есть одно опасение, что мне "не дадут по голове".

Ну что делать - у нас не Америка. Это там Джоэл радостно пишет о "подноготной Microsoft" и "не получает по голове". Менталитет другой видимо...

"связи, а на этапе компиляции производится проверка на нарушение архитектуры и нерадивому программисту бьет по рукам в случае надобности. Очень полезная вещь" - у нас кстати - ТОЖЕ ТАКОЕ есть. На "этапе кодогенерации" и создания модели. Только скажем так.. Не все любят - "когда бьют по рукам".. Это кстати - ВООБЩЕ отдельная тема. Когда бить -  и когда не бить. И зачем.

"Большинство тем ждут явно более полного описания и покрытия." - ЗАДАВАЙТЕ ВОПРОСЫ. Я МНОГО сил и ВРЕМЕНИ трачу на "хорошие статьи". Их - крайне немного. Но по "реакции публики" - обычно складывается ощущение, что "не попал куда нужно".

Вот написал я про CoreText. Мне коллега задал вопрос про Glyph'ы и "обтекание" - я этот вопрос - расшифровал. Коллега - удовлетворился написанным. "Публика" - ноль внимания. Значит интересно было - ОДНОМУ ЧЕЛОВЕКУ.

"После этого код я и сам написать могу." - вначале я писал СОВСЕМ БЕЗ кода - стали просить - "покажите код".

Выясняется - "куски объёмные". А как иначе? Не "hello world" пишем...

В общем - не хотел никого затронуть или обидеть. Возможные темы - НЕ РАЗ описаны.

Если что-то интересно - ЗАДАВАЙТЕ вопросы.

Ну а сам я буду писать - "по своему разумению".

На вопросы "зачем это нужно" - я придумал уже "железный аргумент" - "потому что HighLoad".

Так что простите - на такие вопросы - далеко не всегда буду отвечать.

P.S. Понимаете - я сделал МНОГОЕ. Я могу "побайтно" расписать как "устроен редактор Эверест". Потратив силы и время. Но будет ОЧЕНЬ ОБИДНО если это окажется "фу это неинтересно" или более того "фу это очевидно".

17 комментариев:

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

    ОтветитьУдалить
    Ответы
    1. Понимаете Дмитрий.. Я ведь программирую не "абстрактно".. А именно - "побайтно". И оно имеет "цену" и "интересе" - именно в конкретной взятой среде....

      Вот скажем "примеси" - в C++ - обычная вещь, а в Delphi - "магия"..

      Или скажем рассказать "зачем примеси вообще нужны"?

      Удалить
    2. С момента написания Кнутом своего труда, а также выхода книги GoF (утрирую конечно) - ну РЕАЛЬНО трудно придумать что-то новое....

      Удалить
  2. вот скажем "принципиально новые вещи" - это "кеширование объектов" или "кольцевой буфер" (спасибо авторам HighLoad, хотя об этом ещё Рей Лишнер писал).

    Это "принципиально новые вещи"? Они интересны?

    Или "ребята на HighLoad" - это "гуру".. Ну типа (моего друга) "Ивана Лапшина".. Тьфу... "Макса Лапшина"...

    А я так - "погулять вышел"...

    P.S. когда "гуру" ещё в школу ходили - я уже "оптимизировал спички"...

    ОтветитьУдалить
  3. "зачем примеси вообще нужны" - для каких задач примеси использовать удобно, а для каких задач - вообще не нужно?

    Еще была тема про хайлоад - используются ли подобные технологии в Гаранте? (Скажем, для интернет-версии). Как распределяется нагрузка на сервера.

    ОтветитьУдалить
    Ответы
    1. ""зачем примеси вообще нужны" - для каких задач примеси использовать удобно, а для каких задач - вообще не нужно?"
      -- для МНОГИХ - нужны.. для ОСТАЛЬНЫХ (соответствено) - не нужны...
      Надо примеры? Про абстрактные контейнеры вы УЖЕ прочитали?

      Удалить
    2. "Еще была тема про хайлоад - используются ли подобные технологии в Гаранте? (Скажем, для интернет-версии). Как распределяется нагрузка на сервера."
      -- а вот за это - я думаю - "мне дадут по голове"...

      Удалить
    3. "Еще была тема про хайлоад"
      -- заливка "терабайта" данных (сами знаете куда) - это в общем-то - тоже HighLoad.

      Удалить
    4. Про "примеси":
      http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%81%D1%8C_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)

      Удалить
    5. Самый "простой пример" примеси тут - http://18delphi.blogspot.ru/2013/04/iunknown.html

      Удалить
  4. Надо примеры? Про абстрактные контейнеры вы УЖЕ прочитали?
    Читал, но особо не разбирался, примеси не использовал. Можно сказать, темный лес.

    ОтветитьУдалить
    Ответы
    1. Ну так ПРОЧИТАЙТЕ для начала :-( простите уж..

      А то сначала "ничего непонятно", а на поверку оказывается "ничего не читал".

      ПРОЧИТАЙТЕ про "абстрактные контейнеры" - http://18delphi.blogspot.ru/2013/07/2.html и http://18delphi.blogspot.ru/2013/07/blog-post_3683.html

      Простите уж за "менторство"...

      Я для кого код писал? Диаграммы рисовал?

      Что ИМЕННО там непонятно?

      Если непонятно - ЗАДАЙТЕ ВОПРОСЫ.

      Про stl в конце-концов почитайте - http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2

      А потом только говорите - "ничего непонятно"...

      Удалить
  5. OK, спасибо за ссылки, почитаю. В с#, вроде, эти примеси называются "интерфейсами".

    ОтветитьУдалить
    Ответы
    1. "OK, спасибо за ссылки, почитаю. В с#, вроде, эти примеси называются "интерфейсами"."

      --- это НЕ ТАК!!!

      Это ПРИНЦИПИАЛЬНАЯ ОШИБКА.

      Интерфейсы - это "абстрактный контракт". БЕЗ РЕАЛИЗАЦИИ.
      Примеси - это КОНКРЕТНЫЙ контракт. С РЕАЛИЗАЦИЕЙ.

      Удалить
    2. "Примеси - это КОНКРЕТНЫЙ контракт. С РЕАЛИЗАЦИЕЙ."
      -- с ПАРАМЕТРИЗОВАННОЙ реализацией в частности...

      Удалить
  6. На да, отличие в том, что интерфейс только специфицирует поведение, но не предоставляет реализации.

    ОтветитьУдалить