Как стать автором
Обновить
22
0.7

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

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

Go optimizations in VictoriaMetrics. Александр Валялкин

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

Предлагаю ознакомиться с расшифровкой доклада конца 2019 года Александра Валялкина "Go optimizations in VictoriaMetrics"


VictoriaMetrics — быстрая и масштабируемая СУБД для хранения и обработки данных в форме временного ряда (запись образует время и набор соответствующих этому времени значений, например, полученных через периодический опрос состояния датчиков или сбор метрик).


Всего голосов 18: ↑17 и ↓1+20
Комментарии6

Alfa Battle — как это было, запись конференции и список задач

Время на прочтение24 мин
Количество просмотров3.1K
В начале июня мы запустили Alfa Battle для Java-разработчиков. Пришло время рассказать о том, как все прошло, поделиться полезными видео от спикеров стрим-конференции «Кодинг будущего» (Альфа-Банк, Билайн, X5 Retail Group) и показать наши задачи.



К слову, о задачах. То ли мы перестарались и переоценили возможных участников, то ли погода была так себе, в общем, из 1498 участников из 50 городов все задачи (5 штук) целиком не решил никто. Поэтому под катом вы найдете все задачи с описанием и, если захочется их порешать, сможете это сделать без каких-то дедлайнов. Тех, кто осилит, с радостью пригласим к нам. В конце поста — о новой стратегии найма специалистов. Было время, когда IT Альфа-Банка по больше части сосредотачивалось в трёх городах — Москва, Санкт-Петербург, Екатеринбург. Теперь же мы можем рассматривать людей со всей страны. И не только.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+15
Комментарии0

Хеш-таблицы

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

Предисловие


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


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


image

Читать дальше →
Всего голосов 13: ↑8 и ↓5+9
Комментарии31

Ох уж этот std::make_shared…

Время на прочтение6 мин
Количество просмотров37K
C++ Core Guidelines содержат правило R22, предписывающее использовать std::make_shared вместо вызова конструктора std::shared_ptr. В Core Guidelines приводится всего лишь один аргумент за такое решение — экономия на аллокации (и деаллокации).

А если копнуть чуть глубже?
Читать дальше →
Всего голосов 22: ↑19 и ↓3+21
Комментарии46

Canary Deployment в Kubernetes #1: Gitlab CI

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

Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes





Статьи из этого цикла:


  1. (эта статья)
  2. Canary Deployment при помощи ArgoCI
  3. Canary Deployment при помощи Istio
  4. Canary Deployment с Jenkins-X, Istio и Flagger

Выполнять Canary-деплой мы будем руками через GitOps и создание/изменение основных ресурсов Kubernetes. Эта статья предназначена в первую очередь для знакомства с тем, как работает в Kubernetes Canary деплой, так как есть более эффективные способы автоматизации, которые мы рассмотрим в следующих статьях.

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

15 базовых советов по Git для эффективной работы каждый день

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

Привет, меня зовут Сергеев Сергей aka gurugray. Сейчас я «Mentor FrontEnd Community» в компании ManyChat. Вы могли видеть мои лекции по релизному циклу и регламенту работ с системами контроля версий в Школе Разработки Интерфейсов Яндекса (ШРИ).


Меня часто спрашивают какие life-hacks или best-practices я использую при работе с Git'ом и репозиториями проекта.


Эта заметка — попытка объяснить те базовые настройки и приёмы, которыми я пользуюсь каждый день. Рецепты не претендуют быть ноу-хау, но могут помочь с освоением ежедневной гигиены работы с репозиторием.


Читать дальше →
Всего голосов 57: ↑53 и ↓4+64
Комментарии63

Как устроен процесс создания docker-контейнера (от docker run до runc)

Время на прочтение8 мин
Количество просмотров11K
Перевод статьи подготовлен в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes».




За последние несколько месяцев я потратил немало личного времени на изучение работы Linux-контейнеров. В частности, что конкретно делает docker run. В этой статье я собираюсь резюмировать то, что я выяснил, и попытаюсь показать как отдельные элементы формируют цельную картину. Начнем мы наше путешествие с создания контейнера alpine с помощью docker run:

