Pull to refresh

Technotext

Есть ли жизнь на Go после C#?

Reading time13 min
Views31K

Всем привет! На связи Пётр, Go-разработчик в команде Ozon, которая занимается управлением товарами торговой площадки. Всё, что загружают продавцы, обрабатывается нашими сервисами. Девять месяцев назад я сменил основной язык программирования с C# на новый для меня Go. В статье будут впечатления от Go, расскажу о некоторых различиях между языками, а в конце поделюсь своим опытом поиска работы на новом языке. Ведь вопрос смены стека технологий рано или поздно встаёт перед каждым разработчиком.

Читать далее
Total votes 55: ↑45 and ↓10+35
Comments48

Что Go грядущий нам готовит? Разбираем долгожданный релиз 1.19

Reading time8 min
Views18K

Привет всем гоферам! Я пишу на Go уже четыре года — начиная с версии 1.10. Сейчас я занимаюсь разработкой одних из важнейших сервисов в логистике Ozon. 

Не успели мы до конца оправиться от долгожданного релиза Go 1.18 c дженериками, в котором нам предоставили дженерики, как команда Go анонсировала следующий бета-релиз Go 1.19.

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

Навстречу приключениям изменениям!

Подробности под катом
Total votes 58: ↑57 and ↓1+56
Comments5

Один момент: готовим видеоленту без костылей и бубнов

Reading time15 min
Views4K

Всем приветы! Меня зовут Ваня, я медиаинженер и занимаюсь разработкой видеоплатформы в Ozon — в основном бэкендом. В апреле 2022 года мы презентовали сервис Ozon Моменты — ленту коротких видео. Главные фичи, которые мы хотели реализовать:

— скорость отображения контента: видео должно стартовать максимально быстро, а переходы между роликами должны быть максимально бесшовными;

— качество контента: видео должно быть приемлемого качества и хорошо выглядеть;

— размер контента: видеофайл должен быть минимального размера;

— универсальность контента: видео должно воспроизводиться на любом экране, будь то iPhone 69 Pro Max или тостер от Smeg.

Что мы сделали для реализации вот этого всего и на каких дрожжах, читайте под катом.

Под кат
Total votes 40: ↑40 and ↓0+40
Comments5

Как дизайнеры тестируют, или Что такое дизайн-ревью

Reading time9 min
Views21K

Привет! Меня зовут Ксюша, я старший продуктовый дизайнер в Ozon: проектирую разделы возвратов для личных кабинетов покупателя (Ozon.ru) и продавца (Seller Center) и немного — админки. Дизайнеры на Хабре не частые гости, но статья будет полезна не только дизайнерам и дизайн-лидам, но и разработчикам, тестировщикам и менеджерам.

Так сложилось, что я запустила процесс дизайн-ревью в своей команде домена (это вроде команды разработки раздела продукта) одной из первых в Ozon. Я рассказывала об этом на дизайнерских демо и получила огромное количество вопросов от коллег. Оказалось, многие не знали, как внедрить его в своих командах. В статье расскажу, кто и как может внедрить такой процесс и как я провожу ревью.

Посмотреть состояние hover
Total votes 51: ↑51 and ↓0+51
Comments13

Некомпетентные компетенции

Reading time44 min
Views59K

Поводом для написания этой статьи послужил случай, когда сотрудники нашего HR-отдела предложили мне взять в нашу проектную группу Департамента разработки программного обеспечения ЛАНИТ на производственную практику выпускника одного из московских техникумов.  Кандидат обучался четвертый год по специальности «Прикладная информатика» и, судя по резюме, претендовал на должность «стажера-разработчика SQL, С#, HTML, CSS». Он уже прошел предварительные собеседования и, по словам наших кадровиков, показал себя наиболее адекватным из 15 других претендентов. Поскольку у меня это был не первый случай руководства практикой у студентов и предыдущие прецеденты имели положительный результат, я согласился.

Читать далее
Total votes 194: ↑181 and ↓13+168
Comments309

Что такое Linux? Статья-шпаргалка для новичков

Level of difficultyMedium
Reading time14 min
Views70K

Что такое Linux?


Салют! Это статья — попытка систематизировать некие базовые знания об Linux’ах, которая может быть полезна для продвинутых пользователей, разработчиков и админов Windows, которые еще не имели (или имели крайне небольшой и отрывочный) опыт работы с Linux системами и не знают, с чего начать, однако хотят попробовать — сами, или по причине производственной необходимости. Каждый пункт содержит не исчёрпывающие сведения, а лишь отправные пункты для дальнейшего изучения (гуглежа) материала.

Содержание:

  1. Linux Kernel aka Ядро
  2. GNU Core Utilities (coreutils)
  3. Bash — интерпретатор командной строки
  4. Системы управления пакетами и пакетные менеджеры
  5. Init systems — системы инициализации
  6. systemd
  7. Ваш первый вход на сервер
  8. Управляем пользователями
  9. Сети
  10. FHS — Filesystem Hierarchy Standard — навигация в файловых системах Linux
  11. Window system / display server — сервер экранов
  12. Полезные ссылки и список литературы для изучения


Если интересно — прыгайте под кат
one root to rule them all
Total votes 46: ↑39 and ↓7+32
Comments42

Невыжившие в IT

Reading time7 min
Views194K

Этот текст я пишу из лучших побуждений, безо всякой иронии, снобизма и насмешки. Хочу сберечь время и нервы тем, кто поддался на «войти в айти» и прямо сейчас учится сортировать массивы, парсить строки и верит в «да-да, этим ты и будешь заниматься на работе».

Есть такое понятие – ошибка выжившего. Грубо говоря, о явлении, тенденции или событии судят по людям, которые прошли его успешно – выжили. Совершенно игнорируя информацию о тех, кто успеха не достиг. В результате случайная удача интерпретируется как устойчивая вероятность. Если интересна мат.часть – почитайте Нассима Талеба или Даниэля Канемана. Их книги существенно дешевле курсов по ИТ.

Я опишу типичные ошибки тех, кто не выжил. И, соответственно, не вошёл в ИТ. Всё из опыта личных наблюдений.

Да, если «тут всё неправда», «а вот мой друг Коля успешно…» или «а у меня получилось» - прекрасно, текст не про вас и не для вас. Вы и ваш друг Коля – выжившие.

Читать далее
Total votes 362: ↑349 and ↓13+336
Comments445

Продление жизни временных значений в С++: рецепты и подводные камни

Reading time19 min
Views17K

Прочитав эту статью вы узнаете:

1. Способы, которыми можно продлить время жизни временного объекта в С++.

2. Рекомендации и подводные камни этого механизма, с которыми может столкнуться С++ программист, и с которыми сталкивался на работе я.

Информация из статьи может быть полезна как новичкам, так и профессионалам.

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

Чай готов, начинаем погружение
Total votes 41: ↑39 and ↓2+37
Comments11

Цифровая трансформация цементного завода (ч.7): цифровой помощник оператора

Reading time15 min
Views3.8K

Вы часто доверяете своей интуиции и внутренним ощущениям? А как научить систему действовать интуитивно, полагаясь только на неактуальные данные? Об этом и не только, на реальных примерах, далее в статье...

Читать статью >>
Total votes 2: ↑2 and ↓0+2
Comments10

Unity WebGL + React

Reading time12 min
Views12K

Всем привет. Меня зовут Григорий Дядиченко, и я технический продюсер. Сегодня хотелось поговорить про Unity, веб, как его дружить с мобильными телефонами, какие есть удобные трюки и приколы, и причём тут React. Если вам интересна тема веб проектов на Unity, добро пожаловать под кат!

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments15

Создание демки специально для HABR — Часть 1

Reading time16 min
Views7.9K

