Технологии в Контуре – Telegram
Технологии в Контуре
6.64K subscribers
1.23K photos
106 videos
4 files
673 links
Канал tech-команды Контура о технологиях, инженерном опыте и мероприятиях.

Наш сайт: tech.kontur.ru
Гитхаб: https://github.com/skbkontur
Хабр: habr.com/ru/company/skbkontur
Youtube: youtube.com/@KonturTech

По всем вопросам пишите @techkontur
Download Telegram
Всем привет! У меня есть повод прервать молчание в этом канале — организаторы конференции DotNext опубликовали на Хабре расшифровку доклада Жени Пешкова @epeshk про замысловатые исключения в .NET и особенности их обработки. Помню, как весной участники конференции звали друзей и знакомых из других залов, чтобы хотя бы стоя послушать доклад — а Женя рассказывал, как обработать unmanaged-исключения, опустившись на уровень ниже CLR, и препарировал недетерминированный код, который умеет выполняться четырьмя различными способами в зависимости от фазы луны. Читайте расшифровку доклада на Хабре (https://habr.com/company/jugru/blog/426045/) или смотрите запись доклада на Ютубе (https://www.youtube.com/watch?v=WLSrYgMWif4).

Да, нужно сказать, что на Ютубе появились ещё два доклада с прошлого DotNext. Женя Жиров @ezsilmar рассказывал, как экспериментировал с мультиплексированием в протоколе HTTP/2 и пытался оптимизировать межсервисное взаимодействие, но в результате выяснил, проведя немало часов в WinDbg, что Node.js-приложения (пока) куда лучше готовы к HTTP/2, чем приложения на платформе .NET (https://www.youtube.com/watch?v=QgK6-8zCnQM).

А Дима Моисеев @Newbilius рассказал, как правильно готовить Xamarin и обходить его подводные камни, которых в 2018 году осталось не очень-то много (https://www.youtube.com/watch?v=SGG_5ExlA68).

В программе осеннего DotNext снова три доклада от контуровцев, но о них — в другой раз :)
Привет! У меня история.

Недавно к нам (виртуально) пришли ребята из «Моего круга» и сказали, что хотят взять интервью у стажёра. Точнее, у выпускника Матмеха УрФУ, который в 2011 году пришёл в Контур на стажировку, два-три года писал код, в 2013 году стал менеджером одной из команд, а в прошлом году — руководителем всего инженерного подразделения Контура.

Саша Голубев @hexandr рассказал в интервью очень кратко обо всём, что нас окружает, похоливарил про применимость F# и Erlang в промышленной разработке, рассказал про Буткамп для новых разработчиков и превращение аналитиков в психологи. А автор этих строк набежал в комментарии, чтобы рассказать, как разработчики из Экстерна запускают свой ещё недавно Windows-only продукт на Sony PlayStation.

Читайте на Хабре, что у нас получилось: https://habr.com/company/moikrug/blog/427027/
Всем привет!
Ловите анонс второй встречи java.ural.Meetup: https://habr.com/company/skbkontur/blog/352934/
Регистрация: https://eventskbkontur.timepad.ru/event/847383/

1 декабря (суббота), с 14:00 по адресу Малопрудная, 5, конференц-зал (новый офис Контура на Широкой речке).

В программе три разноплановых доклада:
- Java 11
- Spring Framework
- Clojure.
В конце будет afterparty в баре.
Привет! Сегодня забавная история о реверс-инжиниринге и видеолекция с привкусом спортивного программирования для долгого зимнего вечера.
История такая: клиент Контура купил лицензию на один из продуктов, но промахнулся с выбором тарифа. А когда появилась задача выгрузить данные из сервиса (это есть из коробки в другом тарифе) — не растерялся, закатал рукава, расчехлил Java, взял Selenium и запилил скрипт! Скрипт ходит в сервис, аутентифицируется, достаёт нужную информацию, складывает в формате CSV. Красота!

Мы узнали об этом из поста на Хабре (https://habr.com/post/431510/), читали всем Контуром и радовались, что сами того не хотя продвигаем обучение языкам программирования и инструментам для автоматизации тестирования. В итоге подарили автору поста доступ в сервис с правильным тарифом и избавили от необходимости поддерживать скрипт :)
А теперь про видеолекцию. Андрей Гейн — один из разработчиков ulearn.me, завуч lksh.ru и мастерский преподаватель сложных вещей простым языком — решил сделать серию лекций об алгоритмах и структурах данных. Андрей говорит, что алгоритмы — это прежде всего красиво, хотя почти никогда не нужно, чтобы написать очередной метод очередной апишки и закрыть задачу в трекере.

Первая лекция — о декартовом дереве, которое наследует бинарному дереву поиска и бинарной куче, может иметь неявные ключи, позволяет считать k-ую порядковую статистику и делать вставку элемента в массив за логарифм. Смотрите первую лекцию, и вы разберётесь не только во всём вышеперечисленном, но и узнаете, какая связь между Телеграмом, российским спортивным программированием и дерамидой: https://youtube.com/watch?v=0IDaKrPosdA&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_
Всем привет! Андрей Гейн продолжает радовать лекциями о необычных алгоритмах для обычных людей. Правда, у этой лекции сложность «четыре теты из пяти», что на тету больше, чем в прошлый раз.

Андрей снова говорит о дереве, однако в этот раз оно суффиксное. Эта структура данных позволет быстро искать любую подстроку в огромных текстах (например, в четырёхтомнике Дональда Кнута). В данном случае «быстро» — это за линейное время от длины искомой подстроки, а не от длины текста.

Смотрите лекцию на Ютубе: https://www.youtube.com/watch?v=kxqlaynGgEA&index=3&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_

Ссылки для тех, кому мало двух часов видео:
— статья об алгоритме Укконена без доказательства (http://yury.name/internet/01ianote.pdf),
— реализация алгоритма Укконена (http://e-maxx.ru/algo/ukkonen),
— статья о кеш-эффективном, но квадратичном алгоритме построения дерева (https://www.researchgate.net/profile/Yuanyuan_Tian/publication/30848628_Practical_methods_for_constructing_suffix_trees/links/0046352b38e5dc849e000000.pdf)
Всем привет! Сегодня история про open source. Каждый месяц в блоге GitLab публикуют статью о выдающемся участнике комьюнити. На прошлой неделе вышло интервью с Семёном Пупковым @semyon_pupkov, разработчиком из Контура и активном контрибуторе в GitLab с 2016 года. Семён рассказывает о себе и о своём вкладе в открытый код GitLab.

Правда, есть некоторая ирония в том, что команда Семёна в Контуре активно использует в работе GitHub, а GitLab — гораздо меньше. Судя по графику, Семён начал пользоваться результатами своих merge request-ов в нашей инсталляции GitLab всего полгода назад :)
Вторая история сегодня — про автоматизацию тестирования, C#, Неву и Обь. Мы уже тысячу раз проводили тест-сессии. Они больше всего похожи на однодневный хакатон для тестировщиков: нужно объединиться в пары, препарировать какое-нибудь мобильное или веб-приложение, найти как можно больше критичных багов — а затем победить и гордо унести приз.

В этот раз наш тестировщик и фуд-блогер Дима Якин @sir_arhey решил сделать распределённую тест-сессию от Оби до Невы. Поменялся формат и появилось ограничение: теперь можно тестировать только через код.

Всё пройдёт в субботу, 9 февраля, в Питере, Екатеринбурге и Новосибирске. Ждём опытных тестировщиков-автоматизаторов и сочувствующих им разработчиков, будем писать тесты на C#. Подробности и регистрация на Хабре: https://habr.com/ru/company/skbkontur/blog/438074/
Ах да, фуд-блог тут: @smyak
Всем привет! На нашем Ютуб-канале появилась третья «деревянная» лекция Андрея Гейна @andgein — в этот раз о дереве Фенвика.

Оно было придумано в 1994 году и позволяет быстро находить сумму на подотрезке массива чисел. Интересно, что для этого не требуется дополнительная память, все данные хранятся в исходном массиве. Другой интересный факт: алгоритм легко обобщается до многомерных массивов, так что искать суммы на подпрямоугольниках и подпараллелепипедах вы тоже научитесь.

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

Смотрите на Ютубе: https://www.youtube.com/watch?v=BzFN9YwR-NM&index=4&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_
А ещё говорят, что сегодня всемирный день робототехники. Так что всех с праздником :)

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

Календарь в хорошем разрешении для разглядывания и смакования лежит на Гитхабе: https://github.com/skbkontur/project-calendar#февраль-2019--наташа-белецкая

А если слышите о наших календарях впервые, то можете почитать статью на Хабре: https://habr.com/ru/company/skbkontur/blog/348620/
Всем привет! Сегодня анонс для дизайнеров Екатеринбурга 👩‍🎨👨‍🎨

В эту субботу, 2 марта, в офисе Контура пройдёт митап Design Update 2.1. На этот раз поговорим про найм. Зачем нужны тестовые и можно ли обойтись без них? Почему нужно вести портфолио и что спрашивают на собеседованиях?

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

В конце проведем традиционный дизайн-батл. У участников будет всего по 15 минут, чтобы выполнить задание у всех на глазах и покорить зрителей. Пошумим!

Программа и регистрация: https://eventskbkontur.timepad.ru/event/902644/
Привет, алгоритмисты! На Ютубе появилась четвёртая лекция из цикла лекций о необычных алгоритмах для обычных людей. В этот раз Андрей Гейн @andgein обратился к основам теории графов и трудам Прима, Краскала, Тарьяна и Кермана. Вы узнаете из лекции, как находить остовное дерево для произвольного связного графа и увидите на примере, как вычислительная сложность алгоритма меняется в зависимости от используемой в его реализации структуры данных.

Смотрите запись на Ютубе: https://www.youtube.com/watch?v=NJkizOVRwps&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_&index=5
А теперь небольшой спойлер. Скоро появится запись пятой лекции — о дереве ван Эмде Боаса. Чтобы рассказать о такой заковыристой структуре данных, одной маркерной доски уже не хватило :)
Всем привет!

В субботу, 23 марта, в Екатеринбурге пройдёт вторая встреча Ekb Tech Talks по Data Science. У нас снова три докладчика, которые расскажут, как собирать требования к DS/ML-задаче и как использовать data science, чтобы определять туберкулёз на флюорографии и защищать пользователей от «тёмной» стороны интернета.

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

Программа и регистрация: https://eventskbkontur.timepad.ru/event/927299/
Всем любителям Андрея Гейна @andgein и его лекций об алгоритмах и структурах данных! А точнее — пока что о только о самых разных деревьях: 🌴🌲🌳

В пятой лекции на сцену выходит дерево ван Эмде Боаса 🇳🇱, подходящее для хранения миллионов и миллиардов неотрицательных целых чисел. За счёт этого ограничения vEB tree позволяет делать удивительные вещи: например, сортировать элементы за O(N log log N) или проверять, содержится ли определённый элемент, за O(log log N).

Если вы не задумывались, можно ли отсортировать массив быстрее, чем за O(N log N), или были уверены, что это невозможно — эта лекция вам понравится.

Смотрите на Ютубе: https://www.youtube.com/watch?v=9AgMaarAwEo&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_&index=5