Блог

Денвер на английском

Сегодня на работе кинули клич о том, как можно использовать Windows для PHP разработки. Когда я последний раз это делал, то использовал Денвер, но это было много лет назад. Решил попробовать найти его и установить и столкнулся с проблемой - он на русском и на мою английскую версию Windows установить не получилось, потому что там задают какие-то вопросы в консоли, которые я просто не могу прочитать, я вижу только бред из каракуль. 

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

Существует ли англоязычная версия? Если ли что-то англоязычное, на подобии Денвера? 

Поддержка зоопарка при программировании

Меня, как Web программиста стало сильно раздражать  разнообразие различных версий IE. В любой документации при заказе клиентом сайта я вижу, что мои сайты должны поддерживать последнюю версию Chrome, последнюю версию Firefox и Internet Explorer 8, 9 и 10. Я понимаю своих клиентов, потому что они не хотят расстраивать своих посетителей, которые не могут или не хотят переходить на новые версии браузеров от Microsoft. Но я не понимаю саму MS. 

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

Та же песня и с Андроидом. Я не представляю, как программисты поддерживают огромное количество разных вариаций, которые не совместимы друг с другом? 

Язык программирования Hack

Компания Facebook выпустила собственный язык программирования, который они назвали Hack. Достаточно громкое название. 

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

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

Как получить выборку с 6 до 6 вечера

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

select convert(varchar(10), StartDate, 102)  as StartDate, count(*)
from TableName
group by convert(varchar(10), StartDate, 102)
order by 1 desc

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 и требует установки соединения с интернетом. 

О блоге

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

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

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

Пишите мне