Search
Write a publication
Pull to refresh
7
0
Юрий @kin9pin

User

Send message

Простой, но эффективный прием для работы с блоками комментариев SQL

Reading time6 min
Views17K
Разработчикам систем, использующих базы данных, приходится много писать на языке SQL. Все знают, но не все это осознают, что SQL переживает уже четвертый десяток лет как одна из самых успешных и широко распространенных технологий в мире компьютеров. Технологии не стоят на месте, но даже сегодня, многие создатели пост-реляционных систем баз данных специально вкладывают средства и ресурсы для предоставления пользователям SQL-подобных средств поиска и манипуляции данных. Давайте рассмотрим, как современные требования к продуктам для разработки БД облегчают и ускоряют создание корректного кода на SQL и познакомимся с любопытным маленьким трюком.

Недавно наткнулся на простое и эффективное решение одной элементарной даже не проблемы, а неудобства и решил поделиться. Суть вот в чем:

Как и любой практикующий разработчик SQL или администратор БД, я сохраняю скрипты для решения повторяющихся задач, чтобы в будущем уже иметь подготовленный инструмент для быстрого выполнения. С помощью DBArtisan можно автоматически записывать все операторы SQL, которые я выполнял в течение сессии и потом использовать некоторые из них для создания и сохранения таких скриптов.  В среде DBArtisan я могу поместить в главное меню пункты для вызова наиболее часто используемых скриптов или одновременно выполнить скрипт на нескольких серверах.

Естественно, многие из таких повторяющихся задач требуют различных специализированных «кусков кода», в зависимости от решаемой задачи  или БД. Оказалось, что часто быстрее и проще в поддержке не создавать множество однотипных, «почти» совпадающих скриптов SQL или версий, а применять «блочные комментарии» для временного выключения/включения нужного фрагмента SQL и вручную управлять ими в ISQL редакторе.
Читать дальше →

Учим английский: фильмы, книги, словари

Reading time10 min
Views519K
Многие из нас занимаются изучением английского языка, потому что в сфере ИТ большинство документации, форумов и просто полезной информации изложено на универсальном языке – английском. И каждый находит для себя свой подход к обучению: кто-то идет к своей цели постепенно, планомерно, кто-то более экспрессно и выборочно. В самом деле, в Интернете вы найдете более 9000 методик, о том, как эффективно и быстро выучить язык самому. В языковой школе вам предложат несколько целевых программ: от «разговорных навыков делового человека» до «целенаправленной сдачи TOEFL». Чего же нового хочу я предложить? Мы поговорим о «фоновом» изучении языка. Цель моего поста – поделиться с вами способами изучения языка, которые я использовал. Постараюсь показать концепцию в целом, который каждый из вас сможет интегрировать в свой способ познания языка.
image
Читать дальше →

Build 2013 для разработчиков под Windows Phone и дополнительные новости

Reading time5 min
Views9.2K


Продолжаем серию обзорных статей по материалам конференции Build, сегодня мы расскажем про новинки и полезные доклады про Windows Phone.

Ранее в серии:
* Материалы для дизайнеров и проектировщиков
* Материалы для XAML/C#-разработчиков и обновления в Windows 8.1

Общие новости по состоянию рынка Windows Phone с момента запуска WP8:
  • 52k+ новых приложений на WP8 SDK
  • 102k+ новых зарегистрированных разработчиков
  • В 2.5 раза в среднем выросла дневная выручка на приложение
  • 200M ежемесячных загрузок приложений
  • 160k+ приложений доступны в магазине, магазин открыт на 50 языках и 191 рынке.
  • Покупки Windows Phone: 42% переключается с «feature»-телефонов, 23% c телефонов на Android. Windows Phone растет в 6 раз быстрее, чем рынок смартфонов в целом.


Кстати, мы также обновили иконки для промо ваших приложений: Windows Phone Store Badge.
Читать дальше →

Сортировка в .NET

Reading time16 min
Views72K
Задача сортировки — это классическая задача, которую должен знать любой программист. Именно поэтому эта статья посвящена данной теме — реализации сортировки на платформе .NET. Я хочу рассказать о том, как устроена сортировка массивов в .NET, поговорить о ее особенностях, реализации, а также провести небольшое сравнение с Java.

Итак, начнем с того, что первые версии .NET используют алгоритм быстрой сортировки по умолчанию. Поэтому небольшой экскурс в быструю сортировку:
Читать дальше →

Build 2013 для дизайнеров. Обновления в интерфейсе Windows 8.1 и обзор полезных докладов для дизайнеров и проектировщиков

Reading time5 min
Views25K


В этой относительно небольшой статье мы постараемся дать обзор изменений в интерфейсе Windows 8.1, на которые важно обратить особое внимание дизайнерам и проектировщикам приложений для Windows Store. В конце вы также найдете подборку докладов с конференции Build, полезных для дизайнерской аудитории (для разработчиков они, кстати, тоже полезны).
Читать дальше →

Кроссплатформенное программирование под современные мобильные Windows-платформы

Reading time12 min
Views25K

Актуальность


В мире мобильных операционных систем первые два места сейчас разделяют Android и iOS. По разным метрикам и оценкам разных компаний мы можем отдать первое место то одной операционной системе, то другой, но в том, что они лидируют, сомнений нет. Но как на любой олимпиаде, у нас есть еще бронза. Попробуем определиться с ней.

Symbian, лидировавшая по всем показателям еще пару лет назад, постепенно с рынка ушла. Blackberry – это, в основном, бизнес-пользователи, и, в основном, в Америке; в остальном мире она не так распространена. Тенденции показывают, что третье место сейчас достается Windows Phone. И вот тут у каждого, будь то частный разработчик или компания, встает вопрос:



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

Триггеры в MySQL

Reading time2 min
Views304K
Триггер — это хранимая процедура, которая не вызывается непосредственно, а исполняется при наступлении определенного события ( вставка, удаление, обновление строки ).
Поддержка триггеров в MySQL началась с версии 5.0.2
Читать дальше →

Простой пример использования WCF в Visual Studio 2010. Часть 1

Reading time10 min
Views95K
Вас ожидают две части:



Прошло много времени с тех пор, как я написал оригинальный пост Простой пример использования WCF. Это было еще до выхода Visual Studio 2008, и с тех пор многое изменилось. Поскольку множество людей по-прежнему задают вопросы в комментариях к тому посту, давайте посмотрим, что в настоящее время мы должны сделать, чтобы поднять и запустить службу (service), а также обратиться к ней из клиентского приложения.
Читать дальше →

DevCon 2013: как это было (+ много фото)

Reading time3 min
Views7.9K
В конце мая в Подмосковье прошла DevCon 2013 — большая конференция для разработчиков и тестировщиков ПО.

image

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

В этом году DevCon 2013 предложила участникам следующий формат:

  • 2 дня, с 29 по 30 мая, на базе природного курорта;
  • Пленарный доклад, 60+ докладов основной программы;
  • 6 мастер-классов от лучших экспертов России по agile, тестированию, дизайну, бизнесу, облаку, функциональному программированию;
  • Хакатон "Ночь кодирования";
  • Круглые столы на темы облака, стартапов, разработки (от JetBrains);
  • Выставка партнеров и гостевой дом Microsoft c новыми девайсами;
  • Вечерняя программа и живой концерт группы Леприконсы;
  • Активности на свежем воздухе;
  • Спортивные мероприятия.

Ниже вы найдете много фотографий с конференции. Если вы были вместе с нами на DevCon 2013, то делитесь впечатлениями в комментариях. Необработанные записи конференции уже можно посмотреть на сайте http://www.msdevcon.ru/online. Вскоре мы опубликуем готовые записи докладов на TechDays.ru.
Читать дальше →

Особенности строк в .NET

Reading time10 min
Views110K
Строковый тип данных является одним из самых важных в любом языке программировании. Вряд ли можно написать полезную программу не задействовав этот тип данных. При этом многие разработчики не знают некоторых нюансов связанных с этим типом. Поэтому давайте рассмотрим кое-какие особенности этого типа в .NET.

Итак, начнем с представления строк в памяти


В.NET строки располагаются согласно правилу BSTR (Basic string or binary string). Данный способ представления строковых данных используется в COM (слово basic от языка программирования VisualBasic, в котором он первоначально использовался). Как известно в C/C++ для представления строк используется PWSZ, что расшифровывается как Pointer to Wide-character String, Zero-terminated. При таком расположении в памяти в конце строки находится null-терминированный символ, по которому мы можем определить конец строки. Длина строки в PWSZ ограничена лишь объемом свободной памяти.
Читать дальше →

Создание документации в .NET

Reading time12 min
Views57K
Open notebookКачественная документация – неотъемлемая часть успешного программного продукта. Создание полного и понятного описания всех функций и возможностей программы и программного компонента требует немало сил и терпения. В данной статье я рассмотрю некоторые практические аспекты создания документации для .NET компонентов.

Предположим, что у нас готова или почти готова некоторая .NET библиотека для разработчиков (они же конечные пользователи). API библиотеки безупречен, количество багов впечатляюще мало, да и вообще это не библиотека, а просто кладезь совершенного кода. Дело за малым – объяснить пользователям, как работать с этим замечательным продуктом.

Есть разные подходы к написанию документации. Некоторые команды предпочитают начинать создание документации в момент начала создания продукта. Другие откладывают написание мануалов на окончание работ. В некоторых командах документацию пишут специальные люди, которые ходят от разработчика к разработчику и от менеджера к менеджеру, аккумулируя знания о продукте. Во многих небольших командах таких специальных людей нет, а потому документацию часто пишет разработчик или разработчики. Кто-то использует сторонние средства вроде Help & Manual, в которых, как в заправском текстовом редакторе, можно создавать очень сложную верстку и на выходе получать документацию в многообразии форматов. Многие используют другой подход, широко пропагандируемый в последнее время – написание документации прямо в коде программы/библиотеки.

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

