Pull to refresh
0
0
Андрей Ганин @joher

User

Send message

Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server. Часть четвертая

Reading time32 min
Views355K

Предыдущие части




В данной части мы рассмотрим


Многотабличные запросы:
  • Операции горизонтального соединения таблиц – JOIN
  • Связь таблиц при помощи WHERE-условия
  • Операции вертикального объединения результатов запросов – UNION

Работу с подзапросами:
  • Подзапросы в блоках FROM, SELECT
  • Подзапрос в конструкции APPLY
  • Использование предложения WITH
  • Подзапросы в блоке WHERE:
    • Групповое сравнение — ALL, ANY
    • Условие EXISTS
    • Условие IN

Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments6

Очередной умный дом, в трех частях. Часть первая, железная

Reading time5 min
Views137K
Хочу рассказать и показать результаты проекта, который развивается примерно 10 лет. Развивается как хобби, поэтому бывает, что за неделю делается новое устройство, а потом за полгода – не делается ничего. Я очень не люблю словосочетание «Умный дом», поэтому дальше оно не встретится. Также тут не будет схем, примеров кода, опутанных проводами макетных плат и прочих скучных вещей. Будет много фото и рассуждений на общие темы.

image
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments79

Пишем бота для MMORPG с ассемблером и дренейками. Часть 1

Reading time4 min
Views36K
Привет, %username%! Итак, продолжим написание нашего бота. Сегодня мы внедрим наш код в игровой процесс (не без помощи ассемблера), а позже позаботимся и о том, что бы его было не так просто найти, ведь наказывают не за то что жульничаешь, а за то что попался. И если быть до конца честным то даже не совсем в сам процесс игры будем его внедрять, да и 1 раз только за весь жизненный цикл.

Но обо всем по порядку, так что жду Вас под катом!

Приподнять завесу тайны
Total votes 43: ↑32 and ↓11+21
Comments9

Пишем бота для MMORPG с ассемблером и дренейками. Часть 0

Reading time4 min
Views101K
Привет, %username%! Покопавшись в статьях хабра, я нашел несколько оных про написание ботов для MMORPG. Несомненно это очень интересные и познавательные статьи, но возможности в них весьма скудны. Что если, например нужно пофармить мобов или руду по заданному маршруту убивая агрессивных мобов, игроков и всех кто будет на Вас нападать по пути, выкрикивая им вслед непристойности, да что б еще и определить не смогли. В общем полная эмуляция среднестатистического MMORPG игрока. Написание макросов для AutoIt, симуляция кликов в окне, анализ пикселей под курсором — это совсем не наш вариант. Заинтриговал? Добро пожаловать под кат!
Грязные подробности
Total votes 92: ↑80 and ↓12+68
Comments61

Что нового в C# 6.0?

Reading time4 min
Views147K
image

Microsoft выпустила предварительную версию Visual studio 2015 и .Net 4.6 для разработчиков. В новом C# 6.0 несколько новых возможностей, которые могут облегчить кодинг.

В этой статье рассмотрены новые возможности языка C# 6.0. Скачать новую VS можно по ссылке:
Microsoft Visual Studio Ultimate 2015 Preview

Инициализация свойств со значениями


В C# 6.0 мы можем инициализировать свойства со значениями, написав справа от них их значение. Это поможет избежать ошибки с null и пустыми значениями свойства.

Раньше:


public int Id { get; set; }
public string FirstName { get; set; }

Теперь:


public int Id { get; set; } = 1001;
public string FirstName { get; set; } = "Srinivas";
Читать дальше →
Total votes 95: ↑81 and ↓14+67
Comments133

Лекции Технопарка. 1 семестр. Web-технологии

Reading time4 min
Views172K
Сегодня этим постом мы открываем цикл еженедельных публикаций учебных материалов Технопарка. Если кто-то ещё не знает, Технопарк — это совместный образовательный проект Mail.Ru Group и МГТУ им. Н. Э. Баумана. На данный момент здесь проходит обучение по 20 IT-дисциплинам 91 наиболее талантливый студент. Технопарк существует с 18 ноября 2011 года, а первые счастливчики приступили к занятиям в декабре 2011 года.

Обучение в Технопарке совершенно бесплатное, оно проходит после занятий в университете. Стать участниками проекта могут студенты 3-5 курсов. Хотя для 2 и 6 курсов можем сделать исключение. Обучение длится 2 года, оно разбито на 4 семестра, в каждом из которых проходят по 3-4 предмета. Первый блок первого семестра посвящён всему, что связано с web-технологиями, от истории возникновения до программирования и безопасности web-приложений.

Лекция 1. Введение


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


Читать дальше →
Total votes 55: ↑51 and ↓4+47
Comments11

Model View Controller (MVC) опыт использования, выводы

Reading time4 min
Views32K


Недавно закончил свой первый проект, реализованный согласно концепции Model-View-Controller (MVC, хотя с технической точки зрения, правильнее было бы CMV). В статье предлагаю читателю познакомиться с моими личными впечатлениями от концепции.
Читать дальше →
Total votes 22: ↑4 and ↓18-14
Comments39

