fn main() {
let a = "x";
println!("1. {:?}", a); // "x"
let b = format!("{}y", a);
println!("2. {:?}", b); // "xy"
}
fn main() {
let mut s = "x".to_string();
println!("1. {}", s); // "x"
s += "y";
println!("2. {}", s); // "xy"
}
или мне в настоящее время стоит относить себя к т. н. «Разработчикам приложений» (по классификации «Хабр Карьеры»)
Нужны ли на рынке труда специалисты с таким стеком за такую зарплату
надо заняться самообразованием, изучая, скажем связку FastAPI + Kafka + Kubernetes?
Cell<T>
has the same memory layout and caveats asUnsafeCell<T>
. In particular, this means thatCell<T>
has the same in-memory representation as its inner type T.
Если bb; убрать, то всё работает, почему так? Никакого перемещения там не происходит, но компилятор думает иначе.
Это точно системный язык на котором можно писать серьёзные вещи?
Или тут и правда происходит некое перемещение в параллельную вселенную?
pub struct HashMap<K, V> {
table: Table<(K, V)>,
}
struct Table<T> {
// битовая маска занятых ячеек в items
mask: u64,
items: Box<[std::mem::MaybeUninit<Item<T>>; 64]>,
len: usize,
}
struct Item<T> {
data: T,
next: Option<std::ptr::NonNull<Item<T>>>,
}
pub enum Entry<'a, K, V> {
Vacant(VacantEntry<'a, K, V>),
Occupied(OccupiedEntry<'a, K, V>),
}
pub struct VacantEntry<'a, K, V> {
hash: u64,
key: K,
table: &'a mut Table<(K, V)>,
}
pub struct OccupiedEntry<'a, K, V> {
elem: Bucket<(K, V)>,
table: &'a mut Table<(K, V)>,
}
// указатель на Item.data
struct Bucket<T> {
ptr: std::ptr::NonNull<T>,
}
impl<K, V> HashMap<K, V> {
pub fn entry<'a>(&'a mut self, key: K) -> Entry<'a, K, V>
where
K: Eq + std::hash::Hash,
{
use std::hash::Hasher as _;
let mut hasher = self.get_hasher();
key.hash(&mut hasher);
let hash = hasher.finish();
if let Some(elem) = self.table.find(hash, |(k, _)| key == *k) {
Entry::Occupied(OccupiedEntry {
elem,
table: &mut self.table,
})
} else {
Entry::Vacant(VacantEntry {
hash,
key,
table: &mut self.table,
})
}
}
fn get_hasher(&self) -> impl std::hash::Hasher {
todo!()
}
}
impl<T> Table<T> {
fn find(&self, hash: u64, is_match: impl FnMut(&T) -> bool) -> Option<Bucket<T>> {
todo!()
}
}
void Visit(Node node) {
for (auto child: node.children()) {
stack.append(child);
// Не так
// if (node.left != nullptr) {
// stack.append(node.left);
// }
// if (node.right != nullptr) {
// stack.append(node.right);
// }
}
use mlua::Lua;
fn main() -> mlua::Result<()> {
let lua = Lua::new();
lua.load(r#"
print("Hello from Lua!")
"#).exec()?;
Ok(())
}
extern "C" {
fn c_function(arg: c_int) -> c_int;
}
fn main() {
unsafe {
c_function(5);
}
}
use libloading::{Library, Symbol};
fn main() {
let lib = Library::new("path_to_library.so").unwrap();
unsafe {
let func: Symbol<unsafe extern fn() -> ()> = lib.get(b"my_function").unwrap();
func();
}
}
2) Есть видеопоток, на котором, например, обнаруживаются автомобильные номерные знаки и отправляется запрос в базу данных для проверки его наличия. В результате возвращается какой-то результат.Обычно делается полная обработка видео до конца, после чего все найденные номера пишутся в базу с метками времени, по необходимости делаются снэпшоты конкретного фрейма и сохраняются отдельно, ссылка на место хранения картинки так же пишется в бд. Далее уже можно делать запросы в бд на сопоставление двух таблиц - имеющегося списка владельцев и распознанных номеров. По необходимости заводится табличка связей, типа найдено юзер.айди / парсед_нумбер.айди для того чтобы не бегать с выборочными запросами по пользователю и т.п...
3) Для этой базы данных я хочу создать WEB с личной учетной записью и реализацией в виде пользователя - администратора...Это базовый функционал любого современного фреймворка, авторизация и роли. Здесь вы никакого функционала по идее не пишете вообще. Только создаете и настраиваете соответствующие роли и права. "создать WEB" в вашем случае логично просто написав АПИ с десятком рутов, далее будет не особо важно будет ли у вас веб страничка или приложение.
1) PostgreSQLЛюбая рбд. Специфичных задач я тут не вижу, подойдет все что можно установить и с чем вы знакомы лучше.
2) Python + Tenserflow и/или что-то в этом роде + psycopg2Опять же, задача чисто прикладная, любые инструменты выполняющие поставленную задачу подойдут. Производительность и качество можно проверить только тестами на конкретных данных.
По п.2, ожидается, что не будет необходимости отслеживать сразу несколько объектов и отправлять несколько параллельных запросов. Однако это не исключено.Это в любом случае будет работа с командной строкой, любой процесс из которой можно запустить отдельным потоком.
3) Python + Flask и связанное с этим, например, Bootstrap и тому подобноеСкорее всего апи на любом фреймворке + какой-нибудь реакт/вью.
4) Android Studio, Kotlin + что-то для работы с БДПо описанию скорее какой-нибудь PWA хватит с головой. Вся работа с бд идет через апи, ничего дополнительного особо придумывать не надо.
Я напоминаю вам, что у меня нет опыта работы с чем-то настолько большим. Спасибо.Слона едят по кускам. Разбейте задачи на понятные подзадачи и решайте все в порядке реализации. Каких-то инновационных фичей я тут не вижу, все строится либо на готовых модулях/приложениях, либо на достаточно примитивной логике, так что задача вполне по силам новичку, хоть и придется поработать.
Изучил основы JavaScript, понял что всякие манипуляции DOM мне не нужны, потому что это не используется больше
Думаю такой, может мне надо выучить React?
Но есть почему-то ощущение что React в чистом виде мне не нужен, чтобы пользоваться Next.js.
Я остановился и понял что я занимаюсь какой-то фигней. Что я хватаю отовсюду понемногу знаний, но они не складываются в общую картинку.
Собственно вопрос: по какому пути лучше пойти, чтобы потихоньку прийти к желаемому?
При этом чтобы не потратить время впустую на изучения вещей, которые абсолютно не нужны.