
Александр Крылов, DevOps-инженер, поделился своим опытом и личным взглядом на профессию. Он рассказал, чем девопсы отличаются друг от друга и что нужно включить в индивидуальный график обучения, чтобы стать одним из них.
User
Александр Крылов, DevOps-инженер, поделился своим опытом и личным взглядом на профессию. Он рассказал, чем девопсы отличаются друг от друга и что нужно включить в индивидуальный график обучения, чтобы стать одним из них.
Индийские ученые показали снимок места посадки Apollo 11 на Луне, где видна нижняя ступень лунного модуля. Сейчас у индийцев самая «дальнобойная» камера на орбите Луны, установленная на автоматической межпланетной станции Chandrayaan 2. Аппарат продолжает успешную работу, поэтому снимков может быть больше.
Как Unicode уничтожает большинство ваших предположений о том, как на самом деле работают строки
Когда речь идет о написании чего-то простого, мы, программисты, обычно действуем интуитивно. В случае с простыми вещами мы полагаемся на четкий набор предположений вместо конкретных знаний о том, как эти вещи работают. Например, мы предполагаем, что если b = a + 1
, то b
больше a
, или что если мы применим функцию malloc
для какого-то буфера, то получим необходимое количество памяти для записи. Мы не заглядываем в документацию всякий раз, когда имеем дело с мелочами.
Мы делаем так, потому что тотальная проверка замедлит работу. Однако если бы мы все-таки провели проверку, мы бы обнаружили, что обычно ошибаемся в своих предположениях. Существует арифметическое переполнение, в результате которого a + 1
может быть значительно меньше, чем a
. Иногда malloc
дает нам null
вместо буфера и мы оказываемся в пролете.
Нам обычно приходится обжечься на таких вещах, чтобы хотя бы немного изменить свои предположения. И даже тогда мы обычно исправляем их весьма условно.
Столкнувшись с досадной ошибкой переполнения, мы можем скорректировать свое предположение о целых числах в виде «a + 1
больше a
, если отсутствует вероятность, при которой a
представляет собой очень большое число». И мы действуем исходя из этого, вместо того, чтобы обдумать четкие правила, по которым работает переполнение.
Уточненные предположения – это опыт. Чаще всего они позволяют нам работать быстрее и правильнее. Однако мы можем вообще переместить некоторые вещи, например, правильную обработку malloc
, из нашей внутренней категории «простые вещи» во внутреннюю категорию «сложные вещи». И тогда мы действительно можем пойти и уточнить, как они работают.
Живу в подмосковье, являюсь абонентом проводного интернета от Ростелеком. Понадобился мне статический IP. В личном кабинете на сайте "lk.rt.ru" такой услуги не нашел. Гугл выдает ссылку на подключение данной услуги на сайте "my.rt.ru". Я не придал этому значения, перешел по ссылке, меня попросили авторизоваться, что я и сделал, используя аутентификацию Ростелекома (кнопка выделена красным на скриншоте).
Закройте глаза и представьте себя в цехах большого завода. Пусть это будет производство вакцин в ампулах. А вы, как и еще 70 человек, заняты тем, что целыми днями просматриваете ампулы, чтобы отобрать дефектные. И так весь день… Сколько ампул с малейшими отклонениями от нормы вы бы не заметили? Задачу усложняет то, что дефектом считается не только неправильная запайка, но и едва заметная точка на дне ампулы. Можете ли вы быть на 100% уверены, что не пропустили ни одного дефекта? А ведь вас еще будут выборочно перепроверять.
Устают глаза, притупляется внимание.
А что если сортировать ампулы будет рука робота? Эксперты компании НОРБИТ (входит в группу ЛАНИТ) на примере кейса “Разработка системы Computer Vision моделей для фармацевтического завода” расскажут, как им удалось автоматизировать типовой рутинный процесс, и к чему это привело.
Где найти персональные данные детей и их родителей? Узнать школу и кружки в которых учатся и занимаются дети, а самое главное, что для этого нужно?
Это часть серии публикаций в блоге, посвященных различным факторам проектирования микросервисов. Здесь приведены ссылки на более подробное рассмотрение отдельных тем, представленных в данном посте.
Мало кто из литераторов, да что там литераторов – даже нашего брата-историка, смог избежать описания драматической картины: король Пруссии Фридрих-Вильгельм III, кутаясь в плащ, наблюдает, как на на плоту, установленном на середине реки Мемель, в шатре беседуют два императора – Наполеон Бонапарт и Александр I, обсуждая новые контуры Европы. Среди вопросов, которые обсуждали два этих очень непохожих друг на друга человека, был и вопрос Пруссии: быть или не быть этому государству, быть или не быть династии Гогенцоллернов.
Мнение самого короля Пруссии никому не было ни важным, ни интересным, все должно быть решено без него.
Этот эпизод вовсе не стал концом унижений прусского короля: через несколько дней Наполеон затребует на личную встречу его жену, красавицу и умницу Луизу. Она, так и не оправившись от тяжелейшего воспаления легких, которое подхватила, спасаясь вместе с детьми от наполеоновских войн во время бегства через Куршскую косу, практически непреодолимую зимой, примчится в стан узурпатора, в слабой надежде хоть как-то повлиять на его решения относительно Пруссии.
Исследователи Google из команды Brain Team поделились своими достижениями в области масштабирования изображений.
Результаты, мягко говоря, поражают...
Ой, а напомни как называют очень опытного программиста, там что-то такое романтично-средневековое, кажется «милорд»...
Почти три года назад на Хабре вышла статья «Фулстеки — это вечные мидлы. Не идите по этому пути, если не хотите страдать». Я еще тогда был не согласен с изложенным, но сдержался:) Однако недавно я стал свидетелем весьма примечательного случая и сразу вспомнилась та самая статья... Итак, одна команда испытывала нехватку бекенд-разработчиков и сравнительный переизбыток раработчиков на фронте. Дело осложнялось сжатыми сроками сдачи проекта. Проблема типовая, но стек..., ах если бы не стек: бек — NodeJs, фронт — React, TypeScript и там и там.
Я не хочу отрицать важность специализации вообще, но в данном конкретном случае ответ очевиден: нужно перебросить кого-то с фронта на бек. Да, это будет неэффективно, да скорее всего в бекенд-коде, который напишет фронтендер будет больше проблем, но альтернатива то еще хуже: часть команды будет зашиваться, пока другая — простаивать. Если вы дочитали до этого места и уже готовитесь написать гневный комментарий о том, что «бекенды же бывают разные и в том числе такие сложные, что ваще капец и такой финт ушами не пройдет и только всех замедлит и сделает еще хуже», то не спешите не сдерживайтесь, пишите прямо сейчас (больше мнений в комментах!). Так вот, это был простой бекенд пишущий и читающий в/из базы данных. Никаких особенно сложных штучек-дрючек там не было...
Может быть я старомоден, но сегодняшняя специализация порой видится мне чрезмерной. Раньше все было как-то проще: ты либо умеешь программировать, либо нет. А сейчас все кругом ищут кибер-ниндзю с опытом работы исключительно на фреймворке X не менее пяти лет (хотя фреймворк X существует четыре года). Если ты работал с фреймворком X всего три года, то с тобой не о чем разговаривать: ты — джун. Ага, т.е. известному английскому банку не впадлу нанимать на Java-проект кандидата с десятилетним опытом на .NET’е, потому что они считают, что важны фундаментальные знания, а не знания конкретной платформы (ну напорется он пару раз на стирающиеся дженерики и сравнение строк через ==, почешет репу и перестанет так делать), а ООО «Рога и Копыта Интернейшнл» может работать только с теми, кто пять лет ковырял фреймворк Х. По-моему это фигня. Кстати, тот парень в банке, что перешел с .NET'а на Java сейчас там числится синьором и находит горы проблем в мердж-реквестах разработчиков, пишущих на Java значительно дольше него.
Привет, Хабр! В моей голове долгое время скребётся тараканом идея рассказать вам про пару лайфхаков, которые я использовал когда-то или продолжаю использовать до сих пор. Нашёл свободную минутку и предлагаю вашему вниманию 20 килознаков — надеюсь, что-нибудь пригодится и вам.
Декабрь 2020, вторая волна Ковида в разгаре. Я ПМ на удаленке в Американской компании. После похорон отца в Тбилиси я находился в прострации, надо было возвращаться в США и как-то менять своё положение, ведь денег, которых я зарабатывал явно не хватало на нормальную жизнь. Сами воспоминания о моём предыдущем поиске вызывали во мне холодный озноб и какой-то внутренний голос тихо шептал «подожди, сейчас пандемия, многие и о таком мечтают, как-нибудь выкрутишься…».
Каждый день я пытался убить в себе ссыкуна, и убеждал что кризис — это всегда новые возможности, но на следующий день, он все равно приползал обратно и скулил знакомые до тошноты фразы.
Я зарегистрировал себе американский номер в Google Voice, чтобы мне начали звонить рекрутеры и начал рассылать резюме. Я разослал около сотни адаптированных резюме и указал в LinkedIn что активно ищу работу. Постепенно на меня начали выходить рекрутеры небольших компаний, но я понимал, что в них условия будут в лучшем случае на 40% лучше текущей и это все равно не решало моих проблем. Хоть и казалось, что на LinkedIn висят тысячи позиций, однако основных работодателей я этим исчерпал. Подавался я в основном на Sr. Project Manager или Engineering Manager позиции.
Осознание пришло, когда я стал читать teamblind.com – лучший ресурс в США по анализу рынка в ИТ и levels.fyi где можно посмотреть реальные зарплаты. Раньше я читал Glassdoor, но информация на нем устарела.
Оказалось, что в финансовой сфере в США, которая мне была интересна - плохие условия и токсичная культура, тоже самое в консалтинге кроме компаний из Big4 или MBB где надо работать долгие часы, но возможно получать 1+ миллион долларов в год дослужившись до партнёра. Самыми интересными оказались компании, которые называют FAANG (Fb, Apple, Amazon, Netflix, Google) иногда в место этого списка используют FAANGMULA справедливо добавляя туда Microsoft, Uber, Lyft и Airbnb – все они технологические, инновационные компании не просто создающие бизнес-продукты, но и технологии, которыми пользуются весь мир. Компании, создающие де-факто стандарты разработки цифровых продуктов, инвестирующие в научные исследования, создающие легендарные условия для своих сотрудников, чем привлекают умнейших инженеров и ученных со всего мира.
Если вы каким-либо образом связаны с Machine Learning в production-среде, вам важно понимать, что представляет из себя практика MLOps. Для людей с опытом разработки ПО самый простой способ понять, что такое MLOps — провести параллель между ним и DevOps. Данное руководство поможет вам понять суть обоих терминов, а также их сходства и различия.