Я кажется уже причины описывал, но не могу что-то найти.
Самой стабильной и надежной была когда-то Delphi 7, но после этого пошли провала и версии 2005, 2006 были ужасны. Плюс я начал задумываться о переходе на лицензионный софт.
Вот и совпало, что платить за Delphi смысла нет - стабильная версия устарела, а современные не стабильны, да и цена заоблачна. Тогда я и выбрал Visual Studio Express, которого вполне достаточно для меня.
Общался сегодня с программистом в нашей компании о PlayStation и затронули тему разработки под эту платформу. Я пока не нашел, как Sony работает с компаниями и независимыми разработчиками, но увидел, что вполне реально стать разработчиком для мобильной платформы - Vita и телефонов. Подписка на год стоит всего $99, как и у Apple или Microsoft для мобильных платформ.
Нет, я ничего реального писать не планирую, но просто сегодня узнал (раньше и не интересовался), что разрабатывать под PlayStation Vita можно на C#. Посмотрел одно видео на youtube и все оказалось очень даже просто. Просто для прикола можно написать что-то, если бы было время.
Кто-нибудь из вас уже писал для PlayStation какого либо размера?
Используешь какой-то код один раз? Можно написать его напрямую в модуле. Нужно использовать его в двух местах? Категорически не рекомендую копировать код, даже если ты думаешь, что он понадобится только дважды. Большинство это прекрасно понимает, но я почему-то регулярно вижу подобное даже у опытных программистов.
Очень часто программисты занимаются Copy/Paste, а ведь так просто взять и сделать код более универсальным. Если есть какая-то сходная задача с небольшими отличиями, то ее почему-то пишут дважды. А ведь так просто сделать что-то более универсальное, что будет проще сопровождать.
У меня на работе ETL скрипты - это просто SQL файлы, которые мы запускаем на сервере в определенном порядке. Все работало прекрасно, пока один скрипт не начал тормозить капитально. Общая скорость работы скрипта стала превышать лимит в 3 часа.
Я запустил скрипт пошагово и он выглядел вполне нормально. Вначале создается таблица:
declare @promotions table (PromotionID int, Здесь есть еще колонки);
Потом таблица заполняется данными и если выполнить скрипт заполнения данными, то он работает несколько секунд.
У меня в команде есть один супер программист, который просто создает таблицы, и думает, что они магическим образом будут работать. Только что на сервере увидел очередной его шедевр:
CREATE TABLE [dbo].[TxnData]( [TxnDataID] [bigint] IDENTITY(1,1) primary key, [TxnID] [bigint] NOT NULL, [Name] [varchar](50) NOT NULL, [Value] [varchar](255) NOT NULL, )
Продолжаю читать просто отличные статьи о высоких нагрузках в журнале Хакер и сегодня прочитал про принцип очередей для отложенной обработки данных. Все написанное в статье абсолютно верно. Я уже говорил, что сайт моего клиента очень большой и сложный, поэтому конечно же мы сталкиваемся с необходимостью отложенной обработки и сегодня я хочу показать, как можно делать очереди.
Допустим, что нужно отправить пользователю письмо, но крупные сайты создают тысячи писем в час и отсылать их на каждый запрос будет убийством сервера и времени. Пользователь не хочет ждать, когда мы реально соединимся с SMTP сервером и отправим ему или кому-то еще письмо, для него важнее сразу получить ответ от сервера. Вот именно это мы и делаем.
Когда нужно отправить письмо, то мы только сохраняем в базе маркер, что пользователь хочет что-то отправить и тут же отвечаем ему, что мы все поняли и все сервера Америки уже работают над доставкой сообщения.
Я уже кажется писал про то, что с появлением iPad начал читать журнал Хакер в PDF формате и сейчас читаю вторую статью учебника по высоким нагрузкам. Я помню недавно в одном из предыдущих номеров читал интервью с одним из авторов этого цикла статей Олегом Буниным, бывшим сотрудником Mail.ru и удивился, как он легко делится своим хлебом.
Я так понял, что у него своя компания по консультированию крупных сайтов и они консультировали сеть вконтакте, эльдорадо и других. Судя по тому, что вконтакте способны справляться со своим трафиком, компания получила свои деньги не зря. А из того, что я прочитал в интервью и в первой статье все идеально верно.
У нас используется не все, что описывал специалист из mail.ru, но базовые принципы используются. Мы очень много кэшируем и у нас это поставлено очень серьезно, поэтому сайт сваляется в пиковую нагрузку с приличным потоком пользователей. В пиковые часы у нас 100 тысяч пользователей выполняют операцию входа на сайт за час и рост базы составляет 10 тысяч пользователей в день. После этого они могут играть в игры, покупать товары на сайте и так далее. То есть активность на сайте приличная и со всем счастьем справляется один сервер базы данных и несколько (не буду говорить сколько серверов приложений). При этом загрузка на базе данных 20 часов в сутки не более 10% и в пиковые часы не более 40%.
Сегодня на работе собирались программистами и обсуждали, как будем жить дальше, что использовать. Все готовы использовать MVC 4, но что использовать для заднего плана? Мнения разделились поровну - EntityFramework и Dapper. Рад, что в компании половина программистов ценит скорость программ, умение писать SQL запросы и любят держать все под контролем. Хотелось бы больше.
С другой стороны даже удивился, что нашлись те, кто любит бездушную машину EntityFramework. А что ты любишь использовать для доступа к базе данных - EntityFramework или что-то более низкоуровневое? Что именно?
Сейчас пишу код, в котором нужно загрузить информацию о магазинах T-Mobile в базу данных. Когда написал код создания таблицы, то не обратил внимание, но когда начал писать следующую строку, то как-то настольгия проскочила:
BULK INSERT TMobileStore
TMobileStore выглядит прямо как Delphi класс.
Закончил проходить God of War - Ghost of Sparta на PSP. Отличная игра. Вообще обе игры из серии God of War отличные и я прошел полностью Ghost of Sparta и Chains of Olympus.
Сюжет отличные, бои достаточно интересные, графика просто великолепная, если учесть, что я играл на PSP Slim, которая невероятно старая и после нее уже вышло кажется три приставки с более мощными процессорами. До этого в PSP играли в основном сын и иногда жена, а тут вот я оторвался две игры полностью прошел.
До этого я пытался найти хорошие РПГ-шки под PSP но постоянно попадалось фуфло. Я даже стал думать, что для портативной консоли невозможно создать что-то реально хорошее.