Блог

Трамвайчики в Портленде

Прибыл в Портлэнд на встречу с клиентом на выходных. Кто-то отдыхает, а я работаю. Вот такие тут трамваи. 

Assassin's Creed 2016 - фильм

Я с нового года 2-4 часа в неделю трачу на Assassin's Creed Syndicate. Это одна из немногих игр, в которую я влюбился. Я полностью прошел основную историю Black Flag, Unity, а в Syndicate я прохожу не только основную историю, но и практически все второстепенные битвы, собираю все подряд и просто гуляю вокруг. 

LINQ и производительность

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

Очень распространённая задача - работа с двумя массивами, просто нюансы бывают разные. Допустим, что есть два массива данных - пользователей сайта и их адреса. У вас есть все данные, просто нужно взять, и добавить адреса всем пользователям. Возможно помимо этого нужно выполнить что-то еще и в таких случаях я уже не раз видел код в виде: 

Linux блять странный

Вот посмотрел я это видео, и не совсем понял, что они постоянно ржут. Аппарат кормления коров работает на Linux. И что? Заправочные станции работают на Linux - Ха, Ха, Ха. А что смешного? Увидели на экран ошибку? Не поняли, как подключать клавиатуру? Поржом еще раз. Что ржать, что там стоит Linux?

Что использовать, чтобы писать код?

Поступило предложение обсудить, кто и что использует для написание сайта php или C# ASP.NET ? Почему вы выбрали именно тот или иной инструмент?

Я уже говорил, что я долго использовал Notepad++ для написания .NET кода. Cейчас я работаю в компании, которая использует TFS, а он плохо видит, когда файлы изменяются за его пределами, поэтому пришлось перейти на VS, кажется 2013-го года. 

PHP код я давно пишу на Маке и под него долго не могу выбрать, что использовать. Я пробовал NetBeans, но он слишком тяжелый. TextWrangler - слишком прост и мало функционала. Brackets - неплохо, но не поддерживал нужный плагин, поэтому я решил попробовать Atom.

Последнее время я все больше пишу в Atom. В принципе, меня вполне эта срада устраивает, но все же далеко не идеальна. 

В принципе, в Windows я пишу только .NET сайты и там я все время использую VS, даже для написания JS, HTML и т.д. На маке я почти весь код пишу в Atom, только Swift и Objective-C пишу в XCode. 

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

Community Edition не может работать с SQL Server CE?

Сейчас пытался подключиться к SQL Server Compact Edition из Visual Studio Community Edition и с удивлением узнал, что это невозможно. Сначала я решил, что проблема в отсутствующем драйвере. Я пошёл и скачал последнюю версию SQL Server CE, но программа установщик сообщила, что у меня уже все установлено. 

Я погуглил и гугля сообщил, что можно установить драйвер через NuGet. Я попробовал установить этот пакет, но и после этого в VS не появилось возможности подключаться к CE версии базы данных. 

Как повлиять на план выполнения запроса базы данных?

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

Я как-то писал про существование подсказок компилятору в виде loop join, merge join или hash join, которые позволяют заставить SQL Server выбрать определённый план выполнения, об этом здесь - Подсказки оптимизатору MS SQL Serever. Я заметил, что не так уж и много народа знает о существовании этих подсказок, оно и к лучшему. В рабочем приложении нужно доверяться SQL Server ведь план выполнения может зависеть от количества данных, для малого количества лучше выполнить loop, а для большого merge. 

Допустим, что у тебя связывается две таблицы: 

Select *

From Table1 t1

 left join Table2 t2 on t1.key =t2.key

Where …..

Производительность табличных переменных

Давно не было новых статей. Особенно особенно новых, особенно интересных. Я тут написал достаточно много текста о производительносит табличных переменных и у меня был вариант - оформтить это в виде заметки на блоге, или поставить в раздел статей. Решил оформить как статью, потому что так вам будет наверно проще найти в будущем эту информацию, если она понадобиться. 

В общем. читаем и пишем отзывы: Производительность табличных переменных

Что вас бесит в Windows 10?

Меня больше всего пока бесит новое окно настроек в стиле Metro (или как этот стиль сейчас нужно называть). Не могу привыкнуть к тому, как в новых окнах расположили настройки. Это не та функция, которой пользуешься каждый день, я вообще уже давно не занимаюсь настраиванием систем и на Маке не открываю панель настроек уже давно. 

На работе в Windows 8 тоже не лазию туда, но когда нужно заглянуть в настройки и открывается это новое дебильное окно, оно меня просто бесит. В остальном пока Windows 10 меня устраивает и не жалею, что дома перешел на нее. На работе 8-ка бесит новым экраном запуск, я стараюсь его не открывать, а так же любые полноэкранные приложения, потому что у меня на работе большой экран. 

А что тебя бесит в Windows 8 или 10?

О Канаде за рулем, иммиграция в Канаду, поиск работы в Канаде, и так далее

У меня осталось два вопроса, которые я случайно пропустил, так что присылайте еще вопросы. В этом видео раскрыты следующие темы: 

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне