пятница, 20 сентября 2013 г.

Возможности использования Gmail адреса

Две интересные недокументированные возможности почтовой службы Gmail.com

  •  В почтовый адрес можно вставлять сколько угодно точек(.), Gmail просто игнорирует их так адреса name@gmail.com n.ame@gmail.com n.a.m.e@gmail.com абсолютно идентичны. Правда не знаю как это можно использовать
  • после имени аккаунта можно добавить плюс (+) и любые фразы после него. которые тоже игнорируются. Вот это намного интереснее. Так имея адрес name@gmail.com при подписке на какую-то рассылку, регистрации на любом сайте, можно указывать разные почтовые адреса и потом на основании адреса строить фильтры в почтовой службе.
    Скажем регистрируясь на livejournal.com если указать адрес name+livejournal@gmail.com, то легко настроить фильтр на все письма приходящие от живого журнала(точнее на адрес name+livejournal@gmail.com)

четверг, 14 апреля 2011 г.

Исследуем Watch Window

Все знают, что в процессе отладки приложения в окно watch можно скопировать переменные, значения которых мы хотим отслеживать. Посмотрим какие же еще возможности дает нам этот инструмент. Итак:

1) Переменным можно задавать формат. Наиболее частые спецификаторы:
hr: HRESULT или Win32 Error code;
x: 16-ричное представление;
o: 8-ричное представление;
d или i: знаковое 10-тичное представление;
u: без знаковое десятичное представление;
f: знаковое с плавающей точкой;
e: экспоненциальный формат представления;
c: символ;
s: строка;
su: строка UNICODE;
wm: Window message.


Самые интересные это hr - выдает описание ошибки и wm - можно смотреть именованные сообщение windows.

понедельник, 11 апреля 2011 г.

Что подразумевает программист, когда говорит..

Невозможно в принципе — Я не знаю, как это сделать.
Невозможно — Я знаю как, но мне лениво.
Сложно — Придется прочитать документацию.
В принципе, реализуемо — Я как раз вчера скачал из интернета библиотеку, которая решает поставленную задачу.
Работает — Компилируется.
Отлаживаю — Не компилируется.
Прогоняю тестовые примеры — Пытаюсь найти такой, на котором программа не вываливается.
Работал допоздна — Играл по сети.
После обеда — Часам к 18:00.

_________
стырено с просторов интернета

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

Security Enhancements in the CRT

       C некоторых пор Microsoft озаботилась безопасностью древних функций CRT, таких как: sprintfitoastrcpy и прочих. Полный список опубликован на сайте Microsoft Deprecated CRT Functions. Вроде все разумно, при переходе с VS 6 на VS 2008 просмотрел все warning компилятора и все указанные функции честно заменил их на *_s аналоги.
       Но в число прочих попала функция fopen, ее я естественно тоже заменил на fopen_s, и тут меня ждала неожиданность - оказывается поведение fopen и fopen_s немного разное, а точнее fopen_s открывает файл только для себя (not sharable). В моем случае получилось что, пока я не закрою программу, я не могу открыть "log" файл на просмотр и следить что происходит.
       Причем Microsoft честно предупреждает об этом в MSDN и говорит что делать:
Remarks
"Files opened by fopen_s and _wfopen_s are not sharable. If you require that a file be sharable, use _fsopen, _wfsopen with the appropriate sharing mode constant (for example, _SH_DENYNO for read/write sharing)."
       Но об этом надо каждый раз помнить, тупо следовать указаниям компилятора и менять все функции на их *_s аналоги нельзя!

четверг, 7 апреля 2011 г.

Программирование Copy-Paste.

    При Copy-Paste программировании иногда копируешь пустую строку, т.е. случайно нажимаешь Ctrl+C вместо Ctrl+V, находясь на пустой строке. Таким образом, удаляем текст, который хотели бы вставить.
    
    Настройка, которая помогает избежать потерь, была найдена в диалоговом окне Tools - Options - Text Editor - All Languages – General. В нем имеется флажок Apply Cut or Copy commands to blank lines when there is no selection.. Его отмена позволяет нажимать Ctrl+C в пустой строке без риска потерять информацию, находящуюся в буфере обмена.


____ 
первоисточник найден тут: Sara Ford