Самое интересное в Delphi блогах за 2010 год.
Смотрите также: Самые интересные публикации 2009 года и Самое интересное в Delphi блогах за 2011 год.
В этом году количество материалов в блогах по Delphi просто зашкаливает. Честно скажу, я читал только малую часть. Посты для итогов 2010 года я отбирал менее критично чем в прошлом году. В этот пост вошли более 150 статей.
Оглавление
- Переводы на Хабре
- Разные блоги
- Работа с жестами в Delphi.
- Перевод “Simplify our Delphi Code using some OO techniques”
- Блог Николая Зверева - Delphi Notes
- Использование OmniThread Libray (OTL) для создания многопоточных приложений.
- Использование OmniThread Libray 2.0 (OTL 2.0).
- О защите и взломе Delphi программ.
- Публикации Александра Алексеева (Gunsmoker-a).
- Переводы от Gunsmoker-а.
- Публикации в блоге WebDelphi
- Блог Андрея Терехова
- Блог Александра Божко
- TDelphi блог
Переводы о Delphi 2010 на Хабре
- Контексты RTTI в Delphi 2010: как это работает и как их использовать – перевод статьи Barry Kelly “Delphi 2010 RTTI Contexts: how they work, and a usage note”.
- Обобщенные интерфейсы в Delphi – перевод статьи Malcolm Groves «Generic Interfaces in Delphi».
- Преобразование ссылки на интерфейс для реализации класса в Delphi 2010 – перевод статьи Malcolm Groves “Casting an Interface Reference to the Implementing Class in Delphi 2010”
- Кратко о RTTI и атрибутах в Delphi 2010 – перевод статьи Malcolm Groves “RTTI and Attributes in Delphi 2010”.
- Подробнее об атрибутах в Delphi 2010. Пример — проверка данных – перевод статьи Malcolm Groves “More Attributes in Delphi 2010”.
- Поддержка рефакторинга атрибутов в Delphi 2010 – перевод статьи Malcolm Groves “Refactoring Support for Attributes in Delphi 2010”.
Разные блоги
- Сергей Рощин. Выполнение некоторых действий до и после компиляции проекта.
- Алексей Михайличенко. Initialization. Вызов функции из неинициализированного модуля.
- Сериализация объектов (SaveToStream, LoadFromStream для наследника TPersistent) от Igor Tyugai.
- Чорны Кашак. Delphi 2010: Ловим ошибки отсроченной загрузки DLL.
- Блог Delphi Zen: Что не так с RAD-way? Часть 1: DFM.
- Юмагузин Тагир Халимович: ООП и паттерны проектирования: практическое применение.
- Библиотека EasyCAD library, или контейнер визуальных объектов для практикующих от Юрия Спектора.
- Посты о работе из Delphi с API Вконтакте (код оставляет желать лучшего) в блоге Андрея Лещинского.
- TcxFilterControl и TcxDBFilterControl — продвинутые запросы в руках пользователя – использование фильтров от Developer Express в своих приложениях и отдельно от грида.
- Создаем эмулятор приставки - о создании на Delphi простого эмулятора игровой платформы CHIP-8 из далеких 70-х.
- В 2010 году появился (и зачах) блог Бесплатные Delphi компоненты в котором можно найти краткие описания бесплатных компонентов для Delphi. (фактически, это переводы официальных описаний).
- Незаконченная история перехода с Delphi на C# – история опыта перехода с Delphi на C#.
Работа с жестами в Delphi.
Автор: Всеволод Леонов (Embarcadero).
- Жесть!икуляция, часть 1
- Жесть!икуляция, часть 2
- Жесть!икуляция, часть 3
- Жесть!икуляция, часть 4
- Delphi полиморфизм
Перевод серии публикаций от Stefaan Lesage “Simplify your Delphi Code using some OO techniques” в блоге Keeper-a.
- Упростите свои Delphi-приложения - Часть 1
- Упростите свои Delphi-приложения - Часть 2
- Упростите свои Delphi-приложения - Части 3 и 4
Блог Николая Зверева - Delphi Notes
Интересные заметки раскрывающие внутреннее устройство некоторых привычных вещей: например, работа с формами и компонентами.
- Как правильно уничтожать модальную форму. Release vs Free
- Автоматическое уничтожение объектов
- Как правильно закрывать форму по Escape. Обработка диалоговых клавиш
- Дублирование компонентов в Run-Time
Серия публикаций от Дмитрия Кузана (блог Delphicoding).
Использование OmniThread Libray (OTL) для создания многопоточных приложений.
- Часть 1. Hello World.
- Часть 2. Односторонняя связь.
- Часть 3. Двусторонняя связь. Подход 1.
- Часть 4. Двусторонняя связь. Подход 2.
- Часть 5. Реализация каналов связи между фоновыми задачами.
- Часть 6. Обработка сообщений Windows в OTL.
- Часть 7. Обработка ошибок в OTL.
- Часть 8. Завершение фоновых задач по событию.
- Часть 9. Группы задач.
- Часть 10. Очереди задач.
- Часть 11. Вызов метода по имени или по адресу.
- Часть 12. Практика OTL. Фоновый поиск файлов.
- Часть 13. Создание пула задач.
- Часть 14. Внутренняя организация OTL.
- Часть 15. Создание задачи.
- Часть 16. Система связи.
- Часть 17. Информация об окружении.
Использование OmniThread Libray 2.0 (OTL 2.0).
- Часть 1. Что нового?
- Часть 2.Что нового?
- Часть 3. Волшебство Parallel.ForEach. Краткий обзор.
- Часть 4. Многоступенчатые процессы.
- Часть 5. Регулировка стадий.
- Часть 6. Провайдер исходных данных.
Серия постов в блоге Егора (Uber Delphi Day) о защите и взломе Delphi программ.
Егор выбрал интересную тему посвящённую искусству взлома и защиты Delphi программ.
- Защита Delphi-программ от взлома. Часть I – Инструментальная
- Защита Delphi-программ от взлома. Часть II – Защитно-обзорная
- Защита Delphi-программ от взлома. Часть III – Навесная
- Защита Delphi-программ от взлома. Часть IV - Защита от декомпилятора DeDe (Delphi Decompiler).
- Отладка в Delphi 2010. Точки останова.
- Отладка Delphi-приложений в OllyDbg
- Внедрение своей DLL в среду Delphi как пример инжектирования своего кода в Delphi.
- Взлом Delphi компонент на примере TAdvMemo от TMS Software – рассказ о технике взлома.
Публикации Александра Алексеева (Gunsmoker-a).
Блог Gunsmoker-a – это единственный русскоязычный Delphi блог, который я безоговорочно рекомендую к изучению каждому Delphi программисту. Качество и полнота статей в его блоге близки к совершенству (или даже лучше). Серьёзно.
- Как использовать справку в программах Delphi
- Как писать понятный код - руководство для учащихся aka "Как писать код, понятный хотя бы себе самому"
- Шрифты в Windows XP и Windows Vista/7
- Локализация проектов Delphi - родной способ (ITE - Integrated Translation Environment)
- Документация в исходном коде - раунд 2
- Введение в 64 бита на Windows
- Советы и трюки в EurekaLog, часть 1
- Task Dialogs от Vista/Windows 7 в Windows XP: читаем спецификацию с другой стороны
- Некоторые оптимизации оконных программ
- Новый класс Exception в Delphi 2009 и выше
- Работа с текстовыми файлами в любой кодировке из Delphi до 2009
- Если что-то работает - это ещё не значит, что это работает правильно
- 90% кода в интернете - говно
- Как настроить Delphi 2010, чтобы она выглядела как Delphi 7
- Стиль оформления кода
- НЕ пишите комментарии!
- 98/97: Отделяйте интерфейс пользователя от кода
- Как стать (Delphi) программистом
- Не будьте беспомощны: скрытие/показ кнопок окон в панели задач
- Delphi и панель задач (taskbar) в Windows 7
- Кнопки в панели задач: доводим до крайности - решение в виде компонента
Отладка Delphi программ
Большая часть серии постов о поиске ошибок была опубликована Александром в прошлом году.
- Ищем утечки памяти, redux
- Проблемы с памятью – заключительная статья
- Как узнать, почему зависла программа?
Переводы от Gunsmoker-а.
Это только малая часть переводов, опубликованных в течение 2010 года. Я отобрал здесь те статьи, которые показались интересными мне.
Переводы серии публикаций
97 вещей, которые должен знать каждый программист –частичный перевод серии статей 97 Things Every Programmer Should Know издательства O'Reilly. Как сообщили в комментариях, полный перевод серии "97 вещей, которые должен знать каждый программист" был выполнен ЖЖ-юзером avl и может быть найден здесь или здесь.- Реализация индивидуального формата файлов – серия переводов статьи из MSDN Implementing a Custom File Format.
Переводы статей о Delphi.
- Время запуска Delphi и кухня конфигураций - перевод Delphi Startup Times and the Kitchen Sink. Автор: Mark Edington.
- Маленькие вещи, которые в Delphi сделаны верно - перевод Little things Delphi gets right. Автор: Mason Wheeler.
- Обзор возможностей Delphi 2010 - визуализаторы для отладчика (Debugger Visualizers) - перевод статьи “Delphi 2010 Feature Highlight - Debugger Visualizers” из декабрьского выпуска 2009-го журнала Blaize Pascal Magazine. Автор: Jeremy North
- Доводы против uses - перевод The uses clause considered harmful. Автор: Hallvard Vassbotn.
- Доводы против with - перевод The with-statement considered harmful. Автор: Hallvard Vassbotn.
- Приведения типов объект-к-объекту - перевод Object-to-object casts. Автор: Hallvard Vassbotn.
- Приведения типов объект-к-интерфейсу - перевод Object-to-interface casts. Автор: Hallvard Vassbotn.
- Приведения типов интерфейс-к-интерфейсу - перевод Interface-to-interface casts. Автор: Hallvard Vassbotn.
- Absolute(но) для начинающих - перевод Absolute (for) Beginners. Блог: Te Waka o Delphi.
Хаки Delphi
Цикл переводов статей от Hallvard Vassbotn (http://hallvards.blogspot.com).
- Хак №1: запись в свойство только для чтения - перевод Hack #1: Write access to a read-only property.
- Хак №2: Исправление номеров строк в System.pas после обновления D7.1 - перевод Hack #2: Fixing System.pas line numbers after D7.1 update.
- Примечание: Перевод статьи Хак №3 отсутствует, вероятно потому, что статья целиком относится только к Delphi 8 (.NET). (Hack #3: Enabling the JIT Optimizer for D8 for .NET).
- Хак №4: Доступ к protected методам - перевод Hack #4: Access to protected methods.
- Что такое хак? (и почему его не стоит использовать) - перевод What is a hack?.
- Хак №5: Доступ к private-полям - перевод Hack #5: Access to private fields.
- Хак №6: Проверка допустимости объектного указателя - перевод Hack #6:Checking for a valid object instance. .
- Хак №7: Interface в Object - перевод Hack #7: Interface to Object.
Примечание: переведены были не все статьи из цикла.
Всякое
- SetLocaleInfo действительно плохо пахнет - перевод SetLocaleInfo really stinks. Автор: Майкл Каплан.
- Как сделать приложение, которое будет работать как GUI и как консольное? - перевод How to make an application as both GUI and Console application? Автор: Junfeng Zhang.
- Правила разработки программного обеспечения Ларри, часть 1: каждый программист должен примерно представлять, какой ассемблерный код генерируют его исходники - перевод Larry's rules of software engineering, part 1: Every software engineer should know roughly what assembly language their code generates. Автор: Ларри Остерман.
- Должен ли я проверять параметры своих функций? - перевод Should I check the parameters to my function? Автор: Ларри Остерман.
Переводы постов Реймонда Чена:
- Чище, элегантнее и тяжелее опознать – перевод Cleaner, more elegant, and harder to recognize. Как легче писать хороший код - на исключениях или на кодах возврата (с примерами на Delphi).
- Не забывайте передавать текущий каталог вместе с командной строкой в ваших приложениях с одним экземпляром - перевод Don't forget to pass the current directory along with the command line to your single-instance program.
- Когда программы предполагают, что система никогда не изменится, эпизод 3 - перевод When programs assume that the system will never change, episode 3.
- Опасайтесь перемещаемых профилей пользователя - перевод Beware of roaming user profiles.
- Опасайтесь также и перенаправленных папок - перевод Beware of redirected folders, too.
- Почему INI-файлы устарели и их заменил реестр? - перевод Why are INI files deprecated in favor of the registry?
- Стоимость чтения ключа реестра - перевод The performance cost of reading a registry key.
- Как компания может получить доступ к данным Windows Error Reporting? - перевод How can a company get access to Windows Error Reporting data?
- Что если две программы сделают это? - перевод What if two programs did this?
- Эти иконки уведомлений с их щелчками, двойными щелчками, правыми щелчками... что это за мешанина? - перевод Those notification icons, with their clicks, double-clicks, right-clicks... what's up with that?
Перевод серии постов о LockWindowsUpdate:
- Страница посвящённая LockWindowsUpdate в блоге Gunsmoker-a (несколько постов были опубликованы уже в 2011 году и не вошли в эту подборку).
- Что делает LockWindowsUpdate?
- Как предполагалось использовать
LockWindowUpdate
? - С какими операциями предполагалось использовать
LockWindowUpdate
? - С какими операциями не предполагалось использовать
LockWindowUpdate
? - Последние замечания о LockWindowsUpdate
Публикации в блоге WebDelphi
Влад в прошлом году потрудился на славу, опубликовав огромное количество постов по работе с различными веб сервисами, описав работу с SynapseLib, ICS, Lazarus, Delphi XE и завершив начатую в прошлом году серию публикаций о Delphi Ribbon Controls. Отдельно хочу отметить начатый Владом проект реализующий API для сервисов Google на Delphi.
Lazarus
- Создание документа MS Word в Lazarus.
- Отладка приложений в Lazarus.
- LCL Lazarus. Разработка справочной системы.
- Создание документации исходного кода в Lazarus. Утилита PasDoc.
- Решение микро-проблем в Lazarus 0.9.хх.
Delphi 2010-XE
- Delphi XE. Работа с регулярными выражениями.
- Subversion в Delphi XE. Впечатления после одного дня работы.
- Практическое использование TRegExp в Delphi XE. Часть 1.
- Практическое использование TRegExp в Delphi XE. Часть 2.
- Практическое использование TRegExp в Delphi XE. Часть 3.
- SQLite в Delphi 2010.
- Беглый обзор модуля IOUtils.pas. Часть 1: работа с директориями в Delphi 2010.
- Беглый обзор модуля IOUtils.pas. Часть 2: работа с файлами в Delphi 2010.
- Беглый обзор модуля IOUtils.pas. Часть 3: работа с TPath в Delphi 2010. Заключение.
- Модуль Character – работа с символами строки.
- Delphi IDE. Инструмент History.
- Delphi IDE. Шаблоны кода (Templates).
Разное
- DVCS Git и TortoiseGit в картинках. Пособие для начинающих чайников.
- Создаем полноценный Help для Delphi-программ. Часть 1: первое знакомство с HHW.
- Создаем полноценный Help для Delphi-программ. Часть 2: Контекстная справка.
- Создаем полноценный Help для Delphi-программ. Часть 3: Создание окон справочной системы.
- DWM API в Delphi 2010. Использование миниатюр в своих приложениях.
- Модуль DWMAPI в Delphi 2010. Используем возможности Windows 7 в Delphi-программах.
Программирование для Web
- FriendFeed API. Пример реализации на Delphi.
- FriendFeed API. Постинг анонсов статей в группы.
- Модуль Delphi для работы с API bit.ly.
- MLang. Автоматическое определение кодировки веб-страницы.
- 3 варианта работы с кодировками веб-страниц в Delphi.
- MLang в Delphi. Работа с кодировками Web-страниц.
Библиотеки для работы с сетью
Internet Components Suite
- Шифрование средствами ICS (Hmac, SHA1, MD5, Base64)
- ICS в Delphi 2010. События компонента HTTPCli.
- ICS – Internet Components Suite в Delphi 2010. Общий обзор компонентов.
Synapse
- Криптография в Delphi средствами Indy и Synapse.
- Synapse TPOP3Send. Обработка писем.
- Synapse. TPOP3Send. Подготовительные работы.
- 10 самых распространенных вопросов по работе с Synapse.
- Class helper для Synapse – Автоматический редирект.
- Synapse. Отправка нескольких документов одним POST-запросом.
- Synapse. Использование событий TTCPBlockSocket.
- Synapse. Авторизация в WordPress-блоге.
- Отправка писем с GMail с использованием Synapse.
- Synapse. Скачиваем данные с ProgressBar’ом.
- Самый простой способ узнать скорость загрузки файла из Сети. Synapse в Delphi.
- Synapse в Delphi. Отправка писем с вложениями.
- Synapse. Авторизация на сайте. Работа с HTTPS.
- Synapse. Отправка писем, используя SMTP.
Web API
- Работа с Wordpress из Delphi через XML RPC (серия публикаций)
- API Яндекс.Спеллера в Delphi.
Twitter API
- Пример практического использования библиотеки OAuth в Delphi.
- Twitter API и Synapse в Delphi.
- Twitter API в Delphi. Работа со списками following и followers.
- Twitter API в Delphi: following и followers. Способ №2.
- Twitter API в Delphi. Ищем новых друзей.
Работа с Яндексом через OAuth 2.0
- Авторизация в сервисах Яндекс. Используем подтверждающий код.
- Авторизация в сервисах Яндекс. Используем логин и пароль.
Работа с Google
- Google Docs List API. Детально об экспорте файлов.
- Что стоит помнить при работе с Google Docs List API
- Экспорт документов Google Docs.
- Google Docs API. Получение списка документов.
- Быстрая обработка RSS-канала с использованием AJAX API загрузки фидов Google.
- Взаимодействие Delphi-приложения и веб-приложения Google App Engine.
- Google API в Delphi. Реализация AJAX Language API.
- Google API в Delphi. Компонент для обработки статистики FeedBurner.
- GContacts.pas – модуль для работы с Google Contacts API в Delphi.
- Google Contacts API в Delphi. Чтение и обновление имени контакта.
- Добавление контактов в Google Contacts и параллелизм метода POST.
- О важности указания параметра Service при доступе к службам Google.
- Загрузка, редактирование и удаление фотографий в Google Contacts API.
- Изменение контактов через Google Contacts API.
- API Google Contacts в Delphi. Чтение данных о контактах.
- Работа с изображениями в Google Contacts Data API.
- Google Celendar API в Delphi. Работа с календарями.
- Google Celendar API в Delphi. Работа с событиями.
- Google Calendar API. Редактирование и удаление событий в календаре.
- Google Data Protocol. Разбор элементов Entry.
- Google Data Protocol. Читаем данные фида (Data API feed).
- Google Celendar API в Delphi. Начало работы.
- Несколько общих моментов по работе с Google API.
Ribbon controls
- Решение проблем с Ribbon Controls в Delphi.
- Ribbon Controls в Delphi. Свои скины.
- «Живой» интерфейс с Ribbon Controls.
- Справочник Ribbon Controls в Delphi 2010. Визуальная разработка интерфейса приложения.
- Ribbon Controls в Delphi. ScreenTip для кнопки DialogAction группы.
- «Тонкости» работы с Ribbon Controls в Delphi 2010.
- Создаем свои контролы на ленте Microsoft Office.
- Ribbon Controls в Delphi. Работа без мыши.
- Ribbon Controls в Delphi. Создаем элементы управления «на лету».
- Ribbon Controls в RAD Studio 2009-2010 и их глюки.
- Ribbon Controls шаг за шагом. Шаг 3 – работа со ScreenTips.
- Ribbon Controls шаг за шагом. Шаг 4 – создаем уникальный стиль или как работать в RibbonSkins.
Терехов Андрей Юрьевич http://blog.karelia.ru/teran
- Обработка событий MS Outlook
- Работа с API vkontakte
- Планировщик задач (taskScheduler)
- Перегрузка операторов?
- DisableControls экономит ваше время?
- Серия постов о Direct2D в Delphi.
- Серия постов о Windows animation manager.
- Windows 7 thumbnail toolbars как добавлять кнопки в превью окон панели задач и обрабатывать их нажатия.
- Windows 7 taskbar и Delphi – отображение прогресса.
- windows 7 taskbar overlay icons
Блог Александра Божко
- Серия публикаций (почти два десятка) о компонентах Developer Express.
- Delphi XE. Первые впечатления #0
- Delphi XE. Первые впечатления #1
- Delphi XE. Первые впечатления #2
- Top 5 функций, раширяющих возможности Delphi IDE.
TDelphi блог
- Публикации о JVCL:
- Знакомство с OpenToolsApi для интеграции систем контроля версий в Delphi 2010.
- Статьи по теме “Описание экспертов для Delphi”:
- Краткий обзор gExperts.
- Подробное описание CnPack IDE Wizards на русском языке.
Спасибо за подборку!
ОтветитьУдалить«97 вещей, которые должен знать каждый программист» к Delphi как-бы не относятся:) и к тому же Александр Алексеев (GunSmoker) был уличен в плагиате переводов у жж-юзера avl (http://avl.livejournal.com/89477.html - все части кстати переведены) - Алексей, или удалите ссылку на плагиат или поменяйте ее на автора перевода.
ОтветитьУдалить> к тому же Александр Алексеев (GunSmoker) был уличен в плагиате переводов у жж-юзера avl
ОтветитьУдалитьОбвинение выглядит голословным. Предоставьте доказательства, а также:
1) Поясните что вы понимаете под плагиатом.
2) Укажите перевод какой из частей по-вашему является плагиатом.
Я сравнил переводы некоторых частей - они абсолютно разные. Посему, до предоставления подробных доказательств, автором переводов останется Gunsmoker.
p.s. Если явные доказательства не будут предоставлены, вышеприведённый комментарий будет удалён как клевета.
p.p.s. так или иначе спасибо за ссылку на переводы этих частей от avl.
>Обвинение выглядит голословным. Предоставьте доказательства, а также:
ОтветитьУдалить>1) Поясните что вы понимаете под плагиатом.
>2) Укажите перевод какой из частей по-вашему является плагиатом.
Первые статьи
Александр Алексеев (GunSmoker) переводил сам, но потом начал хитрить. Он сам в этом признался когда у него спросили:
http://www.transl-gunsmoker.ru/2011/01/3097.html?showComment=1296458436595#c4973458922103030229 а до этого он опубликовал некоторые переводы avl без указания авторства, делая вид что это его переводы. Например если сравнить часть 30 от GunSmoker'a (13.01.2011) http://www.transl-gunsmoker.ru/2011/01/3097.html
и от avl (01.03.2010) http://avl.livejournal.com/101764.html то видно, что отличия только в названиях и использовании "" вместо «».
Понятно, спасибо за информацию. Действительно, последние части перевода (я проверил части 25, 28, 29, 30ю) gunsmoker-a почти дословно повторяют переводы avl.
ОтветитьУдалитьЯ добавлю ссылку на полный перевод.
О, и моя ересь тут есть :) Вот просто обожаю такие подборки материала. Жаль они только они раз в год ). Спасибо Алексей.
ОтветитьУдалитьМне тоже такие подборки нравятся. Уследить за всеми интересными/полезными публикациями нереально. Даже с помощью DelphiFeeds.ru - слишком много "мусора". А здесь собрано всё что может пригодиться.
ОтветитьУдалитьЕдинственный минус в том, что составление этих подборок отнимает огромное количество времени.;)
о, и я есть (:
ОтветитьУдалитьтолько что-то как то уж слишком официально написано с отчеством даже (:
teran, я брал имя со страницы О блоге.
ОтветитьУдалитьспасибо за проделанную работу)
ОтветитьУдалить