Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 133 lines (84 sloc) 9.44 KB

Как уже стало ясно из название статьи, мой текущий “open source commit streak” подошел к отметке 128 дней и без статьи что же я делал все это время не обойтись.

My open source activity

#Zephir

Так как с этим языком связано большая часть моей деятельности то я озвучу его в первую очередь. Очень приятно что язык не стоит на месте а именно мы получаем хороший feedback от пользователей что не может не радовать. Одним из больших стремительных толчков развития языка дают новые опенсорс проекты.

##0.4.3 Alpha

Вышла новая версия 0.4.3 которая содержит ряд исправлений, а так же улучшений:

  • Fixed variables initialisation in conditions #413
  • Stubs generating fixes #418, #421, #434
  • Fixed is_numeric function call
  • Fixed internal CS errors #416
  • Fixed identical operator #423
  • Fixed small memory leak inside parser #431
  • Improve try-catch
  • Fix string constants escaping, IssetOperator with variables #456
  • Added support for doubles in typeof statements
  • Fixed arithmetical errors #441
  • Added deprecated method modifier #462
  • Added ability for lookup php.ini inside project #446

Говорим слова благодарности @phalcon, @nkt, @dreamsxin, @christiaan, @andycheg, @kjdev, @mruz.

##0.4.4 Что сейчас уже сделано

А что еще добавиться - узнаем в ближайшем будущем.

##Zephir 0.5-dev

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

###Разделить все на компоненты

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

Главными останутся

  • Zephir\Core
  • Zephir\Parser
  • Zephir\Kernel (библиотека расширяющая возможности ядра Zend)
  • Zephir\CodePrinter

В будущем это дало бы возможность замены и написание сторонних компонентов, а для примера возможность связок:

  • Zephir -> PHP
  • PHP -> Zephir
  • Zephir & PHP -> Zephir

###Сделать псевдо AST

После некоторых обсуждение все-таки было решено что нужно забить на текущее ast json дерево и пользоваться человеческим объектным деревом. Этот шаг позволяет стандартизировать компонент парсинга для написание различных версий под языки.

###Поддержка компиляторов (внутри ядра)

Некоторые моменты в главной библиотеке сделаны статично. Я добавил возможность выбора компилятора исходя из config.json в корне проекта.

Пример допустим можно сменить gcc на llvm-gcc и получить программу с jit машинной благодаря llvm.

Ветка

##Lynx

Пару месяц назад решил о том, что текущие мною используемые ORM системы являются громоздкими и медленными. Решение было незамедлительным - начать новый проект, в котором я объединю философию Doctrine 2, мой опыт и прекрасный язык Zephir.

Страница проекта

Github репозиторий

#Phalcon

Для Phalcon 2 я отправил ряд исправление тестов что позволило добиться работоспособности для версии PHP 5.6.

##Скелет приложения на Phalcon

Это совсем новый проект и поэтому он находиться на этапе зарождения архитектуры и целей. Главная цель проекта разработать удобный каркас приложения на Phalcon с кучей поддерживаемых вещей по умолчанию.

Для начало я хочу реализовать набор модулей:

  • Админ-панель
  • Пользователь
  • Каталог - каталог продуктов
  • Корзина - модуль реализации корзины (зависимость каталога)
  • OAuth - авторизация через социальные сети сети

По выпуску бета версии в проекте зародиться новая ветка с реализация работы базы данных уже на Lynx.

Страница проекта

Github репозиторий

#129 День

Увидел из Твитера о том что Rushmore Mushambi реализовал проект zephir-compiler realtime build системы на bash. Решение было незамедлительным и потратив 40 минут своего времени благодаря React написал реализацию данной фичи внутри ядра Zephir. Благодаря текущей реализации мы не тратим время на bootstrapping ядра, а также позволяет в будущем добавить возможность частичного билда (транслируем только те файлы которые были изменены).

Собственно сам FR Watch command #472

#Конфликты в Zephir

Очень часто стали происходить конфликты с авторами проекта что начало нагнетать обстановку. Было решено приостановить активность в отношении Zephir и направить силы в ряд своих проектов (время покажет).

#Развитие блога

Да я все такие решился на ведение блога, но у меня появилась одна проблема. Все мои статьи являются слишком узко профилированными, а написание их с обработкой и корректировкой занимает до 5 часов. Если у вас вдруг есть интерес к просмотру статей еще не опубликованных для помощи в корректировки просьба написать мне для удобным вам способом.

Следующие статьи (c ориентировочной датой):

  • Как настроить свои личные NS сервера (10 августа)
  • Zephir против PHP-CPP (20 августа)
  • Начало серии скринкастов о супер быстрой разработке приложений на супер быстром Phalcon (1 сентября)

Если вам интересно читать мой блог то поддержите меня своими старами на гитхаб а так же не забываем про follow (я буду крайне рад).

Увижу вас в скором времени а сейчас по традиции я говорю: "Happy Coding with Phalcon and Zephir".