Pull to refresh
0
0
Send message

Утки, Таиланд и T-SQL… или что может подстерегать программистов при работе с SQL Server?

Reading time33 min
Views48K

Все начиналось довольно обыденно… Зачитывался Рихтером и усиленно штудировал Шилдта. Думал, что буду заниматься разработкой под .NET, но судьба на первом месяце работы распорядилась иначе. Один из сотрудников неожиданно покинул проект и во вновь образовавшуюся дыру докинули свежего людского материала. Именно тогда и началось мое знакомство с SQL Server.

С тех пор прошло чуть меньше 6 лет и вспомнить можно многое…

Про бывшего клиента Джозефа из Англии, который переосмыслил жизнь, за время отпуска в Таиланде, и в моем скайпе стал подписываться Жозефиной. Про веселых соседей по офису, с которыми приходилось сидеть в одной комнате: один страдал от аллергии на свежий воздух, а другой маялся от неразделенной любви к С++ дополняя это аллергией на солнечный свет. Один раз по команде свыше пришлось на время стать Александром отцом двух детей, чтобы изображать из себя обросшего скилами сениора по JS.
Подробнее
Total votes 76: ↑73 and ↓3+70
Comments48

На пути к правильным SQL транзакциям (Часть 1)

Reading time6 min
Views143K


Мне часто приходилось сталкиваться с тем, что люди прекрасно понимают, что такое транзакции в базе данных и для чего они нужны, но при этом не всегда умеют ими правильно пользоваться. Безусловно, для достижения 80-го уровня сакрального знания нужно иметь не один год опыта и прочесть множество толстенных книг по SQL. Поэтому в этой статье я даже не буду пытаться описать всё, что может быть связано с транзакциями в MS SQL. Я хочу затронуть один простой, но очень важный вопрос, который разработчики часто упускают из вида – уровни изоляции транзакций.
Несмотря на то, что тема очень проста, во многих источниках она освящается плохо – информации либо очень мало, либо очень много. Т.е. прочитав 5-6 кратких теоретических определений невозможно их применить на практике. Для уверенного понимания предмета статьи нужно обращаться к специализированной литературе, но там информации на столько много, что далеко не каждый может уделить необходимое время для её усваивания.
Сегодня я хочу поделиться своим простым рецептом, который помог мне раз и на всегда запомнить особенности уровней изоляции транзакций и по сей день помогает без проблем принимать взвешенные решения о выборе необходимого уровня.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments6

На пути к правильным SQL транзакциям (Часть 2)

Reading time7 min
Views54K


В предыдущей части были рассмотрены основы уровней изоляции транзакций. Здесь я постараюсь копнуть чуть глубже и рассказать при помощи каких инструментов MS SQL Server реализует уровни изоляции.

Как вы могли видеть в предыдущем разделе, существует два способа поддержания изоляции:
  • Основанный на блокировке ресурсов
  • Основанный на создании версионной копии ресурсов.

Режимы, основанные на создании копии данных, достаточно просты для понимания и думаю не требуют особого внимания. При желании углубиться в детали их реализации, я могу предложить обратиться к не плохому описанию на MSDN. Я же хочу рассмотреть, как реализован механизм, основанный на блокировках.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments1

TOP (10) бесплатных плагинов для SSMS

Reading time3 min
Views51K


До того, как начать работать с SQL Server я толком то и баз данных в лицо не видел… Помню, что мне установили SQL Server Management Studio 2005 и дали задание активно «крутить педали». По прошествии пары недель, как бы так сказать, моя производительность по написанию запросов была явно в районе плинтуса…

Более опытный коллега с недоумением на меня посмотрел и посоветовал поставить пару плагинов для SSMS… после этого работать стало явно веселее.

В данном посте я хочу поделиться моим топ списком бесплатных плагинов для SSMS, которыми чаще всего пользовался.
Подробнее
Total votes 24: ↑20 and ↓4+16
Comments12

Консоль 21 века: mosh, tmux, fish

Reading time8 min
Views96K
В своей работе мне приходится проводить чуть ли не все свое время в консоли, как в локальной, так и в удаленной. Нет, что вы, я не жалуюсь, даже наоборот — мне нравятся возможности автоматизации, которые предоставляют консольные инструменты, и работа в консоли вполне продуктивна.

Но если вы проводите за своим инструментом до 80% рабочего времени, то желательно убедиться, что вы не тратите время впустую и что работа доставляет вам удовольствие. В этой статье я бы хотел немного рассказать про те инструменты, которыми я лично пользуюсь каждый день, и про то, как они улучшают user experience (и, часто, продуктивность) при работе с консолью и с удаленными серверами в частности.

Проблемы ssh


При работе с удаленными серверами по ssh есть много вещей, которые могут фрустрировать, но основных проблем две, и первая из них принципиально неразрешима в рамках ssh:

  1. При высоком round-trip latency (>100 ms) пользовательский ввод появляется с ощутимой задержкой, а при использовании мобильного интернета с edge (latency 1000 ms) работа становится подобна пытке
  2. При временных проблемах (несколько минут) с доставкой пакетов, соединение может порваться с write failed: broken pipe, причем узнаете вы об этом только при попытке ввода или при использовании настроек вроде keepaliveinterval


Первая проблема неразрешима потому, что ssh by-design является просто транспортом для байтов, и существующие приложения на это поведение расчитывают. Поскольку ssh не пытается интерпретировать этот поток байтов, он не может осуществлять предиктивный ввод. Лично для меня именно эта проблема наиболее актуальна, поскольку мне приходится работать с серверами в европе и США, и во втором случае задержка составляет около 200 мс и является принципиально неустранимой, по крайней мере до изобретения квантовой коммуникации или чего-нибудь подобного. Вторая же проблема проявляется в наших условиях относительно редко, но всё же неприятно переустанавливать все соединения при сбоях сети (и перезапускать упавшие приложения, если они почему-то не были запущены в screen).

Читать дальше →
Total votes 97: ↑89 and ↓8+81
Comments59

Тысяча и один блистер. Поиск лекарств с завышенной ценой

Reading time3 min
Views41K
Недавно Минздрав выложил таблицу с предельными ценами на жизненно необходимые лекарства, я неслабо заморочился и проверил как часто эти пределы в Москве превышаются.


Читать дальше →
Total votes 98: ↑94 and ↓4+90
Comments174

Подальше от обыденной реальности: фантастические романы, которые стоит прочитать

Reading time4 min
Views142K
image

Фантастика как жанр заставляет читателей и писателей выйти за пределы разумного, дать волю своему воображению и отправиться в неизведанные миры. За это мы и любим этот жанр. RoboHunter этой осенью предлагает с головой погрузиться в мир научной фантастики.
Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments273

Тест на поддержку UTF-8

Reading time2 min
Views13K
Недавно натолкнулся на следующий текстовый файл: ссылка (если сайт не выдержит, искать так) авторства Dr Markus Kuhn из Кембриджа. По сути это просто текст в кодировке UTF-8, однако вся соль в том, что в нем содержатся различные «фишки» кодировки, вроде combining characters. Как вы увидите, даже «простой текст» браузеры отображают кое-где по-разному и кое-где вообще не отображают. Сводная таблица прохождения теста для некоторых известных имен (под Windows 7 64-bit, шрифты по умолчанию):



Стоит заметить, что в Chrome, Firefox, IE моноширинным шрифтом по умолчанию является Courier New, в Opera — Consolas.
Читать дальше →
Total votes 89: ↑72 and ↓17+55
Comments83

Искусство командной строки

Reading time15 min
Views249K


Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

Enjoy!
Total votes 127: ↑122 and ↓5+117
Comments143

URI — сложно о простом (Часть 1)

Reading time12 min
Views295K
image

Привет хабр!

Появилось таки некоторое количество времени, и я решил написать сий пост, идея которого возникла уже давно.
Связан он будет будет с такой, казалось бы, простой вещью, как URI, детальному рассмотрению которой в рунете уделяется как-то мало внимания.

"Пфф, ссылки они и в Африке ссылки, чего тут разбираться?" — скажете вы, тогда я задам вопрос:

Что есть что и куда нас приведет?
  • http://example.com
  • www.example.com
  • //www.example.com
  • mailto:user@example.com

Если вы не знаете однозначного ответа или вам просто интересно и если вы не боитесь огромного количества трехбуквенных аббревиатур — милости прошу под кат.
Читать дальше →
Total votes 80: ↑77 and ↓3+74
Comments47

Как обмануть Корпорацию Добра или покупаем Nexus 7 в России без гуглолотереи

Reading time4 min
Views260K
В недавней статье на Хабре уже шла речь о том, как закупаться на Google Play в разделе Devices прямо из нашего захолустья. Тема бесспорно интересная: Nexus 7 пока в России и близлежащих странах вообще не водится, а Galaxy Nexus, скорее всего, просто обойдется вам значительно дороже, если, конечно, вы не живете в Москве или Питере. Проблема только в том, что рецепт оказался несколько нестабильный: лично меня Самая Добрая Корпорация небезосновательно заподозрила в подтасовке личных данных, а судя по комментариям – я такой оказался далеко не один.

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

Под катом новый рецепт и совсем чуть-чуть скриншотов.
Читать дальше →
Total votes 99: ↑91 and ↓8+83
Comments110

Mi-one новый смартфон Xiaomi

Reading time2 min
Views21K

Пока на хабре не так много статей, посвященных MIUI или Xiaomi, но я уверен, что вскоре это изменится, ведь эти люди смогли сделать воистину удивительное.

Не буду слишком углубляться в историю и скажу лишь, что MIUI начиналась, как обычная кастомная прошивка для Android с не совсем обычным интерфейсом. Разрабатывают её ребята из Китая. При этом измененный интерфейс Андроида в этой прошивке, мягко говоря, напоминает интерфейс небезызвестного телефона на «i».

Так вот, эти самые ребята решили, что прошивка прошивкой, но телефон лучше и, назвавшись Xiaomi, выпустили телефон. Аппарат называется MI-One и имеет весьма неплохие характеристики, позволяющие отнести его к флагманам рынка Android смартфонов.

А чем же он удивителен, узнаем под катом
Total votes 73: ↑64 and ↓9+55
Comments172

Ремаппим клавиатуру и мышь

Reading time3 min
Views228K
Взгляните на свою клавиатуру. Внимательно изучите взглядом каждую клавишу. Изучили? А теперь ответьте на простой вопрос: есть ли на вашей клавиатуре клавиши, которыми вы вообще не пользуетесь? Готов поспорить, что ответ положительный. А почему бы не сделать эти бессмысленные клавиши удобными шорткатами? Именно об этом я расскажу под катом.
Читать дальше →
Total votes 113: ↑100 and ↓13+87
Comments164

Некоторые (полезные) советы по Windows 7

Reading time4 min
Views38K
Содержание:
1. Быстрый запуск приложений с правами администратора
2. Отчет об использовании электроэнергии
3. Поиск в интернете из меню «пуск»
4. Навигация по панели задач
5. Скрытие значка Windows Live Messenger
6. Сворачивание окон
7. Быстрое открытие и закрытие копии приложения
8. Копирование файлов из командной строки в несколько потоков
9. Быстрое управление окном

Читать дальше →
Total votes 282: ↑218 and ↓64+154
Comments113

Сказ о том, как мы карту с биллингом дружили