Несколько интересностей и полезностей для веб-разработчика #37

Reading time6 min
Views41K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Buzz.js




В последнее время в интернете все чаще и чаще встречаются проекты, где различные интерфейсные элементы сопровождаются определенными звуками. Я бы даже сказал, что UX/UI в вебе переходит на новую ступень эволюции. А Buzz.js одним из первых готов помочь вам в озвучке вашего интерфейса. Это библиотека для работы с HTML5 Audio API с рядом подходящих обработчиков событий.

var mySound = new buzz.sound( "/sounds/myfile", {
    formats: [ "ogg", "mp3", "aac" ]
});

mySound.play()
    .fadeIn()
    .loop()
    .bind( "timeupdate", function() {
       var timer = buzz.toTimer( this.getTime() );
       document.getElementById( "timer" ).innerHTML = timer;
    });


Читать дальше →
Total votes 57: ↑52 and ↓5+47
Comments5

Устраиваемся программистом за рубежом

Reading time16 min
Views62K
Как часто вас посещала мысль о трудоустройстве за границей, будь то просто временная работа или переезд на постоянное место жительство? Какую страну выбрать? Возможно ли пройти собеседования за тысячи километров по телефону и получить джоб-офер? Как будет выглядеть переезд и жизнь в другой стране? В данной статье я бы хотел поделиться личным опытом и опытом многих моих друзей работающих за рубежом.
Читать дальше →
Total votes 208: ↑188 and ↓20+168
Comments160

Рефакторинг: миссия (не)выполнима?

Reading time4 min
Views2K
Что делать, если исходники проекта напоминают болото, а жить в нем планируется еще долго? Рефакторинг исходных кодов проекта — это более выгодная из двух альтернатив разобраться с означенной проблемой. Вторая из альтернатив — выбросить и переписать все заново — обычно не устраивает, по разным причинам.

А как делать этот самый рефакторинг, если даже неизвестно, с чего начать? Как осушить болото кода и не утонуть нем?

Конечно, идеальный вариант — считать рефакторинг одной из активности на проекте с самого его начала и выделять на него проектное время команды. В жизни, как ни странно, однако чаще всего оказывается, что предыдущий лид проекта не сильно озадачивался этим вопросом, предпочитая плыть по течению; возможно, он надеялся когда-нибудь сбагрить эту ношу менее удачливому лиду — пока проект еще не развалился; а может быть, просто не знал, что делать. Шеф, усё пропало!

Читать дальше →
Total votes 65: ↑64 and ↓1+63
Comments52

Сделай сам: любимые персонажи из бумаги

Reading time2 min
Views3.8K
Привет всем Хабралюдям!
Сегодня я хочу поделиться с сообществом одним очень затягивающим и увлекательным способом убить свободное время и просто отвлечься.

Читать дальше →
Total votes 217: ↑199 and ↓18+181
Comments125

Подключаемся к камерам наблюдения

Reading time2 min
Views38K
image

Зачем нужны камеры наблюдения? Правильно — чтобы наблюдать за происходящим и контролировать ситуацию! В наше неспокойное время эти самые камеры развешаны повсюду — от денежных хранилищ до придорожных кафе. Однако защищая свои владения, хозяева порой забывают о защите самой камеры путем банальной установки пароля на доступ из Интернета. И очень зря. Если пароль не установить — ваша камера «безопасности» превращается в публичную вэб-камеру с реалити шоу для всех желающих.
Читать дальше →
Total votes 258: ↑245 and ↓13+232
Comments133

Симпатичный «гуглофон» от General Mobile

Reading time1 min
Views595
Смарты на OC Android, выпускаемые НТС (речь как о G1, так и о пока только анонсированном G2), как уже не раз подмечали хабралюди, изяществом и красотой исполнения не отличаются. Но новенький DSTL1, который готовит компания General Mobile, порадует не только техническими характеристиками, но и симпатичным дизайном.


Подробности и фотографии...
Total votes 46: ↑45 and ↓1+44
Comments64

Автоматическая миграция БД в Entity Framework

Reading time3 min
Views47K
В процессе разработки ПО, когда ещё не весь функционал определён окончательно, структура БД часто изменяется. И если используется какой-либо ORM-framework, изменение БД после изменения модели данных доставляет некоторые неудобства (по сути нужно проделать двойную работу по изменению класса модели и структуры БД). Вкратце, как сделать миграцию в EF4 Code First с помощью Package Manager Console описано здесь, я же постараюсь описать как работает автоматическая миграция без участия разработчика (точнее, при минимальном участии).

Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments22

Локализация ASP.NET MVC приложения с помощью БД

Reading time8 min
Views18K

Данная статья будет узконаправленной и покрывает локализацию через БД, поэтому подробно расписывать как делать локализацию с помощью файлов ресурсов (resx) можно посмотреть, например, тут: MVC 2: Полное руководство по локализации. Для локализации с помощью представлений я тоже там ссылки.

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

Читать дальше →
Total votes 31: ↑21 and ↓10+11
Comments11

Новый навигатор по примерам кода Microsoft All-In-One Code Framework, MSDN, Windows 8 и многое другое

Reading time2 min
Views8.5K


Я уже рассказывал на habr о бесплатной централизованной библиотеке кода: Microsoft All-In-One Code Framework.

Кратко напомню, что это такое: целью проекта Microsoft All-In-One Code Framework является предоставление примеров кода для типичных задач для всех технологий разработки Microsoft. При этом, команда проекта не выдумывает эти примеры из воздуха. Для того, чтобы определить какие примеры необходимы, просматриваются форумы разработчиков, социальные медиа и обращения в службу поддержки Microsoft. На основании всех этих запросов, для наиболее часто встречающихся, в библиотеку публикуются примеры кода.

Подобная библиотека фактически бесполезна без возможности удобной навигации и поиска по примерам кода. И разработчики библиотеки сразу же предоставили эту возможность в виде отдельного приложения и дополнения к Visual Studio. Приложение и дополнение предоставляли удобный способ работы с примерами из All-In-One Code Framework, но на сайтах Microsoft есть много других примеров кода, которые не входят в All-In-One Code Framework, и доступ к которым было бы удобно получить находясь внутри одной программы. Думаю, что я был не единственным, кому в голову приходила такая мысль.

Пару недель назад была выпущена новая версия навигатора по примерам кода, который позволят получить доступ к более 3500 примеров, включая примеры из MSDN Code Gallery и официальные примеры Windows 8.
Дополнительные возможности навигатора и снимки экрана
Total votes 34: ↑25 and ↓9+16
Comments3

Непутевые заметки о ASP.NET MVC. Часть 1 (и единственная)

Reading time11 min
Views41K
В последнее время на Хабре часто начали появляться статьи о ASP.NET MVC. Однако в этой статье я бы хотел сделать несколько заметок по поводу построения приложений на вышеприведенном фреймворке: минимальный набор NuGet-packages (без которых грех начинать работу), логирование, подводные камни при использовании стандартных membership-, profile- провайдеров. И, напоследок, почему Web API из MVC 4 — то, что так долго мы все ждали.
Поехали
Total votes 60: ↑48 and ↓12+36
Comments72

Стандарт разработки приложений под Android

Reading time3 min
Views17K
Разработчик Андроида сталкивается с большим количеством файлов и ресурсов предназначенных для разных частей программы. Даже он сам через месяц не может вспомнить, какой файл или ресурс к чему относится.
Предлагаемый ниже материал основан на моем опыте разработок многих проектов для Андроида и опробован уже в нескольких проектах. В результате простых правил нагромождение файлов и ресурсов превращается в удобочитаемый проект, экономит время и нервы. Особенно оказалось удобным при работе в команде, когда к проекту могут присоединяться новые программисты. В Eclipse вы легко находите любые ресурсы, поскольку они становятся уникальными, легко находимыми и сортируются в понятном порядке в любых списках. Общие удобные правила позволяют легко читать чужой код и находить нужные ресурсы.

Большинство из указанного является моими личным мнением.

Читать дальше →
Total votes 49: ↑39 and ↓10+29
Comments35

Борьба с INotifyPropertyChanged или как я стал опенсорсником — 2

Reading time5 min
Views32K
Начиналось все как и в прошлый раз, достаточно прозаично: мне пришлось разработать *-надцать ViewModel-ей для своего MVVM-приложения.
Для того, чтобы они оптимально работали как ViewModel-и, мои классы должны были наследоваться от DependencyObject или же реализовывать заезженный до дыр интерфейс INotifyPropertyChanged (INPC).

Давно уже ни для кого не секрет, что DependencyProperty тормознее ручной реализации INPC. Мои тесты показывают, что запись в DependencyProperty в ~13 раз медленнее ручной реализации. Поэтому я, как неисправимый оптимизатор, склоняюсь именно к INPC. Тем более, что код поддержки INPC выглядит логичнее и органичнее, чем описание DependencyProperties.

Внимание, дальше много кода и о том, как этот код значительно уменьшить...
Total votes 84: ↑69 and ↓15+54
Comments43

Избавляемся от утечек памяти в WPF

Reading time5 min
Views16K
imageВ DevExpress мы тратим много сил на бизнес компоненты для WPF и Silverlight. У нас есть своя линейка контролов, в список которых недавно вошел DXPivotGrid – замена инструмента PivotTable из Excel. В процессе разработки новых компонентов, мы стараемся по-максимуму использовать существующий код. Например, базовые классы от версии PivotGrid для WinForms. Часто это рождает проблемы, с которыми ты не сталкивался, разрабатывая под .NET 2.0. Когда я писал PivotGrid для WPF, мне пришлось решить проблемы с утечками памяти из-за подписки (точнее, «неотписки») на события.
Читать дальше →
Total votes 55: ↑43 and ↓12+31
Comments35
1

Information

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