Хотелось бы поговорить с хабросообществом на тему того, кто и как, проводит большую часть своей жизни, а именно рабочее время. Было бы интересно узнать, это у всех вокруг что-то не то, или в моей нейронной сетке контроллеры глючат. В основном все работающее население можно поделить на две основные категории. Это работающие в небольших компаниях, и работающих в корпорациях.
vuspenskiy @vuspenskiy
User
Аспекты структурирования
4 min
696Ассоциативные связи по словам структурирование, упорядочивание, систематизация, классификация, кластеризация уводят, во-первых, в область, связанную с контентом, понятиями, знаниями и т. п. Само осмысление содержит этот аспект структурирования — мы понимаем предмет, если «разложили его по полочкам», установили необходимые связи и взаимоотношения. В определенном смысле это «пространственная» деятельность, т.к. происходит в неком пространстве, будь оно двумерное на бумаге, где рисуются узлы-объекты-понятия и связи между ними, абстрактное математическое из теории графов, или же всё происходит в человеческой голове, в «пространстве мышления». Второе направление «организационное», оно больше относится к согласованию и регламентации различных связанных процессов и ассоциируется с временем, динамикой. Например, согласование человеческой активности в социуме. Или последовательности выполнения операций в компьютерном процессоре. В этом смысле программирование (по крайней мере наиболее распространенные его парадигмы) представляет собой «временное» структурирование. С этой точки зрения почти любая человеческая активность относится к пространственно-временному структурированию.
+4
Визуальные спецификации
15 min
68KСпецификации — это скука смертная. Пожалуй, это самая скучная часть работы управляющего продуктом. Возможно, именно поэтому большинство спецификаций ужасны и являются главным источником задержек, переделок и багов.
Активные коммуникации и доступность управляющего продуктом помогают решить проблему недостаточно хороших спецификаций, но далеко не всегда.
Agile движение имеет свой взгляд на спецификации. Наиболее экстремальное крыло выражает свои взгляды так:
В жопу спецификации!
Активные коммуникации и доступность управляющего продуктом помогают решить проблему недостаточно хороших спецификаций, но далеко не всегда.
Agile движение имеет свой взгляд на спецификации. Наиболее экстремальное крыло выражает свои взгляды так:
В жопу спецификации!
+95
Java: executor с уплотнением по ключам
6 min
16KСуществует типичная проблема в большом классе задач, которая возникает при обработке потока сообщений:
— нельзя пропихнуть большого слона через маленькую трубу, или другими словами, обработка сообщений не успевает «проглотить» все сообщения.
При этом существуют некоторые ограничения на поток данных:
- поток не равномерный и состоит из событий разного типа
- количество типов событий заранее не известно, но некоторое конечное число
- каждый тип события имеет свою актуальность во времени
- все типы событий имеют равный приоритет
На диаграмме приведён пример разрешения проблемы: нагребатор(tm), работающий на нитке T1, в то время как разгребатор(tm) работает на нитке T2
- за время обработки события типа A успевают прийти новые события как типа B, так и A
- после обработки события типа B необходимо обработать наиболее актуальное событие типа A
Т.о. стоит задача о выполнении задач по ключу, так, что выполняется только самая актуальная из всех задач по данному ключу.
На суд публике представляется созданный нами ThrottlingExecutor.
Замечание терминологии: stream есть поток данных, тогда как thread есть нитка или нить выполнения. И не стоит путать потоки с нитками.
Замечание 1: проблема осложняется ещё тем, что может быть несколько нагребаторов(tm), при этом каждый нагребатор(tm) может порождать только события одного типа; с другой стороны есть потребность в нескольких (конечно же, для простоты можно выбрать N=1) разгребаторах(tm).
Замечание 2: мало того, что данный код должен работать в многопоточной (конкурентной) среде — т.е то самое множество нагребаторов(tm) — разгребаторов(tm), код должен работать с максимальной производительностью и низкими latency. Резонно к этим всем качествам добавить ещё и свойство garbage less.
И почти в каждом проекте так или иначе возникает эта задача, и каждый её решает по разному, но все они либо не эффективны, либо медленны, либо и то, и другое вместе взятое.
+29
Никогда не отвлекай программиста
2 min
241KВо многих компаниях программистам запрещают работать в наушниках или отвлекают их по мелким вопросам. Вероятно, причина кроется в плохой информированности менеджеров и других сотрудников, насколько вредно так делать.
Крис Парнин (Chris Parnin) из технологического института Джорджии решил восполнить этот недостаток и опубликовал чрезвычайно насыщенную статью со ссылками на различные исследования по этой теме.
Для начала, несколько фактов, которые относятся ко всем работникам интеллектуального труда. Задача, прерванная по ходу выполнения, занимает в два раза больше времени и содержит вдвое больше ошибок, чем та же задача, которая выполнялась без прерывания (Czerwinski:04). Офисные сотрудники вынуждены отвлекаться при выполнении 57% задач (Mark:05). Опросы говорят о том, что сотруднику требуется в среднем 15 минут, чтобы вернуться в нормальный ритм после того, как его отвлекли (vanSolingen:98).
Крис Парнин (Chris Parnin) из технологического института Джорджии решил восполнить этот недостаток и опубликовал чрезвычайно насыщенную статью со ссылками на различные исследования по этой теме.
Для начала, несколько фактов, которые относятся ко всем работникам интеллектуального труда. Задача, прерванная по ходу выполнения, занимает в два раза больше времени и содержит вдвое больше ошибок, чем та же задача, которая выполнялась без прерывания (Czerwinski:04). Офисные сотрудники вынуждены отвлекаться при выполнении 57% задач (Mark:05). Опросы говорят о том, что сотруднику требуется в среднем 15 минут, чтобы вернуться в нормальный ритм после того, как его отвлекли (vanSolingen:98).
+233
Events bubbling и events capturing
5 min
64KПредставьте, что на странице есть два блока, и один вложен в другой, как это показано на рисунке. В разметке страницы это выглядит так:
<div id="block_outer">
<div id="block_inner"></div>
</div>
А теперь представьте, что к блоку #block_outer привязано событие onClickOuter, а к блоку #block_inner, соответственно, событие onClickInner. И ответьте на вопрос, как сделать так, чтобы при клике на блок #block_inner, событие onClickOuter не вызывалось? И будет ли оно вообще вызвано? И если будет, то в каком порядке события будут вызываться? И знаете ли вы, как работает метод jQuery.live или подобные в других библиотеках (events delegation в ExtJS, например)?
+81
BumpTop — 3D Desktop
1 min
2.3KРазмещайте предметы на полу и на стенах, увеличивайте и уменьшайте их размеры, меняйте угол обзора. Отлично проработанная физика позволяет предметам на вашем рабочем столе взаимодействовать: сложите стопку из текстовых файлов или бросьте видеофайлом в папку. С поддержкой мультитач технологий этот десктоп становится настоящей находкой. Ну всё, хватит разговоров — быстрее смотрите видео…
+17
Чему я научился в Майкрософт
9 min
6KTranslation
Проработав пять лет в различных командах в Майкрософт я вынес несколько вещей, о которых я даже не подозревал, когда оканчивал колледж. Основные ценности, чему я научился, вынесенные уроки, причина моего крика на друзей, как ни называй, они сослужили мне хорошую службу.
Некоторые из этих вещей специфичны для Майкрософт, но большая часть найдет применение в любой командной/корпоративной среде. Некоторые из них сложны – из-за них тебя могут уволить (а может и хуже), если ты не знаешь, что делаешь.
Некоторые из этих вещей специфичны для Майкрософт, но большая часть найдет применение в любой командной/корпоративной среде. Некоторые из них сложны – из-за них тебя могут уволить (а может и хуже), если ты не знаешь, что делаешь.
+190
Делаем таймер или первый проект на ПЛИС
9 min
206KНачну свою первую статью с того, что сообщу: в предмете статьи я сам новичок, но выбрал именно такую тему. Объясню почему. Читаю хабр уже достаточно долго и мне всегда были интересны топики тех, кто сам в настоящий момент изучает то, о чем повествует. Такие статьи всегда понятны, всегда находят свою аудиторию и всегда предают читающему интерес и энтузиазм автора, который у новичков в любой области обычно зашкаливает!
Так вот, недавно я заинтересовался темой ПЛИС, столкнувшись с ними на учебе, прочитал много всяких доков и заказал себе Starter Kit для экспериментов. Теперь, получив полигон для экспериментов по почте и проведя первый эксперимент, я готов поделиться с хабраюзерами. Надеюсь будет интересно.
Так вот, недавно я заинтересовался темой ПЛИС, столкнувшись с ними на учебе, прочитал много всяких доков и заказал себе Starter Kit для экспериментов. Теперь, получив полигон для экспериментов по почте и проведя первый эксперимент, я готов поделиться с хабраюзерами. Надеюсь будет интересно.
+77
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity