Pull to refresh
86
0

Пользователь

Send message

Microsoft Web Platform Installer, или как поставить PHP на IIS 7

Reading time1 min
Views1.6K
Стало мне необходимым установить PHP на IIS7. Раньше, я помню, когда то мне уже приходилось ставить php, правда на IIS версии 5.1 (которая с XP в комплекте) — так там было целое дело. Установить, руками что то прикрутить, потом получилось, что какая то библиотека была именно не той версии, пришлось искать той — ну в общем хорошо, что тогда был хороший найденный manual. Таких сейчас тоже полно, даже есть скринкаст.
На данный момент все оказалось еще проще. Качаем Microsoft Web Platform Installer 2.0 (написано — весит около 1 мегабайта, сейчас в стадии beta). Там выбираем необходимые компоненты, можно выбрать и URL Rewrite, и SQL Server 2008, и ASP.NET MVC 1.0, и даже всякие разнообразные движки блогов, конструкторов сайтов, таких как DotNetNuke. Вот окно, только того, что предлагается из нового:

Повыбирал я себе всего интересного. Все поставилось, кроме PHP :). Не знаю почему он у меня не скачался, но Web Platform Installer предоставляет подробный лог об ошибках, в котором я просто нашел ссылку, откуда качать php для IIS — скачал, поставил и все заработало.

Total votes 8: ↑7 and ↓1+6
Comments0

Пару ошибок при опубликовании нового хабратопика

Reading time1 min
Views450
1. При написании нового поста часто после публикации перенаправляет не на страницу habrahabr.ru/blogs/xxxxx/000000/, а на habrahabr.ru/blogs/xxxxx/000000/000000/. (браузер — Mozilla 3.0.10).
2. И еще, написал habracut text=«Картинка How-To (кто не любит читать)», но ссылка все равно выглядит как Читать дальше ->.
Total votes 7: ↑5 and ↓2+3
Comments5

Internet Explorer 8 — отключение «New tab page»

Reading time1 min
Views1.3K
В Internet Explorer 8 при открытии новой вкладки открывается страница с надписью "What do you want to do next?" — мне она не очень то нравится, и полезности я от нее не вижу, более того на работе стали вываливаться на ней JavaScript ошибки (скорее всего из-за того, что запускал ранние версии браузеров под Xenocode).
Так вот эту страницу достаточно просто отключить — для этого необходимо зайти в настройки Tools->Internet Explorer, там на вкладке General находим секцию Tabs и нажимаем Settings, в новом окне видим DropDown "When a new tab is opened, open", ну и выбираем A blank page, не забываем сохранить.
Читать дальше →
Total votes 16: ↑6 and ↓10-4
Comments6

Просьбы об инвайтах — откуда они узнают?

Reading time2 min
Views538
Долго выбирал куда отослать в «идея для хабра» или в «люблю хабр».
Я на хабрахабр достаточно новенький пользователь (более того, сегодня ровно месяц, как я в данном сообществе). Для регистрации тут — я запостил одну статью и НЛО меня пригласило — других вариантов я для себя и не видел, чтобы попасть сюда. После я честно прочитал хелп, потому как многое мне здесь было изначально не понятно. За это время я оформил несколько постов, один из которых набрал достаточное количество голосов и я за него получил один инвайт. После этого мне пришло несколько писем + несколько людей постучалось в icq — тема была одна: просили инвайт на хабрахабр. И тут собственно вопрос: откуда они узнали? Вчитался еще раз в хелп — понял что все дело в том, что одна из статей получила более 50 голосов, но простая проверка дает понять, что не авторизованный пользователь не видит результаты голосования, следовательно «сливают» свои же. :)
Отсюда вопрос: зачем? Не знаю как остальные поступают в таких случаях, я же всегда отвечаю одно и тоже «У хабра есть возможность получить инвайт при помощи отправки поста в Песочницу — пробуйте и если вы достойны то обязательно получите инвайт. Удачи Вам!». Может, конечно, я так отвечаю, потому как сам получил инвайт через Песочницу, даже скорее всего так и есть. И может, реально, мне просто повезло что я с первого раза и быстро получил инвайт, а на самом деле все бывает по другому.
Но вот честно, мне не хочется оценивать человека с улицы, достоин он хабра или нет, это не мое дело, и нет у меня времени на это. Конечно, другое дело, если бы это был мой знакомый — то мне не нужно копаться в его профайлах, я и так его уже знаю, и могу сказать достоин он или нет, и в случае положительного ответа отдать ему инвайт.
В итоге, чтобы не раздумывать больше над тем, что «может быть этому человеку и нужно дать инвайт», пошел в песочницу — самое интересное, увидел реально мне не только интересный, но и полезный пост — и отдал человеку инвайт.
Total votes 50: ↑40 and ↓10+30
Comments14

