Показаны сообщения с ярлыком Tips. Показать все сообщения
Показаны сообщения с ярлыком Tips. Показать все сообщения

понедельник, 16 июля 2012 г.

Во дворах Челябинска

Это вид из окна.
Как так можно было умудриться?
Видимо что-то с тормозами было не в порядке.
Сначало было смешно, но потом грустно. Хорошо что никто не пострадал.
Кстати, за зеленым забором садик.


среда, 4 июля 2012 г.

среда, 25 мая 2011 г.

Настоящее понимание ViewState'а

http://habrahabr.ru/blogs/net/119537/

Непонимание ViewState'а ведет к...

  1. Потере важной информации
  2. Атакам на ViewState
  3. Плохой производительности — вплоть до ОТСУТСТВИЯ ПРОИЗВОДИТЕЛЬНОСТИ
  4. Плохой расширяемости — как много пользователей вы сможете обслужить, если каждый из них будет отправлять 50k с каждым запросом?
  5. Плохому дизайну вообще
  6. Головной боли, тошноте, головокружениям и необратимому искривлению формы надбровных дуг

Что делает ViewState?

Это список основных функций ViewState'а. Каждая из них служит определенной цели. Далее мы рассмотрим, как именно они этих целей достигают.
  1. Сохраняет данные элементов управления по ключу, как хэш-таблица
  2. Отслеживает изменения состояния ViewState'а
  3. Сериализирует и десериализирует сохраненные данные в скрытое поле на клиенте
  4. Автоматически восстанавливает данные на postback'ах


Еще более важно понимать, что ViewState НЕ делает.

Что не делает ViewState?

  1. Автоматически сохраняет состояние полей класса (скрытых, защищенных или открытых)
  2. Запоминает какую-либо информацию при загрузке страницы (только postback'и)
  3. Исключает необходимость загружать данные при каждом запросе
  4. Отвечает за загрузку данных, которые были отправлены на сервер, например введенных в текстовое поле (хотя ViewState и играет здесь важную роль)
  5. Варит вам кофе

пятница, 22 апреля 2011 г.

Список событий в GLOBAL.ASAX

Теория и практика MVC »

Список событий в GLOBAL.ASAX

пятница, 22 апреля 2011, 07:25 | Комментарии: 1 В этой небольшой памятке перечислены события, который можно перехватить используя методы, определяемые в файле global.asax.

Список событий в порядке из вызова

Чтобы не было путаницы в дальнейшем, определим чем аутентификация отличается от авторизации:
  • Аутентификация – идентификация личности пользователя (например по его имени и пароль).
  • Авторизация – определение прав на запрашиваемый пользователем ресурс (страницу, сервис).
Теперь рассмотрим вариант списка событий без их описания. При этом расположим их в порядке, соответствующем последовательности вызова.
01// запуск веб-приложения
02 
03protected void Application_Start(Object sender, EventArgs e);
04 
05// получение запроса
06 
07protected void Application_BeginRequest(Object sender, EventArgs e);
08protected void Application_AuthenticateRequest(Object sender, EventArgs e);
09protected void Application_AuthorizeRequest(Object sender, EventArgs e);
10protected void Application_ResolveRequestCache(Object sender, EventArgs e);
11 
12// начало сессии, один раз для каждого клиента
13 
14protected void Session_Start(Object sender, EventArgs e);
15 
16// обработка запроса
17 
18protected void Application_AcquireRequestState(Object sender, EventArgs e);
19protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e);
20protected void Application_PostRequestHandlerExecute(Object sender, EventArgs e);
21protected void Application_ReleaseRequestState(Object sender, EventArgs e);
22protected void Application_UpdateRequestCache(Object sender, EventArgs e);
23protected void Application_EndRequest(Object sender, EventArgs e);
24 
25// конец запроса
26 
27// отправка ответа
28 
29protected void Application_PreSendRequestHeaders(Object sender, EventArgs e);
30protected void Application_PreSendRequestContent(Object sender, EventArgs e);
31 
32// конец сессии, один раз для каждого клиента
33 
34protected void Session_End(Object sender, EventArgs e);
35 
36// завершение работы веб-приложения
37 
38protected void Application_Disposed(Object sender, EventArgs e);
39protected void Application_End(Object sender, EventArgs e);
А теперь рассмотрим все эти события более подробно:
  • protected void Application_Start(Object sender, EventArgs e);
Вызывается единожды при создании экземпляра класса HttpApplication в момент обращения первого пользователя к нему. Позволяет создать глобальные объекты, доступные во всем приложении.
  • protected void Application_BeginRequest(Object sender, EventArgs e);
Вызывается первым каждый раз при получения нового запроса от пользователя.
  • protected void Application_AuthenticateRequest(Object sender, EventArgs e);
Вызывается после аутентификации пользователя (установления его виртуальной личности, включая статус "незарегистрированный пользователь"). Данный метод можно использовать для проведения дополнительных проверок его статуса.
  • protected void Application_AuthorizeRequest(Object sender, EventArgs e);
Вызывается после авторизации пользователя по отношению к запрашиваемому ресурсу. Т.е. указывает что у пользователя есть права на действие (как правило просмотр), которое он хочет выполнить. Также как и Application_AuthenticateRequest() можно использовать для дополнительных проверок.
  • protected void Application_ResolveRequestCache(Object sender, EventArgs e);
Вызывается при поиске в кэше готового результата для запроса. Позволяет модулям вернуть уже готовый ранее результат и не задействовать обработчики. Таким образом снижается нагрузка на сервер, на котором размещено веб-приложение.
  • protected void Session_Start(Object sender, EventArgs e);
Вызывается единожды для каждого клиента (посетителя) в начале его сессии.
  • protected void Application_AcquireRequestState(Object sender, EventArgs e);
Вызывается после того, как ядро ASP.NET получает текущий контекст (state) запроса (данные сессии).
  • protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e);
Вызывается перед обращением к обработчикам запроса (handlers).
  • protected void Application_PostRequestHandlerExecute(Object sender, EventArgs e);
Вызывается после завершения работы обработчиков запроса (handlers).
  • protected void Application_ReleaseRequestState(Object sender, EventArgs e);
Вызывается после завершения всех обработчиков событий и сохранения контекста (state) запроса.
  • protected void Application_UpdateRequestCache(Object sender, EventArgs e);
Вызывается после завершения всех обработчиков событий. В данном методе модули имеют возможность сохранить необходимые данные в кэше. В дальнейшем они могут быть использованы при обработке  Application_ResolveRequestCache().
  • protected void Application_EndRequest(Object sender, EventArgs e);
Вызывается как последнее событие при завершении обработки запроса от пользователя.
  • protected void Application_PreSendRequestHeaders(Object sender, EventArgs e);
Вызывается перед отправкой заголовков ответа клиенту.
  • protected void Application_PreSendRequestContent(Object sender, EventArgs e);
Вызывается перед отправкой содержимого ответа (например HTML кода страницы) клиенту.
  • protected void Session_End(Object sender, EventArgs e);
Вызывается единожды для каждого клиента (посетителя) при завершении его сессии (закрытии или истечении времени таймаута).
  • protected void Application_Disposed(Object sender, EventArgs e);
Вызывается при завершении веб-приложения. Хорошо подходит для методов освобождения используемых ресурсов.
  • protected void Application_End(Object sender, EventArgs e);
Вызывается при уничтожении последнего экземпляр класса HttpApplication. Т.е. при истечении таймаута у последнего активного пользователя.
  • protected void Application_Error(Object sender, EventArgs e);
В данный метод передаются все необработанные исключения, возникшие в веб-приложении. Как правило используется для записи информации о них в журнал и уведомлений обслуживающего персонала.

Пример файла Global.asax со всеми перечисленными обработчиками

