LINUX.ORG.RU

Прошу совета по проекту

 


0

1

Увлекся я скалой и написал небольшой проект:

https://gitlab.com/Andyride/akka-http.easy.file.storage

Вкратце, это такое персональное файловое облако на AKKA-HTTP, я через этот сервер дома фильмы на Android приставке смотрю с компа.

Хотелось бы узнать мнение лоровцев, стоит ли дальше заниматься этим проектом или написать на javascript плеер для прослушивания аудио, просмотра видео по списку, ну и слайдшоу для фотографий и забить на разработку.

Просто штука получилась довольно удобная в использовании, такая занятная альтернатива самбе через http протокол. Вот и маюсь, что делать дальше.


Ответ на: комментарий от Legioner

webdav - это протокол, и ТС его в принципе к своему поделию вполне может и присобачить, если надо.

Может быть вы хотели спросить, чем оно лучше https://owncloud.org/ ?

И правда, чем? (ну кроме того, что вместо б-гмерзкого PHP православная Scala)? Чтобы догнать и перегнать, довольно много плюшек надо добавить… а надо ли оно кому - сложный вопрос.

BattleCoder ★★★★★
()

Парочка советов (безотносительно от нужности):

  • Не надо хранить бинарную сборку в виде zip в git. Не надо, и всё. Не знаю, есть ли в gitlab такая штука как «releases», в github, например, есть. Идея в том, что есть git tag, к нему можно описание любое добавить (changelog), и сколько угодно файлов (архивов) присоединить. Вот как здесь https://github.com/scala/scala/releases/ (там только исходники, но никто не запретит что-то ещё добавить).

  • .gitignore тоже не хватает, соответственно

  • System.getProperty, отучайся писать на Java в Scala-коде… sys.props.get/sys.props.getOrElse

  • вообще для file.separator есть константа https://docs.oracle.com/javase/8/docs/api/java/io/File.html#separator

  • try-catch совершенные нечитаемые и непонятные. Для чего они там?

  • комментариев слишком много (на русском, хех, ну ладно). не надо писать комментарии там, где они очевидны

//      Не существует
	if(!dir.exists){ dir.mkdir() }
  //     Уже есть файл с таким именем
  • вместо new File(confDir+"/passwd"); есть new File(confDir,"passwd")
  • не используй return в коде, это плохой стиль
  • System.setProperty в коде - ну не знаю… не лучше ли в скрипте запуска задавать все property/environment variables и т.п.? я бы, кстати, использовал https://www.scala-sbt.org/sbt-native-packager/ вместо sbt-assembly, но это дело вкуса всё же.

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

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

А ещё лучше выкинуть File и переписать всё на Path и nio.

Legioner ★★★★★
()
Ответ на: комментарий от BattleCoder

Спасибо за советы

Вообще данное поделие, это эксперимент. Просто хотелось что-то написать, думаю для домашней сети вполне можно использовать. Установка проста, развернул архив, запустил, пользуйся, можно забить на сетевые шары, доступ с любого компа или Andriod устройства, продукции Apple у меня нет, поэтому не проверял работу.

Ну что-же всем спасибо, пора искать работу :)

Andy_Z
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.