LINUX.ORG.RU

Сообщения Kilte

 

Релиз Laravel 5.1 - web-фреймворка для языка PHP

Новости — Open Source
Группа Open Source

В истории Laravel это первый релиз, который предлагает долгосрочную поддержку. Первоначально фреймворк всегда следовал мантре «релиз раньше, релиз чаще», которая пользуется популярностью в приложениях с открытым исходным кодом.

С ростом популярности фреймворка настало время сфокусироваться на потребностях крупных организаций и критически важных приложений, которые нуждаются в обновлениях безопасности и не могут быстро обновляться на очередную значительную версию фреймворка.

Laravel 5.1 будет получать обновления безопасности в течении трёх лет.

Долгосрочная поддержка, возможно, самая главная особенность этого выпуска, но релиз так же включает некоторые другие новые функции.

( читать дальше... )

>>> Подробности

 ,

Kilte
()

PHP исполнилось 20 лет

Новости — Open Source
Группа Open Source

Именно в этот день, 8 июня 1995 года, Расмус Лердорф открыл исходный код PHP Tools общественности.

Созданное в 1994 году Расмусом Лердорфом, самое первое воплощение PHP было простым набором CGI-скриптов, написанных на языке программирования Си.

Первой версией PHP, напоминающей тот язык, каким мы знаем его сегодня, была версия 3.0. Примерно после девяти месяцев публичного тестирования, при объявлении официального выпуска PHP 3.0, он уже был установлен на более чем 70000 доменах по всему миру. На пике своего развития PHP 3.0 был установлен приблизительно на 10% веб-серверов в Интернете.

PHP 4.0, основанный на новом движке «Zend Engine», официально вышел в мае 2000 года. Кроме значительного улучшения производительности, PHP 4.0 получил ещё несколько ключевых нововведений, таких как поддержка намного большего числа веб-серверов, поддержка HTTP сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

В июле 2004 был выпущен PHP 5 с обновлённым движком «Zend Engine 2.0», новой объектной моделью и множеством других нововведений. Версия 5.3 порадовала пользователей пространствами имён, поздним статическим связыванием и замыканиями.

В 2009 году появилась группа совместимости фреймворков (PHP-FIG), которая начала благородную миссию по стандартизации совместимости PHP-проектов. Большинство PHP-библиотек и фреймворков начали адаптацию под рекомендации, предложенные или одобренные группой совместимости фреймворков (PSR).

В апреле 2011 началась работа над менеджером зависимостей Composer, который должен прийти на замену устаревшему PEAR.

Новая значительная версия PHP 5.4 была выпущена в марте 2012. С выпуском этой версии PHP получил заметные улучшения производительности, новые функции включают трейты, короткий синтаксис массивов, встроенный веб-сервер для тестирования и многое другое.

С приходом версии 5.5 в PHP появились генераторы и сопрограммы, ключевое слово finally, упрощенное API для хеширования паролей и множество других новых функций.

Несмотря на наличие обширной документации, первоначальный черновик спецификации был анонсирован только в 2014 году.

А в августе этого же года вышла стабильная значительная версия PHP 5.6. Новые функции включают скалярные выражения в константах, функции с переменным числом аргументов при помощи оператора ..., оператор возведения в степень **, импорт функций и констант при помощи ключевого слова use и многое другое.

Уже осенью этого года состоится выпуск PHP 7, который включит революционные для этого языка изменения.

>>> Подробности

 

Kilte
()

Релиз Symfony 2.7.0 — web-фреймворка для языка PHP

Новости — Open Source
Группа Open Source

30 мая 2015-го года состоялся релиз web-фреймворка Symfony 2.7.0. Эта версия получила статус LTS, а это означает, что она будет поддерживаться до 2019-го года.

Днём ранее Fabien Potencier сообщил в твиттере, что релиз готовит неожиданный сюрприз... Symfony теперь имеет встроенную поддержку PSR-7. И это работает начиная с Symfony 2.3 без потери обратной совместимости. В связи с этим Ryan Weaver написал специальный пост в блоге Symfony.

( читать дальше... )

>>> Подробности

 ,

Kilte
()

Last.fm готовят новую версию

Форум — Talks

http://beta.last.fm/

Для тех, кто по каким-то причинам не может/не хочет логиниться: http://i.imgur.com/y2v9QC0.jpg

 

Kilte
()

Технический комитет проекта Io.js проголосовал за присоединение к Node.js Foundation

Новости — Open Source
Группа Open Source

В феврале компания Joyent объявила об учреждении некоммерческой организации Node.js Foundation, которой передано управление разработкой Node.js и вся связанная с проектом интеллектуальная собственность.

На собрании технического комитета Io.js было принято решение о воссоединении с Node.js. Этот шаг не позволит немедленно объединить два в настоящее время разных проекта, но работа уже идёт. Так был создан репозиторий, в который началось портирование изменений из Node.js.

Управление проектом будет осуществляться техническим комитетом Node Foundation, в который войдут как представители Node.js, так и наиболее активные участники проекта io.js. Выпуски io.js продолжатся, пока объединённый выпуск не будет готов.

io.js является форком проекта Node.js, который был создан в ответ на медленный процесс разработки, регулируемый компанией Joyent.

>>> Обсуждение на GitHub

 io.js, iojs,

Kilte
()

Возвращение на Debian

Галерея — Скриншоты

Не знаю, чего мне не хватало, но я вдруг решил снова вернуться на Debian. А заодно снести наконец венду и навести порядок в своей файлопомойке.

  • Тема OpenBox: adwaita-ob
  • Тема GTK: absolute
  • Иконки: FaenzaFlattr2
  • Шрифты: DejaVu Sans
  • Панель: tint2

>>> Просмотр (1440x900, 1153 Kb)

 , ,

Kilte
()

Сборка фронтенда: доведение до идеала

Форум — Web-development

По итогам прошлого треда я остановился на assetic.
Со временем мне надоело заниматься, как правильно заметили, луддизмом и в итоге был выбран gulp, а вместо bowerphp оригинальная реализация bower.
В целом всё устраивает, но есть некоторые моменты, в которых не всё так гладко, как хотелось бы.
Сейчас типичный проект имеет следующую структуру:

frontend/
├── node_modules/
├── public/
├── source/
├── vendor/ (вместо bower_components)
├── .bowerrc
├── bower.json
├── gulpfile.js
├── package.json
├── settings.default.json
└── settings.user.json

Всё, что лежит в public — генерируется автоматически.
Обычно это index.html, app.js, style.css и директория templates с ангуляровскими шаблонами.
Затем на public натравливается nginx и всё работает.
Минус данного подхода в том, что если нужны какие-либо иконки шрифты и прочее, то их приходится копировать из vendor.
Можно и не копировать, а сделать директорию публичной, но это не очень красиво.

Все стили и скрипты собираются в один файл следующим образом:

gulp.task('css', function () {
    gulp.src([
        'source/**/*.css',
        'vendor/primer-css/css/primer.css',
        'vendor/angular-ui-notification/dist/angular-ui-notification.min.css',
        'vendor/ngDialog/css/ngDialog.css',
        'vendor/ngDialog/css/ngDialog-theme-default.css'
    ]).pipe(
        concat('style.css')
    ).pipe(
        autoprefixer()
    ).pipe(gulp.dest('public'));
});
gulp.task('js', function () {
    gulp.src([
        'vendor/angular/angular.js',
        'vendor/angular-route/angular-route.js',
        'vendor/ngDialog/js/ngDialog.js',
        'vendor/angular-ui-notification/dist/angular-ui-notification.min.js',
        'source/**/*.js'
    ]).pipe(ngAnnotate({
        add: true,
        single_quotes: true
    })).pipe(
        concat('app.js')
    ).pipe(gulp.dest('public'));
});
gulp.task('minify', function () {
    gulp.src('public/app.js').pipe(uglify()).pipe(gulp.dest('public'));
    gulp.src('public/style.css').pipe(minifycss()).pipe(gulp.dest('public'));
    buildIndex();
});

В идеале хотелось бы иметь возможность просто указать vendor/**/*.js и vendor/**/*.css
Но так как туда попадает всякий хлам из репозитория, то это невозможно. Есть ли какие-то сдвиги в эту сторону?
В php например догадались заюзать .gitattributes.

В случае с css бывает и так, что в пакете оказываются только исходники в less или sass и минимизированные файлы.
Если я не использую ни то ни другое, то ради зависимостей устанавливать less и sass нет никакого желания.
Приходится указывать минифицированные файлы и в итоге они пропускаются через минификатор по второму кругу.

Это конечно мелочи, но я был бы рад, если эти проблемы можно решить просто и без всякого геммороя.

 , ,

Kilte
()

JSON-RPC бэкэнд на Scala

Форум — Web-development

Посматриваю на Scala. И чтобы познакомиться поближе, решил написать SPA на AngularJS с JSON-RPC бэкэндом на этом замечательном языке. Так уж сложилось, что я REST'у предпочитаю JSON-RPC. Не спрашивайте почему.

И тут встал вопрос о выборе инструмента. Конечно же я перед тем, как создать этот тред, пробовал поискать сам, но либо я совсем мудак, либо действительно найти подходящее решение не так уж и просто.

 

Kilte
()

Рабочий Cinnamon

Галерея — Скриншоты

В одно время от нечего делать да и просто из интереса запилил себе редактор ID3 тегов. По сути это фронтенд к mutagen, написанный на PyQt. На мой взгляд получилось не плохо. По крайней мере пользоваться можно.

При реализации сортировки наткнулся на одну проблему, поиск решения которой занял не мало времени. При обновлении данных в таблице приходится выключать/включать сортировку, т.к. в ином случае текст в некоторых полях перестаёт отображаться.

Ещё скриншоты:
- Desktop
- LOR

PS1 раскрашивает powerline-shell.

Обоину можно забрать здесь.

>>> Просмотр (1920x1080, 410 Kb)

 , , ,

Kilte
()

Git 2.3.0

Новости — Open Source
Группа Open Source

Как обычно, выпуск содержит множество улучшений, усовершенствований производительности и исправлений ошибок.

Push to deploy

Один из способов развёртывания веб-приложений из Git — хранение рабочей копии на сервере. Когда появляется новая версия, на сервере исполняется git pull. С Git 2.3 это стало ещё более удобным.

( читать дальше... )

>>> Подробности

 

Kilte
()

git: автоматический rebase веток после изменения родительских коммитов

Форум — General

Имеется следующая история:

* 6061a01 (b2) b2
| * 6093c87 (b1) b1
|/  
* ca8354f (HEAD, master) c1
* b3d1539 Init

После того, как я изменил сообщение коммита ca8354f с помощью git rebase -i, получил следующее:

* 05ffbac (HEAD, master) commit 1
| * 6061a01 (b2) b2
| | * 6093c87 (b1) b1
| |/  
| * ca8354f c1
|/  
* b3d1539 Init

Как сделать так, чтобы на место ca8354f встал 05ffbac? Первое, что приходит в голову, ребейзнуть все ветки (git checkout branch-name && git rebase master) и это работает.

* 0ebddf0 (b2) b2
| * d2365a1 (b1) b1
|/  
* 05ffbac (HEAD, master) commit 1
* b3d1539 Init

Но можно ли сделать так, чтобы ветки перебазировались автоматически?

 ,

Kilte
()

Почти дефолт

Галерея — Скриншоты

Переехал с минта на кубунту, а заодно с Awesome обратно на KWin. PHPStorm и PyCharm заменены на IDEA.

Остальное описывать не имеет смысла, всё есть на скриншоте. Ну разве что только тема плазмы — Air с изменённым фоном панелей.

LOR: http://i.imgur.com/BcVDE2d.png

IDEA: http://i.imgur.com/bvzBebT.png

Amarok: http://i.imgur.com/T9ffdd7.png

