Константа AJAX устанавливается не для любого ajax запроса, а для CSN-AJAX. Нужно быть уверенным что используется этот шаблон. Тогда можно быть уверенным, что ответ-ошибка (JSON с ключем catch_error), будет правильно обработан
Ваши посты корректны, поэтому отвечу… Неужели я так плохо отвечал, что непонятно и вы об этом пишете? Похоже симптом анекдота (ищите в этой теме) про колбасу и яйца значителен на хабре, когда дело касается общения программистов.
Мне здесь написали, что Pthreads решает задачу параллелелизма для крон в ларавел. Я сказал что «врядли». Похоже изобретатель ларавел написал исполняемый файл (для каждой ОС отдельный), чтобы решать эту задачу. «Фокает» он, а не пользователь ларавел.
Не
>2 строчки
а две Closore
А вы можете представить, что вы решаете задачу которую решил разработчик ларавел, как оно сделано? Крон раз в минуту запускает исполн. файл (условно artisan.exe), который запустил крон-файл пользователя, создал реестр запусков и потом в отдельном потоке запуcкает наши Closure-крон-задачи пользователя (или примерно так). Все довольно сложно только ради того чтобы все задачи были в одном файле и для них нужна была одна строчка в крон (раз в минуту). Вся эта сложность и надежность artisan.exe здешних менеджеров проектов «не парит», и они правы (без сарказма). artisan.exe в авторитете а ларавел бесплатно доступен.
>но кого это останавливает?
я уже понял, что никого…
представить ситуацию, что у вас не работает на сервере phtread элементарно, когда вам это внесло существенные сложности…
Вы мне будете «втирать» что ее пофиксить легче, чем просто дать возможность записать 2 строчки в кроне, вместо одной и что ситуация, когда у вас есть возможность записать только одну строчку в кроне (а две никак) чаще чем, когда не работает pthread? Или наваять какие-то исполняемые файлы, которые фокают процесс, легче чем 2 строчки просто записать?
Это был риторический вопрос. Отвечать не надо. Всем спасибо.
Я ошибся один раз, присоединив хук ларавел к ->call() вместо ->command() увидев в первый раз новую для меня документацию и все — надо орать?! Вы представляете какая «каша» у меня в голове после 3 дней здесь общения с вами всеми на хабре, еще и с непривычки? А сколько раз мне писали здесь, явную «пургу» из-за невнимательности или по другим причинам? и я никого не обзывал. А я был даже искусственным интеллектом, проводящим тест тьюринга. Хотите, чтобы я закончил писать комментарии здесь? Да пожалуйста.
Я написал eval('1 / 0;'); и вот run-time ошибка в SKY Framework, см. http://ru.coresky.net/err2.png у меня уже нет возможности разместить скриншот прямо здесь ввиду низкой кармы.
>Ну так знать классы фреймворка дешевле, чем знать вариации SQL для всех БД.
Я думаю надо знать и SQL БД и ORM иначе чел. не программист. Если чел. знает только ORM, больше чем сайт-визитку он не напишет на ларавел.
>С чего вы это взяли? Это в вашей реализации так, но не обязательно так в других.
Да с того, что PHP скрипт выполняется в 1 поток и если неважная задача остановит работу скрипта например по фатальной ошибке, то важная крон-задача может вообще не выполнится. Это вопрос не SKY, а выполнения скрипта в 1 поток (процесс на UNIX машинах)
>И весь этот велосипед можно заменить…
У меня впечатление, что Вы намерено на черное говорите белое и наоборот. У меня противоположное мнение, у ларавел куча лишнего, в SKY все просто и есть все необходимое
Вы мне дали ссылку, просто Клондайк для антирекламы ларавел, если я не ошибаюсь…
Про namespace я молчу.
Начну с того, что в примере по ссылке «подтягивается» 3 файла, а сколько они в свою очередь «подтягивают» я даже не смотрел…
В SKY «подтягивается» один require 'main/conf.php', а он в свою очередь еще один require 'sky.php';
КПИ (код повторного использ.) для работы с DB лучше объединить с другим кодом, который в ларавел разделен. В этом нет смысла, нормально определить «код первого крыла» который выполняется при всех точках входа, включая CRON. Это маленький ньюанс, но все состоит из маленьких ньюансов. Если вы знаете ларавел, и вам нужен крон, дополнительно вам нужно открыть страницу (что вы дали выше) чтобы изучить документацию для Illuminate\Console\Scheduling\Schedule
В SKY не нужно ничего изучать для добавления крон-задачи.
Обычно крон-задачи простые, например очистка сессий и нужно выполнить один только запрос. В SKY я пишу
if (at('0 23')) lsql(«delete from visitors where dt_l + $s_clear < now()»);
просто в глобальной области видимости, нет никакой опасности переопределить глобальные переменные, у ларавел делается класс, что лишнее. В SKY нужно только знать SQL той БД с которой работаем, у ларавел опять таки вплюс нужно изучить класс, чтобы написать DB::table('recent_users')->delete();
разработчик пишет: When using the scheduler, only a single Cron entry is needed on your server. т.е. нужен только один файл крон нужен, а запускать будем каждую минуту… Это неверное утверждение, если крон-задача очень важна, она может невыполниться ввиду ошибок в другой задаче, поэтому желательно иметь возможность делать несколько файлов крон. ОК, сделаем еще один файл, наперекор автору ларавел, но нет метода ->now() в Illuminate\Console\Scheduling\Schedule
Тогда применим, например ->hourly();
Это «костыльно».
Вот это:
// Run hourly from 8 AM to 5 PM on weekdays…
$schedule->command('foo')->weekdays()->hourly()->timezone('America/Chicago')->between('8:00', '17:00');
выглядит сложно и некрасиво. Я сторонник чтобы был один способ ->cron('* * * * * *'); список альтернативных методов, как ->hourly(); никчему.
В SKY можно, вложено использовать функцию at()
if (at('0 1,2,12')) {
if (at('3')) { }
}
Чтобы добиться времен запуска, для которых прямой синтаксис крон невозможен.
Самое интересное, это явный бред просто, или я что-то не понял? Только спокойно, мне реально интересно…
Какой смысл вообще в ->skip() и ->when() методах, если можно просто написать:
// code of the when
$rule =…
if ($rule) {
// code of the cron-task
…
Тоже самое касается хуков ->before() и ->after()
Прошу Вас давайте разберемся…
С ларавел кроном, вроде как мне все понятно… Неужели я что-то неправильно понимаю? Или все-таки Клондайк? Спасибо.
>Редактор не подсвечивает такой код
мне так, в то время было удобней… и я писал выше, я согласен — нужно переработать
>Анализатор не предупреждает об ошибках
неверно. ошибки внутри eval() возникают, с этим нет проблем
>Дебажить такой код — это ад
diff — работает, его не надо дебажить, я уже делал миллион запусков-тестов. Еще раз: error_handler работает внутри eval.
>давайте из архива из видео посмотрим
Файл называется cron.php, значит как-то связан с кроном…
вверху: define('START', 'cron');
не defined, а define — определение константы, значит это консольный скрипт для cron-задач, точка входа.
есть такой код: lsql("+select 'test'"), значит это просто пример организации cron-задач.
at с англ. переводится как «во время»…
>Ноль часов двадцать три минуты?
верно.
Функция at() — полная эмуляция синтаксиса крон. Можно упаковать много крон-задач в один файл.
Значит скрипт должен запускаться каждую секунду…
Но плохо может быть то, что сбой одной задачи приведет к сбою остальных, такой подход нетехнологичен. Однако, есть ряд задач, когда не очень важен 100% запуск крон-задач или вы сильно уверены, что сбоя не будет, если это например запрос:
lsql(«delete from visitors where dt_l + $s_clear < now()»);
просто «чистка» таблицы сессий.
К тому же никто не запрещал, выносить крон-задачи в отдельный файл, как например в том же архиве файл c_summer.php. префикс c_ — крон-задача.
Что же тут плохого или непонятного?
Это все MetaDone, вы бы могли и сами понять, даже без документации, если бы не были настроенны на троллинг.
Я считаю себя хорошим программистом и только. Даже если бы я был супер-профессионалом в области публикаций, все равно, сложно сказать: ребята, а давайте перевернем всю область веб-программирования с ног наголову, это хорошо! И так, чтобы все поверили… Для этого нужен, наверно, гипноз только )
Посмотрите последний пост Дурова в vk. Он там пишет 10 советов и совет номер 1 — все нужно делать быстро. vk сделан им за месяц и после этого стал развиваться. Я верю ему. У меня тоже был опыт успешного проекта, который был сделан за неделю, кстати на коде SKY. Насчет проекта SKY, — я сразу понимал, что он совершенно далек от такого пути. Разрешимая ли это проблема, и сейчас непонятно, но я сдаваться не собираюсь. Я получал удовольствие творчества, я искренне верил (и сейчас верю), что многие мои идеи ценны, лучше идей других людей, стал «запечатлевать их в камне». Еще ньюанс в том, что я очень люблю веб-программирование и меня тошнит от трендовых фреймворк.
Я видел интервью с А. Макаревичем, он говорил: не задавайте мне вопросы в стиле «если бы, да кабы… такого не может быть никогда, поэтому не следует об этом и думать». А я люблю, мыслить в стиле «если бы..». На сайте coresky, есть мои размышления, по поводу «если бы человечество бросило максимально возможные ресурсы для создания супер виртуальной реальности». Такой стиль мышления позволяет более красочно моделировать ситуации в уме, а программисты много моделируют в уме.
Цель X описанная выше, в статье из этой области фантазий, но потенциально реальная. Я пытаюсь придумать подход к запуску SKY в стиле «очень быстро, как VK», но не могу ничего придумать пока. Статью на хабре, я планировал написать еще 3 года назад. Я не мог больше тянуть и сделал то, что сделал. Вероятно, это бесполезно: за все время 1 регистрация на сайте, и то человек, по-видимому просто хотел посмотреть «что в средине». Около 10 установок всего-то приложения DEV.SKY. и не очень приятные ощущения в шкуре «мальчика для битья». Но я должен был попробовать хабр.
>покажите конкретные примеры
У меня есть такая идея: портировать форум PHPBB на SKY Framework. Одно время я работал с ним, его хорошо знаю. Он довольно многофункциональный, но я думаю мог бы сделать хорошую реализацию его за «терпимое время». Ничего не придумывать, взять их дизайн и портировать.
Как считаете, может это помочь проекту SKY?
Позволит ли сайт phpbb.com рекламироваться у них бесплатно или они не заинтересованы?
Может быть не phpbb, а другое хорошее приложение без изъянов? NULL-сайт, как видим не впечатляет… DEV.SKY. слишком компактное, сложное, многофункциональное приложение. Его, чтобы «причесать» нужно больше усилий, чем порт для phpbb и нет 100%-гарантий, что им будут активно пользоваться, нет потенциальной возможности получить бесплатную рекламу от авторов phpbb.
Это не код из видео, зачем врать? Вы все время передергиваете факты, чтобы устроить цирк.
Критиковать код прошу из видео http://ru.coresky.net/download?video1.sky.zip
Приведенный вами код из DEV.SKY. В самой статье написано в проекте SKY еще очень много работы… И проект SKY, я предложил пока только как хобби… Я не говорил, что все идеально.
Да, этот код из DEV.SKY. выглядит экстремально, непривычно. Это своеобразный способ, разделить код на части для более простого восприятия и вероятно требует переработки. Но есть и много другой более приоритетной работы, поверьте. Не забывайте, SKY это хобби и деньги мне за него никто не платит. Ресурсы мои невелеки, время от времени большие, время от времени меньшие…
raacer, так вы только сейчас на сайт зашли? Т.е. вы «пробежались» по статье, увидели «белую ворону», нонсенс и решили поразвлечься… Я так и думал, вы изначально и не собирались пытаться понять о чем я пишу, потому что вы уверены, что у вас достаточно аргументов самому-то не попасть в просак. И так многие комментаторы сделали… Жаль, что вы цените такой способ развлечения больше, чем возможность посмотреть на веб-программирование с непривычной стороны и возможно понять что-то новое.
Респект и уважуха вам за этот пост. Вот, наконец, ясные мысли, совершенно лаконичные. Вот только, думаю, жаль эти советы не помогут мне. Ах, как все хотят быть доктором, но никто не хочет быть пациентом…
Ваш совет 1 — я так и делаю.
>чтобы даже вашей бабушке было понятно
Я очень много думал, как представить проект. У меня есть штук 5 или больше описаний идеи проекта
>Не обвиняйте других
Я не обвиняю вас и никого из вас. Да, я бы хотел дискуссии в другом тоне, но она в том, в котором есть. Это как здесь кто-то написал: «я не люблю PHP, но он номер 1, это факт». Жизнь нужно воспринимать такой какой она есть, не стоит совать голову в песок или уходить в свой фантазийный мир. Я виню в том, что дискуссия в таком тоне, в каком есть, только себя. Буду продолжать следовать (1)
Совет 2
>и сделать его еще лучше
coresky файлы http://ru.coresky.net/code (ядро SKY) прошли очень много итераций по совершенствованию мной, может быть 1000, начиная с 2005 года наверно, и будут продолжать совершенствоваться.
>ассоциировать свои идеи с собой…
как это? идея или есть или она не идея, а заблуждение.
>выслушать все замечания…
Этот код очень дорог для меня, потрачено очень много моих усилий для его создания. Замечания здесь в большей мере, не могут быть использованы мной, так как я слышу, например, не пишите в глобальную область видимости, но я не могу не писать, вся концепция основана на этом. По сути, большинство советует: «выбросите вашу работу», я не собираюсь это делать.
>Если Вы делаете для себя лично
прошу прощения, но глупо было это писать. Если бы я делал для себя, не было бы проекта в паблике и этой статьи
Совет 3.
>соответствует уровню любителя
если код выглядит просто, это не значит что он уровня любителя.
>странные непонятные хаки
это нормальный синтаксис PHP, это часть концепции проекта. Использование create_function, eval позволяет делать тривиально простой код. Это также часть концепции. Этот ваш совет, по сути, совет: «выкиньте ваш код»
>хорошие имена функциям
например где плохо?
>покажете свою неубранную квартиру
это нормальная критика, я знаю, что нужна лучшая «обертка для конфеты». Но я «причесал» все, как только мог, буду «причесывать» дальше… Проблема в том, что я слишком «на многое замахнулся», для того, чтобы «протолкнуть» такое, нужны о-о-очень большие ресурсы, а их у меня пока нет. И если не появится сильная помощь для проекта SKY, то он так и не запустится… Но я буду продолжать работать над ним, так как искренне верю
Так, что ваши советы или неприменимы или я уже в курсе и следую и так им.
Я не понял смысл приведенных вами примеров кода. Старый без QB не рабочий? Если я правильно понял, вы говорите: «да он же некрасив»… Странная логика, наваяем QB, чтобы код был красив…
Нет… сейчас, вы начнете оправдываться и говорить: я каждый день меняю БД в одном и том же проекте. В основном работает MySQL, а по пятницам, я запускаю сайт на PostgreSQL, QB позволяет мне просто отредактировать конфигурацию приложения.
Я при всем желании не могу понять, здешних комментаторов, похожих на вас, которые просто троллят авторов и получают при этом удовольствие?
>Я так понимаю, что разработчик не знает про то, что не все используют mysql
Вы вправду так думаете? А мне кажется, что вы просто не сообразили, как более тонко потроллить.
Давайте-ка все вместе покритикуем автора… Можно писать что попало. У всех нас цель одна — автор, и те, кто в моем лагере будут лояльны ко мне. Главное устроить вкусный цирк, удовольствие при этом получат все… Ура!!! Вперед в бой…
Я неутомимо буду прояснять ради тех кто читает и думает, но не участвует в цирке. Итак, во-первых, в этой статье четко, русским языком написано, «ORM не нужен, по крайней мере, как базовое средство разработки...». Тоже относится к QB. Только код, который требуется для 70% реальных сайтов в Интернете (потенциально может заменить их код), должен быть включен в «чистое облако». Не базовые средства разработки, могут присутствовать в коде 3 крыла и включаться в проект при необходимости. Последнее касается и QB и ORM.
Если бы вы хоть немного были внимательны, взглянув на код первого крыла http://ru.coresky.net/code?main/sky.php или почитали комментарии, прежде чем спешить участвовать в «цирке», то поняли бы, что файлы в SKY характеризуются свойством «port» и «clear-cloud». Для того, чтобы работать, например с PostgreSQL, нужно просто взять тот-же файл «main/sky.php», который является портом для этой БД.
В статье выше, ясно написано: «В SKY допускается редактирование КПИ, в том числе ядра», а вы пишите: «как расширять ядро не затрагивая при этом сам код?». Вы очень не внимательны.
Я не предложил нового? Вы считаете ваши слова адекватные? Вы имеете ввиду, что я осознаю, что ничего нового не предложил или это в ваших глазах нет ничего нового? Я предложил очень много нового, другое дело, что в вашем понимании нет ничего нового.
Вы скачайте код к видео, посмотрите как он прост.
Сравните его с эквивалентным кодом вашего фреймворк…
Новое и полезное: веб-приложение разрабатывается намного проще легче и быстрее чем в вашем фреймворк… это просто небо и земля…
Нужно бы сделать тесты, чтобы сравнить производительность. Думаю и работать будет намного быстрее, несмотря на медленный eval(). Фактические измерения, были бы наверно для вас более весомым аргументом
В дискуссии толку мало, согласен. Но ведь есть еще и те, которые прочли, но участвовать в дискуссии не захотели.
«сделал штуку...» не «прокатит». Чтобы разобраться в «штуке» надо ее поизучать и поюзать, поразбираться. А на это надо хотя бы неделю. Тут никто по-видимому разбираться не хочет. Даже в элементарных вещах путаются. Комментарии здесь — это просто, по-моему, своеобразный способ развлечения у вас… Но кто-то возможно захочет по-разбираться, из тех, кто промолчал. Ради них я с вами общаюсь.
Я не собираюсь вас уговаривать принять SKY, аргументируя это своим опытом, это считаю неправильным. Но опыт больше вашего однозначно, если вы 81 года рождения.
>Простите, если обидел, но прямую грубость в вашу сторону я не выражал.
я имел ввиду не вас конкретно, а любого из комментаторов. Есть некоторые позволяющие себе лишнее.
Я не считаю сарказм грубым ответом. Это хорошо, что у вас есть желание спорить. В споре рождается истина. Во все времена, новое встречают в штыки… Вы повторили именно так как я писал в статье, мою мысль о том как может быть получен условно идеальный код, с сарказмом, и как вам показалось «в чем-то меня подловили»… Но только не в чем вы не «подловили», так как не написали ничего нового… Просто показали свое невежество… это смешно.
Мне здесь написали, что Pthreads решает задачу параллелелизма для крон в ларавел. Я сказал что «врядли». Похоже изобретатель ларавел написал исполняемый файл (для каждой ОС отдельный), чтобы решать эту задачу. «Фокает» он, а не пользователь ларавел.
Не
>2 строчки
а две Closore
А вы можете представить, что вы решаете задачу которую решил разработчик ларавел, как оно сделано? Крон раз в минуту запускает исполн. файл (условно artisan.exe), который запустил крон-файл пользователя, создал реестр запусков и потом в отдельном потоке запуcкает наши Closure-крон-задачи пользователя (или примерно так). Все довольно сложно только ради того чтобы все задачи были в одном файле и для них нужна была одна строчка в крон (раз в минуту). Вся эта сложность и надежность artisan.exe здешних менеджеров проектов «не парит», и они правы (без сарказма). artisan.exe в авторитете а ларавел бесплатно доступен.
я уже понял, что никого…
представить ситуацию, что у вас не работает на сервере phtread элементарно, когда вам это внесло существенные сложности…
Вы мне будете «втирать» что ее пофиксить легче, чем просто дать возможность записать 2 строчки в кроне, вместо одной и что ситуация, когда у вас есть возможность записать только одну строчку в кроне (а две никак) чаще чем, когда не работает pthread? Или наваять какие-то исполняемые файлы, которые фокают процесс, легче чем 2 строчки просто записать?
Это был риторический вопрос. Отвечать не надо. Всем спасибо.
http://php.net/manual/ru/pthreads.requirements.php
pthreads requires a build of PHP with ZTS (Zend Thread Safety) enabled ( --enable-maintainer-zts or --enable-zts on Windows )
>представляете до чего программисты додумались
представляю
>Ну так знать классы фреймворка дешевле, чем знать вариации SQL для всех БД.
Я думаю надо знать и SQL БД и ORM иначе чел. не программист. Если чел. знает только ORM, больше чем сайт-визитку он не напишет на ларавел.
>С чего вы это взяли? Это в вашей реализации так, но не обязательно так в других.
Да с того, что PHP скрипт выполняется в 1 поток и если неважная задача остановит работу скрипта например по фатальной ошибке, то важная крон-задача может вообще не выполнится. Это вопрос не SKY, а выполнения скрипта в 1 поток (процесс на UNIX машинах)
>И весь этот велосипед можно заменить…
У меня впечатление, что Вы намерено на черное говорите белое и наоборот. У меня противоположное мнение, у ларавел куча лишнего, в SKY все просто и есть все необходимое
Про namespace я молчу.
Начну с того, что в примере по ссылке «подтягивается» 3 файла, а сколько они в свою очередь «подтягивают» я даже не смотрел…
В SKY «подтягивается» один require 'main/conf.php', а он в свою очередь еще один require 'sky.php';
КПИ (код повторного использ.) для работы с DB лучше объединить с другим кодом, который в ларавел разделен. В этом нет смысла, нормально определить «код первого крыла» который выполняется при всех точках входа, включая CRON. Это маленький ньюанс, но все состоит из маленьких ньюансов. Если вы знаете ларавел, и вам нужен крон, дополнительно вам нужно открыть страницу (что вы дали выше) чтобы изучить документацию для Illuminate\Console\Scheduling\Schedule
В SKY не нужно ничего изучать для добавления крон-задачи.
Обычно крон-задачи простые, например очистка сессий и нужно выполнить один только запрос. В SKY я пишу
if (at('0 23')) lsql(«delete from visitors where dt_l + $s_clear < now()»);
просто в глобальной области видимости, нет никакой опасности переопределить глобальные переменные, у ларавел делается класс, что лишнее. В SKY нужно только знать SQL той БД с которой работаем, у ларавел опять таки вплюс нужно изучить класс, чтобы написать DB::table('recent_users')->delete();
разработчик пишет: When using the scheduler, only a single Cron entry is needed on your server. т.е. нужен только один файл крон нужен, а запускать будем каждую минуту… Это неверное утверждение, если крон-задача очень важна, она может невыполниться ввиду ошибок в другой задаче, поэтому желательно иметь возможность делать несколько файлов крон. ОК, сделаем еще один файл, наперекор автору ларавел, но нет метода ->now() в Illuminate\Console\Scheduling\Schedule
Тогда применим, например ->hourly();
Это «костыльно».
Вот это:
// Run hourly from 8 AM to 5 PM on weekdays…
$schedule->command('foo')->weekdays()->hourly()->timezone('America/Chicago')->between('8:00', '17:00');
выглядит сложно и некрасиво. Я сторонник чтобы был один способ ->cron('* * * * * *'); список альтернативных методов, как ->hourly(); никчему.
В SKY можно, вложено использовать функцию at()
if (at('0 1,2,12')) {
if (at('3')) { }
}
Чтобы добиться времен запуска, для которых прямой синтаксис крон невозможен.
Самое интересное, это явный бред просто, или я что-то не понял? Только спокойно, мне реально интересно…
Какой смысл вообще в ->skip() и ->when() методах, если можно просто написать:
// code of the when
$rule =…
if ($rule) {
// code of the cron-task
…
Тоже самое касается хуков ->before() и ->after()
Прошу Вас давайте разберемся…
С ларавел кроном, вроде как мне все понятно… Неужели я что-то неправильно понимаю? Или все-таки Клондайк? Спасибо.
мне так, в то время было удобней… и я писал выше, я согласен — нужно переработать
>Анализатор не предупреждает об ошибках
неверно. ошибки внутри eval() возникают, с этим нет проблем
>Дебажить такой код — это ад
diff — работает, его не надо дебажить, я уже делал миллион запусков-тестов. Еще раз: error_handler работает внутри eval.
>давайте из архива из видео посмотрим
Файл называется cron.php, значит как-то связан с кроном…
вверху: define('START', 'cron');
не defined, а define — определение константы, значит это консольный скрипт для cron-задач, точка входа.
есть такой код: lsql("+select 'test'"), значит это просто пример организации cron-задач.
at с англ. переводится как «во время»…
>Ноль часов двадцать три минуты?
верно.
Функция at() — полная эмуляция синтаксиса крон. Можно упаковать много крон-задач в один файл.
Значит скрипт должен запускаться каждую секунду…
Но плохо может быть то, что сбой одной задачи приведет к сбою остальных, такой подход нетехнологичен. Однако, есть ряд задач, когда не очень важен 100% запуск крон-задач или вы сильно уверены, что сбоя не будет, если это например запрос:
lsql(«delete from visitors where dt_l + $s_clear < now()»);
просто «чистка» таблицы сессий.
К тому же никто не запрещал, выносить крон-задачи в отдельный файл, как например в том же архиве файл c_summer.php. префикс c_ — крон-задача.
Что же тут плохого или непонятного?
Это все MetaDone, вы бы могли и сами понять, даже без документации, если бы не были настроенны на троллинг.
Посмотрите последний пост Дурова в vk. Он там пишет 10 советов и совет номер 1 — все нужно делать быстро. vk сделан им за месяц и после этого стал развиваться. Я верю ему. У меня тоже был опыт успешного проекта, который был сделан за неделю, кстати на коде SKY. Насчет проекта SKY, — я сразу понимал, что он совершенно далек от такого пути. Разрешимая ли это проблема, и сейчас непонятно, но я сдаваться не собираюсь. Я получал удовольствие творчества, я искренне верил (и сейчас верю), что многие мои идеи ценны, лучше идей других людей, стал «запечатлевать их в камне». Еще ньюанс в том, что я очень люблю веб-программирование и меня тошнит от трендовых фреймворк.
Я видел интервью с А. Макаревичем, он говорил: не задавайте мне вопросы в стиле «если бы, да кабы… такого не может быть никогда, поэтому не следует об этом и думать». А я люблю, мыслить в стиле «если бы..». На сайте coresky, есть мои размышления, по поводу «если бы человечество бросило максимально возможные ресурсы для создания супер виртуальной реальности». Такой стиль мышления позволяет более красочно моделировать ситуации в уме, а программисты много моделируют в уме.
Цель X описанная выше, в статье из этой области фантазий, но потенциально реальная. Я пытаюсь придумать подход к запуску SKY в стиле «очень быстро, как VK», но не могу ничего придумать пока. Статью на хабре, я планировал написать еще 3 года назад. Я не мог больше тянуть и сделал то, что сделал. Вероятно, это бесполезно: за все время 1 регистрация на сайте, и то человек, по-видимому просто хотел посмотреть «что в средине». Около 10 установок всего-то приложения DEV.SKY. и не очень приятные ощущения в шкуре «мальчика для битья». Но я должен был попробовать хабр.
>покажите конкретные примеры
У меня есть такая идея: портировать форум PHPBB на SKY Framework. Одно время я работал с ним, его хорошо знаю. Он довольно многофункциональный, но я думаю мог бы сделать хорошую реализацию его за «терпимое время». Ничего не придумывать, взять их дизайн и портировать.
Как считаете, может это помочь проекту SKY?
Позволит ли сайт phpbb.com рекламироваться у них бесплатно или они не заинтересованы?
Может быть не phpbb, а другое хорошее приложение без изъянов? NULL-сайт, как видим не впечатляет… DEV.SKY. слишком компактное, сложное, многофункциональное приложение. Его, чтобы «причесать» нужно больше усилий, чем порт для phpbb и нет 100%-гарантий, что им будут активно пользоваться, нет потенциальной возможности получить бесплатную рекламу от авторов phpbb.
Критиковать код прошу из видео http://ru.coresky.net/download?video1.sky.zip
Приведенный вами код из DEV.SKY. В самой статье написано в проекте SKY еще очень много работы… И проект SKY, я предложил пока только как хобби… Я не говорил, что все идеально.
Да, этот код из DEV.SKY. выглядит экстремально, непривычно. Это своеобразный способ, разделить код на части для более простого восприятия и вероятно требует переработки. Но есть и много другой более приоритетной работы, поверьте. Не забывайте, SKY это хобби и деньги мне за него никто не платит. Ресурсы мои невелеки, время от времени большие, время от времени меньшие…
raacer, так вы только сейчас на сайт зашли? Т.е. вы «пробежались» по статье, увидели «белую ворону», нонсенс и решили поразвлечься… Я так и думал, вы изначально и не собирались пытаться понять о чем я пишу, потому что вы уверены, что у вас достаточно аргументов самому-то не попасть в просак. И так многие комментаторы сделали… Жаль, что вы цените такой способ развлечения больше, чем возможность посмотреть на веб-программирование с непривычной стороны и возможно понять что-то новое.
Ваш совет 1 — я так и делаю.
>чтобы даже вашей бабушке было понятно
Я очень много думал, как представить проект. У меня есть штук 5 или больше описаний идеи проекта
>Не обвиняйте других
Я не обвиняю вас и никого из вас. Да, я бы хотел дискуссии в другом тоне, но она в том, в котором есть. Это как здесь кто-то написал: «я не люблю PHP, но он номер 1, это факт». Жизнь нужно воспринимать такой какой она есть, не стоит совать голову в песок или уходить в свой фантазийный мир. Я виню в том, что дискуссия в таком тоне, в каком есть, только себя. Буду продолжать следовать (1)
Совет 2
>и сделать его еще лучше
coresky файлы http://ru.coresky.net/code (ядро SKY) прошли очень много итераций по совершенствованию мной, может быть 1000, начиная с 2005 года наверно, и будут продолжать совершенствоваться.
>ассоциировать свои идеи с собой…
как это? идея или есть или она не идея, а заблуждение.
>выслушать все замечания…
Этот код очень дорог для меня, потрачено очень много моих усилий для его создания. Замечания здесь в большей мере, не могут быть использованы мной, так как я слышу, например, не пишите в глобальную область видимости, но я не могу не писать, вся концепция основана на этом. По сути, большинство советует: «выбросите вашу работу», я не собираюсь это делать.
>Если Вы делаете для себя лично
прошу прощения, но глупо было это писать. Если бы я делал для себя, не было бы проекта в паблике и этой статьи
Совет 3.
>соответствует уровню любителя
если код выглядит просто, это не значит что он уровня любителя.
>странные непонятные хаки
это нормальный синтаксис PHP, это часть концепции проекта. Использование create_function, eval позволяет делать тривиально простой код. Это также часть концепции. Этот ваш совет, по сути, совет: «выкиньте ваш код»
>хорошие имена функциям
например где плохо?
>покажете свою неубранную квартиру
это нормальная критика, я знаю, что нужна лучшая «обертка для конфеты». Но я «причесал» все, как только мог, буду «причесывать» дальше… Проблема в том, что я слишком «на многое замахнулся», для того, чтобы «протолкнуть» такое, нужны о-о-очень большие ресурсы, а их у меня пока нет. И если не появится сильная помощь для проекта SKY, то он так и не запустится… Но я буду продолжать работать над ним, так как искренне верю
Так, что ваши советы или неприменимы или я уже в курсе и следую и так им.
Нет… сейчас, вы начнете оправдываться и говорить: я каждый день меняю БД в одном и том же проекте. В основном работает MySQL, а по пятницам, я запускаю сайт на PostgreSQL, QB позволяет мне просто отредактировать конфигурацию приложения.
Я при всем желании не могу понять, здешних комментаторов, похожих на вас, которые просто троллят авторов и получают при этом удовольствие?
>Я так понимаю, что разработчик не знает про то, что не все используют mysql
Вы вправду так думаете? А мне кажется, что вы просто не сообразили, как более тонко потроллить.
Давайте-ка все вместе покритикуем автора… Можно писать что попало. У всех нас цель одна — автор, и те, кто в моем лагере будут лояльны ко мне. Главное устроить вкусный цирк, удовольствие при этом получат все… Ура!!! Вперед в бой…
Я неутомимо буду прояснять ради тех кто читает и думает, но не участвует в цирке. Итак, во-первых, в этой статье четко, русским языком написано, «ORM не нужен, по крайней мере, как базовое средство разработки...». Тоже относится к QB. Только код, который требуется для 70% реальных сайтов в Интернете (потенциально может заменить их код), должен быть включен в «чистое облако». Не базовые средства разработки, могут присутствовать в коде 3 крыла и включаться в проект при необходимости. Последнее касается и QB и ORM.
Если бы вы хоть немного были внимательны, взглянув на код первого крыла http://ru.coresky.net/code?main/sky.php или почитали комментарии, прежде чем спешить участвовать в «цирке», то поняли бы, что файлы в SKY характеризуются свойством «port» и «clear-cloud». Для того, чтобы работать, например с PostgreSQL, нужно просто взять тот-же файл «main/sky.php», который является портом для этой БД.
В статье выше, ясно написано: «В SKY допускается редактирование КПИ, в том числе ядра», а вы пишите: «как расширять ядро не затрагивая при этом сам код?». Вы очень не внимательны.
Вы скачайте код к видео, посмотрите как он прост.
Сравните его с эквивалентным кодом вашего фреймворк…
Новое и полезное: веб-приложение разрабатывается намного проще легче и быстрее чем в вашем фреймворк… это просто небо и земля…
Нужно бы сделать тесты, чтобы сравнить производительность. Думаю и работать будет намного быстрее, несмотря на медленный eval(). Фактические измерения, были бы наверно для вас более весомым аргументом
«сделал штуку...» не «прокатит». Чтобы разобраться в «штуке» надо ее поизучать и поюзать, поразбираться. А на это надо хотя бы неделю. Тут никто по-видимому разбираться не хочет. Даже в элементарных вещах путаются. Комментарии здесь — это просто, по-моему, своеобразный способ развлечения у вас… Но кто-то возможно захочет по-разбираться, из тех, кто промолчал. Ради них я с вами общаюсь.
>Простите, если обидел, но прямую грубость в вашу сторону я не выражал.
я имел ввиду не вас конкретно, а любого из комментаторов. Есть некоторые позволяющие себе лишнее.
>объясните… только это заведомо не здраво…
зачем тогда просите писать? Это здравая последовательная логика?
Лучшее, что придумало человечество это пиво )