Приведенный ниже код может быть добавлен в ASP.NET или ASP.NET MVC приложение. В каждом приведенном методе используется вызов Debug.Write() из пространства имен System.Diagnostics для вывода уведомления в окно Output. Таком образом можно самостоятельно посмотреть на порядок вызова обработчиков событий (код взять из ASP.NET MVC приложения).
001namespace MvcApplication
002{
003    using System;
004    using System.Diagnostics;
005    using System.Web.Mvc;
006    using System.Web.Routing;
007 
008    // Note: For instructions on enabling IIS6 or IIS7 classic mode,
009    // visit http://go.microsoft.com/?LinkId=9394801
010 
011    public class MvcApplication : System.Web.HttpApplication
012    {
013        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
014        {
015            filters.Add(new HandleErrorAttribute());
016        }
017 
018        public static void RegisterRoutes(RouteCollection routes)
019        {
020            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
021 
022            routes.MapRoute(
023                "User", // Route name
024                "{controller}/{action}/{id}", // URL with parameters
025                new {
026                    controller = "UserProfiles",
027                    action = "Index",
028                    id = UrlParameter.Optional
029                } // Parameter defaults
030            );
031        }
032 
033        protected void Application_Init(Object sender, EventArgs e)
034        {
035            Debug.WriteLine("protected void Application_Init();");
036        }
037 
038        protected void Application_Start()
039        {
040            AreaRegistration.RegisterAllAreas();
041 
042            RegisterGlobalFilters(GlobalFilters.Filters);
043            RegisterRoutes(RouteTable.Routes);
044 
045            Debug.WriteLine("protected void Application_Start();");
046        }
047 
048        protected void Application_End(Object sender, EventArgs e)
049        {
050            Debug.WriteLine("protected void Application_End();");
051        }
052 
053        protected void Application_Disposed(Object sender, EventArgs e)
054        {
055            Debug.WriteLine("protected void Application_Disposed();");
056        }
057 
058        protected void Application_BeginRequest(Object sender, EventArgs e)
059        {
060            Debug.WriteLine("protected void Application_BeginRequest();");
061        }
062 
063        protected void Application_EndRequest(Object sender, EventArgs e)
064        {
065            Debug.WriteLine("protected void Application_EndRequest();");
066        }
067 
068        protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e)
069        {
070            Debug.WriteLine("protected void Application_PreRequestHandlerExecute();");
071        }
072 
073        protected void Application_PostRequestHandlerExecute(Object sender, EventArgs e)
074        {
075            Debug.WriteLine("protected void Application_PostRequestHandlerExecute();");
076        }
077 
078        protected void Application_PreSendRequestHeaders(Object sender, EventArgs e)
079        {
080            Debug.WriteLine("protected void Application_PreSendRequestHeaders();");
081        }
082 
083        protected void Application_PreSendRequestContent(Object sender, EventArgs e)
084        {
085            Debug.WriteLine("protected void Application_PreSendRequestContent();");
086        }
087 
088        protected void Application_AcquireRequestState(Object sender, EventArgs e)
089        {
090            Debug.WriteLine("protected void Application_AcquireRequestState();");
091        }
092 
093        protected void Application_ReleaseRequestState(Object sender, EventArgs e)
094        {
095            Debug.WriteLine("protected void Application_ReleaseRequestState();");
096        }
097 
098        protected void Application_ResolveRequestCache(Object sender, EventArgs e)
099        {
100            Debug.WriteLine("protected void Application_ResolveRequestCache();");
101        }
102 
103        protected void Application_UpdateRequestCache(Object sender, EventArgs e)
104        {
105            Debug.WriteLine("protected void Application_UpdateRequestCache();");
106        }
107 
108        protected void Application_AuthenticateRequest(Object sender, EventArgs e)
109        {
110            Debug.WriteLine("protected void Application_AuthenticateRequest();");
111        }
112 
113        protected void Application_AuthorizeRequest(Object sender, EventArgs e)
114        {
115            Debug.WriteLine("protected void Application_AuthorizeRequest();");
116        }
117 
118        protected void Session_Start(Object sender, EventArgs e)
119        {
120            Debug.WriteLine("protected void Session_Start();");
121        }
122 
123        protected void Session_End(Object sender, EventArgs e)
124        {
125            Debug.WriteLine("protected void Session_End();");
126        }
127    } 
128}

вторник, 25 января 2011 г.

what leads to success?

Richard St. John's 8 secrets of success:

What LEADS to SUCCESS?
  1. Passion
  2. Work
  3. Focus
  4. Persist
  5. Ideas
  6. Good
  7. Push
  8. Serve
8 секретов успеха:
  1. Страсть
  2. Работа
  3. Фокусирование на одной цели
  4. Упорство
  5. Идеи
  6. Быть полезным
  7. Всегда подталкивать себя
  8. Служить людям


четверг, 21 октября 2010 г.

афоризмы новые :: 20 октября 2010

афоризмы новые :: 20 октября 2010:
"Всегда делай то, что тебе нравится, а то что не нравится, оставь делать
тем кому это нравится."

среда, 29 сентября 2010 г.

пятница, 9 апреля 2010 г.

Послание к Галатам святого апостола Павла + Православный Церковный календарь

