All streams
Search
Write a publication
Pull to refresh
88
0
Александр Мещеряков @freecoder_xx

Rust разработчик

Send message

Существующая система организации совместной разработки подобного масштаба — далека от идеала, в ней полно холостых срабатываний, темных и пыльных углов, различных потерь эффективности и прочего. Тут есть простор для совершенствования :)


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

Но ведь и в коде с отделением первого элемента тоже можно запросто ошибиться. В каких-то случаях это да, защищает, но в других — наоборот, усложняет реализацию функционала и дает больше поводов для ошибок.

А почему не может быть квантора всеобщности?

Я думаю что стоит, и обычно так и делаю. Благо в Rust это можно сделать бесплатно.

А кто-то помешает в head положить последний элемент, вместо первого? Как по мне, что "псевдо-парсер", что "парсер" — в сущности работают одинаково и без зав. типов дают одинаковые гарантии.

Спасибо, давно пользуюсь подобными штуками в Расте. Правда NonEmptyVec можно реализовать и проще, скажем так:


pub struct NonEmptyVec<T>(Vec<T>);

impl<T> NonEmptyVec<T> {
    pub fn head(&self) -> &T {
        unsafe { self.0.get_unchecked(0) }
    }
}

impl<T> TryFrom<Vec<T>> for NonEmptyVec<T> {
    type Error = &'static str;

    fn try_from(vec: Vec<T>) -> Result<Self, Self::Error> {
        if vec.is_empty() {
            Err("NonEmptyVec only accepts non empty vec!")
        } else {
            Ok(NonEmptyVec(vec))
        }
    }
}

Запустить


Достаточно сделать проверку при конструировании объекта нового типа и никакого отделения "головы" от "хвоста" не нужно, если интерфейс не имеет публичных методов для удаления элементов из исходного массива.

Большинство современных промышленных языков — мультипарадигменные, поэтому изучать программирование нужно не на одном языке, а сразу на нескольких, в которых в начальном и наиболее чистом виде представлена та или иная современная парадигма.

Чтобы знать некоторые языки необходимо-таки иметь мозги.

Я думаю пункты 3 и 5 должны быть на самом верху. Я долгое время работал Java и PHP разработчиком, но заинтересовался Rust'ом (когда-то давно у меня был и плюсовый опыт). Года полтора я просто изучал язык, писал на нем хобби-проекты в свободное время, старался активно участвовать в сообществе. Главными тут были — интерес к самому языку, вера в его перспективность и понимание того, зачем он нужен мне в моих личных проектах. Со временем стал неплохо разбираться в нем, и устроиться на работу не составило большого труда. Сейчас работаю Rust-разработчиком и в общем-то всем доволен. Хотя моя зарплата слегка уменьшилась с переходом на Rust, но она все равно осталась выше приведенных тут медианных значений и я получил возможность больше времени уделять тому, что мне нравится.

Найдите (или создайте) сообщество по интересам в своем городе. Часто это делается проще, чем кажется. И толку от него будет больше, чем от "разговоров за кулером".

Ну, работа — это же не только кодирование. Иногда я могу полчаса только обдумывать, как лучше решить сложную задачу, или набрасывать что-то карандашом на листке.

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

Отличное решение! Мне в начале моей "удаленной карьеры" тоже сильно помог учет времени — только нужна возможность перемотки часов назад, потому что иногда бывает, что замечаешь, как уже минут 20 залип на Хабре вместо работы ) Я использовал обычные часы в компьютере и текстовый файлик для записей потраченного времени с точностью до 6 минут, а потом написал утилиту для учета.

Концовка первого сезона откровенно разочаровала. Такой замес был осуществлен, фактически — революция, или полное разрушение старого мира как минимум… Но нам не показали, к чему это привело. Вместо этого наше внимание резко переключили на душевную болезнь Эллиота, оставив за кадром весь остальной мир и то дело, ради которого все затевалось. Не знаю, может во втором сезоне эта тема была раскрыта, но я его смотреть не стал после такого разочарования, когда чувствуешь себя обманутым.

Вот да, похоже на то. Казалось бы, фильм претендует на достоверность по IT-части, но при этом использует подобные стереотипы..


Мне вот интересно, молодые люди, которые захотят стать "такими же крутыми, как Эллиот", что они скорее сделают — начнуть изучать программирование/ковыряться в linux'ах, или замкнутся в себе и станут принимать наркотики?

Мне было странно смотреть на человека — супер-инженера кибербезопасности, гениального хакера, который принимает наркотики. Это только в моем представлении это совершенно несовместимые вещи?

fsociety («Нахрен Общество»)

А в оригинале где-нибудь явно говорится, что f — это fuck, а не, скажем, free?

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity