Чтобы не искать, положу сюда: чтение файлика экселя с переделкой и выплевыванием на экран
пятница, 22 апреля 2016 г.
четверг, 21 апреля 2016 г.
о движке
Давно не было никаких новостей по поводу движка.
А между тем, новостей достаточно: был переосмыслен ряд моментов, связанных с mvc, это вылилось в глобальныйочередной пересмотр всего и вся:
А между тем, новостей достаточно: был переосмыслен ряд моментов, связанных с mvc, это вылилось в глобальный
вторник, 12 апреля 2016 г.
анализ и работа над ошибками mwce
Дорогой дневник, на самом деле хочется уже послать тебя и "в" и "на" и "по", но так как ты являешься моей записной книжной, пока воздержусь... о чем это я.. А.. Если кто читает, то здравия желаю.
пятница, 4 марта 2016 г.
о вечном холиваре
..что же лучше: структурное программирование или ООП. А лучше, я вам скажу, велосипед, спортзал и перчатки.
среда, 2 марта 2016 г.
О переходе на php7
На работе перевел продакшн на семерку.
Процесс перехода был, относительно, быстрым: более всего волновали вопросы с поддержкой библиотек, так как, свой код в паре мест поправить проблем не составляло. Однако, все было более чем дружелюбно и не проблемно. Заодно с новой пыхой поменял апач на более свежий - с 2.2 шагнул на 2.4.
По скорости - в некоторых местах стало значительно быстрее. Работает не медленнее везде. В общем - то, не обманули бенчмарки - в среднем от 10-30% прироста, но на некоторых операциях и того быстрее.
Процесс перехода был, относительно, быстрым: более всего волновали вопросы с поддержкой библиотек, так как, свой код в паре мест поправить проблем не составляло. Однако, все было более чем дружелюбно и не проблемно. Заодно с новой пыхой поменял апач на более свежий - с 2.2 шагнул на 2.4.
По скорости - в некоторых местах стало значительно быстрее. Работает не медленнее везде. В общем - то, не обманули бенчмарки - в среднем от 10-30% прироста, но на некоторых операциях и того быстрее.
среда, 23 декабря 2015 г.
немного о mwce и о планах
Наконец, взялся за написание гайдов "как напилить свой модуль на коленке" с примерами и скриншотами. Забавно, но пока написал первую четверть, нашел небольшую недоработку, поправил... И тут меня посетила мысль, что опять надо будет делать билд, собирать архив, сувать его на обменник.. долго, нудно, а, главное - лень. Вспомнился старый добрый уже давно запиленный модуль для получения обновлений (еще на версии 1.5.3 и 1.6.0), и скорее всего, надо сделать локальную установку патчей. Но вводить его буду, когда пойму, что процесс пошел и народ, наконец, начал что-то сам писать.
Вообще, забавно.. На данный момент, аналога движка для му нет... вообще нет: и бесплатный и куча ништяков может делать...
Либо я не донес до народа, либо народ зажрался...
Вообще, забавно.. На данный момент, аналога движка для му нет... вообще нет: и бесплатный и куча ништяков может делать...
Либо я не донес до народа, либо народ зажрался...
суббота, 5 декабря 2015 г.
немного поработал с php 7
собирал по-быстрому пыху с офф сайта вин сборку + апачу отсюда. Настройка стандартная, в общем-то, ничего существенно нового не прибавилось (единственное, если сидели на апаче 2.2, то на 2.4 изменено order allow deny, имейте ввиду) Как я писал ранее, весьма себя оправдывает новый движок: где-то работает так же, а где-то в разы быстрее выходит. Пока побаиваюсь ставить его на продакшн, но ковыряю и подгоняю CMS под стандарты 7ки. Вот тут есть видео про новые возможности (требуется регистрация). Более-менее внятно человек ведает о what's new.
О своих впечатлениях могу сказать так: все замечательно, но есть 1 большое но: нет адекватных инструментов для работы с mssql или я слепой... это несколько удручает, но поживем-посмотрим и найдем еще..
О своих впечатлениях могу сказать так: все замечательно, но есть 1 большое но: нет адекватных инструментов для работы с mssql или я слепой... это несколько удручает, но поживем-посмотрим и найдем еще..
вторник, 1 декабря 2015 г.
php 7
Поставил, поработал. Впечатлило. Очень впечатлило.
Причем мерил с тем, что у меня в продакшене, с тем, что по-быстрому поднял на ноуте
да, у меня винт 7200 оборотов, но на сервере ssd да и проц по-серьезнее. В общем и целом могу сказать, что версия с 7 на ноуте работала не хуже чем с 5 на сервере. по скорости не уступает, а кое-где и быстрее (сотые секунды, но при больших выборках это решает).
Да, забыл, речь про mwce .
Причем мерил с тем, что у меня в продакшене, с тем, что по-быстрому поднял на ноуте
да, у меня винт 7200 оборотов, но на сервере ssd да и проц по-серьезнее. В общем и целом могу сказать, что версия с 7 на ноуте работала не хуже чем с 5 на сервере. по скорости не уступает, а кое-где и быстрее (сотые секунды, но при больших выборках это решает).
Да, забыл, речь про mwce .
вторник, 17 ноября 2015 г.
Starcraft 2: Legacy of the Void
Starcraft 2: Legacy of the Void. Прошел за 2 дня, почти на "казуальном" уровне - сюжет был самым интересным местом.
Общие впечатления:
Общие впечатления:
- багов не найдено. Карл.. нет багов! (огромная куча самого вонючего дерьма с наилучшими пожеланиями кидаю в сторону valve - берите пример, криворукие маркетологи и программисты, как надо работать. Близы, оказались на высоте)
- Интересный сюжет. Для себя отметил, что играть за протосов, пожалуй, наиболее комфортно
- Похоже, что задел на продолжение есть.
среда, 11 ноября 2015 г.
пятница, 30 октября 2015 г.
воскресенье, 11 октября 2015 г.
Что такое MVC (Nodel-View-Controller) моими глазами. Тут только теория и много пьяных букв.
Самое первое, о чем хотелось бы сказать - я не претендую на истину в последней инстанции и все ниже написанное может показаться кому-то бредом. Запись будет написана в, мягко говоря, не деловом стиле, так что подумайте еще раз, прежде чем читать дальше. Вы можете смирится написать в комментариях здравую критику, я только за.
Второе, о чем хотелось бы сказать - я не являюсь теоретиком, а на 80% все познаю в практике, из-за чего могу быть неправ или не совсем прав. Так же из меня ужасный учитель и "объяснятель", так что если Вы все еще хотите читать дальше... вобщм, я предупредил.
Третье, но уже по теме: MVC является паттерном, то есть шаблоном программирования, который перерос в религию "тру-программистов". Шаблоны, если говорить на чистом и любимом русском - варианты решения типичной ситуации. И поэтому всегда, слышите? Всегда прежде чем использовать тот или иной шаблон трижды (если такой же как я, то все 5 раз) подумайте, а подходит ли данный шаблон под вашу ситуацию или нет, если нет, то не надо использовать что-то притянутое за уши. Пожалейте всех тех, кому сопровождать ваш код, ну или себя, если это будете Вы.
Что же, кто выдержал эти три первых абзаца разминки, дерзайте, я начинаю...
MVC он же Model - View - Controller (Модель - вид - Контроллер(управление, по-русски)) шаблон(алгоритм) программирования, в том числе используется PHP (на котором я иногда говногодю). В последнее время, данный принцип можно встретить в 99,99% серьезных проектов(сайтов), начиная от известных фреймворков типа симфонии yii, заканчивая моим тетрисом - mwce.
Модель отвечает за данные. Вид отвечает за внешний вид страницы, то есть это интерфес. И контроллер, понятно из названия, управляет результатом, что предоставляет ему модель, чтобы потом некоторые из них появились у вас на экране через Вид.
Так же важно учесть, что модель - это не просто прослойка между базой данных и контроллером. По сути, модель работает с данными: перебирает, запрашивает у базы, может проверять,посылать, сортировать, в общем, вся работа с даннами проходит именно в ней...
Если не совсем понятно, то представьте, что контроллер - начальник, который получает задачи от клиента, и в зависимости от его[клиента] хотелок требует и раздает поручения: модели получить и отсортировать определенные данные, а виду их отобразить на экран, вот оно и будет. Да, и не забывайте, что у начальника может быть много подчиненных (В том числе, из соседнего отдела Васи, который одолжит оных за определенный ништяк), то есть 1 контроллер может запрашивать данные с разных моделей, если это действительно нужно.
Во-вторых, мы получаем некоторую степень абстракции, что позволяет нам не меняя архитектуры и принципов создавать и достаточно быстро создавать, новые страницы с совершенно разной логикой (что на 80% зависит от модели, на 15% от контроллера и на 5% от вида).
Как правило, все контроллеры и модели являются потомками родителя - контроллера и родителя - модели. ( с видом обстоит по-разному, все зависит от того, как реализован класс). Для чего? А все просто: в родителях описывается обязательное поведение для потомков: входная точка для контроллера, например. Подключение к базе данных и подключение ряда нужных данных(чтение файлов, разбор конфигов) для модели.
То есть, если так получилось, что вы меняете, например, базу данных с mysql на ms sql, все, что вам будет нужно - отредактировать модель (ту прослойку где идет работа с бд, возможно, это отдельный класс, что подключается к модели), причем, в большинстве случаев только 1 - родителя и все.
Если же требуется добавить логику или реакцию на какое-то действие пользователя, то вы точно знаете, что начинать нужно с контроллера. В этом заключается вся гибкость: не нужно лазить по всему коду и искать, какие же мне надо изменить строки, при постановке задачи уже будет ясно, что и где менять + так как все части независимы друг от друга, их можно перелопачивать не боясь, что поломается все.
Но всегда нужно помнить, что стрелять по воробью из танка хоть и весело, но глупо: писать "хелловорд" в паттерне MVC, зная, что он точно не будет развиваться - пустая трата времени.
Второе, о чем хотелось бы сказать - я не являюсь теоретиком, а на 80% все познаю в практике, из-за чего могу быть неправ или не совсем прав. Так же из меня ужасный учитель и "объяснятель", так что если Вы все еще хотите читать дальше... вобщм, я предупредил.
Третье, но уже по теме: MVC является паттерном, то есть шаблоном программирования, который перерос в религию "тру-программистов". Шаблоны, если говорить на чистом и любимом русском - варианты решения типичной ситуации. И поэтому всегда, слышите? Всегда прежде чем использовать тот или иной шаблон трижды (если такой же как я, то все 5 раз) подумайте, а подходит ли данный шаблон под вашу ситуацию или нет, если нет, то не надо использовать что-то притянутое за уши. Пожалейте всех тех, кому сопровождать ваш код, ну или себя, если это будете Вы.
Что же, кто выдержал эти три первых абзаца разминки, дерзайте, я начинаю...
MVC он же Model - View - Controller (Модель - вид - Контроллер(управление, по-русски)) шаблон(алгоритм) программирования, в том числе используется PHP (на котором я иногда говногодю). В последнее время, данный принцип можно встретить в 99,99% серьезных проектов(сайтов), начиная от известных фреймворков типа симфонии yii, заканчивая моим тетрисом - mwce.
Принцип работы
Идея MVC, примерно, в следующем: ваш сайт делится на 3 логические части, которые вы описываете в 3 классах для каждой страницы сайта:- модель
- контроллер
- вид
Модель отвечает за данные. Вид отвечает за внешний вид страницы, то есть это интерфес. И контроллер, понятно из названия, управляет результатом, что предоставляет ему модель, чтобы потом некоторые из них появились у вас на экране через Вид.
Так же важно учесть, что модель - это не просто прослойка между базой данных и контроллером. По сути, модель работает с данными: перебирает, запрашивает у базы, может проверять,
Если не совсем понятно, то представьте, что контроллер - начальник, который получает задачи от клиента, и в зависимости от его[клиента] хотелок требует и раздает поручения: модели получить и отсортировать определенные данные, а виду их отобразить на экран, вот оно и будет. Да, и не забывайте, что у начальника может быть много подчиненных (В том числе, из соседнего отдела Васи, который одолжит оных за определенный ништяк), то есть 1 контроллер может запрашивать данные с разных моделей, если это действительно нужно.
Для чего это надо и чем полезно
Во-первых, MVC почти всегда реализовывают на ООП (ни разу не видел этого в функциональном виде, хотя, думаю, при желании можно). А что такое объектно-ориентированное программирование? Правильно, это классы с инкапсуляцией, наследованием и полиморфизмом. Если не понятно о чем я говорю, то прежде чем пережевывать написанное тут, очень рекомендую поплотнее познакомится с ООП и с его плюсами и минусами.Во-вторых, мы получаем некоторую степень абстракции, что позволяет нам не меняя архитектуры и принципов создавать и достаточно быстро создавать, новые страницы с совершенно разной логикой (что на 80% зависит от модели, на 15% от контроллера и на 5% от вида).
Как правило, все контроллеры и модели являются потомками родителя - контроллера и родителя - модели. ( с видом обстоит по-разному, все зависит от того, как реализован класс). Для чего? А все просто: в родителях описывается обязательное поведение для потомков: входная точка для контроллера, например. Подключение к базе данных и подключение ряда нужных данных(чтение файлов, разбор конфигов) для модели.
То есть, если так получилось, что вы меняете, например, базу данных с mysql на ms sql, все, что вам будет нужно - отредактировать модель (ту прослойку где идет работа с бд, возможно, это отдельный класс, что подключается к модели), причем, в большинстве случаев только 1 - родителя и все.
Если же требуется добавить логику или реакцию на какое-то действие пользователя, то вы точно знаете, что начинать нужно с контроллера. В этом заключается вся гибкость: не нужно лазить по всему коду и искать, какие же мне надо изменить строки, при постановке задачи уже будет ясно, что и где менять + так как все части независимы друг от друга, их можно перелопачивать не боясь, что поломается все.
Но всегда нужно помнить, что стрелять по воробью из танка хоть и весело, но глупо: писать "хелловорд" в паттерне MVC, зная, что он точно не будет развиваться - пустая трата времени.
Подписаться на:
Сообщения (Atom)