Search
Write a publication
Pull to refresh
5
0

Специалист по БД

Send message

Веломузыка

Reading time5 min
Views9K

Тема портативного аудио на велосипеде часто становится актуальной после регулярных покатушек. Само по себе катание на велосипеде с группой алкобайкеров знакомых лиц не похоже на обычные встречи. Большую часть пути все находятся в молчании. От монотонного кручения педалей и относительно бедного ночного разнообразия перед глазами (днем ведь работаем, а катаемся вечером) нечто под названием желание переходит в скуку. Скучно долго монотонно молча крутить педали, одиноко. Какой выход?
«Каждый видит лишь то, что в нем уже есть» — не считае эту статью, как руководство к воровству тишины соседа. Никто этого не делал, и не собирается.
Нужен связующий элемент — музыка. Слушаешь ее — знаешь что слушает сосед. Заместо невозможности говорить получаем возможность слушать. Часто ли в жизни у вас бывают моменты когда все люди слушают и молчат? ( маршрутки с радио не в счет, там водитель свои уши отдает радиостанции, видимо от страха незнания что с ними делать). Поэтому очень важно слушать то, что вы действительно считаете нужным и продуманным. Что-то я все не про то.
Читать дальше →

Паттерн Visitor. Продвинутое использование

Reading time7 min
Views49K
Здравствуйте, дорогие хабравчане!

Я хочу поделиться с вами своим опытом использования паттерна проектирования visitor и его интересной модификацией, которую я назвал upcast visitor. К сожалению, непросто придумать простой короткий пример и описать как все работает, также эта статья может показаться сложной для начинающих, тем не менее я постараюсь максимально упростить задачу. Примеры кода приведены на языке С++ и обязательны к прочтению. Без понимания кода вникнуть в суть статьи будет затруднительно.

Предыстория


Представьте, что мы проектируем 2D игру, в которой фрукты падают с дерева, по пути ударяясь о ветки. Цель игры — поймать все фрукты, двигая корзину под деревом.
Строим следующую диаграмму классов:
Читать дальше →

Выпущен релиз-кандидат SQL Server 2012

Reading time2 min
Views9.6K
image

На прошлой неделе состоялся важный выпуск новой предварительной версии сервера баз данных SQL Server 2012, который ранее был известен под кодовым именем Denali. Новая предварительная версия носит статус Release Candidate (релиз-кандидат), что во-первых, означает ее готовность для промышленного тестирования, а во вторых говорит нам о полнофункциональном статусе продукта, который на этом этапе уже укомплектован всеми функциями, которые будут доступны в финальном релизе.

Говорить про нововведения в SQL Server 2012 можно очень долго, новое поколение базы данных содержит массу новшеств во всех компонентах. Небольшая часть нововведений кратко описывается в этой статье посвященной первому анонсу Denali.

Загрузить SQL Server 2012 Release Candidate 0 (RC0) можно отсюда.

Читать дальше →

Еще один способ держать провода в порядке

Reading time1 min
Views9.2K


Доброго всем утра!
Как видно на фотографии, мною был обнаружен еще один способ содержания проводов в порядке. В общем-то, все видно из приложенного изображения, но ежели кто хочет подробностей, фотоурока быстрого монтажа конструкции и результаты — прошу под кат.
Читать дальше →

Идеальная маркерная доска

Reading time5 min
Views173K
Доска маркерная или whiteboard является практически обязательным атрибутом любой, уважающей себя, команды разработчиков. При должном умении и желании обычная доска способна сэкономить массу времени и существенно улучшить результат работы команды — быстрый и эффективный способ коммуникации всегда был очень критичным и непосредственно влиял на результат коллективных усилий.

Но можно ли сделать сам инструмент приятнее? Добавить изюминку?


Читать дальше →

То, чего вы не ждали от калькулятора. Пасьянс на bc

Reading time4 min
Views7.5K
Невинные развлечения с bash больше не кажутся мне чем-то особенным. В качестве своей следующей цели для экспериментов я выбрала GNU bc — консольный калькулятор и скриптовый математический язык программирования в одной коробке. Эта статья наверняка будет полезна всем линуксоидам и юниксоидам, не очень тесно знакомым с bc.



Итак, короткое введение в программирование на bc, кавай и нэки пасьянс на чистом bc и поэтессы.
Всё это можно найти под катом.

Материализованные представления, как средство контроля целостности данных

Reading time8 min
Views34K
Контроль целостности данных — одна из важнейших функций СУБД. Чем тщательнее этот контроль организован, тем проще реализовывать прикладную логику, ведь чем больше ограничений контролируется базой данных, тем меньше вариаций «а что, если» следует предусмотреть при реализации логики. В то же самое время контроль целостности оказывается достаточно удобно использовать и для проверки корректности работы прикладного слоя. Что-то вроде юнит-тестов. «Лишняя» проверка, порой может сослужить очень добрую службу.

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

Но есть и другой путь. В некоторых случаях оказывается возможным использование ограничений, наложенных на материализованные представления, обновляемые по факту фиксации транзакций (fast refresh on commit). Такие ограничения будут работать как отложенные (deferred) и не будут позволять зафиксировать транзакцию, если вдруг целостность данных оказалась нарушенной. В рамках же модифицирующей транзакции ограничения могут нарушаться. С одной стороны это упрощает модификацию данных, с другой, мешает идентифицировать источник ошибки. В этой статье я хотел бы привести пару простых примеров реализации таких ограничений.
Читать дальше →

Minecraft закончен

Reading time1 min
Views18K


После нескольких лет разработки Minecraft, наконец-то, дорос до полноценного релиза. Вчера Нотч объявил, что игра ушла на «золото» и будет официально представлена 18 ноября на первой конференции Minecon (это сборище фанов игры, названное по образцу известного фанатского фестиваля Comicon). Скорее всего, там же состоится официальная презентация iOS-и Android-версий.
Читать дальше →

Хроника root.yandex.ru

Reading time2 min
Views8.4K

Несколько дней назад завершилась вторая Олимпиада Яндекса для Linux — администраторов.

Олимпиада состояла из трех туров.
Задачи, с которыми столкнулись наши игроки — из жизни, их ежедневно решают системные администраторы Яндекса.

Вопросы первого тура были сложные, и только 500 участников ответило хотя бы на один.
В итоге во второй тур прошли 36 человек, десять из них вышли в финал и приехали 11 ноября в московский офис Яндекса.

Во время финала игроки чинили серверы, и помогали им настоящие админские бубны:


Финальное задание было настолько трудное, что нам пришлось дать дополнительное время, чтобы определить трех суперфиналистов. Двоих других участников определила жеребьевка среди игроков и викторина, где нужно было ответить на вопрос «Сколько системных администраторов работает у нас в компании?».

В суперфинале мы дали игрокам очень сложное практическое задание. С ним справился лишь наш победитель – он смог починить на сервере сеть, веб-сервер и неработающий ssl-сайт ructfe.org, остальные игроки справились только с сетью.

Победителем стал Валерий Терешко из Минска, второе место – у Владимира Русинова из Воронежа, на третьем месте – Вадим Гончаров из Томска.

После розыгрыша участники посетили один из шести наших дата-центров и вернулись в офис на торжественное вручение призов и традиционное для админов «пиво-пати».

Поздравляем победителя и призеров, благодарим всех участников и зрителей!
И еще раз приносим искренние извинения нашим игрокам за технические проблемы, возникшие во время второго тура.

Хотя олимпиада завершилась, мы планируем опубликовать ответы на вопросы и выложить образы заданий второго тура, финала и суперфинала.

Следите за новостями на сайте root.yandex.ru, в клубе Олимпиады или в Твиттере — #yaroot.

Оргкомитет root.yandex.ru

 

.

Фото и видеофайлы в домашней коллекции — обработка и хранение

Reading time5 min
Views3.8K
Предисловие

Думаю, каждый фотолюбитель вроде меня сталкивался с выбором оптимального способа обработки и хранения своих фотографий. В данной статье я хочу затронуть эту тему и предложить свой вариант. Очень хочу услышать другие варианты использования.
Так получилось, что мне уютно находиться и выполнять задачи в Linux-системах, поэтому все скрипты для линукса. Но ось — не главное, главное — правильный подход.

Читать дальше →

Библия проектирования. Часть первая. Создание мира

Reading time3 min
Views5.3K
image

Ну вот ты и стал главным. Теперь все тебя будут слушаться, а твои спецификации будут цитировать в джире зарвавшимся еретикам. Твое творение будет вечным, и пока ты здесь, никто не сможет его уничтожить. На радостях ты выпиваешь лишние пол-литра амброзии, а в понедельник приходишь с больной головой, готовый творить.

Читать дальше →

Полочная акустика своими руками

Reading time12 min
Views528K
Однажды я задумал собрать себе качественную акустику для озвучивания небольшой комнаты, а также для использования в качестве мониторов ближнего поля при работе со звуком на компе (хобби). Главное требование — адекватное звучание по отношению к источнику. Не чтобы «низы колбасило» или «тарелочки звенели», а именно адекватное естественное звучание. Итак, собираем качественные «полочники».
Читать дальше →

Запись ликбез-вебинара про Закон о защите персональных данных

Reading time1 min
Views3.9K
Сегодня мы провели вебинар, посвященный пресловутому Закону о защите персональных данных (РФ). Ведущий вебинара Евгений Царев (автор более 10 исследований, 50 статей и 300 публикаций и комментариев в СМИ по информационной безопасности) рассказал о новых моментах в законодательстве, а также ответил на множество вопросов участников.

Запись и презентация в открытом доступе доступны по ссылке.
Читать дальше →

Книга «Основы Blender 2.6» готова!

Reading time1 min
Views43K
Книга «Основы Blender» переводится на русский уже в 3-й раз. Это замечательное учебное пособие написано Джеймсом Кронистером, преподавателем компьютерной графики Central Dauphin Hight School. Он на протяжении уже 7 лет обновляет и дополняет свой учебный курс, распространяя его под свободной лицензией Creative Common. На этот раз это «Основы Blender 4-е издание» посвященное новой версии Blender 2.60.

В книге рассказывается об основах 3D-моделирования, текстурирования, работы с освещением и материалами, анимации. В новой версии Джеймс более подробно рассматривает вопрос создания игр и работы с GLSL-материалами. Подробно описываются методики использования физического движка для создания интерактивных приложений и анимации объектом.

На данный момент «Основы Blender 4-е издание» это первое и единственное учебное пособие по Blender 2.60 на русском языке.

Выход PDF-версии книги для печати планируется к Новому Году.

ThinkPad Tablet — планшет бизнес-класса

Reading time9 min
Views35K
В этом году Lenovo представила сразу три планшета на базе Android — два в серии IdeaPad (K1 на Nvidia Tegra и бюджетный одноядерный A1), и один в серии ThinkPad, именуемый просто — ThinkPad Tablet. Буквально на днях бизнес-планшет появился в продаже в России, и я стал одним из первых его владельцев. В отличие от ноутбука, имеющего ряд заданных и легко измеряемых характеристик, планшет — устройство для личного использования, о котором набор бенчмарков не скажет ровным счетом ничего. Поэтому я не стал брать тестовый экземпляр, а реализовал давнее желание стать владельцем компактного устройства с сенсорным экраном. В этом материале — подробный обзор устройства, но сразу могу сказать, что о покупке я не пожалел. Это одно из самых совершенных устройств по части железа, с действительно полезным набором дополнительных программ «из коробки» и, наконец, с весьма продуманным набором фирменных аксессуаров.
Читать дальше →

Делаем из встроенной вспышки макро вспышку

Reading time1 min
Views7.1K
Последнее время стало популярным делать бюджетное макро из перевернутого кита, но переделка одного только объектива не дает желаемого результата. Для макро нужен хороший свет, а хорошая вспышка стоит тоже не мало, что делает данное решение не таким уж и бюджетным. Поснимав с фонариком свои макро загадки, я быстро понял, что надо что-то придумать. Пучки из оптики и прочее мне не подходят, сложно. Тогда я сделал светоотражающий кожух на встроенную вспышку.



Читать дальше →

OpenStreetMap в помощь велосипедистам

Reading time5 min
Views75K

Вступление


Представьте, что сейчас лето, солнце светит, у вас отпуск, и вы с друзьями — заядлые велосипедисты. Возникает мысль о велосипедном походе куда-нибудь далеко. В этой статье я расскажу о том, как OpenStreetMap-технологии и некоторые другие сервисы упрощают жизнь в такой ситуации, решают проблемы планирования и позволяют быстро и просто поделиться впечатлениями. Упор делается на online, я упоминаю ресурсы:
Читать дальше →

Быстрое вступление в rack

Reading time7 min
Views47K

Что за Rack?


По словам Christian Neukirchen — автора гема rack — он создан для обеспечения минимального API для подключения веб-серверов, поддерживающих Ruby (WEBrick, Mongrel и т.д.) и ruby веб-фреймворками (Rails, Sinatra и др.).

Такие фреймворки, как например Sinatra, построены над Rack или у них есть rack-интерфейс, позволяющий серверам веб-приложений подключаться к ним.

Цель rack проста — он позволяет с легкостью обрабатывать HTTP-запросы.

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

REST vs SOAP. Часть 1. Почувствуйте разницу

Reading time6 min
Views484K
Некоторое время назад я гуглил интернет по поводу “REST vs SOAP”, прочитал пару статей и вроде бы все понял, но не почувствовал от этого никакого удовлетворения. Что-то было не так, то ли я не почувствовал основную идею, то ли просто читал, одновременно слушая новый музон и думая о новой фиче в проекте. Как появилось время, решил восполнить этот пробел, заодно написав полезную статью по этому поводу.
Читать дальше →

SQL Server 2008: бэкапим с умом. Часть 1: Теория

Reading time6 min
Views107K
Добрый день, друзья. В этой статье я хотел бы рассказать, о чем стоит задуматься, прежде чем настраивать систему резервного копирования баз данных. Несмотря на то, что в первую очередь рассматривается использование данного подхода с MS SQL Server, принципы, изложенные здесь, легко проецируются на любую другую технологию. Ну что ж, поехали.

Читать дальше →

Information

Rating
7,066-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Database Developer
ASP.NET Web API
PostgreSQL
Git