Заметки на полях
дневник заведен 13-08-2012
постоянные читатели [1]
закладки:
цитатник:
дневник:
интересы [9]
Пятница, 18 Января 2013 г.
11:37 собеседование
надоело болото на работе - решила устроить себе встряску

тут как раз в соседней конторе была вакансия C/C++, и я решила проверить себя

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

как итог - ошибалась, не до конца вчитывалась в задания, с ошибками, да и пробелы были

больше всего расстроило, что плавала в виртуальных функциях
ведь сколько раз спотыкалась сама - вот в таком выражении

Parent* parent = new Child
parent->DoSomething();

вызовется метод родителя!!! (при условии что у обоих классов есть функция void DoSomething() )

Чтобы вызвался метод дочернего класса, необходимо просто сделать функцию virtual !!!!

Еще почему-то в битовых операциях заплавала... ведь знала их и применяла!!!
все таки полгода без практики - много
и готовиться надо посерьезнее

так что общее впечатление - не прошла
ну ничего, зато теперь очень хочется все знать! чтоб уж на следующем не облажаться
Понедельник, 5 Ноября 2012 г.
12:03 текущее
Отпишусь-ка, пока не обвинили, что я бот )
А то за два месяца ни строчки

А дела такие, что меня пригласили в интересный проект на Unity3D и я позволила себе согласиться
минусы - времени нет
плюсы - есть то, что мне нравится делать, и теперь тороплюсь сделать даже то, что не хочется, но надо, лишь бы опять заняться тем, что мне нравится
отличная мотивация!
Пятница, 7 Сентября 2012 г.
12:52 немного про enum'ы
простые и совсем нехитрые тонкости

Задача: много много разных энамов, схема работы - похожая для всех, в проекте - сплошные switch'и
Как-то надо было побороть это безобразие, желательно просто и красиво - решено было воспользоваться generic методами

