Хочу немного рассказать про полезную рабочую практику, которая уже не первый год здорово помогает мне. Как ни странно, далеко не все разработчики этим пользуются. Наверно, большинству просто не приходило в голову. Заполним пробел, проведём сеанс ликбеза.
User
M в MVC: почему модели непоняты и недооценены (перевод)
Многие из вас наверняка заметили, что я пишу книгу о Zend Framework. Недавно я закончил черновики двух глав: «Архитектура приложений на Zend Framework» и «Понимая Zend Framework». В первой главе объясняется архитектурный шаблон Model-View-Controller (MVC) и причины, по которым он стал стандартом де-факто для веб-приложений. Во второй исследуется связь MVC с компонентами Zend Framework, их структурой и взаимодействием.
Завершив обе главы я осознал, что большую часть времени описывал модель и ее фактическое отсутствие в Zend Framework. На самом деле ни один веб-фреймворк не предлагает нам полноценную модель (по причинам, которые я объясню чуть позже). И ни в одном из них не дается внятного объяснения этому обстоятельству. Вместо этого они последовательно связывают понятие модели с родственным, но не идентичным понятием доступа к данным, что изрядно всех запутывает.
Эта сторона фреймворков никогда не привлекала особого внимания. И все же именно она лежит в основе целого класса проблем в тех приложениях, которые пытаются использовать MVC по образу и подобию фреймворков для веб-приложений. Более того, попытки донести идею модели до других разработчиков нередко напоминают битье головой о стену. Я не хочу сказать, что все разработчики тупые или не понимают саму идею, просто никто из них (вне зависимости от того, работают они с PHP или нет) не связывает модели с той областью, которая наделяет их смыслом — принципами объектно-ориентированного программирования.
Паттерны для новичков: MVC vs MVP vs MVVM
MVC для веб: проще некуда
Статья в Википедии (а именно туда, видимо, чаще всего попадают те, кто только начинает изучать MVC), изобилует неточностями и туманными формулировками, само определение, по сути, является неверным, а приведенная схема просто напросто не соответствует той, которая применяется в веб вообще и при разработке на PHP – в особенности.
Самые полезные приёмы работы в командной строке Linux
Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Все больше людей ударяются в мракобесие и отрицают существование ВИЧ. Россия на грани эпидемии

Последние месяцы СМИ сотрясает одна за другой публикации о надвигающейся на страну эпидемии ВИЧ. По различным оценкам, количество инфицированных в Российской Федерации перевалило за 1%, а в Екатеринбурге ситуация стала и вовсе критической — там медики официально объявили эпидемию (заражено 1,8% населения города).
При этом обороты набирает пропаганда того, что ВИЧ не существует, а вся шумиха вокруг смертельно опасной инфекции — лишь происки врачей и попытка корпораций и системы здравоохранения запугать граждан и нажиться на их невежестве.
Подобная точка зрения среди определенных категорий больных стала принимать массовый характер, что явно видно по социальным сетям. Самое печальное заключается в том, что в отличие от ГМО-мракобесия, следствием которого становится лишь замедление исследований и недоверие к генной инженерии со стороны населения, в случае с ВИЧ-мракобесием гибнут люди. Причем, как в классических сектах, в движении «ВИЧ — это миф» есть собственные «пророки», активно пропагандирующие отказ от лечения и профилактики, а также препятствующие оказанию помощи тем, кто на самом деле хочет ее получить.
Как понять, что происходит на сервере

Александр Крижановский ( krizhanovsky, NatSys Lab.)
По Сети уже давно бегает эта картинка, по крайней мере, я ее часто видел на Фейсбуке, и появилась идея рассказать про нее:

Let's Encrypt и nginx: настройка в Debian и Ubuntu
Если вдруг вся эта история прошла мимо вас, Let's Encrypt — центр сертификации от некоммерческой организации ISRG, существующий при поддержке EFF и многих компаний, взявшей на себя миссию дать людям бесплатные SSL/TLS сертификаты для сайтов и серверов. Сертификаты от Let's Encrypt уже используются на более чем 10 миллионах доменов.
Кроме очевидной бесплатности у сертификатов от Let's Encrypt есть особое, отсутствующее у любых других коммерческих сертификационных центров, достоинство: если вы однажды получили сертификат от Let's Encrypt, то, при прочих равных, это навсегда. Не нужно раз в год-два вручную обновлять сертификаты. Не нужно вообще вспоминать что сертификаты где-то есть. Получил, настроил и забыл!
Внимательный читатель сразу захочет возразить: как же так, ведь известно что сертификаты выдаются со сроком действия в три месяца? Всё дело в автоматическом обновлении сертификатов, которое возможно при полном отсутствии действий со стороны человека.
Организации автоматического обновления сертификатов в статье уделено пристальное внимание, с тем чтобы вы могли в полной мере оценить это принципиальное преимущество Let's Encrypt.
Пример простой автоматизации letsencrypt

Удостоверяющий центр «Let’s Encrypt» (далее просто letsencrypt) вышел из беты пару месяцев назад, пообтерся в реальных условиях, избавился от детских болезней и оброс различными клиентами. И к этому моменту выдал 5 миллионов сертификатов. Самое время внедрять, т.е. получать сертификаты на свои домены и обновлять их в автоматическом режиме. Но как внедрить так, чтобы приблизиться к любимому админскому «поставил и забыл»? Чтобы было просто получать новые сертификаты, а старые при этом обновлялись автоматом? Ну и как добавить немного безопасности в этот процесс?
Ответ под катом.
Малиновый Прог против Интернета Кирпичей, или Raspberry Pi с графикой на read-only microSD
Запуск Raspberry Pi с полной поддержкой графики на microSD, навсегда остающейся в режиме read-only после установки системы. Отсутствие какой-либо записи данных на флэш-память повышает надёжность устройства, приближая его к промышленному классу изделий. Пошаговая инструкция. Небольшой театр инженерного абсурда для развлечения аудитории.

Но то цветочки. Малиновые ягодки — это проекты фоторамок из МалинПрога, требующие обязательного выключения кнопкой. Иначе фоторамка после сбоя питания может не заработать, вместо картинок предлагая воспользоваться fsck. Но и это не предел, под катом читателя ждёт настоящий шедевр инженерного абсурда, найденный автором на просторах сети.
Итак, по стандартной инструкции нормальный одноплатник превращается в раздутый десктоп со средним временем жизни год-полтора, пока изношенная флэшка не сдохнет, превратив в общем-то хороший девайс в кирпич. И большинство людей, похоже, это вполне устраивает. Меня — нет.
Linux WiFi из командной строки с wpa_supplicant
В этой статье я расскажу, как можно настроить WiFi с помощью wpa_supplicant, без всяких Xorg/X11 утилит. Это необходимо для того, чтобы базовые службы ОС исправно работали с минимальным набором технических средств удаленного доступа. Программа будет исполняться как служба, настройки сделаны правкой конфиг файлов.
По-быстрому, установить соединение с открытой точкой доступа можно таким образом.
[root@home ~]$ wpa_cli
> add_network
> set_network 0 ssid "MYSSID"
> set_network 0 key_mgmt NONE
> enable_network 0
Если же надо всерьез и надолго, то прошу внутрь.
Образовательные решения LEGO Education. Кем могут вырасти ваши дети

Внедрение развивающих различные навыки программ для школьников происходит во всех странах мира. В недрах отдельных Министерств образования все больше задумываются о том, как воспитать учеников, способных жить в современном технологичном мире, развить у них универсальные знания и навыки, которые будут востребованы в стремительно меняющемся XXI веке. Немалый вклад в популяризацию этой темы вносят крупные компании — Microsoft, Intel, Google, IBM, LEGO Group и прочие разрабатывают образовательные программы для школ и «кружков» юных техников. Продвинутые учителя и преподаватели вузов перенимают знания на их курсах и включают актуальные наработки в свои занятия. Впрочем, до подключения государственных структур все эти мероприятия проводятся неравномерно и спонтанно.
Более структурированным процесс становится после согласования с государственной системой образования, появления специализированных курсов для учителей, введения занятий в школах, начиная с младших классов. Таким путем, например, идет Lego Education — ее концепция интегрированного обучения робототехнике и программированию внедряется в учебных заведениях по всему миру, включая Россию.
Как перезагрузить сервер?
Как перезагрузить сервер? — Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.
Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.
В этой статье: что мешает серверу перезагрузиться и как ему помочь.
Начнём с теории ребута.
При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов — systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе — sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил — потерял.
Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится.
Доработка китайского вольтамперметра WR-005

Нативное решение проблемы с дисками WD в Linux
В процессе решения этой проблемы наткнулся на программу idle3-tools, с помощью которой можно указать время парковки головок из Linux.
Разгугленный Chromium
Проект ungoogled-chromium — это набор конфигурационных флагов, патчей и специальных скриптов, чтобы удалить интеграцию с Google, улучшить настройки безопасности и управления.
Морпех уверяет, что 17 лет служил на Марсе

Что необходимо знать о резисторах?

Резистор: кусочек материала, сопротивляющийся прохождению электрического тока. К обоим концам присоединены клеммы. И всё. Что может быть проще?
Оказывается, что это совсем не просто. Температура, ёмкость, индуктивность и другие параметры играют роль в превращении резистора в довольно сложный компонент. И использовать его в схемах можно по-разному, но мы сконцентрируемся на разных видах резисторов фиксированного номинала, на том, как их делают и как они могут пригодиться в разных случаях.
Начнём с самого простого и старого.
Углеродные композиционные резисторы
Почему я не понимаю продукцию Apple

Из года в год, иногда раз в несколько лет, мир оглушает новость: компания Apple выпустила новый продукт. И каждый раз он, этот самый продукт, вызывает массу споров. У компании есть огромное число адептов и обожателей, точно так же как и есть огромное количество ненавистников. Кто-то плотно сидит на iPhone и Mac, кто-то предпочитает Android. У всех вкусы разные, с этим не поспоришь. Но следуя концепции свободного мира, свободы выбора сложно отрицать факт того, что Apple именно диктует свои правила, пользуясь статусом «законодателя моды».
Данный текст — исключительно субъективное мнение о происходящем, выводы стороннего наблюдателя, который еще в нулевых с восторгом наблюдал становление «Империи Apple», а сейчас понимает, что занять нейтральную позицию как ранее у него не выходит. Потому что восторженных отзывов вокруг становится все больше и больше, а восхищаться начинают даже очень спорными решениями.
Что такое смартфон? Давайте не обманывать себя и примем за аксиому, что смартфон — это инструмент, который позволяет человеку находиться онлайн, где бы он ни был, в пределах сотовой сети, конечно же. Смартфон — это не отражение сути личности, это — костыль, которым мы все, его владельцы, пользуемся ежедневно.
Как обезопасить Linux-систему: 10 советов
В этом материале мы постараемся раскрыть эту тему с практической точки зрения:

/ фото Dave Allen CC
Information
- Rating
- Does not participate
- Location
- Перечин, Закарпатская обл., Украина
- Date of birth
- Registered
- Activity