Многие из нас любят интеллектуальные игры, всякие головоломки, квесты, стратегии и многое другое. Но что, если игрой является само железо, а сценарий создаёте вы сами? В результате этого рождается невероятно интересная головоломка, которая невероятно меня увлекла на несколько месяцев.

Здесь я хочу поделиться «прохождением» этой «игры», под названием Демка для ПЭВМ «Микроша». В процессе чтения статьи может показаться, что всё просто и очевидно. Это всё так, когда есть документация и описание всех подводных камней. Когда каждый подводный камень ищешь сам, то это всё превращается в невероятно сложный квест.
Читать дальше →
Total votes 107: ↑106 and ↓1+105
Comments31

Настройка Linux для инженера-ПТО/инженера-сметчика

Reading time22 min
Views12K
image

Несмотря на то что Linux уже минимум лет 10 как user-friendly операционная система для домохозяек, а для бородатых системных администраторов и того дольше, я не слышал о том что бы кто-либо пытался на базе операционной системы Linux обустроить рабочее место для инженера в строительстве, хотя, казалось бы, для этого есть все предпосылки: экономия на программном обеспечении и выдаваемых для работы персональных компьютеров. Учитывая тот факт, что на законодательном уровне принято решение о прекращении закупок импортного ПО для критической информационной инфраструктуры и набирающие обороты процессы импортозамещения, на мой взгляд, пришло время поговорить о том, как рядовой инженер, скажем инженер-сметчик/инженер-ПТО сможет сам или при помощи коллег Установить и настроить необходимый софт.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments17

Аллегория зрения, или Масштабно о масштабах

Reading time18 min
Views6K

В XVII веке среди художников-живописцев большой популярностью пользовалась идея написания картин внутри картины. Ярким примером служит знаменитая серия полотен-кунсткамер Виллема ван Хахта. Здесь можно найти более сотни действительно существующих произведений, в том числе и знаменитейших шедевров. Любители искусства по сей день спорят о названиях и авторах нескольких картин и скульптур, не прошедших идентификацию.

От настолько кропотливого творения захватывает дух! Только представьте, какого труда и профессионализма требует воспроизведение сотни мировых шедевров в собственной картине. Но с появлением и развитием технологий создавать подобные картинные галереи не составит большой сложности. В САПР, например, это легко можно сделать с помощью видовых экранов – здесь главное не запутаться в масштабах.

Какие именно способы оформления чертежа существуют, как устроена система масштабирования в Платформе nanoCAD, а также где могут быть спрятаны масштабы разных объектов, мы узнаем далее.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments9

Подпись на эллиптических кривых: всё, что нужно знать, чтобы подписать транзакцию в Bitcoin с полного нуля

Reading time18 min
Views26K

Это - полный разбор алгоритма подписи на эллиптических кривых (ECDSA), который является ключевым элементом большинства блокчейнов (типа Bitcoin, Ethereum, ...). С примерами кода и реализацией с полного нуля. Всё сведено к уровню школьной математики, а читать код не обязательно!)

Читать
Total votes 83: ↑83 and ↓0+83
Comments35

Приручаем многопоточность в Node.js (часть 1/5: базовые концепты)

Reading time8 min
Views19K

Продолжаем серию статей, посвященных разным прикладным концептуальным решениям, которые могут существенно "прокачать" производительность вашего Node.js-приложения.

В прошлой статье мы рассмотрели реализацию эффективной очереди на основе "эластичного" кольцевого буфера, а в этой попробуем разобраться с особенностями использования модуля Worker threads в Node.js - какие проблемы внедрения многопоточности будут нас ждать при попытках сделать код более производительным, и узнаем, как их можно обойти, применяя типовые концепты.

Начнем с достаточно типовой задачи: мы получаем некоторые сообщения, и нам их надо как-то обработать. В качестве тестового примера сгенерируем эти сообщения самостоятельно, и посмотрим, за какое минимальное время мы сможем вычислить SHA-256-хэш для каждого из них.

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments5
12 ...
30