Предельная производительность: C#

Reading time56 min
Views266K
performanceЯ поделюсь 30 практиками для достижения максимальной производительности приложений, которые этого требуют. Затем, я расскажу, как применил их для коммерческого продукта и добился небывалых результатов!
Приложение было написано на C# для платформы Windows, работающее с Microsoft SQL Server. Никаких профайлеров – содержание основывается на понимании работы различных технологий, поэтому многие топики пригодятся для других платформ и языков программирования.
Читать дальше →

Реверс-инжиниринг обфусцированной сборки .NET

Reading time4 min
Views24K

Вступление


В этой статье я хочу поделиться с уважаемым хабраобществом своим опытом анализа и модификации обфусцированной .NET сборки на примере COMET-библиотеки PokeIn.

Reverse Engineering

Несколько дней назад я заинтересовался COMET решениями для ASP.NET и нашел несколько интересных библиотек, среди которых некогда бывшая бесплатной PokeIn. Очевидно она пользовалась некоторой популярностью, так как авторы перевели ее из разряда open source в платную. На сайте бибилиотеки есть возможность скачать бесплатную версию с некоторыми ограничениями, среди которых, пожалуй, самое важное — это ограничение в 10 одновременных соединений. С ним мы и будем бороться.
Читать дальше →

Многоядерная JIT-компиляция в .NET 4.5

Reading time3 min
Views14K

Исторически разработчики .NET использовали генератор образов в машинном коде Ngen. Это отлично работает, если у вас есть инсталлятор, и вы можете сгенерировать эти образы во время установки приложения. Но в других случаях, например когда у вас нет установщика или вы не имеете доступ к Ngen, ваше приложение будет производить JIT-компиляцию по мере необходимости, что замедлит его загрузку. Разработчики CLR предоставили решение в новой версии .NET – многоядерная JIT-компиляция с возможностью создавать профили оптимизации.
Читать дальше →

Использование async и await в C# — лучшие практики

Reading time8 min
Views227K

Ключевые слова async и await, введённые в C# 5.0, значительно упрощают асинхронное программирование. Они также скрывают за собой некоторые сложности, которые, если вы потеряете бдительность, могут добавить проблем в ваш код. Описанные ниже практики пригодятся вам, если вы создаёте асинхронный код для .NET приложений.
Читать дальше →

EXPLAIN — Самая мощная команда MySQL

Reading time2 min
Views161K
Самая мощная команда в MySQL – это EXPLAIN. EXPLAIN может в точности рассказать вам, что происходит, когда вы выполняете запрос. Эта информация позволит вам обнаружить медленные запросы и сократить время, затрачиваемое на обработку запроса, что впоследствии может значительно ускорить работу вашего приложения.
Читать дальше →

Восстановление приложения при запуске со стартового экрана без потери предыдущего состояния в WP8

Reading time3 min
Views9K
Windows Phone 8 принесла такую замечательную возможность, как быстрое возобновление состояния приложения после его перезапуска из списка приложений или через плитку начального экрана с полным сохранением состояния и истории навигации внутри приложения (для возможности последующей навигации используя кнопку Назад так, как если бы приложение никуда и не сворачивалось).

Если вы уже пробовали пользоваться Windows 8 и приложениями из Windows Store, вы, возможно, заметили, что при запуске приложения со стартового экрана вы вернетесь именно к тому месту приложения, на котором вы его оставили. Именно такого результата мы и добьемся в нашем приложении для Windows Phone 8.

Итак, начнем.
Читать дальше →

Встречайте IntelliCommand (Visual Studio 2010/2012 extension)

Reading time1 min
Views15K
Как много горячих клавиш вы знаете в Visual Studio? Знаете все? Я знаю способ выучить их все. Хочу представить вам расширение для Visual Studio 2010/2012, которое я написал вместе со своими коллегами Drake Campbell и Aditya Mandaleeka. Позвольте мне просто скопировать описание расширения с Visual Studio Gallery:

IntelliCommand — это расширение для Visual Studio 2010 и 2012, которое помогает находить комбинации горячих клавиш. Данное расширение показывает окно-помощник со всеми возможными комбинациями клавиш при нажатии Control, Shift или Alt, или их комбинации (по умолчанию нужно удерживать клавишу на пару секунд). Так же данное расширение показывает список возможных комбинаций, когда вы нажимаете первую комбинацию из chord shortcut keys, например, Ctrl+K, Ctrl+C (данная комбинация закомментирует код в редакторе).
Читать дальше →

Как понять, сколько ты стоишь, или зарплатные кластеры в действии!

Reading time3 min
Views109K
Совсем недавно мы отрелизили на hh.ru зарплатные кластеры, которые помогают оценить свою стоимость как специалиста. Это достаточно интересная и гибкая фича, такая, что с ее помощью даже можно провести небольшое исследование рынка труда, определив своё место в нем:


Посмотреть статистику зарплат по языкам программирования и СУБД

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity