Всем привет! На связи Пётр, Go-разработчик в команде Ozon, которая занимается управлением товарами торговой площадки. Всё, что загружают продавцы, обрабатывается нашими сервисами. Девять месяцев назад я сменил основной язык программирования с C# на новый для меня Go. В статье будут впечатления от Go, расскажу о некоторых различиях между языками, а в конце поделюсь своим опытом поиска работы на новом языке. Ведь вопрос смены стека технологий рано или поздно встаёт перед каждым разработчиком.
Что Go грядущий нам готовит? Разбираем долгожданный релиз 1.19
Привет всем гоферам! Я пишу на Go уже четыре года — начиная с версии 1.10. Сейчас я занимаюсь разработкой одних из важнейших сервисов в логистике Ozon.
Не успели мы до конца оправиться от долгожданного релиза Go 1.18 c дженериками, в котором нам предоставили дженерики, как команда Go анонсировала следующий бета-релиз Go 1.19.
Несмотря на то что Go 1.19 ещё не выпущен и окончательный вариант, выход которого ожидается в августе, может претерпеть некоторые изменения, разработчики всё же обещают, что больших изменений в языке не произойдёт.
Навстречу приключениям изменениям!
Один момент: готовим видеоленту без костылей и бубнов
Всем приветы! Меня зовут Ваня, я медиаинженер и занимаюсь разработкой видеоплатформы в Ozon — в основном бэкендом. В апреле 2022 года мы презентовали сервис Ozon Моменты — ленту коротких видео. Главные фичи, которые мы хотели реализовать:
— скорость отображения контента: видео должно стартовать максимально быстро, а переходы между роликами должны быть максимально бесшовными;
— качество контента: видео должно быть приемлемого качества и хорошо выглядеть;
— размер контента: видеофайл должен быть минимального размера;
— универсальность контента: видео должно воспроизводиться на любом экране, будь то iPhone 69 Pro Max или тостер от Smeg.
Что мы сделали для реализации вот этого всего и на каких дрожжах, читайте под катом.
Как дизайнеры тестируют, или Что такое дизайн-ревью
Привет! Меня зовут Ксюша, я старший продуктовый дизайнер в Ozon: проектирую разделы возвратов для личных кабинетов покупателя (Ozon.ru) и продавца (Seller Center) и немного — админки. Дизайнеры на Хабре не частые гости, но статья будет полезна не только дизайнерам и дизайн-лидам, но и разработчикам, тестировщикам и менеджерам.
Так сложилось, что я запустила процесс дизайн-ревью в своей команде домена (это вроде команды разработки раздела продукта) одной из первых в Ozon. Я рассказывала об этом на дизайнерских демо и получила огромное количество вопросов от коллег. Оказалось, многие не знали, как внедрить его в своих командах. В статье расскажу, кто и как может внедрить такой процесс и как я провожу ревью.
Некомпетентные компетенции
Поводом для написания этой статьи послужил случай, когда сотрудники нашего HR-отдела предложили мне взять в нашу проектную группу Департамента разработки программного обеспечения ЛАНИТ на производственную практику выпускника одного из московских техникумов. Кандидат обучался четвертый год по специальности «Прикладная информатика» и, судя по резюме, претендовал на должность «стажера-разработчика SQL, С#, HTML, CSS». Он уже прошел предварительные собеседования и, по словам наших кадровиков, показал себя наиболее адекватным из 15 других претендентов. Поскольку у меня это был не первый случай руководства практикой у студентов и предыдущие прецеденты имели положительный результат, я согласился.
Что такое Linux? Статья-шпаргалка для новичков
Что такое Linux?
Салют! Это статья — попытка систематизировать некие базовые знания об Linux’ах, которая может быть полезна для продвинутых пользователей, разработчиков и админов Windows, которые еще не имели (или имели крайне небольшой и отрывочный) опыт работы с Linux системами и не знают, с чего начать, однако хотят попробовать — сами, или по причине производственной необходимости. Каждый пункт содержит не исчёрпывающие сведения, а лишь отправные пункты для дальнейшего изучения (гуглежа) материала.
Содержание:
- Linux Kernel aka Ядро
- GNU Core Utilities (coreutils)
- Bash — интерпретатор командной строки
- Системы управления пакетами и пакетные менеджеры
- Init systems — системы инициализации
- systemd
- Ваш первый вход на сервер
- Управляем пользователями
- Сети
- FHS — Filesystem Hierarchy Standard — навигация в файловых системах Linux
- Window system / display server — сервер экранов
- Полезные ссылки и список литературы для изучения
Если интересно — прыгайте под кат
Невыжившие в IT
Этот текст я пишу из лучших побуждений, безо всякой иронии, снобизма и насмешки. Хочу сберечь время и нервы тем, кто поддался на «войти в айти» и прямо сейчас учится сортировать массивы, парсить строки и верит в «да-да, этим ты и будешь заниматься на работе».
Есть такое понятие – ошибка выжившего. Грубо говоря, о явлении, тенденции или событии судят по людям, которые прошли его успешно – выжили. Совершенно игнорируя информацию о тех, кто успеха не достиг. В результате случайная удача интерпретируется как устойчивая вероятность. Если интересна мат.часть – почитайте Нассима Талеба или Даниэля Канемана. Их книги существенно дешевле курсов по ИТ.
Я опишу типичные ошибки тех, кто не выжил. И, соответственно, не вошёл в ИТ. Всё из опыта личных наблюдений.
Да, если «тут всё неправда», «а вот мой друг Коля успешно…» или «а у меня получилось» - прекрасно, текст не про вас и не для вас. Вы и ваш друг Коля – выжившие.
Продление жизни временных значений в С++: рецепты и подводные камни
Прочитав эту статью вы узнаете:
1. Способы, которыми можно продлить время жизни временного объекта в С++.
2. Рекомендации и подводные камни этого механизма, с которыми может столкнуться С++ программист, и с которыми сталкивался на работе я.
Информация из статьи может быть полезна как новичкам, так и профессионалам.
Если заинтересовало, то самое время налить чая, и погнали разбираться где тут референсы висят.
Цифровая трансформация цементного завода (ч.7): цифровой помощник оператора
Вы часто доверяете своей интуиции и внутренним ощущениям? А как научить систему действовать интуитивно, полагаясь только на неактуальные данные? Об этом и не только, на реальных примерах, далее в статье...
Unity WebGL + React
Всем привет. Меня зовут Григорий Дядиченко, и я технический продюсер. Сегодня хотелось поговорить про Unity, веб, как его дружить с мобильными телефонами, какие есть удобные трюки и приколы, и причём тут React. Если вам интересна тема веб проектов на Unity, добро пожаловать под кат!
Создание демки специально для HABR — Часть 1
Многие из нас любят интеллектуальные игры, всякие головоломки, квесты, стратегии и многое другое. Но что, если игрой является само железо, а сценарий создаёте вы сами? В результате этого рождается невероятно интересная головоломка, которая невероятно меня увлекла на несколько месяцев.
Здесь я хочу поделиться «прохождением» этой «игры», под названием Демка для ПЭВМ «Микроша». В процессе чтения статьи может показаться, что всё просто и очевидно. Это всё так, когда есть документация и описание всех подводных камней. Когда каждый подводный камень ищешь сам, то это всё превращается в невероятно сложный квест.
Настройка Linux для инженера-ПТО/инженера-сметчика
Несмотря на то что Linux уже минимум лет 10 как user-friendly операционная система для домохозяек, а для бородатых системных администраторов и того дольше, я не слышал о том что бы кто-либо пытался на базе операционной системы Linux обустроить рабочее место для инженера в строительстве, хотя, казалось бы, для этого есть все предпосылки: экономия на программном обеспечении и выдаваемых для работы персональных компьютеров. Учитывая тот факт, что на законодательном уровне принято решение о прекращении закупок импортного ПО для критической информационной инфраструктуры и набирающие обороты процессы импортозамещения, на мой взгляд, пришло время поговорить о том, как рядовой инженер, скажем инженер-сметчик/инженер-ПТО сможет сам или при помощи коллег Установить и настроить необходимый софт.
Аллегория зрения, или Масштабно о масштабах
В XVII веке среди художников-живописцев большой популярностью пользовалась идея написания картин внутри картины. Ярким примером служит знаменитая серия полотен-кунсткамер Виллема ван Хахта. Здесь можно найти более сотни действительно существующих произведений, в том числе и знаменитейших шедевров. Любители искусства по сей день спорят о названиях и авторах нескольких картин и скульптур, не прошедших идентификацию.
От настолько кропотливого творения захватывает дух! Только представьте, какого труда и профессионализма требует воспроизведение сотни мировых шедевров в собственной картине. Но с появлением и развитием технологий создавать подобные картинные галереи не составит большой сложности. В САПР, например, это легко можно сделать с помощью видовых экранов – здесь главное не запутаться в масштабах.
Какие именно способы оформления чертежа существуют, как устроена система масштабирования в Платформе nanoCAD, а также где могут быть спрятаны масштабы разных объектов, мы узнаем далее.
Подпись на эллиптических кривых: всё, что нужно знать, чтобы подписать транзакцию в Bitcoin с полного нуля
Это - полный разбор алгоритма подписи на эллиптических кривых (ECDSA), который является ключевым элементом большинства блокчейнов (типа Bitcoin, Ethereum, ...). С примерами кода и реализацией с полного нуля. Всё сведено к уровню школьной математики, а читать код не обязательно!)
Приручаем многопоточность в Node.js (часть 1/5: базовые концепты)
Продолжаем серию статей, посвященных разным прикладным концептуальным решениям, которые могут существенно "прокачать" производительность вашего Node.js-приложения.
В прошлой статье мы рассмотрели реализацию эффективной очереди на основе "эластичного" кольцевого буфера, а в этой попробуем разобраться с особенностями использования модуля Worker threads в Node.js - какие проблемы внедрения многопоточности будут нас ждать при попытках сделать код более производительным, и узнаем, как их можно обойти, применяя типовые концепты.
Начнем с достаточно типовой задачи: мы получаем некоторые сообщения, и нам их надо как-то обработать. В качестве тестового примера сгенерируем эти сообщения самостоятельно, и посмотрим, за какое минимальное время мы сможем вычислить SHA-256-хэш для каждого из них.