Windows 3.11

Reading time1 min
Views23K
Надеюсь ни у кого не будет разрыва сердца от увиденной эмблемы :) В то время когда у меня качается Windows 7 RC — в закромах я нашел Windows 3.11, та Windows с которой я начинал… Поставить ее, конечно, оказалось не так просто из-за того что у меня нет floppy дисковода. Потому пришлось сделать через… ну в общем не самым прямым путем. Поставил ее на VMWare версии 6: сначала скачал какой-то boot CD с возможностью загрузки DOS 6.22, создал раздел (fdsik), форматнул (format c:) и скинул туда системные файлы (sys c:), открыл жесткий диск от созданной машины (при помощи VMWare) и туда покидал установочные файлы Win 3.11. Сначала хотел поставить русскую, но сразу понял, увидев кракозябры при установке, что придется вспоминать какие там cp прописывать в config.sys — потому решил не заморачиваться и поставить ENG версию.
Ну и напоследок еще один скиншот от любимой и незабытой:

Если кому то инетерсно покапаться, то вот выложил архив с виртуальной машиной от VMWare: Windows 3.11.7z (~16Mb, пароль — outcoldman)
UPDATE:забыл написать, сначала загружается dos, чтобы запустить windows нужно выполнить команду win.
Total votes 143: ↑113 and ↓30+83
Comments99

Linq-To-Sql — немного опыта или «пару слов о длинных сессиях»

Reading time2 min
Views1.7K
Хочу рассказать немного о Linq-To-Sql тем, кто его еще не использовал, но есть идеи использовать в будущих проектах (а так же может услышать некоторые комментарии о том, как еще можно с ним работать). Так сказать — пару слов о том, как необходимо разработать архитектуру приложения, чтобы безболезненно использовать DLinq.
У меня был до знакомства с Linq-To-Sql небольшой опыт с ORM системой NHibernate, поэтому как должна выглядеть полноценная ORM я представляю. Сразу скажу, что Linq-To-Sql не является полноценной ORM, а скорее просто представление в объектах записей таблиц. Сделать объекты как захочется не получиться (не похожие по своей сущности на маппинные объекты базы данных), а исходить надо будет как раз от реляционной структуры (с некоторыми оговорками).
Итак, думаю всем известно как можно работать с DLinq. Если у нас есть созданная модель ModelDataContext с объектами Entities, то вот пример загрузки объекта
using (ModelDataContext dataContext = new ModelDataContext())
{
  Entity
obj = (from e in dataContext.Entities
        where e.EntityID = 10
        select e).FirstOrDefault();
}


