Pull to refresh
7
0
Вячеслав Юданов @Zrok

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

Send message

Циан — Удаленка

Reading time 8 min
Views 3.9K

Привет!

Меня зовут Слава, я технический руководитель направления «Застройщики» в Циан. «Застройщики» — это большая команда, внутри которой работают 25 человек. Из них 18 — разработчики и тестировщики. С середины 2019 года мы участвовали в экспериментах по удаленной работе в Циан. У нас успешно получилось перейти на частичную удаленку к началу 2020-го, еще до начала коронавирусных ограничений. Хочу рассказать об опыте перехода Циан на удаленку, в первую очередь со стороны IT.

С 23 марта наша команда работает из дома, компания больше 200 дней ведет удаленную работу. За это время мы успели закончить запланированный квартал, адаптироваться к полностью удаленной работе и запланировать новый квартал. Наш опыт может быть интересен тем, кто сейчас совершает похожую трансформацию или просто хочет узнать, как это прошло у других.

Читать далее
Total votes 9: ↑8 and ↓1 +7
Comments 2

Часть 2. Циан — удаленка. Как мы нанимаем? Над чем еще работаем?

Reading time 7 min
Views 6.3K

Привет!

Меня зовут Слава, я технический руководитель направления «Застройщики» в Циан. Внутри направления работают 25 человек. Из них 18 — разработчики и тестировщики. С середины 2019 года мы участвовали в экспериментах по удаленной работе в Циан. 

18 декабря я опубликовал статью о переходе на удаленку в Циан. Это ее продолжение.

Читать далее
Total votes 12: ↑6 and ↓6 0
Comments 22

2 мыши = 2 курсора

Reading time 2 min
Views 55K
imageОднажды, встал такой вопрос: а почему у меня 2 мышки и 1 курсор? И тогда мы начали искать решение и мы его нашли. Это был проект Сpnmouse, правда он был заброшен еще в 2004 году, но это нам ни капли не помешало.
Посмотрим что из этого вышло!
Total votes 101: ↑86 and ↓15 +71
Comments 150

The Powder Toy

Reading time 2 min
Views 8.4K
Предлагаю вашему вниманию отличную игру, за которой вы возможно проведете не один вечер. Эта игра относится к разряду тех в которые можно легко научиться, но сложно стать профессионалом. Да и профессионалом становиться не обязательно. Это просто отличное убиение времени. В основе игры лежит физика. Здесь, с помощью около 40 материалов, можно сделать практически все. Калькулятор, вулкан, ядерную бомбу (или реактор, кому как нравится), огнемет. Да у меня просто фантазии на все не хватит.

http://powder.hardwired.org.uk/
Более того, она относится к open-source продуктам.
http://powder.hardwired.org.uk/Download/powder-33.2-src.zip

Например здесь собран настоящий бинарный калькулятор.
image

А здесь собран десятичный калькулятор.

Игра имеет отличный движок для воплощения многих ваших идей!
Читать дальше →
Total votes 69: ↑56 and ↓13 +43
Comments 41

Настраиваем внешний вид Windows 7

Reading time 4 min
Views 344K
В последнее время я стал замечать, что большая часть пользователей «семерки» используют стандартную тему оформления, которую разработчики ласково назвали Aero.

На мой взгляд, она излишне ориентирована на планшеты. Об этом нам говорят огромные кнопки управления окном и излишне широкие заголовки и рамки окон — все это придает интерфейсу некоторую громоздкость. Кроме того, разработчики перемудрили с разнообразием цветовой гаммы: все эти прозрачности, переливания, градиенты и прочие изыски создают своеобразный эффект грязи.

Возможно, кому-то так нравится, кому-то безразлично, кто-то привык, а кто-то попросту не знает, что все это можно изменить.

Поехали!
Total votes 263: ↑181.5 and ↓81.5 +100
Comments 167