>>> Просмотр (1440x900, 1105 Kb)

 ,

Kilte
()

Альтернатива GruntJS

Форум — Web-development

Впервые решил потыкать этот ваш Grunt, а ставится он как я понял только с помощью npm, который тянет в свою очередь nodejs и еще кучу зависимостей. Если с этим еще можно смириться (поставил раз глобально и забыл), то как оно ведёт себя в локально в проекте меня совершенно не устраивает.

Ставлю плагин для объединения зависимостей, установленных через bower и в итоге оно зачем-то мне поставило grunt локально (не в зависимостях требуемого плагина), хотя он уже стоит глобально, а еще накачало зависимостей на 40 мегабайт. Неужели такая задача, как склейка файлов требует такого количества кода? Никогда не поверю. А что будет, когда понадобится что-то по сложнее?

Теперь вот думаю, что стоит подыскать что-то попроще.

На замену bower есть bowerphp, который хоть еще и в альфе, но со своей задачей вроде как справляется.

А вот с заменой гранта я ничего не придумал. Я слышал про assetic, который позволяет объединять файлы и пропускать через фильтры, но хотелось бы готовое консольное приложение: скачал phar, скормил конфиг, получил результат.

Пробовал искать. Пока безуспешно. Писать свой велосипед нет ни желания ни времени.

 , , ,

Kilte
()

Не запускается chromium на Ubuntu 14.04

Форум — Desktop

Хромимум запускаю в фреймбуфере.

$ chromium-browser 
 PID namespaces supported Network namespace supportedbut failed: errno = Operation not permitted
^C
$ chromium-browser  --no-sandbox
Xlib:  extension "RANDR" missing on display ":0.0".
Xlib:  extension "RANDR" missing on display ":0.0".
[26058:26058:0630/124925:ERROR:renderer_main.cc(224)] Running without renderer sandbox
ATTENTION: default value of option force_s3tc_enable overridden by environment.
libGL error: failed to load driver: swrast
[26025:26025:0630/124926:ERROR:command_buffer_proxy_impl.cc(160)] Could not send GpuCommandBufferMsg_Initialize.
[26077:26077:0630/124926:ERROR:renderer_main.cc(224)] Running without renderer sandbox
ATTENTION: default value of option force_s3tc_enable overridden by environment.
libGL error: failed to load driver: swrast
[26025:26025:0630/124926:ERROR:command_buffer_proxy_impl.cc(160)] Could not send GpuCommandBufferMsg_Initialize.
[26094:26094:0630/124926:ERROR:renderer_main.cc(224)] Running without renderer sandbox
ATTENTION: default value of option force_s3tc_enable overridden by environment.
libGL error: failed to load driver: swrast
[26096:26096:0630/124927:ERROR:sandbox_linux.cc(268)] InitializeSandbox() called with multiple threads in process gpu-process
[26025:26025:0630/124927:ERROR:command_buffer_proxy_impl.cc(160)] Could not send GpuCommandBufferMsg_Initialize.
[26025:26025:0630/124927:FATAL:x11_types.cc(148)] Sorry, we don't support your visual depth without Xrender support (depth:8 bpp:8)
Aborted
$ glxinfo | grep opengl
libGL: screen 0 does not appear to be DRI3 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: driver does not expose __driDriverGetExtensions_swrast(): /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: __driDriverGetExtensions_swrast
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL error: failed to load driver: swrast
Error: couldn't find RGB GLX visual or fbconfig
Error: couldn't find RGB GLX visual or fbconfig

 ,

Kilte
()

Awesome Mint

Галерея — Скриншоты

Mint 16 KDE.

Вместо kwin используется awesome. Для плазмы стоит правило, которое скрывает все её окна. Вырубаться она почему-то не хочет. Не стал разбираться, так как некогда было.

Быдлокодерю на похапе под Sick of it all, читаю лор. Ну и вроде бы всё.

>>> Просмотр (1440x900, 242 Kb)

 , , ,

Kilte
()

RSS подписка на новые темы