История такая: клиент Контура купил лицензию на один из продуктов, но промахнулся с выбором тарифа. А когда появилась задача выгрузить данные из сервиса (это есть из коробки в другом тарифе) — не растерялся, закатал рукава, расчехлил 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
Друзья, у меня большая прикольная новость. Вы знаете, что Moira участвует в Google Summer of Code 2019? 😎
Этим летом студенты из неожиданных уголков планеты 🇮🇳 будут работать над нашим известным open source-проектом. Разработчики из команды Мойры — Лёша Кирпичников @beevee_ru, Аркаша Боровский @borovskyav, Тимур Камаев @hakariaruki и Саша Сушко @sashasushko — будут помогать им и выступят в качестве менторов. Последние несколько недель ребята изо всех сил общаются с будущими участниками GSoC в чате разработчиков Мойры @moira_alert. Там появилось много активных участников и происходит интересная движуха.
Я рассказал в посте на Хабре, каким был путь Мойры до GSoC и какие ещё проекты участвуют в этом году. Спойлер: среди них очень, очень много инструментов для разработчиков: ОС, языков, компиляторов, баз данных и devops-тулов. Приятная компания :)
Читайте и делитесь ссылкой с теми, кому может быть интересно — 25 марта открывается приём заявок на участие в GSoC от студентов: https://habr.com/ru/company/skbkontur/blog/444806/
Этим летом студенты из неожиданных уголков планеты 🇮🇳 будут работать над нашим известным open source-проектом. Разработчики из команды Мойры — Лёша Кирпичников @beevee_ru, Аркаша Боровский @borovskyav, Тимур Камаев @hakariaruki и Саша Сушко @sashasushko — будут помогать им и выступят в качестве менторов. Последние несколько недель ребята изо всех сил общаются с будущими участниками GSoC в чате разработчиков Мойры @moira_alert. Там появилось много активных участников и происходит интересная движуха.
Я рассказал в посте на Хабре, каким был путь Мойры до GSoC и какие ещё проекты участвуют в этом году. Спойлер: среди них очень, очень много инструментов для разработчиков: ОС, языков, компиляторов, баз данных и devops-тулов. Приятная компания :)
Читайте и делитесь ссылкой с теми, кому может быть интересно — 25 марта открывается приём заявок на участие в GSoC от студентов: https://habr.com/ru/company/skbkontur/blog/444806/
Хабр
Moira участвует в Google Summer of Code 2019
В этом году пройдёт пятнадцатый Google Summer of Code, и в нём примет участие 206 проектов с открытым кодом. Для 27 проектов этот год будет первым, в том числе для Moira. Это наша любимая система для...
Сегодня менеджерам будет дискомфортно, но поучительно 😕😕😕
Макс Захаров @Wolonter, главарь тестировщиков в Контуре, написал статью, в которой разложил по полочкам, почему «оценка сроков на выполнение задачи» — это самое странное упражнение в разработке. Максим объясняет, что просьба «оценить сроки» — это первый признак профнепригодности менеджера, а лучшее, что можно посоветовать таким менеджерам — это познакомиться с Паркинсоном (это автор, а не заболевание).
Читайте на Хабре: https://habr.com/ru/company/skbkontur/blog/444484/
Макс Захаров @Wolonter, главарь тестировщиков в Контуре, написал статью, в которой разложил по полочкам, почему «оценка сроков на выполнение задачи» — это самое странное упражнение в разработке. Максим объясняет, что просьба «оценить сроки» — это первый признак профнепригодности менеджера, а лучшее, что можно посоветовать таким менеджерам — это познакомиться с Паркинсоном (это автор, а не заболевание).
Читайте на Хабре: https://habr.com/ru/company/skbkontur/blog/444484/
Хабр
Оценка сроков на разработку и тестирование задачи (не нужна)
Я в тестировании 12 лет, работал в Naumen и Яндексе. Сейчас руковожу отделом тестирования из 150 человек в Контуре и продолжаю работать тестировщиком в одной из команд. После полугодовых performance...
Привет! Это короткий анонс для читателей из Перми и Ижевска 🇷🇺🇷🇺
В выходные мы устраиваем онлайн-трансляцию CodeFest X — кажется, самой большой айтишной конференции за Уралом (https://2019.codefest.ru).
В Ижевске будем транслировать секцию Backend. Вместе с другими классными спикерами, в первый день наш Гриша Кошелев @K_Gregory расскажет про архитектуру Apache Kafka и её применение в github.com/vostok, а во второй день Лёша Кирпичников @beevee_ru расскажет, как писать постмортемы и учиться на своих факапах. Ссылка для регистрации на трансляцию в Ижевске: https://eventskbkontur.timepad.ru/event/933853/
В Перми будем транслировать секции Backend, Frontend и QA. Во второй день Дима Якин @sir_arhey объяснит, чем тестирование железа отличается от тестирования привычного веба (моя любимая байка — про заворачивание онлайн-кассы в тулуп для имитации нагрева). Ссылка для регистрации на трансляцию в Перми: https://eventskbkontur.timepad.ru/event/933809/
До встречи в выходные!
В выходные мы устраиваем онлайн-трансляцию CodeFest X — кажется, самой большой айтишной конференции за Уралом (https://2019.codefest.ru).
В Ижевске будем транслировать секцию Backend. Вместе с другими классными спикерами, в первый день наш Гриша Кошелев @K_Gregory расскажет про архитектуру Apache Kafka и её применение в github.com/vostok, а во второй день Лёша Кирпичников @beevee_ru расскажет, как писать постмортемы и учиться на своих факапах. Ссылка для регистрации на трансляцию в Ижевске: https://eventskbkontur.timepad.ru/event/933853/
В Перми будем транслировать секции Backend, Frontend и QA. Во второй день Дима Якин @sir_arhey объяснит, чем тестирование железа отличается от тестирования привычного веба (моя любимая байка — про заворачивание онлайн-кассы в тулуп для имитации нагрева). Ссылка для регистрации на трансляцию в Перми: https://eventskbkontur.timepad.ru/event/933809/
До встречи в выходные!
CodeFest X 30-31 марта 2019
Юбилейный 🎉 3 000 участников. Новая сцена Future на 1,5К. Дудки. Кашка. Улёт!