Here be dragons: Управление памятью в Windows как оно есть [3/3]

Reading time 5 min
Views 147K

Каталог:
Один
Два
Три

μTorrent


Это, пожалуй, самая забавная часть. При очевидно высоких навыках программирования, авторы либо не читали, либо не поняли вот этот документ. Вот что происходит с дефолтными настройками:
Читать дальше →
Total votes 323: ↑300 and ↓23 +277
Comments 171

Here be dragons: Управление памятью в Windows как оно есть [2/3]

Reading time 5 min
Views 39K

Каталог:
Один
Два
Три

Оказывается длинные опусы нужно разбивать. А я то думал «многосерийные» топики публикуют исключительно для зарабатывания рейтинга :-)

Продолжу с места в карьер, так как где разбилось — там разбилось, а писать дополнительные введения к каждой серии выше моих сил.
Читать дальше →
Total votes 274: ↑251 and ↓23 +228
Comments 34

Here be dragons: Управление памятью в Windows как оно есть [1/3]

Reading time 8 min
Views 174K

Каталог:
Один
Два
Три

Менеджер памяти (и связанные с ним вопросы контроллера кеша, менеджера ввода/вывода и пр) — одна из вещей, в которой (наряду с медициной и политикой) «разбираются все». Но даже люди «изучившие винду досконально» нет-нет, да и начинают писать чепуху вроде (не говоря уже о другой чепухе, написанной там же):
Грамотная работа с памятью!!! За все время использования у меня своп файл не увеличился ни на Килобайт. По этому Фаерфокс с 10-20 окнами сворачивается / разворачивается в/из трея как пуля. Такого эффекта я на винде добивался с отключенным свопом и с переносом tmp файлов на RAM диск.

Или к примеру μTorrent — у меня нет никаких оснований сомневаться в компетентности его авторов, но вот про работу памяти в Windows они со всей очевидностью знают мало. Не забываем и товарищей, производящих софт для слежения за производительностью и не имеющих ни малейшего понятия об управлении памятью в Windows (и поднявших по этому поводу истерику на пол интернета, на Ars-е даже был разбор полетов). Но самое потрясающее, что я видел всвязи с управлением памятью — это совет переместить pagefile на RAM-диск:
Из моих трех гигабайт под RAM disk был выделен один (на тот момент, когда на лаптопе еще была установлена XP), на котором я создал своп на 768МБ ...

Цель данной статьи — не полное описание работы менеджера памяти (не хватит ни места ни опыта), а попытка пролить хоть немного света на темное царство мифов и суеверий, окружающих вопросы управления памятью в Windows.
Читать дальше →
Total votes 360: ↑338 and ↓22 +316
Comments 85

50 цитат о программировании всех времён

Reading time 6 min
Views 158K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8 +328
Comments 136

Управление требованиями к IT-проектам

Reading time 9 min
Views 122K
Добрый день, уважаемое хабросообщество!

Я уже давно являюсь читателем этого замечательного ресурса и вот, наконец, решил попробовать и свои силы. Я заметил, что тема управления проектами на Хабре освещена довольно широко в соответствующем блоге, а вот об управлении требований ничего найди не удалось. Что ж, пришло время восполнить этот пробел!

image

Введение


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

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

Читать дальше →
Total votes 86: ↑53 and ↓33 +20
Comments 84

Обработка больших объемов данных в памяти на C#

Reading time 7 min
Views 88K
Хочу поделиться недавно приобретенным в C# опытом по загрузке и обработке в памяти больших объемов данных. Все нижеуказанное касается Visual Studio 2008 и .Net Framework 3.5.1, на случай каких-либо отличий в других версиях языка или библиотек.

Итак, у нас возникли следующие задачи:
1. Расположить в памяти до 100 миллионов записей, состоящих из строки, длиной 16 символов (уникальный ключ) и двух целочисленных значений, длиной 4 байта каждый;
2. Быстро находить и редактировать запись по ключу.