Послание к Галатам святого апостола Павла + Православный Церковный календарь:
"Что посеет человек, то и пожнет:
8 сеющий в плоть свою от плоти пожнет тление, а сеющий в дух от духа пожнет жизнь вечную."

вторник, 16 февраля 2010 г.

Что спасет вашу жизнь на дороге? — Резюме блогов — flime

Что спасет вашу жизнь на дороге? — Резюме блогов — flime: "Что спасет вашу жизнь на дороге?
Блог «Freakonomics» (сегодня)

Авторы блога знакомят нас с результатами работы Майкла Сивака, Брэндона Шутле и Джонатана Раппа «Выживание в смертельных авариях: вес, пол и ремни безопасности».

Методология: используются данные США аварийных исходов за последние 11 лет за исключением участия пешеходов и мотоциклистов.

Результаты работы:

* Пол. Если во время столкновения гибли люди, то вероятность что женщина-водитель погибает в 1.28 раз выше вероятности смерти мужчины-водителя.

* Ремни безопасности. Непристегнутые водители погибают в 5,43 раза чаще, чем пристегнутые.

* Вес водителя. Пристегнутые водители-мужчины с избыточным весом гибнут реже пристегнутых водителей с нормальным весом. Однако для непристегнутых водителей наблюдается обратный эффект. Для пристегнутых женщин оптимальный вес дает максимальные шансы на выживание. Для непристегнутых женщин каких-то связей вероятности летального исхода с весом обнаружено не было."

Размышления...

Ветхий Завет
Книга пророка Исаии
Глава 1.

21 Как сделалась блудницею верная столица, исполненная правосудия! Правда обитала в ней, а теперь - убийцы.

22 Серебро твое стало изгарью, вино твое испорчено водою; 23 князья твои - законопреступники и сообщники воров; все они любят подарки и гоняются за мздою; не защищают сироты, и дело вдовы не доходит до них.
--

похоже люди не меняются

понедельник, 31 августа 2009 г.

Цитата

Каждая теория проходит четыре стадии, прежде чем быть принятой:
1) это бесполезная чепуха;
2) это интересно, но неправильно;
3) это верно, но совершенно не важно;
4) да я всегда так говорил.

Дж.Холдейн (1963)

пятница, 9 января 2009 г.

Вопросы и ответы о Здоровье :)

Это перевод с какого-то американского сайта (взято от сюда http://cahbka.livejournal.com/55223.html)

В: Я слышал, что существуют специальные тренировки сердечно-сосудистой
системы, которые могут продлить жизнь. Правда ли это?
О: Ваше сердце может работать определенное число сокращений. Все. Не
тратьте их на упражнения. В конце-концов все изнашивается. Ускорение
работы сердца не продлит Вашу жизнь. Это так же, как и сказать, что Ваша
машина проездит дольше, если гонять ее на большой скорости. Хотите жить
дольше? Пойдите, поспите..

В: Должен ли я есть меньше мяса и больше фруктов с овощами?
О: Давайте рассуждать логически. Что ест корова? Правильно, сено, траву,
кукурузу, свеклу и т. д. И что это такое? Правильно, растения и овощи.
Таким образом, говядина это ни что иное как эффективный способ доставить
в Ваш организм все эти растения. Хотите есть зерновые? Ешьте курицу.
Свиное жаркое запросто даст Вам 100% то же самое, что и в
рекомендованном дневном наборе овощей.

В: Должен ли я уменьшить потребление алкоголя?
О: Вовсе нет. Вино сделано из фруктов… Коньяк - это перегнанное вино,
просто убрана вода из Вашего фруктового набора, чтобы остался только
концентрат. Пиво сделано из зерен. Водка тоже. На здоровье!

В: Как просчитать соотношение моего тела к количеству жира?
О: Очень просто. У Вас есть одно тело и один жир. Соотношение один к
одному. Если у Вас два тела и один жир, то соотношение два к одному.

В: Чем полезны регулярные упражнения?
О: Не могу даже ничего придумать. Моя философия: не больно - значит
хорошо.

В: А жареная еда не вредна для организма?
О: ВЫ МЕНЯ НЕ СЛУШАЕТЕ! Еда обычно готовится на растительном масле. Как
Вам может помешать дополнительное количество растений?

В: Поможет ли качание пресса избавиться от излишнего веса на боках?
О: Нет. Когда Вы накачиваете мускулы, они становятся только больше. Вам
стоит качать пресс, если вы хотите нарастить себе живот побольше.

В: Вредно ли мне есть шоколад?
О: С чего вдруг? Какао - еще одно растение. Разве не приятно, когда
вокруг вкусная еда?

В: Поможет ли плавание улучшить мою фигуру?
О: Если плавание хорошо для фигуры, объясните мне китов.

В: Полезно ли держать свою фигуру в форме.
О: В какой еще форме? "Шар" это тоже форма фигуры.

Надеюсь, эти вопросы и ответы помогли Вам избавиться от некоторых
заблуждений относительно еды и диет.

И запомните, жизнь НЕ должна быть путешествием в гроб с намерением
доставить себя туда в прекрасной, хорошо сохранившейся форме. Жизнь
скорее интересна, если не утруждать себя условностями - пиво в одной
руке, шоколад в другой, тело используется на полную катушку и в конце
жизни Вам кричит "НИХРЕНА СЕБЕ ПРОКАТИЛИСЬ С ВЕТЕРКОМ!!!"

среда, 4 июня 2008 г.

Я проверил свои знания русского языка и получил четверку.



Сходи, проверься?

вторник, 13 мая 2008 г.

Как надо работать

Памятка А.К. Гастева «Как надо работать»

1. Сначала продумай всю работу досконально.

План

2. Приготовь весь нужный инструмент и приспособления.

Заготовка

3. Убери с рабочего места все лишнее, удали грязь.

Чистота

4. Инструмент располагай в строгом порядке.

Порядок

5. При работе ищи удобного положения тела: наблюдай за своей установкой, по возможности садись; если стоишь, то ноги расставляй, чтобы была экономная опора.

Установка

6. Не берись за работу круто, входи в работу исподволь.

7. Если надо сильно приналечь, то сначала приладься, испробуй на полсилу, а потом уже берись вовсю.

Вход в работу

8. Не работай до полной усталости. Делай равномерные отдыхи.

9. Во время работы не ешь, не пей, не кури. Делай это в твои рабочие перерывы.

10. Не надо отрываться в работе для другого дела.

Режим

11. Работай ровно, работа приступами, сгоряча портит и работу, и твой характер.

12. Если работа не идет, не волнуйся: надо сделать перерыв, успокоиться и снова за работу.

13. Полезно в случае неудачи работу прервать, навести порядок, прибрать рабочее место, облюбовать его и снова за работу.

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

15. В случае полной неудачи — легче смотри на дело, попробуй сдержать себя и снова начать работу.

Выдержка

16. Кончил работу и прибери все до последнего гвоздя, а рабочее место вычисти.

Еще раз чистота и порядок

Еще одна версия, более полная:

А. К. Гастев: Как надо работать

Работаем ли мы за канцелярским столом, пилим ли напильником в слесарной мастерской, или, наконец, пашем землю,- всюду надо создать трудовую выдержку и постепенно сделать ее привычкой.

Вот первые основные правила для всякого труда:

  1. Прежде, чем браться за работу, надо всю ее продумать, продумать так, чтобы в голове окончательно сложилась модель готовой работы и весь порядок трудовых приемов. Если все до конца продумать нельзя, то продумать главные вехи, а первые части работ продумать досконально.
  2. Не браться за работу, пока не приготовлен весь рабочий инструмент и все приспособления для работы.
  3. На рабочем месте (станок, верстак, стол, пол, земля) не должно быть ничего лишнего, чтобы попусту но тыкаться, не суетиться и не искать нужного среди ненужного.
  4. Весь инструмент и приспособления должны быть разложены в определенном, по возможности раз и навсегда установленном порядке, чтобы можно все это находить наобум.
  5. За работу никогда не надо браться круто, сразу, не срываться с места, а входить в работу исподволь. Голова и тело потом сами разойдутся и заработают; а если приняться сразу, то скоро и себя, как говорится, зарежешь и работу "запорешь". После крутого начального порыва работник скоро сдает: и сам будет испытывать усталость, и работу будет портить.
  6. По ходу работы иногда надо усиленно приналечь: или для того, чтобы осилить что-нибудь из ряда вон выходящее, или чтобы взять что-нибудь сообща, артельно. В таких случаях не надо сразу налегать, а сначала приладиться, надо все тело и ум настроить, надо, так сказать, зарядиться; дальше надо слегка испробовать, нащупать потребную силу и уже после этого приналечь.
  7. Работать надо как можно ровнее, чтобы не было прилива и отлива: работа сгоряча, приступами портит и человека и работу.
  8. Посадка тела при работе должна быть такая, чтобы и удобно было работать и в то же время не тратились бы силы на совершенно ненужное держание тела на ногах. По возможности надо работать сидя. Если сидеть нельзя, ноги надо держать расставленными, чтобы выставленная вперед или в сторону нога не срывалась с места, надо устроить укрепу.
  9. Во время работы надо обязательно отдыхать. В тяжелой работе надо чаще отдыхать и по возможности сидеть, в легкой работе отдыхи редкие, но равномерные.
  10. Во время самой работы не надо кушать, не пить чай, пить, в крайнем случае, для утоления жажды; не надо и курить, лучше курить в рабочие перерывы, чем во время самой работы.
  11. Если работа нейдет, то не горячиться, а лучше сделать перерыв, одуматься и приняться снова опять-таки тихо; даже нарочно замедлять, чтобы себя выдержать.
  12. Во время самой работы, особенно когда дело нейдет, надо работу прервать, привести в порядок рабочее место, уложить старательно инструмент и материал, смести сор и снова приняться за работу и опять-таки исподволь, но ровно.
  13. Не надо в работе отрываться для другого дела, кроме необходимого в самой работе.
  14. Есть очень дурная привычка: после удачного выполнения работы сейчас же ее показать; вот тут обязательно надо "вытерпеть", так сказать, привыкнуть к успеху, смять свое удовлетворение, сделать его внутренним; а то в другой раз в случае неудачи получится "отравление" воли и работа опротивеет.
  15. В случае полной неудачи надо легко смотреть на дело и не расстраиваться, начинать снова работу, как будто в первый раз, и вести себя так, как указано в 11-м правиле.
  16. По окончании работы надо все прибрать: и работу, и инструмент, и рабочее место; все положить на определенное место, чтобы, принимаясь снова за работу, можно было все найти и чтобы самая работа не опротивела.

пятница, 29 февраля 2008 г.

Блог

Я добавил гаджет от Google для перевода всего блога

четверг, 27 декабря 2007 г.

Юмор :)

История скорее выдуманная чем правдивая, но звучит прикольно :)

Как-то раз к великому китайскому мыслителю Конфуцию пришла в гости очень образованная по тем временам леди и задала ему вопрос:
- Скажи, Конфуций, почему когда женщина имеет много любовников, то ее подвергают общественному порицанию, а когда мужчина имеет много женщин, то это повышает его общественный статус и прибавляет авторитета.
Прежде чем ответить Конфуций молча заварил чай и разлил его в шесть чашек.
- Скажи, - спросил он её после этого - когда один чайник льет заварку в шесть чашек, это нормально?
- Да. - ответила женщина.
- Вот видишь! - усмехнувшись ответил Конфуций - А когда в одну чашку сливают сразу шесть чайников, то это не просто ненормально, а, к тому же, противно и противоестественно.

понедельник, 24 декабря 2007 г.

Курсы валют и графики, FOREX

Очень удобную вещь предлагают в Google - Finance.
Тут можно и графики валют смотреть, и курсы акций и ценных бумаг на биржах.
На графике есть временнЫе точки пересечения с новостями.
Вот пример:
http://finance.google.com/finance?q=USDRUB

вторник, 11 декабря 2007 г.

Заметки про работу

Привет :: Просмотр темы - о поиске новой работы
mudi писал(а):
есть ли у вас к нему вопросы - вот тут-то их и надо задавать,

1) спрашивать сколько он лет в IT,
2) сколько в этой компании,
3) над чем работает (углубляясь в технические детали),
4) какие технологии, языки, компиляторы используются, почему именно эти , как они реализовали те или иные вещи (если вы работали в той же области то вопросы сами собой появятся в процессе разговора),
5) я также спрашиваю о том какая version control system используется (очень много говорит о компании - source safe или вообще отсутствие таковой - красный флаг),
6) как строятся билды, как выпускаются релизы (отсутствие build engineer даже в небольшой компании - очень плохой признак),
7) как часто проводятся мининги,
8) какая отчетность о работе,
9) как планируется работа,
10) что бывает когда не успевают со сроками


