<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>FirWood</title><generator>teletype.in</generator><description><![CDATA[Пишу Просто. ]]></description><image><url>https://img3.teletype.in/files/66/12/66122e5b-70ac-4abb-8b12-b2f7667567e8.png</url><title>FirWood</title><link>https://teletype.in/@firwoods</link></image><link>https://teletype.in/@firwoods?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/firwoods?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/firwoods?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Tue, 21 Apr 2026 22:06:34 GMT</pubDate><lastBuildDate>Tue, 21 Apr 2026 22:06:34 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@firwoods/here-there-and-everywhere</guid><link>https://teletype.in/@firwoods/here-there-and-everywhere?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/here-there-and-everywhere?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>Here There And Everywhere</title><pubDate>Wed, 12 Jul 2023 09:25:23 GMT</pubDate><category>Музыка</category><description><![CDATA[Решил начать выкладывать свои многочисленные записи на общедоступные платформу. Довольно сложно было выложить, зная и слыша все косяки, но я это сделал :) ]]></description><content:encoded><![CDATA[
  <figure id="WdbV" class="m_column">
    <iframe src="https://www.youtube.com/embed/BwMhVVbKlbA?autoplay=0&loop=0&mute=0"></iframe>
  </figure>
  <p id="n2AG">Решил начать выкладывать свои многочисленные записи на общедоступные платформу. Довольно сложно было выложить, зная и слыша все косяки, но я это сделал :) </p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@firwoods/heroes-concert</guid><link>https://teletype.in/@firwoods/heroes-concert?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/heroes-concert?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>Посетил Концерт</title><pubDate>Fri, 07 Apr 2023 07:28:54 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/27/3c/273c53f8-3f1b-4457-ad4f-4b9a94e6bc00.png"></media:content><category>Музыка</category><description><![CDATA[<img src="https://img2.teletype.in/files/d2/38/d23822bb-1129-460e-8a80-2033799fc99a.jpeg"></img>Посетил симфонический концерт, где играли композиции Пола Ромео. Билеты купил в день концерта, благодаря рекламе на Яндекс Дзен :) Так что не спешите хоронить контекстную рекламу. ]]></description><content:encoded><![CDATA[
  <figure id="Q07X" class="m_column">
    <img src="https://img2.teletype.in/files/d2/38/d23822bb-1129-460e-8a80-2033799fc99a.jpeg" />
  </figure>
  <p id="5oIQ">Посетил симфонический концерт, где играли композиции Пола Ромео. Билеты купил в день концерта, благодаря рекламе на Яндекс Дзен :) Так что не спешите хоронить контекстную рекламу. </p>
  <p id="pHUd"></p>
  <p id="4uE8">Хорошо составленные программы, всегда предполагают пару песен на бис, которых не было в программе. Обычно бонусные композиции заранее определены и не зависят от того, насколько интенсивно хлопают. Но людям приятно думать, что именно они  &quot;заставили&quot; продлить концерт.  </p>
  <p id="ZbDw">Концерт шел 70 минут, без антракта. Особенно хорошо сыграно Некрополис.</p>
  <p id="MJ7Q">Не особо люблю что-то записывать во время концерта, это довольно бессмысленно, но главную тему записал. <br /><a href="https://rutube.ru/video/919fa782b45b2024e86f322453757195/" target="_blank">https://rutube.ru/video/919fa782b45b2024e86f322453757195/</a></p>
  <figure id="mgGU" class="m_original">
    <img src="https://neoclassica.ru/wp-content/uploads/2019/02/314744_yandex2-e1554117945382.png" width="600" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@firwoods/ruby-service</guid><link>https://teletype.in/@firwoods/ruby-service?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/ruby-service?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>Принципы написание сервисов на Ruby</title><pubDate>Mon, 20 Feb 2023 13:58:01 GMT</pubDate><category>it</category><description><![CDATA[Если пользоваться всеми возможностями язык, то получается хорошо. ]]></description><content:encoded><![CDATA[
  <pre id="1tvk" data-lang="ruby">class PrintService
  attr_accessor :output_path, :template_path, :tracker_name
  def initialize
    @template_path = &#x27;template.docx&#x27;
    @tracker_name = &#x27;Комплект&#x27;
    super
  end

  def call
    render_doc
    temp_file
  end

  private

  def render_doc
    template.render_to_file(temp_file, context)
  end

  def temp_file
    @temp_file ||= Tempfile.new(&#x27;output.docx&#x27;)
  end

  def context
    { items: mapped_issues }
  end
  
  def mapped_issues
    @mapped_issues ||= issues.each_with_index.map{ |v, i|
        row.new(i, v.subject, v.description, v.created_on.strftime(&#x27;%d.%m.%Y&#x27;))
    }
  end
  
  def row
    @row ||= Struct.new(:index, :subject, :description, :date)
  end
  
  def issues
    @issues ||= Issue.where(tracker: tracker)
  end

  def tracker
    @tracker ||= Tracker.find_by_name(tracker_name)
  end

  def template
    @template ||= Sablon.template(File.expand_path(template_path))
  end

end</pre>
  <p id="Po3b"></p>
  <p id="Wy1w">Если пользоваться всеми возможностями язык, то получается хорошо. </p>
  <p id="Q7KX"></p>
  <ol id="uzst">
    <li id="qK23">Публичные методы, методы которые реально используется. </li>
    <ol id="VwrE">
      <li id="R8wc">Их не может быть много </li>
    </ol>
    <li id="jfrc">Один класс - одна задача. </li>
    <li id="pBUv">Один метод - одна отвественность. </li>
    <li id="Z57r">Вложенность методов. </li>
    <li id="9Qak">Там где возможно, использовать lazy-load. </li>
    <li id="HTAE">Методы сортируются по высокоуровненвости.</li>
    <ol id="Yxno">
      <li id="F1JO">Те, которые, вызываются первыми находятся - сверху. </li>
      <li id="lbhd">Те, которые, вызываются последними - снизу. </li>
    </ol>
  </ol>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@firwoods/sort-method</guid><link>https://teletype.in/@firwoods/sort-method?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/sort-method?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>Методы сортировки</title><pubDate>Mon, 20 Feb 2023 08:00:49 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/90/60/9060da11-caf0-4ee3-b84b-b6cc32089ebf.png"></media:content><category>it</category><description><![CDATA[<img src="https://img2.teletype.in/files/50/f7/50f73b12-b0d4-4320-9130-b1fa0bd6fb90.jpeg"></img>]]></description><content:encoded><![CDATA[
  <figure id="QJgI" class="m_original">
    <img src="https://img2.teletype.in/files/50/f7/50f73b12-b0d4-4320-9130-b1fa0bd6fb90.jpeg" width="4488" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@firwoods/rest-api</guid><link>https://teletype.in/@firwoods/rest-api?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/rest-api?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>REST Api</title><pubDate>Mon, 20 Feb 2023 08:00:10 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/62/ee/62ee5f76-bbbe-4075-9bda-0a41cbbde948.png"></media:content><category>it</category><description><![CDATA[<img src="https://img3.teletype.in/files/6e/9f/6e9ffaf9-5566-40f4-b5d9-f203666bf220.jpeg"></img>]]></description><content:encoded><![CDATA[
  <figure id="kLZH" class="m_original">
    <img src="https://img3.teletype.in/files/6e/9f/6e9ffaf9-5566-40f4-b5d9-f203666bf220.jpeg" width="4488" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@firwoods/sql-cheetsheet</guid><link>https://teletype.in/@firwoods/sql-cheetsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/sql-cheetsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>SQL Cheetsheet</title><pubDate>Mon, 20 Feb 2023 07:59:28 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/df/6a/df6ae49c-20e3-4790-adc7-6c30320de82c.png"></media:content><category>it</category><description><![CDATA[<img src="https://img1.teletype.in/files/86/96/86969cdb-365e-4f30-b032-ad7213c31a2d.jpeg"></img>]]></description><content:encoded><![CDATA[
  <figure id="k4Ql" class="m_original">
    <img src="https://img1.teletype.in/files/86/96/86969cdb-365e-4f30-b032-ad7213c31a2d.jpeg" width="4488" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@firwoods/git-cheetsheet</guid><link>https://teletype.in/@firwoods/git-cheetsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/git-cheetsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>git cheetsheet</title><pubDate>Mon, 20 Feb 2023 07:56:44 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/62/51/62511667-d4a0-47ce-9684-0a32ea27589f.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/3a/f3/3af3e0f7-c1af-4197-80d1-bb19aca59bd2.jpeg"></img>]]></description><content:encoded><![CDATA[
  <figure id="LZPY" class="m_original">
    <img src="https://img4.teletype.in/files/3a/f3/3af3e0f7-c1af-4197-80d1-bb19aca59bd2.jpeg" width="4488" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@firwoods/rails-cheetsheet</guid><link>https://teletype.in/@firwoods/rails-cheetsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/rails-cheetsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>Rails Cheetsheet</title><pubDate>Mon, 20 Feb 2023 07:56:09 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/26/a0/26a06731-321a-48c6-8adb-0b605f0be09f.png"></media:content><category>it</category><description><![CDATA[<img src="https://img3.teletype.in/files/ee/e6/eee6fa63-96e7-4ec4-bdfe-3ec79123a333.jpeg"></img>]]></description><content:encoded><![CDATA[
  <figure id="agdO" class="m_original">
    <img src="https://img3.teletype.in/files/ee/e6/eee6fa63-96e7-4ec4-bdfe-3ec79123a333.jpeg" width="4488" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@firwoods/ruby-cheetsheet</guid><link>https://teletype.in/@firwoods/ruby-cheetsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/ruby-cheetsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>Ruby Cheetsheet</title><pubDate>Mon, 20 Feb 2023 07:55:34 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/9f/ec/9fec4810-6cfc-4139-a1e5-fa97ed40c00f.png"></media:content><category>it</category><description><![CDATA[<img src="https://img4.teletype.in/files/3a/19/3a195899-b89f-4486-a74e-4529107bd6ad.jpeg"></img>]]></description><content:encoded><![CDATA[
  <figure id="Ma02" class="m_original">
    <img src="https://img4.teletype.in/files/3a/19/3a195899-b89f-4486-a74e-4529107bd6ad.jpeg" width="4488" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@firwoods/rspec_cheatsheet</guid><link>https://teletype.in/@firwoods/rspec_cheatsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods</link><comments>https://teletype.in/@firwoods/rspec_cheatsheet?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=firwoods#comments</comments><dc:creator>firwoods</dc:creator><title>RSPEC cheatsheet</title><pubDate>Mon, 20 Feb 2023 07:54:48 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/f0/ce/f0ce3cca-ad7d-4dcf-8913-7e767ce52931.png"></media:content><category>it</category><description><![CDATA[<img src="https://img1.teletype.in/files/81/6a/816aa712-b040-4f5e-a5dc-c44e7e132891.jpeg"></img>]]></description><content:encoded><![CDATA[
  <figure id="PTbZ" class="m_original">
    <img src="https://img1.teletype.in/files/81/6a/816aa712-b040-4f5e-a5dc-c44e7e132891.jpeg" width="4488" />
  </figure>

]]></content:encoded></item></channel></rss>