Pull to refresh
55
0
Костя Д. @godzie

Пользователь

Send message

Не любопытства ради, а как приобрести скил распознавания?

Объекты и маппинг есть, а как насчет relations?

Ну деньги которые способен предложить Яндекс предлагают многие, тоже и о задачах. Так в чем разница? Только в размере?

Спасибо, правда повторить я не смог lldb и gdb (оба cli) отработали нормально

А не могли бы вы показать эти строчки?

Судя по всему - вдохновлено Plan 9 calling convention (с некоторыми изменениями, например в Plan 9 возврат значений осуществлялся через регистры).

В общем типичный go-way, многие части GO прошли или проходят путь от "просто и дубово" до "в принципе как у всех".

Например, реализация каналов (channels) данного крейта более производительная по сравнению с каналами std (по заверению разработчиков) и позволяет иметь несколько записывающих и несколько читающих потоков (multi-producer multi-consumer) в отлиии от std каналов, которые разрешают только один читающий поток (multi-producer single-consumer).

С версии 1.67 каналы из crossbeam завезены в стандартную библиотеку

В x86-64 как раз сегментацию памяти убрали (засунули под ковер), ибо рудимент.

Труд конечно хороший, но это не DDD. Суть ddd - домен отражен в коде. Могу ли я создать пост в блоге без даты создания? Очевидно нет, и это инвариант - если есть пост то и дата создания у него есть. Отражает ли ваш код этот инвариант? Нет не отражает, я спокойно могу написать new Post и он создастся без даты создания. Поэтому одна из главный концепций DDD - сущности и агрегаты отражают бизнес инварианты, каждый вызов метода может перевести систему из одного (валидного) состояния в другое.

Что такое clone это понятно. Вопрос был в том, что значит «Компилятор Раста довольно часто заменяет копирование на перемещение»? Непонятно как эта замена выглядит и в чем ее суть?

Может быть вы имели ввиду клонирование а не копирование?

Потому как перемещение в расте реализовано через memcpy (другими словами через копирование)

Так да, и вывод такой, что при написании перформанс многопотока надо ориентироваться на memory model языка а не архитектуры.

А разве c/c++ memory model не дает абстракцию от конкретной архитектуры?

#[cfg(not(test))]
fn hello() -> &'static str {
    return "Hello world";
}

#[cfg(test)]
fn hello() -> &'static str {
    return "Hello test";
}

#[test]
fn test_hello() {
    assert_eq!(hello(), "Hello test");
}

Великолепно, написали тест который тестирует тестовую реализацию - очень полезно.

Да и в целом, способ из растбука гораздо лучше предложенного - закрываем за cfg(test) целый модуль в котором, при необходимости, пишем моки и тп.

Интересно себя повели языки при работе с базами данных. Мне сложно говорить по какой причине наблюдается настолько огромный отрыв в одном случае, и обратная картина во втором.

В четвертом тесте дело, скорее всего, в cgo. Компилятор GO генерирует значительное кол-во кода вокруг сишных вызовов, в раст zero cost ffi т.к. abi совместимы.

За пятый тест сказать не могу, но там мы с базой общаемся через сокет, так что ситуация кардинально другая.

Спасибо. Пользуясь случаем, Антон расскажите про подкаст, будет ли возобновлен?

Так и не понял что плохого делает разработчик "записи к врачу" (наоборот я считаю что делает он хорошую, полезную вещь), ну да ладно.

Ну как видите тут имеет место быть слой подрядов и, в чем я уверен, субподрядов. Тоесть разрабочик услуг и разработчик ДЭГ могут быть буквально в разных концах света. И при этом первый почему то ответственен за второго, я этого решительно не понимаю и видимо не пойму.

Давайте без политики, я лишь хотел сказать что хаять разработчиков за то что они "работают на государство" в вакуме - не правильно. По сути это грабли себе под ноги.

Information

Rating
Does not participate
Date of birth
Registered
Activity