<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="334407" data-post-id="334407">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="code-shoily" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/code-shoily/120/8052_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  code-shoily
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am back with Chapter 6.</p>
<h2><a name="p-334407-chapter-6-1" class="anchor" href="#p-334407-chapter-6-1" aria-label="Heading link" rel="nofollow"></a>Chapter 6</h2>
<p>Straight forward one. It teaches about GenServers. And instead of directly jumping down to behaviour, it lets us appreciate it by making one of our own from scratch. <code>6.1</code> makes use of our sequential Elixir, and the newly acquired concurrency primitive skillset(s) and makes us build something that does roughly the same thing <code>6.2</code> (aka GenServer) will automate.</p>
<p>I think this is a good way to teach most OTP concepts, I recall having a fear of <code>GenServer</code>-s when I first encountered it, it <code>spawn</code> and friends were easy to understand but how do I go from the knowledge of spawning a process to making a whole serving system out of it? This approach gave me aha moment when I first encountered this chapter years ago, it gave me an aha moment now when I read it again.</p>
<p>Chapter <code>6.2</code> talks about the “<s>opinion</s> behaviour” (Yes I prefer the <code>-our</code>, I’m Canadian). If <code>6.1</code> received (no pun intended) justive, then <code>6.2</code> will reward you more.</p>
<p>One thing that helped me grok the parameter/return contract of GenServer is <a href="https://elixir-lang.org/downloads/cheatsheets/gen-server.pdf" rel="nofollow">this cheatsheet</a> … it becomes second nature eventually (perhaps?) but this could help out if you’re new and trying to keep the function signatures and returns in your short-term memory.</p>
<p>All in all, a great chapter that deals with the heart of OTP.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="334407" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/84">Post #83</a>
	                </div>
	            </div>
              <div id="likers-container-334407" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="334407"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #83"></div>
  </section>
</div>
    <div class="postbit" id="334409" data-post-id="334409">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="code-shoily" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/code-shoily/120/8052_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  code-shoily
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Quick question, how are y’all reading this book? PDF? Dead tree Edition? Livebook?</p>
<p>So I am on a rampant learning path and was reading a bundle of Manning books and since I didn’t own all of them, so I was using Live Book feature of Manning’s.</p>
<p>The <code>highlight</code> feature had been heavily used and it was quite useful for me in the journey. If reading from a browser is your cup of tea, you might try the live-book feature and see if it is of any use? (If you bought the book, you’d get the live book edition).</p>
<p>Also, this live-book != Elixir Live Book, and I don’t work for Manning (i.e. not advertising).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="334409" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/85">Post #84</a>
	                </div>
	            </div>
              <div id="likers-container-334409" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="334409"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #84"></div>
  </section>
</div>
    <div class="postbit" id="334435" data-post-id="334435">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="pkazmier" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  pkazmier
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m a bit behind everyone else as I started a couple months afterward, but I’ve completed chapter 4 now. From what I’ve read thus far, it’s no wonder why this book is so highly recommended. Sasa is a wonderful teacher. I’m excited to continue with the rest of the book.</p>
<p>I do have one question regarding chapter 4 <code>Collectable</code> protocol. With our protocol implemented and the ability to use <code>Enum.into/2</code>, would it still be common or expected that <code>TodoList.new</code> accepted an enumerable in which to initially populate our list?</p>
<p>For example, my original CSV importer needed a version of <code>new</code> that accepted an enumerable:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">  def import(filename) do
    File.stream!(filename)
    |&gt; Stream.map(&amp;String.trim_trailing(&amp;1, "\n"))
    |&gt; Stream.map(&amp;create_entry/1)
    |&gt; TodoList.new()
  end
</code></pre>
<p>But, with <code>Collectable</code> defined, I changed it to:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">  def import(filename) do
    File.stream!(filename)
    |&gt; Stream.map(&amp;String.trim_trailing(&amp;1, "\n"))
    |&gt; Stream.map(&amp;create_entry/1)
    |&gt; Enum.into(TodoList.new())
  end
</code></pre>
<p>Does the Elixir community lean heavily into this <code>Collectable</code> protocol? I.e., should I not bother accepting the enumerable to <code>TodoList.new</code> as we’ve implemented <code>Collectable</code>? I also changed my implementation of <code>new</code> to use <code>Enum.into</code> instead of <code>Enum.reduce</code>.</p>
<p>Thanks!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="334435" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/86">Post #85</a>
	                </div>
	            </div>
              <div id="likers-container-334435" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="334435"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #85"></div>
  </section>
</div>
    <div class="postbit" id="334449" data-post-id="334449">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="DidactMacros" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  DidactMacros
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Regarding changing from Enum.reduce to Enum.into, I think you have more flexibility using reduce than using Enum.into for situation where you want to do some more processing; however if using the Enum.into is an option then that means you simply wish to take an enumerable and use it to populate the empty struct, so it is better to use Enum.into as you have already done the work to streamline such a process by implementing the protocol.</p>
<p>I would also not pass TodoList.new() to the Enum.into in the pipe chain, because what’s happening here is that you are relying on TodoList to output an empty %TodoList{} struct and then do a further operation to put the enumerable into the empty struct.</p>
<p>I may get disagreement here, but I think it’s better to just show what your are passing the enum into, and empty %TodoList{} struct.</p>
<p>Just my thoughts.</p>
<p>I hope I understood your question.</p>
<p>Welcome to the forum.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="334449" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/87">Post #86</a>
	                </div>
	            </div>
              <div id="likers-container-334449" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="334449"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #86"></div>
  </section>
</div>
    <div class="postbit" id="334453" data-post-id="334453">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="pkazmier" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  pkazmier
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks.</p>
<p>I conflated my questions. The main question I’m trying to understand: was adding support for passing an enum into our ‘new’ function superfluous since we later implemented Collectable (into)?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="334453" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/88">Post #87</a>
	                </div>
	            </div>
              <div id="likers-container-334453" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="334453"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #87"></div>
  </section>
</div>
    <div class="postbit" id="334454" data-post-id="334454">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="DidactMacros" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  DidactMacros
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="pkazmier" data-post="88" data-topic="63088">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/f4b2a3/48.png" class="avatar"> pkazmier:</div>
<blockquote>
<p>The main question I’m trying to understand: was adding support for passing an enum into our ‘new’ function superfluous since we later implemented Collectable (into)?</p>
</blockquote>
</aside>
<p>Not really, because you may not want to do…</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">enum
|&gt; Enum.into %TodoList{}
</code></pre>
<p>…everywhere that it’s needed. You might want to kick start the struct with some entries, in which case you could wrap the snippet above in a <code>TodoList.new</code> func. Indeed passing a map to the <code>TodoList.new</code> is touched upon in one of the chapters IIRC.</p>
<p>Setting a default value for that parameter automatically creates two functions with arity n and n+1. (n being the arity without the additional arg)</p>
<p>I actually keep the feature of passing a set of entries to the <code>TodoList.new/x</code> in my own implementation as I have been writing along with the book.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="334454" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/89">Post #88</a>
	                </div>
	            </div>
              <div id="likers-container-334454" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="334454"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #88"></div>
  </section>
</div>
    <div class="postbit" id="334457" data-post-id="334457">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="DidactMacros" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  DidactMacros
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><em>Concerning Chapter 11</em></p>
<p><strong>:observer.start/0 error</strong><br>
Anyone having trouble getting :  observer.start() to work due to an error</p>
<p><code>** (UndefinedFunctionError) function :observer.start/0 is undefined (module :observer not available) :observer.start</code></p>
<p>Please refer to <a href="https://forum.elixirforum.com/t/cannot-start-observer-undefinedfunctionerror-function-observer-start-0-is-undefined/56642/6" rel="nofollow">this post by</a> <a class="mention" href="/u/benstepp" rel="nofollow">@benstepp</a>.</p>
<p><strong>:poolboy.child_spec/3 warning</strong></p>
<p>I got a contract break warning from my <code>:poolboy.child_spec/3</code> call. Apparently that call should have failed, I tried to resolve the warning, but ended up proceeding with no issues in the shell.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="334457" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/90">Post #89</a>
	                </div>
	            </div>
              <div id="likers-container-334457" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="334457"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #89"></div>
  </section>
</div>
    <div class="postbit" id="335002" data-post-id="335002">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="DidactMacros" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  DidactMacros
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Chapters 12 and 13 were bittersweet.</p>
<p>I aim to give a more detailed breakdown of chapters 9 - 13 a little later, BGG.</p>
<p>(Which means I’ll likely leisurely reread them for the nth time.)</p>
<p>The reason 12 and 13 are bittersweet is because they are very well structured, esp true for 12, and they’re good at what they are ostensibly intended to do.</p>
<p>12 gives you an entry into building distributed systems and directs you to where you need to go in order to make them more robust, sophisticated and pragmatic.</p>
<p>13 is more of a tour of tools, and really let’s you now that (in I’d say around two instances I’ve highlighted a line of code and just asked “what is this??”). The chapter gets away with it because it is replete with directions for where to find more information to expound on the material covered in the chapter.</p>
<p>Despite the fact that it is a tour-of-a-chapter, the first half very much puts you in a position to at the very least set-up local and remote releases, as well as interact with them.</p>
<p>That being said 12 and 13 drove home the fact that there is much more to building and maintaining distributed systems, which I expected. I understood, from prior cursory reading, that these were large topics, but I had hope for some <em>unreasonably</em> out-of-the-box quick fixes.</p>
<p>You can, and do, build a web server from the ground up using this book.</p>
<p>(<em>Should you feel a little uncomfortable with the basic aspects of programming in Elixir, you can look at the book Programming Elixir, as it contains many exercises, and discusses much of fundamentals at length and from another perspective</em>.)</p>
<p>Nothing wrong with even building a distributed application from this (which you do tbh), and encountering the stumbling blocks alluded to in these chapters, as it will serve as an opportunity to abstract away a lot of the context of the book and solidify the knowledge gained from reading.</p>
<p>I plan on doing the very same BGG.</p>
<p>I am not in a hurry to build a distributed system right now, but this is one of my main goals in coming to elixir; another being mastery and effective use of its Macro system. for which, <a class="mention" href="/u/sasajuric" rel="nofollow">@sasajuric</a> has a <a href="https://www.theerlangelist.com/article/macros_1" rel="noopener nofollow ugc">brilliant guide</a>. I will be reading Metaprogramming Elixir, BGG, to see if knowledge from Sasa’s guides can be augmented there.</p>
<p>How I read the book:</p>
<p>Speed read.<br>
Comprehensive read (just understanding what I read with notes on what is unclear) Intention is of course to use the book as a reference when building other projects, so as to gain an abstract (applied) understanding of the topics covered in the book.</p>
<p>This is a very valuable book, and I don’t think my praise of it’s contents really does it justice.</p>
<p>You don’t just get elixir info in this book, you get some very nice programming practices and deep appreciation for what is actually happening behind the scenes which makes problem solving and strategising much less awkward and daunting.</p>
<p>Happy Sunday.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="335002" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/91">Post #90</a>
	                </div>
	            </div>
              <div id="likers-container-335002" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="335002"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #90"></div>
  </section>
</div>
    <div class="postbit" id="335100" data-post-id="335100">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sweeneydavidj" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sweeneydavidj/120/5892_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sweeneydavidj
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Got sidetracked with work and life in general but catching up again now.</p>
<p>Finished Chapter 6 - overall a good straightforward chapter which nicely follows on from Chapter 5.</p>
<aside class="quote no-group" data-username="code-shoily" data-post="84" data-topic="63088">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/code-shoily/48/8052_2.png" class="avatar"> code-shoily:</div>
<blockquote>
<p>GenServer is <a href="https://elixir-lang.org/downloads/cheatsheets/gen-server.pdf" rel="nofollow">this cheatsheet</a></p>
</blockquote>
</aside>
<p>Thanks - very handy!</p>
<aside class="quote no-group" data-username="code-shoily" data-post="85" data-topic="63088">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/code-shoily/48/8052_2.png" class="avatar"> code-shoily:</div>
<blockquote>
<p>Quick question, how are y’all reading this book? PDF? Dead tree Edition? Livebook?</p>
</blockquote>
</aside>
<p>I’m reading as a PDF which works well as I can have a split screen with my code editor on one side and the PDF on the other. But I’ve recently been considering buying a bigish ereader - haven’t figured out which one just yet.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="335100" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/92">Post #91</a>
	                </div>
	            </div>
              <div id="likers-container-335100" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="335100"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #91"></div>
  </section>
</div>
    <div class="postbit" id="336527" data-post-id="336527">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hackartisan" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hackartisan/120/35869_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hackartisan
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello, I’m getting a lot out of this book as I learn and start to use elixir. I have a question about a statement in 11.1.6 “Mix Environments.” The book says “you’re advised to support running a prod-compiled version locally. Commit to this goal from the start of the project because doing this later, after the codebase grows significantly, is typically much more difficult.” I’d appreciate more information about what it means to support a prod-compiled version locally, what typically may need to be done to achieve this goal, and what makes it more difficult down the line. Are we talking about defining local environment variables, spinning up a local “prod” database? General tips welcome. Thank you!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="336527" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-in-action-book-club/63088/93">Post #92</a>
	                </div>
	            </div>
              <div id="likers-container-336527" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="336527"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #92"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/63088/load_more?page=10">Load more posts (6 remaining)</a>
</div></template></turbo-stream>