• Martin Fowler — GUI Architectures. Часть 3

      Часть третья. Для минимизации количества отсебятины, текст переводится очень близко по смыслу, вследствие чего перевод приобретает «рубленные» черты. Тем, кто решил прочитать, следует читать осторожно, ибо прочитанное может нанести вред внутреннему чувству эстетики.

      Предыдущая часть здесь. Оригинал статьи — здесь.

      Шаблон - Модель приложения VisualWorks
      • +12
      • 7.1k
      • 4
    • Martin Fowler — GUI Architectures. Часть 2

        Всем привет еще раз. Это опять я. Внутри хабраката перевод еще одного параграфа статьи Мартина Фаулера.

        На этот раз затронута тема MVC. Фаулер весьма популярно про него написал. Я постарался популярно перевести:) Теперь можно понять, почему все носятся с MVC, как с писанной торбой. И, кстати, Фаулер прав — очень много где и много кто воспринимают MVC по-своему. Сам Фаулер пишет про оригинальный MVC, который работал на платформе Smalltalk. Очень познавательно.

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

        Следующую часть перевода напишу, когда разозлюсь и возьму себя в руки.
        Прочитать про MVC.
      • Martin Fowler — GUI Architectures. Часть 1

          Перевод материала Мартина Фаулера. В статье обсуждается общий подход к архитектуре UI и приводятся подробные описания таких шаблонов проектирования, как MVC, MVP, Presentation Model, Forms and Controls, Humble View, Passive View. Статья неплохо прочищает мозг. Для того, чтобы не упустить ни единого нюанса, решил заняться переводом.

          Вообще говоря, приседал долго, хотел сделать все сразу и быстро. Пальцем в небо. Иногда меня разбивал радикулит подступали майлстоуны по проекту и я откладывал перевод в долгий ящик. Или еще что-нибудь мешало. Короче, я все сразу не осилил и, чтоб добру не пропадать, решил выкладывать перевод по параграфам. Сейчас перевел половину, половина же осталась.

          Я не профессиональный переводчик и мог что-то неправильно понять (и даже кое-где сделал пометки в скобках), но вы в любом случае обладаете возможностью прочитать статью в оригинале. Надеюсь, что перевод такой интересной статьи поможет кому-то улучшить свои навыки и расширит кругозор.
          Прочитать про архитектуру UI!
        • JavaScript — полезные материалы

            Хочу поделиться набором ссылок на нексолько полезных, интересных и, возможно, не самых известных материалов по JavaScript. Из них вы узнаете немного больше об истории появления языка, о его настоящем, тонкостях реализации в различных браузерах, и о будущем развития стандарта ECMAScript. О различных способах наследования в том числе об эмуляции «классического» ООП, множественном наследовании и миксинах. О функциональном стиле программирования в JavaScript: чистые функции, map, reduce, частичное применение и композиции функций. И, наконец, что если бы Хемингуэй писал на JavaScript?
            Читать дальше →
            • +123
            • 77.3k
            • 29
          • Как узнать, стоит ли оптимизировать MySQL запросы?

              Мне часто задают один и тот же вопрос: как можно находить запросы, которые необходимо оптимизировать. Ведь, скажем, взглянув на отчет pt-query-digest, мы легко найдем медленные запросы или запросы, которые вызывают большую нагрузку на систему — но как мы поймем, существует или нет возможность сделать выполнение этого запроса быстрее? Полный ответ на этот вопрос определенно потребует комплексного анализа, так как существует много путей оптимизации запросов. Однако, существует одна очень полезная метрика, которую вы можете применить — соотношение между количество возвращенных запросом рядов и пройденными рядами.
              Читать дальше →
            • О практических применениях свойства float


                Каждый хороший верстальщик скажет, что только безукоризненное знание собственной работы способно принести позитивные результаты. Собственные наблюдения привели меня к выводу, что не только начинающие верстальщики не совсем понимают сути применения свойства float. На Хабре просмотрел имеющиеся публикации на данную тематику. Появилось желание поделиться некоторыми замечаниями и практическими применениями данного свойства. Приведенные ниже разъяснения в большинстве своем могут стать полезными для начинающего верстальщика.
                Читать дальше →
              • Возможно, вы идете не туда



                  Анти-GTD


                  Добро пожаловать в двадцать первый век! Вот ваш iPad, вот ваш кредит, получите — распишетесь, и вставайте в очередь за Успехом — главной ценностью современного Человечества! Если на пути к Успеху вы проголодаетесь, то перекусите бигмаком, запейте диетической колой и продолжайте дальше работать изо всех сил, так как на следующей неделе ваш iPad станет неактуальным и вам, вероятно, необходимо будет приобрести новую модель. Не забывайте, про ваш абонемент в наш фитнес-центр, который не позволит вам развалиться на полпути к Успеху. Удачи!

                  — Именно так я бы сформулировал сообщение, которое каждый день доносит до нас общество. Нам больше не требуется думать, к чему нам идти, путь совершенно ясен и подсвечен яркими лампочками — нужно, во что бы то ни стало, быть Успешным, а опционально еще Лучшим и Эффективным. Теперь то, в третьем тысячелетии, это совсем не сложно, достаточно основать стартап и не вставая с кресла стать богатым персонажем кинофильма, с особняком и личным самолетом.
                  Читать дальше →
                • Подробно о генераторах случайных и псевдослучайных чисел

                  На Хабре и в сети часто начали появляться статьи, посвященные уязвимостям генераторов случайных чисел. Данная тема крайне обширна и является одной из основных в криптографии. Под катом находится описание случайных чисел от A до Z. Статья является результатом свободного перевода цикла статей из одного западного блога и личных дополнений автора. Основная цель — получить feedback и поделиться знаниями.
                  image
                  Читать дальше →
                • Шпаргалка по MV-паттернам для проектирования веб-приложений

                    mv-patterns
                    В Интернет можно найти множество различающихся реализаций и схем, уже набившего оскомину, паттерна MVC. В разных книгах я также встречал разные схемы. Это порождает некоторую путаницу и комментарии к моей предыдущей статье: "Реализация MVC паттерна на примере создания сайта-визитки на PHP" тому подтверждение. В поисках истины, я попытался расставить все по местам… перечитал некоторую литературу и статьи по паттернам проектирования и написал дополнение к упомянутой статье. Но решил запостить это дополнение, как отдельный топик в надежде на фидбэк. Под катом вы найдете несколько часто встречающихся схем MVC и MVP с описанием жизненного цикла приложения, а также описание менее популярных паттернов HMVC и MVVM. Разумеется, некоторые из перечисленных паттернов применимы не только к веб-приложениям, но в статье они рассматриваются именно в этом контексте.
                    Читать дальше →
                  • MVC умер, пришло время MOVE

                    • Translation
                    MVC феноменальная идея. У вас есть модели, самостоятельные кусочки состояний, представления которые самостоятельные кусочки UI, и контроллеры которые самостоятельные кусочки… эм?

                    Что?


                    Я конечно не первый кто это замечает, но проблема с MVC в том что в контроллеры пихают слишком много кода.

                    Чтобы исправить это, я использую новый паттерн: MOVE. Models, Operations, Views и Events.
                    Читать дальше →
                  • Перехват видео в браузере или TCP сниффер под Windows на коленке (часть вторая)

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

                      image
                      Исходники, детали и пояснения под катом…
                      Читать дальше →
                    • Прототип, блочная схема, макет – что выбрать?

                      image

                      Это перевод оригинальной статьи «Wireframing, Prototyping, Mockuping – What’s the Difference?».

                      Итак


                      Пару лет назад я понял, что многие из моих коллег(не дизайнеров) по разному называют результаты моей работы. Они предположили, что блочная разметка (wireframe), прототип (prototype) и макет (mockup) – это одно и тоже – своего рода сероватый, квадратный, эскиз поясняющий гениальные идеи.
                      Читать дальше →
                    • Перехват видео в браузере или TCP сниффер под Windows на коленке (часть первая)

                        Однажды, не очень давно, мне порекомендовали фоновую качалку потокового видео под названием Jaksta, которая позволяет записывать потоковое видео на диск прямо во время просмотра YouTube, Facebook видео, GoogleVideo и так далее. В результате ее установки я получил стойкий BSOD при каждой загрузке Windows. Переключившись в Safe Mode я снес нафиг это творение, но возникли вопросы.
                        Краткое изучение софтины показало что она устанавливет NDIS Miniport драйвер, который конкретно в моей системе стал умирать при загрузке. «Нафига такие сложности?», подумал я и решил поэкспериментировать с реализацией перехвата потокового видео из браузера без всяких драйверов.
                        Читать дальше →
                      • Какая у вас основная IDE для C++?

                           

                          Only registered users can participate in poll. Log in, please.

                          Какая у вас основная IDE для C++?

                          • 38.6%VisualStudio1758
                          • 5.2%Eclipse CDT237
                          • 3.5%NetBeans161
                          • 3.4%Code::Blocks156
                          • 10.2%QtCreator467
                          • 0.1%Anjuta6
                          • 0.3%QDevelop12
                          • 1.8%Dev-C++84
                          • 3.4%C++ Builder153
                          • 0.6%KDevelop26
                          • 8.4%Emacs / Vim / другой кастомизируемый текстовый редактор385
                          • 1.6%Что-то другое, напишу в комментариях.71
                          • 22.8%Оказался здесь случайно, на С++ не пишу.1039
                        • Бесплатные книги по JavaScript

                          • Translation

                          Javascript Enlightenment


                          Cody Lindley


                          Уровень знаний: средний
                          Тщательный обзор мировоззрения JavaScript через разбор встроенных объектов и нюансов.

                          Открыть

                          Eloquent Javascript


                          Marijn Haverbeke


                          Уровень знаний: начинающий
                          Вводная книга по JavaScript и программирование в целом.
                          Открыть

                          Building A JavaScript Framework


                          Alex Young


                          Уровень знаний: продвинутый
                          Избранные статьи из цикла«Let’s Make a Framework».
                          Открыть

                          Читать дальше →