Reading time10 min
Views5.5K
Хабр, и снова привет! В прошлом году я уже писал одну статью, после этого было несколько попыток написать новую, но все не выходило. Наконец появилась более или менее сформированная мысль, которую я и постараюсь оформить в виде полноценной статьи. Речь пойдет о работе с устройствами, точнее о том, как мы смогли связать базу данных используемого оборудования, их географическое расположение с используемым биллингом. Интересующиеся — под кат.


Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments23

Haipai I9220 — Как китайцы копировали Galaxy Note, а получился 5" планшет

Reading time7 min
Views189K


  • Процессор MT6575, работающий на частоте 1ГГц
  • 512MB оперативки, и 2Гб памяти
  • 2 активные сим-карты(в режиме ожидания, конечно), одна из которых может работать в 3G сетях.
  • Экран 5.1", с емкостным сенсором и разрешением 800х480.
  • Акселерометр, датчик приближения
  • Коммуникации: GPS, Wi-Fi(n), BT
  • 2 камеры: задняя 5Мп, авто-фокус, светодиодная подсветка и фронтальная 0,3Мп
  • Android Ice Cream Sandwich 4.0.3
  • Батарея(даже две) емкостью 2800mAh

Читать дальше →
Total votes 81: ↑69 and ↓12+57
Comments128

Как стать еще мобильнее, или что делать, если рядом нет розетки с 220V?

Reading time4 min
Views43K
image Думаю, многим из нас знакома такая ситуация, когда вдруг обнаруживаешь, что твой телефон или интернет-планшет вот-вот разрядится, причем, происходит это, как назло, в самый неподходящий для этого момент.
Что же делать, если необходимо подзарядить батарею, например, сидя на семинаре вдали от розетки, на пикнике вдали от бортовой сети автомобиля, там, где нет возможности воткуть привычную зарядку в 220V?

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

Читать далее
Total votes 91: ↑75 and ↓16+59
Comments88

on{X}: приложение для Android от Microsoft

Reading time2 min
Views5.8K
Представьте, что вы можете запрограммировать ваш Android так, чтобы он писал вашей жене, когда вы уходите с работы. А теперь представьте, как ваш Android напоминает вам утром захватить зонтик, если в этот же день собирается идти дождь.

На самом деле, это реальность. Как сообщает TechCrunch, Microsoft сегодня представил бета-версию on{X} (произносится «он-экс») — сайта и Android-приложения, которые предоставляют пользователям расширенный контроль над их Android-телефонами с помощью удалённого программирования (да-да, именно Microsoft). Полугики могут воспользоваться готовыми рецептами, тогда как ультрагики могут создать свои сценарии с JavaScript API.
Читать дальше →
Total votes 48: ↑42 and ↓6+36
Comments58

Добавление альбома исполнителя в сервисе Яндекс.Музыка

Reading time1 min
Views5.5K
Как все уже знают, на днях Яндекс анонсировал замечательное приложение Яндекс.Музыка для платформы iOS. На мой взгляд, самая главная киллер-фича данного приложения — это его способность воспроизводить музыку в off-line режиме.

Т.е. дома, открыв music.yandex.ru, добавляете в плейлисты любимую музыку, открываете приложение на iPhone и синхронизируете плей-листы.

Единственный момент, который меня напрягал во всей этой истории — это невозможность работать с музыкой на уровне альбомов. Нужно создать плейлист, назвать его, потом добавить туда все треки из альбома. Когда добавил плейлист — нет обратной ссылки на альбом.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments0

Карманный роутер Sapido RB-1632

Reading time2 min
Views30K


Не могу не поделиться восторгом от недавно купленного устройства.

Роутер, несмотря на свои размеры, имеет множество функций. Помимо стандартных Ethernet -> Wi-Fi, может выступать wifi-клиентом, имеет USB-хост для подключения модема и смартфонов, может одновременно создавать несколько Wi-Fi сетей с разными настройками и прочее. Питается при помощи USB либо от адаптера.
Читать дальше →
Total votes 91: ↑82 and ↓9+73
Comments45

Information

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