Привет :: Просмотр темы - Как правильно проводить интервью?
adda_ писал(а):
Основная проблема у большинства интервьюеров - они хотят найти что человек не знает, вместо того, чтобы понять, что человек знает и чем он может быть полезен фирме. Причем, обычно игра идет в одни ворота, имеется заготовленный план и тебя заставляют играть по нему. Т.е. заранее вместо сотрудничества, идет конфронтация.
Очень часто это бывает у относительно молодых (но считающих себя ассами) людей в возрасте от 30 до 40. При этом свои знания в какой то относительно узкой области они считают с одной стороны уникальными, а с другой - необходимыми для любого профессионального программиста. Скажем, если люди занимаются сортировкой данных, то они считают, что любой программист должен быть знатоком этой области. Базовых знаний им недостатчно. Если скажем, пишут хитрые запросы к БД, то любой программист должен так же уметь это делать. Если скажем, пишут рипорты, то значит знание того энджина на котором они это делают в деталях - маст. И так далее..
Хотя на самом деле все эти знания - максимум неделя - две работы и прочтение пары книг.

Исключения весьма редки.


Привет :: Просмотр темы - ищу интересный контракт (разработка нового+технологии) pain!
Пользователь mudi, Mountain View, CA:
jey-mix писал(а):
Не хочу переводить вопрос в мою личную плоскость, но вот уже последние 4 года я не попадаю (не получаю) хороших контрактов с точки зрения новых технологий и вообще разработки чего-либо нового.

Например сменил работу и попал на .Net 1.1 причем не разработка, а исправление жутких багов. жутких т.к. они были написанны женщиннами перешедших с мэйнфреймов (госконтора) т.е. об объектно ориентированном подходе, норамльных именах, читаемости кода и т.п.. Т.е. пытаюсь очистить стенки в канализации.

А хотелось бы: новое приложение на .Net 3.0 (или 2.0) c хорошими архитекторами, знающими программистами и т.п., где бы я мыслил и учился. Новые технологи и т.п. так же было бы очень приятно.

Что делать? Искать работу опять? Написать в резюме "new projects", "new development", .Net 3.0, MS SQL 2005?
  1. Попытаться узнать максимум возможного еще до интервью, чтобы отсеять очевидно неинтересные варианты.
  2. Потом задавать больше вопросов на интервью.
  3. Спрашивать о проекте, выяснить какие технологии используются и почему, как решены те или иные проблемы. Узнав об использовании очредного "колеса собственного изобренения" выяснить почему не использовали стандартные решения.
  4. Задавать технические вопросы самим интервьюирующим чтобы оценить уровень команды, в которой предстоит работать.
  5. Четко выяснить на какую роль вас берут (писать что-то новое, переписывать старое или просто дыры латать).
  6. Узнать об организации процесса разработки, когда и как стоятся билды, как тестируются, как выпускается очередной release, какой source control используется, кто делает code review, есть ли стандарты для написания кода, как часто бываются development meetings, какое документирование и отчетность будет от вас требоваться, как часто работают overtime (оплачиваемый и неоплачиваемый), можно ли работать из дому и как часто, и т.д.

Если этого не делать или надеяться что "вот приду я весь в белом и сразу все поменяется, неважно что там до меня делали" - то обычно идет попадание в такое болото, как вы описали (к сожалению прочувствовал это на своем опыте).

Что делать? - искать другую работу будет самым простым решением.


Перспективы развития российской модели управления. Журнал "Менеджмент в России и за рубежом"

Бизнесмены сразу же разделились на плохо контактирующие друг с другом типы, подтипы и разновидности в соответствии со своим прошлым опытом. По этому признаку можно выделить три основных типа предпринимателей.

Первая группа — «отставники» — представляет собой бывших хозяйственных руководителей среднего и низового звена, ушедших в бизнес. Это начальники цехов и служб, заместители начальников цехов и служб, прорабы и подобные им категории менеджеров. Они принесли в предпринимательство тот жесткий административный стиль управления, с которым сталкивались на своих предприятиях. Кроме того, частный бизнес освободил их от многих «социалистических» ограничений и дал им огромные права и полномочия. Поэтому стиль управления в фирмах, руководимых «отставниками», по-военному суров, он не допускает наличия у подчиненных каких-либо прав. Пожилые сотрудники легче приспосабливаются к такой системе управления, и зачастую в подобных фирмах собственник или руководитель моложе большинства своих подчиненных.

Сильной стороной руководимых «отставниками» предприятий является неплохая организация, хорошая дисциплина, четкий контроль за управлением. Были и слабые стороны. Во-первых, их служащие, как правило, неинициативны, так как «инициатива наказуема». И собственник, думая за всех, сам всех контролировал, сам во все детали вникал.

Во-вторых, «отставники» не сразу «врубились» в рыночную экономику, с запозданием поняли механизм оборота денежных средств предприятия и наладили отношения с банками, на первых порах они часто вели ошибочную ценовую политику. Вот почему они тяготели к производству, к производственным услугам. Это у них получалось лучше. По моим подсчетам [22], совпадающим с данными С. Ю Барсуковой, «отставникам» принадлежало около 30% частных предприятий, сейчас их доля уменьшается (по С.Ю.Барсуковой — до 7% от числа вновь рекрутируемых предпринимателей) [4, с. 84].

Второй массовый тип предпринимателей — «бывшие спекулянты», те, кто еще в школьные годы полулегально и нелегально спекулировал чем попало. Частные фирмы, созданные ими, как правило, занимаются не производством, а коммерцией или туризмом, так как «...производство в отличии от коммерции оставляет предпринимателям существенно меньший диапазон маневренности, поскольку в силу объективных причин производственные структуры не могут с определенной регулярностью закрываться и открываться под новым названием» [4, с. 84].

Их сильная сторона — изначальное понимание денег. Они знают, как перебросить средства из одной формы, инфляционно уязвимой, в другую, инфляционно защищенную, они нутром чуют изменения валютного курса, они перебрасывают средства со счета на счет, они всеми силами пытаются уйти от налогов, они лучше других групп предпринимателей понимают психологию потребителя, так как сызмальства живут в рынке.

Слабые стороны предпринимателей — «бывших спекулянтов» обусловлены главным образом тем, что «в прежней жизни» они нигде по-настоящему не работали и ничему толком не учились. Фирмы, принадлежащие «бывшим спекулянтам», редко становятся крупными, с увеличением размера резко падает и без того невысокая управляемость.

Внешне стиль управления кажется демократическим. Если просидеть в такой фирме час или два, то можно не понять, кто собственник, а кто наемный работник.

Данный тип предпринимателей чрезвычайно важен для рынка. Именно на «бывших спекулянтах» держится торговля, особенно розничная, именно они обеспечивают ликвидность рубля и спасают рынок в кризисную пору. По моим грубым подсчетам, в период рыночных реформ «бывшие спекулянты» составляли около 40% общей численности предпринимателей.

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

Их слабой стороной чаще всего является недостаточно четкая организация, потому что в своей прошлой работе они, как правило, сами были рядовыми специалистами и никем не руководили. Кроме того, «бывшие служащие» далеко не сразу становятся хорошими коммерсантами, так как «в прошлой жизни» тоже мало сталкивались с рыночными отношениями.

Наряду с тремя вышеупомянутыми типами предпринимателей в крупных городах была еще немногочисленная «прослойка» — бывшие функционеры комсомола и коммунистической партии (последние — в ранге не выше инструктора райкома). Их фирмы обычно ничего не производили и не продавали, а продолжали хозрасчетно-общественную деятельность их хозяев. Используя связи с чиновниками, депутатами и предприятиями, они заключали договоры на разработку и проведение различного рода социальных и экологических программ за счет местных бюджетов. Они не очень-то профессионально выполняли эти договоры, большого дохода тоже не имели.

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

Каждая из перечисленных выше категорий предпринимателей рассматривала себя как обособленную от других бизнесменов группу лиц. В целом можно констатировать, что единый предпринимательский класс со своей системой ценностей, общими правилами поведения и образом жизни еще не сложился.

Поэтому системы управления различных фирм различаются, например, в зависимости от типа рынка, от категории потребителей (богатые или бедные, физические лица или юридические), от вида получаемых денег (валюта или рубли, «белые» или «черные»), от социального и профессионального происхождения собственника. Предпринимательский класс сегментирован на анклавы, каждый из которых живет по своим правилам и исповедует свою идеологию.

вторник, 30 октября 2007 г.

Обновления в блоге

Я добавил поиск по около ИИ-шным форумам.
Интересная штука от google :)