* This source code was highlighted with Source Code Highlighter.
Дальше мы работаем с объектом obj, и в какой то момент нам нужно сохранить измененные данные. Как это сделать? В полноценных ORM системах есть возможность использовать методы Detach и Attach, смысл их простой, отцепляем объект от первого DataContext и покручиваем к другому. В DLinq метод Attach есть, а вот Detach-а нету, из-за чего нам приходиться подгружать объект заново в ModelDataContext и выставлять изменения ему (так сказать по каждому свойству). Может быть и другой вариант: клонировать объект, тогда он не будет зависеть от предыдущего ModelDataContext, НО, тогда, если есть у этого объекта ссылки на другие объекты, то с ними тоже нужно будет что то делать.
Можно делать и по другому. Работать с длинными сессиями — ModelDataContext открывать на задачу, например: загрузка, отображение объекта, и его сохранение, и только потом вызывать Dispose у ModelDataContext. Данный метод освобождает нас от повторных подгрузок объекта. Но возникнут другие сложности — если жизнь ModelDataContext будет разрастаться, скажем вы будете теперь держать открытым ModelDataContext на загрузку списка объектов, выбор одного из объектов, редактирование одного из объектов, добавление, удаление, то в случае, когда у вас будет вываливаться ошибки в базе данных (к примеру, невозможно удалить, потому как на него ссылаются), то нужно будет: удалять те объекты (вызывать DeleteOnSubmit(entity)), которые пытались добавить(InsertOnSubmit(entity)) у ModelDataContext, так же добавлять те объекты, которые пытались обновлять, ну и Refresh-ить объекты, которые хотели просто обновить. В общем странно, почему не сделали в DLinq стандартный Rollback метод, вроде все должно быть прозрачно.
Выбор пути, по которому вы будете использовать DLinq в вашем проекте, зависит только от вас и от вашего проекта. Если есть еще какие либо методы работы с Linq-To-Sql с удовольствием послушаю и приму к сведению.

Total votes 12: ↑6 and ↓60
Comments4

Работа с окнами как в Windows 7: обновление

Reading time5 min
Views2.3K
Программа для работы с окнами в Windows, идеи и удобства были позаимствованы из Windows 7. Программа позволяет при помощи горячих клавиш передвигать окно по экрану, размещать его в стадиях максимизации, обычного окна, а так же самое основное — размещать окна максимизированные на половину экрана. Работает с Vista и WinXP (как x86, так и x64).

В новой версии программы исправлены некоторые ошибки:
а) Не минимизировались диалоговые окна (те, которые не могут менять размер).
б) Программа не работала с окном Google Chrome (об этом подробнее немного ниже).
А так же основное добавлены возможности перемещения окна между экранами.
Скачать новую версию можно отсюда.

Читать дальше →
Total votes 33: ↑19 and ↓14+5
Comments12

.masterhost и тариф «студенческий»

Reading time1 min
Views828
Подробнее о данной услуге можно узнать тут: Программа для студентов.
Я с удовольствием ей воспользовался (как аспирант), услугу предоставили в тот же день, но меня заинтересовал вопрос, а на какой срок я могу пользоваться данной услугой. Написал письмо в тех поддержку:

Скажите, пожалуйста, а на какое время предоставляется хостинг по данному тарифу? на время обучения в университете?

Ответ был, ну просто ожидаемым:

Здравствуйте!

Тариф предоставляется на все время его действия.
> Скажите пожалуйста, а на какое время предоставляется хостинг по данному
> тарифу? на время обучения в университете?
>

— С уважением,
Svetlana Granina,


Ну соответственно был задан вопрос о том, какое же у тарифа время действия, но ответа я так и не получил. Ждал два дня. Вот так вот — masterhost…

UPDATE
Дождался, вот пришел разумный ответ

Тариф «Студенческий» предоставляется бесплатно в рамках сотрудничества с Microsoft. В какой-то момент этот тариф может быть закрыт и Вам предложат перейти на другие платные тарифы. В ближайшее время его закрытие не планируется, но в любом случае он не может быть вечным. Даже платные тарифы время от времени модернизируются.

Ответ был получен от той же Светланы, вот теперь ей спасибо за объяснение!

P.S. Может ответили, потому что хабрахабр дал знать? ;)
Total votes 53: ↑43.5 and ↓9.5+34
Comments33

Linq-to-Sql: Узнаем nullable поля из метаданных (или рассказ о небольшом баге)

Reading time3 min
Views1.5K
Итак, перед нами Linq-to-Sql. Перед нами стоит задача узнать какие поля могут иметь значения null, а какие нет — решение данной задачи может, например, помогать в подсветки обязательных полей на форме, либо просто для валидации данных, перед их установкой в свойства объекта.
Читать дальше →
Total votes 21: ↑15.5 and ↓5.5+10
Comments7

Несколько вопросов об интерфейсах windows приложений

Reading time2 min
Views692
Задача: windows приложение (не Web! а именно оконное) для автоматизации бизнес-задач.

Перерыл немного статей по этому поводу, но в последнее время только и разговоры что о вебе…

Вопрос 1: Как подсвечивать not nullable поля на форме?
Мое ИМХО: Лучше всего подсвечивать надписи у необходимых полей, просто немного другим цветом. Мне не нравятся звездочки, и я не за выделение всего поля для ввода каким то цветом, если пользователь ввел что то не правильно. Просто, мне кажется, человеку проще воспринимать все более минималистическое и менее раскрашенное.

Вопрос 2: как и в какой момент производить валидацию и как показывать ошибки?
Мое ИМХО: В Вебе вся валидация делается на странице с отображением неправильно введенных полей вверху страницы (ну так обычно) — это понятно, никому не хочется ждать лишних postback-ов. В Windows приложениях, посмотрев на несколько приложений — замечаешь, что такого нету — вся валидация происходит при нажатии на кнопку Save, и затем если есть проблемы, выводятся Сообщения, причем сообщения чаще всего выводятся по одному (первая ошибка), а не сразу все скопом. Многие говорят, что так просто проще. Так вот вопрос, это потому, что так действительно проще или так просто лучше для восприятия?

Вопрос 3: Хорошо ли рисовать свои окна, отличные от всех (пример: Google Chrome, Adobe CS4, Skype)?
Мое ИМХО: Я в принципе за, это бывает красиво, если у тебя стоит WinXP. А если Vista (не говоря уже о Win7), то там и так все хорошо вроде. Еще довод за — это привлечение глаз пользователей от конкурентных продуктов. В Chrome — бесспорно, очень красивый и главное Удобный интерфейс, при помощи своего интерфейса они сделали настоящий браузер — только окно и вкладки, больше, реально, для пользователя, ничего не нужно (этим он, наверное, и берет свое (я правда все же на FF ;), но это не имеет место к разговору)). Другое дело все уже начинают привыкать к окнам, вроде MS Office — вот такое и хотим сделать, красиво и вроде удобно, вопрос тут только в трудозатратах.
В довод против а) сначала такой интерфейс иногда пугает пользователя, в особенности Adobe CS4 — там все как то сложно (я с ним не работаю, не знаю насколько к ними привыкаешь), тоже самое и с MS Office — сначала пугал, потом привык и уверен, что теперь так проще. б) у пользователя затрядняется возможность кастимизировать окна по своему вкусу (поставить свои темки).
И еще, не все тогда будет протестировано. Вот пример: сделали ширину border, отличную от стандартной и skype уже не так красив


В общем, жду небольшой дискуссии и полезных советов! Заранее спасибо.
Total votes 9: ↑6 and ↓3+3
Comments8

Работа с окнами как в Windows 7: исправления и дополнения

Reading time2 min
Views3.6K
Программа для работы с окнами в Windows (работает в Vista и WinXP как в x64 так и в x86), написанная пару дней назад, оказалась полезная не только мне. Пару слов о назначении: эта программа упрощает работу с окнами (максимизация, свертывания, перемещение), и самое главное, позволяет запросто размещать окна вот так:

Так вот: были выдвинуты предложения и замечания по реализации, которые я воплотил в жизнь.
Читать дальше →
Total votes 70: ↑55 and ↓15+40
Comments77

Программа для работы с окнами как в Windows 7 — при помощи hotkeys: Win + [Up|Down|Left|Right]

Reading time4 min
Views1.2K
Редко пользуешься тем, что пишешь сам. Но вот тот самый редкий случай.
В Windows 7 мне очень понравилась возможность позиционирования окон при помощи сочетаний клавиш:
Win + Left — окно крепиться к левому краю
Win + Right — окно крепиться к правому краю
Win + Up — окно максимизируется
Win + Bottom — окно в нормальном состоянии.
Причем крепление окон к правому краю и левому, по-моему, уж очень удобная штука, ведь сколько раз приходилось самому располагать два окна на экране, с возможностью сравнения или перепечатывания…

Windows 7 не хочу использовать в качестве основной ОСь — потому что бета (или CR, главное что не Release), а возможность описанную выше использовать хочу. И вот — не поленился, и написал программку на C#, которая реализует данный функционал в Vista (скорее всего работает и более ранних версиях — просто не проверял). И как оказалось — задача не такая уж и сложная. Пришлось проимпортировать множество WinApi функций, а сама реализация разделилась на две: а) функционал, который перехватывает нажатия необходимых сочетаний клавиш б) позиционирование окон.
Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments24

Написание акселераторов для Internet Explorer 8

Reading time3 min
Views411
Написание акселераторов для Internet Explorer 8 осуществляется намного проще, чем я думал. Все, наверное, уже слышали про конкурс акселераторов для IE8, который проводится в рамках Remix'09. Вот и я решил написать какой-нибудь интересный и полезный акселератор. А получилось даже два (качайте если необходимо):
а) поиск на Habrahabr(ссылка на голосование)
б) просмотр пользователя на Habrametr(ссылка на голосование)
Если данные акселераторы вам понравятся, то можете проголосовать за них на сайте конкурса дополнений к IE8 (если они там появятся конечно же). Ну а так же можете предложить какие-нибудь доработки или еще чего — мне, лично ;)
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments1

Где искать примеры для WPF и WCF?

Reading time1 min
Views2.4K
Установил давно Windows Software Development Kit (SDK) for Windows Server 2008 and .NET Framework 3.5 для того, чтобы использовать стандартные профайлеры для WPF. А сегодня подсказали, что там установлено примеров на 240 мегабайт: одних только сжатых WPFSamples на 70 мегабайт, так же там есть и WCF примеры и FrameworkSamples (и с использованием ClickOnce). Для студентов и школьников есть пример калькулятора на WPF. Так же очень сильный пример notepad под WPF.
После установки я обнаружил примеры у себя в папке C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\.
P.S. Найти бы нормальный список этих примеров… А то все не пересмотреть ;) А так, думаю, полезно будет каждому.

Total votes 11: ↑8 and ↓3+5
Comments4

F#: очень красивый пример с использованием DirectX

Reading time2 min
Views1.7K
Хотел сделать ссылкой, но текст не влазит в 500 символов…
Итак, F# — это новый язык в линейке .NET, язык функционального программирования. Сошников Д.В. на platforma2009 в конце доклада показывает очень интересный и красивый пример использования F#, строя графики функций (зависящих и от времени!) и запуская по поверхностям графиков катающиеся шарики.

Пример этот можно взять тут, единственное, что нужно немного подшливовать его под текущую версию F# CTP 1.9.6.2.
шлифовка и ссылки...
Total votes 17: ↑14 and ↓3+11
Comments3

Когда нужно сделать PDF документ

Reading time8 min
Views6.4K
Если перед Вами стоит задача — создавать простенькие (или не совсем) pdf документы в вашем приложении — это могут быть и отчеты и рецепты, ну либо вы захотите печатать так информацию о ваших объектах, то для решения этой задачи можно воспользоваться, к примеру, установленным OpenOffice и его возможностями (это тяжеловестно), а можно библиотекой iTextSharp (Free C#-PDF library), вот про это я и хочу поведать небольшой пример, при помощи которого я создам такой вот документ:

Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments15

Магазин «Копейка» и срок годности продуктов

Reading time1 min
Views489
Видел некоторые посты с похожей тематикой, вот решил тоже немного рассказать о магазине «Копейка». Дело происходит в Ярославле.
Как то давно хотели купить один из пирогов, продававшихся в копейке, а у меня подруга достаточно трепетно относится к надписям о сроках годности, чего не скажешь обо мне. Так вот посмотрев срок годности, заметили, что кое где он исправлен (вроде даже простой шариковой черной ручкой), а кое где просто стерт (обертка полиэтиленовая, как у пакета, потому возможно). Ну мы, конечно, просто были в шоке, сказали об этом продавцам, они сказали, что то типа извините и вроде убрали.
Второй раз, чуть там же не купили сок с просроченным сроком годности, о чем тоже сказали продавцам. Не скажу, что они удивились, ну и так хамски сказали, «а ну да, щас уберем...»
И вот сегодня опять видим продукцию (пастила или что то такое), на которой на реальный срок годности наклеен другой какой то срок годности! Содрав наклейку — видно, что продукт просрочен. В общем сегодня пятница, в понедельник попробуем обратить на это внимание каких-нибудь властей. Вроде как надо звонить в отдел прав потребителей. Будем надеяться, что не все в этом мире еще куплено, и им влетит и они задумаются… Ведь именно эта копейка находится в отдаленном квартале, где живет очень много пожилых людей, которые срок годности просто из-за проблем со зрением прочитать то не смогут.
P.S. Будьте бдительны.
Total votes 62: ↑36 and ↓26+10
Comments24

Когда нужно ZIPовать на лету

Reading time4 min
Views717
Задача тривиальная. Делаете какие то отчеты, файлы и хотите дать возможность пользователю их скачать в своем ASP.NET приложении. Почему полезно использовать архивацию?: а) уменьшается скачиваемый объем б) можно отдавать файлы пакетами по несколько.
В .net есть специальный класс для работы с GZip, находится в System.IO.Compression, и называется GZipStream, но он не позволяет хранить несколько файлов в одном архиве, такая специфика. Есть, конечно, энтузиасты, которые при помощи его создают и полноценные zip архивы (правда открывать они, вроде, могут их только при помощи своих программ — по крайней мере, мне попадались только такие).
В .NET 3.0 и выше можно использовать класс ZipPackage из System.IO.Packaging, который находится в сборке WindowsBase.DLL (находится примерно в C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\WindowsBase.dll), не знаю почему данная сборка не лежит в GAC, вот тут есть пример, как это все использовать: Creating Zip archives in .NET (without an external library like SharpZipLib).
Но все же если используете SharpZipLib, как сделать архивирование в памяти? Наверняка, можно сделать через OutputZipStream. Но мне понравился класс FileZip, у которого есть метод Add(), в который можно передать имя файла, или готовый ZipEntry, а так же есть возможность передать объект с типом, унаследованным от IStaticDataSource.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments8

MS Chart: пример Perfomance Counters c 3D вращением

Reading time6 min
Views4.3K
На одной из встреч User Group я рассказывал доклад «Создание диаграмм при помощи MS Chart», для которого сделал пример WinForms приложения performance counter, которое выводит информацию о 3х показателях системы в реальном времени: загруженность процессора, использование физической и виртуальной памяти, и еще имеет возможность 3D вращения. Не знаю, пригодиться ли кому-нибудь данный пример, но все же решил рассказать о нем.

Сначала пару слов о MS Chart: это дополнение к Microsoft .NET Framework 3.5 SP1, которое позволяет создавать диаграммы в приложениях WinForms(что дает нам и WPF) и WebForms. В будущем это будет частью Microsoft .NET Framework 4. MS Chart был создан не с нуля, а позаимствован из библиотеки Dundas (источник).

Для того чтобы начать работу с MS Chart – необходимо установить компоненты MS Chart Controls. Скачать их можно по следующим ссылкам:
Хочется еще сказать, что примеры намного богаче, чем документация по данным контролам, потому лучше сразу смотреть примеры, чем читать саму документацию.

Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments2

Information

Rating
Does not participate
Registered
Activity