В итоге есть класс, который содержит в себе Dictionary<string, int> (ведь все enum'ы на самом деле int)
и есть метод, который возвращает значение определенного enum'a

Так вот, первая тонкость, с которой столкнулась - нельзя поставить ограничение Enum на тип generic метода
То есть, нельзя писать так (по крайней мере, в Net 2.0):

public T GetSortOrder<T>(T defaultValue) where T : Enum

Можно поставить ограничение на тип, выбрав один из интерфейсов, которые реализует Enum, например

public T GetSortOrder<T>(T defaultValue) where T : IConvertible

(это если необходимо внутри метода воспользоваться методами данного интерфейса)

Можно вообще не ставить ограничения на тип, НО обязательно стоит тогда первым же делом проверить внутри метода свойство typeof(T).IsEnum и по необходимости выбросить исключение или же обработать как-то еще

Далее, не смотря на то, что явного ограничения на тип Enum нет, можно воспользоваться методами этого класса вот таким образом:

Enum.IsDefined(typeof(T), value) - проверяет, определено ли значение в энаме
(T)Enum.ToObject(typeof(T), intValue) - преобразует из целого типа в типа энама
и т.п.
Ну а поскольку мы же проверили и убедились в самом начале метода, что тип, с которым вызвали наш метод, точно энам, то это вполне безопасно
Вторник, 4 Сентября 2012 г.
10:27 csharp победил
Продали меня... на старый мой проект
Да, меня там уже три года не было, и кое что поменялось, но... это все те же чудные реквесты от заказчика, тот же .Net 2.0, тот же Infragistik с его глюками и страаашный сон ActivePDF (старье старое, дуррацкий тулкит с парой методов для генерации пдф файлов буквально ручками и по пикселям...)
Ощущение, что вернулась в прошлое, что это шаг назад
Ну да ладно, работа есть, а значит надо работать

Вчера вспоминала, как ИИС настраивать
Ну и техника ушла вперед (а вместе с ней и винда, и иис), а фреймворк у нас в проекте старый остался
Не обошлось без плясок

Из известных траблов -
1 - Пул веб аппликейшна: pipeline mode = Classic (НЕ Integrated)
2 - на темповые папки (виндовый темп и .Net-овский Temporary ASP.NET Files) должны быть выданы разрешения для пользователей ИИСа (группы) и для пользователя NETWORK SERVICE (хотя странно, он же в группе)

Но ясен пень, у меня это проблему не решило, приложение не запускалось

В итоге, в дополнение к вышеуказанным действиям (в адвансед пропертях)
1 - Создала свой пул, и указала ему Enable 32-bit Applications = true
2 - В том же пуле указала в Process Model группе Identity = Network Service ( хотя стояло ApplicationPoolIdentity)

И уррра!!! у меня все завелось!!!

Теперь вот оставлю на память себе памятку, может, когда пригодится, и время бодания с иисом сократит, и к бубну обращаться не нужно будет
Пятница, 17 Августа 2012 г.
14:09 негатив
Вот за что мне не приглянулся Sharepoint - оооочень глобальная, конечно, платформа, с шикарным инструментарием, который еще и кастомизируется во всех направлениях, с широчайшими возможностями, НО!!!
Надо знать его досканально, буквально все внутренности, столько нюансов, и иногда так глубоко запрятаны

Сегодня смотрела дельное выступление на techdays про разработку публичных порталов на SharePoint 2010 Клычникова Никиты
Очень понравилось, много интересного рассказал
Но вот встречается в тексте Ribbon да Ribbon
Полезла смотреть - что же это такое да с чем его едят в этом шарпоинте - оказалось, просто лента с кнопками
Ну и зачитавшись статейкой про настройку Ribbon'a, опять натыкаюсь на чудеса:

"Кстати, при операциях с Ribbon'ом очень поможет файлик C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\GLOBAL\XML\CMDUI.xml, в котором описаны все OOTB-риббоны, поставляемые вместе с шарепойнтом."

И таких вот предложений очень много - вплоть до того, чтобы кастомный вебпарт попал в шарпоинт, его dll надо куда-то в папочку assembly кинуть (уже даже не помню путь)
И вот получается, что сам шарпоинт и все, связанное с ним, так разбросано по системе, и фик что найдешь, слишком "распределенная" что ли
И вот ощущение, что пока на практике не столкнешься с нюансом, так и не узнаешь тонкость
А все "тонкости" знать просто невозможно

На прошлом проекте был просто код, и можно было просто распутать по ниточке то, что было интересно, чтобы отладить, посмотреть возможные методы и тд и тп
Здесь же многое делается "удобно" конечно, зачастую мышкой, копированием, визардами, НО! при этом надо знать кучу псевдотонкостей и столько подготовительных действий и настроек приходится делать, прежде чем собственно кодингом заниматься...
Четверг, 16 Августа 2012 г.
18:06 getting started
Ну что, скачали тестовую виртуалку с начинкой, для того, чтобы попробовать разрабатывать под Sharepoint
Запустили в Virtual box (кстати, первый раз не запустилась - надо было в биосе виртуализацию включить)
И сегодня первый webpart с "Hello world!" я нарисовала и подключила

Sharepoint 2010 позволяет зааплоадить веб парт, и вот тут я споткнулась - первый раз я его зааплоадила, а вот обновить с исправлениями у меня не получилось - надо будет узнать, как его обновить или же удалить и заново зааплоадить

Вот эту ссылочку на дневничок стоит сохранить - Андрей Маркеев

Ну и ссылку на msdn на память


З.Ы. из интересного
Ajax паттерн Predictive fetch

Смысл в том, чтобы после загрузки запроса от пользователя (пока пользователь читает инфу) предугадать следующий шаг и начать грузить данные для следующего шага
Например, пользователь запросил юзер инфу, ему отображается инфа и потом в фоне начинает грузиться фото юзера - на всякий случай, потому что скорее всего он захочет следующим шагом фото глянуть

так вот интересный момент
иногда этот следующий шаг наступает, когда все фото уже загружено
в этом случае, чтобы не казалось, что фото грузится моментально, специально вставляют некую задержку (искуственный лоадинг) чтобы "казалось" что фота еще не загружена...
Понедельник, 13 Августа 2012 г.
18:42 про меня сейчас
На самом деле, стою на перепутье
Два года назад предложили с csharp переквалифицироваться на cpp
Было жутко интересно, но обидно, что времени на изучение теории практически не было - была практика, а потому знания приходилось хватать по необходимости и быстро
В итоге - сейчас по плюсам такие рваные знания, что работать - могу и интересно, а вот собеседование любое провалю

В общем-то так и произошло на днях - провалила собеседование, и видимо поэтому начальство предложило уйти снова на csharp и .Net

Плюсы перехода - больше шансов развиваться в сторону менеджерства, да и проектов под .Net в разы больше
Но если честно - просто хотелось и дальше в плюсах развиваться
Однако, мне дали шанс подумать и все-таки порекомендовали поднять знания по Sharepoint и разработке под него
18:33 первая
Техническая запись

Назрела необходимость создать дневник с полу-профессиональными заметками
Я надеюсь, здесь будут встречаться и профессиональные заметки-наработки, чтобы не забыть
Ну и всякая фигня, которую иногда хочется запомнить, или же сказать и отпустить, а может, оставить себе на память, чтобы на те же грабли не наступить позже

В общем, добро пожаловать
Закрыть