$ docker run -i -t --name alpine alpine ash

Этот контейнер будет использоваться в выводе ниже. Когда вызывается команда docker run, она анализирует параметры, переданные ей в командной строке, и создает JSON объект для представления объекта, который нужно создать docker. Затем этот объект отправляется демону docker через сокет домена UNIX /var/run/docker.sock. Для наблюдения за вызовами API мы можем использовать утилиту strace:
Читать дальше →
Всего голосов 15: ↑12 и ↓3+12
Комментарии5

Грехи оптимизации производительности. Александр Валялкин, VictoriaMetrics

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


Доклад посвящен теме оптимизации производительности, но не совсем оптимизации производительности, а грехам оптимизации производительности (в VictoriaMetrics).

Всего голосов 16: ↑13 и ↓3+15
Комментарии2

Мастер-курсы по Istio и Kafka, книга про Python и немного про навыки веб-разработки

Время на прочтение2 мин
Количество просмотров4.7K
Не перестаем заманивать вас – станьте частью DevNation.



Полезные ссылки на живые мероприятия, видео, митапы, техтолки и книги – ниже в нашем еженедельном посте.
Читать дальше: Мастер-курсы по Istio и Kafka, книга про Python и немного про навыки веб-разработки
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Предвзятый и субъективный взгляд на резюме разработчика

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

Привет! Недавно мои коллеги из hh.ru провели вебинар, где разбирали резюме разработчика. Я решил поделиться своей точкой зрения на этот счет.


image


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

Читать дальше →
Всего голосов 31: ↑25 и ↓6+25
Комментарии30

MLOps — Cook book, chapter 1

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


Всем привет! Я CV-разработчик в КРОК. Уже 3 года мы реализуем проекты в области CV. За это время чего мы только не делали, например: мониторили водителей, чтобы во время движения они не пили, не курили, по телефону не разговаривали, смотрели на дорогу, а не сны или в облака; фиксировали любителей ездить по выделенным полосам и занимать несколько мест на парковке; следили за тем, чтобы работники носили каски, перчатки и т.п.; идентифицировали сотрудника, который хочет пройти на объект; подсчитывали всё, что только можно.


Я все это к чему?


В процессе реализации проектов мы набили шишки, много шишек, с частью проблем вы или знакомы, или познакомитесь в будущем.


Моделируем ситуацию


Представим, что мы устроились в молодую компанию “N”, деятельность которой связана с ML. Работаем мы над ML (DL, CV) проектом, потом по каким-либо причинам переключаемся на другую работу, в общем делаем перерыв, и возвращаемся к своей или чужой нейроночке.


  1. Наступает момент истины, нужно как-то вспомнить на чем ты остановился, какие гиперпараметры пробовал и, самое главное, к каким результатам они привели.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии4

Как найти удаленную работу в США и Европе: списки ~1000 компаний, полезные инструменты для поиска + личный опыт инженера

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


Изображение: Unsplash

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

Я решил разобраться в том, что для этого нужно сделать инженеру с постсоветского пространства. Для этого я изучил компании, которые предлагают remote-позиции для ИТ-специалистов, нашел несколько полезных сервисов и поговорил с Никитой Львовым, инженером, который как раз недавно нашел такую работу и согласился поделиться опытом. Надеюсь, получилось полезно. Поехали!
Читать дальше →
Всего голосов 43: ↑41 и ↓2+53
Комментарии20

Что можно узнать о Domain Driven Design за 10 минут?

Время на прочтение5 мин
Количество просмотров197K
Говорят, что можно бесконечно смотреть на огонь, наблюдать за тем, как работают другие, а также изучать DDD (Domain Driven Design, предметно-ориентированное проектирование). Но если у вас есть только 10 минут — можно прочитать эту статью и пройтись по самым верхушкам, а потом с умным видом кивать головой во время светской беседы.

Покрутили и рассмотрели DDD с разных сторон вместе с Андреем Ратушным — техническим директором компании Югорские Интернет Решения.



