Сегодня на работе кинули клич о том, как можно использовать Windows для PHP разработки. Когда я последний раз это делал, то использовал Денвер, но это было много лет назад. Решил попробовать найти его и установить и столкнулся с проблемой - он на русском и на мою английскую версию Windows установить не получилось, потому что там задают какие-то вопросы в консоли, которые я просто не могу прочитать, я вижу только бред из каракуль.
Хотел посоветовать своим канадцам Денвера, но понял, что они вообще не смогут его поставить и даже решил не заморачиваться. Попытался поискать английскую версию, но к сожалению безуспешно.
Существует ли англоязычная версия? Если ли что-то англоязычное, на подобии Денвера?
Меня, как Web программиста стало сильно раздражать разнообразие различных версий IE. В любой документации при заказе клиентом сайта я вижу, что мои сайты должны поддерживать последнюю версию Chrome, последнюю версию Firefox и Internet Explorer 8, 9 и 10. Я понимаю своих клиентов, потому что они не хотят расстраивать своих посетителей, которые не могут или не хотят переходить на новые версии браузеров от Microsoft. Но я не понимаю саму MS.
Компания Майкрософт сама создает огромное количество сайтов и им же самим приходится поддерживать весь этот зоопарк ишаков, которые они создают. Неужели, они не задолбались? Проще и дешевле было перенести IE 10 на XP и обновить всех пользователей без спроса, как это делают другие браузеры. Пора вообще убрать версии из браузеров а просто их обновлять каждые несколько месяцев, добавляя возможности и исправляя косяки.
Та же песня и с Андроидом. Я не представляю, как программисты поддерживают огромное количество разных вариаций, которые не совместимы друг с другом?
Компания Facebook выпустила собственный язык программирования, который они назвали Hack. Достаточно громкое название.
Hack основан на PHP и может даже жить с ним одновременно в одном коде, но самое главное отличие нового языка - в нем поддерживается строгая типизация. В PHP программисту не нужно думать о типе данных, все преобразовывается на лету и не нужно думать о том, с числом вы работаете или со строкой. Это создает удобство и спорную простоту, а на мой взгляд, добавляет только проблем, потому что компилятор не может проверить код на наличие ошибок не корректной работы с типами данных.
С точки зрения простоты - программисту все равно нужно думать о типах данных и понимать, какие они бывают и как работают, иначе просто и быть не может. Так что отсутствие необходимости писать тип не дает особо преимуществ.
Допустим, что нужно получить количество записей из таблицы, сгруппированных по дням. Такое решается достаточно просто, нужно только обрезать время и сгруппировать строки:
select convert(varchar(10), StartDate, 102) as StartDate, count(*) from TableName group by convert(varchar(10), StartDate, 102) order by 1 desc
Блин, ну что 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 оказывается не очень дружит с преобразованиями строк.
Больше всего ненавижу, когда 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. Я сделал как-то funniestworld.com на Web Forms и мне что-то не очень понравилось.
В PHP наоборот, я без проблем могу писать без MVC, потому что мне не нравились те MVC проекты, которые я видел. Я видел только два и если честно, то даже не помню, что они из себя представляли. Это было 4 года назад, когда я работал в небольшой компании PPX.
Сейчас вишу с нуля новый проект на PHP и пишу код в NetBeans. Обычно я игнорировал предупреждения, потому что код моих сайтов уже написан давно и написан в блокноте. Когда же я открыл впервые свои файлы в NetBeans, то был в шоке от того, сколько предупреждений нашла среда разработки.
Любое обращение к $_GET, $_GLOBAL – предупреждение. Любой if без фигурных скобок – тоже предупреждение. Это не ошибки, это все предупреждения, которые немного раздражают.
В принципе, все эти предупреждения имеют смысл. А так как я не люблю предупреждения и считаю, что в коде все должно быть чисто, сейчас решил в новом проекте делать все максимально чисто, чтобы не было никаких желтых лампочек в коде.
На работе запускаю новый сайт и на нем используется библиотека, написанная другим программистом (точнее несколькими программистами) в компании. Там используются ресурсы и что-то еще, что требует программки AL.exe, которая входит в состав Windows SDK, который оказался не установленным на серверах, которые доступны клиенту и которые компилируют проект для публикации на рабочих серверах.
На пошлой неделе в среду начал пытаются скомпилировать сайт и как раз эта библиотека не компилируется. Поиски Windows SDK привели к тому, что он существует в качестве отдельного установщика, но только версии 7.0, а мне нужна 8.0. Я вроде бы нашел установщик этой версии, но он не standalone и требует установки соединения с интернетом.