Yuriy Grinev - Full Stack Web Developer

Надо посмотреть, освободится ли через 4 месяца домен или владелец продлит адрес rwch.org


Хехех! Наконец-то доделал редактор для бложика :3

Сейчас хочу добавить Parsedown для разметки заметки.


У меня дилемма.

Можно сделать АИБ в стиле Futaba или же в стиле Форума. С одной стороны, хочется чего-то старого-доброго и понятного, а с другой - чего-то нового. Щито делать?


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

И содержимое аттача подтвердило мою догадку. В нём была HTML страница, которая с помощью JS скрипта скачивала вирусный файл, замаскированный под .DOC.

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


Я передумал @3dccbe88536c4fb7a227. Идея делать АИБ с использованием в качестве фронт-энда MeteorJS и бэк-энда Phalcon - глупа. Буду продолжать фигачить на чистом Phalcon. Авось даже смогу сделать загрузку картинок.

И вот, кстати демо-версия анонимного фидонет-форума. https://crychan.ru/


«Анонимный форум должен быть реалтаймовый. Без необходимости жать F5 или кнопку "Обновить тред"»

После долгих размышлений и неприятных багов Фальцабы на Phalcon PHP я решил прислушаться к этому высказыванию и начал активный поиск подходящего JS решения для создания нового движка...

Первым попался Vue.JS.

Подкупило то, что его можно подключать из внешних источников в файл, ибо мне было лень возиться с npm. И "two way binding" у него отличный, да и документация хорошая.

Решено было использовать его в связке с Phalcon PHP, который выступал бы в роли RESTful API. Первым делом я сделал шаблоны, потом настроил компоненты. Но вот связать данные получаемые от Phalcon я не смог... Уж очень в vueJS тугие хелперы и видимости данных. Имхо, сабж очень сырой и пригоден только для ToDo List.

Далее пришёл Meteor JS.

И в этот раз пришлось заморочиться с npm, ибо делал все на Cloud9. Кстати, это был мой первый опыт работы с Node.JS подобным фреймворком.

На сей раз было два варианта: Либо опять же использовать Phalcon PHP в качестве RESTful API, либо использовать MongoDB. В конечном итоге пока что не определился и сделал сразу два варианта.

И на счёт хелперов, они тут и в правду удобные. Таким простым способ я могу его создать:

Template.registerHelper('pageTitle',
 (title) => { document.title = title + ' - ' + siteName; }
);

И использовать в шаблоне так. Например, вывод в заголовок темы треда:

{{pageTitle thread.subject}}

Роутера, как и полагается, из коробки не было, по этому поставил Iron.router, ибо он единственный хороший роутер метеора. Шаблоны оказались тоже годные, передача данных в шаблон из роутера выглядела легче и понятнее, нежели в Vue.JS. Так что решено было остановиться на сабже и начать писать на нём.

Но есть и некоторая грусть: iron.router при смене страницы не скроллит на верх по умолчанию. В интернете есть решения, но все они используют jquery, да и выглядит как костыль. И ещё я парсер не могу переписать...


В конечном итоге есть два одинаковых анонимных форума на двух разных технологиях. И оба не могут в загрузку изображений.


Приветствую.

Вышло второе и достаточно крупное обновление движка анонимного форума. Проведена огромная работа, если честно.

В этом обновлении:

  • Возможность закрывать и закреплять тред
  • А так же закрывать разделы
  • Быстрые ответы с нулевой
  • Красивые уведомления
  • Изменена логика добавления поста
  • Задание максимального размера заголовка
  • Убраны некие задатки для будущего обновления с картинками
  • Изменение версии до 0.3

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


Хэй, народ!

Вышло первое, достаточно крупное обновление движка анонимного форума.

Данное обновление приносит:

  • Возможность сагать тред
  • Возможность вставлять в форму ссылку на пост при нажатии на номер поста
  • Создание ссылки на пост >>15488
  • Некие задатки для будущего обновления с картинками
  • Изменение версии на 0.2b
  • Ну и улучшение производительности

На этом пока все. Спасибо.


Привет, народец.

Сегодня я хочу объявить о очередном велосипеде в бордостроении: Phalcaba - движок анонимного форума написанный на PHP фреймворке Phalcon.

Основные возможности движка:

  • Создавать треды
  • Ответ в тред
  • Разметка ВакабаМарк
  • Создание разделов

Так как он имеет версию 0.1а в движке имеется ряд недоработок:

  • Нет возможности прикреплять изображения
  • Треды не уплывают после бамп-лимита
  • Не создаются ссылки на пост вида >>123
  • Нет админ-панели, управление только через базу данных

Но не смотря на эти незначительные недостатки я решил выкатить исходники на Github, чтобы этим постом мотивировать себя доделать движок.

На этом, думаю, все. Если есть предложения - пишите в комментарии, йоу.


С самого начала я возвращал страницы 404 в фалконе при отсутствии контента таким образом:

return $this->dispatcher->forward([ 'controller' => 'pages', 'action' => 'show404' ]);

Данный способ вроде бы и работал как надо, пока я не начал подключать assets через initialize() в главном контроллере.

Получалось так, что на любой странице 404 эта функция выполнялась два раза. Первый раз, когда грузился текущий контроллер, а второй раз, когда я делал forward на страницу 404. Это меня дико не устраивало и я принялся искать варианты решения.

И через пару месяцев мук и проб был найден вполне милый и приятный способ:

$this->response->setStatusCode(404, "Not Found");
$this->tag->prependTitle("Ошибка 404");
return $this->view->pick('pages/show404');

В итоге это решение оказалось для меня самым лучшим. Такие дела.


9d11df31adbd022ea464