Читать дальше →
Всего голосов 27: ↑25 и ↓2+30
Комментарии64

Абстрактный тип данных. Часть 2: Управление данными

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

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

Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии1

Спецификаторы, квалификаторы и шаблоны

Время на прочтение15 мин
Количество просмотров26K
template<class T>
static inline thread_local constexpr const volatile T x = {};

Такое количество ключевых слов введет в ступор любого неподготовленного разработчика. Но на C++ Russia 2019 Piter Михаил Матросов (mmatrosov) разложил по полочкам квалификаторы и спецификаторы при объявлении переменных и функций.

Мы подготовили для вас текстовую версию доклада, чтобы вы могли в любой момент вернуться и изучить шпаргалки Михаила.
Всего голосов 22: ↑20 и ↓2+27
Комментарии9

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

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

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Всего голосов 155: ↑150 и ↓5+191
Комментарии342

14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard)

Время на прочтение7 мин
Количество просмотров37K
Data Science для начинающих

1. Sentiment Analysis (Анализ настроений через текст)


image

Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R.

Sentiment Analysis — это анализ слов для определения настроений и мнений, которые могут быть положительными или отрицательными. Это тип классификации, при котором классы могут быть двоичными (положительными и отрицательными) или множественными (счастливыми, злыми, грустными, противными ...). Мы реализуем этот Data Science проект на языке R и будем использовать набор данных в пакете «janeaustenR». Мы будем использовать словари общего назначения, такие как AFINN, bing и loughran, выполнять внутреннее соединение, и в конце мы создадим облако слов, чтобы отобразить результат.

Язык: R
Набор данных/Пакет: janeaustenR
Читать дальше →
Всего голосов 11: ↑10 и ↓1+15
Комментарии5

Первое впечатление от концептов

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


Решил разобраться с новой возможностью С++20 — концептами.

Концепты (или концепции, как пишет русскоязычная Вики) — очень интересная и полезная фича, которой давно не хватало.

По сути это типизация для аргументов шаблонов.

Основная проблема шаблонов до С++20 — в них можно было подставить все что угодно, в том числе то, на что они совершенно не рассчитаны. То есть система шаблонов была совершенно нетипизирована. В результате, при передаче в шаблон неверного параметра возникали невероятно длинные и совершенно нечитаемые сообщения об ошибках. С этим пытались бороться с помощью разных языковых хаков, которые я даже упоминать не хочу (хотя приходилось сталкиваться).

Концепты призваны исправить это недоразумение. Они добавляют в шаблоны систему типизации, причем весьма мощную. И вот, разбираясь с особенностями этой системы, я стал изучать доступные материалы в интернете.

Скажу честно, я немножко в шоке:) С++ и без того сложный язык, но тут хотя бы есть оправдание: так получилось. Метапрограммирование на шаблонах именно открыли, а не заложили при проектировании языка. А дальше, при разработке следующих версий языка, были вынуждены подстраиваться под это «открытие», так как в мире было написано очень много кода. Концепты же — принципиально новая возможность. И, как мне кажется, в их реализации уже присутствует некоторая непрозрачность. Возможно, это следствие необходимости учесть огромный объем унаследованных возможностей? Попробуем разобраться…
Читать дальше →
Всего голосов 37: ↑36 и ↓1+48
Комментарии34

Открытые онлайн-материалы от Computer Science центра, часть 2

Время на прочтение1 мин
Количество просмотров11K
В первой части поста мы рассказали о наших популярных онлайн-курсах на Stepik, а теперь выкладываем записи открытых лекций и видеокурсов на YouTube.


Всего голосов 17: ↑17 и ↓0+17
Комментарии1

Открытые материалы от Computer Science центра, часть 1

Время на прочтение3 мин
Количество просмотров12K
Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.

Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.

В этой части выкладываем записи наших популярных онлайн-курсов на Stepik и напоминаем о том, что до 11 апреля открыт новый набор в CS центр в Санкт-Петербурге и Новосибирске.


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

Информация

В рейтинге
1 792-й
Зарегистрирован
Активность