Микро-толки — дайджест #8

В этом микро-толке мы затронули довольно много тем. Было обсуждение и MySQL, и неочевидного поведения PHP, и "трюков" javascript. А началась наша встреча с понятия, которое сейчас очень сильно хайпится — Serverless.

Serverless архитектура имеет 2 основных определения:

  1. Backend as a Service или приложения, которые полностью или в значительной мере зависят от сторонних вендоров для реализации логики бекенда или хранения состояния приложения. Это определение было популярно до 2015 года.
  2. С выходом AWS Lambda в 2014-2015 годах стало популярно определение Function as a Service — такая архитектура приложения, при которой часть серверной логики выполняется в вычислительных контейнерах без состояния.

Довольно хороший обзор Serverless архитектуры дается в статье "Serverless Architectures". Кроме того в рамках второго определения становится очень популярным Serverless Framework.

Микро-толки — дайджест #7

На прошлой неделе провели, пожалуй, последний micro-talk в этом году. Хоть он был и небольшой, всё никак не мог собраться и зафиксировать дайджест. И вот он готов.

Микро-толки — дайджест #6

Начало зимы, пятница, релиз PHP 7.2 — целая гора поводов, чтобы провести новый микро-толк!

Обсудили несколько интересных инструментов, некоторые хитрости при написании кода на PHP,  а также вкратце проговорили основные новые фичи PHP 7.2.

Микро-толки — дайджест #4

Состоялся новый микро-толк.

  1. Если кто-то встречался с тем, что во время деплоя при переключении релизов код не обновлялся, то вот интересная статья, которое объясняет, что же на самом деле происходит: Is it all PHP OPCache's fault?
  2. Memory leaks in Javascript — презентация от @xufocoder. В принципе, полезна не только фронтендерам, ибо рассказывает о различных подходах к сборке мусора.
  3. Как ускорить загрузку сайтов в эпоху смартфонов — видео с конференции Frontend MIX. Обозревает несколько современных подходов к оптимизации скорости загрузки.
  4. Видео о том, откуда и как возникают завалы "На потом" и что с этим можно поделать. Вообще советую изучить контент Макса Дорофеева. У него много интересного на тему управления временем, планирования и личной эффективности.

Микро-толки — дайджест #3

Новый дайджест микро-толков. В этот раз хорошо подготовиться не получилось. Тем не менее всё-равно пообщались на полезные темы.

Дружим nvm и деплой на ноде

Для деплоя приложений на nodejs есть пара инструментов, таких как shipit и flightplan. Оба они не так хороши, как capistrano для ruby или deployer для php, но если для деплоя хочется выбирать ту же экосистему, что и для разработки, то выбирать особо не приходится.

Если сравнивать shipit и flightplan, то можно сказать, что первый - более модульный, имеет некоторые плагины, а также поддерживает функцию "rolling releases", второй же - более простой и понятный.

На сервере, да и локально, я использую nvm для переключения между версиями nodejs и здесь я столкнулся с проблемой.

Локализация в javascript в Ruby on Rails

При разработке многоязычного приложения мы рано или поздно столкнемся с необходимостью локализации строк используемых в javascript. В Ruby on Rails для этих целей есть замечательный гем i18n-js. Мне понадобилось некоторое время, чтобы разобраться как он работает, не смотря на наличие документации. В какой-то момент я даже было подумал, что это безнадежный вариант и чуть было не бросил эту затею, хотя на самом деле все оказалось просто.

Локализуем надписи select2 из примера одной из предыдущих статей.

Динамическая инициализация новых виджетов твиттера

В сентябре 2012 года Twitter анонсировал новые захватывающие «инструменты реального времени для разработчиков веб-сайтов» ©, то есть новые виджеты. Причем старые виджеты кажется должны были перестать поддерживаться как раз в мае 2013, но видимо отключат их таки в июне. Так что самое время подумать о переезде на новую версию APi и новые виджеты.

Настройки виджета Embedded Timeline можно найти на сайте для разработчиков. Интересно то, что о динамической подгрузке виджета практически нигде не сказано. А порой это бывает нужно, например, когда часть контента страницы или даже вся страница подгружается аяксом. Как же это сделать? Есть ответ!

Передача параметров из контроллера в javascript-файлы

Javascript во вьюхах — часто ли вы встречаете такое?
Зачастую во вьюху из 3-5 строчек html-кода вставляются портянки яваскрипта на сотни строк.
На просьбу вынести этот код в отдельный js файл — можно услышать ответ, что в коде используются php-переменные из контроллера и, поэтому, вынести этот код из в отдельный js-файл не представляется возможным.

А в общем-то это довольно просто сделать. Просто и удобно.

Далее речь пойдет о реализации для фреймворка Yii, однако аналогичный подход легко реализуем и в других фреймворках.