Как стать автором
Обновить
14
0
Виктор Котляник @navar

Пользователь

Отправить сообщение

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

Недостаток предложенного подхода — повсеместное использование строковых ключей.

Качество моего сна сильно улучшилось, когда я стал спать на кровати один.

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

Спасибо. Исправил.
Когда-то очень давно писал похожий файловый менеджер для сортировки своих фотогафий, может, кому-то будет полезен. Больше всего он похож на TagSpaces

Способ хранения тегов: файловая система
Группировка тегов: есть
Иерархия тегов: есть
Алиасы тегов: отсуствуют
Автоматизация тегов: отсуствует
Логические операции с тегами при поиске: И, ИЛИ
История поиска тегов: нет
Расшаривание тегов по сети: отсутствует

Способ хранения файлов: файловая система
Виртуальные папки: отсутствуют
Динамические папки: отсутствуют
Группировка файлов: отсутствует
Система рейтинга файлов: частично (5 звезд в виде обычных тегов)
Выявление файлов-дубликатов: отсутствует
Встроенный просмотр файлов: частично
Встроенная корзина: отсутствует
Заметки для файлов: частично
Фиксация URL-источников файлов: отсутствует
Потеря метаданных при нештатном перемещении файлов: нет (метаданные хранятся в имени файла / в побочном файле)
Киллер-фичи: Настройка шаблона хранения тегов, дерево тегов хранится в отдельном файле

Ссылка: Phototagger

Это очень актуальный вопрос. Такая проблема ярко выражена в Django Admin, почему я и отказался от его использования для ряда задач. Разрабатывая фреймворк, я старался минимизировать её влияние.


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


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


  1. Генерация всего интерфейса автоматически.
  2. Генерация отдельных частей интерфейса автоматически.
  3. Полная ручная кастомизация интерфейса или его части.

Поэтому ситуация, когда среди автоматически сгенерированных элементов нужно разместить на форме нестандартные элементы или элементы в произвольном порядке, решается давольно просто. Пример такой кастомизации: https://github.com/astoniocom/astonio-shop/tree/master/src/app/flow-record-window


Если в Django для кастомизации используется подход "внедряемся и меняем", то у меня используется подход "собираем заново из кирпичиков", причем кирпичиком может быть как самописная, так и встроенная часть. Также для решения проблемы с порогом входа применяются принципы разработки приложений на Angular. Как итог, даже при полной кастомизации интерфейса технически внедрить свои элементы — задача с низким порогом входа (хотя от него, безусловно, никуда не деться).

Да, действительно, требование веб-интерфейса присутствовало (добавил в статью).
Qt не рассматривался как по этой причине, так и потому, что он, вроде, не позволяет автоматически генерировать интерфейс на основании моделей.

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

Извините, прикрепилось отдельной веткой ниже.

Такие вещи лучше вынести в отдельный сервис.

Имеете в виду сделать сервис типа HeroSaver? Писать что-то вроде:


var hero_saver = injector.get(HeroSaver);
var hero = new Hero();
hero.name = 'Windstorm';
hero_saver.save(hero);

Тут Hero — это DTO, у него нет поведения.

Да, но, допустим нужно реализовать поведение, например, как в Django.


hero = Hero(name="Windstorm")
hero.save()

Что подразумевается под этим? Какой коллбек в then засунуть?

Каким образом правильно было бы получить сервис Http в объекте класса Hero, чтобы реализовать функционал save? Как пример реализации:


class Hero {
  http:Http;
  constructor(injector:Injector) {
    this.http = injector.get(Http);
  }
  save () {
    this.http.post.....
  }
}
....
var hero = new Hero(injector);
hero.name = 'Windstorm';
hero_saver.save(hero);

Возьмем из статьи класс Hero. Допустим, мы хотим иметь возможность сохранять героя в базе данных на сервере. Добавим герою метод save(), который для сохранения героя использует Angular-сервис Http. Каким образом должен резолвится этот (Http) сервис в классе Hero, чтобы была возможность использовать следующий подход?


var hero = new Hero();
hero.name = 'Windstorm';
hero.save();
Я к тому, что tagfs — отличная идея, но я бы ее развивал в сторону, всё же, сохранения тегов в имени файла, а MySql бы использовал только для индексации и быстрого поиска файлов. Тогда бы мы получили и весь имеющийся сейчас функционал и переносимость файлов между разными носителями. Плюс ко всему я не очень доверяю отдельному хранению тегов и файлов, когда-нибудь что-то может пойти не так и весь труд по присвоению тегов файлам окажется напрасным, ведь даже целостность обыкновенных файловых систем, порой, нарушается.
Не совсем.
Допустим, у меня есть отсортированые по тегам, при помощи Tagsistant, файлы. Мне необходимо кому-то передать некоторые из этих файлов на систему ntfs. Другой человек, как я понимаю, никак не сможет видеть теги, присвоенные файлам.
В программе, что я писал, теги сохраняются в самом имени файла, поэтому, если я их копирую между разными файловыми системами/устройствами, сохраняется возможность поиска файлов по шаблону без установки дополнительного ПО.
Вопрос еще в том, как сохранять теги при переносе файлов между разными файловыми системами.

Давно была мысль тегировать фотографии иерархиеческими тегами с сохранением тегов в имени файла. Т.к. ничего готового не нашел, написал прогу phototagger.org.
Как по мне, очень не удобно, что нажатие на клавишу меню, вместо меню вызывает список последних приложений.
Использовать такой подход для индексации сайта Google-ом — согласен. С Яндекс-ом — сложнее. Чтобы не повторяться, оставлю ссылку на мой вопрос на toster-е.
С такой установки можно еще и на тарзанке прыгать и бейс-джамперов запускать. Думаю, проект окупится быстрее!
Скажите, а оставили ли в этом телефоне датчик-барометр?

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность