172 похожих чатов

А как ВЫ внедряете БД в свой проект? прямо тип в

структуру внедряете? или трейт?

16 ответов

31 просмотр

Шанс того, что в процессе работы над проектом сменится бд - стремится к 0, поэтому мы юзаем хардкод на конкретную базу (хотя у sqlx и выбор не велик, oracle, к сожалению, не поддерживается)

Oleh-Bozhok Автор вопроса
Артем Пятницкий
Шанс того, что в процессе работы над проектом смен...

а что за проект у вас, где используетсяя раст? а не какой ни буть go или java или js

Oleh-Bozhok Автор вопроса
Артем Пятницкий
Банк, нужно быстро и безопасно

а время разработки страдает иногда?

Arseniy Lebedev
Жалко mentat помер

А что это? Не гуглится просто

Oleh Bozhok
а время разработки страдает иногда?

Бывает, но окупается большой гибкостью и бОльшим перформансом. Сам пришел из го, где я страдал из-за нехватки всего. Хотя, конечно, иногда хочется все бросить и накидать простейший код на го, вместо борьбы с компилятором)

Oleh Bozhok
нехватка "всего" это что?)

Отвратная обработка ошибок в виде 3/4 всех строк кода это if err != nil {...} Отсутствие дженериков (самая большая боль), а как следствие всяких удобных option, result, универсальных функций, мьютексов (которые не забудешь) и тд. Отсутствие enum'ов, даже примитивных как в си, вместо этого константы юзаются Отсутствие паттернматчинга Отсутствие макросов (спорно, но растовые мне очень упрощают жизнь) Наличие nil Неявные интерфейсы с отсутствием решения пересечения названий методов Неудобные модули (во всяком случае я начинал до 1.11, сейчас лучше, но все равно привязка к url'у меня бесит) Нет unbound канала, который не буферизированный, но и не блокирующий Громоздкие лямбды Неявный захват по ссылке в лямбдах и возможности отстрелить себе ногу при спауне горутин (можно конечно просто так не делать, но никто не запрещает) Туплы очень простые, не дающие писать удобный однострочный код Нельзя вернуть переменную из {}, приходится создавать переменную блоком выше и не забыть внутри ее везде использовать Отсутствие деструктуров, а следствие неудобный во много defer, который нельзя объявить для скоупа, а не для функции Может что-то ещё, но я уже не помню

Oleh-Bozhok Автор вопроса
Артем Пятницкий
Отвратная обработка ошибок в виде 3/4 всех строк к...

да, нормальный такой список.. у меня уже по ходу проф деформация, я многого просто не замечаю) вот по поводу обработки ошибок мне сейчас пришлось таку от штуку делать match q { Ok(q) => { self.lang_cache.insert(lang.to_string(), q.id); return Ok(q.id); } Err(e) => match e { sqlx::Error::RowNotFound => { let exec_result = sqlx::query!("insert into langs(lang) values($1)", lang) .execute(&self.db) .await; .... } _ => { return Err(Box::new(e)); } }, } как сделать обработку ошибок проще?

Артем Пятницкий
Отвратная обработка ошибок в виде 3/4 всех строк к...

+ с т.з. HPC бесит GC который много кушает и заставляет городить спец. структуры данных с фиксированным числом указателей

Oleh-Bozhok Автор вопроса
Yerden Zhumabekov
+ с т.з. HPC бесит GC который много кушает и заста...

мне не приходилось работать с такой нагрузкой где GC уже напрягает...

Oleh Bozhok
да, нормальный такой список.. у меня уже по ходу п...

Ну как минимум можно убрать одну вложенность матча и написать сразу Err(sqlx::Error::RowNotFound) => {...} other => return Err(Box::new(other))

Oleh Bozhok
да, нормальный такой список.. у меня уже по ходу п...

Плюс я лично мало юзаю функциональный подход для футур, но думаю есть адаптеры для написания чейнов таких, но я не подскажу, мне проще такой явный писать

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта