Публікації

Смена пароля пользователя администратором в MembershipProvider

В .NET Framework 2.0 есть замечательный сервис - MembershipProvider . Благодаря ему, отпала необходимость реализовывать доступ к базе пользователей в каждом новом проекте. Теперь это организовано стандартным способом и все знают как (что характерно, даже новые сотрудники, только что пришедшие в проект). Замечательно. Но, возникла задача: администратор системы должен иметь возможность сменить пароль пользователю . Вроде все просто, есть метод ChangePassword , которая именно это и делает. Но посмотрим на него внимательнее: public abstract bool ChangePassword( string username, string oldPassword, string newPassword ) Оказывается, надо знать старый пароль, чтобы установить новый. Видно этот метод предназначен не для администратора, а для самого пользователя. Хорошо, горевать не будем, есть еще один метод: public abstract string ResetPassword( string username, string answer ) Этот не требует старый пароль, но требует знать "девичью фамилию матери пользователя" ...

Посчитать количество вхождений каждого слова в текстовом файле

Одному из кандидатов на дожность программиста предложили решить задачу: Написать программу на C#, подсчитывающую количество вхождений каждого слова в текстовом файле. Его решение показывать не буду, у него нет большого опыта разработки на этом языке, но после того как мы обсудили его решение, он попросил мое решение. Вот оно. Кто напишет лучше? using System; using System.Collections.Generic; using System.IO; using System.Text; class Program { static void Main() { SortedDictionary string , int > words = new SortedDictionary string , int > (); foreach ( string word in WordIterator(Console.In)) { int count; words[word] = words.TryGetValue(word, out count) ? count + 1 : 1 ; } foreach (KeyValuePair< string , int > pair in words) Console.WriteLine( "{1,8} {0}" , pair.Key, pair.Value); } static IEnumerable string > WordIterator(TextReader sr) { StringBuilder sb = new StringBuilder(); int ch; while ((ch = sr.Read()) != -1) { ...

Хочу развить мысль, пойманную в bash.org-е

При оптимизации соотношения "цена/качество", следует помнить - на ноль делить нельзя!

Крутые машины в такси

В воскресенье надо было поехать на пьянку. Естественно, первым порывом было ехать на машине - чтобы успеть к началу (а то ж, начнут пить без меня :), но таки убедил жену ехать на такси. С такси повезло: машина в моем районе нашлась быстро и не какой-то Lanos , а Peugeuot 407! Машина хорошая, большая, расзместились с комфортом, завелась с пол-оборота... И тут она начала сама себя тестировать и выдавать диагностику на экран компа: плохое давление в покрышках... сгорела лампочка в правом поворотнике... чего-то там надо заменить... больше не работает контроль давления в покрышках... и т.д. Доехали мы нормально. Но я бы на месте водилы этот экран непрозрачным скотчем заклеил бы :)

Риэлтеры

Обещал написать комментарии к " Как взять на работу хорошего программиста ", но что-то не хочется сейчас об этом. Зато хочется о жизни. Возьмем, например, - меня (не из самолюбия, просто лучше всего знаю этот пример): Где-то в начале 9-го класса я понял что программирование, это - мое. К концу 9-го, сносно писал на Бэйсике под ДВК-2 (и лучше всех играл в тетрис). К концу 10-го, хорошо писал на Паскале и Ассемблере под x86 (и лучше всех играл в Wolf 3D), в это же время бросил карате, так как 3-х часовые тренировки мешали постижению высот программирования. К концу 11-го, выиграл пару олимпиад по информатике, написал научную работу для Малой Академии Наук Украины и окончательно понял, что программирование, это - мое. Весь 10-й и 11-й класс жертвовал ради программирования даже возможностью погулять с любимой девочкой (первая настоящая любовь, между прочим! Правда потом я ее бросил ради достижения высот...). Поступил в ВУЗ на Прикладную Математику и очень хорошо отучился первых ...

Как взять на работу хорошего программиста

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

Смена названия

Решил сменить название блога. Во-первых: feedburner почему-то некрасиво показывает заголовок, содержащий кирилицу. Во-вторых: в течении 30 минут, абсолютно случайно наткнулся на 2(!) блога, которые называются "Мысли вслух". И вообще, оказалось что их много .