Как стать автором
Обновить
60
0

Пользователь

Отправить сообщение

Настольная библиотека HDL-дизайнера и верификатора

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.9K

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

Привет, Хабр!

Меня зовут Максим Ратников, я руковожу отделом системной верификации в компании Аквариус. Моя основная задача – убедиться, что все части микросхемы правильно собраны вместе и действительно функционируют так, как должны. Попутно работаю с теми стажерами в нашей компании, которые интересуются разработкой микросхем. Также преподаю в МАИ и рассказываю студентам про маршрут проектирования, элементы и узлы вычислительных машин. 

В процессе работы со студентами и стажерами одним из первых появляется вопрос «А что посоветуете почитать?». Тема большая, интересная и бесконечная, так как сколько людей, столько и мнений. Но со временем у нас с коллегами выработался примерно такой список.

Когда где-либо заходит разговор про учебники по вычислительной технике и современным компьютерам и то, как это все работает, первое что вам скажут, скорее всего, будет классика как она есть – Эндрю Таненбаум «Архитектура ЭВМ». Версия чем свежее, тем лучше. Здоровенный том на 1000+ страниц, местами очень и очень непростой, но позволяет понять, как работает компьютер в целом.

Читать далее
Всего голосов 11: ↑11 и ↓0+16
Комментарии6

Массивы и слайсы в Go — для собеседований

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.4K

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

Здесь собраны несколько базовых вопросов встретившихся в последнюю сессию поисков работы :) вдруг поможет кому-то кто только вникает в язык - а кто-то, может, дополнит или поправит...

Ух, понеслись!
Всего голосов 9: ↑8 и ↓1+12
Комментарии16

Лучшее резюме из тех, что я видел

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров104K

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

Вонючее начало


В момент начала пандемии COVID-19 Дэниелу Синглтери уже осточертела его работа. Работая сантехником в коммерческих и жилых зданиях Атланты, он в свои 11-часовые смены решал самые грязные и вонючие проблемы в стране.

Возьмём для примера день, когда ему позвонили с жалобой на неожиданный запах в торговом комплексе. Дэниел с коллегой отправились на место происшествия. Да, запах присутствовал, в этом не было никакой ошибки. Воняло канализацией, и очень жёстко.

Зайдя с целью разведки в туалеты, Дэниел заметил нечто странное: по низу помещений дул поток воздуха. Отодвинув унитаз, от отшатнулся: в нос ему ударил отвратительно пахнущий ветер. Позже он писал: «Представьте, что мощный насос подаёт вам в лицо канализационный газ». Это не просто необычно, такого просто не должно быть возможно.

Трубы канализации не выдувают воздух. Тем не менее, весь торговый центр превратился в газопровод.
Читать дальше →
Всего голосов 78: ↑59 и ↓19+64
Комментарии95

Техническая поддержка. Как это работает в Яндекс Плюс

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров9.9K

Привет! Меня зовут Данил Глушков, я руководитель технической поддержки Плюса (Яндекс Фантех). В этом посте я расскажу вам о нашей работе. 

Мы занимаемся решением технических вопросов, связанных с использованием сервиса (помощь в использовании функций и возможностей, а также решении технических проблем), в том числе являемся входной точкой для вопросов и запросов в продуктовую разработку.

Для затравки — немного «до» и «после».

Читать далее
Всего голосов 24: ↑17 и ↓7+19
Комментарии13

Дашборд как инструмент взаимодействия с бизнесом

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5.3K

Всем привет! Сегодня поговорим про дашборды — что это за инструмент такой и как с помощью него взаимодействовать с бизнесом.

Меня зовут Дарья Еськова, я аналитик данных в компании билайн. Если быть точнее, то в команде CLTV, лидирую направление автоматизации визуализации данных. Хочу поделиться с вами своим опытом и наработками. 

Поговорим в основном про дашборды с точки зрения бизнеса. Есть технические дашборды, но акцент в посте будет на бизнес-дашбордах — на тех, которые смотрят наши руководители, менеджеры, бизнес-юниты.

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

Например, наш аналитик, я, кто-то из вас может сказать, что наши продажи выросли, и будет здорово, если бизнесу такой информации достаточно. Но зачастую происходит так, что бизнес просит подтвердить эти факты какими-то данными, которым мы доверяем. И вот как раз визуализация — это очень удобный инструмент, это интерфейс доступа к данным.

Читать далее
Всего голосов 14: ↑11 и ↓3+15
Комментарии4

Водные виды спорта как профилактика выгорания

Время на прочтение8 мин
Количество просмотров1.9K

Меня зовут Александр Федюнин, я Product Lead команды интернет-магазина «Спортмастер» 3.0. В свободное время увлекаюсь водными видами спорта: катаюсь на вейкборде и занимаюсь дайвингом. И сегодня я хотел бы поделиться опытом освоения этих видов спорта, курьезными случаями и советами новичкам. 

Как я пришел к своим увлечениям

Можно сказать, что я водяной человек. Первое знакомство с большой водой случилось у меня в возрасте одного года, когда родители привезли на море, в Крым, где жили бабушка с дедушкой. И так со временем я научился сносно плавать. В 10–11 лет пошел в спортивную секцию по плаванию и дошел до первого взрослого разряда. Но в старшей школе карьера пловца застопорилась под влиянием двух факторов: я готовился к институту и мой замечательный тренер переехал в другой город.

Тем не менее в том или ином виде я продолжил искать себя в водной стихии. Пробовал и на банане кататься, и серфингом заниматься. Все еще считаю, что серфинг очень классная штука, с которой можно поймать ощущение полета над водой, особенно когда уже научился контролировать ветер. Но в моем случае это увлечение ни во что не вылилось — я живу в Липецке, и у нас очень мало возможностей заниматься серфингом. 

Потом я решил попробовать вейкборд, но у меня ничего не получилось: я абсолютно ничего не понял, хотя ощущения были интересные. И быстро забросил. 

Читать далее
Всего голосов 18: ↑14 и ↓4+17
Комментарии12

Знакомьтесь, «Незнакомое». Как мы сделали новый режим для Моей волны

Время на прочтение8 мин
Количество просмотров7.3K

Привет! Меня зовут Савва Степурин, я старший разработчик в группе рекомендательных продуктов в Фантехе Яндекса. Сегодня расскажу вам про то, как мы сделали «Незнакомое» для Моей волны — специальный режим для активного поиска музыкальных открытий.

«Незнакомое» позволяет вам получать от Моей волны те треки, которые вы ещё не слушали (возможно, даже не знаете про их существование), но которые с большой долей вероятности могут попасть в ваши музыкальные предпочтения. Если Моя волна в чистом виде — это идеальный баланс между любимыми композициями и чем-то новым, то «Незнакомое» помогает выйти из музыкального информационного пузыря и послушать новые треки. 

Под катом — техническая эволюция «Незнакомого» от фильтра до отдельного продукта, описание новой модели ранжирования и многое другое.

Читать далее
Всего голосов 53: ↑52 и ↓1+67
Комментарии68

Код как данные: пишем Python на Python

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров17K
Идея о том, что язык программирования может реализовать сам себя, удивительна. Она вызывает сильное любопытство: «Как это вообще может выглядеть?» С момента своего появления в начале 60-х это мог делать Lisp.

В начале 60-х Джон Маккарти придумал серию примечательных идей, хорошо сочетающихся друг с другом и актуальных даже спустя десятки лет. Сначала он сформулировал их в статье о Lisp, а чуть позже — в руководстве по Lisp 1.5.


Джон Маккарти

Одной из таких идей стала гомоиконичность — поведение, при котором код и данные взаимозаменяемы. Обычно мы воспринимаем код как последовательность команд, оперирующих с данными. Такое понимание формирует наш взгляд на большинство современных языков программирования. Однако Lisp нарушает этот принцип, обращаясь с кодом и с данными одинаково — это называют его гомоиконичной природой. Эта уникальная характеристика, по сути, размывает границы между оператором (кодом) и операндом (данными).

Такая унификация кода и данных глубоко укоренилась в Lisp, она обеспечивает уровень выразительности, позволяющий языку естественным образом быть выраженным в самом себе.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+27
Комментарии10

Простая красота XOR-сжатия чисел с плавающей запятой

Уровень сложностиСредний
Время на прочтение59 мин
Количество просмотров9K

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

Алгоритм


Алгоритм* прост. Сначала мы записываем первое число с плавающей запятой полностью; для всех последующих чисел выполняется XOR с предыдущим числом, а затем результат кодируется одним из трёх способов.

[*Конкретно эта версия сжатия чисел с плавающей запятой при помощи XOR была впервые описана в «Gorilla: A Fast, Scalable, In-Memory Time Series Database» и часто называется «Gorilla-сжатием».]
Читать дальше →
Всего голосов 23: ↑22 и ↓1+31
Комментарии16

Попытка разогнать сеть для БД со 100 до 200Гб/c или «failure is always an option»

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров11K

У нас есть прекрасно работающая стандартная конфигурация серверов. RAID1 для системных дисков, 2 карты по два 25Гб/с порта под сеть. Итого 100 Гб/с, которые мы научились выжимать в предыдущей заметке про iScsi (https://habr.com/ru/companies/beeline_tech/articles/821855/) под цели СУБД.

В то же время сетевое оборудование, расположенное между сервером и СХД, может значительно больше, чем 100Гб/c, как и СХД. Поэтому захотелось посмотреть, можно ли выжать на стороне сервера 200Гб/c

! Спойлер: Можно, но вы этого не захотите.

Читать далее
Всего голосов 15: ↑13 и ↓2+18
Комментарии4

Как мы попали в Матрицу и начали в ней жить

Время на прочтение3 мин
Количество просмотров2.7K

Привет! На связи Елена Платковская. В SM Lab, которая входит в «Спортмастер», занимаюсь построением и оптимизацией IT-процессов.

Когда я пришла в компанию, не было понимания какими навыками сотрудники именно нашего отдела, на тот момент недавно сформированного, должны обладать. Унифицированный это будет набор или разный для каждого? Что и каким образом важно «подтянуть», а в чем мы бесспорные молодцы? Есть ли необходимость проводить скилл-ревью? Не было понятно, что сделать, чтобы переходить с одного карьерного уровня на другой. А когда пришло время набирать новичков, мы и вовсе споткнулись о разное понимание того, кого ищем. Мысли витали в воздухе, но не были описаны и формализованы.

Читать далее
Всего голосов 12: ↑5 и ↓7+1
Комментарии5

Кто такой куратор и с чем его едят?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

Лирическое отступление. Дорогие читатели, мы продолжаем рассказывать о том, как работать в SM Lab! Ознакомьтесь с нашей предыдущей статьей, чтобы узнать больше о нашей культуре и принципах работы Как QA собеседование проходил. Следите за обновлениями, впереди еще много интересного!

Читать далее
Всего голосов 14: ↑10 и ↓4+10
Комментарии2

Обзор компьютерных игр для детей с ослабленным зрением

Время на прочтение20 мин
Количество просмотров20K

Компьютерные и мобильные игры — это реальность современных подростков. Но все ли дети могут играть в игры? Да, включая и тех, у кого инвалидность по зрению. Сегодня благодаря современным технологиям доступных игр для незрячих людей становится всё больше, а сами игры — разнообразнее.

Для того чтобы сориентироваться в этом многообразии и узнать о существующих жанрах, а также выбрать подходящую игру, мы и составили наш обзор. Стратегии, симуляторы, шутеры и квесты для незрячих, ссылки на сообщества — под катом. Обзор содержит ролики с подробной информацией о том, что представляет собой каждая игра и как в неё играть.

Оценку доступность провели для девяти игр (как российских, так и иностранных разработчиков), наиболее популярных среди незрячих детей и подростков по всему миру.

Отбор игр для обзора мы проводили по нескольким основным критериям, оказывающим важное влияние на развитие навыков у пользователя.

Читать далее
Всего голосов 13: ↑13 и ↓0+20
Комментарии11

Байки с конференций — взгляд с обеих сторон

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров11K

Читали книгу «Вредные советы» Остера? Мне порой кажется, что люди иногда достают ее с верхней полки антресоли, начитываются советов из детства и ностальгируют по максимуму и начинают воплощать эти советы в жизнь. Ну или «пластиковый мир победил», все в угоду маркетингу. Казалось бы, причем тут вредные советы и конференции ,подумали вы?

Для большинства читателей эта статья скорей «Байки по другую сторону организации конфы», курьезы, нюансы прочие забавные ситуации, о которых большинство даже не догадывается. Плюс это привет всем деврелам компаний и организаторам конференций, которые прочитают статью и поймут, что они не одиноки, и надо как-то развенчать эти замкнутые уроборосы проблем. Все максимально обезличено, как всегда, на всякий случай :)

Но на этот раз я буду подмечать косяки обеих сторон — как организаторов, так и партнеров конференций, вдруг вы думали, что партнеры все такие хорошие, а организаторы кругом такие плохие. 

Читать далее
Всего голосов 14: ↑11 и ↓3+11
Комментарии4

Настройка iScsi в L3-сети для эффективной утилизации возможностей канала и СХД

Время на прочтение6 мин
Количество просмотров13K

После тестирования NVME over TCP, описанной тут https://habr.com/ru/companies/beeline_tech/articles/770174/, решили проверить, насколько хорошо iScsi в L3-сети работает по сравнение со специализированным решение на FC.

Настройки iScsi

TL/DR

Машина в Bios переведена на профиль HPC (был пустой).

На уровне OS и iscsid сделаны такие изменения

Читать далее
Всего голосов 12: ↑12 и ↓0+17
Комментарии2

Куда катится MobAIle-разработка

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров14K
Индустрия ИТ всегда была очень динамичной и быстро эволюционирующей. Например, мы в мобильной разработке всегда жили в информационном пространстве с конкурирующими и сменяющими друг друга фреймворками, парадигмами, библиотеками, операционными системами.

В целом, информационное пространство мобильной разработки довольно обособлено. Не выходя из него намеренно, мы редко узнаём про новости из мира backend, web-frontend или ML. При этом со временем тренды приходят из одной области в другую. Как пример — мода на реактивное программирование, завезенная из мира Java и бэкенда, которая постепенно сменяется асинхронным программированием благодаря языку Kotlin, который теперь активно захватывает свою долю в мире бэкенда. Или UDF-архитектуры, которые перетекли к нам из фронтенда, сменив MVP-архитектуру, когда-то перенесённой из бэкенда.

В этом посте я постарался оглянуться вокруг, выделить значимые (на мой взгляд) технологические (и не очень) тренды и понять, как они могут повлиять на работу мобильного разработчика и индустрию в целом; а также, что нам с этим делать и как подготовиться к будущим изменениям.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+21
Комментарии6

Как Apache Arrow поможет управиться JS с большими данными

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.5K

Привет. Меня зовут Николай Шувалов, я занимаюсь коммерческим программированием около семи лет, владею Rust, JavaScript, PHP. Сейчас я работаю в отделе данных билайна. Наша платформа позволяет делиться с партнерами данными, не раскрывая их. Например, можно расширить данные с помощью фильтра Блума. 

Arrow в сравнении со строковыми форматами

Возьмём простую таблицу, которая состоит из трех столбцов: телефона, даты и имени. Рассмотрим, как она будет выглядеть в строковом и столбчатом форматах. Для строкового формата мы возьмем csv и json, для столбчатого формата структура будет одинаковой. Если же таблица состоит, например, из миллиона строк, а нужно получить имя на строке с номером 10 000, то придется бежать по всей строчке. В json то же самое. А в столбчатом формате ситуация иная — значения привязаны к столбцам. Когда мы хотим получить имя на строке 10 000, то сразу обращаемся к этому столбцу и получаем все его данные. 

Существуют RA (random access) файлы, в которых можно пропускать заданное количество строк, но все равно парсеру нужно читать и анализировать пройденные строчки.

Читать далее
Всего голосов 8: ↑8 и ↓0+15
Комментарии2

Как донести видео до зрителя в нужном качестве и ничего не потерять по пути

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров8.2K

Для того чтобы зритель мог видеть на экране ТВ красивую картинку (будь то пущенный в эфире фильм, сериал или вообще клип), исходный видеофайл должен пройти множество проверок на качество. Со стороны кажется, что всё просто: чем больше разрешение, тем лучше, 4К хватит всем и прочее, но на самом деле, критериев оценки очень много.

Если бы каждый видеофайл прогонялся через специального обученного человека, то контент добирался бы до экрана сильно позже (а человек бы добирался до офтальмолога сильно раньше, чем планировал). Поэтому такие проверки отдают на откуп бездушной, но эффективной машине.

В этом посте мы расскажем вам об одном из таких инструментов под названием ORBOX. Что эта система умеет, какие параметры проверяет и зачем вообще это делать, чем отличается от конкурентов — под катом.

Читать далее
Всего голосов 8: ↑7 и ↓1+12
Комментарии5

Оптимизируем параметры запуска приложения Spark. Часть первая

Время на прочтение5 мин
Количество просмотров14K

Привет! Меня зовут Андрей Чучалов, я работаю в билайне, и в этом посте я расскажу про оптимизацию параметров запуска приложений в Spark, поиск проблем и повышение производительности. Разберем запуск приложений Spark в базовой и расширенной версиях, покажу методы расчёта основных параметров работы приложения для производительности и эффективности использования доступных ресурсов кластера. Бонусом — о том, как всё это привязано к деньгам, и где сэкономить можно, а где — не стоит.

Для чего это вообще нужно

Спараметризировать приложение — это не такая уж грандиозная задача, а вот попытаться понять взаимосвязь эффективности работы приложения со стоимостными параметрами такой работы — это уже сложнее. Тут вам пригодится своеобразное «боковое зрение».

В рассказе и на примерах я буду исходить из того, что у нас по умолчанию процесс ETL-обработки данных правильно, с самой программой всё ОК и она корректно спроектирована. И оборудование в составе кластера тоже рабочее и достаточное для запуска приложения. Это позволит говорить именно о влиянии параметров на эффективность.

Читать далее
Всего голосов 14: ↑13 и ↓1+17
Комментарии1

Строим lineage моделей машинного обучения и признаков с помощью OpenMetadata

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K

Привет, Хабр!

Мы в билайне любим машинное обучение. В какой-то момент моделей машинного обучения стало так много, что это вынудило нас решать определенные задачи. Я Дмитрий Ермилов, руковожу ML в дирекции по искусственному интеллекту и цифровым продуктам. О решении одной такой задачи и будет этот рассказ.

Давайте представим, что у вас в компании большое количество моделей машинного обучения, каждая из которой может зависеть от нескольких десятков до нескольких тысяч признаков (фич). Причем разные модели могут зависеть от одних и тех же фич. Неожиданно случается несчастье, и одна из популярных фич ломается. Может произойти поломка на уровне подготовки данных, могут измениться внешние источники, отвалиться интеграции и прочее. Что делать с этим знанием? Конечно, бежать в продуктовые команды и кричать, что модели, которые зависят от этой фичи, могут деградировать, то есть их метрики качества могут снизиться. Вопрос только в том, какие модели могут деградировать и в какие команды бежать?

Напомним, в каких условиях мы анализируем данные и строим модели машинного обучения.

Читать далее
Всего голосов 12: ↑12 и ↓0+15
Комментарии2
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность