
White_116
05.09.2018
20:39:44
пытаюсь сделать правильно и избавится от этого:
string Name = "Test";
int Name_len = Name.length;
data ~= (cast(byte*)&Name_len)[0 .. 4].dup;
data ~= Name;

Denis
05.09.2018
20:49:02
)

Pavel
05.09.2018
20:51:14
Не понял а зачем хранить length в byte[4]

Google

Denis
05.09.2018
20:53:13
это какой-то cпособ готовить данные для хранения в файле, как я понял

Oleg
05.09.2018
20:53:42
так можно же структуру сразу в byte[] загнать

White_116
05.09.2018
21:00:44
Да, но придётся и длину string сохранять.
А есть инструменты для сериализации структур?

Denis
05.09.2018
21:01:06
Сериализация это миф типа ORM
Прострую структуру сериализовать, конечно, можно - в vibe.d есть механизм

Stanislav
05.09.2018
21:01:35
орм миф? уух меня триггернуло

Denis
05.09.2018
21:01:41
Но тебе же не структуры надо, а их связи

Oleg
05.09.2018
21:04:49
есть кто?) кто с линуксом дружит
чёт затуп случился...
есть usb-hdd, зашифровал, когда подключаю в /dev/mapper оно есть, но приходится partprobe делать на него, как-то хочется без этого
попробовал через fstab, но видимо опции defaults,nofail это не то

Denis
06.09.2018
05:08:48
ща, я на этой фигне лет 12

Google

Denis
06.09.2018
05:08:53
есть /etc/crypttab
а, погоди, не понял вопрос
не видит партицию сразу после подключения?
@deviator

Oleg
06.09.2018
08:17:35
фишка была в том, чтобы на зашифрованном разделе не создавать свою gpt (которую просил gparted), а просто накатить ext4

Denis
06.09.2018
08:34:07
Так и делаю

SR_team
06.09.2018
10:36:11
Кто-нибудь с ftp на D работал? У меня авторизация фейлится

Dmitry
06.09.2018
10:40:42
Я работал но давно. requests либу юзаешь?
С ней проблем быть не должно


SR_team
06.09.2018
10:45:30
нет, родную curl юзаю
import std.stdio, std.net.curl;
void main(string[] args)
{
string login, password, domain;
string[] files;
for (int i = 1; i < args.length; ++i){
if (args[i] == "--login" || args[i] == "-l"){
login = args[i + 1];
++i;
}
else if (args[i] == "--password" || args[i] == "-p"){
password = args[i + 1];
++i;
}
if (args[i] == "--domain" || args[i] == "-d"){
domain = args[i + 1];
++i;
}
if (args[i] == "--file" || args[i] == "-f"){
files ~= args[i + 1];
++i;
}
}
logdbg("Login: ", login);
logdbg("Password: ", password);
logdbg("Domain: ", domain);
logdbg("Files: ", files);
auto _ftp = FTP();
logdbg("Authentication in process...");
_ftp.setAuthentication(login, password, domain);
logdbg("Uploading in process...");
foreach(ref file; files){
try{
_ftp.addCommand("RNFR " ~ file);
_ftp.addCommand("RNTO web/dl.prime-hack.net/public_html/" ~ file);
upload(file, login ~ ":" ~ password ~ "@" ~ domain, _ftp);
} catch (CurlException e) {
writeln(e.message);
}
}
_ftp.shutdown();
logdbg("Done");
}
void logdbg(T...)(T args){
debug writeln(args);
}


Stanislav
06.09.2018
10:46:40
в три апострофа многострочный текст надо оборачивать

Dmitry
06.09.2018
10:51:28
request юзай

SR_team
06.09.2018
10:51:50
Все, я уже решил проблему на bash за 5 минут


Stanislav
06.09.2018
10:52:30
правда биндинги надо смотреть
import std.stdio, std.net.curl;
void main(string[] args)
{
string login, password, domain;
string[] files;
for (int i = 1; i < args.length; ++i){
if (args[i] == "--login" || args[i] == "-l"){
login = args[i + 1];
++i;
}
else if (args[i] == "--password" || args[i] == "-p"){
password = args[i + 1];
++i;
}
if (args[i] == "--domain" || args[i] == "-d"){
domain = args[i + 1];
++i;
}
if (args[i] == "--file" || args[i] == "-f"){
files ~= args[i + 1];
++i;
}
}
logdbg("Login: ", login);
logdbg("Password: ", password);
logdbg("Domain: ", domain);
logdbg("Files: ", files);
auto _ftp = FTP();
logdbg("Authentication in process...");
_ftp.setAuthentication(login, password, domain);
logdbg("Uploading in process...");
foreach(ref file; files){
try{
_ftp.addCommand("RNFR " ~ file);
_ftp.addCommand("RNTO web/dl.prime-hack.net/public_html/" ~ file);
upload(file, login ~ ":" ~ password ~ "@" ~ domain, _ftp);
} catch (CurlException e) {
writeln(e.message);
}
}
_ftp.shutdown();
logdbg("Done");
}
void logdbg(T...)(T args){
debug writeln(args);
}
upload(file, domain, _ftp); а если так
хотя разницы не должно быть. кароч надо в код upload смотреть )

Google

Andrey
06.09.2018
11:40:58
нет, родную curl юзаю
upload(file, login ~ ":" ~ password ~ "@" ~ domain, _ftp); - тут точно нужен логин-пассворд? ранее setAuthentication же был

SR_team
06.09.2018
11:44:11
Сейчас посидел, еще поковырял выгрузку файлов по FTP на D и немного разобрался, но не до конца, ибо в итоге решил через библиотеку request.
Не знаю, что делает метод авторизации из curl, но у FTP есть команды USER и PASS для авторизации. При вызове upload (и put еще пробовал) начал получать ошибку URL using bad/illegal format or missing URL on handle, на этом и забил на родную либу, однако у request перед доменом, после указания протокола ftp:// записывается @, которого видимо и не хватало. Сейчас лень проверять эту теорию, ибо проблема решена.

Dmitry
07.09.2018
13:21:56

Stepanos
07.09.2018
14:00:21
я джава получаю достойно)
но уже на котлин перешел наполовину

Dark
07.09.2018
14:03:14

Ievgenii
07.09.2018
14:56:32
)))
За кашу)))

Stepanos
07.09.2018
15:12:22
у меня друг в UbiSoft работает, там С++ разрабы 3-7к получают, при том что гребут и гребут... Даже с рашки приежают люди

qwerty
07.09.2018
15:18:45
в Киеве?

qwerty
07.09.2018
15:19:33
А что "даже с рашки"?) Можно подумать у нас з.п. медианная сильно большая)
я понимаю даже со штатов где медина 8к по данным payscale
))

Valeriy
07.09.2018
15:20:39
Что думаете на счёт Kotlin?
На первый взгляд интересный язык.

Stepanos
07.09.2018
15:29:31

Google

qwerty
07.09.2018
15:29:58
надо в киев(

Stepanos
07.09.2018
15:33:35
:) у нас не лучше чем в москве думаю

qwerty
07.09.2018
15:34:02
народу меньше наверное

Stepanos
07.09.2018
15:34:39
да, раза в 3

qwerty
07.09.2018
15:35:24
)))
вот и ответ)

Dmitry
07.09.2018
15:54:54

Stepanos
07.09.2018
15:56:10
я не думаю что там свифт есть) но вообще iOS девьі в Украине в дефиците, 3-4к синиорам платят точно

Ievgenii
07.09.2018
16:30:42

Admin
ERROR: S client not available

Toha
07.09.2018
16:42:45
А кто что про калининград скажет?

Pavel
07.09.2018
16:57:22
А разве не должно так быть что опытный с++ник который не может себе зарплату 200к выбить и знает овер дофига, выучивает легкий js и сразу получает сколько хочет? )
Если нет, то тогда неясны критерии "завышенности требований" и все такое.

Toha
07.09.2018
17:02:09
или пыху)

Pavel
07.09.2018
17:03:04
Просто эти люди ничего не понимают в программировании, вот и думают что требования в с++ завышеннее чем в js ;(

Pavel
07.09.2018
17:05:20
Потому все роют D, Go etc

Pavel
07.09.2018
17:05:55
Да нед, отнюдь, в D роют далеко не только лишь все, а горстка гиков
В go чуть побольше но тоже немного

Stepanos
07.09.2018
17:11:54
я вот на котлене пописал, и теперь ; ставить напрягает

Pavel
07.09.2018
17:12:17
Тут kotlin-native 0.9 вышел. Покрутить стоит?

Google

Oleg
07.09.2018
17:12:51
тут бета ldc вышла...

Pavel
07.09.2018
17:13:10
Или ждать 1.0?
Беты лдс раз в месяц ходят
Если не чаще

Stepanos
07.09.2018
17:14:14
но оно еще не готово до прода
мне очень понравилить екстеншини в Swift

Alex
07.09.2018
17:14:54

Stepanos
07.09.2018
17:15:29
https://cocoacasts.com/four-clever-uses-of-swift-extensions
моржо разделять интерфейсьі чтоб не получалось кусок говна с кучей оверайдов

Toha
07.09.2018
17:17:35
посоны
а сколько пыхарь должен получать, чтоб перед посонами не стыдно было?
больше 100?
или - 100 предел?

Stepanos
07.09.2018
17:19:36
https://resources.jetbrains.com/storage/products/kotlinconf2017/slides/PacoEstevez_Pragmatic_Functionalism.pdf
в котлине такое тоже будет

Toha
07.09.2018
17:20:38
:D

Stepanos
07.09.2018
17:21:31
не, питон для меня не вариант, сильно на любителя
Go тоже Govno

Toha
07.09.2018
17:21:57
пайтон шикарен

Stepanos
07.09.2018
17:22:10
D/Kotlin/Swift - нормуль, правда последний аннотации не поддерживает пока :(
и с дженериками беда, но там философия немного другая