В этом видео затронута очень сложная для объяснения тема — тема абстракции в программировании. Я выразил свои мысли на эту тему, которые, возможно, помогут кому-то разобраться с этим вопросом.
Что есть контроллер? (видео)
Разговор о том, чем является контроллер в разных типах приложений. Контроллером зачастую называют разные вещи в разных фреймворках и типах приложений. Я попытался немного расставить точки на «и» в этом вопросе и рассказал свое понимание сути контроллера абстрактно — независимо от типа языка и среды. Понимание сути контроллера дает понимание того, какой код должен попадать в контроллер, а какой наоборот, должен попадать в другие части системы.
Архитектура веб приложений: интерьер (видео-лекция)
Рассказ о возможной внутренней архитектуре ориентированных на масштабируемость, обслуживаемость и расширяемость веб-приложений, разрабатываемых на PHP или подходящих для Веба языках программирования. Реализация компонентного подхода внутри приложения, фунционального разделения кода, введение уровней абстракции копонентов.
Читать далее Архитектура веб приложений: интерьер (видео-лекция)
Архитектура веб приложений: экстерьер (видео-лекция)
Рассказ о популярной универсальной архитектуре стека, в котором работает веб-приложение. Само приложение может быть написано на любом интерпретируемом языке с использованием любого фреймворка фреймворков. В данном случае это не важно, так как архитектура программной инфраструктуры — технологического стека, в котором оно работает, отличается мало.
Читать далее Архитектура веб приложений: экстерьер (видео-лекция)
Классификация знаний в области программирования
Меня иногда спрашивают, что нужно выучить, чтобы стать программистом. Вопрос несколько наивный, т.к. нормально ответить на него по-моему невозможно. Т.е. для начала нужно выяснить, каким программистом нужно стать. Да и вообще, программистом ли? Кроме того, на рынке востребованы как высококвалифицированные дорогие специалисты, так и “рабочая сила”. Пакет знаний и опыта первых и вторых отличается в значительной степени.
Читать далее Классификация знаний в области программирования
Nginx: пример конфига для сайта с плюшками
Просто готвый пример универсального конфига nginx с использованием php-fpm, и секциями для базовых инструментов (phpMyAdmin, RockMongo) и функционалом для закрытия сайта в режим обслуживания. Сервер одновременно слушает и HTTP, и HTTPS. Все запросы с www перекидываются на адрес «без-www».
Nginx: сайт в режиме обслуживания, кроме разработчиков
На днях стала задача: сделать средствами nginx возможность перевода сайта в режим обслуживания для всех пользователей, кроме разработчиков. Под режимом обслуживания понимается то, что все запросы к скриптам сайта должны выдавать одну и ту же страницу с сообщением о том, что сайт временно недоступен (плюс HTTP-ответ с кодом 503).
Читать далее Nginx: сайт в режиме обслуживания, кроме разработчиков
Решение насущных задач на ruby: объединить файлы логов по порядку в один
Дано: каталог с файлами xxx.access.log, xxx.access.log.1, …
Требуется: объединить файлы в один большой в порядке по суффиксам (1, 2, 3, …).
Особенность: сортировка по именам файлов дает неверный порядок (1, 10, 11, …, 2, 20, …)
Читать далее Решение насущных задач на ruby: объединить файлы логов по порядку в один
Рестарт Apache в случае недоступности сайта
Иногда нужны простые но эффективные средства решения насущных задач. Например, у меня сложилась ситуация, когда сайт периодически начинает выдавать ошибку 500, не отмечая ничего в логах. Похоже, падает расширение PHP (подозрения на APC, но не в этмо суть). Рестарт Apache лечит проблему. Так как разбираться в ее истоках сейчас времени нет, я решил применить временное простое, но эффективное решение:
Internet Explorer и стратегии Microsoft
В августе 1995 года вышла первая версия Internet Explorer. В те времена активно рос и развивался Интернет, и для решения базовой задачи пользователя Windows — выхода в Сеть — Microsoft нужен был хороший браузер. В 97 году была выпущена переработанная с нуля версия 4.0 — это и есть настоящий предок всех следующих версий (более ранние версии вовсе были разработаны за пределами Microsoft).
Гордиться нужно не результатами, а их достижением
В СССР ценились именно результаты — конкретные победы, а не процесс их достижения. Чем больше было достигнуто побед, тем больше поводов для гордости. Результаты со временем накапливались, а люди все больше расслаблялись — какие же мы молодцы, столько всего сделали — и переставали стремиться к чему-то новому. Особенно ярыми достижениями были победа в войне и последующее восстановление страны. Неимоверная гордость за эти события живет в умах даже нынешних поколений, хотя уже давно бы пора переключиться на что-то насущное. Только вот нет ничего насущного — не на что переключаться. Поэтому основа идеологии в Беларуси по-прежнему базируется на достижениях 60-летней давности.
Способствовал такому положению вещей социальный строй в Союзе. На западе ценились именно достижения. Сегодня ты первый, но если завтра останешься без движения, то послезавтра будешь последним. И не важно, что позавчера ты был героем. Таков капитализм — вечная борьба. В то время, когда в Союзе люди в конец обленились и перестали что-либо делать сами, на западе прогресс развивался лавинообразно — люди все больше и больше стремились к достижениями новых результатов (за все большие и большие деньги).
Сейчас весь прогресс там, на западе. Что-то изменить без вмешательства посторонних факторов, уже невозможно.
Какое будущее операционных систем?
Посмотрите на Windows 8. Ребята из Редмонда наконец-то пересилили себя и начали ломать классический интерфейс Windows. Новое рабочее пространство пользователя больше похоже на веб-сайт, чем на классический «Рабочий стол». Значительно расширилась интеграция с Сетью всего программного стека Microsoft. Даже учетная запись пользователя Windows теперь по умолчанию представлена учеткой Windows Live. Microsoft Office становится облачной платформой, появляется новый центральный сервис хранения данных — SkyDrive. Читать далее Какое будущее операционных систем?
Я.Субботник в Минске, 2 июня
Я.Субботник в Минске пройдет 2 июня по адресу: Минск, ул. Кирова 13, отель «Crowne Plaza», зал «King».
Регистрация на мероприятие начнется 16 мая. Количество мест ограничено.
Для тех, кто не попадёт в число участников или не сможет лично присутствовать на Я.Субботнике, будет организована онлайн-трансляция.
Подробную информацию о мероприятии читайте здесь.
Про Active Cloud (Active.by; отзыв)
Сегодня на CloudCamp послушал 10-минутный доклад о том, как поднимали свое облако Active.by (aka Active Cloud). Было услышано много восхищённых отзывов от технического директора Руслана Райкевича о том, что у них в итоге получилось.
С одной стороны их труд действительно достоин уважения. Они сделали относительно недорогое решение за короткий срок в условиях ограниченных финансовых возможностей. Причем, эту услугу они вывели на мертвый рынок Беларуси. С другой стороны фейлов в Active Cloud получилось немало. Как раз об этих фейлах я и хочу рассказать. Читать далее Про Active Cloud (Active.by; отзыв)
Бесплатный валидный (подписанный) SSL-сертификат через StartSSL
Итак, вы хотите получить бесплатный SSL-сертификат для своего сайта (для HTTPS). На сколько я знаю, единственный сервис, который выдает бесплатные валидные годовые сертификаты — это StartSSL. Израильская компания занимается цифровой сертификацией и является официальным Центром сертификации (CA) в PKI.
StartSSL раздает валидные годовые SSL-сертификаты бесплатно. Другие компании берут за это деньги начиная примерно от $20 в год. StartSSL зарабатывает на сертификатах более высоких классов, включая сертификат с расширенной валидацией, а базовый сертификат делает бесплатно. Их идея заключается в том, что они не берут деньги за сервис, в котором не используется труд людей (базовая валидация домена производится автоматически).
Читать далее Бесплатный валидный (подписанный) SSL-сертификат через StartSSL