• Применение DBREPLICATION при свёртке баз данных на Microsoft SQL Server

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

      Читать дальше →
      • +16
      • 4.7k
      • 8
    • Lock-free структуры данных. Concurrent maps: rehash, no rebuild


        Пройдем по следам C++ 2015 Russia далее.
        В предыдущей статье мы рассмотрели алгоритм для lock-free ordered list и на его основе сделали простейший lock-free hash map. У этого hash map есть недостаток: размер хеш-таблицы постоянен и не может быть изменен в процессе роста числа элементов в контейнере. Это не представляет проблемы, если мы заранее примерно представляем требуемый объем контейнера. А если нет?
        Читать дальше →
        • +34
        • 17.1k
        • 8
      • Lock-free структуры данных. Concurrent map: разминка


          Мне оказали честь — пригласили выступить на первой конференции C++ 2015 Russia 27-28 февраля. Я был насколько наглым, что запросил 2 часа на выступление вместо положенного одного и заявил тему, наиболее меня интересующую — конкурентные ассоциативные контейнеры. Это hash set/map и деревья. Организатор sermp пошел навстречу, за что ему большое спасибо.
          Как подготовиться ко столь ответственному испытанию выступлению? Первое — нарисовать презентацию, то есть кучу картинок, желательно близко к теме. Но надо ещё и два часа озвучивать картинки, — как все это запомнить? Как избежать глубокомысленных «ээээмммм», «здесь мы видим», «на этом слайде показано», несвязных прыжков повествования и прочих вещей, характеризующих выступающего c не очень хорошей стороны в части владения родным языком (это я про русский, с C++ я разобрался быстро — никакого кода в презентации, только картинки)?
          Конечно, надо записать свои мысли, глядя на слайды. А если что-то написано, то не худо бы и опубликовать. А если публиковать, — то на хабре.
          Итак, по следам C++ 2015 Russia! Авторское изложение, надеюсь, без авторского косноязычия, без купюр и с отступлениями по теме, написанное до наступления события, в нескольких частях.
          Читать дальше →
        • Практическая биоинформатика

              Обнаружил жесткую нехватку информации по биоинформатике в русском сегменте. Не знаю, уж, востребована она или нет, но хочу предоставить на суд читателя вводную часть, которую можно назвать практическая биоинформатика, которой мне очень не хватало для ознакомления с предметом. В этой главе я хочу описать путь, который пришлось пройти мне до настоящего момента, когда я уже не шарахаюсь от фраз: вот вам FASTQ файл и постройте мне bed graph для genome browser. Чтобы в дальнейшем вести разговор об интересном, хочу по диагонали пройтись по определениям и программам первичной обработки данных, без которых трудно говорить на одном языке.
          Читать дальше →
        • Опыт заказа в китайских интернет-магазинах

            В данной статье хотелось бы поделиться с читателями своим личным опытом о китайских интернет-магазинах, в которых мне (или моим друзьям) приходилось делать покупки. Речь пойдет именно про электронный сегмент товаров. Сразу перейду к сути, и приведу обзоры этих самых магазинов с заключительной оценкой:
            Читать дальше →
          • Как сохранить здоровье, работая за компьютером?

            Иллюстрация

            Вы заботитесь о своем здоровье?


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

            Что оказалось непросто. В данной статье я расскажу о моем способе организации «правильного» рабочего дня, о том, что следует для этого делать, и где лежат грабли, на которые нельзя наступать. Тема «компьютер и здоровье» уже несколько раз поднималась на Хабре, поэтому я задумывал этот пост как статью, которую можно добавить в закладки и использовать в качестве «руководства к действию».

            Читать дальше →
          • Новая версия сшивалки панорам Microsoft Image Composite Editor (ICE), будущие фичи

              ScreenShot00156

              Обновилась бесплатная сшивалка панорам ICE, о предыдущей версии которой я как-то писал. Технологическая база в этой программе весьма продвинутая, качество результата высокое, поэтому продукт заслуживает внимания.
              Новые возможности и улучшения:
              • Улучшена поддержка многопоточности.
              • Поддержка 16-битной глубины цвета на входе и выходе.
              • Специальный шаблон для панорамы снятой рядами, оптимизирует подготовку гигапикcельных панорам и ускоряет получение предварительного результата.
              • Экспорт панорамы на сайт Photosynth.

              Читать дальше →
            • Форензика. Компьютерная криминалистика. Н.Н. Федотов

                image

                Уважаемые хабраюзеры!

                Позвольте порекомендовать вам единственную и по-настоящему стоящую книгу по тематике компьютерной криминалистики на русском языке.

                Аннотация говорит сама за себя:
                Читать дальше →
              • Ускорение загрузки Windows for fun and profit

                  image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

                  Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
                  Под катом много однообразных картинок и немножко унылого текста
                • Найм персонала: О важности примитивных вопросов

                    Вам приходилось бывать на долгих собеседованиях? На многоуровневых собеседованиях? А может вы такие проводите сами? Многие компании ведут подобную практику, и большие и маленькие, но подобная практика имеет ряд очевидных минусов. Таких, как впустую потраченое время на интервьюирование человека по полной программе, который не подходит просто по техническим навыкам. В данной статье я хочу описать подход к интервью технических навыков (про остальное не забываем, но в статье рассматривать не будем), который, возможно, сбережет вам кучу времени. Сутью подхода является задавание вопросов, которые грамотный специалист расценит как: «Ты что дурак? Меня о таком спрашивать!»
                    Читать дальше →
                  • Немного о многопоточном программировании. Часть 1. Синхронизация зло или все-таки нет

                      Мне по работе часто приходится сталкиваться с высоконагруженными многопоточными или многопроцессными сервисами (application-, web-, index-server).
                      Достаточно интересная, но иногда неблагодарная работа — оптимизировать все это хозяйство.
                      Растущие потребности клиентов часто упираются в невозможность просто заменить железную составляющую системы на более современную, т.к. производительность компьютеров, скорость чтения-записи жестких дисков и сети растут много медленнее запросов клиентов.
                      Редко помогает увеличение количества нодов кластера (система как правило распределенная).
                      Чаще приходится запустив профайлер, искать узкие места, лезть в source code и править ляпы, которые оставили коллеги, а иногда и сам, чего греха таить, много лет назад.
                      Некоторые из проблем, связаных с синхронизацией, я попытаюсь изложить здесь. Это не будет вводный курс по многопоточному программированию — предпологается, что читатель знаком с понятием thread и context switch, и знает для чего нужны mutex, semaphore и т.д.
                      Читать дальше →
                    • 20 вещей, которые я должен был знать в 20 лет

                      • Translation
                      1. Мир пытается оставить тебя тупым. Начиная от банковских платежей и процентов и заканчивая чудо-диетами — из необразованных людей легче вытрясти деньги и ими проще управлять. Занимайтесь самообразованием столько, сколько можете — для того, чтобы быть богатым, независимым и счастливым.
                      Читать дальше →
                    • Coursera — это маленькая революция: +12 университетов, >100 онлайн курсов

                        Для тех, кто в танке (т.е. не получает новости от Coursera).

                        Дополнительно присоединились следующие университеты:

                        California Institute of Technology
                        Duke University
                        Ecole Polytechnique Federale de Lausanne
                        Georgia Institute of Technology
                        Johns Hopkins University
                        Princeton University
                        Rice University
                        Stanford University
                        University of California, San Francisco
                        University of Edinburgh
                        University of Illinois at Urbana-Champaign
                        University of Michigan
                        University of Pennsylvania
                        University of Toronto
                        University of Virginia
                        University of Washington

                        Теперь на Coursera можно выбрать интересующий вас курс из более чем 100 доступных, от функционального программирования на Scala от его создателя (Мартин Одерский), курса по иррациональному поведению до курса “Как работают вещи” профессора Луиса Блумфилда.
                        Читать дальше →
                      • Встреча FProg 2012-07 в Петербурге


                          В четверг, 12 июля 2012 года в 19:00 в петербургском офисе компании Яндекс при поддержке компании JetBrains и журнала «Практика функционального программирования» пройдёт очередная встреча FProg. Встреча состоится накануне программистского конкурса ICFP Contest 2012.

                          Обязательная запись на встречу для доступа в офис осуществляется на странице встречи через Twitter-аккаунт.

                          Темы докладов:


                          Читать дальше →
                        • Первая опытно-промышленная партия отечественных мультиклеточных процессоров MCp

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

                            Погордиться отечественной электроникой
                          • Оповещение о новых письмах в Gmail по SMS средствами Google Calendar + Google Apps Script

                            • Tutorial
                            Увы, но этот способ перестанет работать с 27-го июня 2015, т.к. Google отключает функцию sms-оповещений для календаря.
                            support.google.com/calendar/answer/45351?hl=ru

                            Важно! SMS-оповещения будут отключены 27 июня
                            С 27 июня 2015 года вы больше не будете получать SMS-оповещения от Google Календаря. Функция SMS-оповещений была внедрена ещё до широкого распространения смартфонов. Однако современные мобильные устройства позволяют получать оповещения в более удобном формате и даже в офлайн-режиме.
                            Для просмотра оповещений вы можете использовать приложение календаря, которое было установлено на смартфоне по умолчанию, либо скачать Google Календарь для Android или iPhone. Подробнее об оповещениях…
                            Примечание. Это изменение не коснется пользователей Google Apps for Work, Education и Government.




                            Хочу поделиться с Харбра-обществом полезным, с моей точки зрения, лайвхаком: уведомления по SMS о новой почте в ящике Gmail. Реализуется это небольшим скриптом, который живет и работает в Google Drive (бывшие Google Docs).

                            Принцип работы следующий: скрипт по таймеру проверяет папку «Входящие» в почтовом ящике и если обнаруживает новые письма, то создает в google calendar событие с именем, как тема письма, и включает для него SMS уведомление. В результате вам приходит SMS сообщение следующего содержания:

                            Напоминание: Тема письма @ дата и время

                            Подробности реализации, как всегда, под «катом».
                            Подробности
                          • Опубликованы записи докладов и интервью с конференции DevCon'12



                              Отличная новость для всех, кто участвовал или по каким-то причинам не смог принять участие в конференции DevCon’12: на сайте конференции и ресурсе TechDays опубликованы все видеозаписи и презентации докладов.

                              В открытом доступе вы найдете:
                              • более 50 докладов по 8 ключевым темам;
                              • пленарные доклады 1-го и 2-го дней;
                              • запись сессии вопросов и ответов со Скоттом Хансельманом, главным архитектором по проектам с сообществами Microsoft;
                              • интервью с докладчиками конференции, состоявшиеся непосредственно на DevCon’12 во время перерывов.
                              Перейти к списку докладов и интервью с DevCon'12
                            • Google запускает сервис облачных вычислений Compute Engine

                                Урс Холл, вице-президент Google по технической инфраструктуре анонсировал новый сервис от компании добра — Compute Engine. По его словам, фокус нового сервиса основан на производительности, масштабируемости и стоимости. Он показал приложение по вычислению генома, запущенное на 600 000 ядрах
                                image
                                Другое приложение использовало 10 000 виртуальных машин, но и это не предел, Google будет предоставлять на 50% большую вычислительную мощность, чем остальные компании.

                                Читать дальше →
                              • Code Review Open Source проектов

                                  Анонсирую собственный эксперимент — сборник обзоров исходного кода Open Source проектов. В первом приближении, проекты ограничиваются JVM платформой. Формат обзоров — цикл сухих статей, объединенных рассматриваемым проектом. В обзор попадают архитектурные особенности, ошибки разработчиков и другие интересные детали реализации.
                                  Читать дальше →
                                • Распознавание речи на STM32F4-Discovery

                                  image
                                  В этой статье я хочу рассказать о том, как можно распознавать речь на микроконтроллере, используя отладочную плату STM32F4-Discovery. Поскольку распознавание речи — достаточно сложная задача даже для компьютера, то в данном случае оно проводится при помощи сервиса Google. Распознавание речи таким способом может пригодится в разных задачах, например в одном из устройств «умного дома».
                                  Читать дальше →