Pull to refresh
10
0
Берлев Владимир @tegoo

User

Send message
Раз уж дело дошло до того, что на NAT узле порты не пробросить, то было бы неплохо дополнить статью способами обхода фаерволов, когда открыты только, например, http[s] (поднимаем sshd на 443); или когда еще и доступ в сеть только через proxy (как играть с ProxyCommand, чтобы пробить прокси). И было бы здорово упомянуть corkscrew. Проброс портов он такой ;)
Занимался чем-то подобным с TI LaunchPad (отладочная плата с mcu семейства msp430). Многие называют эту вещь альтернативой Arduino. Наверное по причине наличия среды Energia c кучей скетчей, как в Arduino. Если же хочется программировать его на «чистом C», то есть проприетарная среда от TI: Code Composer Studio и открытый проект “GCC toolchain for MSP430”, который представляет собой набор патчей для соответствующих утилит (gcc, gdb), добавляющих возможность разработки под архитектуру msp430.
Для программирования памяти микроконтроллера и отладки есть утилита “mspdebug”, предоставляющая возможность взаимодействия с различными программаторами. В mspdebug есть возможность запустить gdb-сервер и подключиться к нему из пропатченного gdb — можно дебажить «чистый С'шный код на железке».
Гораздо сложнее представить, как эта композиция поведет себя в рантайме. Зачастую не совсем так, как задумано.
Статья хороша тем, что наглядно показывает разбиение системы на модули в общих чертах. Однако самое сложное, на мой взгляд, заключается во взаимодействии этих модулей, в том, что на картинках обозначено стрелками. Модули относительно легко проецируются в формат реального мира. Взаимодействие же требует более глубоких раздумий.
Пока еще не тестировали на предмет утечек. Но теперь обратим особое внимание, спасибо.
Что для глаз полезно — согласен, но легкие… Я сам не курю и не курил по философским соображениям. Я никогда не верил во все бредни про смолы, оседающие в легких. Не верил, пока сам эти смолы не увидел. Мы в универе проводили опыт: колокол, в нем два электрода, Под колокол помещается сигаретный дым ( путем нажатия на клизму, в которую вставлена сигарета). Далее электроды подсоединяются к источнику тока. Сигаретный дым быстро рассеивается. Так вот после пары десятков опытов колокол перестал быть прозрачным, на стенках желтоватая липкая масса. Это отбило мне всякое потенциальное желание попробовать на всю оставшуюся жизнь.
Со всем согласен, разве что еще сижу на NetBeans. Может и переду потом. Как говорится, на вкус и цвет… Единственное, что хотелось бы добавить — забота о глазах. Глаза — наш рабочий орган, и нам следует заботиться о них. Лично я предпринимаю следующие меры (многим они наверняка известны, но все же упомянуть хочется):
  • уровень глаз на 10 см выше цетра монитора
  • расстояние от монитора до глаз не меньше 40-60 см (что, конечно, может зависеть от уровня зрения)
  • каждый час делать отдых для глаз: смотреть в даль, а лучше делать гимнастику ля глаз
  • следить за влажностью в помещении: 40-60%:
    сухой воздух плохо влияет на слизистые оболочки глаза. Можно купить увлажнитель воздуха, но к выбору следует подойти ответственно (обратить внимание на наличия антибактериального покрытия)
Далее относится не к зрению.
При работе компьютера образуются положительные ионы, которые плохо влияют на наше самочувствие, появляется утомление, снижение тонуса. Ионизатор воздуха может восстановить соотношение положительных и отрицательных ионов. Однако данную меру я не принимал и, соответственно, за эффект ручаться не могу. Кроме того избыток отрицательных ионов, наверное, так же вреден.
Да, вы правильно понимаете. Но у меня и не было цели интегрировать мой механизм видов в какой-либо существующий фреймворк. Это механизм видов из моего простенького фреймворка. Прошу не кричать, что самописные фреймворки никто уже не пишет. Я его пишу по филосовским соображениям, дабы глубже понять идеи существующих.
Кстати эта идея у меня крутилась в голове, но в таком формате:
Есть результат выполнения затребованного пользователем действия Controller->action(), он вставляется в определенное место в шаблоне. Но в любой шабло, не важно, к какому классу View, он относится, можно вставлять виджеты, представленные вызовом метода какого либо класса виджетов. Это действительно удобно. Например я всегда хочу видеть справа чат. Вместо того, чтобы постоянно подключать его в layout, я могу вызывать метод класса виджета. Для этого надо описать еще один класс, методы которого, этим вызовом и будут заниматься. И в этом классе регистрировать список всех доступных виджетов. Назовем его WidgetMaster. Тогда в .phtml-шаблонах вставлять для виджетов, например метод WidgetMaster->call('name'). Но допустим, некоторые виджеты должны иметь средства для управления ими… было бы глупо перезагружать страницу из-за виджета. Это можно организовать через Ajax несложно и не нарушая архитектуры приложения. Ничего из этого еще не реализовывал, но могу написать отдельный топик, посвещенный этой теме, когда реализую.
извиняюсь за опечатку
Мне кажется вы не совсем меня поняли.
Вызов меня поняли: html-код выводится только в методе draw путем инклуда файла .phtml, который по сути является шаблоном, включающем вызовы метода insert('view_name'), который вызывает метод draw() для объекта типа AbstractView, содержащегося в масиве $fillings под ключем 'value name'.
С замечанием относительно типовой небезопасности моего кода согласен. Не думаю, что стоит кидать исключение при отсутствии какого-либо объекта (нет — и не надо). То лично мне и удобно, что можно разметить фрагмент html кода в методе draw(), указав, где- что находится, а потом уже реализовывать постепенно эти днтали. Хотя это дело вкуса на мой взгляд.
Не понял вас:
echo $view->render('content');
Может вы имели ввиду:
echo $view->draw();?
Очень полезное замечание, спасибо.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity