
Evil
08.08.2016
13:08:16
.get("/img/*", serveStaticFiles("./public"))
При запросе "/img/huj.jpg" будет искать полному пути запроса, относительно указанному вторым параметром пути, т.е. в папке "./public/img/"

Eto
08.08.2016
13:09:08

Dmitry
08.08.2016
13:09:40
Петь, тоесть мы просто указываем папку уровнем выше чем та котороую мы сервим?

Evil
08.08.2016
13:10:40
Любую, просто путь просуммируется с запросом

Google

Dmitry
08.08.2016
13:10:54
а....
а как ты до этого дошел то? Сорцы читал?

Matero
08.08.2016
13:11:12

Dmitry
08.08.2016
13:11:19
просто я в доках этого не увидел

Evil
08.08.2016
13:12:10

Dmitry
08.08.2016
13:13:38
О, если написать так:
router.get("/rasters_previews/*", serveStaticFiles("./files"));
то работает:
http://127.0.0.1:8080/rasters_previews/101_005329_2_0_02.jpg

Evil
08.08.2016
13:13:42
На самом деле, тут все логично и без доков

Dmitry
08.08.2016
13:14:51
а как сделать чтобы урл был: http://127.0.0.1:8080/files/rasters_previews/101_005329_2_0_02.jpg
т.е. со словом /files/
Блин. Жесть какая. В коде написано:
router.get("/rasters_previews/*", serveStaticFiles("./"));
файлы лежат в Files\rasters_previews
а все отдается по урлу:
http://127.0.0.1:8080/rasters_previews/101_005329_2_0_02.jpg

Eto
08.08.2016
13:18:40
А в чём тут проблема?
Всё логично.

Google

Dmitry
08.08.2016
13:18:50
а слово files где?
в роутинге про него ни слова

Eto
08.08.2016
13:19:10
Так и в путях нет такого слова.

0x9d8e
08.08.2016
13:19:22
роутер определяет по какому урлу вызвать то что во втором параметре

Eto
08.08.2016
13:19:44
router.get("префикс в URL", serveStaticFiles("путь к папке на диске"));

Dmitry
08.08.2016
13:20:18
в итоге файл будет доступен как:
"путь к папке на диске" + "префикс в URL" ?

Eto
08.08.2016
13:21:22

Matero
08.08.2016
13:24:37

Eto
08.08.2016
13:25:26
Меня тоже самое. Занимаюсь сейчас бэкендом на JS. Тоже не супер. На D было гораздо приятнее писать.

Dmitry
08.08.2016
13:25:35
Такая же фигня)

Макс
08.08.2016
13:25:39

Eto
08.08.2016
13:25:43
Если хочется, то занимайся параллельно. Я так делаю.

Evil
08.08.2016
13:27:13
/me вышел из матрицы

Макс
08.08.2016
13:27:30

Eto
08.08.2016
13:27:36

Макс
08.08.2016
13:28:07
nginx настраивал когда-нибудь?

Dmitry
08.08.2016
13:28:16
Макс, я попробовал поменять. Тоже самое пока остановился на варианте:
router.get("/rasters_previews/*", serveStaticFiles("./files/")); // отдает localhost/rasters_previews/101_005329_2_0_02.jpg

Макс
08.08.2016
13:28:35
и это логично

Eto
08.08.2016
13:29:28

Макс
08.08.2016
13:29:29
грубо говоря, ты декларируешь, что папка http://домен/raster_previews это на самом деле папка ./files

Google

Dmitry
08.08.2016
13:30:06
а если мне слово files в урле надо чтобы было? То?

Макс
08.08.2016
13:30:27
то ты бы написал /raster_previews/files

Dmitry
08.08.2016
13:30:52
Макс, наоборот, files в начале

Макс
08.08.2016
13:31:11
ну наоборот, какая разница
слева – шаблон. пишешь что угодно.
Справа – реальная папка, указываешь её корень

Dmitry
08.08.2016
13:33:51
справа получается то от чего растет урл т.е. папка рассматривается как стартовая (корневая)

Макс
08.08.2016
13:33:58
У тебя же Files, а не files. И винда же

Dmitry
08.08.2016
13:34:29
Макс, я уже переиеновал в нижний регистр все

Макс
08.08.2016
13:35:07
хм, хз
А из какой папки запускаешь-то?

Eto
08.08.2016
13:35:52
Без files слева работало?

Dmitry
08.08.2016
13:36:00
да
в итоге остановился на этом варианте:
router.get("/rasters_previews/*", serveStaticFiles("./files/")); // url would be localhost/rasters_previews/101_005329_2_0_02.jpg

Eto
08.08.2016
13:37:51
У тебя там второй route для файлов определён.

Dmitry
08.08.2016
13:40:39
м... щас его закомменчу еще раз посмотрю что будет
а ну так он для html css и скриптов. без него не будет работаь

Eto
08.08.2016
13:43:18
Отдавай их по отдельному пути. А не прямо из /*.

Dmitry
08.08.2016
13:44:57
ну так тут же вроде бы:
router.get("/*", serveStaticFiles(roothtml));
мы шарим папку roothtml и в ней уже css html и тд верно?

Eto
08.08.2016
13:57:06
Сервер просто больше сравнений на каждом запросе должен делать. /* — это ведь все пути. Да ещё и в самом начале определил, значит оно первым будет проверяться.

Google

Dmitry
08.08.2016
13:58:21
так, а ты как предлагаешь записать строку?
так, а как мне проще всего сделать поиск в файле строки и сплит ее? canFind сойдет? или есть варианты получше?

Макс
08.08.2016
18:06:08

Dmitry
09.08.2016
07:11:10
Нужно из ини-подобного файла выбрать 4 значения
вот я и думаю как лучше. Тупо byLine сделать и в нем canFind

Макс
09.08.2016
07:16:57
вместо canFind можно регуляркой искать и сразу получать нужную подстроку

Dmitry
09.08.2016
07:30:57
По умолчанию текстовые файлы ожидаются в юникоде?
Просто у меня ошибка вылетает: std.utf.UTFException@C:\D\dmd2\windows\bin\..\..\src\phobos\std\utf.d(1219): Attempted to decode past the end of a string (at index 1)

Макс
09.08.2016
07:40:11
Скорее всего, да

Admin
ERROR: S client not available

Eto
09.08.2016
07:47:38

Dmitry
09.08.2016
07:48:50
пасибо, тут у нас просто штатный идиотизм. Тут какой-то идиот в свое время придумал свой упоротый формат. В итоге он не xml и не ini. Сейчас реально руками выкушу значения оттуда просто.
http://www.everfall.com/paste/id.php?hppfme3hcrxx
если что я проблему решил ручным выкусыванием)
так, а есть какой-то простой и красивый способ сделать черный фон вот на таких снимках прозрачным?

Oleg
09.08.2016
10:26:25
и раз хочешь просто всё сделать, то посмотри на dlib
очень любят эту библиотеку тут http://lhs-blog.info/topics/programming/dlang/
кстати тут есть кто-нибудь с light-house software?

Pavel
09.08.2016
10:41:59
Как узнать какой тип возвращает вызов regex ?
https://dlang.org/phobos/std_regex.html#.regex
Мне нужно в классе сделать поле с типом регулярного выражения. auto писать нельзя, а сам тип не могу понять какой строится.

Dmitry
09.08.2016
10:42:56
ок спасибо про наводку на dlib

Google

Макс
09.08.2016
10:44:22
Regex!Char, если не ошибаюсь

Pavel
09.08.2016
10:44:37
Если в рантайме вывести тип готовой регулярки, то получится std.regex.internal.ir.Regex!char.Regex но такой тип нельзя указать в классе
Error: struct std.regex.internal.ir.Regex(Char) is used as a type

Макс
09.08.2016
10:45:01
Regex!char то есть, видимо

Pavel
09.08.2016
10:45:09

Nick
11.08.2016
13:12:47
Что-то я забыл совсем после длительной паузы в работе с DLang, как осуществить такую штуковину... Есть некий класс методы которого хотелось бы определить в различных файлах.
по сути видимо импортировать в основном модуле описывающем класс модули с методами чтоли...

Eto
11.08.2016
13:15:36

Nick
11.08.2016
13:15:48
для красоты, для чего ж еще
класс большой..
а как это выглядит синтаксически

Eto
11.08.2016
13:16:15
Насколько?

Nick
11.08.2016
13:16:32
не сильно, но это субъективные мерки
главное понять как реализовать

Макс
11.08.2016
13:17:13
Можно не использовать методы, а писать функции, принимающие первым аргументом этот класс. А при использовании – UFCS скроет эту деталь :)

Eto
11.08.2016
13:17:25
Если до 2-3х тысяч строк, то зря только мороку себе придумал.

Nick
11.08.2016
13:17:49
после руби всегда перфоманс нападает %)

Pavel
11.08.2016
13:18:20
По разным файлам сложно искать класс =\

Nick
11.08.2016
13:18:48
зачем его искать?
чтото типа такого
class A{
import method1;
}