Александр Воробьев

Александр Воробьев
Рейтинг
69
Регистрация
03.02.2020
Sly32 #:
Посмотрел по диагонали, но в целом впечатления положительные. Нормально ты обьясняешь, избавься только от "так, ладно" и будет вообще хорошо.

Очень надеюсь, что видео помогут мне речь улучшить... Сколько я еще пык-мыков повырезал. Еще, конечно, портит запись видео второпях (времени в обрез). По хорошему бы план короткий написать, а то записал и понял, что сказал не все что надо было бы сказать и показать. В общем работаю над собой.

Sly32 #:
- закрывающий тэг {% | foreach%} - сложно читать, я бы уже использовал что то типа {% end foreach %} - проще и понятнее.

Да. Над этим вопросом долго думал. И был даже изначально именно с end , но потом все же пришел к слешу. Логика основная, что шаблон это ближе к HTML, а там так конец блока представляется. 

Sly32 #:
- директива - это скорее фильтр и вот его лучше применять как {{ <var>| filter:d:M:Y }} - нагляднее

вообще у меня есть идея по расширению функционала директив и там вертикальной черте была роль отведена. Тоже в этом плане у меня было вариантов 5 за эти два месяца :) . Пришел к такому как  сейчас. Вообще к слову. В обработчик шаблонизатора прилетает всего две части: директива (до первого пробела) и все остальное. Таким образом синтаксис параметров на усмотрение разработчика конкретной директивы. И тут от меня возможно однажды будет что то типа "рекомендуемый синтаксис".  А над ним я подумаю , например когда буду форум делать. Пока у самого нет четкой картинки.  Спотыкался и на проблемах от примерно такого синтаксиса который ты предложил, и других... в общем тут надо больше времени и экспериментов.

Sly32 #:
- ты для шаблонов-templates используешь расширение .php 

Тут тоже осмысленное решение. я из тех кто считает php отличным шаблонизатором и не видит ни чего плохого в использовании его в таких качествах. Да понимаю, что это дает криворуким пихать невпихуемое куда не следовало бы.... Но все же..  Решил оставить именно так и да, в шаблоне можно php :)  


Sly32 #:
Работа с CSS - по мне - избыточно, нет необходимости так делать, проще стили подключать из папки /static  напрямую.

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

ArbNet #:
А помнишь ты мне доказывал, что разделение CSS это глупо, что лучше всё в одном файле делать

Единственная мысль, которую я озвучивал и ты мог воспринять таким образом: я говорил что на определенном этапе фреймворк/шаблонизатор может собирать такие разрозненные файлы в один или несколько объединяющих. Что важно для сайтов которые используют http 1.1 (надеюсь, правда, таких уже нет практически) особенно если размер одного такого несклеенного файла менее примерно 1.5КБ   . для http2 +  это уже чуть менее критично.

У меня такого пока нет :) т.е. у меня будут все по отдельности (конечно один  и тот же подключается только раз)... Но в планах добавить механизм склейки.

ArbNet #:
А помнишь ты мне доказывал, что разделение CSS это глупо, что лучше всё в одном файле делать и прочая лабудень..

Не было такого ни когда абсолютно. Речь была совершенно о другом. Я тебе говорил в этом нет ни чего оригинального и это реализовано везде. Подход правильный и логичный.

ArbNet #:
Сейчас когда ты стал делать свой фреймворк к тебе пришло понимание того почему я сделал компонентное разделение и сделал как у меня.

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

ArbNet #:
Подход шаблонизатора по типу смарта это вот плохая идея,

Ну плохая или нет это надо тестами проверять.  я, например, уверен на 99% что использование XML (по крайней мере в том виде как в той версии что есть у меня твоего фреймворка - это сильно хуже. как минимум там, по сути, отключаются возможности по ускорению встроенные в язык. Так что это все только мнения без реальных сравнительных тестов.  Ну опять же если "похож" на смарти синтаксис это не значит, что он похож на сам смарти.

Ну и возможно главное, мне было интересно поработать с AST деревом, а не использовать готовые библиотеки для работы с DOM.

ArbNet #:
Может позже до тебя всё же дойдёт почему я придумал свой этот подход с XML

В том что мне не нужен XML я уверен на 100%. Единственный профит в техническом плане мог бы быть  в том, что заменить мою построение AST дерева на встроенное ( и это действительно может ускорить, но дело в том, что при правильном подходе это не нужно делать на каждом хите). Т.е. один этап из всей процедуры тяжелый конечно может быть.

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

ArbNet #:
И интересно бы узнать как ты сделаешь работу с БД, я говорил уже что то, что ты мне раньше предлагал мне не подходит, я вот буду делать по другому.

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

[7/12] Релиз шаблонизатора

В самом фреймворке были некоторые изменения в основном "для пользы" шаблонизатору. Выпустил релиз 1.5.

Основные работы были по шаблонизатору и релиз 1.1.0 состоялся. Для шаблонизатора есть дока

Из основного:

Поддерживаются две формы {{переменная}} (для вывода значения переменной) и {% директива [...параметры] %}  - различные функциональные директивы. Можно добавлять, при необходимости, свои формы "тегов". В указании переменных поддерживается точечная нотация для доступа к значениям на любой глубине массивов

Сейчас реализованы базовые директивы:

- if...elseif..else,  foreach  - условие и цикл

- layout - блочная директива. для  указания каркаса в котором будет выведен окруженный блок шаблона. (Например, чтобы обернуть основной контент страницы в общую для всего сайта структуру. Каждый каркас может иметь свой файл стилей и js скрипт.

- include - подключения подключаемых файлов стилей и скриптов

- defer - отложенный вывод значения переменной. (например для h1, который может быть изменен любым компонентом логика которого будет выполнена уже после вывода тега h1 на страницу)

- scrf - вывод токена.

- component - подключение компонента.

Директивы можно создавать и регистрировать свои.

Компоненты в "коробке" нет компонентов, но есть механизм для их подключения. Компонент это блок обладающий своей бизнес логикой, который подключается на странице и может подключать стили и скрипты и выводить свои блоки. У компонентов можно создавать разные шаблоны для вывода (т.е. один и тот же компонент может иметь разное представление на итоговой странице) Можно разрабатывать свои компоненты. 

Шаблоны сайта - поддерживаются разные шаблоны сайта. Тут для удобства: один шаблон для админки, другой для публичной части  и т.д...

Коротко постарался показать работу с шаблонизатором (включая создание своей директивы и своего компонента) в видео ВК и  youtube


Сейчас начал работу над модулем взаимодействия с базами данных

softerra #:
Претензии к зеленому чаю, который как мне кажется является продуктом маркетинга. Это как пиплам в рецептах везде лайм впаривают, там где надо и не надо. Просто для звучности ..
Ну такая себе оценка "лично мне не нравится - значит маркетинг, а кому нравится те  просто пиплы которым впарили". А как же на вкус и цвет все фломастеры разные?  Мне, например, зеленый  чай нравится (но не любой) ....   А вот связь "чайная церемония"  и "зеленый чай" как то тут за уши притянута. Зеленый чай это всегда церемония? 
Sly32 #:
Не помню сейчас, но вроде также как и в Waze показывает движение по полосам и по какой надо ехать если сьезжаешь на многоуровневой. Не нравится огромная стрелка, показывающая расположения но думаю это тоже настраивается.
стрелки есть и на яндекс навигаторе. Но кто ж на них смотрит :)   я потому и добавил "ну и"... это скорее в первый раз проблема, а потом привыкаешь и просто вызывает улыбку: то поворот почти под 90градусов === "чуть левее", то просто надо сменить полосу.
Ramzes_13 #:
А нафига вообще пвз если доставка до двери в основном? Есть подписки чтобы и забирали от двери. В чем прикол там человеку торчать на этом пвз.
нет проблем: нажимаешь принести курьером и принесут. Но мне, например, удобнее в ПВЗ. (правда я не часто покупаю на МП): работаю дома, а тут повод пройтись (правда до соседнего дома :) ).   А постоматы есть в магазине, в котором я продукты "повседневные" покупаю (для варианта доставки с постоматами)
Sly32 #:
.Говорят, в москве даже светофоры видит
Да, удобная фишка: показывает сколько секунд осталось до переключения (но не для всех светофоров). Пожалуй единственная напрягающая  "проблема" в яндекс картах это в точке многоуровниевых развязок - бывает путает и "переносит" на другой уровень... Ну и "примите чуть левее" - иногда не совсем очевидно на месте :)
Сергей про е-ком #:
Про померил дома - тоже забавно. Мне кажется многим (пусть и не всем) лучше раз сходить в ПВЗ и купить 10 вещей, чем дождаться пять курьеров и пять раз мерить дома
Особенно если учесть, что ПВЗ как грязи.
Sly32 #:
И опять исторический экскурс…

А ты уверен, что ты единственный, кто обладает абсолютно верной информацией. Еще раз для одаренных:

1. Я из своего опыта помню обсуждение когда толстосумы из Москвы к себе прокинули линию. Не смог просто найти свидетельства (но мы ведь и не в суде, чтоб доказывать кому то что то).

2. То что провайдеры имели необходимое оборудование - ты точно уверен что такого не было? Прям вот на 100%? Сам лично контролировал это?

3. Не в 2000 но рядом (примерно в 2003) у меня была ситуация когда нужен был интернет в точке где не было возможности ни кабеля положить не телефон для диалапа. И мен предложили бюджетный вариант "по радио каналу".  Типа поставим вам "китайский аналог" и сможете там заодно и интренет всем раздавать. (деталей, сорян, не помню). Т.е я к тому,  что  даже с малым бюджетом можно было с провайдером решить вопрос из серии "не как у всех"..... 

Всего: 1149