<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Статьи]]></title>
    <link>https://habr.com/ru/users/instigator21/publications/articles/</link>
    <description><![CDATA[Хабр: статьи пользователя instigator21]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Tue, 05 May 2026 22:01:41 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    
    <item>
      <title><![CDATA[Как я делаю бекапы. СУБД FireBird]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/329914/</guid>
      <link>https://habr.com/ru/articles/329914/?utm_campaign=329914&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<div style="text-align:center;"><img src="https://habrastorage.org/getpro/habr/post_images/6c7/2be/6b9/6c72be6b9ba7d9a68c34718248ac1ee6.png" alt="image" /></div><br/>
Беда пришла откуда не ждали… У клиента завис процесс “Касса”, так что не смог снять процесс через Диспетчер задач. Рабочее место “Касса” — одновременно сервер всей системы.<br/>
 <br/>
Клиент принял решение ресетнуть через кнопку. <br/>
 <br/>
В итоге умерла DB. FireBird 2.5<br/>
  <a href="https://habr.com/ru/articles/329914/?utm_campaign=329914&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 31 May 2017 13:08:10 GMT</pubDate>
      <dc:creator><![CDATA[instigator21]]></dc:creator>
      <category><![CDATA[Базы данных]]></category><category><![CDATA[Резервное копирование]]></category><category><![CDATA[Хранение данных]]></category>
      <category><![CDATA[firebird]]></category><category><![CDATA[delphi]]></category><category><![CDATA[СУБД]]></category><category><![CDATA[backup]]></category><category><![CDATA[windows]]></category><category><![CDATA[inno setup]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Слабые[weak] ссылки в новой версии Delphi]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/282035/</guid>
      <link>https://habr.com/ru/articles/282035/?utm_campaign=282035&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Здравствуйте. <br/>
<br/>
Компания Embarcadero вчера объявила о выходе новой версии <a href="http://community.embarcadero.com/blogs/entry/this-is-the-release-you-are-looking-for">Delphi RAD studio XE 10.1</a>,<br/>
Весь список изменений можно посмотреть <a href="http://docwiki.embarcadero.com/RADStudio/Berlin/en/What%27s_New">тут</a>, я же хочу рассказать о наиболее ценном(для нашей компании) улучшении, а именно о внедрение <a href="https://habrahabr.ru/post/163679/">слабых [weak] ссылок</a> в классический компилятор (Win32/Win64).<br/>
<br/>
Выше в статье даны подробности проблемы, так что тем кто желает посмотреть что сделали в делфи прошу под кат. <br/>
 <a href="https://habr.com/ru/articles/282035/?utm_campaign=282035&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 20 Apr 2016 11:19:55 GMT</pubDate>
      <dc:creator><![CDATA[instigator21]]></dc:creator>
      <category><![CDATA[Delphi]]></category><category><![CDATA[ООП]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[delphi xe 10.1]]></category><category><![CDATA[rad studio]]></category><category><![CDATA[oop]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[MindStream. Как мы пишем ПО под FireMonkey. Часть 5. Тестирование]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/248027/</guid>
      <link>https://habr.com/ru/articles/248027/?utm_campaign=248027&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<a href="http://habrahabr.ru/post/232955/">Часть 1.</a><br/>
<a href="http://habrahabr.ru/post/234801/">Часть 2.</a><br/>
<a href="http://habrahabr.ru/post/241301/">Часть 3. DUnit + FireMonkey</a><br/>
<a href="http://habrahabr.ru/post/241377/">Часть 3.1. По мотивам GUIRunner</a> <br/>
<a href="http://habrahabr.ru/post/245441/">Часть 4. Serialization </a> <br/>
<br/>
Здравствуйте, дорогие хабровчане. <br/>
<br/>
В этом посте я хочу рассказать об изменениях, которые произошли с нашим проектом, а также о технологиях и приемах, которые мы использовали для достижения наших целей.<br/>
<br/>
Сейчас наш проект выглядит так:<br/>
<br/>
<img src="https://habrastorage.org/files/232/c9e/071/232c9e071e0e4ef5905493a757e7ade6.png"/><br/>
 <a href="https://habr.com/ru/articles/248027/?utm_campaign=248027&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 15 Jan 2015 19:37:17 GMT</pubDate>
      <dc:creator><![CDATA[instigator21]]></dc:creator>
      <category><![CDATA[Open source]]></category><category><![CDATA[Delphi]]></category><category><![CDATA[Проектирование и рефакторинг]]></category><category><![CDATA[TDD]]></category><category><![CDATA[ООП]]></category>
      <category><![CDATA[delphi]]></category><category><![CDATA[oop]]></category><category><![CDATA[testing]]></category><category><![CDATA[firemonkey]]></category><category><![CDATA[mobile development]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[MindStream. Как мы пишем ПО под FireMonkey. Часть 4 Serialization]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/245441/</guid>
      <link>https://habr.com/ru/articles/245441/?utm_campaign=245441&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<a href="http://habrahabr.ru/post/232955/">Часть 1</a>.<br/>
<a href="http://habrahabr.ru/post/234801/">Часть 2</a>.<br/>
<a href="http://habrahabr.ru/post/241301/">Часть 3. DUnit + FireMonkey</a>.<br/>
<a href="http://habrahabr.ru/post/241377/">Часть 3.1. По мотивам GUIRunner</a>.<br/>
<br/>
Ещё в начале увлечения программированием мне нравилось работать с файлами. Работа, правда, в основном заключалась в чтении входных данных и записей результатов. Дальше была работа с БД, файлами я пользовался все реже. Максимум IniFile иногда. Поэтому задача сериализации была довольно интересной для меня.<br/>
<br/>
Сегодня я расскажу о том, как мы добавили сериализацию в нашу программу, какие возникли трудности и как мы их преодолели. Так как материал уже не новый, то он скорее для новичков. Хотя, кое-какие приемы смогут <s>почерпнуть</s> покритиковать все.<br/>
<br/>
<div style="text-align:center;"><img src="https://habrastorage.org/files/5c4/0ca/19c/5c40ca19c7414e02a219cc051467214f.jpg" alt="image"  width="350" height="350"/></div><br/>
 <a href="https://habr.com/ru/articles/245441/?utm_campaign=245441&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Tue, 09 Dec 2014 20:48:50 GMT</pubDate>
      <dc:creator><![CDATA[instigator21]]></dc:creator>
      <category><![CDATA[Open source]]></category><category><![CDATA[Delphi]]></category><category><![CDATA[Проектирование и рефакторинг]]></category><category><![CDATA[TDD]]></category><category><![CDATA[ООП]]></category>
      <category><![CDATA[firemonkey]]></category><category><![CDATA[delphi]]></category><category><![CDATA[rad studio xe7]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[По мотивам GUIRunner]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/241377/</guid>
      <link>https://habr.com/ru/articles/241377/?utm_campaign=241377&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<a href="http://habrahabr.ru/post/232955/">Часть 1</a>.<br/>
<a href="http://habrahabr.ru/post/234801/">Часть 2</a>.<br/>
<a href="http://habrahabr.ru/post/241301/">Часть 3</a>.<br/>
<br/>
Сегодня дописал <a href="http://habrahabr.ru/post/241301/">пост</a> о том, как мы решили написать свой GUIRunner для FireMonkey. В комментарии к посту в одной из соцсетей <a href="https://plus.google.com/+AlekseyTimohin">Алексей Тимохин</a> обратил мое внимание на другой известный фреймворк для тестирования — DUnitX. <br/>
Я пытался найти альтернативу, использовать консольный вариант, но Александр был неумолим. Когда же зайдя в репозиторий я увидел готовый GUIRunner под FireMonkey, совсем поник. <br/>
<br/>
Однако. <br/>
 <a href="https://habr.com/ru/articles/241377/?utm_campaign=241377&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 23 Oct 2014 16:29:56 GMT</pubDate>
      <dc:creator><![CDATA[instigator21]]></dc:creator>
      <category><![CDATA[Delphi]]></category><category><![CDATA[Проектирование и рефакторинг]]></category><category><![CDATA[TDD]]></category>
      <category><![CDATA[delphi]]></category><category><![CDATA[firemonkey]]></category><category><![CDATA[firemonkey mobile]]></category><category><![CDATA[tdd]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[MindStream. Как мы пишем ПО под FireMonkey. Часть 3. DUnit + FireMonkey]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/241301/</guid>
      <link>https://habr.com/ru/articles/241301/?utm_campaign=241301&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<a href="http://habrahabr.ru/post/232955/">Часть 1</a>.<br/>
<a href="http://habrahabr.ru/post/234801/">Часть 2</a>.<br/>
<br/>
Здравствуйте.<br/>
<br/>
В этой статье я хочу познакомить читателей с процессом переноса VCL кода в FireMonkey. В стандартной поставке Delphi, начиная по-моему с версии 2009, проект <a href="http://dunit.sourceforge.net/">DUnit</a> идёт из коробки. <br/>
<br/>
Однако писался он в далекие времена VCL. И хотя и позволяет тестировать код написанный для FireMonkey (Благодаря консольному выводу), но у него нет «няшного» GUIRunner'a, к которому многие из нас привыкли, ведь в нём очень быстро и легко можно «убрать» те тесты которые мы не хотим запускать «именно сейчас».<br/>
<br/>
<div style="text-align:center;"><img src="https://habrastorage.org/getpro/habr/post_images/81a/dae/b19/81adaeb19974a47284158ccf08d70454.gif" alt="image" /></div><br/>
<br/>
 <a href="https://habr.com/ru/articles/241301/?utm_campaign=241301&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Поехали</a>]]></description>
      
      <pubDate>Thu, 23 Oct 2014 00:04:02 GMT</pubDate>
      <dc:creator><![CDATA[instigator21]]></dc:creator>
      <category><![CDATA[Delphi]]></category><category><![CDATA[Проектирование и рефакторинг]]></category><category><![CDATA[TDD]]></category>
      <category><![CDATA[firemonkey]]></category><category><![CDATA[firemonkey mobile]]></category><category><![CDATA[delphi]]></category><category><![CDATA[test driven development]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[MindStream. Как мы пишем ПО под FireMonkey. Часть 2]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/234801/</guid>
      <link>https://habr.com/ru/articles/234801/?utm_campaign=234801&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<a href="http://habrahabr.ru/post/232955/">Часть 1</a>.<br/>
<br/>
Здравствуйте. <br/>
<br/>
В этой статье я продолжу рассказ о том, как мы пишем под FireMonkey. Будет добавлено 2 интересных объекта. Оба напомнят нам о векторной алгебре и тригонометрии. Также в посте будут показаны приемы из ООП, которыми мы пользуемся. <br/>
<br/>
 <a href="https://habr.com/ru/articles/234801/?utm_campaign=234801&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 28 Aug 2014 08:10:25 GMT</pubDate>
      <dc:creator><![CDATA[instigator21]]></dc:creator>
      <category><![CDATA[Delphi]]></category><category><![CDATA[Проектирование и рефакторинг]]></category><category><![CDATA[ООП]]></category>
      <category><![CDATA[firemonkey]]></category><category><![CDATA[firemonkey mobile]]></category><category><![CDATA[delphi]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[MindStream. Как мы пишем ПО под FireMonkey]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/232955/</guid>
      <link>https://habr.com/ru/articles/232955/?utm_campaign=232955&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Месяц назад мы решили написать кросс-платформенное приложение, используя FireMonkey. В качестве направления выбрали рисование графических примитивов, с возможностью сохранения и восстановления данных. <br/>
<br/>
Процесс написания приложения мы договорились подробно описывать на Хабре. <br/>
<br/>
В статьях будет показано на практике использования различных техник, таких как: Dependency Injection, фабричный метод, использование контекстов, использование контроллеров и т.д. В ближайшем будущем планируется прикрутить туда тесты Dunit. DUnit’a в данный момент нет для FMX, так что придётся что-то придумывать самим. <br/>
<br/>
Начнем мы с рабочего прототипа который к моменту окончания статьи приобретет такой вид:<br/>
<br/>
<img src="https://habrastorage.org/files/2bc/7ab/305/2bc7ab3058004c01ba4c95f4f9b5dd9c.png"/><br/>
 <a href="https://habr.com/ru/articles/232955/?utm_campaign=232955&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Mon, 11 Aug 2014 14:51:17 GMT</pubDate>
      <dc:creator><![CDATA[instigator21]]></dc:creator>
      <category><![CDATA[Delphi]]></category><category><![CDATA[Проектирование и рефакторинг]]></category><category><![CDATA[ООП]]></category>
      <category><![CDATA[firemonkey]]></category><category><![CDATA[firemonkey mobile]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
