Что-то я давно сюда ничего не писал... Отчасти потому, что последний месяц был по уши в работе над серией статей про Computer Networking для самых маленьких (с картинками).
https://iximiuz.com/en/posts/computer-networking-101/
https://iximiuz.com/en/posts/computer-networking-101/
iximiuz Labs
From LAN to VXLAN: Networking Basics for Non-Network Engineers | iximiuz Labs
What is a LAN? What is a network segment? How are L1, L2, and L3 segments related? What does it take to send an IP packet from one host to another? What is the difference between LAN, VLAN, and VXLAN?
TIL: nibble - 4 бита, aka полубайт!
bite - укус
nibble - что-то вроде покусывания
struct bpf_insn {
__u8 code; // <-- байт
__u8 dst_reg:4; // <-- полубайт
__u8 src_reg:4; // <-- еще один полубайт
...
};
bite - укус
nibble - что-то вроде покусывания
struct bpf_insn {
__u8 code; // <-- байт
__u8 dst_reg:4; // <-- полубайт
__u8 src_reg:4; // <-- еще один полубайт
...
};
Коротенько о зарплатах в Европе
Есть один товарищ, ex-разработчик, ex-Microsoft, ex-Uber. Но не из долины, а местный, европейский. У него классный блог про всякие engineering management темы. И, в частности, про зарплаты.
Так вот... На мой взгляд, информацию из недавней статьи этого товарища, которой я с вами сейчас поделюсь, людям лучше узнать как можно ближе к старту их карьеры. Дабы правильно расставлять приоритеты.
Суть простая: есть три лиги tech компаний. Классификация происходит по локализации рынка труда! Локальные компании конкурируют за специалистов (читай разработчиков) в своем городе. И такие локальные специалисты мигрируют из одной такой локальной компании в другую. Региональные компании конкурируют со всеми локальными, а также другими крупными игроками в их регионе/стране. Ну а глобальные готовы перевозить специалистов из других стран/континентов.
Зарплаты в каждой лиге отличаются в разы! Если принять за x1 зарплату разраба в локальной компании, то в региональной она будет x2. А в глобальной - от x3 до x10 и выше.
NB: x1 в Западной Европе это где-то 50-60K EUR в год.
Конечно, требования к специалистам отличаются в разных лигах. И уровень стресса, видимо, тоже. Но не думаю, что прямо в 10 раз... Как человек, прошедший путь от локальной, до около-глобальной компании говорю =) Так что каждый должен решить для себя, в какой лиге ему играть.
https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/
P.S. Полагаю, что в некотором приближении такая модель верна для всего IT рынка труда, включая СНГ.
Есть один товарищ, ex-разработчик, ex-Microsoft, ex-Uber. Но не из долины, а местный, европейский. У него классный блог про всякие engineering management темы. И, в частности, про зарплаты.
Так вот... На мой взгляд, информацию из недавней статьи этого товарища, которой я с вами сейчас поделюсь, людям лучше узнать как можно ближе к старту их карьеры. Дабы правильно расставлять приоритеты.
Суть простая: есть три лиги tech компаний. Классификация происходит по локализации рынка труда! Локальные компании конкурируют за специалистов (читай разработчиков) в своем городе. И такие локальные специалисты мигрируют из одной такой локальной компании в другую. Региональные компании конкурируют со всеми локальными, а также другими крупными игроками в их регионе/стране. Ну а глобальные готовы перевозить специалистов из других стран/континентов.
Зарплаты в каждой лиге отличаются в разы! Если принять за x1 зарплату разраба в локальной компании, то в региональной она будет x2. А в глобальной - от x3 до x10 и выше.
NB: x1 в Западной Европе это где-то 50-60K EUR в год.
Конечно, требования к специалистам отличаются в разных лигах. И уровень стресса, видимо, тоже. Но не думаю, что прямо в 10 раз... Как человек, прошедший путь от локальной, до около-глобальной компании говорю =) Так что каждый должен решить для себя, в какой лиге ему играть.
https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/
P.S. Полагаю, что в некотором приближении такая модель верна для всего IT рынка труда, включая СНГ.
The Pragmatic Engineer
The Trimodal Nature of Software Engineering Salaries in the Netherlands and Europe
This article is part of a 3-part series on trimodal compensation:
* Part 1: The trimodal nature of software engineering salaries in the Netherlands and Europe (2021, this article)
* Part 2: The trimodal nature of tech compensation revisited (2024, this…
* Part 1: The trimodal nature of software engineering salaries in the Netherlands and Europe (2021, this article)
* Part 2: The trimodal nature of tech compensation revisited (2024, this…
Rust увлечен идеей четкого владения данными. Вы начинаете со значения в стеке и перемещаете его. Когда вам нужно получить доступ к значению из нескольких мест, вы его копируете. Если копирование слишком дорого или неуместно, вы начинаете использовать ссылки. Ссылки могут быть ограничены сроком службы. Когда ансамбль времени жизни становится слишком сложным или невозможным для статического выражения, вы начинаете помещать свои значения в кучу и передавать указатели. Наиболее часто используемые типы указателей - это Box <T> и Rc <T>. Сами указатели являются переменными стека и, следовательно, подчиняются одному и тому же принципу владения. Box единолично владеет значением, на которое он указывает, поэтому мутации упрощаются. Rc обеспечивает долевое владение. С точки зрения компилятора, совместное владение означает отсутствие изменений. Если вам нужно изменить общее значение, компилятор вам больше не поможет. Вы отказываетесь от статического доказательства правильности и обманываете компилятор с помощью Rc<RefCell<T>>. RefCell обеспечивает фиктивную неизменяемость во время компиляции и позволяет получать изменяемую ссылку во время выполнения. Но за магию всегда есть цена! (c) Цена RefCell - паника во время выполнения, когда вы случайно получаете две изменяемые ссылки на одно и того же значение.
Мне определенно нравится качество этого перевода. Google Translate rules!
P.S. скоро допишу очередную дилетансткую статью по Rust'у
Какой-то добрый человек перевел одну из моих статей на русский язык. Полагаю, что в этом канале будет уместно поделиться ссылкой.
https://habr.com/ru/company/timeweb/blog/558612/
https://habr.com/ru/company/timeweb/blog/558612/
Хабр
Сеть контейнеров — это не сложно
Работа с контейнерами многим кажется волшебством, пришло время разобраться как работает сеть контейнеров. Мы покажем на примерах, что это совсем не сложно. Помните, что контейнеры - всего лишь...
И еще одна полезная штука для тех, кто много зависает в Grafana (видео)
https://twitter.com/iximiuz/status/1402357757794205699
https://twitter.com/iximiuz/status/1402357757794205699
Twitter
Ivan Velichko
TIL: Grafana's shared crosshair/tooltip feature. When your dashboard has several graphs showing time-series data, it might be quite challenging to correlate a certain timestamp on a graph with the same timestamp on another graph. Especially, when graphs are…
Немножечко пятничной саморефлексии - про прокачку технических скилов
https://twitter.com/iximiuz/status/1403430327226359816?s=21
P.S. Саморефлексия - какое-то странное слово. Попахивает тавтологией.
https://twitter.com/iximiuz/status/1403430327226359816?s=21
P.S. Саморефлексия - какое-то странное слово. Попахивает тавтологией.
Twitter
Ivan Velichko
I've been thinking of it a lot recently and I've come to a realization that there were just two things that improved my tech skills substantially: - preparing for a FAANG interview - starting a tech blog
Новые картиночки про Prometheus - правила матчинга векторов.
https://twitter.com/iximiuz/status/1404118335227375620?s=21
https://twitter.com/iximiuz/status/1404118335227375620?s=21
Twitter
Ivan Velichko
Prometheus vector matching visualized 🧮 This time I was playing with PromQL vector-to-vector operations. At first, they looked simple. But then I learned about vector matching rules. Turns out, they may be quite tricky from time to time. Summarized them for…
Игрек - если задуматься, звучит очень странно. Но я первые 25 лет не задумывался, а потом перестал практиковать математику на русском языке. И вот на 4м десятке мне вдруг довелось узнать, что игрек - это «И греческая», она же Y... Наконец-то это слово обрело для меня смысл!
Похоже, вопросы классификации и этимологии заботят меня больше всего на свете. Поэтому, вот вам два твита про DevOps vs SRE. Лучшее, что я видел по этому поводу since forever.
https://twitter.com/tambryantbutow/status/1405158127369129989
https://twitter.com/tambryantbutow/status/1405158127369129989
Twitter
Tammy Bryant Butow ⚓
My very simplified answer when someone says what is the difference between SRE and DevOps. * SRE = focused primarily on production * DevOps = focused primarily on CI/CD and developer velocity