Кирилл Протасов (справа), разработчик из самой малочисленной команды на хакатоне, написал статью на Хабр. Кирилл рассказывает, как с пятой попытки попал в Контур после стажировки и как теперь разрабатывает интерфейсы в одной из самых больших команд. Завидую его упорству и нетипичному для айтишников рабочему графику. Читайте на Хабре: https://habrahabr.ru/company/skbkontur/blog/345214/
Хабр
Как бросить аспирантуру и стать разработчиком
Меня зовут Кирилл Протасов. Сейчас расскажу, как за год я прошёл путь от аспиранта психологического факультета до стажёра и разработчика интерфейсов на React. Н...
У нас в Контуре есть Software Engineering Club (SE Club). Это встречи, на которых инженеры делают доклады для других инженеров нашего Управления разработки. Иногда на встречах SE Club выступают «приглашённые звёзды».
На этой неделе к нам приходил Виктор Грищенко (https://twitter.com/gritzko), разработчик и исследователь в области распределённой синхронизации данных, создатель библиотеки Swarm.js (https://github.com/gritzko/swarm). Виктор рассказал о своём последнем проекте — формате данных Replicated Object Notation (https://github.com/gritzko/ron).
RON — текстовый и бинарный формат, который представляет данные и изменения в них в виде набора операций. Каждая операция содержит уникальный идентификатор, метку времени и данные определённого типа. Виктор сравнивает RON с JSON и показывает, насколько RON более пригоден для распределённой синхронизации данных, тогда как единственное преимущество JSON — удобство для чтения человеком. Это сравнение релевантно, потому что JSON — один из самых распространённых форматов представления данных при их передаче. Однако многие бинарные форматы — например, ProtoBuf (https://github.com/google/protobuf) или GroBuf (https://github.com/skbkontur/GroBuf) — смогли бы выиграть у JSON несколько очков и приблизиться к RON в этом сравнении.
Если вам интересен RON, смотрите выступление Виктора на ReactiveConf 2017 (https://www.youtube.com/watch?v=0Xx9kkTMi10) и слушайте эпизод 0170 подкаста DevZen (http://devzen.ru/episode-0170/).
RON — текстовый и бинарный формат, который представляет данные и изменения в них в виде набора операций. Каждая операция содержит уникальный идентификатор, метку времени и данные определённого типа. Виктор сравнивает RON с JSON и показывает, насколько RON более пригоден для распределённой синхронизации данных, тогда как единственное преимущество JSON — удобство для чтения человеком. Это сравнение релевантно, потому что JSON — один из самых распространённых форматов представления данных при их передаче. Однако многие бинарные форматы — например, ProtoBuf (https://github.com/google/protobuf) или GroBuf (https://github.com/skbkontur/GroBuf) — смогли бы выиграть у JSON несколько очков и приблизиться к RON в этом сравнении.
Если вам интересен RON, смотрите выступление Виктора на ReactiveConf 2017 (https://www.youtube.com/watch?v=0Xx9kkTMi10) и слушайте эпизод 0170 подкаста DevZen (http://devzen.ru/episode-0170/).
Чуть не забыли рассказать, что 6 декабря ребята из нашего новосибирского офиса позвали в гости местное сообщество фронтендеров и провели митап Nsk Tech Talks.
Было три доклада от ребят из Контура и 2ГИСа: поговорили о симптомах и профилактике плохой анимации, обсудили зачем и как собирать ошибки из браузеров пользователей и как синхронизировать логику на сервере и клиенте при помощи кодогенерации.
С ребятами, которые пришли пораньше, мы поиграли во фронтендерскую версию телевизионной игры Jeopardy! (https://en.wikipedia.org/wiki/Jeopardy!) Валера Кузьмин написал движок игры, а наши разработчики набросали вопросов. Есть забавные, а есть познавательные. Попробуйте сами http://bit.ly/kontur-jeopardy :)
Записи докладов и презентации смотрите на YouTube: https://goo.gl/Ax3K3f
Было три доклада от ребят из Контура и 2ГИСа: поговорили о симптомах и профилактике плохой анимации, обсудили зачем и как собирать ошибки из браузеров пользователей и как синхронизировать логику на сервере и клиенте при помощи кодогенерации.
С ребятами, которые пришли пораньше, мы поиграли во фронтендерскую версию телевизионной игры Jeopardy! (https://en.wikipedia.org/wiki/Jeopardy!) Валера Кузьмин написал движок игры, а наши разработчики набросали вопросов. Есть забавные, а есть познавательные. Попробуйте сами http://bit.ly/kontur-jeopardy :)
Записи докладов и презентации смотрите на YouTube: https://goo.gl/Ax3K3f
21 декабря мы провели митап Perm Tech Talks с докладами по машинному обучению. Всё придумал и организовал Алексей Мальцев @AxelUser, наш разработчик из Перми. Выступали инженеры из Контура, Xsolla, RealtimeBoard и Мacroscop. Ребята рассказали о базовых принципах обучения с подкреплением, об опыте участия в соревнованиях и о том, как использовать машинное обучение для создания продуктов.
Записи докладов и презентации смотрите на YouTube: https://goo.gl/AkdAxG
Записи докладов и презентации смотрите на YouTube: https://goo.gl/AkdAxG
При подготовке митапа была забавная история. Менеджер типографии не хотел отдавать заранее заказанные бейджи. Ни про какую конференцию он не слышал, зато у него было «150 штук красно-белых бейджей для авто-шоу», подходящих под наше описание. С боем забрали их, но только вечером поняли, причем тут вообще авто-шоу…
Григорий Кошелев, тимлид одной из команд Контура, хочет сделать Java-митап в Екатеринбурге этой весной. Если ваша жизнь связана с JVM и вы из Екатеринбурга — помогите Грише и заполните анкету, пожалуйста: https://goo.gl/g56Z2f
А если вы из другого города или больше уважаете .NET, посмотрите доклад про интеграцию виртуальных машин .NET и Java: https://www.youtube.com/watch?v=E3SfXloQdfw
YouTube
Григорий Кошелев — Интеграция виртуальных машин .NET и Java
Подробнее о конференции DotNext: https://jrg.su/3WmFRE
— —
Предположим, стоит задача в .NET-сервисе преобразовать XML в PDF, но при этом уже есть проверенное временем решение на Java — Apache FOP. Можно переписать всё на C#, воспользоваться кросс-компиляцией…
— —
Предположим, стоит задача в .NET-сервисе преобразовать XML в PDF, но при этом уже есть проверенное временем решение на Java — Apache FOP. Можно переписать всё на C#, воспользоваться кросс-компиляцией…
8 февраля в Екатеринбурге пройдет митап UralJS#6. Будем обсуждать типизацию, избавляться от this и учиться оптимизировать React-приложения.
Если вы из Екатеринбурга — присоединяйтесь к нашей тусовке. А если живете далеко — посмотрите доклады наших ребят, в статье на Хабре мы собрали ссылки на избранные выступления.
https://habrahabr.ru/company/skbkontur/blog/347502/
Если вы из Екатеринбурга — присоединяйтесь к нашей тусовке. А если живете далеко — посмотрите доклады наших ребят, в статье на Хабре мы собрали ссылки на избранные выступления.
https://habrahabr.ru/company/skbkontur/blog/347502/
Хабр
[Екатеринбург, анонс] UralJS #6 — три доклада о типизации, проблемах this и оптимизации React-приложения
В четверг 8 февраля в 19:00 в коворкинге «Соль» пройдет первая в 2018 году встреча UralJS. Разберемся, почему в Контуре TypeScript победил Flow, послушаем рецеп...
Всем привет! Наш разработчик и исследователь безопасности Дмитрий Титаренко @dscheg рассказал, как легко пробить дыру в безопасности при использовании Random.cs в .NET, если не позаботиться о синхронизации потоков и корректной инициализации генератора псевдослучайных чисел.
Читайте на Хабре, как предсказывать будущее и прошлое ГПСЧ и почему Microsoft не исправляет баги в его реализации:
https://habrahabr.ru/company/skbkontur/blog/347758/
Читайте на Хабре, как предсказывать будущее и прошлое ГПСЧ и почему Microsoft не исправляет баги в его реализации:
https://habrahabr.ru/company/skbkontur/blog/347758/
Хабр
Неслучайная случайность, или Атака на ГПСЧ в .NET
Random numbers should not be generated with a method chosen at random. — Donald Knuth Копаясь как-то в исходниках одного сервиса в поисках уязвимостей, я наткнул...
Привет! И снова Хабр.
Илья Локтионов @iloktionov, тимлид инфраструктурной команды, написал статью-шпаргалку про сюрпризы ConcurrentDictionary в .NET:
— внутреннее устройство (striped locking)
— сложность атомарных и производных операций
— трюки и недокументированные возможности
— подводные камни, связанные с избыточной аллокацией памяти и нагрузкой на сборщик мусора
Читайте на Хабре: https://habrahabr.ru/company/skbkontur/blog/348508/
Илья Локтионов @iloktionov, тимлид инфраструктурной команды, написал статью-шпаргалку про сюрпризы ConcurrentDictionary в .NET:
— внутреннее устройство (striped locking)
— сложность атомарных и производных операций
— трюки и недокументированные возможности
— подводные камни, связанные с избыточной аллокацией памяти и нагрузкой на сборщик мусора
Читайте на Хабре: https://habrahabr.ru/company/skbkontur/blog/348508/
Хабр
Интересные сюрпризы ConcurrentDictionary (+разбор задачи с DotNext 2017 Moscow)
Привет всем, кто пишет код для .NET, особенно многопоточный. Редко встретишь потокобезопасный код без потокобезопасных коллекций, а значит, нужно уметь ими польз...
Кстати, на стенде Контура на конференции DotNext прошлой осенью была задачка, вдохновлённая как раз статьёй Ильи — первая версия статьи появилась у нас во внутренней соцсети. На разбор задачки с бенчмарками от Максима Сычёва @sychevmax пришло, наверно, человек 70. Если вы были на DotNext — почитайте, освежите память
Вот эту картинку из статьи можно вместо плаката над столом повесить:
Хабр без конца :)
Сегодня статья от Павла Егорова @xoposhiy, руководителя отдела обучения разработчиков в Контуре и одного из авторов этого канала — помните посты о нашем участии в ICFP Contest 2017? Прошлой осенью Паша помог в подготовке к конференциям Joker и DotNext — придумал короткую, но нетривиальную задачку на оценку сложности алгоритма.
Всего на двух конференциях эту задачу на стенде Контура решило 155 человек. Я уверен, что среди читателей этого канала есть несколько человек из этих 155 :)
В статье для Хабра Паша подробно разбирает задачу, раскрывает статистику о том, кто решал задачу успешнее — джависты или дотнетчики, и рассказывает о курсе по оценке сложности алгоритмов на «нашей маленькой Курсере»: https://habrahabr.ru/company/skbkontur/blog/348870/
Сегодня статья от Павла Егорова @xoposhiy, руководителя отдела обучения разработчиков в Контуре и одного из авторов этого канала — помните посты о нашем участии в ICFP Contest 2017? Прошлой осенью Паша помог в подготовке к конференциям Joker и DotNext — придумал короткую, но нетривиальную задачку на оценку сложности алгоритма.
Всего на двух конференциях эту задачу на стенде Контура решило 155 человек. Я уверен, что среди читателей этого канала есть несколько человек из этих 155 :)
В статье для Хабра Паша подробно разбирает задачу, раскрывает статистику о том, кто решал задачу успешнее — джависты или дотнетчики, и рассказывает о курсе по оценке сложности алгоритмов на «нашей маленькой Курсере»: https://habrahabr.ru/company/skbkontur/blog/348870/
Habr
Экспресс-оценка сложности алгоритма (+разбор задачи c Joker 2017 и DotNext 2017 Moscow)
Для любого практического применения log(n) можно считать константой. Просто в некоторых компаниях эта константа больше, чем у вас. © народная мудростьПоловину жизни я учу программировать. В том числе...