Читать дальше →
Total votes 110: ↑95 and ↓15 +80
Comments 122

Обзор C# библиотек для работы с PDF

Reading time 5 min
Views 165K
topic image
На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.

Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
Читать дальше →
Total votes 87: ↑77 and ↓10 +67
Comments 24

Silverlight + Augmented reality + Shaders

Reading time 6 min
Views 3K
Привет всем.

Я люблю работать с Silverlight, и вот недавно натолкнулся на Дополненную реальность с использованием Silverlight. Про неё и на Хабре уже писали, и в блогах довольно много написано, но я всё же немного повторюсь. Сама идея дополненной реальности интересна, но я хотел использовать её как-то необычно. И вот недавно руки дошли до изучения пиксельных шейдеров. Стало интересно попробовать соединить это вместе.

Если интересно, что из этого получилось, то Добро пожаловать под кат:
Читать дальше →
Total votes 52: ↑37 and ↓15 +22
Comments 14

Генерируем OfficeOpenXML-документы за 5 минут

Reading time 4 min
Views 76K
Часто надо бывает из приложения на ASP.NET сгенерировать отчёт на сервере в OpenXML-формате.

Есть несколько привычных способов сделать это:
  1. «Нашёл, слинковал, заюзал» – идём в Гугл, ищем библиотеку для генерации docx или xlsx, подключаем, разбираемся, генерируем. Это привычно, но долго.
  2. «Фу» – использовать COM. Это не рекомендуется, требует установленного Microsoft Office на сервере, не очень thread-safe, с x64 не дружит и вообще старомодно.
  3. «Ъ» – разобраться с форматом, собрать из XML и зазипать. Брутально.
  4. «Microsoft way» – об этом способе рассказывается под катом.

Читать дальше →
Total votes 71: ↑63 and ↓8 +55
Comments 31

Ликвидатор велосипедов: часть 2

Reading time 3 min
Views 34K
Исходя из того, что первая статья насобирала много плюсов и попала в избранное большого количества человек, я понял что тема актуальна и во-первых призываю подтянуться сообщество (ведь я не могу знать абсолютно все библиотеки и решения), а во-вторых буду продолжать своими силами рассказывать о том какие библиотеки можно подтянуть, если необходимо что-то сделать вместо того чтобы делать все новые и новые велосипеды, состоящие из водопроводных труб.

В этом топике я затрону важную для многих тему — тему рисования графиков в платформе .NET. Вспомните: ведь наверняка когда-то было просто необходимо вывести на экран красивый график… И что происходило? Правильно, появлялся новый велосипед.

Часть первая из серии



Читать дальше →
Total votes 85: ↑71 and ↓14 +57
Comments 36

Вызов native кода из C#. Маршалинг структур

Reading time 3 min
Views 16K

Все чаще перед разработчиками стала вставать задача вызова native методов из managed кода. В большинстве случаев — вызов сделать достаточно просто, но иногда встречаются неприятные случаи, такие как метод, который содержит структуру с динамическим массивом структур, содержащих динамический массив структур.
Опытом такого маршалинга хочу поделиться.
Total votes 40: ↑31 and ↓9 +22
Comments 13

DXCore — Бесплатная библиотека для создания плагинов в Visual Studio

Reading time 2 min
Views 10K


В данной статье мы хотим сделать краткий обзор DXCore и рассказать, чем может быть полезна эта .NET библиотека.

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

Мы стараемся проектировать API этой библиотеки так, чтобы максимально упростить процесс создания плагинов — чтобы разработчики могли сосредоточится на функциональности и по возможности избежать основных сложностей интеграции с Visual Studio.
Читать дальше →
Total votes 50: ↑40 and ↓10 +30
Comments 12

«Оживление» пользовательского интерфейса

Reading time 12 min
Views 32K
image

Приложение не отвечает?!


Многие из тех, кто программирует WPF-приложения, наверное тысячи раз писали конструкцию вида:
{Binding Items}

Если получение элементов коллекции Items выполняется в основном потоке приложения и занимает некоторое время — мы получаем «мертвый» пользовательский интерфейс. Приложение некоторое время не будет отрисовывать изменения состояния и реагировать на пользовательский ввод.
Читать дальше →
Total votes 104: ↑97 and ↓7 +90
Comments 10

Декартово дерево: Часть 1. Описание, операции, применения

Reading time 15 min
Views 149K

Оглавление (на данный момент)


Часть 1. Описание, операции, применения.
Часть 2. Ценная информация в дереве и множественные операции с ней.
Часть 3. Декартово дерево по неявному ключу.
To be continued...

Декартово дерево (cartesian tree, treap) — красивая и легко реализующаяся структура данных, которая с минимальными усилиями позволит вам производить многие скоростные операции над массивами ваших данных. Что характерно, на Хабрахабре единственное его упоминание я нашел в обзорном посте многоуважаемого winger, но тогда продолжение тому циклу так и не последовало. Обидно, кстати.

Я постараюсь покрыть все, что мне известно по теме — несмотря на то, что известно мне сравнительно не так уж много, материала вполне хватит поста на два, а то и на три. Все алгоритмы иллюстрируются исходниками на C# (а так как я любитель функционального программирования, то где-нибудь в послесловии речь зайдет и о F# — но это читать не обязательно :). Итак, приступим.

Введение


В качестве введения рекомендую прочесть пост про двоичные деревья поиска того же winger, поскольку без понимания того, что такое дерево, дерево поиска, а так же без знания оценок сложности алгоритма многое из материала данной статьи останется для вас китайской грамотой. Обидно, правда?

Следующий пункт нашей обязательной программы — куча (heap). Думаю, также многим известная структура данных, однако краткий обзор я все же приведу.
Представьте себе двоичное дерево с какими-то данными (ключами) в вершинах. И для каждой вершины мы в обязательном порядке требуем следующее: ее ключ строго больше, чем ключи ее непосредственных сыновей. Вот небольшой пример корректной кучи:


На заметку сразу скажу, что совершенно не обязательно думать про кучу исключительно как структуру, у которой родитель больше, чем его потомки. Никто не запрещает взять противоположный вариант и считать, что родитель меньше потомков — главное, выберите что-то одно для всего дерева. Для нужд этой статьи гораздо удобнее будет использовать вариант со знаком «больше».

Сейчас за кадром остается вопрос, каким образом в кучу можно добавлять и удалять из нее элементы. Во-первых, эти алгоритмы требуют отдельного места на осмотр, а во-вторых, нам они все равно не понадобятся.
А теперь собственно про декартово дерево
Total votes 166: ↑161 and ↓5 +156
Comments 30

Xaps Minifier. Дополнение для Visual Studio 2010, позволяющее уменьшать размер Silverlight приложений

Reading time 6 min
Views 1.9K
Я постоянно работаю с Silverlight приложениями и выкладываю релизы регулярно. Как правило, я использую паттерн MVVM и его реализацию Prism. В результате создаётся несколько XAP файлов, содержащих сборки приложения и манифест.

Каждый, кто работает в соответствии с таким подходом, замечает, что большинство XAP файлов содержат дублирующиеся сборки. Например, при использовании библиотеки Prism, практически каждый XAP файл будет содержать все сборки из этой библиотеки. Prism добавляет порядка 300 Кб к каждому XAP файлу, что может увеличить размер приложения более чем на 1 Мб (при наличии 4-5 XAP файлов). Кроме того, дополнительные библиотеки (в первую очередь UI элементов) могут ещё более увеличить размер приложения.

Все эти факты заставили меня начать поиск пути уменьшения размеров XAP файлов.
далее
Total votes 48: ↑34 and ↓14 +20
Comments 5
1

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity