- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
#include <experimental/coroutine>
#include <iostream>
#include <optional>
#include <utility>
template<typename T>
class Maybe
{
std::shared_ptr<std::optional<T>> m_maybe = std::make_shared<std::optional<T>>();
public:
Maybe() = default;
Maybe(const T& t)
: m_maybe { std::make_shared<std::optional<T>>(t) }
{
}
explicit operator bool() const { return static_cast<bool>(*m_maybe); }
T& operator* () { return **m_maybe; }
const T& operator*() const { return **m_maybe; }
void reset() { m_maybe->reset(); }
template<typename U>
void emplace(U&& u) { m_maybe->emplace(std::forward<U>(u)); }
};
template<typename T>
void printMaybe(const Maybe<T>& opt)
{
if (opt)
std::cout << *opt << std::endl;
else
std::cout << "<empty>" << std::endl;
}
template<typename T, typename... Args>
struct std::experimental::coroutine_traits<Maybe<T>, Args...>
{
struct promise_type
{
Maybe<T> m_maybe;
auto get_return_object() { return m_maybe; }
std::experimental::suspend_never initial_suspend() { return {}; }
std::experimental::suspend_never final_suspend() { return {}; }
void unhandled_exception() { m_maybe.reset(); }
template<typename U>
void return_value(U&& u) { m_maybe.emplace(std::forward<U>(u)); }
};
};
template<typename T>
auto operator co_await(const Maybe<T>& maybe)
{
struct Awaiter
{
const Maybe<T>& input;
bool await_ready() { return static_cast<bool>(input); }
auto await_resume() { return *input; }
void await_suspend(std::experimental::coroutine_handle<> coro) { coro.destroy(); }
};
return Awaiter { maybe };
}
Maybe<int> maybeAdd(const Maybe<int>& maybeA, const Maybe<int>& maybeB)
{
auto a = co_await maybeA;
auto b = co_await maybeB;
co_return a + b;
}
int main()
{
/*
printMaybe(maybeAdd({ 1 }, { 2 }));
printMaybe(maybeAdd({}, { 2 }));
printMaybe(maybeAdd({ 1 }, {}));
*/
const auto res = maybeAdd({ 1 }, { 2 });
return res ? *res : 0;
}
Разве так бывает? Может, он изначально не хотел программить?
Можно мечтать программировать, но в жизни - программировать. И вот ты программируешь, программируешь, программируешь. Вроде бы тебе это нравится, вроде бы это то, что ты хотел делать, и ты делаешь то, что хотел, но всё же ты программируешь, а не программируешь. Через десять лет понимаешь, что это фигня какая-то. Ты хочешь программировать, но мир к этому пока не готов.
Можно мечтать попробовать все интересные задачи в интересующей области. И вот ты собираешь все известные парадигмы, пробуешь все известные задачи и доходишь до конца. Может быть, это не конец вселенной программирования, но точно конец твоей маленькой планеты счастья. Ты сделал всё, что хотел и уходишь на покой.
Может, в школе человеку жутко нравились Pascal и Маша, в институте - C++ и Таня, на первой работе твои мысли по ночам были про Haskell и Алину, а потом пришло осознание, что всё было не так, как надо, и надо думать о работе барбершопе и сладеньком Эльдаре. Но до этого программировать жутко-прежутко нравилось.
программирование - проституция
А программирование - то, что предложили человеку извне.
Блин! На свете есть не только писание бойлерплейта на галерах, есть еще и интересные задачи
Даешь кроссязык, "где все отображается одинаково"
Она лечится сменой работы, языка и предметной области.
Вжжух -- и ты снова ньюфаг, и вокруг тебя мир цветет и пахнет, словно тебе 14 лет и ты впервые написал "угадай число" на паскале
И тебе 40 лет, одноклассники - большие боссы и уважаемые люди, а ты у недавнего выпускника на посылках.
Думаю, ньюфагом можно побыть, когда ты сам в жизни ещё ньюфаг. С возрастом приходит желание оставить при себе статус; способность выкинуть всё отмирает. Ну или надо быть дико творческим, смелым и молодым в душе человеком, уважающим себя, чтобы твёрдо сказать себе, что твой опыт - говно, и надо всё менять.
Плюсану. Только я ещё и город сменил.
З.Ы. Боюсь, что на второй подобный прыжок веры меня уже не хватит...
На самом деле каждый новый прыжок дается легче, потому что, по правде говоря, ты же не совсем нуб.
Ну вот если бросить тебя в чужую область (ну там 1С или клиент сайд веба) ты же не будешь там "совсем нубом"
Не, я про переезд в нск пару лет назад.
В общем-то этот ваш муравейник москва после него не особо впечатляет. Разве что центр красивый да метро почаще ходит.
> из более глубокой жопы
Глубже только деревни.
В других странах, думаю, было бы гораздо сложнее.
Наверно, те шведы, с которыми ты работаешь? Или кассирши в суперах тоже?
И о чём с ними говорить? Молча вытряхнул покупки на кассу, расплатился карточкой да пошёл домой. В этом и профит супермаркета (по крайней мере для меня).
Вот. У нас все официальные документы на немецком. У нас есть люди, которые прожили 7 лет без знания языка, но тогда, кмк, живёшь в "пузыре".
Заказать хавку на немецком в горной кафешке, к которой ты поднимался два часа и где никто не говорит по английски – бесценно.
Квартиры без дефолтной мебели сдают?
А чего вам в стране не сидится? То, что вы можете себе позволить у себя на зарплату фрилансера на удаленке (например, содержать суку с детьми), там... ну может и сможете, но уже будете на уровне средней зарплаты по стране.
Не, просто сменить обстановку и пару-тройку лет где-нибудь пожить ради интереса.
> что в переезде в другой город такого пиздецового
Где я это писал?
Просто лениво поднимать жопу с дивана когда вокруг всё знакомое и привычное, а надо ехать куда-то в неизвестность. Подсознание цепляется за любые отмазки лишь бы не менять обстановку. Это и было основной проблемой.
А в остальном — впечатления только положительные.
Если нужны рекомендации в Г – пиши мне на почту.
«Сидит на Гк», да это же лучшая рекомендация!Люди тут по пять-дждесять лет сидят. Все как родные. В нынешние времена не у всех брак столько длится.
- Как раз такого сотрудника мы и искали!
Можно подумать, у нас мало одиноких любителей аниме или заядлых геймеров. Это не главное.
Ну а если конторе важен "облик примерного человека", может ну её нафиг? Эти клоуны шорты запрещают, на формальную питушню напирают.
С другой стороны тот, кто играет в кружочки и живёт с подушкой, более надёжен. Денег ему одному должно хватать, отпрашиваться из-за болезни жены и детей не будет, в свободное время будет высыпаться, в целом будет более спокойным. Конечно, работать ради работы не будет, но в нормальных условиях будет эффективным.
Ты сейчас точно про геймера-анимешника?
...но соседями геймера-анимешника могут оказаться семейные поганцы.
Говорят, что денежная мотивация — одна из самых простых и дешёвых.
А вот человек, который "работает ради работы" может обойтись намного дороже — для него придётся выбирать интересные задачи, а потом он просто возьмёт и съебётся прямо перед дедлайном. Ибо осталось только доделать пару мелких штрихов и дофиксить баги.
Если ты делаешь что-то инновационное, или хотя бы просто коробочное то конечно тебе нужны люди, которым _интересно_ и переманить такого человека чистым увеличением ЗП будет сложно (ну конечно если ты не умножишь её на 10).
А если ты скучный аутсорсер, и тебе нужны галерщики чтобы ковырять палочкой легаси говно на пятой джаве, и писать CRUD запросы и бойлерплейт, то кроме денег и соцпакета у тебя аргуметнов нет.
То всё равно 90% ты будешь думать, как обрабатывать ошибки, чинить баги, отлаживать код и пилить инфраструктуру.
Я лично отбираю у детей куки не менее 3 раз в день
> Про борманда я могу рассказать больше,
имеется ввиду `~/.erlang.cookie` ?
https://github.com/MicrosoftDocs/cpp-docs/blob/main/docs/c-runtime-library/reference/security-init-cookie.md
https://en.wikipedia.org/wiki/SYN_cookies
В одном треде бьются на мечах, в соседнем жмут руки и вместе смотрят сериал с попкорном.
Это ты больше ничего не знаешь. Про борманда я могу рассказать больше, чем про большинство своих коллег.
Мне помогает то, что у меня изначально не было любви к ремеслу. ¯\_(ツ)_/¯ Для меня программирование -- приносящая деньги прокрастинация по отношению к действительно интересным вещам.
Но вообще 90% кода вокруг меня не айс. Хотя 90% чего угодно вокруг меня не айс
http://2k.livejournal.com/520078.html