Всем привет! У меня есть повод прервать молчание в этом канале — организаторы конференции 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 снова три доклада от контуровцев, но о них — в другой раз :)
Да, нужно сказать, что на Ютубе появились ещё два доклада с прошлого 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 снова три доклада от контуровцев, но о них — в другой раз :)
Хабр
Особые исключения в .NET и как их готовить
У разных исключений в .NET есть свои особенности, и знать их бывает очень полезно. Как обмануть CLR? Как остаться в живых в рантайме, поймав StackOverflowExcepti...
Привет! У меня история.
Недавно к нам (виртуально) пришли ребята из «Моего круга» и сказали, что хотят взять интервью у стажёра. Точнее, у выпускника Матмеха УрФУ, который в 2011 году пришёл в Контур на стажировку, два-три года писал код, в 2013 году стал менеджером одной из команд, а в прошлом году — руководителем всего инженерного подразделения Контура.
Саша Голубев @hexandr рассказал в интервью очень кратко обо всём, что нас окружает, похоливарил про применимость F# и Erlang в промышленной разработке, рассказал про Буткамп для новых разработчиков и превращение аналитиков в психологи. А автор этих строк набежал в комментарии, чтобы рассказать, как разработчики из Экстерна запускают свой ещё недавно Windows-only продукт на Sony PlayStation.
Читайте на Хабре, что у нас получилось: https://habr.com/company/moikrug/blog/427027/
Недавно к нам (виртуально) пришли ребята из «Моего круга» и сказали, что хотят взять интервью у стажёра. Точнее, у выпускника Матмеха УрФУ, который в 2011 году пришёл в Контур на стажировку, два-три года писал код, в 2013 году стал менеджером одной из команд, а в прошлом году — руководителем всего инженерного подразделения Контура.
Саша Голубев @hexandr рассказал в интервью очень кратко обо всём, что нас окружает, похоливарил про применимость F# и Erlang в промышленной разработке, рассказал про Буткамп для новых разработчиков и превращение аналитиков в психологи. А автор этих строк набежал в комментарии, чтобы рассказать, как разработчики из Экстерна запускают свой ещё недавно Windows-only продукт на Sony PlayStation.
Читайте на Хабре, что у нас получилось: https://habr.com/company/moikrug/blog/427027/
Хабр
Где работать в ИТ, выпуск 2: СКБ Контур
«СКБ Контур» — одна из крупнейших и старейших ИТ компаний в России. В конце октября ей исполняется 30 лет, количество всех сотрудников перевалило за 8 тысяч.
Всем привет!
Ловите анонс второй встречи 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.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.ural.Meetup @2 — анонс второго Java-митапа + видео докладов с java.ural.Meetup @1
В первый день зимы, 1 декабря, приглашаем принять участие во второй встрече java.ural.Meetup, которая пройдёт в конференц-зале в новом офисе Контура по адресу ул...
Привет! Сегодня забавная история о реверс-инжиниринге и видеолекция с привкусом спортивного программирования для долгого зимнего вечера.
История такая: клиент Контура купил лицензию на один из продуктов, но промахнулся с выбором тарифа. А когда появилась задача выгрузить данные из сервиса (это есть из коробки в другом тарифе) — не растерялся, закатал рукава, расчехлил Java, взял Selenium и запилил скрипт! Скрипт ходит в сервис, аутентифицируется, достаёт нужную информацию, складывает в формате CSV. Красота!
Мы узнали об этом из поста на Хабре (https://habr.com/post/431510/), читали всем Контуром и радовались, что сами того не хотя продвигаем обучение языкам программирования и инструментам для автоматизации тестирования. В итоге подарили автору поста доступ в сервис с правильным тарифом и избавили от необходимости поддерживать скрипт :)
Мы узнали об этом из поста на Хабре (https://habr.com/post/431510/), читали всем Контуром и радовались, что сами того не хотя продвигаем обучение языкам программирования и инструментам для автоматизации тестирования. В итоге подарили автору поста доступ в сервис с правильным тарифом и избавили от необходимости поддерживать скрипт :)
Хабр
Как собрать информацию с Контур.Закупки с помощью Selenium
Всем привет. Я занимаюсь автоматизацией участия в государственных тендерах. История эта случилась из-за экономии. При покупке платного аккаунта Контур.Закупки...
А теперь про видеолекцию. Андрей Гейн — один из разработчиков ulearn.me, завуч lksh.ru и мастерский преподаватель сложных вещей простым языком — решил сделать серию лекций об алгоритмах и структурах данных. Андрей говорит, что алгоритмы — это прежде всего красиво, хотя почти никогда не нужно, чтобы написать очередной метод очередной апишки и закрыть задачу в трекере.
Первая лекция — о декартовом дереве, которое наследует бинарному дереву поиска и бинарной куче, может иметь неявные ключи, позволяет считать k-ую порядковую статистику и делать вставку элемента в массив за логарифм. Смотрите первую лекцию, и вы разберётесь не только во всём вышеперечисленном, но и узнаете, какая связь между Телеграмом, российским спортивным программированием и дерамидой: https://youtube.com/watch?v=0IDaKrPosdA&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_
Первая лекция — о декартовом дереве, которое наследует бинарному дереву поиска и бинарной куче, может иметь неявные ключи, позволяет считать k-ую порядковую статистику и делать вставку элемента в массив за логарифм. Смотрите первую лекцию, и вы разберётесь не только во всём вышеперечисленном, но и узнаете, какая связь между Телеграмом, российским спортивным программированием и дерамидой: https://youtube.com/watch?v=0IDaKrPosdA&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_
YouTube
Лекция 1. Декартово дерево
Андрей Гейн: Это лекция о декартовом дереве — структуре данных, позволяющей решать десятки разных задач неожиданными способами. Субъективная сложность лекции — три теты из пяти :)
Содержание:
2:15 Декартово дерево, дерево поиска и куча
25:12 Операция merge…
Содержание:
2:15 Декартово дерево, дерево поиска и куча
25:12 Операция merge…
Всем привет! Андрей Гейн продолжает радовать лекциями о необычных алгоритмах для обычных людей. Правда, у этой лекции сложность «четыре теты из пяти», что на тету больше, чем в прошлый раз.
Андрей снова говорит о дереве, однако в этот раз оно суффиксное. Эта структура данных позволет быстро искать любую подстроку в огромных текстах (например, в четырёхтомнике Дональда Кнута). В данном случае «быстро» — это за линейное время от длины искомой подстроки, а не от длины текста.
Смотрите лекцию на Ютубе: 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)
Андрей снова говорит о дереве, однако в этот раз оно суффиксное. Эта структура данных позволет быстро искать любую подстроку в огромных текстах (например, в четырёхтомнике Дональда Кнута). В данном случае «быстро» — это за линейное время от длины искомой подстроки, а не от длины текста.
Смотрите лекцию на Ютубе: 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)
YouTube
Лекция 2. Суффиксное дерево
Андрей Гейн: Это лекция о структуре данных, позволяющей эффективно решать задачи со строками. Мы будем работать с очень длинными текстами и быстро искать в них вхождение подстроки. Субъективная сложность лекции — четыре теты из пяти.
Содержание:
5:40 Суффиксное…
Содержание:
5:40 Суффиксное…
Всем привет! Сегодня история про open source. Каждый месяц в блоге GitLab публикуют статью о выдающемся участнике комьюнити. На прошлой неделе вышло интервью с Семёном Пупковым @semyon_pupkov, разработчиком из Контура и активном контрибуторе в GitLab с 2016 года. Семён рассказывает о себе и о своём вкладе в открытый код GitLab.
Правда, есть некоторая ирония в том, что команда Семёна в Контуре активно использует в работе GitHub, а GitLab — гораздо меньше. Судя по графику, Семён начал пользоваться результатами своих merge request-ов в нашей инсталляции GitLab всего полгода назад :)
Правда, есть некоторая ирония в том, что команда Семёна в Контуре активно использует в работе GitHub, а GitLab — гораздо меньше. Судя по графику, Семён начал пользоваться результатами своих merge request-ов в нашей инсталляции GitLab всего полгода назад :)
Вторая история сегодня — про автоматизацию тестирования, C#, Неву и Обь. Мы уже тысячу раз проводили тест-сессии. Они больше всего похожи на однодневный хакатон для тестировщиков: нужно объединиться в пары, препарировать какое-нибудь мобильное или веб-приложение, найти как можно больше критичных багов — а затем победить и гордо унести приз.
В этот раз наш тестировщик и фуд-блогер Дима Якин @sir_arhey решил сделать распределённую тест-сессию от Оби до Невы. Поменялся формат и появилось ограничение: теперь можно тестировать только через код.
Всё пройдёт в субботу, 9 февраля, в Питере, Екатеринбурге и Новосибирске. Ждём опытных тестировщиков-автоматизаторов и сочувствующих им разработчиков, будем писать тесты на C#. Подробности и регистрация на Хабре: https://habr.com/ru/company/skbkontur/blog/438074/
В этот раз наш тестировщик и фуд-блогер Дима Якин @sir_arhey решил сделать распределённую тест-сессию от Оби до Невы. Поменялся формат и появилось ограничение: теперь можно тестировать только через код.
Всё пройдёт в субботу, 9 февраля, в Питере, Екатеринбурге и Новосибирске. Ждём опытных тестировщиков-автоматизаторов и сочувствующих им разработчиков, будем писать тесты на C#. Подробности и регистрация на Хабре: https://habr.com/ru/company/skbkontur/blog/438074/
Хабр
[Анонс для Екатеринбурга, Новосибирска, Питера] QAutomation Test Session: Покроем тестами все от Невы до Оби
9 февраля выясним, кто самый крутой тестировщик! Контур и Уральское сообщество тестировщиков UTC регулярно проводят сессии тестирования. Суть такая: собираемся толпой и ищем баги в приложении. Так мы...
Всем привет! На нашем Ютуб-канале появилась третья «деревянная» лекция Андрея Гейна @andgein — в этот раз о дереве Фенвика.
Оно было придумано в 1994 году и позволяет быстро находить сумму на подотрезке массива чисел. Интересно, что для этого не требуется дополнительная память, все данные хранятся в исходном массиве. Другой интересный факт: алгоритм легко обобщается до многомерных массивов, так что искать суммы на подпрямоугольниках и подпараллелепипедах вы тоже научитесь.
Субъективная сложность лекции относительно других — две теты из пяти. Если суффиксные деревья с прошлой лекции поразили вас до глубины души, то в этот раз будет проще.
Смотрите на Ютубе: https://www.youtube.com/watch?v=BzFN9YwR-NM&index=4&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_
Оно было придумано в 1994 году и позволяет быстро находить сумму на подотрезке массива чисел. Интересно, что для этого не требуется дополнительная память, все данные хранятся в исходном массиве. Другой интересный факт: алгоритм легко обобщается до многомерных массивов, так что искать суммы на подпрямоугольниках и подпараллелепипедах вы тоже научитесь.
Субъективная сложность лекции относительно других — две теты из пяти. Если суффиксные деревья с прошлой лекции поразили вас до глубины души, то в этот раз будет проще.
Смотрите на Ютубе: https://www.youtube.com/watch?v=BzFN9YwR-NM&index=4&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_
YouTube
Лекция 3. Дерево Фенвика
Андрей Гейн: Это лекция о структуре данных, которая позволяет для массива чисел быстро находить сумму на подотрезке этого массива и при этом не использовать дополнительную память. Субъективная сложность лекции — две теты из пяти.
Содержание:
13:17 Префиксные…
Содержание:
13:17 Префиксные…
А ещё говорят, что сегодня всемирный день робототехники. Так что всех с праздником :)
Возможно, вы слышали, что наши дизайнеры каждый месяц рисуют тематические календари, которые потом появляются в офисах Контура. В этом месяце Наташа Белецкая отдала дань уважения роботам и сделала мемоёмкий календарь с дюжиной пасхалок и отсылок.
Календарь в хорошем разрешении для разглядывания и смакования лежит на Гитхабе: https://github.com/skbkontur/project-calendar#февраль-2019--наташа-белецкая
А если слышите о наших календарях впервые, то можете почитать статью на Хабре: https://habr.com/ru/company/skbkontur/blog/348620/
Возможно, вы слышали, что наши дизайнеры каждый месяц рисуют тематические календари, которые потом появляются в офисах Контура. В этом месяце Наташа Белецкая отдала дань уважения роботам и сделала мемоёмкий календарь с дюжиной пасхалок и отсылок.
Календарь в хорошем разрешении для разглядывания и смакования лежит на Гитхабе: https://github.com/skbkontur/project-calendar#февраль-2019--наташа-белецкая
А если слышите о наших календарях впервые, то можете почитать статью на Хабре: https://habr.com/ru/company/skbkontur/blog/348620/
GitHub
GitHub - skbkontur/project-calendar: Календари на каждый месяц от дизайнеров Контура
Календари на каждый месяц от дизайнеров Контура. Contribute to skbkontur/project-calendar development by creating an account on GitHub.
Всем привет! Сегодня анонс для дизайнеров Екатеринбурга 👩🎨👨🎨
В эту субботу, 2 марта, в офисе Контура пройдёт митап Design Update 2.1. На этот раз поговорим про найм. Зачем нужны тестовые и можно ли обойтись без них? Почему нужно вести портфолио и что спрашивают на собеседованиях?
У нас будет три огненных гостя, которые расскажут про один из этапов отбора, поделятся опытом, наблюдениями и советами. Доклады будут полезны и тем, что хочет найти/поменять работу и тем, кто занимается наймом дизайнеров.
В конце проведем традиционный дизайн-батл. У участников будет всего по 15 минут, чтобы выполнить задание у всех на глазах и покорить зрителей. Пошумим!
Программа и регистрация: https://eventskbkontur.timepad.ru/event/902644/
В эту субботу, 2 марта, в офисе Контура пройдёт митап Design Update 2.1. На этот раз поговорим про найм. Зачем нужны тестовые и можно ли обойтись без них? Почему нужно вести портфолио и что спрашивают на собеседованиях?
У нас будет три огненных гостя, которые расскажут про один из этапов отбора, поделятся опытом, наблюдениями и советами. Доклады будут полезны и тем, что хочет найти/поменять работу и тем, кто занимается наймом дизайнеров.
В конце проведем традиционный дизайн-батл. У участников будет всего по 15 минут, чтобы выполнить задание у всех на глазах и покорить зрителей. Пошумим!
Программа и регистрация: https://eventskbkontur.timepad.ru/event/902644/
eventskbkontur.timepad.ru
Design Update 2.1. Как получить работу мечты: портфолио, тестовое, собеседование / События на TimePad.ru
Зачем нужны тестовые и можно ли обойтись без них? Почему нельзя обойтись без портфолио и на что смотрят на собеседованиях? Поговорим о найме дизайнеров в разных компаниях.
Привет, алгоритмисты! На Ютубе появилась четвёртая лекция из цикла лекций о необычных алгоритмах для обычных людей. В этот раз Андрей Гейн @andgein обратился к основам теории графов и трудам Прима, Краскала, Тарьяна и Кермана. Вы узнаете из лекции, как находить остовное дерево для произвольного связного графа и увидите на примере, как вычислительная сложность алгоритма меняется в зависимости от используемой в его реализации структуры данных.
Смотрите запись на Ютубе: https://www.youtube.com/watch?v=NJkizOVRwps&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_&index=5
Смотрите запись на Ютубе: https://www.youtube.com/watch?v=NJkizOVRwps&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_&index=5
YouTube
Лекция 4. Остовные деревья
Андрей Гейн: Остовные деревья — это важная часть теории графов (о которой, вероятно, все программисты когда-нибудь слышали). На лекции разберёмся, что такое остовное дерево и как его находить. Субъективная сложность лекции — две теты из пяти.
Содержание:…
Содержание:…
А теперь небольшой спойлер. Скоро появится запись пятой лекции — о дереве ван Эмде Боаса. Чтобы рассказать о такой заковыристой структуре данных, одной маркерной доски уже не хватило :)
Всем привет!
В субботу, 23 марта, в Екатеринбурге пройдёт вторая встреча Ekb Tech Talks по Data Science. У нас снова три докладчика, которые расскажут, как собирать требования к DS/ML-задаче и как использовать data science, чтобы определять туберкулёз на флюорографии и защищать пользователей от «тёмной» стороны интернета.
Приходите слушать доклады, задавать вопросы и общаться, если интересуетесь машинным обучением и обработкой данных.
Программа и регистрация: https://eventskbkontur.timepad.ru/event/927299/
В субботу, 23 марта, в Екатеринбурге пройдёт вторая встреча Ekb Tech Talks по Data Science. У нас снова три докладчика, которые расскажут, как собирать требования к DS/ML-задаче и как использовать data science, чтобы определять туберкулёз на флюорографии и защищать пользователей от «тёмной» стороны интернета.
Приходите слушать доклады, задавать вопросы и общаться, если интересуетесь машинным обучением и обработкой данных.
Программа и регистрация: https://eventskbkontur.timepad.ru/event/927299/
eventskbkontur.timepad.ru
Ekb Tech Talks по Data Science #2 / События на TimePad.ru
В этот раз узнаем о сборе требований к DS/ML-задаче, обработке данных со снимков флюорографии и о методиках работы отдела «Data Science» в SkyDNS.
Всем любителям Андрея Гейна @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
В пятой лекции на сцену выходит дерево ван Эмде Боаса 🇳🇱, подходящее для хранения миллионов и миллиардов неотрицательных целых чисел. За счёт этого ограничения 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