В прошлом своем посте я писал о создании всплывающих менюшек, сегодня же мы поговорим о более важной теме такой, как хранение данных. В android есть несколько способов хранения данных: общие настройки, бд и тд. В этом посте я расскажу о том как хранить данные в БД.
User
Что такое Excel Mashup, и кому это может пригодиться?
11 min
18KРезюме поста в нескольких предложениях
- Возможности Excel в части удаленного доступа и совместной работы с документами на сегодняшний день по меньшей мере сопоставимы с Google Docs;
- Excel-документ может быть интегрирован в html-страницы с сохранением значительной части функциональности, т.е. формулы и pivot tables будут работать;
- Я, равно как и любой другой человек, могу опубликовать свой Excel-документ таким образом, что ваше, равно как и чье-либо еще, веб-приложение сможет:
- отрисовать и открыть его для ручного ввода значений в ячейки,
- напрямую взаимодействовать с ним через JavaScript;
- У Microsoft есть сайт, посвященный интеграции Excel-документов в веб-приложения; также в природе существуют jQuery плагины, позволяющие сделать эту интеграцию быстрой и безболезненной;
- С практической точки зрения пользователь получает следующие плюшки:
- JavaScript представляет широкие возможности для визуализации и анимации Excel-таблиц, а также создания на их базе интерактивных приложений и дэшбордов;
- Возможность работы с Excel-документами на планшетах и мобильных устройствах;
- Удобный инструмент для создания рабочих прототипов систем управленческой отчетности.
+21
Статистика ожиданий SQL Server'а или пожалуйста, скажите мне, где болит
13 min
119KTranslation
Сколько раз вы испытывали проблемы с производительностью SQL Server'а и решали, куда именно смотреть?
Одна из самых редко используемых методологий устранения проблем с производительностью SQL Server'а называется «Ожидания и очереди» (также известная как «статистика ожиданий»). Основная предпосылка методологии состоит в том, что SQL Server постоянно отслеживает, какие потоки выполнения должны ждать. Вы можете запросить у SQL Server'а эту информацию для того чтобы сократить перечень возможных причин проблем с производительностью. «Ожидания» — это то, что отслеживает SQL Server. «Очереди» — это ресурсы, доступ к которым ожидают потоки. Система обычно фиксирует огромное количество ожиданий, и все они означают ожидание доступа к различным ресурсам. Для примера, ожидание PAGEIOLATCH_EX означает, что поток ожидает чтения страницы данных с диска в буферный пул. Ожидание LCK_M_X означает, что поток ожидает возможности наложить эксклюзивную блокировку на что-то.
Отличная новость состоит в том, что SQL Server знает, в чем именно заключаются проблемы с производительностью, и все что вам нужно — это спросить у него… и потом правильно интерпретировать то, что он скажет, что может быть немного сложнее.
Одна из самых редко используемых методологий устранения проблем с производительностью SQL Server'а называется «Ожидания и очереди» (также известная как «статистика ожиданий»). Основная предпосылка методологии состоит в том, что SQL Server постоянно отслеживает, какие потоки выполнения должны ждать. Вы можете запросить у SQL Server'а эту информацию для того чтобы сократить перечень возможных причин проблем с производительностью. «Ожидания» — это то, что отслеживает SQL Server. «Очереди» — это ресурсы, доступ к которым ожидают потоки. Система обычно фиксирует огромное количество ожиданий, и все они означают ожидание доступа к различным ресурсам. Для примера, ожидание PAGEIOLATCH_EX означает, что поток ожидает чтения страницы данных с диска в буферный пул. Ожидание LCK_M_X означает, что поток ожидает возможности наложить эксклюзивную блокировку на что-то.
Отличная новость состоит в том, что SQL Server знает, в чем именно заключаются проблемы с производительностью, и все что вам нужно — это спросить у него… и потом правильно интерпретировать то, что он скажет, что может быть немного сложнее.
+22
ИБП для роутера
4 min
229KВначале был свет, и было хорошо. Внезапно, отключили электричество, и родилась идея.
Дома имеется планшет и пара телефонов, которые позволяют пользоваться интернетом без шнурка к розетке. Инет приходит через 3G модем и раздается роутером через Wi-Fi. Остается мелочь – заставить работать роутер при отсутствии электричества.
Вот тут я и вспомнил про старенький источник бесперебойного питания (ИБП) Back-UPS 300. Вполне себе рабочий девайс, но давно пылящийся по причине того, что «ничего он не тянет, да и нафиг он нужен».
Идея такая – упростить схему, исключив преобразование в 220В, понижать 12В сразу в 5В и получить приличное время автономной работы.
Дома имеется планшет и пара телефонов, которые позволяют пользоваться интернетом без шнурка к розетке. Инет приходит через 3G модем и раздается роутером через Wi-Fi. Остается мелочь – заставить работать роутер при отсутствии электричества.
Вот тут я и вспомнил про старенький источник бесперебойного питания (ИБП) Back-UPS 300. Вполне себе рабочий девайс, но давно пылящийся по причине того, что «ничего он не тянет, да и нафиг он нужен».
Идея такая – упростить схему, исключив преобразование в 220В, понижать 12В сразу в 5В и получить приличное время автономной работы.
+139
Бюджетная маркерная доска за 730 рублей своими руками
3 min
154KВ хабратопике Фотографии рабочих мест хабражителей и… был один интересный комментарий от хабрапользователя hermit931
И в мозге сразу возникла мысль: «Зачем я выкинул старые деревянные окна при ремонте квартиры !» Мозг продолжил выдавать мысли: «Как сделать маркерную доску с наименьшими денежными затратами и наибольшей долговечностью и эффективностью».
Я поделился идеей с коллегой. Через пять минут спрашиваю: «Что ты думаешь о том, чтобы сделать маркерную доску». Как выяснилось, он за эти пять минут уже перечетал все хабратопики по этому поводу (параллельно этим занимался и я).
Мы с коллегой проанализировали все хабратопики по изготовлению маркерных досок своими руками и разделили их на две группы:
1) Маркерные доски по технологии: подложка + цветной фон + стекло
Контрастная и долговечная маркерная доска
Идеальная маркерная доска
Маркерная доска своими руками
Общее описание: Весьма надежно и капитально, но обходится весьма дорого. Можно немного доплатить и взять фабричную маркерную доску из магазина.
2) Маркерные доски с применением самоклеящейся пленки или скотча на белой бумаге
Бюджетная маркерная доска
Маркерная доска
Общее описание: Обходится очень дешево, но это пленка на бумаге, которая имеет маленькую износоустойчивость.
Хотелось совместить прочность первой группы и дешевизну второй. Кому интересно, что у нас получилось — прошу под кат.
… Ах да — у меня не совсем доска, а из старого окна рама со стеклом ) разница не большая, только в весе :)
И в мозге сразу возникла мысль: «Зачем я выкинул старые деревянные окна при ремонте квартиры !» Мозг продолжил выдавать мысли: «Как сделать маркерную доску с наименьшими денежными затратами и наибольшей долговечностью и эффективностью».
Я поделился идеей с коллегой. Через пять минут спрашиваю: «Что ты думаешь о том, чтобы сделать маркерную доску». Как выяснилось, он за эти пять минут уже перечетал все хабратопики по этому поводу (параллельно этим занимался и я).
Мы с коллегой проанализировали все хабратопики по изготовлению маркерных досок своими руками и разделили их на две группы:
1) Маркерные доски по технологии: подложка + цветной фон + стекло
Контрастная и долговечная маркерная доска
Идеальная маркерная доска
Маркерная доска своими руками
Общее описание: Весьма надежно и капитально, но обходится весьма дорого. Можно немного доплатить и взять фабричную маркерную доску из магазина.
2) Маркерные доски с применением самоклеящейся пленки или скотча на белой бумаге
Бюджетная маркерная доска
Маркерная доска
Общее описание: Обходится очень дешево, но это пленка на бумаге, которая имеет маленькую износоустойчивость.
Хотелось совместить прочность первой группы и дешевизну второй. Кому интересно, что у нас получилось — прошу под кат.
+34
Еще раз об архитектуре Android приложения или джентльменский набор библиотек
6 min
57KВот надумал написать обзор библиотек с помощью которых легко и удобно писать приложения под Android.
Список вырисовывается такой:
Если заинтересованны прошу под кат.
Список вырисовывается такой:
Если заинтересованны прошу под кат.
+55
Интересные моменты в C# ч.2
5 min
34KВ данной статье я хотел бы рассказать о некоторых особенностях представления объектов в памяти в .Net, оптимизациях, проводимых компиляторах, и продолжить традицию товарища mynameco, написавшего эту статью
Этот пост не ориентирован на кулхацкеров, поэтому если вы знаете, что using компилируется с конструкцией вызова Dispose для энумератора, что для работы оператора foreach не обязательно использовать интерфейсы, а достаточно иметь метод GetEnumerator, возвращающий энумератор корректной сигнатуры, что сам Enumerator — изменяемая (мутабельная) структура, что может стать причиной неожиданного бага… То просьба не заходить и не читать, сэкономьте свое время, не надо оставлять посты вроде «КГ\АМ», «боян», и «Капитаны отаке». Остальных прошу под кат.
Этот пост не ориентирован на кулхацкеров, поэтому если вы знаете, что using компилируется с конструкцией вызова Dispose для энумератора, что для работы оператора foreach не обязательно использовать интерфейсы, а достаточно иметь метод GetEnumerator, возвращающий энумератор корректной сигнатуры, что сам Enumerator — изменяемая (мутабельная) структура, что может стать причиной неожиданного бага… То просьба не заходить и не читать, сэкономьте свое время, не надо оставлять посты вроде «КГ\АМ», «боян», и «Капитаны отаке». Остальных прошу под кат.
+19
Интересные моменты в C# (foreach)
2 min
78KВ этой статье мы коротко пройдемся по особенностям foreach. Первый момент вы скорее всего знаете, второй момент вы скорее всего не знаете.
Предыдущая статья об Array
Предыдущая статья об Array
+48
ABCat: OpenSource каталогизатор и загрузчик аудиокниг
7 min
17KАудиокниги я открыл для себя пять лет назад и с тех пор слушаю их практически ежедневно. Конечно, ничто не сравнится с печатной книгой, но в ежедневной круговерти на них просто не остается времени. Под аудиокниги я езжу в общественном транспорте, выполняю рутинную работу по дому, делаю ремонт — в общем практически всё, что не требует общения с кем-либо или концентрации внимания.
Основным источником книг для меня стал rutracker.org (тогда еще torrents.ru). Там достаточно строгая модерация, стандартизированное оформление, большое количество отзывов под каждой книгой. Но однажды я заметил что поиск интересных книг начинает отнимать всё больше и больше времени, по нескольким причинам.
Во-первых раздачи сортируются не в порядке добавления, а в порядке обновления. Из-за этого всё постоянно перемешивается и нужно пролистывать много страниц в поисках непрочитанных книг.
Отделять прочитанное от непрочитанного первое время позволял браузер, меняя цвет ссылок, по которым я уже переходил. Но после смены домена на rutracker цветовая дифференциацияштанов раздач слетела, что точно не упростило процесс поиска.
Разделение книг по форумам тоже довольно неудобно. Фантастику, например, разделили на русскую и зарубежную, хотя лично мне удобнее было бы по жанрам. В результате приходится на глаз выискивать любимую НФ среди фентези, S.T.A.L.K.E.Rа и др.
Знакомая проблема?
Основным источником книг для меня стал rutracker.org (тогда еще torrents.ru). Там достаточно строгая модерация, стандартизированное оформление, большое количество отзывов под каждой книгой. Но однажды я заметил что поиск интересных книг начинает отнимать всё больше и больше времени, по нескольким причинам.
Во-первых раздачи сортируются не в порядке добавления, а в порядке обновления. Из-за этого всё постоянно перемешивается и нужно пролистывать много страниц в поисках непрочитанных книг.
Отделять прочитанное от непрочитанного первое время позволял браузер, меняя цвет ссылок, по которым я уже переходил. Но после смены домена на rutracker цветовая дифференциация
Разделение книг по форумам тоже довольно неудобно. Фантастику, например, разделили на русскую и зарубежную, хотя лично мне удобнее было бы по жанрам. В результате приходится на глаз выискивать любимую НФ среди фентези, S.T.A.L.K.E.Rа и др.
Знакомая проблема?
+24
Получение административных привилегий в Microsoft SQL Server
7 min
45KTutorial
Введение
После смены рабочей станции начал ставить на нее Micorosft SQL Server 2008 R2 и чуть было не натолкнулся на традиционные грабли, связанные с улучшенной безопасностью в этой версии. Если в Microsoft SQL Server 2005 группа локальных администраторов по умолчанию включалась в роль sysadmin на SQL сервере, то в 2008-й в эту роль не включается никто:В итоге, в инсталляции по умолчанию получается ситуация, в которой к инстансу не имеет административного доступа никто, то есть сделать с этим инстансом нельзя ничего кроме как периодически перезагружать его. Также такая ситуация возникает, когда тот, кто устанавливал SQL сервер, назначив себя единственным администратором, увольняется — например такая ситуация возникла нашими админами.
Данный пост показывает решение этой проблемы и предоставляет автоматизированное решение этой проблемы в виде скрипта, ровно как и рассказывает историю его написания, иллюстрируя мощь WMI, которая недопустимо замалчивается в литературе и в интернете.
+14
Как я писал модуль обновления на C#
8 min
44KЯ пишу программы на C# для фирмы, где их использует несколько сотен человек. Время от времени добавляются новые функции и встаёт проблема обновления версий.
Я решил не искать стандартных громоздких решений, а изобрести свой собственный велосипед для автоматического обновления установленных программ.
Честно, мне самому не очень нравятся приложения, которые вечно скачивают обновления, но в моём случае проще автоматизировать этот процесс, чем писать должностные инструкции и заставлять коллег скачивать обновления вручную (а потом бегать по всем этажам и делать это самому).
Я решил не искать стандартных громоздких решений, а изобрести свой собственный велосипед для автоматического обновления установленных программ.
Честно, мне самому не очень нравятся приложения, которые вечно скачивают обновления, но в моём случае проще автоматизировать этот процесс, чем писать должностные инструкции и заставлять коллег скачивать обновления вручную (а потом бегать по всем этажам и делать это самому).
-3
Настройка WinDbg
3 min
96KWinDbg — позволяет отлаживать 32/64 битные приложения пользовательского уровня, драйвера, может быть использован для анализа аварийных дампов памяти, WinDbg поддерживает автоматическую загрузку отладочных символов, имеется встроенный скриптовый язык для автоматизации процесса отладки, скачать отладчик можно тут.
+35
Замена фона в Гимпе — рабочее решение
3 min
26KTutorial
В комментариях к посту Clipping Magic... я посетовала на невозможность качественно отделить объект от фона в Гимпе. Я с мая искала рабочий способ замены фона, чтобы не мучиться с фотошопом в убунту, которая давно уже является у меня единственной осью на десктопе. Прочитав сотни уроков (в том числе уроков по ручному созданию подобных масок в фотошопе, т.к. маски в гимпе почти не отличаются), я так и не нашла способа, который был бы таким же быстрым и качественным, как Refine Edges в CS5-6. А вчера в каталоге плагинов на официальном сайте Гимпа был выложен плагин, который наконец-то справился с задачей.
Итак, встречайте:
Итак, встречайте:
+28
Делаем систему видеонаблюдения
4 min
242KОписание системы
Стандартные видеодомофоны имеют известные ограничения по качеству картинки и углу обзора. Кроме того, видеодомофоны, как правило, не выполняют архивацию видео и не поддерживают просмотр видео внешними устройствами. В качестве дополнения к видеодомофону автором в частном порядке была спроектирована и реализована данная система.
Система является аналогом видеоглазка, подключенного к телевизору, выполняющим архивацию видео и поддерживающим просмотр видео через локальную сеть (LAN или Wi-Fi). Основными элементами системы являются: IP-камера, коммутатор с поддержкой PoE, неттоп, Wi-Fi роутер. Программное обеспечение, установленное на неттопе, обеспечивает:
— просмотр видео с IP-камеры на экране телевизора, подключенного к неттопу через HDMI;
— архивацию видео с IP-камеры на жесткий диск неттопа (1 ч видео требует порядка 1,3 ГБ);
— просмотр видео с IP-камеры на устройствах, подключенных к неттопу, как к web-серверу (работает с любым броузером);
— просмотр видео с IP-камеры на устройствах, подключенных к неттопу, как к DLNA-серверу.
Структурная схема системы:
+28
10 девайсов, которые вы можете проапгрейдить, немного поковырявшись с электроникой
4 min
180KTranslation
Правило №1 в DIY: никогда не довольствуйтесь тем, что вам дано. Вы можете проапгрейдить или улучшить все что угодно обладая скромными познаниями и приложив немного усилий, особенно если вы немного знакомы с электроникой. Под катом 10 домашних предметов, которые вы можете круто прокачать, используя капельку припоя и ряд DIY ноу-хау.
+98
Ethernet метеостанция
6 min
148KБыло написано множество статей на тему вариаций погодных станций на платформе Arduino. Вывод данных везде был различен. Позвольте представить мою вариацию, с выводом данных через Ethernet.
Итоговое фото сборки:
+27
Включите мой комп!
2 min
111KЗадача включить или ребутнуть удаленный компьютер у человека связанного с разработкой возникает достаточно часто. Чтобы не напрягать коллег и домашних давайте переложим эти обязанности на ардуинку, тем более что на Ebay подешевели Ethernet шилды на W5100.
+28
События .NET в деталях
9 min
151KЕсли вы .NET программист, то вы наверняка объявляли и использовали события в своем коде. Несмотря на это, не все знают, как события работают внутри и какие особенности связаны с их применением. В этой статье я попытался описать работу событий как можно более подробно, включая некоторые частные случаи, с которыми редко приходится иметь дело, но про которые важно и\или интересно знать.
+55
Фильтр Калмана
10 min
431KTutorial
В интернете, в том числе и на хабре, можно найти много информации про фильтр Калмана. Но тяжело найти легкоперевариваемый вывод самих формул. Без вывода вся эта наука воспринимается как некое шаманство, формулы выглядят как безликий набор символов, а главное, многие простые утверждения, лежащие на поверхности теории, оказываются за пределами понимания. Целью этой статьи будет рассказать об этом фильтре на как можно более доступном языке.
Фильтр Калмана — это мощнейший инструмент фильтрации данных. Основной его принцип состоит в том, что при фильтрации используется информация о физике самого явления. Скажем, если вы фильтруете данные со спидометра машины, то инерционность машины дает вам право воспринимать слишком быстрые скачки скорости как ошибку измерения. Фильтр Калмана интересен тем, что в каком-то смысле, это самый лучший фильтр. Подробнее обсудим ниже, что конкретно означают слова «самый лучший». В конце статьи я покажу, что во многих случаях формулы можно до такой степени упростить, что от них почти ничего и не останется.
+168
Как подключить сторонний браузер в приложении на C#
3 min
99KTutorial
Recovery Mode
В определенный момент мне стало некомфортно использовать стандартный контрол WebBrowser, предлагаемый Visual Studio.
Причин было несколько:
1. Использовался IE-движок, что само по себе уже сильный аргумент.
2. Кривая работа с JS.
3. Отсутствие масштабирования.
4. Если запустить на машине, где стоит IE6, то все его «достоинства» переносятся на приложение.
В итоге был начат поиск альтернативных решений.
Было рассмотрено 2 SDK. xulrunner(Mozilla) и Awesomium(Chrome)
Подключение обоих происходит примерно одинаково, но на всякий случай опишу оба.
+57
Information
- Rating
- Does not participate
- Location
- Белгород, Белгородская обл., Россия
- Registered
- Activity