На прошлой неделе состоялся релиз Node.js версии 10.5.0, содержащий нововведение, чью значимость трудно переоценить, – поддержку многопоточности в виде модуля worker_threads. Сразу оговорюсь API находится в экспериментальной стадии и поэтому может измениться, но уже сейчас можно составить первое впечатление и получить представление о заложенных в его основу принципах и технологиях. А если у вас есть желание, то и поучаствовать в финализации интерфейса, написании кода или исправлении багов (список issues).
Chuchek @Chuchek
Пользователь
Как настроить установку переменных окружения Nuxt.js в рантайме, или Как сделать всё не как все и не пожалеть
5 мин
12K![](https://habrastorage.org/webt/8q/ab/wl/8qabwlstgtbibz-j7p0ltkhkiv0.png)
(Иллюстрация)
Senior web developer’ы Антон и Алексей продолжают рассказ о непростой борьбе с Nuxt. В предыдущем раунде битвы с этим фреймворком они показали, как запустить проект на Nuxt так, чтобы все были счастливы. В новой статье поговорим о реальном применении фреймворка.
Мы начали переписывать проект с огромным техническим долгом. Месячная аудитория составляла 6-7 млн. уникальных посетителей, но существующая платформа доставляла слишком много проблем. Поэтому было решено отправить ее на пенсию. Само собой, производительность была нашим наибольшим опасением, но также не хотелось просесть по SEO.
После пары раундов обсуждения решили не полагаться на традиционный подход с только серверным рендерингом — но и не загонять себя в ловушку клиентского рендеринга. Как итог мы начали строить решение на базе Nuxt.js.
+29
Yii2-advanced: Делаем интернационализацию с источником в Redis
20 мин
11KВ Yii2 есть возможность реализовать три варианта интернационализации:
- Файл с массивом, вида: ключ=>перевод (гибко)Help Link:
Создадим конфигурационный файл для сборщика
Выполним консольную команду
php ./yii message/config @common/config/i18n.php //или с комментариями php ./yii message/config-template @common/config/i18n.php
p.s. Для windows окружения php yii….Работа с console должна быть настроена т.е. необходимые компоненты должны быть подключены.
Должен создаться файл /common/config/i18n.php:
return [ 'sourcePath' => __DIR__. '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR, 'languages' => ['pt-PT','ru-RU','uk-UA','en-US'], // языки на которые будут использоваться 'translator' => 'Yii::t', 'sort' => false, 'removeUnused' => false, 'only' => ['*.php'],// расширения файлов в которых искать категории 'except' => [//исключить эти источники '.svn', '.git', '.gitignore', '.gitkeep', '.hgignore', '.hgkeep', '/messages', '/vendor', ], 'format' => 'php',// формат хранения переводов 'messagePath' => __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'messages', 'overwrite' => true, ];
Создайте папку common/messages для хранения переводов !
+12
Yii2 RESTful API-интерфейс для AngularJS
8 мин
32K![](https://habrastorage.org/files/f68/9ed/aef/f689edaef537484ea81d4eccb80fcc6d.png)
Здравствуйте, дорогие читатели! Судя по вашим комментариям к предыдущим статьям, многим из вас очень интересно, как именно мы будем использовать AngularJS в связке с нашим приложение на Yii2 фреймворке. В этой статье я подниму занавес и опишу процесс подключения фреймворка AngularJS и способы его применения.
+14
Несколько версий PHP под одним Apache на Windows (v2)
2 мин
12KТуториал
Данный туториал нам не подошел, потому что на фирме действует документ, регламентирующий структуру директорий на локалке, и все сайты (около 250) у нас лежат в одной директории. Понимаю и не устаю повторять, что данный документ это полный бред, но начальство не переубедишь. Поэтому возникла необходимость быстро переключаться между версиями PHP ничего никуда не перемещая, без «этих ваших денверов и опынсерверов и прочего, все должно быть с коробки, приду правэрю, иначе уволю!».
+12
Опыт переезда для работы программистом в Берлин (часть 2)
7 мин
46KДобрый день! В первой части я рассказывал о том, как получал визу и искал жилье, а в этой расскажу, как найти работу в Германии и как это делал я. Забегая вперед, скажу, что в Берлине мне потребовалась 10 дней, чтобы получить первый оффер, который я в итоге и принял. Но приготовления были, конечно, более длительными.
+30
Опыт переезда для работы программистом в Берлин (часть 1)
7 мин
76KДобрый день.
Представляю на суд общественности материал о том, как я за четыре месяца получил визу, переехал в Германию и нашел там работу.
Считается, что для переезда в другую страну нужно сначала долго искать работу удаленно, потом, в случае успеха, ждать решения по визе, и лишь после паковать чемоданы. Я решил, что это далеко не оптимальный способ, поэтому пошел другим путем. Вместо того, чтобы искать работу удаленно, я получил так называемую «визу на поиск работы», въехал в Германию, нашел здесь работу и уже после подал документы на Blaue Karte. Во-первых, в этом случае документы не ездят из страны в страну, и время ожидания визы значительно уменьшается. Во-вторых, поиск работы на месте радикально повышает ваши шансы, и это тоже заметно ускоряет процесс.
Представляю на суд общественности материал о том, как я за четыре месяца получил визу, переехал в Германию и нашел там работу.
Считается, что для переезда в другую страну нужно сначала долго искать работу удаленно, потом, в случае успеха, ждать решения по визе, и лишь после паковать чемоданы. Я решил, что это далеко не оптимальный способ, поэтому пошел другим путем. Вместо того, чтобы искать работу удаленно, я получил так называемую «визу на поиск работы», въехал в Германию, нашел здесь работу и уже после подал документы на Blaue Karte. Во-первых, в этом случае документы не ездят из страны в страну, и время ожидания визы значительно уменьшается. Во-вторых, поиск работы на месте радикально повышает ваши шансы, и это тоже заметно ускоряет процесс.
+47
Сервер онлайн-вещаний на базе nginx
10 мин
238KВведение
Привет всем! Несколько месяцев назад на Хабре была опубликована статья «Вещание онлайн-видео с помощью nginx» , в которой Aecktann рассказал о своем опыте внедрения разрабатываемого мной модуля к nginx для вещания видео — nginx-rtmp-module. С тех пор продукт активно развивался и в этой статье я более подробно расскажу о нем.
Вещатель нужен для передачи видео-потока клиенту. Речь идет либо о живом потоке, либо о вещании записанного видео (VOD, Video-on-demand). Существует большое количество технологий вещания видео. Среди них можно выделить традиционные протоколы, такие как RTMP или MPEG-TS, а также появившиеся в последнее время технологии адаптивного вещания поверх HTTP. К последним относятся HLS (Apple), HDS (Adobe), Smooth Streaming (Microsoft), MPEG-DASH. При выборе технологии основным фактором является ее поддержка на клиентской стороне. Именно поэтому вещание в формате RTMP на текущий момент является одним из самых распространенных. Протокол HLS поддерживается устройствами компании Apple, а также некоторыми версиями Android.
+82
19 команд ffmpeg для любых нужд
3 мин
569KТуториал
Перевод
![](https://habrastorage.org/storage2/ac3/a0c/5a0/ac3a0c5a0a2d78bc97251b20ae4bede7.jpg)
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.
ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.
1. Получение информации о видеофайле
ffmpeg -i video.avi
2. Превратить набор картинок в видео
ffmpeg -f image2 -i image%d.jpg video.mpg
Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg
(примечание переводчика: мне больше нравится такой формат:
ffmpeg -r 12 -y -i "image_%010d.png" output.mpg
здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
+206
Полезные сниппеты для Nginx конфигов
5 мин
121K![](https://habrastorage.org/files/ddf/206/50c/ddf20650ceb746499571710d4a1e1a31.png)
Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.
+88
Cloudmouse удалил все виртуальные сервера
2 мин
88KПриветствую!
Сегодня вечером пришло уведомление от Cloudmouse об удалении все виртуальных серверов. До этого все сервера были недоступны в течении двое суток, поэтому актуальный бэкап сделать не удалось. Да, кстати, бэкап на их площадке тоже благополучно были уничтожены.
Сегодня вечером пришло уведомление от Cloudmouse об удалении все виртуальных серверов. До этого все сервера были недоступны в течении двое суток, поэтому актуальный бэкап сделать не удалось. Да, кстати, бэкап на их площадке тоже благополучно были уничтожены.
Уважаемые пользователи, в результате аппаратного сбоя были утеряны все данные виртуальных машин, включая их бекапы. И как следствие, мы вынуждены были удалить все виртуальные машины в облаке.
На данный момент, мы нашли точку сбоя и исправили ее. В дальнейшем подобная ситуация уже не повторится, так как мы нашли источник проблем и приняли меры.
Нашему проекту уже полгода. У нас зарегистрировались более 22 000 пользователей. Мы сами занимаемся разработкой панели управления и облачной инфраструктурой. За это время мы получили колоссальный опыт и постоянно внедряем новые и современные решения.
Да, те кто с нами с самого начала, могут заметить что сначала uptime серверов был низкий, но последние месяцы ситуация изменилась в лучшую сторону и они стали доступны в любое время.
Мы приносим извинения, и понимаем что в результате этого, многие ваши проекты не работали и многие из них потребуется время, чтобы восстановиться. Нам искренне жаль и конечно же мы понимаем весь масштаб трагедии. Мы сделали очень много выводов, и очень многое изменили в работе облака.
+85
Smart KM Link A820
2 мин
8.8KЧасто приходится работать за ноутом и ПК одновременно — не весь софт есть и там и там, не весь софт на ноуте работает достаточно быстро, часто нужно прервать работу и ехать на встречу.
![](https://habrastorage.org/storage2/9c3/17e/be4/9c317ebe4e5f249b50ddf34fea19a59f.jpg)
Работая таким образом, я, как наверное и многие, периодически пытаюсь мышкой компа что-то щелкнуть на ноуте или передвинуть мышу с ноута на соседний монитор. Особенно это знакомо тем, у кого больше одного монитора на столе.
Теперь это возможно!
![](https://habrastorage.org/storage2/9c3/17e/be4/9c317ebe4e5f249b50ddf34fea19a59f.jpg)
Работая таким образом, я, как наверное и многие, периодически пытаюсь мышкой компа что-то щелкнуть на ноуте или передвинуть мышу с ноута на соседний монитор. Особенно это знакомо тем, у кого больше одного монитора на столе.
Теперь это возможно!
+90
Layout страницы за 5 секунд
1 мин
1.7Kwww.layzilla.com
Проект родился просто из личных нужд. Если это удобно нам, надеюсь будет полезно кому-то еще. Все просто и без наворотов. Но не смотря на это, следуем стандартам и качеству кода.
Можно создавать основу страницы проекта любой сложности.
В будущем сделаем поддержку HTML5.
Мануал для любителей почитать.
Проект родился просто из личных нужд. Если это удобно нам, надеюсь будет полезно кому-то еще. Все просто и без наворотов. Но не смотря на это, следуем стандартам и качеству кода.
Можно создавать основу страницы проекта любой сложности.
В будущем сделаем поддержку HTML5.
Мануал для любителей почитать.
+91
Автоматическое добавление, удаление постов и комментариев к ним на Facebook
4 мин
23KДоброго времени суток всем.
Хочу поделиться опытом автоматического добавления и последующего удалением новостей, а также комментариев к ним на страницах пользователей, групп, событий и фан. страниц Facebook.com.
Хочу поделиться опытом автоматического добавления и последующего удалением новостей, а также комментариев к ним на страницах пользователей, групп, событий и фан. страниц Facebook.com.
+6
Обзор инфраструктуры Кремниевой долины
11 мин
8.2K![](https://habrastorage.org/storage1/025e7cf4/d0729b4a/6fed85c3/5e2124cc.jpg)
Введение
Последние четыре года я живу и работаю программистом в США, в Кремниевой долине. За это время у меня скопились некоторые наблюдения, которыми я бы хотел поделиться. Я сосредоточусь на вопросах инфраструктуры: как там с транспортом, интернетом, дорогами, преступностью, водой, развлечениями и т. п. Я буду рассказывать лишь о том, с чем встретился сам. Надеюсь, этот пост будет интересен специалистам, думающим о работе в долине.
+332
Что нового в Laravel 5?
10 мин
51K![](https://habrastorage.org/files/dc4/790/417/dc479041708541d19b4eea2ce84680e2.jpg)
Несколько месяцев назад в студии, где я работаю, было принято решение всей командой перебраться на Laravel. Последние пару лет популярность этого фреймворка неустанно росла, и, как оказалось, не напрасно!
Я не считаю себя гуру в php и фреймворках. До этого пару раз работал с первым и вторым зендом, бессмертным битриксом, сталкивался с Yii и Symfony, изобретал велосипеды сам, но каждый раз у меня оставалось смутное чувство неудовлетворенности.
Например, Zend Framework всегда вызывал у меня желание побыстрее выполнить задачу и забыть о нем как о страшном сне. Сторонники этого фреймворка конечно не согласятся со мной, и я ни в коем случае не хочу критиковать их выбор. Каждому свое. У меня Zend Framework всегда вызывал ощущение, что код писался не людьми и не для людей.
Мне всегда казалось, что те же самые задачи можно решать более просто и элегантно. Хотелось найти фреймворк, на котором мне бы нравилось писать. Который я смог бы выучить как свои пять пальцев и заниматься тем, чем мне и нравится заниматься – программированием, созданием чего-то нового. Я думаю, у каждого плотника есть любимый молоток, и такое желание для программиста вполне естественно. Кто из нас, тех кто пишет на php, не поглядывал с завистью на Rails в Ruby или Django в Python?
Последней каплей стал пост от JetBrains о расширенной поддержке в новой версии PhpStorm 8 шаблонов Blade и Source & Test directories. В этой IDE мы и создали первый проект на Laravel.
+32
Подборка полезного для любителей Twitter Bootstrap
2 мин
250KВ подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.
BootSwatchr — быстрая стилизация Twitter Bootstrap.
![](https://habrastorage.org/storage2/25b/79e/63c/25b79e63cbec5b1c3a5ab1ec22de7829.png)
Стилизация
BootSwatchr — быстрая стилизация Twitter Bootstrap.
![](https://habrastorage.org/storage2/25b/79e/63c/25b79e63cbec5b1c3a5ab1ec22de7829.png)
+238
Как заставить сайт летать и сэкономить десятки часов системного администрирования
10 мин
109K![](https://habrastorage.org/storage2/ed7/6bf/c94/ed76bfc944f87d223289598a7e305e17.jpg)
1. Платформа (CMS) и ее настройки, которые влияют на производительность (параметры кэширования и т.п.)
2. Конфигурация сервера (реального физического или виртуального) и настройки системного ПО (веб-сервер, база данных и т.д.)
3. Качество разработки, кода, интеграции с платформой.
Зачастую веб-разработчик может написать хороший качественный код, но при этом мало что смыслит в системном администрировании и настройке серверов. А хороший сисадмин редко бывает по совместительству еще и классным программистом.
В общем-то, это — совершенно нормально, каждый должен заниматься своим делом. Но, к сожалению, в небольших веб-студиях, которых большинство, редко есть админы в штате. Настройкам хостинга уделяется мало внимания. В лучшем случае — полагаются на суппорт хостера и настройки «по умолчанию».
В итоге сайт может «хромать» из-за проблем и «узких» мест в любой из составляющих: CMS, хостинг, разработка. Клиент в нюансы не вникает и остается не удовлетворен проектом в целом. Его негатив переносится на всех: «Тормозной хостинг! Ужасная система! Разработчики ничего не умеют!»
Такая картина нас, конечно, никогда не устраивала. И мы решили, что надо что-то делать…
+15
Горизонтальное масштабирование PHP приложений. Часть 1
5 мин
32KПеревод
![](https://habrastorage.org/getpro/habr/post_images/8a9/a5e/df8/8a9a5edf88628031e2592b12677234c0.png)
Итак вы сделали сайт. Всегда интересно и волнительно наблюдать как счетчик посещений медленно, но верно ползет вверх, с каждым днем показывая все лучшие результаты. Но однажды, когда вы этого не ждете, кто-то запостит ссылку на ваш ресурс на каком-нибудь Reddit или Hacker News (или на Хабре — прим. пер.), и ваш сервер ляжет.
Вместо того, что бы получить новых постоянных пользователей, вы останетесь с пустой страницей. В этот момент, ничего не поможет вам восстановить работоспособность сервера, и трафик будет утерян навсегда. Как же избежать таких проблем? В этой статье мы поговорим об оптимизации и масштабировании.
+9
Кэширование в Windows Azure
7 мин
3.7KТуториал
Проблема кэширования встает перед любым высоконагруженным приложением. В Windows Azure, где основным алгоритмом увеличения производительности является добавление экземпляров приложения, роль кэша становится еще более важной, т.к. с его помощью можно обеспечить «общую память» для всех экземпляров.
+11
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность