Giter Club home page Giter Club logo

winow's Introduction

autumn-library

Добро пожаловать в уютный мир сообщества Autumn/ОСень - фреймворка для создания приложений на OneScript с применением подходов Dependency Injection и Inversion of Control.

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

Основные модули

  • autumn/ОСень - ядро фреймворка и основной раздел документации. Если вы только начинаете знакомство с ОСенью, то начните с этого раздела.
  • annotations - библиотека для работы с аннотациями, может использоваться отдельно от экосистемы ОСени.
  • autumn-collections - модуль реализует функциональность прилепляемых коллекций для ОСени.

Дополнительные модули общего назначения

  • autumn-logos - модуль легкой работы с логами поверх библиотеки logos.
  • autumn-cli - модуль для создания консольных приложений поверх библиотеки cli.
  • autumn-async - модуль асинхронного исполнения методов.
  • autumn-synchronized - модуль для синхронизации исполнения методов.
  • autumn-annotation-types - набор аннотаций ОСени для удобной инициализации стандартных типов.
  • autumn-validate - модуль для автоматической валидации данных желудей на базе аннотаций.
  • autumn-killjoy-flavour - набор аннотаций для ОСени, который поубивает весь кайф.

Стоящие внимания

winow's People

Contributors

johnydeath avatar nivanchenko avatar nixel2007 avatar youngive avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

winow's Issues

Избавиться от разделения контекстов ядра и подключаемых приложений

Хотел тем самым попытаться застраховать разработчиков от пересечения имен классов. Но до конца не дошел, и в осени так по дизайну.
Кажется такие сложности не нужны. И проще инжектить в приложения желуди из ядра(парсеры и тд), минуя костыль в виде общего контекста.

Шаблонные URL

Пример:

&ТочкаМаршрута("calc/{Операция}/{ПервоеСлагаемое}/{ВтороеСлагаемое}")
Процедура Калькулятор(Операция, ПервоеСлагаемое, ВтороеСлагаемое, Ответ) Экспорт

Запуск через cli

Чтоб можно было описать настройки по #4 и запустить через консоль. После чего все каталоги загрузятся и приложение запустится.

Получение именного параметра

Версия 0.4.0
Код модуля

#Область ОбработчикиСобытий
&Контроллер("/")
Процедура ПриСозданииОбъекта()
КонецПроцедуры
#КонецОбласти

&ТочкаМаршрута("api/{ИмяПараметра}")
Процедура ПараметизированныйМаршрут(Запрос, Ответ, ЗаголовкиЗапроса, ИмяПараметра) Экспорт
	Сообщить(ИмяПараметра);
КонецПроцедуры

Запрос с постмана
http://localhost:9002/api/MyParameter

Вывод в лог

api

Ожидаемый вывод

MyParameter

повышение рпс.

Сейчас рпс мал. От части из-за инфраструктурного обвеса. По возможности оптимизировать.

Пример загрузке файла. При пустой дате падает с ошибкой

Если для примера "ОтправкаФайлов.os" перед нажатием "Upload" не заполнить дату, то код упадет с ошибкой
"{Модуль C:\OneScript\lib\winow\src\Классы\ДанныеСоставнойФормы.os / Ошибка в строке: 55 / Внешнее исключение (System.NullReferenceException): Ссылка на объект не указывает на экземпляр объекта.} "

Из-за Результат.Значение = Неопределено
изображение

Это ошибка winow или как-то нужно делать проверку заполнения даты?

настройки читать из файла.

В настройках так же можно указывать

  • набор каталогов приложений.
  • набор каталогов статичных файлов.

При чтении настроек, все инжектится.

поничесать реадмиху

  • актуализировать пример
  • систематизировать и добавить оглавление
  • добавить пункт быстрого старта.

Непонятность с точками маршрута

Воспроизвожу примеры из ридми.

&Контроллер("/greeter")
&Желудь
Процедура ПриСозданииОбъекта()

КонецПроцедуры

&ТочкаМаршрута("getparams")
Процедура Приветствие(ВходящийЗапрос, Ответ, Сессия) Экспорт

Так не работает - при открытии страницы 404, Страница не найдена

А вот так работает:

&Контроллер("/greeter")
&Желудь
Процедура ПриСозданииОбъекта()

КонецПроцедуры

&ТочкаМаршрута("/greeter/getparams")
Процедура Приветствие(ВходящийЗапрос, Ответ, Сессия) Экспорт

То есть в точке маршрута приходится писать полный путь
Это справедливо для всех примеров

Пластилин в точки маршрута

Предусмотреть возможность добавления желудей в параметры точек машрутов

&ТочкаМаршрута("/")
Процедура МойМаршрут(Запрос, Ответ, &Пластилин МойОбъект) Экспорт

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

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.