Блог

WCF или ASP.NET Web API

Блин, ну что Microsoft не спится. Был WCF, работал отлично и можно было создавать даже REST сервисы. Но вдруг появляется ASP.NET Web API. Постоянно у них там что-то меняется полностью в корне и потом переделывай свои приложения. Я понимаю, что новые их технологии супер пупер и их нужно любить и целовать, но реально, уже задолбался изучать, что они там нового создали. 

Пошел читать, что это за зверь ASP.NET Web API и зачем он вообще нужен и почему не смогли обойтись WCF. Я уверен, что новый ASP.NET Web API крутой, но просто уже такой зоопарк технологий, что голова раскалывается. 

Тип данных при поиске в базе данных

Я уже писал, что при работе с базами данных предпочитаю Dapper и его я достаточно серьезно затрагивал в своей электронной книге по большим сайтам. Вчера нашел в Dapper большой недостаток для тех, кто использует varchar строки.

Не все еще перешли на Unicode и некоторые до сих пор используют varchar, хотя давно уже пора перейти на nvarchar. Проблема в том, что Dapper в качестве строк использует как раз nvarchar, а Transact-SQL оказывается не очень дружит с преобразованиями строк.

Отступы в CSS

Больше всего ненавижу, когда WEB программисты пишут что-нибудь подобное в самом начале своего CSS файла:

html, body, div, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, pre, form, table, th, td, img {

margin: 0;

padding: 0;

}

Самое страшное в этом списке - это тэг <p>. Он был создан для того, чтобы у него были отступы и убивать их в самом начале CSS, а потом переопределять в каждом файле - самоубийство.

MVC на PHP

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

Не знаю почему, но при создании сайтов, я не воспринимаю ничего, кроме MVC. Я сделал как-то funniestworld.com на Web Forms и мне что-то не очень понравилось. 

В PHP наоборот, я без проблем могу писать без MVC, потому что мне не нравились те MVC проекты, которые я видел. Я видел только два и если честно, то даже не помню, что они из себя представляли. Это было 4 года назад, когда я работал в небольшой компании PPX. 

Предупреждения в NetBeans с PHP

Сейчас вишу с нуля новый проект на PHP и пишу код в NetBeans. Обычно я игнорировал предупреждения, потому что код моих сайтов уже написан давно и написан в блокноте. Когда же я открыл впервые свои файлы в NetBeans, то был в шоке от того, сколько предупреждений нашла среда разработки. 

Любое обращение к $_GET, $_GLOBAL – предупреждение. Любой if без фигурных скобок – тоже предупреждение. Это не ошибки, это все предупреждения, которые немного раздражают.  

В принципе, все эти предупреждения имеют смысл. А так как я не люблю предупреждения и считаю, что в коде все должно быть чисто, сейчас решил в новом проекте делать все максимально чисто, чтобы не было никаких желтых лампочек в коде. 

Сложно найти standalone установщик Windows SDK

На работе запускаю новый сайт и на нем используется библиотека, написанная другим программистом (точнее несколькими программистами) в компании. Там используются ресурсы и что-то еще, что требует программки AL.exe, которая входит в состав Windows SDK, который оказался не установленным на серверах, которые доступны клиенту и которые компилируют проект для публикации на рабочих серверах. 

На пошлой неделе в среду начал пытаются скомпилировать сайт и как раз эта библиотека не компилируется. Поиски Windows SDK привели к тому, что он существует в качестве отдельного установщика, но только версии 7.0, а мне нужна 8.0. Я вроде бы нашел установщик этой версии, но он не standalone и требует установки соединения с интернетом. 

Поддержка старых версий в компонентах

Мне кажется, что компоненты и различные библиотеки не должны поддерживать ничего, кроме двух последних версий IDE или языка. Если программисты не переходят на новую версию среды разработки, то они должны будут вынуждены использовать и старые версии библиотек.

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

Я считаю, что нужно не стеснятся убивать старое в коде и развиваться.

Yandex более популярен, чем Webmoney

Уже начали появляться первые транзакции. Народ начинает платить за книгу, которую я собираюсь разослать завтра всем, кто уже оплатил и на самом деле не так много заказов. Скажу так, чуть больше 10 пока.

Но что меня удивило, так это количество оплат через yandex деньги. Я сам ими почти не пользовался, потому что Webmoney кажется более распространен и его принимают практически везде. Я даже не стал вешать свой Яндекс.Деньги кошелек. Его я опубликовал на много позже и что удивительно, количество заказов через эту платежную систему за день обошло заказы с WebMoney. 

Имена свойств и классов должны быть разными

Интересный прикол в C#. Нельзя объявить свойство с таким же именем. что и имя класса. Следующий код завершится ошибкой: 

public class UniqueDiscCode
{
	System.String _UniqueDiscCode;
	public System.String UniqueDiscCode 
	{ 
		get { return _UniqueDiscCode; } 
		set { _UniqueDiscCode = value; } 
	}
}

Иконки для мобильных приложений

В XCode, где народ разрабатывает приложения для iOS при создании мобильного приложения приходиться создавать несколько иконок разного размера для разных iOS устройств (с ретина дисплеем и без). Если приложение универсальное, и поддерживает сразу iPhone и iPad, то количество разных вариантов иконок удваивается. 

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

О блоге

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

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

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

Пишите мне