Alexey Suvorov dev blog

Мой разработческий блог

Archive for Февраль 2013

Быстрое прототипирование Web страницы

leave a comment »

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

Собственно очень короткий пост: jsFiddle — отстой, tinkerbin.com  — божественный подарок если нужно быстро видеть html/css, но только не javascript.

Written by alexeysuvorov

28.02.2013 at 6:28 пп

Опубликовано в JavaScript

Tagged with

Отличия настройки web приложения в windows server 2012

leave a comment »

Сегодня довелось пощупать новый windows server 2012 + SQL server 2012. Он оставляет очень приятные впечатления с точки зрения конфигурации безопасности по умолчанию. Сразу оговорюсь, что мой сервер имел UI и я настраивал именно через него.

Настройка SQL server-а

По умолчанию сервис базы данных имеет доступ в директории выбранные при инсталляции как хранилища файлов баз данных. При этом при попытке реконфигурации директорий по умолчанию изменения не сохранялись. Дело было в недостаточных правах на директорию и тут я столкнулся с первым отличием от sql server 2008. Новый SQL прописывает для своих сервисов аккаунты вида Nt Service\{Service name} (например NT SERVICE\MSSQLSERVER для сервиса данных), при условии что не задано другое при инсталляции. Естественно такого аккаунта не отображается в User Management консоли, но он отлично добавляется через вкладку Security в свойствах любой папки. Как альтернативу можно использовать команду:

cmd> icacls D:\Storage\DataFiles /grant "NT SERVICE\MSSQLSERVER":(OI)(CI)(F)

Больше прочитать про настройку и новый вид аккаунтов можно здесь: http://msdn.microsoft.com/en-us/library/ms143504.aspx, а список параметров для icacls тут: http://technet.microsoft.com/en-us/library/cc753525%28WS.10%29.aspx

Настройка IIS

С веб сервером была ровно такая же история. Приложение отказывалось работать ссылаясь на недостаток прав и всяческие притеснения со стороны операционной системы, но заводить отдельный аккаунт под Application Pool и выдавать ему права очень не хотелось, потому что сайтов планировалось много а вот специальных требований наподобии запуска unmanaged сборок или взаимодействия со внешними системами не планировалось вообще. Собственно решение нагугли очень быстро и оказалось что это работает уже с 2008 сервера:

cmd> icacls E:\WebSites\YourSiteName /grant "IIS APPPOOL\YourAppPoolName":(OI)(CI)(RX)

По моему мнению это очень правильно давать права именно пулу приложений.

Windows server 2012 оставил приятное первое впечатление с точки зрения моих очень простых сценариев его использования, посмотрим как он будет работать

Written by alexeysuvorov

24.02.2013 at 1:55 пп

iOS development глазами .net разработчика – неделя последняя

2 комментария

Подходит к концу разработка моего небольшого приложения и я могу делать объективные выводы (хотя объективность как и нормальность понятия очень субъективные). Если кратко, то платформа очень продумана. За всё время я лишь несколько раз использовал велосипеды из интернетов, вместо стандартной функциональности и это хороший знак, потому что на winphone я вообще всё делаю сам. Нужно поставить памятник инженерам которые сделали удобный для использования фреймворк на objective-c мнение о котором у меня не поменялось — язык всё ещё недостаточно крут и очень перегружен синтаксически.

Сторонние библиотеки

Это писец граждане. Первая же библиотека которая мне понадобилась радостно сообщала в своём вики что я должен взять её сорцы и скопировать себе в проект. К такой дикости я был неготов и погуглил альтернативы которые… тоже подразумевали что будут использоваться как кучка файлов с сорцами. Нет, такое конечно тоже бывало, на работе у нас собственная версия библиотеки отвечающей за JSON сериализацию, но это исключение и неизвестно сколько боли нужно пережить каждый раз когда выходит очередное обновление. В результате я сдался и теперь у меня аккуратная папочка с сорцами сторонних библиотек.

Core Data

Не, не слышал. Сразу скачал себе FMDB и смахнул слезу умиления вспоминая институтские годы и ADO.net в версии 1.1. Я уверен что есть генераторы кода которые очень упрощают жизнь простого objective-c разработчика и генерируют DTO объекты из базы или наоборот, но мы с ними разминулись или они стоят кучу денег как и практически все программы на маке а я уже потратил все деньги на сам макбук :). Кстати про утилиты — в качестве бд я выбрал sqlite и очень удивился узнав что самый широко рекомендуемый бесплатный редактор — это plugin для firefox. Plugin!!! для firefox!!! Это был шок. Но он работает да. Но при этом хочу отметить что под Windows где Sqlite распространён… да никак не распространён есть бесплатная версия платного редактора которая работает ещё лучше. Хотя наверное сравнивать plugin для браузера с полноценным desktop приложением — это как издеваться над калекой.

Serialization

Тут то же самое что и в доступе к базам. В .net есть интерфейс ISerializable с двумя методами которые принимают стримы, в которые вы вольны писать что угодно (только то что нужно) для сериализации и читать потом для десериализации. Но на моей памяти этим интерфейсом никогда не пользовались. На objective-c его придётся вспомнить. В отсутствии метаданных единственный способ сериализации — всё руками, страшнее этого только SharpSerializer который я использовал в windows phone, перепишу его десериализацию при первой же возможности.

Written by alexeysuvorov

22.02.2013 at 8:46 дп

Опубликовано в iOS