Блог пользователя Nelex

test

Русская операционная система. ОС Фантом

Phantom OS
Не знаю смеяться ли, или воспринимать это серьезно. Сложно воспринимать однозначно на сколько уверены авторы своего детища. Склоняюсь что у ReactOS больше шансов выйти на рынок чем у Фантома. Но может кому тоже будет любопытно почитать. Сам я отношусь к этой информации достаточно скептически. История имеет свойство повторяться и тут я скорее склонюсь в сторону что будущее за облачными ОС, как когда-то раньше за основу использовались терминалы подключаемые к мейнфрейму.


Q: Что такое ОС Фантом? Это клон Windows или ещё раз переупакованный в новую коробку Linux?

A: Ни в коем случае. Наша задача — не дополнить существующие ОС, которые и без того изрядно тяжеловесны и перегружены, а построить новую платформу.

Q: В чем же интерес или польза от несовместимой ни с чем системы?

A: Вовсе не обязательно быть несовместимым, имея технологическое преимущество. Мы реализовали POSIX-подсистему в рамках Фантом. Конечно, не все возможности ОС Фантом доступны из POSIX-подсистемы, но мы работаем над этим.

Q: Вы собираетесь конкурировать с Windows? Это несерьёзно и нереально!

A: Существует несколько примеров более-менее удачной конкуренции с Windows. Наиболее известные ОС широкого профиля — MacOS и Linux. Менее известные и нишевые — PalmOS и Symbian. Отметим, что все эти системы (за исключением, пожалуй, MacOS) были созданы при достаточно умеренных вложениях.

Q: Но MacOS-то обошлась в огромные деньги?

A: Отчасти. Если смотреть на весь путь её развития — то да. Но, фактически, десятая версия MacOS (та, которая используется сейчас) написана заново в течение довольно короткого времени. Эта система, как и Linux, эффективно использовала потенциал Open Source сообщества и обошлась в довольно обозримые деньги. Во всяком случае

test

Подключение платежной системы 2checkout к вам на сайт

2checkout direct checkout

Содержимое

  • Предисловие
  • Регистрация и одобрение.
  • Direct и не Direct
  • Прикручиваем саму платежку
  • Обработка платежа вашим сайтом после оплаты

Предисловие

Все что кажется сложным, зачастую только кажется таким. Вот тоже самое можно сказать и про платежную систему 2checkout. Те сайты что работают с буржуйными платежами очень часто подключены к данной платежной системе. Я расскажу в кратце как работать с этой платежной системой. Особенно с учетом англоязычного саппорта, нашим разработчикам это должно немного помочь.

Итак, 2checkout, имеет достаточно обширную документацию по своему API и даже несколько подготовленных заранее библиотек для разных языков программирования. Но реально не хватает кратеньких примеров. Так вот, все что вам нужно для того чтобы прикрутить эту систему:

Регистрация и одобрение.

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

Direct и не Direct

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

Прикручиваем саму платежку

Вам нужно разместить саму форму платежной системы у себя на сайте. Используем вариант не Direct платежа:

test

Если DPKG/APT/APTITUDE медленно работает

Когда DPKG, APT, APTITUDE начинают медленно работать стоит попробовать выполнить следующие команды:

1) dpkg --clear-avail
2) dpkg --forget-old-unavail
3) Если используете grep-available или другую утилиту для проверки доступных файлов, обновите файл используя sync-available (в пакете dctrl-tools).

Оригинал на английском

test

PrestaShop 1.5+ Получаем содержимое корзины

cart

Чтобы получить содержимое корзины достаточно столь короткого кода:

$cart = new Cart($this->context->cookie->id_cart);
$cartProducts = $cart->getProducts();

Так же, чтобы увидеть больше можно взглянуть на файл контроллера корзины, который находиться в /classes/Cart.php

test

Правила для Ассоциаций Содержит-Один(HasOne) и Принадлежит(BelongsTo) в ExtJS

Правила для Ассоциаций Содержит-Один(HasOne) и Принадлежит(BelongsTo) в ExtJS

  1. Помещайте прокси в модель, пока у вас не будет веской причины как в случае [1]
  2. Всегда используйте полное имя модели
  3. Всегда устанавливайте getterName
  4. Всегда устанавливайте setterName
  5. Всегда устанавливайте associationKey, если подключаемый обьект возвращает тот же ответ что и текущий
  6. Всегда устанавливайте foreignKey, если хотите загружать связанный обьект только по надобности
  7. Делайте как можно короче instanceName
  8. Геттер ведет себя по разному в зависимости от того, иностранные объект загружается или нет. Если он загружен, внешний объект возвращается. В противном случае, вам нужно передать в функцию обратного вызова, чтобы получить его.
  9. Нужно установить название свойства, если планируете перегрузить ассоциацию.
  10. Вам не нужно отношение belongsTo для работы с hasMany
  11. Установите primaryKey если ID поле родителя не "id"
  12. Иногда вам нужно использовать uses или require для ассоциации belongsTo.
  13. Вызов сеттера setter() не создает экземпляр. Установите object.belongsToInstance = obj если вызываете setter().

...

test

ExtJS 4: Отображение связанных моделей в сетке(Grid) Перевод

Примечание переводчика

Буквально пару дней назад я делал перевод статьи о том как использовать контроллеры и представления в ExtJS согласно архитектуре MVC. Но в ней не было использования моделей, хотя основы использования фреймворка вполне прекрасно обозначались. И вот новый перевод, небольшой но достаточно содержательный. Мы рассмотрим как использовать связанные модели и отображать их в сетке. Думаю это далеко не последний мой перевод по теме ExtJS, лишь текущий.

Если кому не понравиться перевод, можете смело читать в оригинале: Rendere association values in a grid panel

Перевод

ExtJS 4 предоставляет отличный механизм моделей данных. Важным аспектом в Ассоциациях является определение отношения между разными моделями в вашем приложении. Это важная возможность с всего парой побочных эффектов.

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

В моем примере у меня есть Документы(Documents) связанные с Компонентами(Components). В нашем натуральном языке обработки[NLP] модель строит приложение, каждый документ может быть использован в разных аспектах модели. В любом случае, Компоненты могут быть изменены, удалены из системы, или добавлены новые, по этому я отслеживаю их как отдельные обьекты и ассоциирую их с обьектом Документ.

test

ExtJS: Приложение с авторизацией и меню

Форма входа

Предисловие, мое как переводчика.

Как обычно, ру-интернет сильно отстает в плане хороших примеров. Не скажу что их нет, но их несоизмеримо меньше чем в англоязычном. А ведь иногда так хочется почитать нормальные статьи на русском языке. В этом раз я сделаю перевод статьи о написании Приложении написанного на ExtJS 4 с формой авторизации и меню.

Проверять полную валидность кода не буду ввиду того что мне нужны только части кода. Если есть какие-то баги, их вы сможете увидеть на странице оригинала.

Оригинал по ссылке: http://blog.jardalu.com/2013/5/7/user-login-sencha-extjs

И да, спасибо автору этого материала.


В предшествующей статье(простая форма авторизации), мы создали простое форму авторизации с помощью библиотеки ExtJS Sencha. На сколько не была бы полезна предшествующая статья, все что она делала - показывала форму(представление). В этой статье мы покажем как изменять экран(представление) если авторизация прошла успешно.

В этой статье используется архитектура MVC фреймворка ExtJS. Предшествующая статья не использовала эту архитектуру. Сказать точнее, мы будем использовать только VC(Views,Controller) часть из MVC. MVC состоит из Модели(Model), Представления(View) и Контроллера(Controller). "The MVC Application Architecture" хорошая статья для понимания их MVC архитектуры. В общем-то их архитектура не отличается от стандартного паттерна, всего-лишь формализует путь написания, хранения и использования моделей, контроллеров и представлений.

test

PrestaShop и кеширование внутри модуля

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

Чтобы не быть многословным, проще показать кусок кода:

test

ExtJS Grid(компонент сетка) + Ajax(Kohana 3 framework) + ORM. Пагинация. Сортировка.

ExtJs

Введение

Нужно использовать сетку(Grid) в ExtJS, с ее возможностью пагинации и сортировки данных на стороне сервера.

Описание

Как подключать и использовать ExtJS написано много. Но иногда не хватает деталей. Итак, пример того как в компоненте сетка(Grid) использовать данные получаемые в ajax. Эту часть я делал на фреймворке Kohana 3, но не думаю что у вас возникнут особые сложности перевести все это в свой нужный код. Так как код на Kohana 3, то используется HMVC(MVC). Сейчас немного о логике. Данные взяты из прототипа одного проекта, по этому могут быть не совсем полными, но основную суть передают. У нас есть основной контроллер на который мы переходим вызывая отображение нашей страницы с таким вот кодом:

test

Кросс-браузерная верстка(Видео)

На просторах сети много чего можно найти. Толкового правда не всегда много, но есть. Вот попался мне видео-курс по кросс-браузерной верстке. 8 Частей. Длительные, но посмотреть стоит.

Под катом несколько видео.

test

Awesome WM + Java = Белый экран(white screen)

При запуске PhpStorm из-под Awesome WM у меня вместо среды разработки начало показываться просто белое окно. Решение уже существует и находиться Здесь.

Заключается оно в том чтобы использовать OpenJDK с уже существующими фиксами этой проблемы. Для использования из консоли нужно ввести следующую команду:

$ _JAVA_AWT_WM_NONREPARENTING=1; export _JAVA_AWT_WM_NONREPARENTING

Так же можно заставить поверить Java что вы используете другой рабочий стол командой:
$ wmname LG3D
Из пакета suckless-tools

test

Контроллеры в PrestaShop 1.5

Контроллеры в PrestaShop

Предисловие

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

В MVC архитектуре, контроллер управляет синхронизацией данных между Представлением(View) и Моделью(Model). Контроллеры обрабатывают все события и триггеры событий вызываемые пользователем.
Если нужно чтобы какие-то данные были изменены, Контроллер говорит об этом Модели, и передает данные запрошенные/возвращенные из Модели в Представление.
Все контроллеры в PrestaShop могут быть перекрыты классами контроллеров которые наследуют класс-родитель, например AdminController, ModuleAdminController, FrontController или же ModuleFrontController.

test

PrestaShop: Страницы категорий/каталога (Controller, Modules, Hooks) в Prestashop(Перевод)

Presta Контроллер категорий и товаров

Приветствую, Читатель!

Интро

Ну вот очередной перевод "для себя" и заодно для вас, читатели. Так как тема PrestaShop для меня на текущий момент весьма актуальна, а материала по нему в ру-язычном сегменте достаточно мало, а платить за модули готовые для разработчика дело... не правильное. Тем более там по большей части украшалки и ничего толкового. Мое имхо как итого: можно сделать хороший высоконагруженный магазин, но только если взять за основу саму архитектуру CMS и полностью перепилять ее модули и контроллеры. Как итого я уже сделал для себя модуль меню(блок категорий) который при 300+ категориях делает всего 2 запроса, вместо 300 как у того что присутствует в поставке самой CMS. Так же я доделываю фильтры и контроллер категорий. Все это в одном модуле. Все в купе вместо 1200+ запросов к базе кушает около 40+ запросов. Приятно? Очень.

Я отвлекся. В общем и целом дальше перевод статьи Category/Catalog page (Controller, Modules, Hooks) in Prestashop, которая даст нам еще больше понять и прояснить в архитектуре и работе PrestaShop.

Дальше сам перевод.


Контроллер CategoryController

/controllers/front/CategoryController.php

CаtegоryCоntrоller контроллер ответственный за генерацию страниц каталога. Наследуется от класса FrontController. Давайте рассмотрим методы вызываемые этим контроллером. Но сперва давайте упорядочим в том порядке, в котором они вызываются.

Методы класса CаtegоryCоntrоller:

test

PrestaShop обновление 1.5.4 до 1.5.5 версии

PrestaShop
Вышло обновление с нужными мне фиксами движка. Обновление достаточно простая задача, но после Drupal, PrestaShop в этом плане все-таки не торт. Но, сейчас о том как я это делал. Не забывайте делать бекапы CMS и базы данных на случай если вы нечаянно когда-то что-то перепутаете.

1) Качаем новую версию с сайта престы.
2) Создаем по соседству с сайтом папочку, к примеру presta155
3) Заливаем в нее скачанную новую версию престы.
4) Заливаем с текущей в новую версию папки в которых есть кастомные наши файлы(images, logos, photos, translations, modules, другие)
5) Делаем бекап базы(mysqldump -p prestadb154 > /путь/prestadb155.sql) и заливаем его в созданную по соседству новую базу, к примеру presta155(mysql -p prestadb155путь/prestadb155.sql)
6) перезаливаем конфиг с старой версии в новую скопировав файл /config/settings.inc.php, меняем реквизиты на новую базу prestadb155

Страницы

Subscribe to RSS - Блог пользователя Nelex