<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7015354147626354288</id><updated>2024-09-12T21:57:01.997+09:00</updated><category term="Python"/><category term="turtle"/><category term="C#"/><category term="random"/><category term="Database"/><category term="Array"/><category term="Cursor"/><category term="Eclipse"/><category term="Fractal"/><category term="List"/><category term="MS SQL Server"/><category term="Mac"/><category term="Migration"/><category term="R"/><category term="SQL Query"/><category term="SQLite"/><category term="Shuffling"/><category term="data representation"/><category term="data science"/><category term="matplotlib"/><category term="persistence"/><category term="visualization"/><category term="비주얼라이제이션"/><category term="셀기꾼"/><title type='text'>Allice&#39;s Adventure in the Bit Land</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-7432939422464653960</id><published>2022-02-19T13:12:00.003+09:00</published><updated>2022-02-19T13:12:37.145+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data representation"/><category scheme="http://www.blogger.com/atom/ns#" term="data science"/><category scheme="http://www.blogger.com/atom/ns#" term="R"/><category scheme="http://www.blogger.com/atom/ns#" term="visualization"/><category scheme="http://www.blogger.com/atom/ns#" term="비주얼라이제이션"/><category scheme="http://www.blogger.com/atom/ns#" term="셀기꾼"/><title type='text'>데이터 표현에 따라 의미도 달리 전달된다.</title><content type='html'>&lt;p&gt;이 포스트는 본인 Tistory, Blogger 및 Naver에 중복 포스팅 한 것임.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;데이터 과학자로 여러가지 업무를 수행하지만 결국 마지막은 데이터 표현과 이에 대한 설명과 해석을 글로 쓰는 것으로 끝난다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;근래 어느 특정 암종의 치료제 후보 물질 관련 출판을 하며 기전 설명과 관련한 추가적인 증거를 제시해야 했다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&amp;nbsp;샘플 수가 적었기 때문에 점도표 (dot plot)으로 표현하는 것을 고려했다.&amp;nbsp;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;이 포스트에서 원본 데이터를 사용할 수는 없어, 유사한 예를 위해 아래와 같이 toy dataset을 우선 만들었다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; overflow: auto; position: relative;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;colorscripter-code-table&quot; style=&quot;background-color: #272727; border-radius: 4px; border: none; margin: 0px; padding: 0px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-right: 2px solid rgb(79, 79, 79); padding: 6px;&quot;&gt;&lt;div style=&quot;color: #aaaaaa; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px; text-align: right; word-break: normal;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; text-align: left;&quot;&gt;&lt;div style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px;&quot;&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Check&amp;nbsp;necessary&amp;nbsp;packages&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;packages&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;c(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;ggplot2&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;plyr&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;ggpubr&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;install.packages(setdiff(packages,&amp;nbsp;rownames(installed.packages())))&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Load&amp;nbsp;packages&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;library(ggplot2)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;library(plyr)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;library(ggpubr)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Set&amp;nbsp;working&amp;nbsp;directory&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;setwd(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;~/Tmp&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Create&amp;nbsp;a&amp;nbsp;toy&amp;nbsp;dataset&amp;nbsp;as&amp;nbsp;a&amp;nbsp;matrix&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;matrix_data&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;matrix(c(&lt;span style=&quot;color: #c10aff;&quot;&gt;92&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;129&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;64&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;DMSO&#39;&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line1&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;134&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;126&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;77&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;DMSO&#39;&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line2&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;135&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;143&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;64&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;DMSO&#39;&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line3&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;85&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;128&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;52&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Treat1&#39;&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line1&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;146&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;118&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;60&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Treat1&#39;&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line2&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;123&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;122&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;76&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Treat1&#39;&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line3&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;103&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;111&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;55&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Treat2&#39;&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line1&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;150&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;121&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;64&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Treat2&#39;&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line2&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;122&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;116&lt;/span&gt;,&lt;span style=&quot;color: #c10aff;&quot;&gt;78&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Treat2&#39;&lt;/span&gt;,&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line3&#39;&lt;/span&gt;),&amp;nbsp;byrow&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;T,&amp;nbsp;ncol&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;5&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;print(matrix_data)&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 9px; font-style: italic; margin-right: 5px; margin-top: -13px; text-align: right;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: #4f4f4ftext-decoration:none;&quot; target=&quot;_blank&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 0px 2px 4px 0px; vertical-align: bottom;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: white; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: #4f4f4f; border-radius: 10px; color: white; font-size: 9px; padding: 1px; word-break: normal;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;span data-alt=&quot;그림 1. The output of matrix of toy dataset&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/nqFTq/btrtIO4YQcU/PHdpInwOrEtrR2L3nbdBkk/img.png&quot; style=&quot;cursor: pointer; text-align: center;&quot;&gt;&lt;img data-ke-mobilestyle=&quot;alignCenter&quot; src=&quot;https://blog.kakaocdn.net/dn/nqFTq/btrtIO4YQcU/PHdpInwOrEtrR2L3nbdBkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnqFTq%2FbtrtIO4YQcU%2FPHdpInwOrEtrR2L3nbdBkk%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 366px;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;figcaption style=&quot;caption-side: bottom; color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 13px; min-height: 20px; padding-top: 10px; text-align: center; word-break: break-word;&quot;&gt;그림 1. The output of matrix of toy dataset&lt;/figcaption&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;ggplot2 패키지는 dataframe 객체를 입력 받으므로, 해당 matrix에서 dataframe을 생성 해야 한다. 또한 R에서 matrix를 만들 때, 숫자와 글자 데이터를 혼용하면 모든 값이 글자 데이터형으로 설정되기 때문에 이를 숫자형으로 casting 해줘야 한다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; overflow: auto; position: relative;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;colorscripter-code-table&quot; style=&quot;background-color: #272727; border-radius: 4px; border: none; margin: 0px; padding: 0px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-right: 2px solid rgb(79, 79, 79); padding: 6px;&quot;&gt;&lt;div style=&quot;color: #aaaaaa; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px; text-align: right; word-break: normal;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; text-align: left;&quot;&gt;&lt;div style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px;&quot;&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Create&amp;nbsp;a&amp;nbsp;dataframe&amp;nbsp;from&amp;nbsp;a&amp;nbsp;matrix&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;dataframe_data&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;as.data.frame(matrix_data)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;print(dataframe_data)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Set&amp;nbsp;columns&amp;nbsp;and&amp;nbsp;rows&amp;nbsp;names&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;colnames(dataframe_data)&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;c(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Gene1&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Gene2&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Gene3&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Group&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;rownames(dataframe_data)&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;c(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line1.DMSO&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line2.DMSO&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line3.DMSO&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line1.Treat1&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line2.Treat1&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line3.Treat1&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line1.Treat2&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line2.Treat2&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Cell.line3.Treat2&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Convert&amp;nbsp;data&amp;nbsp;types&amp;nbsp;of&amp;nbsp;numeric&amp;nbsp;columns&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#In&amp;nbsp;the&amp;nbsp;case&amp;nbsp;of&amp;nbsp;the&amp;nbsp;dataframe&amp;nbsp;creation&amp;nbsp;from&amp;nbsp;the&amp;nbsp;matrix&amp;nbsp;with&amp;nbsp;mixed&amp;nbsp;data&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#All&amp;nbsp;column&amp;nbsp;is&amp;nbsp;set&amp;nbsp;as&amp;nbsp;character&amp;nbsp;by&amp;nbsp;default&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;dataframe_data&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;transform(dataframe_data,&amp;nbsp;Gene1&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;as.numeric(Gene1),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gene2&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;as.numeric(Gene2),&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gene3&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;as.numeric(Gene3))&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;print(dataframe_data)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 9px; font-style: italic; margin-right: 5px; margin-top: -13px; text-align: right;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: #4f4f4ftext-decoration:none;&quot; target=&quot;_blank&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 0px 2px 4px 0px; vertical-align: bottom;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: white; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: #4f4f4f; border-radius: 10px; color: white; font-size: 9px; padding: 1px; word-break: normal;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-webkit-text-stroke-width: 0px; color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; margin: 0px 0px 20px; orphans: 2; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobilestyle=&quot;alignCenter&quot; data-origin-height=&quot;216&quot; data-origin-width=&quot;437&quot; style=&quot;-webkit-text-stroke-width: 0px; clear: both; color: #333333; display: table; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; margin: 0px auto 20px; max-width: 100%; orphans: 2; position: relative; text-align: center; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span data-alt=&quot;그림 2. The output of dataframe of toy dataset&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/DmBqF/btrtKCpJDvz/x9CKIgupJhXZvlo3eprxI0/img.png&quot; style=&quot;cursor: pointer;&quot;&gt;&lt;img data-ke-mobilestyle=&quot;alignCenter&quot; src=&quot;https://blog.kakaocdn.net/dn/DmBqF/btrtKCpJDvz/x9CKIgupJhXZvlo3eprxI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDmBqF%2FbtrtKCpJDvz%2Fx9CKIgupJhXZvlo3eprxI0%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 437px;&quot; /&gt;&lt;/span&gt;&lt;figcaption style=&quot;caption-side: bottom; display: block; font-size: 13px; min-height: 20px; padding-top: 10px; text-align: center; word-break: break-word;&quot;&gt;그림 2. The output of dataframe of toy dataset&lt;/figcaption&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;이제 ggplot2로 점도표를 그려보자. 점도표와 함께 평균 값을 함께 그리기 위하여 stat_summary를 추가하였다. 테마는 grid line을 싫어하기 때문에 theme_classic()으로 잡아 준 후, 그 외 theme으로 legend는 없애고 x와 y tick labels는 출판 시 보통 지정된 최저 폰트 사이즈는 8이므로 그렇게 지정하였다. 각각의 plot 개체는 ggarrange()로 하나의 panel로 묶어 주었다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; overflow: auto; position: relative;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;colorscripter-code-table&quot; style=&quot;background-color: #272727; border-radius: 4px; border: none; margin: 0px; padding: 0px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-right: 2px solid rgb(79, 79, 79); padding: 6px;&quot;&gt;&lt;div style=&quot;color: #aaaaaa; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px; text-align: right; word-break: normal;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;36&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; text-align: left;&quot;&gt;&lt;div style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px;&quot;&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Variable&amp;nbsp;for&amp;nbsp;default&amp;nbsp;font&amp;nbsp;size&amp;nbsp;in&amp;nbsp;a&amp;nbsp;plot&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;fontsize&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;8&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Create&amp;nbsp;a&amp;nbsp;dot&amp;nbsp;plot&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#each&amp;nbsp;size&amp;nbsp;of&amp;nbsp;elements&amp;nbsp;in&amp;nbsp;the&amp;nbsp;plot&amp;nbsp;is&amp;nbsp;adjusted&amp;nbsp;for&amp;nbsp;image&amp;nbsp;file&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p1&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene1,&amp;nbsp;fill&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_dotplot(binaxis&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;y&#39;&lt;/span&gt;,&amp;nbsp;stackdir&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;center&#39;&lt;/span&gt;,&amp;nbsp;dotsize&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;2&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;stat_summary(fun&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;mean,&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;black&#39;&lt;/span&gt;,&amp;nbsp;size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;0.&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme_classic()&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p2&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene2,&amp;nbsp;fill&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_dotplot(binaxis&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;y&#39;&lt;/span&gt;,&amp;nbsp;stackdir&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;center&#39;&lt;/span&gt;,&amp;nbsp;dotsize&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;2&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;stat_summary(fun&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;mean,&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;black&#39;&lt;/span&gt;,&amp;nbsp;size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;0.&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme_classic()&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p3&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene3,&amp;nbsp;fill&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_dotplot(binaxis&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;y&#39;&lt;/span&gt;,&amp;nbsp;stackdir&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;center&#39;&lt;/span&gt;,&amp;nbsp;dotsize&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;2&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;stat_summary(fun&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;mean,&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;black&#39;&lt;/span&gt;,&amp;nbsp;size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;0.&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme_classic()&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#combine&amp;nbsp;all&amp;nbsp;plots&amp;nbsp;in&amp;nbsp;one&amp;nbsp;panel&amp;nbsp;3&amp;nbsp;x&amp;nbsp;1&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan1&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggarrange(p1,&amp;nbsp;p2,&amp;nbsp;p3,&amp;nbsp;ncol&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;3&lt;/span&gt;,&amp;nbsp;nrow&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#save&amp;nbsp;as&amp;nbsp;a&amp;nbsp;png&amp;nbsp;format&amp;nbsp;file&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;ggsave(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;image1.png&#39;&lt;/span&gt;,&amp;nbsp;plot&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;pan1,&amp;nbsp;width&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;9&lt;/span&gt;,&amp;nbsp;&amp;nbsp;height&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;4&lt;/span&gt;,&amp;nbsp;&amp;nbsp;units&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;cm&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#display&amp;nbsp;plot&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan1&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 9px; font-style: italic; margin-right: 5px; margin-top: -13px; text-align: right;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: #4f4f4ftext-decoration:none;&quot; target=&quot;_blank&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 0px 2px 4px 0px; vertical-align: bottom;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: white; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: #4f4f4f; border-radius: 10px; color: white; font-size: 9px; padding: 1px; word-break: normal;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;span data-alt=&quot;그림 3. Dot plots of toy dataset. Red, green, and blue dots represent expression levels of genes by groups, respectively. The black dot represents the mean value of gene expression of each group.&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/cQEzWZ/btrtG9B1C0n/ajzdRPS0bM929884q45vK0/img.png&quot; style=&quot;cursor: pointer; text-align: center;&quot;&gt;&lt;img data-filename=&quot;image1.png&quot; data-ke-mobilestyle=&quot;alignCenter&quot; src=&quot;https://blog.kakaocdn.net/dn/cQEzWZ/btrtG9B1C0n/ajzdRPS0bM929884q45vK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQEzWZ%2FbtrtG9B1C0n%2FajzdRPS0bM929884q45vK0%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 800px;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;figcaption style=&quot;caption-side: bottom; color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 13px; min-height: 20px; padding-top: 10px; text-align: center; word-break: break-word;&quot;&gt;그림 3. Dot plots of toy dataset. Red, green, and blue dots represent expression levels of genes by groups, respectively. The black dot represents the mean value of gene expression of each group.&lt;/figcaption&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;위 그림에서 보면 Gene2와 Gene3는 대조군 (control group)인 DMSO를 처리한 것에 비해 독립된 두 실험군 (case groups; Treat1 and Treat2)에서 평균 값 (black dots)이 내려간 것이 보이고, Gene1은 약간 내리거나 오르는 양상을 보였다. 전달하는 메시지가 약하다는 평가가 있었다. 그래서 다시 이 것을 전통적으로 생물학 실험에서 많이 제시하는 (가능하면 사용하지 말 것을 권고하는) 막대도표 + 에러바 (속칭 dynamite plot)로 다시 표현해보았다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;에러바를 그리기 위해서는 평균 값과 표준편차 (standard deviation) 값을 구해야 하므로, 데이터 프레임에 그룹별로 평균과 표준편차 값을 계산하여 대체하는 함수를 만들었다. 이 함수는 아래와 같이 데이터프레임을 넘겨받는다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;span data-alt=&quot;그림 4. A subset of toy dataset.&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/mnmku/btrtLyHpWM0/8p2xrzWAxhLI4YRQFkOld1/img.png&quot; style=&quot;cursor: pointer; text-align: center;&quot;&gt;&lt;img data-ke-mobilestyle=&quot;alignCenter&quot; src=&quot;https://blog.kakaocdn.net/dn/mnmku/btrtLyHpWM0/8p2xrzWAxhLI4YRQFkOld1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmnmku%2FbtrtLyHpWM0%2F8p2xrzWAxhLI4YRQFkOld1%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 322px;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;figcaption style=&quot;caption-side: bottom; color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 13px; min-height: 20px; padding-top: 10px; text-align: center; word-break: break-word;&quot;&gt;그림 4. A subset of toy dataset.&lt;/figcaption&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;그리고 아래와 같이 이를 집계하여 리턴해주는 함수이다.&lt;/p&gt;&lt;p style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobilestyle=&quot;alignCenter&quot; data-origin-height=&quot;75&quot; data-origin-width=&quot;222&quot; style=&quot;clear: both; color: #333333; display: table; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px auto 20px; max-width: 100%; position: relative; text-align: center;&quot;&gt;&lt;span data-alt=&quot;그림 5. The output of description of a subset of toy dataset&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/b5dJ3i/btrtNQANlQG/TGP6J7kyNnKkXkgVc1f4x1/img.png&quot; style=&quot;cursor: pointer;&quot;&gt;&lt;img data-ke-mobilestyle=&quot;alignCenter&quot; src=&quot;https://blog.kakaocdn.net/dn/b5dJ3i/btrtNQANlQG/TGP6J7kyNnKkXkgVc1f4x1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5dJ3i%2FbtrtNQANlQG%2FTGP6J7kyNnKkXkgVc1f4x1%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 321.375px;&quot; /&gt;&lt;/span&gt;&lt;figcaption style=&quot;caption-side: bottom; font-size: 13px; min-height: 20px; padding-top: 10px; word-break: break-word;&quot;&gt;그림 5. The output of description of a subset of toy dataset&lt;/figcaption&gt;&lt;/figure&gt;&lt;p style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;함수명은 data_summary()로 하였다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; overflow: auto; position: relative;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;colorscripter-code-table&quot; style=&quot;background-color: #272727; border-radius: 4px; border: none; margin: 0px; padding: 0px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-right: 2px solid rgb(79, 79, 79); padding: 6px;&quot;&gt;&lt;div style=&quot;color: #aaaaaa; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px; text-align: right; word-break: normal;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;36&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;37&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;38&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;39&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;40&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;41&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;42&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;43&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;44&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;45&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;46&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;47&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;48&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;49&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;50&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;51&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;52&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;53&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;54&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;55&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;56&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;57&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;58&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;59&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;60&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;61&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;62&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;63&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;64&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;65&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;66&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;67&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;68&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;69&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;70&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;71&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;72&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;73&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;74&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;75&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;76&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;77&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;78&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;79&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;80&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;81&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;82&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; text-align: left;&quot;&gt;&lt;div style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px;&quot;&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Data&amp;nbsp;summary&amp;nbsp;function&amp;nbsp;to&amp;nbsp;get&amp;nbsp;mean&amp;nbsp;and&amp;nbsp;standard&amp;nbsp;deviation&amp;nbsp;(sd)&amp;nbsp;of&amp;nbsp;values&amp;nbsp;by&amp;nbsp;group&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;data_summary&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;function(data,&amp;nbsp;varname,&amp;nbsp;groupnames){&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;summary_func&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;function(x,&amp;nbsp;col){&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c(mean&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;mean(x[[col]],&amp;nbsp;na.rm&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;TRUE),&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sd&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;sd(x[[col]],&amp;nbsp;na.rm&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;TRUE))&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;data_sum&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;ddply(data,&amp;nbsp;groupnames,&amp;nbsp;.fun&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;summary_func,&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;varname)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;data_sum&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;rename(data_sum,&amp;nbsp;c(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;mean&#39;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;varname))&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;(data_sum)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Get&amp;nbsp;mean&amp;nbsp;and&amp;nbsp;sd&amp;nbsp;of&amp;nbsp;Gene1&amp;nbsp;by&amp;nbsp;Group&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;df2&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;data_summary(dataframe_data,&amp;nbsp;varname&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Gene1&#39;&lt;/span&gt;,&amp;nbsp;groupnames&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;c(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Group&#39;&lt;/span&gt;))&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#plot&amp;nbsp;barplot&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p4&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(df2,&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene1,&amp;nbsp;&amp;nbsp;fill&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_bar(stat&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;identity&#39;&lt;/span&gt;,&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;black&#39;&lt;/span&gt;,&amp;nbsp;position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;position_dodge())&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_errorbar(aes(ymin&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene1&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;sd,&amp;nbsp;ymax&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene1&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;sd),&amp;nbsp;width&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;.&lt;span style=&quot;color: #c10aff;&quot;&gt;2&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;position_dodge(.&lt;span style=&quot;color: #c10aff;&quot;&gt;9&lt;/span&gt;))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme_classic()&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Get&amp;nbsp;mean&amp;nbsp;and&amp;nbsp;sd&amp;nbsp;of&amp;nbsp;Gene2&amp;nbsp;by&amp;nbsp;Group&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;df2&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;data_summary(dataframe_data,&amp;nbsp;varname&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Gene2&#39;&lt;/span&gt;,&amp;nbsp;groupnames&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;c(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Group&#39;&lt;/span&gt;))&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#plot&amp;nbsp;barplot&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p5&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(df2,&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene2,&amp;nbsp;&amp;nbsp;fill&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_bar(stat&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;identity&#39;&lt;/span&gt;,&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;black&#39;&lt;/span&gt;,&amp;nbsp;position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;position_dodge())&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_errorbar(aes(ymin&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene2&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;sd,&amp;nbsp;ymax&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene2&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;sd),&amp;nbsp;width&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;.&lt;span style=&quot;color: #c10aff;&quot;&gt;2&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;position_dodge(.&lt;span style=&quot;color: #c10aff;&quot;&gt;9&lt;/span&gt;))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme_classic()&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Get&amp;nbsp;mean&amp;nbsp;and&amp;nbsp;sd&amp;nbsp;of&amp;nbsp;Gene3&amp;nbsp;by&amp;nbsp;Group&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;df2&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;data_summary(dataframe_data,&amp;nbsp;varname&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Gene3&#39;&lt;/span&gt;,&amp;nbsp;groupnames&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;c(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Group&#39;&lt;/span&gt;))&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p6&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(df2,&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene3,&amp;nbsp;&amp;nbsp;fill&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_bar(stat&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;identity&#39;&lt;/span&gt;,&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;black&#39;&lt;/span&gt;,&amp;nbsp;position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;position_dodge())&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_errorbar(aes(ymin&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene3&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;sd,&amp;nbsp;ymax&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene3&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;sd),&amp;nbsp;width&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;.&lt;span style=&quot;color: #c10aff;&quot;&gt;2&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;position_dodge(.&lt;span style=&quot;color: #c10aff;&quot;&gt;9&lt;/span&gt;))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme_classic()&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan2&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggarrange(p4,&amp;nbsp;p5,&amp;nbsp;p6,&amp;nbsp;ncol&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;3&lt;/span&gt;,&amp;nbsp;nrow&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;ggsave(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;image2.png&#39;&lt;/span&gt;,&amp;nbsp;plot&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;pan2,&amp;nbsp;width&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;9&lt;/span&gt;,&amp;nbsp;&amp;nbsp;height&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;4&lt;/span&gt;,&amp;nbsp;&amp;nbsp;units&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;cm&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan2&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Draw&amp;nbsp;line&amp;nbsp;plot&amp;nbsp;with&amp;nbsp;dot&amp;nbsp;by&amp;nbsp;cell&amp;nbsp;lines&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p7&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene1,&amp;nbsp;group&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;shape&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.line))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_point(size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;geom_line()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;theme_classic()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p8&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene2,&amp;nbsp;group&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;shape&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.line))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_point(size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;geom_line()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;theme_classic()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p9&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene3,&amp;nbsp;group&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;shape&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.line))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_point(size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;geom_line()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;theme_classic()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan3&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggarrange(p7,&amp;nbsp;p8,&amp;nbsp;p9,&amp;nbsp;ncol&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;3&lt;/span&gt;,&amp;nbsp;nrow&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;ggsave(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;image3.png&#39;&lt;/span&gt;,&amp;nbsp;plot&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;pan3,&amp;nbsp;width&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;9&lt;/span&gt;,&amp;nbsp;&amp;nbsp;height&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;4&lt;/span&gt;,&amp;nbsp;&amp;nbsp;units&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;cm&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan3&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 9px; font-style: italic; margin-right: 5px; margin-top: -13px; text-align: right;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: #4f4f4ftext-decoration:none;&quot; target=&quot;_blank&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 0px 2px 4px 0px; vertical-align: bottom;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: white; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: #4f4f4f; border-radius: 10px; color: white; font-size: 9px; padding: 1px; word-break: normal;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobilestyle=&quot;alignCenter&quot; data-origin-height=&quot;472&quot; data-origin-width=&quot;1062&quot; style=&quot;clear: both; color: #333333; display: table; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px auto 20px; max-width: 100%; position: relative; text-align: center;&quot;&gt;&lt;span data-alt=&quot;그림 6. Bar plots with standard deviation (SD) error bars of toy dataset.&amp;amp;nbsp;&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/cFs7nX/btrtHDKclln/t46Su15vORKZYNqT5DnZKK/img.png&quot; style=&quot;cursor: pointer;&quot;&gt;&lt;img data-filename=&quot;image2.png&quot; data-ke-mobilestyle=&quot;alignCenter&quot; src=&quot;https://blog.kakaocdn.net/dn/cFs7nX/btrtHDKclln/t46Su15vORKZYNqT5DnZKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFs7nX%2FbtrtHDKclln%2Ft46Su15vORKZYNqT5DnZKK%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 800px;&quot; /&gt;&lt;/span&gt;&lt;figcaption style=&quot;caption-side: bottom; font-size: 13px; min-height: 20px; padding-top: 10px; word-break: break-word;&quot;&gt;그림 6. Bar plots with standard deviation (SD) error bars of toy dataset.&amp;nbsp;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;위 그림 3과 같이 Gene2와 Gene3에서는 독립된 약물 투입 그룹 (Treat1 and Treat2 groups)에서 감소되는 경향을 확인 할 수 있었으나 전달되는 시각 효과가 적다고 판단했다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;그래서 이번에는 선도표 (line plot)으로 데이터를 표현 해보기로 하였다. 그리고 각각의 세포주 (cell line) 별로 다르게 그려보기로 하였다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; overflow: auto; position: relative;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;colorscripter-code-table&quot; style=&quot;background-color: #272727; border-radius: 4px; border: none; margin: 0px; padding: 0px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-right: 2px solid rgb(79, 79, 79); padding: 6px;&quot;&gt;&lt;div style=&quot;color: #aaaaaa; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px; text-align: right; word-break: normal;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; text-align: left;&quot;&gt;&lt;div style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px;&quot;&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Draw&amp;nbsp;line&amp;nbsp;plot&amp;nbsp;with&amp;nbsp;dot&amp;nbsp;by&amp;nbsp;cell&amp;nbsp;lines&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p7&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene1,&amp;nbsp;group&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;shape&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.line))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_point(size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;geom_line()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;theme_classic()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p8&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene2,&amp;nbsp;group&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;shape&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.line))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_point(size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;geom_line()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;theme_classic()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p9&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Group,&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene3,&amp;nbsp;group&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;shape&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.line))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_point(size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;geom_line()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;theme_classic()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan3&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggarrange(p7,&amp;nbsp;p8,&amp;nbsp;p9,&amp;nbsp;ncol&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;3&lt;/span&gt;,&amp;nbsp;nrow&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;ggsave(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;image3.png&#39;&lt;/span&gt;,&amp;nbsp;plot&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;pan3,&amp;nbsp;width&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;9&lt;/span&gt;,&amp;nbsp;&amp;nbsp;height&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;4&lt;/span&gt;,&amp;nbsp;&amp;nbsp;units&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;cm&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan3&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 9px; font-style: italic; margin-right: 5px; margin-top: -13px; text-align: right;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: #4f4f4ftext-decoration:none;&quot; target=&quot;_blank&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 0px 2px 4px 0px; vertical-align: bottom;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: white; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: #4f4f4f; border-radius: 10px; color: white; font-size: 9px; padding: 1px; word-break: normal;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;img data-filename=&quot;image3.png&quot; data-ke-mobilestyle=&quot;alignCenter&quot; src=&quot;https://blog.kakaocdn.net/dn/waz7P/btrtHUxOqhK/Wd2GA3kyVi5P1PHHXtU8ck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwaz7P%2FbtrtHUxOqhK%2FWd2GA3kyVi5P1PHHXtU8ck%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; text-align: center; width: 800px;&quot; /&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobilestyle=&quot;alignCenter&quot; data-origin-height=&quot;472&quot; data-origin-width=&quot;1062&quot; style=&quot;clear: both; color: #333333; display: table; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px auto 20px; max-width: 100%; position: relative; text-align: center;&quot;&gt;&lt;figcaption style=&quot;caption-side: bottom; font-size: 13px; min-height: 20px; padding-top: 10px; word-break: break-word;&quot;&gt;그림 7. Line plots of toy dataset. Red circle, green triangle, and blue square represent cell line1, cell line2, and cell line3, respectively.&lt;/figcaption&gt;&lt;/figure&gt;&lt;p style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;앞선 점도표 및 막대도표 대비하여 Gene2의 경우 훨씬 드라마틱하게 떨어지는 느낌을 준다. 하지만 Gene1의 경우나 Gene3의 경우 Treat2 그룹에서 올라가서 마치 증가된 것과 같은 느낌을 주는 것도 마찬가지다. 실험군인 Treat1과 Treat2는 독립적인 실험 결과이므로 나열 순서는 의미가 없다. 그래서 x축의 나열 순서를 DMSO, Treat2, Treat1 순으로 수정을 해보기로 했다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; overflow: auto; position: relative;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;colorscripter-code-table&quot; style=&quot;background-color: #272727; border-radius: 4px; border: none; margin: 0px; padding: 0px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-right: 2px solid rgb(79, 79, 79); padding: 6px;&quot;&gt;&lt;div style=&quot;color: #aaaaaa; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px; text-align: right; word-break: normal;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;28&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; text-align: left;&quot;&gt;&lt;div style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px;&quot;&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Set&amp;nbsp;order&amp;nbsp;of&amp;nbsp;Group&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;level_order&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;c(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;DMSO&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Treat2&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;Treat1&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p10&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;factor(Group,&amp;nbsp;level&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;level_order),&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene1,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;group&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;shape&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.line))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_point(size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;geom_line()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;theme_classic()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p11&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;factor(Group,&amp;nbsp;level&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;level_order),&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene2,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;group&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;shape&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.line))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_point(size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;geom_line()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;theme_classic()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;p12&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggplot(dataframe_data,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aes(x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;factor(Group,&amp;nbsp;level&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;level_order),&amp;nbsp;y&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Gene3,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;group&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;color&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;Cell.line,&amp;nbsp;shape&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.line))&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;geom_point(size&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;geom_line()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;theme_classic()&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;theme(legend.position&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;none&#39;&lt;/span&gt;,&amp;nbsp;text&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;fontsize),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.text.x&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;element_text(angle&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #c10aff;&quot;&gt;315&lt;/span&gt;,&amp;nbsp;hjust&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;),&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;axis.title.x&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;element_blank())&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan4&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggarrange(p10,&amp;nbsp;p11,&amp;nbsp;p12,&amp;nbsp;ncol&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;3&lt;/span&gt;,&amp;nbsp;nrow&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;ggsave(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;image4.png&#39;&lt;/span&gt;,&amp;nbsp;plot&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;pan4,&amp;nbsp;width&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;9&lt;/span&gt;,&amp;nbsp;&amp;nbsp;height&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;4&lt;/span&gt;,&amp;nbsp;&amp;nbsp;units&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;cm&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan4&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 9px; font-style: italic; margin-right: 5px; margin-top: -13px; text-align: right;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: #4f4f4ftext-decoration:none;&quot; target=&quot;_blank&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 0px 2px 4px 0px; vertical-align: bottom;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: white; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: #4f4f4f; border-radius: 10px; color: white; font-size: 9px; padding: 1px; word-break: normal;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobilestyle=&quot;alignCenter&quot; data-origin-height=&quot;472&quot; data-origin-width=&quot;1062&quot; style=&quot;clear: both; color: #333333; display: table; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px auto 20px; max-width: 100%; position: relative; text-align: center;&quot;&gt;&lt;span data-alt=&quot;그림 8. Line plots of toy dataset in the order of DMSO, Treat2, and Treat1. Red circle, green triangle, and blue square represent cell line1, cell line2, and cell line3, respectively.&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/cYArwU/btrtJD3yWKw/xwEz2sSdHWgCNB3GQGe9kk/img.png&quot; style=&quot;cursor: pointer;&quot;&gt;&lt;img data-filename=&quot;image4.png&quot; data-ke-mobilestyle=&quot;alignCenter&quot; src=&quot;https://blog.kakaocdn.net/dn/cYArwU/btrtJD3yWKw/xwEz2sSdHWgCNB3GQGe9kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYArwU%2FbtrtJD3yWKw%2FxwEz2sSdHWgCNB3GQGe9kk%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 800px;&quot; /&gt;&lt;/span&gt;&lt;figcaption style=&quot;caption-side: bottom; font-size: 13px; min-height: 20px; padding-top: 10px; word-break: break-word;&quot;&gt;그림 8. Line plots of toy dataset in the order of DMSO, Treat2, and Treat1. Red circle, green triangle, and blue square represent cell line1, cell line2, and cell line3, respectively.&lt;/figcaption&gt;&lt;/figure&gt;&lt;p style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;Gene2는 앞서 그림 7에 비해 떨어지는 것이 드라마틱하지 않지만, Gene 3의 경우 대조군인 DMSO에 비해 떨어지는 Treat2, Treat1에서 더 떨어지는 느낌을 주었으며, Gene1의 경우도 빨간색 원의 Cellline 1과 파란색의 Celline 3에서 DMSO에 비해 떨어지는 것이 보이므로, DMSO에 비해 Treat1과 Treat2에서 Gene1, Gene2, 및 Gene3에서 떨어지는 경향성이 보인다라는 메시지를 가장 잘 전달한다고 판단하였다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;위 그림 3, 그림 6, 그림 7과 그림 8을 하나로 묶었다.&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; overflow: auto; position: relative;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;colorscripter-code-table&quot; style=&quot;background-color: #272727; border-radius: 4px; border: none; margin: 0px; padding: 0px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-right: 2px solid rgb(79, 79, 79); padding: 6px;&quot;&gt;&lt;div style=&quot;color: #aaaaaa; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px; text-align: right; word-break: normal;&quot;&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; text-align: left;&quot;&gt;&lt;div style=&quot;color: #f0f0f0; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; line-height: 130%; margin: 0px; padding: 0px;&quot;&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#Wrap&amp;nbsp;up&amp;nbsp;all&amp;nbsp;pannels&amp;nbsp;into&amp;nbsp;one&amp;nbsp;image&amp;nbsp;with&amp;nbsp;labels&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan5&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;ggarrange(pan1,&amp;nbsp;pan2,&amp;nbsp;pan3,&amp;nbsp;pan4,&amp;nbsp;ncol&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;1&lt;/span&gt;,&amp;nbsp;nrow&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;4&lt;/span&gt;,&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;labels&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;c(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;A&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;B&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;C&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;D&#39;&lt;/span&gt;),&amp;nbsp;font.label&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;list(size&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;12&lt;/span&gt;))&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;ggsave(&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;image5.png&#39;&lt;/span&gt;,&amp;nbsp;plot&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;pan5,&amp;nbsp;width&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;9&lt;/span&gt;,&amp;nbsp;&amp;nbsp;height&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;16&lt;/span&gt;,&amp;nbsp;&amp;nbsp;units&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;&#39;cm&#39;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;pan5&lt;/div&gt;&lt;div style=&quot;line-height: 130%; padding: 0px 6px; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 9px; font-style: italic; margin-right: 5px; margin-top: -13px; text-align: right;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: #4f4f4ftext-decoration:none;&quot; target=&quot;_blank&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 0px 2px 4px 0px; vertical-align: bottom;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; style=&quot;color: white; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: #4f4f4f; border-radius: 10px; color: white; font-size: 9px; padding: 1px; word-break: normal;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 16px; margin: 0px 0px 20px; padding-bottom: 0px !important; padding-left: 0px; padding-right: 0px; padding-top: 0px !important; padding: 0px;&quot;&gt;&lt;span data-alt=&quot;그림 9. Plots of toy dataset.&quot; data-lightbox=&quot;lightbox&quot; data-url=&quot;https://blog.kakaocdn.net/dn/NpAwR/btrtIPphfFt/mWjDwyFbomSZjwpDT8tkBK/img.png&quot; style=&quot;cursor: pointer; text-align: center;&quot;&gt;&lt;img data-filename=&quot;image5.png&quot; data-ke-mobilestyle=&quot;alignCenter&quot; src=&quot;https://blog.kakaocdn.net/dn/NpAwR/btrtIPphfFt/mWjDwyFbomSZjwpDT8tkBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNpAwR%2FbtrtIPphfFt%2FmWjDwyFbomSZjwpDT8tkBK%2Fimg.png&quot; style=&quot;border: 0px; display: inline-block; height: auto; margin: 0px; max-width: 100%; width: 800px;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;figcaption style=&quot;caption-side: bottom; color: #333333; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, Dotum, 돋움, &amp;quot;Noto Sans KR&amp;quot;, &amp;quot;Nanum Gothic&amp;quot;, Lato, Helvetica, sans-serif; font-size: 13px; min-height: 20px; padding-top: 10px; text-align: center; word-break: break-word;&quot;&gt;그림 9. Plots of toy dataset.&lt;/figcaption&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/7432939422464653960/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2022/02/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/7432939422464653960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/7432939422464653960'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2022/02/blog-post.html' title='데이터 표현에 따라 의미도 달리 전달된다.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>대한민국 서울특별시</georss:featurename><georss:point>37.566535 126.9779692</georss:point><georss:box>9.2563011638211563 91.8217192 65.876768836178854 162.13421920000002</georss:box></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-2149181744755500553</id><published>2021-04-11T17:14:00.004+09:00</published><updated>2021-04-11T17:14:50.863+09:00</updated><title type='text'>프로그래밍 언어에서 데이터 타입은 왜 사용할까?</title><content type='html'>프로그래밍 언어에서 데이터 타입은 왜 사용할까?&lt;br /&gt;&lt;div style=&quot;line-height: 2;&quot;&gt;﻿&lt;span data-input-buffer=&quot;INPUT_BUFFER_DATA;Mozilla%2F5.0%20(Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_5)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F88.0.4324.96%20Safari%2F537.36;blog.naver.com&quot;&gt;&lt;/span&gt;&lt;div class=&quot;se-component se-text se-l-default&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-e9d2ddd6-a3d1-461e-858c-587b147d96b1&quot; id=&quot;SE-e9d2ddd6-a3d1-461e-858c-587b147d96b1&quot;&gt;&lt;div class=&quot;se-component-content&quot;&gt;&lt;div class=&quot;se-drop-indicator&quot; data-compid=&quot;SE-e9d2ddd6-a3d1-461e-858c-587b147d96b1&quot; data-direction=&quot;top&quot; data-unitid=&quot;&quot;&gt;&lt;div class=&quot;se-section se-section-text se-l-default&quot;&gt;&lt;div class=&quot;se-module se-module-text __se-unit&quot; id=&quot;SE-da23333e-1a62-461d-a45f-db913b9fd3e2&quot;&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-05c34532-d2e7-4d17-8f3a-40e353770cc3&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-adef91fc-2263-4816-a345-f7a258274ae8&quot;&gt;프로그래밍 언어에 대한 관심이 참 높은 요즘입니다. 어린이들에게 코딩 교육을 한다는 사교육 기관도 많고, 또 아이들 학습때문에 혹은 취미생활로 또는 시스템 트레이딩 등 투자활동을 하기 위해 코딩을 익히려는 관심이 점점 증가하는 것 같습니다. 이 블로그에서는 프로그래밍 언어를 익히는데 있어서 필수적인 개념을 쉽게 설명하는 것을 목적으로 합니다. 설명의 구체적인 예는 누구나 쉽게 접근할 수 있고 현대 프로그래밍에 가장 앞선 모습을 보이는 python 3를 기준으로 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-3cfd85eb-0d52-4a6e-a72f-8b7d80fd1cd8&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-73c053f3-50b4-4c6b-b9a9-4fad56979b6d&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-135f3aba-cce7-47f6-aa3c-4b28a374b526&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-4b95fa28-6bfc-4936-8492-7fa3defc6c72&quot;&gt;프로그래밍 언어 교재 중 많은 수가 도입부에서 몇 가지 데이터 타입에 대한 설명으로부터 시작합니다. 문자열인 String, 정수형인 Integer, 실수형인 Float, 참과 거짓을 나타내는 Boolean 등에 대해 설명을 나열하지만 잘 와닿지 않는 것 같습니다. 왜 데이터 타입을 사용해야 할까요?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-daeb5a8e-f5dd-4cdf-a93c-d6d9a87291b2&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6173fb83-a60a-4fa4-bd3f-bd2394a99d6b&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-a0bc684c-9308-4162-91f9-a7a3a0b5aa53&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-f3ea0f0b-d8c0-4938-8e95-90a79c79f900&quot;&gt;이 글에서 결론부터 우선 말하자면, 프로그래밍 언어로 작성 (코딩)한 내용을 컴퓨터가 이해하고 실행할 수 있도록 해주는 번역 및 실행하는 과정에서 컴파일러나 인터프리터가 해당 값을 어떻게 다루어야 하는지 지시하기 위한 것이기 때문입니다. 몇 가지 사례로 위 결론을 구체화 해보겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-2242f866-214b-4f9f-aa5c-7f5dac9d5a07&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-334abab6-9db4-4252-b3e1-80acee4cc358&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-9c9babe2-d780-4cc3-958c-a3e25564a283&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-e4dcca9f-76a6-4b55-94e9-2bd9cb90ddb3&quot;&gt;예를 들어, python 3에서 정수형 (int) 데이터 타입 둘을 * 연산자로 연결하면 python 인터프리터는 이를 곱셈으로 인식합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-b94aa6fd-d3de-4629-87f9-8bec9fea5565&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-3b564a0b-ea89-4cee-91dd-e8db786c03a4&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-61fce1de-5c47-4008-8a35-4a19d5301225&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-9aa19518-75ca-4e3a-b8f6-71cd59d8373f&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 14 * 3&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-a165493b-63e8-4014-94e0-9b4bb532c680&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-18482d6f-c149-4ec9-96f1-0e88227a6a55&quot;&gt;42&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-b6f50658-819a-4a39-b80f-2df2f949db92&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-7621770b-06c6-4c99-aec8-a499cf194440&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-2bee53a2-266c-4ca0-995e-2dd9a89c31d0&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b2826b44-4afd-47a0-8b5a-bf2b56ebb8e3&quot;&gt;하지만 문자열 (str) 데이터 타입의 값과 정수형 데이터 타입의 값 둘을 * 연산자로 연결하면 인터프리터는 이를 해당 문자열을 지정된 회수만큼 반복하는 문자로 만들어줄 것으로 인식합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-562987a3-b49a-4123-b3bb-35efacceb0c5&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-98b38e68-635d-47c5-8882-82de6860c51e&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-27545e4e-ee64-4793-bcb5-f8e0a112b549&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6b6eea44-1185-4288-9a26-5e5020a8dae3&quot;&gt;&amp;gt;&amp;gt;&amp;gt; ’ho’ * 3&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-ad8a4db1-b2e4-4a48-b521-42f176be0cb1&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-e2a75b08-cff4-4c7a-bc73-e8f1cf0ec237&quot;&gt;‘hohoho’&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-92b404b3-2157-4eb8-a45e-99579ed98961&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-237fd1e4-30ac-4230-bea3-81feb16db459&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-a97b81e7-574a-4dc3-985c-ba2d0c0aed26&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-f4078d46-7118-4b54-8b13-bd8fb5f99f31&quot;&gt;모든 컴퓨터 프로그래밍 언어는 Java, C#과 같이 명시적으로 선언하고 데이터 타입에 따라 값에 대한 연산 혹은 함수를 적용 할 때 다르게 처리하도록 하거나 python이나 Javascript 등과 같이 인터프리터가 알아서 유추할 수 있게 힌트를 주어 눈치껏 처리하도록 하는 방식으로 되어있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-4f748374-2af3-491d-ac2f-978a262e4548&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b34bdb94-eb2a-466e-b8ac-73517f114a74&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-30ff1d36-2932-486c-a7e9-1cd78f06c6bc&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-0ecf727c-1525-46ea-abcb-9a31610eac0c&quot;&gt;다시 python으로 돌아가서 python은 홑따옴표 혹은 쌍따옴표를 사용하여 인터프리터에게 문자열이라는 힌트를 줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-531b2d5f-9198-4770-b75b-477136d43303&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-0f8fcda7-04de-4338-8291-6cd07b1c9d08&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-eafa0c9c-1f7b-4e03-ba00-71f68f4dbb7d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-e672c640-ba22-47b3-9b3f-1c35f884f15c&quot;&gt;&amp;gt;&amp;gt;&amp;gt; my_id = ‘monolith’&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-c79af329-47c3-4daa-baaf-915fc0ec6c0a&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-99029047-d2a7-449b-8fcb-0323961f1e8f&quot;&gt;&amp;gt;&amp;gt;&amp;gt; print(my_id)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-abf7ad43-1411-4ce2-9376-f7f26664615b&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-5f318340-28dd-4cd2-aa66-0168f7e70f48&quot;&gt;monolith&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-5b778e4b-768a-40a1-af50-b2e3335eee13&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-33ab04c6-923d-46a8-9e9e-28981836a9d9&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-9083aa09-fb95-4466-a862-9e7d67dbd4e8&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-8d99d447-743c-4032-b1c8-283fd17edb7f&quot;&gt;&amp;gt;&amp;gt;&amp;gt; my_id = “monolith”&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-c7e5c7ee-5c22-4904-8473-359b0293a223&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-54ae5bf6-148f-4854-b704-a6b720e912ce&quot;&gt;&amp;gt;&amp;gt;&amp;gt; print(my_id)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-def42f5c-85a4-4270-81d8-c7bb06b49582&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-28fab618-e0e3-4a91-b7b7-70ae62837bc4&quot;&gt;monolith&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-02adc5b1-51bc-4f97-a53f-7eb75f56712f&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-ced78371-6afc-49f5-8671-e0d15ea609c4&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-ffa0c0d7-fe2e-47d5-bc48-2c5b6c4b48f8&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-078f28db-8c8d-4995-9540-26381f179db8&quot;&gt;여러 줄의 문자를 변수에 할당하고 싶을 때에는 엔터에 해당하는 관습적인 특수문자열인 \n을 사용할 수 있습니다. (아래 예제 코드에 구분하기 쉽도록 해당 특수 기호를 붉은 색으로 칠했습니다.)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-8ef104dc-9baf-46f9-9a2a-19ed82a4626a&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-95290265-3574-4e6c-a1a3-3dadeb535561&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7598ca6a-906e-4303-98f0-22e3a2490d11&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-45bc814c-6d7d-45bf-b428-5b5ec4504984&quot;&gt;&amp;gt;&amp;gt;&amp;gt; my_id = ‘monolith&lt;/span&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-605b1a88-7288-4386-bd54-63ce2202ca9a&quot; style=&quot;color: #ff0010;&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-f8dfb8d9-8b74-4bdc-ae40-ebe653069562&quot;&gt;my favorite number is 42’&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-8c9d6163-ac31-4f87-a2e9-8cdbbfd39d8f&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-7fba8500-b348-48d1-86b1-e7397a2331d6&quot;&gt;&amp;gt;&amp;gt;&amp;gt; print(my_id)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-8a99420a-f8c0-4bc5-b456-a72743f8f138&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-0847ea44-d3e2-46d6-8898-117825c4ce2f&quot;&gt;monolith&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7340deb0-5249-4937-8227-b8448684fd23&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-03e1ba2e-432f-4c3b-9460-c7827e6aa5dc&quot;&gt;my favorite number is 42&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-9363d419-b6e8-411d-9b1a-46ca253dd256&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-ef3673cf-1e8d-437c-970d-28713eb471e4&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-315f640c-0826-4bd4-973a-b009fcb1a67c&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-c17d4a84-3027-4712-9b6b-31c57c50b212&quot;&gt;python에서는 특수하게 여러 줄의 문자를 특수기호를 사용하지 않고 변수에 할당하고 싶다면 아래와 같이 홑따옴표나 쌍따옴표를 연속으로 3개 붙여주면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7149ceea-452a-4b9b-b1a8-9e96aef8da34&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-a64a3c2d-21dd-49d1-aade-d56dce437907&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-886f1010-e57a-4ca9-a4f3-1ad878b6050e&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-212e69c7-0d66-49ca-a6a5-de3fcb8cbd34&quot;&gt;&amp;gt;&amp;gt;&amp;gt; my_id = ‘’’monolith&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-bee3c483-cbad-42ad-b87c-0a6fb415a100&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-97a83a41-bc2d-4237-824a-a724a0351eb1&quot;&gt;my favorite number is 42’’’&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-ba343dcf-aa29-4604-8a81-6aaeedd0fc79&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-dc6c30e8-3408-42fa-9cfe-b384f4f80056&quot;&gt;&amp;gt;&amp;gt;&amp;gt; print(my_id)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-edd4d29d-6494-42cb-9e9b-19514b9801da&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-4b4b2be2-ac33-4530-b68a-e6d074692a8f&quot;&gt;monolith&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-423b5a70-9299-4b8f-b83f-d2aa24589da1&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-c34ef265-0d1f-4755-9c73-5a2466aaa939&quot;&gt;my favorite number is 42&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-39e3cc7b-7127-4484-8eec-f1c52063247f&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-291539b0-6115-4d60-b962-1f26e2c01858&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-fe861521-9a3b-465f-bbd3-128e48be6328&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-11bea25a-f068-4130-840e-658b10311646&quot;&gt;다만 홑따옴표와 쌍따옴표를 혼용해서는 안됩니다. 왜냐면 아래와 같은 방식으로 사용해야 하는 경우가 있기 때문입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-d5a43c03-487c-4774-8673-04979a51c9b2&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-24ee0468-07de-4a9f-840d-ca56f4c28ab7&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-86387956-7162-4abb-af41-2f598fe39aa4&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-4833ed40-6608-4935-a3c9-83b8b277c48c&quot;&gt;&amp;gt;&amp;gt;&amp;gt; my_script = ‘He shouted “Get out!”’&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-86b62ff2-c52d-4846-914c-504c45296bd2&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-494ebc8c-f57f-453e-b12f-e5711205ba7e&quot;&gt;&amp;gt;&amp;gt;&amp;gt; print(my_script)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-5f4209a0-7d59-4e56-bfd9-388e846d0170&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-22a0fd5b-f8e6-48fe-88f9-e9b7a8d3f5d7&quot;&gt;He shouted “Get out!”&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-f8a70837-aa35-4299-86e6-10d38ce05403&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b54f50d0-2c56-4154-9564-3b9820419ec4&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7a0e220f-a837-4ec6-837f-7c75f8101937&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-bd852a1e-7f13-4938-8299-e1aca00fdf16&quot;&gt;숫자 값을 다루는 데이터 형은 정수형 (int)와 실수형 (float)으로 나뉩니다. C++ 등에서는 long integer나 double 등도 있으나 python에서는 길이 제약을 따로 두지 않습니다. python 인터프리터에 정수형이냐 실수형이냐 힌트는 숫자를 할당할 때, 소수점이 있는지 여부입니다. 참고로 #은 대부분의 컴퓨터 프로그래밍 언어에서 주석 (comment; 코딩한 내용이 컴퓨터가 실행가능한 코드로 변환될 때 제외되는 부분)을 나타낼 때 관습적으로 사용합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-df143758-1ecc-4641-960e-a1e00b7f1111&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-992de6d8-7108-43fd-a577-8b7289c65cf9&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-70b48ad2-3c5c-4599-bca2-518b318f10f8&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-18a02209-dd82-463a-aa55-0b3bfe37c4b4&quot;&gt;&amp;gt;&amp;gt;&amp;gt; my_number = 42 #정수형&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-01a153bb-dbdd-422a-9b41-f4ff1cd35863&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-ae09a5ba-ee37-4b66-9415-d211f9ae86f1&quot;&gt;&amp;gt;&amp;gt;&amp;gt; my_number = 42.0 #실수형&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-53f31992-992f-4c7f-87c3-00a66e25b020&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b47e1ee0-2c03-4fc4-8376-5c682c75e174&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-daf1f5fd-12ba-41b0-9304-14db2b2ffbd2&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b31416ac-3fec-49eb-8f0e-8a9efbedf04a&quot;&gt;그러면 정수형 값과 정수형 값을 나누는 것과 정수형 값과 실수형 값을 나누는 것은 어떻게 차이가 날지 보겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-ce1bbf4a-a68c-400f-a030-23400af6d1c4&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b736add6-be44-44fe-89a0-69f0d4771181&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-60009663-d0eb-4f91-a8c6-902de1b51175&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-61ccb06a-db8a-4994-b06e-2acb39c19155&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 42 / 2&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-d37d6379-7847-4fb4-a38b-92f85e8c9ca1&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-8a07b1a3-13c5-4ecd-841e-9576fbc882db&quot;&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-3d9e20ce-5f2d-4512-ab2f-d39b96bddee3&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-575ef185-e7f5-4d0b-ae3f-62c4a8b70736&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-e3efb2c8-6870-4d74-a14b-81445dc61a5b&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-15ba99cb-cf3b-4012-8b22-47ef2d6dddd1&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 42/2.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-abae48e8-db3d-4a82-b517-04b996b2178d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-dc99cf87-134d-47aa-9e68-d5588373d375&quot;&gt;21.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-250fb1dd-a921-407b-8917-89206dc7d72c&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-8695b1a1-0cf7-465e-9169-63f5e88b3750&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-b958c471-a27a-474e-b8b4-1d36fce018a2&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-ee1ce716-3bb0-4328-ad9d-05d9298e8695&quot;&gt;둘 간 차이는 없습니다. python 2에서는 정수형 값들 간 나누기는 정수형 값을 인터프리터가 돌려주었으나 수학적으로 실수형 값으로 되돌려주는 것이 더 정확하기 때문에, 현재는 실수형 값을 되돌려줍니다. 곱셈도 마찬가지일까요?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-18d86e43-2013-4d5a-b4bd-403ddf7f5278&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-e4443bdb-6c90-4f01-954d-5c67ef5c6955&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-81a7410e-33a0-4a22-91cd-e2ae8072827c&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-417ed291-aafc-4c19-9e28-012a3f4e70d4&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 21*2&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-9db576cd-f563-4337-b99d-d22897ce7e7d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-4617f222-6fd6-42a6-88e6-407f644421dc&quot;&gt;42&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-bbb5305b-6472-4860-a3a2-1b0a8f0d37bb&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-d4fdb079-1f64-4798-947f-528c7db805f9&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-d018689b-9536-4c26-bbe0-2dfbb3d70f4e&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-753c3b40-45b5-4f42-8ea9-4e767869a45a&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 21*2.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-67b829ab-7ee9-444c-bea2-9d441eb89160&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-7e2b3e16-76b7-41eb-99e0-83124d3519b5&quot;&gt;42.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-01084028-d995-4bc1-9056-3e152d8ae569&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-59050217-5f6f-4b7f-aca0-fea55f4d29a4&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-4a760aba-07ce-4d97-a2cf-056bc1c084fa&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-872b8693-950b-427e-971e-8f2e3e43135a&quot;&gt;정수형간 곱셈은 정수가 나오는 것이 수학적으로 옳기 때문에, 정수형으로 리턴합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-67aa34ef-c12d-4e5f-ba32-d12a1ce3007b&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6eb10f13-c049-4d27-9c28-76cd13b83b97&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-43640359-f89c-4d5b-8052-993f341c01f4&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6bce3f71-31cd-4b6b-81b8-c01bb6a96478&quot;&gt;숫자형 값을 사용할 때, 유용한 것은 지수형을 사용하여 긴 값을 짧게 표현 할 수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-ab36862b-f721-4598-aa56-4b957ea0f62d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-1395701e-5db0-4003-9644-8e55c9affc5a&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7947d21d-4573-4644-9126-ce84f46047cf&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-19ab9c8a-0c6e-4d00-a0ad-987e9610458d&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 1e4&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-08ec4a62-6940-49f1-8635-dbfc5aa940bf&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-38096c5a-50b9-4984-a178-55337523dc7e&quot;&gt;10000.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-a2ae28e8-66fe-4dc4-bfc9-54460111bdc0&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-31c3bb69-cd6c-4c38-8bda-3d59b8c7654f&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-3daa56ab-7e27-4b14-8219-a081540718e6&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-31fc6da3-fa75-4034-9a98-fa07d9bf3f55&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 1e-4&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-5612f666-818a-4700-9db4-57955b4d44b6&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-f303a743-5e0e-4002-b236-768eb5282087&quot;&gt;0.0001&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-9fc63aa2-6436-46a9-894b-f54786e904ac&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-a832cb47-9e65-4020-a655-f76a3bc31c6c&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-0e31e404-f14d-4dc8-ac65-9376964e8087&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-185bc5fa-912e-4069-91bc-cda945ef9509&quot;&gt;다만 1을 생략한 e4와 같은 표기는 변수 이름이나 함수 이름 등과 구분 할 수 없기 때문에 인터프리터가 받아주지 않습니다.&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-284c6fea-aad3-49f4-bcd2-3cb77a2d1f63&quot; style=&quot;color: #ff0010;&quot;&gt;&lt;b&gt;코딩을 잘 하기 위해서는 아래와 같은 오류 메시지를 절대 그냥 넘기지 말고 무슨 의미인지 파악하기 위해 정독하는 것이 필수입니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-751d521c-70f1-4bd1-9dae-efc7b17814ef&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-76e71af5-0a3e-4050-9052-3f3caea3ef12&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-2abcfaed-fbc1-49e4-9930-1736b0eb9743&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-662661fd-ae10-4f3a-a6dc-55c7c171c30c&quot;&gt;&amp;gt;&amp;gt;&amp;gt; e4&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-d8aeac28-0490-4122-ba14-cf5aa9c653af&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-283158f1-7932-4404-8a31-e94e7a01ed53&quot;&gt;Traceback (most recent call last):&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-5fc6e77e-c022-490c-921f-cb9fe1f71ea8&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-eee18a5b-bf78-4c9f-98f3-15affc2b86e8&quot;&gt;File &quot;&amp;lt;stdin&amp;gt;&quot;, line 1, in &amp;lt;module&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7f38d478-6043-4c97-a592-00e57073f14d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-0375056c-5800-47d6-8332-9b7804f55eea&quot;&gt;NameError: name &#39;e4&#39; is not defined&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-a257d4b1-2547-4ed2-aa81-cbb7f1ddbdd7&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-1400a110-4059-4230-b65b-7881e00d647b&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-83aef78c-dc1d-4fa3-84a5-110e1fb435bf&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-30ddf158-81e8-4474-ac88-0d31d491c8bf&quot;&gt;python에서는 두 값이 같은지 여부를 확인하는 연산자 ==과 다른지 여부를 확인하는 연산자 != 가 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-6bd1a364-8871-4a64-8518-df923b1afaf9&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-bf17f8a6-fd22-4152-bf8e-3f6c32c5d7e5&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-755de206-01b3-4759-bfeb-87a3ac42c3b7&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-bb9f97bb-a4b3-4e84-8524-a02f2b531d9e&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 2 == 2&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-f9a11938-aca3-4423-954c-1a1fcb380a8d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-2a6c7fa1-ad44-4f3d-afbe-9bca594f2c70&quot;&gt;True&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-3c83ac60-f0ce-4933-875d-20dd359f4e7d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-a78292d6-0ee7-4b50-a278-de4e6764fdcf&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-8e9a2f57-8be1-453f-a761-01dd2e9953bf&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-476d003d-1ca9-40da-bdcb-3a4b7efc5334&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 10000.0 == 1e4&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-88185cff-0650-4079-a9c0-66da68b38ff9&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-08dfd118-ed9e-4195-9f93-7f37c6717631&quot;&gt;True&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-331bbcd2-1267-44ea-a801-4d1b7029bd70&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-d3bb6fe7-3a7d-4af2-9c0b-02f426383b33&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-c989bc5a-e6a8-49bd-845d-0a8ecb51c3b7&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-25d34781-3cb5-48ea-bc19-e24e176dd214&quot;&gt;재밌는 것은 정수형인 10000은 실수형인 1e4와 당연하게도 같다고 봅니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-187a8123-3fea-47f8-916f-cb8f3e3d7510&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-feb6c2ad-90e4-4789-be43-a045a8440547&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-8b3ce3a3-a018-4c82-be00-863955802d10&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-e774d3aa-c817-4cb7-9e48-30fd21b9de49&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 10000 == 1e4&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-340f1fc8-1140-40c9-b27e-7b103fc3c12f&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6f084d29-f2ec-4c88-a673-47b32bf111ab&quot;&gt;True&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-c96d5caf-c341-4799-afa3-c85d3be2abc6&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-1578f3c3-6acf-432f-bda3-102da49cbcaa&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-79de5d49-6a1a-4ff5-9631-e2b12b23a9dc&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-323e3952-f16d-4ad1-9ca3-00b9bcb9ba5e&quot;&gt;실수형으로 1.0으로 기입한 것은 인터프리터는 소수점 자리수를 표기한 것으로 보기 때문입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-c4984714-9ad1-4fde-906e-fd2d981c6a4c&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-48a55fd2-f063-4277-a0f1-9e2552a099af&quot;&gt;아래처럼 정수형 1과 실수형 1.1간 비교는 당연히 다르다고 판단해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7f4e9d8d-eebc-484d-a56d-6b5910148f95&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-9c149876-6842-405b-8798-8228077910e7&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-071ef26e-d8e4-4762-baa8-66c2a283ccd1&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-d7d8527f-6fbc-47c6-b578-d6c47bee5401&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 1 == 1.1&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-42ec9ab2-5b01-4f4b-b99f-02e5d707b265&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-a5b04f0c-7e66-4e51-a8ad-cb2996007ed0&quot;&gt;False&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-3a51fa85-c219-4737-a87e-704fecbeb2ed&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-06a81417-5ecd-43e0-ad99-34e31b39c56e&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-0d6c3b3c-8331-45db-a13f-9dc97f7ec8d3&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6b7f812f-af79-4f40-90ac-d80431068300&quot;&gt;실수형 값을 정수형 값으로 변환해 주는 함수로 int()라는 것이 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-83d2d7bb-5b02-48c7-805a-7ceacdb55a73&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-739c3b52-6b47-4b70-a577-b30c5bd548d5&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-a9e2b418-853a-4ad9-a0b1-2657f31b8145&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-3b560a29-348e-4e4e-a2ae-6207d591c199&quot;&gt;&amp;gt;&amp;gt;&amp;gt; int(1.1)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-cd26df1a-8663-42ea-b68c-d47dd85bed83&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-2e3da5c1-74f7-4eaf-b46b-75e1dbebeb69&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-17c8d1ac-d6c4-42d1-b7fa-89ed3f93b411&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-1a72003e-ae80-4962-b2ed-2ad1cf945ac8&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7d420614-36c8-41f8-9242-ec0949915cfc&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-27418bae-c961-413c-9045-d7f98fa15937&quot;&gt;그래서 실수형 값 1.1을 정수형으로 변환 후 1과 비교하면 당연히 같다고 판단합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-ac3558ed-fb22-4971-81cb-406e75c8218e&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-0d6e11b9-86ff-4c5a-80b0-734d82c41fdd&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-810a4f4b-2c52-4c9c-8225-f83121352a14&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-47d13f5d-308b-474b-9e0a-35b3f68d72e7&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 1 == int(1.1)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-35b6a395-6ce6-4349-b421-16aa433131e9&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-67d9e5e5-05e3-4265-bc70-1d59b80a7f75&quot;&gt;True&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-bc27c299-79b7-4665-867a-7a021b856608&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6f5ae495-a994-4aa9-a4b6-caf278d3f173&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-d7bde5d1-2db2-4f80-841e-5c72fd7b4a83&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-3121cb1d-2bfa-4e9d-a6a2-28e169ddaabd&quot;&gt;그러면 1.5나 1.6을 정수형으로 변환하면 어떻게 될까요?&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-f64e1fe5-a864-4d63-a6a7-d9df51d362a9&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-c664016a-15fd-4e98-9a73-956c7d699769&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-70a92132-ffea-40ae-ac21-2662594e145f&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b28d7c52-5081-4633-9621-79dffcb34553&quot;&gt;&amp;gt;&amp;gt;&amp;gt; int(1.5)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-4294ca10-3341-4eed-bc2b-857b6ef445fc&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-f446708b-6468-43ab-aee0-6f8707262c85&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-1815fc80-7f22-42e7-8590-c7798f04ff00&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-276ea886-d10f-4182-b5af-11d4d31de72d&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-ed96f202-79f1-458b-bfe1-b21f86e39c7e&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6351efc9-de24-47b9-bc3c-2256a693a9c5&quot;&gt;&amp;gt;&amp;gt;&amp;gt; int(1.6)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-eab7a763-ce60-4dd1-b16a-8bb3654631ee&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-36bb80cf-9c12-4e52-a2c7-fd80515efd48&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-54a19f66-a53a-4bd4-aa2b-94c767908113&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-a3cfaddd-0fae-47da-a127-71914a868296&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;se-component se-quotation se-l-default&quot; data-a11y-title=&quot;인용구&quot; data-compid=&quot;SE-342e0109-a942-4ba7-9fa7-b78e85ffa977&quot; id=&quot;SE-342e0109-a942-4ba7-9fa7-b78e85ffa977&quot;&gt;&lt;button class=&quot;se-component-edge-button se-component-edge-button-top __edge-area&quot; data-compid=&quot;SE-342e0109-a942-4ba7-9fa7-b78e85ffa977&quot; data-direction=&quot;top&quot; tab-index=&quot;-1&quot; type=&quot;button&quot;&gt;&lt;/button&gt;&lt;div class=&quot;se-component-content&quot;&gt;&lt;div class=&quot;se-drop-indicator&quot; data-compid=&quot;SE-342e0109-a942-4ba7-9fa7-b78e85ffa977&quot; data-direction=&quot;top&quot; data-unitid=&quot;&quot;&gt;&lt;div class=&quot;se-section se-section-quotation se-l-default se-section-align-left __se-unit se-is-selected se-is-block-selected&quot;&gt;&lt;div class=&quot;se-quotation-container&quot;&gt;&lt;div class=&quot;se-module se-module-text __se-unit se-quote&quot; id=&quot;SE-64b977bd-fe59-4034-86b9-188ca8263a29&quot;&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-center&quot; id=&quot;SE-2a5a0daa-6b6e-4e4b-814b-f7688ee12ad2&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanummyeongjo se-fs19 __se-node&quot; id=&quot;SE-bbf3da89-81b3-4350-adb0-6375db412007&quot;&gt;&lt;i&gt;&#39;정수형으로 값을 변환하는 것은 두 정수 중에서 0에 가깝게 한다&#39;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;se-module se-module-text __se-unit se-is-empty se-cite&quot; id=&quot;SE-546b5f8d-1fae-4d70-8286-9e1f4e8f15ab&quot;&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-center&quot; id=&quot;SE-5f02d000-ce94-47a0-8aba-b504faf4d03f&quot; style=&quot;line-height: 1.5;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs13 __se-node&quot; id=&quot;SE-b0927786-4f12-4a6d-94a7-48b2f410bc5f&quot; style=&quot;color: #777777;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;se-placeholder __se_placeholder se-ff-nanumgothic se-fs13&quot;&gt;출처 입력&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;se-component se-text se-l-default&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-c7b9a669-70ba-46cc-beab-ab7176294a81&quot; id=&quot;SE-c7b9a669-70ba-46cc-beab-ab7176294a81&quot;&gt;&lt;div class=&quot;se-component-content&quot;&gt;&lt;div class=&quot;se-drop-indicator&quot; data-compid=&quot;SE-c7b9a669-70ba-46cc-beab-ab7176294a81&quot; data-direction=&quot;top&quot; data-unitid=&quot;&quot;&gt;&lt;div class=&quot;se-section se-section-text se-l-default&quot;&gt;&lt;div class=&quot;se-module se-module-text __se-unit&quot; id=&quot;SE-8c6e9ae0-f11f-4272-8ec7-fc3b07a3f2df&quot;&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-0e23b828-f9f7-4392-9a0a-17d448e22920&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-ba0d538c-3222-4649-986c-276722e59653&quot;&gt;는 원칙이 수학적으로 옳기 때문에 인터프리터는 1.9는 1과 2 중에서 0에 가까운 1을 되돌려 줍니다. 그러므로 1과 int(1.9)는 같습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-d2b8518a-3550-45b1-9555-434bbcdc9848&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6bf72657-d3b4-4777-9714-d4663b384765&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-feecd0ca-2b05-49f1-ad15-edd62c69766a&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-5fb82003-813f-462e-a7a3-48bb0f071fe6&quot;&gt;소수점 첫째 자리에서 반올림을 하려면 (속칭 사사오입) int()함수가 아니라 round()함수를 사용하면 됩니다. 이 함수는 반올림 하려는 값과 소수점 몇 째 자리까지 남길 것 인가를 지정하는 인수(parameter)를 함께 넘겨주면 됩니다. 1.4를 소수점 첫째 자리에서 반올림 하려 한다면 아래와 같이 하면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-01833cc2-e1af-46c4-8378-e12e97c0b0ca&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-e5329c1a-ae1e-4f22-a2f5-be0e104c6a39&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-1f5ac77c-3689-4f9c-a901-912c052b3c61&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-0fcbcee6-6f18-4cc2-a406-0f602bc34107&quot;&gt;&amp;gt;&amp;gt;&amp;gt; round(1.4, 0)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-897bdb62-3fb5-44db-80d9-2553ba85f60f&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-1cb3ea2e-e150-477a-8fd8-47850f7693fc&quot;&gt;1.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-56b42ac8-c76c-4219-97d5-631b6f88e90d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-86db683d-28cd-4891-8705-c43f33175cb2&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7d341575-81a7-405d-8a77-634b7272d432&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b4dca016-8a5c-45e5-9132-8870c6cf3841&quot;&gt;&amp;gt;&amp;gt;&amp;gt; round(1.5, 0)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-98595e4e-ca51-4325-9847-649a64e2e873&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-f6555ff6-23d6-41c6-af21-a3f65db5478c&quot;&gt;2.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-50e613d2-1ce5-4d5e-83a6-bfdfd4a234b8&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-46bc338e-e0ab-4c91-89ad-8e1a312a9d03&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-09a89b32-a42a-493d-88a0-9a7155ff1b0e&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-2f624392-cf9a-4f6f-8f2f-b7d3fb927f5f&quot;&gt;python에서는 무리수 또한 지원을 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-66645dd3-881b-4bb6-96a3-60a3db952f22&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-09e70a56-1382-4dbb-a0b0-cfff0b704ae1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-a4d81277-4735-4866-a906-0cc9f86f584c&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-e6312b9a-cfe9-4704-bef7-58c76b1227bb&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 1 + 1j&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-4f806f0e-1820-456a-b056-55a3411c1e1b&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-5508eb46-25d8-4c30-a90c-bd420be5bd25&quot;&gt;(1+1j)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-9c8a31e9-a89e-4a33-900a-c3177c0d0725&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-f94addee-1d13-4403-9841-2e92f36f624e&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-905efda0-37ac-4262-9969-3999d20d6a0e&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b9863bdb-6994-412c-a436-a3b67481b3f2&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 2 * (1 + 1j)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-d1a3364b-23b4-483f-b8e3-f080c6867f5e&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-479257cd-188d-40d9-87fc-520b7fb56fca&quot;&gt;(2+2j)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-14d47821-55b1-4d73-a1c9-d8be33152600&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-fe8328be-4725-47ce-86bc-9544b7301a26&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-08c00457-10c1-40b2-9ff4-086148f2e095&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-24cac6be-ccf6-4164-80a1-ee97744b64f5&quot;&gt;다만 아래처럼 무리수 부분에 괄호로 두 수를 구분하지 않으면 인터프리터는 허수부를 그냥 더한 것으로 오해하기 때문에 주의해야 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-ab7966b9-939a-47a3-b5ff-7c6067da4342&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-bf0cd95f-2426-476c-a7d4-2cd96a9000c3&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-3be0eda5-f422-4cd9-8e96-49577c0ca66a&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-47f9f4d2-6ebf-465c-9a58-7e1634f72429&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 2 * 1 + 1j&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-216c5751-e8b4-4c3a-8a6d-1c8ab0f602c2&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b5573392-d436-49f7-bb34-c211971ede4b&quot;&gt;(2+1j)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-91a11313-17a4-4b5d-bbb7-5cdb7dad0bc8&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-bfbb4a48-4cc0-4d18-86b2-c77d61588f41&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-800374ee-fc16-4ab7-8116-aee2a72c763d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-88d0b711-c1e7-47df-bb47-3fb8d0cdd5d1&quot;&gt;아래처럼 무리수의 실수부와 허수부를 띄워쓰기 없이 붙여써도 마찬가지 결과입니다. 수학적으로 연산자 우선순위를 피하기 위한 구분은 괄호를 쓰는 것을 기본 원칙으로 하기 때문입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-523e6fa5-7b67-49aa-ba47-fbf1a31561f5&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-d8e1b71a-e056-4703-9a32-e6b7c1d9a1be&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-981ad770-2494-46ac-b455-ed50e611ee12&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-7381f558-b79a-45fd-bb4f-ce8f1a789fd6&quot;&gt;&amp;gt;&amp;gt;&amp;gt; 2 * 1+1j&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-2fe93a0e-b0db-467e-8377-34721fac8beb&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-27106960-4946-4ae4-b60e-ac72d9ac6e0f&quot;&gt;(2+1j)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-f7232ac4-dc50-4591-9099-4715a714d3f4&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-83cbc19f-0754-4466-bbdb-de101ebefa89&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-e12aa506-889c-41b1-a0d9-45487937426f&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-93655d98-6d4a-4a32-8a6d-3d7f48185219&quot;&gt;무리수간 곱셈 연산도 당연히 가능합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-d17d8e64-8a0a-46d2-81a4-52df0877d4ea&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-61b8e70f-ffbc-4ebf-9900-9a4ab603794a&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-8ec05259-81c6-4059-bab6-9ddde72960cd&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-0fb88a49-935d-41a7-b98b-f5466eebb98c&quot;&gt;&amp;gt;&amp;gt;&amp;gt; (2+1j)*(2+1j)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-49ddfc73-531e-4979-9043-3f55196a8bf4&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-49135147-9fdd-4165-8234-6aee8b0d2a3a&quot;&gt;(3+4j)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-4417cdcd-2be5-4e0d-ad8c-d510897516df&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-9dfc721d-2936-4721-8b19-5be461201dd6&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-aa5e7bcf-675b-47f0-8bda-1b187720a768&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b041c2e5-c8f9-42c3-b5fe-b6999881c9cd&quot;&gt;&amp;gt;&amp;gt;&amp;gt; (2+1j)*(2-1j)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-a17c3bb3-42a0-420a-925a-665f16941fa8&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-776bc661-1201-4a34-bb6a-941d3100c12e&quot;&gt;(5+0j)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-545f2815-4c89-460a-9b43-ab6900154fd7&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-b7e71905-644d-4e00-a51b-c3fd9d14a042&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-78b7f552-cfc8-401a-8b6e-4c7077771f6c&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-f7acbc6c-133a-4f25-a5c0-12ed6cb7311a&quot;&gt;이제는 코딩에서 데이터 형을 사용하는 이유를 좀 더 포괄적으로 말해보겠습니다. 1960년대 미의회는 인공지능 (AI) 학회에 인공지능이 사람의 언어를 이해할 수 있을지를 문의 합니다. 인공지능 학회의 답변은 불가능하다 였습니다. 그 이유는 컴퓨터 프로그래밍 언어는 문맥 자유 문법 (Context free grammar)을 기초로 한 것이기 때문에 인간의 언어를 이해할 수 없다는 것이고 그래서 인간이 구축한 지식을 습득하여 포괄적인 지적능력을 갖출 수 없다는 결론이 나옵니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7ac70612-5fc8-49ed-b0c4-1d77d8b0b8d6&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-fd03ad48-7f8c-4769-b1b0-c71d3538893e&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-3d8e7882-b762-4140-8ea3-76f38f84941d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-e8b76e5f-a44c-4061-91d9-478403be186d&quot;&gt;예를 들어, 어떤 사람이 &#39;사과&#39;라는 단어를 갑자기 말하면 그 말을 한 사람 (화자)과 듣는 사람 (청자)간 동일한 것을 연상할 수도 있지만 대다수는 제 각각 다른 대상을 떠올리기 일쑤입니다. 누군가는 어떤 잘못에 대한 뉘우침으로 하는 말을 하는 것으로 생각하겠지만, 또다른 누군가는 과일을 말하는 것으로 생각 할 수도 있습니다. 혹은 과일을 떠올린 사람들도 제 각각인게, 누군가는 거기서 한발 더 나아가 &#39;Big apple&#39;이라 불리는 뉴욕을 떠올릴 수도, 누군가는 컴퓨터 및 스마트폰 브랜드인 애플사를, 앨런 튜닝의 일화를, 백설공주가 깨어문 사과를, 혹은 누군가는 성서 속 선악과를 떠올릴 수도 있습니다. 그래서 우리는 해당 말을 한 사람이 앞서 혹은 이어서 하는 말을 듣고서야 무엇을 말하는지 파악할 수 있습니다. 그리고 문맥에 따라 반응하게 되는 것입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-8a9a259a-5914-405e-89c8-6de7b4dd697e&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-a3faf4ad-b5f9-4b59-9be0-9d4bfee45e16&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-5686ea2a-4936-4ed5-aa68-44ed1adb9271&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-30aad548-8354-40fa-9191-39afc1e787c4&quot;&gt;컴퓨터 프로그래밍언어는 문맥을 다룰 능력이 없기 때문에 우리가 코딩에서 사용하는 값이 무엇인지 정확하게 지칭 (C, C++, Java, C#, Type script 등과 같은 언어)하거나 적당하게 힌트를 주거나 (python, R, Basic 등과 같은 언어) 하게 됩니다. 즉 * 라는 연산자를 사용했을 때, 이 것이 숫자의 곱셈을 뜻하는 것인지 문자열의 반복을 뜻하는 것인지, 혹은 + 연산자를 사용했을 때 이 것이 숫자의 덧셈을 뜻하는 것인지 두 문자열의 결합을 뜻하는 것인지 데이터 타입이 없다면 컴퓨터는 판단을 내릴 수 없습니다. 오로지 데이터 타입에 따라 행동을 달리 합니다. 이 것을 객체지향 기술에서 다형성 (polymorphism)이라 하고 기본적으로 데이터 타입에 따라 동일한 연산자 혹은 함수가 다르게 처리하도록 하게하는 객체지향 기술에서 가장 핵심이 되는 것입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-739cf470-98fc-4359-82f4-eef2d1923c82&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-69b9d7b6-240f-4bb9-80f2-da5f31675446&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-12f0f1a0-e011-40cc-957e-5d0f90049dee&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-3b8278b1-ad4e-4b85-b8df-eea9f58a9d7f&quot;&gt;위의 AI에 관한 것으로 다시 돌아가서 그러므로, 컴퓨터가 인간의 어떤 메시지든 지식이든 다루는 것에 대한 문맥을 파악할 수 없어 인간의 지적 능력을 뛰어넘는 general AI가 나올 수 없습니다. 그래서 터미네이터 속 세상은 올 수 없습니다. 다만 이 것과 기계가 사고 (생각)을 하느냐는 다른 것입니다. 기계는 당연히 사고를 합니다. 이에 대해서는 나중에 다시 다루도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-c2332742-6400-4b54-8ed9-749852827b9f&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-2448caf6-3709-4838-b306-faacef934439&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-50106788-aec4-4513-b565-1245f239f8b9&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-3c0b34b1-2e67-4c23-b5fe-2079a11599f2&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-b3c93604-d447-40b5-9812-284f272514db&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-823c8caa-f7a3-4b60-a2ee-0516c0bc729e&quot;&gt;#python #파이썬 #코딩 #coding #code #데이터타입 #데이터형 #datatype&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;﻿&lt;/div&gt;&lt;div style=&quot;line-height: 2;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/2149181744755500553/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2021/04/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/2149181744755500553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/2149181744755500553'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2021/04/blog-post.html' title='프로그래밍 언어에서 데이터 타입은 왜 사용할까?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>대한민국 서울특별시</georss:featurename><georss:point>37.566535 126.9779692</georss:point><georss:box>9.2563011638211563 91.8217192 65.876768836178854 162.13421920000002</georss:box></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-8731410908464546790</id><published>2012-04-07T20:34:00.001+09:00</published><updated>2012-04-07T20:44:49.716+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="turtle"/><title type='text'>Exercise 4.3-Answer</title><content type='html'>&lt;p&gt;from: &lt;a href=&quot;http://openbookproject.net/thinkcs/python/english3e/functions.html#exercises&quot;&gt;http://openbookproject.net/thinkcs/python/english3e/functions.html#exercises&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Write a non-fruitful function &lt;cite&gt;draw_poly(t, n, sz)&lt;/cite&gt; which makes a turtle draw a regular polygon. When called with &lt;cite&gt;draw_poly(tess, 8, 50)&lt;/cite&gt;, it will draw a shape like this:&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;_images/regularpolygon.png&quot; src=&quot;http://openbookproject.net/thinkcs/python/english3e/_images/regularpolygon.png&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  1: # -*- coding: UTF-8 -*-&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  2: #!/usr/bin/env python&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  3: &lt;span style=&quot;color: #0000ff&quot;&gt;import&lt;/span&gt; turtle&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  4: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  5: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; createWindow(bgcolor, title):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  6:     w = turtle.Screen()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  7:     w.bgcolor(bgcolor)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  8:     w.title(title)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  9:     &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; w&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 10: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 11: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; createTurtle(color, size):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 12:     t = turtle.Turtle()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 13:     t.pensize(size)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 14:     t.color(color)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 15:     &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; t&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 16: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 17: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; draw_poly(t, n, sz):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 18:     for i in range(n):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 19:         t.forward(sz)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 20:         t.left(360 / n)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 21: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 22: wn = createWindow(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;lightgreen&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;Exercises 4.3&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 23: tess = createTurtle(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;hotpink&lt;/span&gt;&quot;, 3)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 24: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 25: draw_poly(tess, 8, 50)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 26: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 27: wn.mainloop()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 28: &lt;/pre&gt;&lt;/pre&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/8731410908464546790/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-43-answer.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/8731410908464546790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/8731410908464546790'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-43-answer.html' title='Exercise 4.3-Answer'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-1193475357784930629</id><published>2012-04-07T20:32:00.001+09:00</published><updated>2012-04-07T20:43:51.064+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="turtle"/><title type='text'>Exercise 4.2-Answer</title><content type='html'>&lt;p&gt;from: &lt;a href=&quot;http://openbookproject.net/thinkcs/python/english3e/functions.html#exercises&quot;&gt;http://openbookproject.net/thinkcs/python/english3e/functions.html#exercises&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Write a program to draw this. Assume the innermost square is 20 units per side, and each successive square is 20 units bigger, per side, than the one inside it.&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;_images/nested_squares.png&quot; src=&quot;http://openbookproject.net/thinkcs/python/english3e/_images/nested_squares.png&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  1: # -*- coding: UTF-8 -*-&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  2: #!/usr/bin/env python&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  3: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  4: &lt;span style=&quot;color: #0000ff&quot;&gt;import&lt;/span&gt; turtle&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  5: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  6: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; createWindow(bgcolor, title):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  7:     w = turtle.Screen()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  8:     w.bgcolor(bgcolor)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  9:     w.title(title)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 10:     &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; w&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 11: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 12: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; createTurtle(color, size):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 13:     t = turtle.Turtle()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 14:     t.pensize(size)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 15:     t.color(color)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 16:     &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; t&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 17: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 18: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; jump(t, l):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 19:     t.penup()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 20:     t.backward(l)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 21:     t.right(90)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 22:     t.forward(l)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 23:     t.left(90)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 24:     t.pendown()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 25: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 26: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; draw_square(t, l):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 27:     for i in range(4):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 28:         t.forward(l)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 29:         t.left(90)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 30:     jump(t, 10)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 31: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 32: wn = createWindow(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;lightgreen&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;Exercises 4.2&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 33: tess = createTurtle(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;hotpink&lt;/span&gt;&quot;, 3)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 34: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 35: for i in range(5):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 36:     draw_square(tess, 20 * (i + 1))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 37: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 38: wn.mainloop()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 39: &lt;/pre&gt;&lt;/pre&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/1193475357784930629/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-42-answer.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/1193475357784930629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/1193475357784930629'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-42-answer.html' title='Exercise 4.2-Answer'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-799786657512208028</id><published>2012-04-07T20:30:00.001+09:00</published><updated>2012-04-07T20:42:57.467+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="turtle"/><title type='text'>Exercise 4.1-Answer</title><content type='html'>&lt;p&gt;from: &lt;a href=&quot;http://openbookproject.net/thinkcs/python/english3e/functions.html#exercises&quot;&gt;http://openbookproject.net/thinkcs/python/english3e/functions.html#exercises&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Write a non-fruitful function to draw a square. Use it in a program to draw the image shown below. Assume each side is 20 units. (Hint: notice that the turtle has already moved away from the ending point of the last square when the program ends.)&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;_images/five_squares.png&quot; src=&quot;http://openbookproject.net/thinkcs/python/english3e/_images/five_squares.png&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  1: # -*- coding: UTF-8 -*-&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  2: #!/usr/bin/env python&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  3: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  4: &lt;span style=&quot;color: #0000ff&quot;&gt;import&lt;/span&gt; turtle&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  5: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  6: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; createWindow(bgcolor, title):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  7:     w = turtle.Screen()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  8:     w.bgcolor(bgcolor)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  9:     w.title(title)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 10:     &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; w&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 11: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 12: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; createTurtle(color, size):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 13:     t = turtle.Turtle()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 14:     t.pensize(size)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 15:     t.color(color)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 16:     &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; t&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 17: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 18: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; jump(t, l):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 19:     t.penup()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 20:     t.forward(l)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 21:     t.pendown()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 22: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 23: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; draw_square(t, l):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 24:     for i in range(4):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 25:         t.forward(l)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 26:         t.left(90)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 27:     jump(t, l * 2)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 28: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 29: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 30: wn = createWindow(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;lightgreen&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;Exercises 4.1&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 31: tess = createTurtle(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;hotpink&lt;/span&gt;&quot;, 3)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 32: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 33: for i in range(5):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 34:     draw_square(tess, 20)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 35: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 36: wn.mainloop()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 37: &lt;/pre&gt;&lt;/pre&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/799786657512208028/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-41-answer.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/799786657512208028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/799786657512208028'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-41-answer.html' title='Exercise 4.1-Answer'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-2502466507229866213</id><published>2012-04-07T20:28:00.001+09:00</published><updated>2012-04-07T20:41:23.983+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="turtle"/><title type='text'>Exercise 3.2-Answer</title><content type='html'>&lt;p&gt;from: &lt;a href=&quot;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html#exercises&quot;&gt;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html#exercises&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Write a program to draw a face of a clock that looks something like this:&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;_images/tess_clock1.png&quot; src=&quot;http://openbookproject.net/thinkcs/python/english3e/_images/tess_clock1.png&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  1: # -*- coding: UTF-8 -*-&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  2: #!/usr/bin/env python&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  3: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  4: &lt;span style=&quot;color: #0000ff&quot;&gt;import&lt;/span&gt; turtle           # turtle을 사용할 수 있도록 한다.&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  5: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  6: wn = turtle.Screen()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  7: wn.title(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;A face of a clock&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  8: wn.bgcolor(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;lightgreen&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  9: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 10: alex = turtle.Turtle()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 11: alex.pensize(3)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 12: alex.speed(0)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 13: alex.shape(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;turtle&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 14: alex.color(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;blue&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 15: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 16: for i in range(12):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 17:     alex.penup()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 18:     alex.forward(80)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 19:     alex.pendown()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 20:     alex.forward(10)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 21:     alex.penup()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 22:     alex.forward(30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 23:     alex.stamp()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 24:     alex.backward(120)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 25:     alex.right(30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 26: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 27: alex.stamp()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 28: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 29: wn.mainloop()           # 사용자가 윈도우를 닫을 때까지 기다린다.&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 30: &lt;/pre&gt;&lt;/pre&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/2502466507229866213/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-32-answer.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/2502466507229866213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/2502466507229866213'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-32-answer.html' title='Exercise 3.2-Answer'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-6956350772184627924</id><published>2012-04-07T20:22:00.001+09:00</published><updated>2012-04-07T20:40:08.104+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="turtle"/><title type='text'>Exercise 3.1–Answer</title><content type='html'>&lt;p&gt;from: &lt;a href=&quot;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html#exercises&quot;&gt;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html#exercises&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Write a program to draw a shape like this:&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;_images/star.png&quot; src=&quot;http://openbookproject.net/thinkcs/python/english3e/_images/star.png&quot;&gt;&lt;/p&gt; &lt;p&gt;Hints:  &lt;ul&gt; &lt;li&gt;Try this on a piece of paper, moving and turning your cellphone as if it was a turtle. Watch how many complete rotations your cellphone makes before you complete the star. Since each full rotation is 360 degrees, you can figure out the total number of degrees that your phone was rotated through. If you divide that by 5, because there are five points to the star, you’ll know how many degrees to turn the turtle at each point.  &lt;li&gt;You can hide a turtle behind its invisibility cloak if you don’t want it shown. It will still draw its lines if its pen is down. The method is invoked as &lt;tt&gt;tess.hideturtle()&lt;/tt&gt; . To make the turtle visible abain, use &lt;tt&gt;tess.showturtle()&lt;/tt&gt; .&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  1: # -*- coding: UTF-8 -*-&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  2: #!/usr/bin/env python&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  3: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  4: &lt;span style=&quot;color: #0000ff&quot;&gt;import&lt;/span&gt; turtle           # turtle을 사용할 수 있도록 한다.&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  5: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  6: wn = turtle.Screen()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  7: wn.title(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;Star&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  8: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt;  9: alex = turtle.Turtle()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 10: alex.pensize(5)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 11: alex.speed(1)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 12: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 13: for i in range(5):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 14:     alex.forward(200)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 15:     alex.right(144)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 16: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 17: alex.hideturtle()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 18: wn.mainloop()           # 사용자가 윈도우를 닫을 때까지 기다린다.&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px&quot;&gt; 19: &lt;/pre&gt;&lt;/pre&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/6956350772184627924/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-31answer.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/6956350772184627924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/6956350772184627924'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2012/04/excercise-31answer.html' title='Exercise 3.1–Answer'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-5893856695841764294</id><published>2011-11-19T02:51:00.001+09:00</published><updated>2011-11-19T02:53:50.973+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="persistence"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Python Persistence (1) : Pickle 모듈</title><content type='html'>&lt;p&gt;Python 3.2 Pickle 모듈&lt;/p&gt;  &lt;p&gt;오늘 포스트는 인제대학교 의용공학과 전공 과정인 중급실용전산 수업에서 다뤘던 Persistence 관련 모듈 중 Pickle에 관한 것이다. 컴퓨터 프로그래밍에 있어 영속화를 익히는 과정은 대체적으로 ASCII 포맷의 Text 파일 다루기, Binary 포맷의 파일 다루기, 시리얼화(serialization), 마크업(HTML, XML 등의 ASCII 또는 그 외 Binary Markup), 데이터베이스 전체를 다루거나 또는 그 일부만 언급한 책자도 많다. 위 과정에서 채택한 주교재인 &lt;a title=&quot;Head First Programming&quot; href=&quot;http://headfirstlabs.com/books/hfprog/&quot; target=&quot;_blank&quot;&gt;Head First Programming&lt;/a&gt; 에선 시리얼화를 이용한 영속화 모듈인 Pickle과 Shelve를 다루지 않으므로 이를 보강하는 의도에서 이 포스트와 다음 포스트인 Python Persistence (2) : Shelve 모듈에서 이들에 대해 살펴보도록 한다.&lt;/p&gt;  &lt;p&gt;Pickle이나 Shelve와 같은 시리얼화를 이용한 영속화 작업을 수행하는 이유는 프로그램에서 생성한 객체의 실행 시 담고 있는 그 상태 값을 그대로 컴퓨터의 저장 매체에 저장했다가 추후에 그대로 사용하기 위한 목적을 쉽게 달성하기 위해서다. C#이나 Java 등에서도 이러한 시리얼화를 지원하지만 Python은 Pickle 및 Shelve 모듈로 간단히 구현할 수 있도록 했다.&lt;/p&gt;  &lt;p&gt;Pickle 모듈을 이용한 코드 예제는 간단한 일정관리용 콘솔 프로그램으로 하도록 한다. 우선 콘솔용 UI를 아래와 같이 작성했고, 그 출력은 다음과 같다.&lt;/p&gt;  &lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 640px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  1: #!/usr/bin/env python&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  2: # -*- coding: UTF-8 -*-&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  3: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  4: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; clearAll():&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  5:     &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; []&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  6: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  7: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; printList(items):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  8:     &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;-&lt;/span&gt;&amp;quot; * 30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  9:     &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;%d개의 일정이 등록되어 있습니다.&lt;/span&gt;&amp;quot; % len(items))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 10:     for item in items:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 11:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt;(&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\t%s&lt;/span&gt;&amp;quot; % item)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 12:     &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;-&lt;/span&gt;&amp;quot; * 30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 13: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 14: &lt;span style=&quot;color: #0000ff&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 15: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 16: toDo = [] # 사용자가 입력한 일정 담을 리스트&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 17: menu = [&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;출력&lt;/span&gt;&amp;quot;, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;전체 제거&lt;/span&gt;&amp;quot;, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;추가&lt;/span&gt;&amp;quot;]    # 메뉴 리스트&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 18: running = True&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 19: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 20: &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;*&lt;/span&gt;&amp;quot; * 30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 21: &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;일정관리&lt;/span&gt;&amp;quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 22: &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;*&lt;/span&gt;&amp;quot; * 30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 23: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 24: while running:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 25:     option = 1&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 26: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 27:     for m in menu:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 28:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;%d. %s&lt;/span&gt;&amp;quot; % (option, m))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 29:         option += 1&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 30:     &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;%d. %s&lt;/span&gt;&amp;quot; % (option, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;종료&lt;/span&gt;&amp;quot;))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 31:     try:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 32:         command = int(input(&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;원하는 메뉴 번호를 입력하세요: &lt;/span&gt;&amp;quot;))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 33:     except ValueError:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 34:         command = 0&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 35: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 36:     &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; command == option:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 37:         running = False&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 38:     elif command == 1:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 39:         printList(toDo)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 40:     elif command == 2:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 41:         toDo = clearAll()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 42:     elif command == 3:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 43:         do = input(&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\t일정명: &lt;/span&gt;&amp;quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 44:         toDo.append(do)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 45:         printList(toDo)&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-BJef1eg_JXU/TsabBBhiWYI/AAAAAAAAAQk/PW3NyXGHyek/s1600-h/figure01%25255B5%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure01&quot; border=&quot;0&quot; alt=&quot;figure01&quot; src=&quot;http://lh5.ggpht.com/-bgEa5yhXeBs/TsabB4TrgsI/AAAAAAAAAQs/dYBkucg8VjI/figure01_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;356&quot; height=&quot;162&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Pickle 모듈을 사용하기 위해서는 14행과 같이 모듈을 import 한다. Pickle에서는 파일을 바이너리 포맷으로 다루게 되므로 파일 읽거나 쓸 때 파일모드는 반드시 binary 포맷으로 해야 한다. 즉 open() 내장 함수의 모드 파라메터를 ‘rb’와 ‘wb’로 해야 한다. 우선 파일을 저장하는 save() 함수를 다음과 같이 작성했다. Pickle 모듈의 파일 저장 함수는 dump() 이다. 오류처리 구문을 제외하면 이 함수는 with 문을 통해 파일 처리를 Python의 Context Manager에 위임하고, 저장할 객체(이 예제에서는 list object)와 파일 핸들러를 pickle.dump() 함수에 파라메터로 넘겨주는 것이 다이다.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 640px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  1: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; save(items, fname=&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;items.todo&lt;/span&gt;&amp;quot;):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  2:     &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&amp;quot;&amp;quot;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  3:     save todo items into binary file&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  4:     &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&amp;quot;&amp;quot;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  5:     try:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  6:         with &lt;span style=&quot;color: #0000ff&quot;&gt;open&lt;/span&gt;(fname, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;wb&lt;/span&gt;&amp;quot;) as fh:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  7:             &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;dump&lt;/span&gt;(items, fh)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  8:     except IOError as ioerr:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  9:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;File Error: %s&lt;/span&gt;&amp;quot; % str(ioerr))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 10:     except &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;PickleError&lt;/span&gt; as pklerr:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 11:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;Pickle Error: %s&lt;/span&gt;&amp;quot; % str(pklerr))&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;위 save() 함수를 첫 코드에 작성 후, 첫 코드의 46번째 줄에 save(toDo)를 추가하면 프로그램 실행 시 파일이 생성된다. 여기서 save(toDo) 코드는 while 문이 종료되는 시점에 호출되도록 들여쓰기(indentation)을 주의해야 한다. 코드 일부와 그 실행 시 예는 아래와 같으며, 생성된 파일(items.todo)에 저장된 내용도 그 아래 표시했다.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 640px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;23: ...&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;24: while running:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;25: ...&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;45:         printList(toDo)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;46: save(toDo)&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-TmXNpkGi008/TsabC6HmnAI/AAAAAAAAAQ0/B5yaJSdJ5NI/s1600-h/figure02%25255B2%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure02&quot; border=&quot;0&quot; alt=&quot;figure02&quot; src=&quot;http://lh5.ggpht.com/-NbOLoIONyIQ/TsabDyh_eHI/AAAAAAAAAQ8/w7QctMI14lQ/figure02_thumb.png?imgmax=800&quot; width=&quot;355&quot; height=&quot;487&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-_FbbHorczXI/TsabE7-fMqI/AAAAAAAAARA/LQ9e7673rrU/s1600-h/figure03%25255B2%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure03&quot; border=&quot;0&quot; alt=&quot;figure03&quot; src=&quot;http://lh4.ggpht.com/-wm5lRdjsUzo/TsabFoqXkXI/AAAAAAAAARI/Ee2zi2GkOdI/figure03_thumb.png?imgmax=800&quot; width=&quot;630&quot; height=&quot;243&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;이제 프로그램 실행 시 Pickle 모듈로 저장한 파일이 있다면 이를 읽어 들여 되돌려 주는 load() 함수를 추가한다.&amp;#160; 기존에 생성된 파일이 없으면 save() 함수에 빈 리스트 하나를 파라메터로 넘겨 비어있는 파일 하나를 만들도록 했다. 그 코드는 아래와 같다. 오류처리 구문을 제외하면, save() 함수와 마찬가지로 파일 핸들러를 얻고 이를 pickle.load() 함수에 파라메터로 넘겨 파일을 읽어 들이면 된다. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 640px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  1: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;load&lt;/span&gt;(fname=&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;items.todo&lt;/span&gt;&amp;quot;):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  2:     &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&amp;quot;&amp;quot;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  3:     &lt;span style=&quot;color: #0000ff&quot;&gt;load&lt;/span&gt; todo items binary file into memory&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  4:     and assigns its values to corresponding object&#39;s states&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  5:     &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&amp;quot;&amp;quot;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  6:     savedItems = [] # 빈 리스트 생성&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  7:     try:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  8:         with &lt;span style=&quot;color: #0000ff&quot;&gt;open&lt;/span&gt;(fname, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;rb&lt;/span&gt;&amp;quot;) as fh:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  9:             savedItems = &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;load&lt;/span&gt;(fh)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 10:     except IOError as ioerr:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 11:         save(savedItems, fname) # create empty file&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 12:     except &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;PickleError&lt;/span&gt; as pklerr:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 13:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;Pickle Error: %s&lt;/span&gt;&amp;quot; % str(pklerr))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 14:     finally:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 15:         &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; savedItems&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;이 프로그램의 메인 부분에 해당하는 첫 코드의 16행 toDo = [] 코드를 아래와 같이 수정 후 프로그램을 실행 후, 출력 메뉴를 선택하면 그 아래 그림에 나타낸 것과 같이 앞서 save() 함수 적용 후 입력한 내용이 출력되는 것을 확인 할 수 있다.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 640px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;16: toDo = &lt;span style=&quot;color: #0000ff&quot;&gt;load&lt;/span&gt;() # 사용자가 입력한 일정 담을 리스트&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;...&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-XEhLGsU-hUY/TsabGYHAHtI/AAAAAAAAARU/-7cc01ApjNI/s1600-h/figure04%25255B2%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure04&quot; border=&quot;0&quot; alt=&quot;figure04&quot; src=&quot;http://lh3.ggpht.com/-W8mLAcOgN-s/TsabHidu65I/AAAAAAAAARc/vYgWk99jvKg/figure04_thumb.png?imgmax=800&quot; width=&quot;644&quot; height=&quot;365&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;이 포스트에서는 Python에서 Pickle 모듈을 이용한 영속화 예제를 살펴봤다. 이 예제의 경우 단일한 일정목록을 그 개수에 제한 없이 사용할 수 있지만 날짜와 같은 구분 지을 수 있는 키로 여러 데이터 세트를 상황에 맞게 사용하려면 리스트 대신 딕셔너리 객체를 이용하면 되지만 시리얼화로 저장한 파일 내용 전체를 읽어 들여야 해서 비효율 적이다. 필요한 부분만 별도로 관리할 수 있는 모듈이 포스트 처음에 언급한 Shelve 모듈이다. 이는 다음 포스트에서 살펴보도록 한다. 이 프로그램의 전체 코드는 아래와 같다.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 664px; padding-right: 5px; height: 1224px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  1: #!/usr/bin/env python&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  2: # -*- coding: UTF-8 -*-&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  3: #-------------------------------------------------------------------------------&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  4: # Name:        TodoListPickle&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  5: # Purpose:      Pickle 모듈을 이용한 파일 영속화(persistence) 예제&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  6: #&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  7: # Author:      oscarpark&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  8: #&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt;  9: # Created:     18-11-2011&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 10: # Copyright:   (c) oscarpark 2011&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 11: # Licence:     Licence Free&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 12: #-------------------------------------------------------------------------------&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 13: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 14: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 15: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; clearAll():&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 16:     &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; []&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 17: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 18: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; printList(items):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 19:     &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;-&lt;/span&gt;&amp;quot; * 30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 20:     &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;%d개의 일정이 등록되어 있습니다.&lt;/span&gt;&amp;quot; % len(items))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 21:     for item in items:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 22:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt;(&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\t%s&lt;/span&gt;&amp;quot; % item)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 23:     &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;-&lt;/span&gt;&amp;quot; * 30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 24: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 25: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; save(items, fname=&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;items.todo&lt;/span&gt;&amp;quot;):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 26:     &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&amp;quot;&amp;quot;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 27:     save todo items into binary file&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 28:     &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&amp;quot;&amp;quot;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 29:     try:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 30:         with &lt;span style=&quot;color: #0000ff&quot;&gt;open&lt;/span&gt;(fname, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;wb&lt;/span&gt;&amp;quot;) as fh:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 31:             &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;dump&lt;/span&gt;(items, fh)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 32:     except IOError as ioerr:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 33:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;File Error: %s&lt;/span&gt;&amp;quot; % str(ioerr))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 34:     except &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;PickleError&lt;/span&gt; as pklerr:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 35:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;Pickle Error: %s&lt;/span&gt;&amp;quot; % str(pklerr))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 36: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 37: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;load&lt;/span&gt;(fname=&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;items.todo&lt;/span&gt;&amp;quot;):&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 38:     &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&amp;quot;&amp;quot;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 39:     &lt;span style=&quot;color: #0000ff&quot;&gt;load&lt;/span&gt; todo items binary file into memory&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 40:     and assigns its values to corresponding object&#39;s states&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 41:     &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&amp;quot;&amp;quot;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 42:     savedItems = [] # 빈 리스트 생성&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 43:     try:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 44:         with &lt;span style=&quot;color: #0000ff&quot;&gt;open&lt;/span&gt;(fname, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;rb&lt;/span&gt;&amp;quot;) as fh:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 45:             savedItems = &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;load&lt;/span&gt;(fh)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 46:     except IOError as ioerr:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 47:         save(savedItems, fname) # create empty file&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 48:     except &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;PickleError&lt;/span&gt; as pklerr:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 49:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;Pickle Error: %s&lt;/span&gt;&amp;quot; % str(pklerr))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 50:     finally:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 51:         &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; savedItems&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 52: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 53: &lt;span style=&quot;color: #0000ff&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;pickle&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 54: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 55: toDo = &lt;span style=&quot;color: #0000ff&quot;&gt;load&lt;/span&gt;() # 사용자가 입력한 일정 담을 리스트&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 56: menu = [&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;출력&lt;/span&gt;&amp;quot;, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;전체 제거&lt;/span&gt;&amp;quot;, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;추가&lt;/span&gt;&amp;quot;]    # 메뉴 리스트&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 57: running = True&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 58: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 59: &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;*&lt;/span&gt;&amp;quot; * 30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 60: &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;일정관리&lt;/span&gt;&amp;quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 61: &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;*&lt;/span&gt;&amp;quot; * 30)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 62: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 63: while running:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 64:     option = 1&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 65: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 66:     for m in menu:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 67:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;%d. %s&lt;/span&gt;&amp;quot; % (option, m))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 68:         option += 1&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 69:     &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt; (&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;%d. %s&lt;/span&gt;&amp;quot; % (option, &amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;종료&lt;/span&gt;&amp;quot;))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 70:     try:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 71:         command = int(input(&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;원하는 메뉴 번호를 입력하세요: &lt;/span&gt;&amp;quot;))&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 72:     except ValueError:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 73:         command = 0&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 74: &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 75:     &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; command == option:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 76:         running = False&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 77:     elif command == 1:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 78:         printList(toDo)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 79:     elif command == 2:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 80:         toDo = clearAll()&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 81:         save(toDo)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 82:     elif command == 3:&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 83:         do = input(&amp;quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\t일정명: &lt;/span&gt;&amp;quot;)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 84:         toDo.append(do)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 85:         printList(toDo)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 14px&quot;&gt; 86: save(toDo)&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8ee52350-2045-482b-a53d-f6c0f7158436&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;BuzzNet Tags: &lt;a href=&quot;http://www.buzznet.com/tags/Python+3.2&quot; rel=&quot;tag&quot;&gt;Python 3.2&lt;/a&gt;,&lt;a href=&quot;http://www.buzznet.com/tags/Persistence&quot; rel=&quot;tag&quot;&gt;Persistence&lt;/a&gt;,&lt;a href=&quot;http://www.buzznet.com/tags/Pickle&quot; rel=&quot;tag&quot;&gt;Pickle&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/5893856695841764294/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/11/python-3.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/5893856695841764294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/5893856695841764294'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/11/python-3.html' title='Python Persistence (1) : Pickle 모듈'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-bgEa5yhXeBs/TsabB4TrgsI/AAAAAAAAAQs/dYBkucg8VjI/s72-c/figure01_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-1793992155232911958</id><published>2011-11-18T04:29:00.001+09:00</published><updated>2011-11-18T23:44:50.054+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="matplotlib"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>측정 단위 문제: How to avoid the dependence on the choice of measurement units?</title><content type='html'>&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
우리는 다양한 부면의 데이터를 수집하고 이들 속에 어떤 상관(correlation) 혹은 연관(association) 관계를 찾는다. 이들 데이터 중 일부는 인공의 기준을 세우고 단위를 부여한다. 동일한 속성을 가리키는 값이라 해도 그 단위에 따라 다른 값으로 나타나는데 이로 인해 그 결과가 상이하게 되기도 한다.&lt;br /&gt;
예를 들어, 4명의 나이와 키를 아래와 같이 수집했고, 이를 아래 표와 같이 정리했다고 하자.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;
 Table 1. Age(in years) and height(in centimeters) of 4 people.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;2&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; style=&quot;font-size: small; width: 600px;&quot;&gt; &lt;tbody&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;Person&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;Age (years)&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;Height (cm)&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;25&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;180&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;B&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;30&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;180&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;25&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;165&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;D&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;30&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;165&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
Python으로 이들 데이터를 &lt;a href=&quot;http://matplotlib.sourceforge.net/index.html&quot; target=&quot;_blank&quot; title=&quot;matplotlib: Python plotting&quot;&gt;matplotlib&lt;/a&gt; 모듈을 이용해 도표를 그려보자. &lt;br /&gt;
&lt;em&gt;참고로 matplotlib는 Python 2.x 만 제공하고 있고 또 LaTeX를 기능을 사용하는 경우도 있기 때문에 공식 웹 사이트가 아닌 다른 곳에서 Python 3.2용 matplotlib를 받아서 설치 해야 한다. &lt;/em&gt;&lt;br /&gt;
&lt;em&gt;이 사이트는 &lt;/em&gt;&lt;a href=&quot;http://www.lfd.uci.edu/~gohlke/pythonlibs/&quot; target=&quot;_blank&quot; title=&quot;Unofficial Windows Binaries for Python Extension Packages&quot;&gt;&lt;em&gt;Unofficial Windows Binaries for Python Extension Packages&lt;/em&gt;&lt;/a&gt;&lt;em&gt;로 그 외에도 유용한 패키지가 많다. 그리고 Windows용 TeX는 &lt;/em&gt;&lt;a href=&quot;http://www.tug.org/texlive/&quot; target=&quot;_blank&quot; title=&quot;TeX Live&quot;&gt;&lt;em&gt;TeX Live&lt;/em&gt;&lt;/a&gt;&lt;em&gt;를 받아서 설치 했는데 &lt;/em&gt;&lt;a href=&quot;http://www.linuxmint.com/&quot; target=&quot;_blank&quot; title=&quot;Linux Mint&quot;&gt;&lt;em&gt;Linux Mint&lt;/em&gt;&lt;/a&gt;&lt;em&gt;에서와 마찬가지로 texlive-latex-base와 texlive-latex-recommended 뿐만 아니라 texlive-math-extra와 texlive-fonts-extra도 함께 설치 해야 한다. 또 Windows에서 TeX Live 패스 설정을 하지 않는다면 문제가 발생하는데, 이는 googling으로 해결하면 된다. 물론 TeX 설치가 힘들다면 그냥 matplotlib 모듈에서 TeX 기능을 사용치 않거나 굳이 써야 하면 Mac이나 Linux에서 사용하는걸 권한다. (개인적으론 Mac에서 설정 잡는 것이 편했다.)&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;
&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; height: 563px; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 652px;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  1:&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;import&lt;/span&gt; matplotlib.pyplot as plt&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  2: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  3: fig = plt.figure()&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  4: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  5: fig.suptitle(&#39;The dependence on the choice of measurement units&#39;, fontsize=14, fontweight=&#39;bold&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  6: ax = fig.add_subplot(111)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  7: fig.subplots_adjust(top=0.85)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  8: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  9: ax.set_title(&#39;Height versus age&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 10: ax.set_xlabel(&#39;Age (YEARS)&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 11: ax.set_ylabel(&#39;Height (CM)&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 12: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 13: x = [25, 30, 25, 30] # age&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 14: y = [180, 180, 165, 165] # height&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 15: persons = [&quot;&lt;span style=&quot;color: darkred;&quot;&gt;A&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: darkred;&quot;&gt;B&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: darkred;&quot;&gt;C&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: darkred;&quot;&gt;D&lt;/span&gt;&quot;]&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 16: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 17: ax.scatter(x,y,s=120, zorder=2)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 18: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 19: for i in range(4):&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 20:     #ax.plot(x[i], y[i], c=&quot;&lt;span style=&quot;color: darkred;&quot;&gt;red&lt;/span&gt;&quot;, marker = &#39;o&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 21:     #ax.scatter(x[i], y[i],s=70, zorder=2)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 22:     ax.text(x[i], y[i] * 1.01 , persons[i], color=&#39;black&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 23: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 24: ax.axis([15, 50, 150, 190])&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 25: ax.grid()&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 26: plt.show()&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 27: &lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
위 코드를 실행하면 다음과 같은 도표를 확인 할 수 있다. 이 도표를 통해 데이터를 눈으로 가까운 것과 먼 것을 나눠보면 {A, B}와 {C, D}가 될 것이다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://lh4.ggpht.com/-vkUpl5A6tRg/TsVgbVWxsVI/AAAAAAAAAPk/MkmG0hAXong/s1600-h/figure01%25255B4%25255D.png&quot;&gt;&lt;img alt=&quot;Plot of height (in cm) versus age corresponding to Table 1&quot; border=&quot;0&quot; height=&quot;487&quot; src=&quot;http://lh4.ggpht.com/-zxVWtQ24Kr4/TsVgcc2FGPI/AAAAAAAAAPs/PZOlYIFBSYc/figure01_thumb%25255B2%25255D.png?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;figure01&quot; width=&quot;644&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Table 1에서 신장 값을 센티미터 단위로 나타냈던 것을 피트 단위를 이용한다면 아래 Table 2와 같이 나타난다. (1ft = 30.48 cm)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Table 2. Age(in years) and height(in feet) of 4 people.&lt;br /&gt;
&lt;table border=&quot;2&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; style=&quot;width: 600px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;Person&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;Age (years)&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;Height (feet)&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;25&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;5.91&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;B&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;30&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;5.91&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;25&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;5.41&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;strong&gt;D&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;30&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td valign=&quot;top&quot; width=&quot;200&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;5.41&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
이 데이터를 도표 상 나타내도록 코드를 일부 수정하여 아래 코드에 나타내었다. 단, 수정된 위치 및 추가 된 것만 나타냈다. 위 코드 행과 맞춰보면 된다.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 640px;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;...&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;11: ax.set_ylabel(&#39;Height (Ft)&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;...&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;16: y = [float((&quot;&lt;span style=&quot;color: darkred;&quot;&gt;%1.2f&lt;/span&gt;&quot;) % (i / 30.48)) for i in y]&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;...&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;24: ax.axis([15, 50, 3, 8])&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;http://lh6.ggpht.com/-YjAIiOdrHfE/TsVgdVZD_0I/AAAAAAAAAPw/N-CfYC2O58E/s1600-h/figure02%25255B3%25255D.png&quot;&gt;&lt;img alt=&quot;Plot of height (in feet) versus age corresponding to Table 2&quot; border=&quot;0&quot; height=&quot;487&quot; src=&quot;http://lh4.ggpht.com/-rf9diu7MiDY/TsVgeqhEaMI/AAAAAAAAAP4/7gIVykNVy3A/figure02_thumb%25255B1%25255D.png?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;figure02&quot; width=&quot;644&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
이 도표를 통해 데이터를 눈으로 가까운 것과 먼 것을 나눠보면 {A, C}와 {B, D}가 될 것이다.&lt;span style=&quot;color: black;&quot;&gt; 물론 이 두 도표는 Height 축의 비율(scale)에 의한 착시 현상이 존재한다. 아래 코드와 같이 24 행을 수정하면 figure01과 같이 나타낼 수 있다. 결국 이 비율 문제도 이 포스트에서 다루는 문제와 같은 것이다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 640px;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;24: ax.axis([15, 50,&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;        float((&quot;&lt;span style=&quot;color: darkred;&quot;&gt;%1.2f&lt;/span&gt;&quot;) % (150 / 30.48)),&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;        float((&quot;&lt;span style=&quot;color: darkred;&quot;&gt;%1.2f&lt;/span&gt;&quot;) % (190 / 30.48))])&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
이런 문제를 해결하기 위해서는 데이터를 단위가 없는 표준화된 데이터로 변환하는데 일반적으로 표준편차(standard deviation)를 구해 표준점수(standard score, z-score)로 환산한다. 다만 표준편차의 경우 데이터 값과 그 표본 평균(일반적으로 산술평균)차를 제곱함으로 인해 점수가 부풀려지는 경우가 발생할 수 있다. &lt;br /&gt;
&lt;br /&gt;
절대 평균 편차(mean absolute deviation)을 구하면 이런 경향을 피할 수 있다. 절대 평균 편차는 각 값과 표본 평균 차의 절대치를 취해 원래 값과 비례하도록 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://lh5.ggpht.com/-9pB6vpRVDZY/TsVgfPWr7rI/AAAAAAAAAQA/-t-j0jfQR44/s1600-h/figure04%25255B2%25255D.png&quot;&gt;&lt;img alt=&quot;A numerical formula for the mean absolute deviation&quot; border=&quot;0&quot; height=&quot;85&quot; src=&quot;http://lh3.ggpht.com/-dfXpFCjLpLw/TsVggIqN5AI/AAAAAAAAAQM/uOd9VKm1m2A/figure04_thumb.png?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;figure04&quot; width=&quot;207&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
이를 구하여 도표로 그리는 코드를 다음과 같이 작성했고 그 결과는 아래와 같다. 이 코드를 실행 후, 다시 17행에 있는 피트 단위로 변환하는 코드의 주석을 제거 후 실행해도 동일한 결과를 얻게 된다. 14~16행에 데이터를 좀 더 추가해서 수행해보는 것도 좋다.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; height: 800px; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 652px;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  1: &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;import&lt;/span&gt; matplotlib.pyplot as plt&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  2: &lt;span style=&quot;color: blue;&quot;&gt;import&lt;/span&gt; math&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  3: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  4: fig = plt.figure()&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  5: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  6: fig.suptitle(&#39;The dependence on the choice of measurement units&#39;, fontsize=14, fontweight=&#39;bold&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  7: ax = fig.add_subplot(111)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  8: fig.subplots_adjust(top=0.85)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt;  9: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 10: ax.set_title(&#39;Height versus age&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 11: ax.set_xlabel(&#39;Age (z-score)&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 12: ax.set_ylabel(&#39;Height (z-score)&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 13: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 14: x = [25, 30, 25, 30] # age&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 15: y = [180, 180, 165, 165] # height&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 16: persons = [&quot;&lt;span style=&quot;color: darkred;&quot;&gt;A&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: darkred;&quot;&gt;B&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: darkred;&quot;&gt;C&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: darkred;&quot;&gt;D&lt;/span&gt;&quot;]&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 17: #y = [float((&quot;&lt;span style=&quot;color: darkred;&quot;&gt;%1.2f&lt;/span&gt;&quot;) % (i / 30.48)) for i in y]&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 18: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 19: # calculates means of x and y&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 20: mx, my = math.fsum(x) / len(x), math.fsum(y) / len(y)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 21: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 22: # calculates mads of x and y&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 23: sx, sy = (1/len(x)) * math.fsum(math.fabs(i - mx) for i in x), \&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 24:         (1/len(y)) * math.fsum(math.fabs(i - my) for i in y)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 25: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 26: # calculates each z-scores of x and y elements&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 27: # and assigns them into &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; lists madx, mady&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 28: # z_socre = (xi - mean) / s_mad&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 29: madx, mady = [ (i - mx) / sx for i in x ], \&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 30:             [ (i - my) / sy for i in y ]&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 31: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 32: ax.scatter(madx, mady, s=120, zorder=2)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 33: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 34: for i in range(4):&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 35:     ax.text(madx[i], mady[i] * 1.2 , persons[i], color=&#39;black&#39;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 36: &lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 37: ax.axis([-2, 2, -2, 2])&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 38: ax.grid()&lt;/pre&gt;
&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 14px; margin: 0em; width: 100%;&quot;&gt; 39: plt.show()&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://lh5.ggpht.com/-0RjfWHu_tI4/TsVghZcGOgI/AAAAAAAAAQU/nfXuMXLbnoY/s1600-h/figure05%25255B3%25255D.png&quot;&gt;&lt;img alt=&quot;Plot of standardized height versus standardized age&quot; border=&quot;0&quot; height=&quot;487&quot; src=&quot;http://lh6.ggpht.com/-mSUP3EyiBOc/TsVgi569r-I/AAAAAAAAAQc/lnIPLm1H-Qo/figure05_thumb%25255B1%25255D.png?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;figure05&quot; width=&quot;644&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
이 포스트에서는 동일한 속성에 대한 여러 단위에 의한 표현형을 가지는 값을 단위를 배제하고 표준 점수로 나타내는 과정을 Python 3.2와 matplotlib 모듈로 작성해 보였다. 여기에 보인 도표는 모두 matplotlib에서 그려진 이미지를 저장한 것이다. 실제 코드를 실행하면 아래 그림과 같은 윈도우가 실행된다. 저장 버튼을 눌러 PNG 포맷 이미지로 저장 매체에 저장할 수 있다. &lt;br /&gt;
&lt;br /&gt;
이 포스트를 통해 원래 전하고자 했던 바는, 컴퓨터 프로그래밍 언어에 있어 마일스톤(milestone)인 Python의 간편함과 유용성을 보이고자 한데 있다. 물론 matplotlib 모듈의 경우 Windows 환경에서 Python 3.2와 조합 시 설치부터 어려움을 유발하고 또한 matplotlib 자체가 차트 및 그래프의 A to Z까지 모두 제공하다 보니 일견 어려울 수도 있지만 &lt;a href=&quot;http://matplotlib.sourceforge.net/index.html&quot; target=&quot;_blank&quot; title=&quot;matplotlib: Python plotting&quot;&gt;matplotlib 웹 사이트&lt;/a&gt; 내 &lt;a href=&quot;http://matplotlib.sourceforge.net/gallery.html&quot; target=&quot;_blank&quot; title=&quot;matplotlib gallery&quot;&gt;갤러리&lt;/a&gt; 및 &lt;a href=&quot;http://matplotlib.sourceforge.net/examples/index.html&quot; target=&quot;_blank&quot; title=&quot;matplotlib examples&quot;&gt;예제&lt;/a&gt;를 참조하다 보면 Python 문법 차체의 간결함과 일관된 패턴이 상승효과를 유발해 수월하게 익힐 수 있다. 이제 공과 대학은 Matlab과 작별을 고해도 될 시점이라 생각한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:49e526de-f59a-41bd-92cb-c3c95ffd4d3d&quot; style=&quot;display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
BuzzNet Tags: &lt;a href=&quot;http://www.buzznet.com/tags/Python+3.2&quot; rel=&quot;tag&quot;&gt;Python 3.2&lt;/a&gt;,&lt;a href=&quot;http://www.buzznet.com/tags/matplotlib&quot; rel=&quot;tag&quot;&gt;matplotlib&lt;/a&gt;,&lt;a href=&quot;http://www.buzznet.com/tags/Windows+7&quot; rel=&quot;tag&quot;&gt;Windows 7&lt;/a&gt;,&lt;a href=&quot;http://www.buzznet.com/tags/Mean+Absolute+Derivation&quot; rel=&quot;tag&quot;&gt;Mean Absolute Derivation&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/1793992155232911958/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/11/correlation-association.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/1793992155232911958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/1793992155232911958'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/11/correlation-association.html' title='측정 단위 문제: How to avoid the dependence on the choice of measurement units?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-zxVWtQ24Kr4/TsVgcc2FGPI/AAAAAAAAAPs/PZOlYIFBSYc/s72-c/figure01_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-31825801302528143</id><published>2011-11-17T00:25:00.001+09:00</published><updated>2011-11-18T12:39:07.547+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Database"/><category scheme="http://www.blogger.com/atom/ns#" term="Migration"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLite"/><title type='text'>데이터 이전: 파이썬과 SQLite3</title><content type='html'>&lt;p&gt;분산된 웹 환경하에서 여러 데이터를 취합하거나 혹은 단일 데이터 저장소로부터 내려받은 데이터를 다른 저장소로 이전해야 하는 경우가 종종 발생한다. 예를 들어 공개된 생명정보 데이터베이스로부터 쿼리 결과를 FASTA 포맷으로 다운로드 받아 이를 전문화된 라이브러리 구축을 위해 별도의 데이터 저장소로 옮기는 등의 작업이 빈번히 발생할 수 있다. &lt;/p&gt; &lt;p&gt;참고로, 사적으로 여러 차례 언급해왔지만 단 한번 수행하고 오랜 시간 동안 반복하지 않을 일이라면, 예를 들어, 일년에 두세 차례 수행하고 말 일이라면, 그 데이터 양이 얼마든지 간에 손으로 해치우고 마는 것이 훨씬 일을 간결하게 할 수 있다. 혹은 데이터 양이 많고 일부분에서 손이 많이 가며 반복적 패턴이 있다면 딱 그 부분만 처리하도록 코드를 작성하는 것이 더 효율적이다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-4LrkjuoSrB4/TsPVrE2pQpI/AAAAAAAAAOE/elsAgQN_oWA/s1600-h/figure015.png&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure01&quot; border=&quot;0&quot; alt=&quot;figure01&quot; src=&quot;http://lh3.ggpht.com/-pdILWVZN0A4/TsPVsvlBKBI/AAAAAAAAAOM/H6oDdcu9jpE/figure01_thumb3.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;293&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;이 포스팅은 파이썬으로 데이터 이전을 수행하는 과정에 있어 많은 부분을 자동적으로 처리하기 위해 고려해야 할 부분과 내가 선호하는 방법에 대해 풀어 설명하는 목적으로 작성했다. 여기서 다루는 내용은 Microsoft SQL Server 예제 데이터베이스인 &lt;a title=&quot;AdventureWorks Sample Databases&quot; href=&quot;http://msdn.microsoft.com/en-us/library/ms124501(v=SQL.100).aspx&quot; target=&quot;_blank&quot;&gt;AdventureWorks&lt;/a&gt;로부터 ASCII 포맷으로 내려 받은 데이터를&amp;nbsp; 파이썬과 이에 내장된 SQLite 모듈을 이용해 SQLite3 데이터베이스로 이전하는 코드이다. &lt;/p&gt; &lt;p&gt;AdventureWorks 데이터베이스의 Address, Customer, CustomerAddress, Product, ProductCategory, ProductModel, SalesOrderHeader, SalesOrderDetail 테이블로부터 일부 데이터를 가공해 ASCII 포맷 Text 파일로 내려 받았다. 이들 테이블에 관한 상세 내역은 &lt;a title=&quot;AdventureWorks Data Dictionary&quot; href=&quot;http://msdn.microsoft.com/en-us/library/ms124438(v=SQL.100).aspx&quot; target=&quot;_blank&quot;&gt;AdventureWorks Data Dictionary&lt;/a&gt; 페이지를 참조토록 한다. 첨언하면, 데이터베이스 설계, 프로그래밍, 관리, 튜닝 등을 공부하는데 이런 예제 데이터베이스를 활용하는 것이 가장 효율적인 방법이었다.&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-EVwCk4fwEPI/TsPVt4ousTI/AAAAAAAAAOU/o09Ln7oMZvE/s1600-h/figure023.png&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure02&quot; border=&quot;0&quot; alt=&quot;figure02&quot; src=&quot;http://lh3.ggpht.com/-Rjf6xb1vHjU/TsPVvVgycvI/AAAAAAAAAOc/BvhIWjgiApY/figure02_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;296&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;각 필드 구분자는 탭(\t)을 사용했고 이 값들과 사상(mapping)하는 필드 명은 아래 SQLite3 데이터베이스에 테이블 생성을 위한 SQL DDL(Data Definition Language)문으로 확인 할 수 있다. &lt;/p&gt; &lt;p&gt;SQLite는 프로그래밍 라이브러리로 이는 단일 데이터베이스 파일을 In-Memory에서 다루는 데이터베이스 엔진이다. SQLite는 여러 이종 플랫폼에서 광범위하게 이용되고 있다. 이에 관한 상세한 내용은 &lt;a title=&quot;SQLite Home Page&quot; href=&quot;http://www.sqlite.org/index.html&quot; target=&quot;_blank&quot;&gt;SQLite 공식 웹 사이트&lt;/a&gt;에서 확인 할 수 있다.&lt;/p&gt; &lt;p&gt;SQLite에 새로운 데이터베이스 파일을 생성하기 위해 다음 명령을 실행 후, SQL DDL로 테이블을 생성했다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-Xb-w6OwkPUU/TsPVwXp1H6I/AAAAAAAAAOk/XgnEeYeDD-4/s1600-h/figure033.png&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure03&quot; border=&quot;0&quot; alt=&quot;figure03&quot; src=&quot;http://lh5.ggpht.com/-G4rcfS-t3a4/TsPVxnyHOsI/AAAAAAAAAOs/o69w9bKUkr4/figure03_thumb1.png?imgmax=800&quot; width=&quot;432&quot; height=&quot;108&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 504px; padding-right: 5px; height: 653px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  1: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=DROP&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;DROP&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=IF&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;IF&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=EXISTS&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;EXISTS&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; SalesOrderDetail;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  2: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=DROP&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;DROP&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=IF&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;IF&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=EXISTS&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;EXISTS&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; SalesOrderHeader;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  3: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=DROP&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;DROP&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=IF&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;IF&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=EXISTS&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;EXISTS&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; Product;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  4: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=DROP&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;DROP&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=IF&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;IF&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=EXISTS&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;EXISTS&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; ProductModel;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  5: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=DROP&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;DROP&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=IF&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;IF&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=EXISTS&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;EXISTS&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; ProductCategory;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  6: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=DROP&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;DROP&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=IF&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;IF&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=EXISTS&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;EXISTS&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; CustomerAddress;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  7: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=DROP&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;DROP&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=IF&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;IF&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=EXISTS&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;EXISTS&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; Customers;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  8: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=DROP&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;DROP&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=IF&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;IF&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=EXISTS&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;EXISTS&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; Address;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  9: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 10: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;CREATE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; Address&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 11: (&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 12:         AddressID                       &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 13:         AddressLine1                    &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 14:         AddressLine2                    &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 15:         City                            &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 16:         StateProvince                   &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 17:         CountryRegion                   &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 18:         PostalCode                      &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 19:         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;PRIMARY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=KEY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;KEY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;(AddressID &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ASC&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;ASC&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 20: );&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 21: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 22: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;CREATE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; CustomerAddress&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 23: (&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 24:         CustomerID                      &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 25:         AddressID                       &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 26:         AddressType                     &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 27:         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;PRIMARY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=KEY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;KEY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;(CustomerID &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ASC&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;ASC&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;, AddressID &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ASC&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;ASC&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 28: );&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 29: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 30: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;CREATE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; Customers&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 31: (&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 32:         CustomerID                      &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 33:         Title                           &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 34:         FirstName                       &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 35:         MiddleName                      &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 36:         LastName                        &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 37:         Suffix                          &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 38:         CompanyName                     &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 39:         EmailAddress                    &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 40:         Phone                           &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 41:         SalesPerson                     &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 42:         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;PRIMARY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=KEY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;KEY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;(CustomerID &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ASC&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;ASC&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 43: );&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 44: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 45: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;CREATE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; Product&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 46: (&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 47:         ProductID                       &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 48:         Name                            &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 49:         ProductNumber                   &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 50:         Color                           &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 51:         StandardCost                    &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=REAL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;REAL&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 52:         ListPrice                       &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=REAL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;REAL&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 53:         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=Size&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Size&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;                            &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 54:         Weight                          &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 55:         ProductCategoryID               &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 56:         ProductModelID                  &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 57:         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;PRIMARY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=KEY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;KEY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;(ProductID &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ASC&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;ASC&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 58: );&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 59: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 60: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;CREATE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; ProductCategory&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 61: (&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 62:         ProductCategoryID               &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 63:         ParentProductCategoryID         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 64:         Name                            &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 65:         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;PRIMARY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=KEY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;KEY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;(ProductCategoryID &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ASC&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;ASC&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 66: );&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 67: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 68: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;CREATE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; ProductModel&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 69: (&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 70:         ProductModelID          &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 71:         Name                    &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 72:         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;PRIMARY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=KEY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;KEY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;(ProductModelID &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ASC&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;ASC&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 73: );&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 74: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 75: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;CREATE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; SalesOrderHeader&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 76: (&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 77:         SalesOrderID                    &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 78:         RevisionNumber                  &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 79:         OrderDate                       &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 80:         DueDate                         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 81:         ShipDate                        &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 82:         Status                          &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 83:         OnlineOrderFlag                 &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 84:         SalesOrderNumber                &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 85:         PurchaseOrderNumber             &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 86:         AccountNumber                   &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 87:         CustomerID                      &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 88:         ShipToAddressID                 &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 89:         BillToAddressID                 &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 90:         ShipMethod                      &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TEXT&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TEXT&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 91:         CreditCardApprovalCode          &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 92:         SubTotal                        &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=REAL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;REAL&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 93:         TaxAmt                          &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=REAL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;REAL&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 94:         Freight                         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=REAL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;REAL&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 95:         TotalDue                        &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=REAL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;REAL&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 96:         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;PRIMARY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=KEY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;KEY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;(SalesOrderID &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ASC&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;ASC&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 97: );&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 98: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 99: &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;CREATE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;TABLE&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; SalesOrderDetail&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;100: (&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;101:         SalesOrderID                    &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;102:         SalesOrderDetailID              &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;103:         OrderQty                        &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;104:         ProductID                       &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INTEGER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;INTEGER&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;105:         UnitPrice                       &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=REAL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;REAL&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;106:         UnitPriceDiscount               &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=REAL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;REAL&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;107:         LineTotal                       &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=REAL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;REAL&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;108:         &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;PRIMARY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=KEY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;KEY&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;(SalesOrderDetailID &lt;/font&gt;&lt;a style=&quot;color: #0000ff&quot; href=&quot;http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ASC&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;ASC&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;109: );&lt;/font&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;여기서는 테이블 간 관계성(relationship)을 설정하지 않았는데, 그 이유는 SQLite 엔진은 외래 키 사용이 기본적으로 막혀 있기 때문이다. 이를 PRAGMA foreign_keys = ON; 명령으로 옵션 변경을 할 수 있지만 기본 키만 설정했다. SQLite 엔진에서 외래 키 옵션을 확인하기 위해서는 PRAGMA foreign_keys; 라 입력하면 0(불가) / 1(가능)으로 설정 값이 나온다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;SQLite의 데이터 타입은 5가지(TEXT, INTEGER, REAL, BLOB, NONE)이며, 이에 관한 상세한 사항은 다음 웹 페이지 &lt;a title=&quot;Datatypes In SQLite Version3&quot; href=&quot;http://www.sqlite.org/datatype3.html&quot; target=&quot;_blank&quot;&gt;Datatypes In SQLite Version3&lt;/a&gt; 를 참고토록 한다.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;생성한 테이블 다이어그램은 아래와 같다.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-FXsYmZxGlTw/TsPVzAea-VI/AAAAAAAAAO0/Q1AigrEg4rU/s1600-h/figure04%25255B3%25255D.png&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure04&quot; border=&quot;0&quot; alt=&quot;figure04&quot; src=&quot;http://lh4.ggpht.com/-wss4iLQEJ7w/TsPV0iXyyNI/AAAAAAAAAO8/nOKxqTLrUNE/figure04_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;438&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;예제 데이터베이스 AdventureWorks 데이터는 아래 그림과 같이 ASCII 포맷으로 데이터 타입에 관한 원래 정보는 해당 파일에서 이미 소실된 상태이다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-EKRPpwY6K8s/TsPV2Vt6scI/AAAAAAAAAPE/dQ6qQP1cFfQ/s1600-h/figure05%25255B8%25255D.png&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure05&quot; border=&quot;0&quot; alt=&quot;figure05&quot; src=&quot;http://lh3.ggpht.com/-JO7kMjkDopI/TsPV4LOLsHI/AAAAAAAAAPM/IFQ575G1IZI/figure05_thumb%25255B3%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;168&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;각 값들과 SQLite 테이블의 필드 순서는 일치 시켰으므로 그 순서는 중요치 않지만 각 데이터 타입에 맞게 처리해야 할 필요가 있다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;그래서 각 테이블 마다 필드에 사상하는 데이터 타입을 기술한 scheme.meta 라는 이름의 ASCII 파일을 생성해 아래 내용을 저장했고 이를 데이터 이전 작업에서 쉐도우 데이터로 활용했다.&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 480px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  1: Address;int,str,str,str,str,str,str&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  2: CustomerAddress;int,int,str&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  3: Customers;int,str,str,str,str,str,str,str,str,str&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  4: Product;int,str,str,str,float,float,str,str,int,int&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  5: ProductCategory;int,int,str&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  6: ProductModel;int,str&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  7: SalesOrderHeader;int,int,str,str,str,int,int,str,str,str,int,int,int,str,int,float,float,float,float&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  8: SalesOrderDetail;int,int,int,int,float,float,float&lt;/font&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;세미콜론으로 구분되는 두 필드는 각각 테이블 명과 각 필드 데이터 타입에 사상하는 파이썬 데이터 타입 리스트이다. 파이썬에서는 이를 읽어, 키-값 쌍을 가지는 딕셔너리를 생성하여 메타 정보로 활용한다. 아래는 이 과정을 수행하는 코드 일부이며 전체 코드는 포스트 마지막에 표시한다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;fname은 해당 함수의 인자로 파일 경로이며, with 구문으로 파일을 열어 파이썬의 Context Manager에 그 처리를 이양했기 때문에 파일 닫기 작업은 불필요하다. &lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 480px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  1: with &lt;span style=&quot;color: #0000ff&quot;&gt;open&lt;/span&gt;(fname, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;r&lt;/span&gt;&quot;) as fh:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  2:   for line in fh:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  3:       t, s = line.&lt;span style=&quot;color: #0000ff&quot;&gt;split&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;;&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  4:       q[t] = s.&lt;span style=&quot;color: #0000ff&quot;&gt;replace&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\n&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  5:   &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; q&lt;/font&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;데이터 베이스에 여러 값을 입력하는데 여러 테크닉이 존재하는데 여기서는 여러 쿼리를 실행하는 방법을 선택했다. 이는 일반적으로 손쉽게 행하는 반복 구문을 이용해 한번에 하나의 레코드 세트를 프로그램에서 집어 넣는 것이 아니라 레코드 세트에 해당하는 복수의 투플(tuple)을 가진 리스트를 생성 후 이를 하나의 쿼리와 묶어 처리토록 하는 것이다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;예를 들어 ABC란 테이블에 5개 필드에 두 개의 데이터 열을 넣고자 하면 값 리스트는 rows = [(1, 2, 3, 4, 5), (6, 7, 8, 9, 10)]과 같이 생성한 후 아래 코드와 같이 실행하면 된다.&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 480px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  1: cursor.executemany(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;INSERT INTO ABC VALUES(?, ?, ?, ?, ?)&lt;/span&gt;&quot;, rows)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  2: db.commit()&lt;/font&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;각 데이터 파일을 읽어 위 코드와 같이 테이블 별 데이터 세트로 만든 후, cursor.executemany(querySlot, dataSetList)로 호출하면 되는데 이를 먼저 보인 후 고려 사항에 대해 다룬다.&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 480px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  1: for key in tablesScheme.keys():&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  2:     &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; VERBOSE:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  3:         &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;TABLE: %s&lt;/span&gt;&quot; % key, &lt;span style=&quot;color: #0000ff&quot;&gt;end&lt;/span&gt;=&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;, &lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  4:     rows = []&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  5:     scheme = tablesScheme[key].&lt;span style=&quot;color: #0000ff&quot;&gt;split&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;,&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  6:     with &lt;span style=&quot;color: #0000ff&quot;&gt;open&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;AW&lt;/span&gt;&quot; + key + &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;.txt&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;r&lt;/span&gt;&quot;) as fh:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  7:         for &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt; in fh:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  8:             value = &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;replace&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\n&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;).&lt;span style=&quot;color: #0000ff&quot;&gt;split&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\t&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  9:             rows.append(tuple(i for i in evalRow(scheme, value)))&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 10:         cursor.executemany(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;INSERT INTO %s VALUES(%s)&lt;/span&gt;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 11:             % (key, createSlot(scheme)), rows)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 12:         db.commit()&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 13: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 14:         &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; VERBOSE:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 15:             &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;%d rows are effected.&lt;/span&gt;&quot; % cursor.rowcount)&lt;/font&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;1 행에서 tablesScheme는 scheme.meta 파일을 읽어 생성한 딕셔너리로 tablesScheme.keys()는 모든 등록된 키를 되돌려준다. 이 후 각 키(즉 테이블 이름)으로 그 값을 받아와 scheme 리스트로 할당한다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;ASCII 파일(AW[테이블명].txt)를 열어 데이터를 받아와 한 줄씩 처리한다. rows 리스트에 담는 것은 레코드 세트(데이터 파일의 개별 행)의 값을 가진 투플로 만들어야 하므로 9 행에서는 tuple() 내장 함수로 들어오는 값을 모아 투플로 생성 후 rows 리스트에 담았다(append). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;여기서 문제는 텍스트 파일에서 읽어 들인 값은 모두 문자열로 취급되고 그 데이터 타입에 대한 정보가 없으므로 이를 데이터 쉐도우 파일 scheme.meta에 기입한 데로 데이터 타입을 인식토록 하는 것이다.이를 수행하는 evalRow() 함수를 작성했고 그 내용은 아래와 같다.&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 480px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  1: for i in range(len(meta)):&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  2:     &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;[i] == &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;NULL&lt;/span&gt;&quot;: yield None&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  3:     elif meta[i] == &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;str&lt;/span&gt;&quot;: yield &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;[i]&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  4:     &lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  5:         yield eval(meta[i] + &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;(&lt;/span&gt;&quot; + &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;[i] + &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;)&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  6: &lt;/font&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;1행은 첫 번째 파라메터 meta 인수로 받은 데이터 쉐도우의 필드 개수만큼 반복을 수행한다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;2행에서 value 인수로 받은 입력 할 데이터 값이 NULL로 표기 되어 있으면 파이썬의 None 타입 되돌린다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;3행에서 데이터 쉐도우의 필드 타입이 str이면 그 값 그대로 되돌린다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;4~5행에서 그 외 int나 float이면 이를 eval() 함수로 문자열 값을 evaluation 토록 했다. 아래 코드와 같이 4~5행을 작성해도 되나 직접적인 변환(casting) 보다는 파이썬이 직접 처리토록 하는 것을 선호하기 때문에 eval() 함수를 활용했다.&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 480px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  1: elif meta[i] == &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;int&lt;/span&gt;&quot;: yield int(&lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;[i])&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  2: &lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;: yield float(&lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;[i])&lt;/font&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;반환 값은 return 구문 대신 yield로 생성자(generator) 함수로 만들었다. 이 때문에 각 값에 대한 판별이 완료될 때마다 값을 함수 호출 지점으로 반환하며 이로 인해 이전 코드 9 행과 같이 for 루프로 해당 함수에서 나오는 값을 하나씩 처리할 수 있다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;이전 코드 11행의 createSlot() 함수는 scheme 리스트에 담긴 원소 수 만큼 물음표(?)를 쉼표로 구분해 생성하는 함수로 그 코드는 아래와 같다. 생성한 결과를 리턴 시 문자열 맨 마지막의 두 개는 잉여의 쉼표와 공백이 하나 더 붙으므로 문자열[0:-2]로 문자열의 마지막 두 개는 제외토록 제한 했다.&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 480px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  1: &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; (&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;?, &lt;/span&gt;&quot; * len(scheme))[0:-2]&lt;/font&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;이에 관한 전체 코드는 다음과 같다. 96행 VERBOSE 변수는 1로 설정했는데, 0으로 설정할 경우 프로그램 수행 과정 상 아무런 출력을 하지 않는다. INSERT, UPDATE, DELETE 구문 수행 후 적용 받은 레코드 세트 수를 확인하려면 90 행과 같이 cursor.rowcount 속성 값을 확인하면 된다.&lt;/p&gt;&lt;pre style=&quot;border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 528px; padding-right: 5px; height: 779px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  1: #!/usr/bin/env python&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  2: # -*- coding: utf-8 -*-&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  3: #-------------------------------------------------------------------------------&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  4: # Name:        adworksmigration&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  5: # Purpose:     adventureworks sample data베이스에서&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  6: #              text파일로 가져온 파일을 읽어&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  7: #              sqlite database로 migration&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  8: #&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;  9: # Author:      oscarpark&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 10: #&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 11: # Created:     16-11-2011&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 12: # Copyright:   (c) oscarpark 2011&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 13: # Licence:     licence free&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 14: #-------------------------------------------------------------------------------&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 15: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 16: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; createSlot(scheme):&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 17:     &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 18:     주어진 리스트 원소 개수 만큼 &#39;?, &#39; 를 생성하고 마지막 &#39;, &#39;는 제외 후 리턴&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 19:     &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 20:     &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; (&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;?, &lt;/span&gt;&quot; * len(scheme))[0:-2]&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 21: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 22: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; evalRow(meta, &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;):&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 23:     &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 24:     meta 리스트 내 나열된 타입에 맞춰&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 25:     같은 index의 &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt; 리스트 내 값을 캐스팅하여 리턴함.&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 26:     &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 27:     &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; not meta or not &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 28:         raise ValueError(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;meta리스트나 data리스트가 빈 리스트 입니다.&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 29: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 30:     &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; len(meta) != len(&lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;):&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 31:         raise ValueError(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;meta리스트와 data리스트 크기가 같아야 합니다.&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 32:     try:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 33:         for i in range(len(meta)):&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 34:             &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;[i] == &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;NULL&lt;/span&gt;&quot;: yield None&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 35:             elif meta[i] == &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;str&lt;/span&gt;&quot;: yield &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;[i]&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 36:             &lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 37:                 yield eval(meta[i] + &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;(&lt;/span&gt;&quot; + &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;[i] + &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;)&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 38:     except Exception as err:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 39:         raise (err)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 40: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 41: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; getScheme(fname):&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 42:     &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 43:     테이블 명과 필드 타입이 들어 있는 파일을 읽어&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 44:     키-값 쌍의 딕셔너리를 리턴함.&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 45:     &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 46:     q = {}      # create an empty dictionary for returning&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 47:     try:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 48:         # &lt;span style=&quot;color: #0000ff&quot;&gt;open&lt;/span&gt; file&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 49:         with &lt;span style=&quot;color: #0000ff&quot;&gt;open&lt;/span&gt;(fname, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;r&lt;/span&gt;&quot;) as fh:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 50:             for line in fh:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 51:                 t, s = line.&lt;span style=&quot;color: #0000ff&quot;&gt;split&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;;&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 52:                 q[t] = s.&lt;span style=&quot;color: #0000ff&quot;&gt;replace&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\n&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 53:             &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; q&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 54:     except IOError as ioerr:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 55:         raise (ioerr)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 56:     except Exception as err:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 57:         raise (err)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 58: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 59: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; patchData(VERBOSE):&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 60:     &lt;span style=&quot;color: #0000ff&quot;&gt;import&lt;/span&gt; sqlite3&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 61: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 62:     tablesScheme = getScheme(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;scheme.meta&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 63: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 64:     db = sqlite3.connect(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;AdventureWorks.sdb&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 65: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 66:     cursor = db.cursor()&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 67: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 68:     for key in tablesScheme.keys():&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 69:         &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; VERBOSE:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 70:             &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;TABLE: %s&lt;/span&gt;&quot; % key, &lt;span style=&quot;color: #0000ff&quot;&gt;end&lt;/span&gt;=&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;, &lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 71:         rows = []&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 72:         scheme = tablesScheme[key].&lt;span style=&quot;color: #0000ff&quot;&gt;split&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;,&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 73:         with &lt;span style=&quot;color: #0000ff&quot;&gt;open&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;AW&lt;/span&gt;&quot; + key + &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;.txt&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;r&lt;/span&gt;&quot;) as fh:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 74:             for &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt; in fh:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 75:                 value = &lt;span style=&quot;color: #0000ff&quot;&gt;data&lt;/span&gt;.&lt;span style=&quot;color: #0000ff&quot;&gt;replace&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\n&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;).&lt;span style=&quot;color: #0000ff&quot;&gt;split&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;\t&lt;/span&gt;&quot;)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 76:                 rows.append(tuple(i for i in evalRow(scheme, value)))&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 77:             &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 78:             NOTE: 위 for loop와 아래 cursor.excutemany / db.commit의&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 79:                     indentation 주의&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 80:             여러 쿼리를 실행해야 할 경우, executemany() 메소드로 가능하다.&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 81:             쿼리 VALUES 절에서 이하에서 각 필드값에 물음표(?)로 대체하고,&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 82:             두번째 파라메터에 해당 값에 대응하는 투플의 리스트를 준다.&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 83:             단 물음표 개수는 반드시 투플의 원소 개수와 일치해야 한다.&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 84:             &quot;&lt;span style=&quot;color: #8b0000&quot;&gt;&lt;/span&gt;&quot;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 85:             cursor.executemany(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;INSERT INTO %s VALUES(%s)&lt;/span&gt;&quot;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 86:                 % (key, createSlot(scheme)), rows)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 87:             db.commit()&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 88: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 89:             &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; VERBOSE:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 90:                 &lt;span style=&quot;color: #0000ff&quot;&gt;print&lt;/span&gt;(&quot;&lt;span style=&quot;color: #8b0000&quot;&gt;%d rows are effected.&lt;/span&gt;&quot; % cursor.rowcount)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 91: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 92:     cursor.&lt;span style=&quot;color: #0000ff&quot;&gt;close&lt;/span&gt;()&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 93:     db.&lt;span style=&quot;color: #0000ff&quot;&gt;close&lt;/span&gt;()&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 94: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 95: &lt;span style=&quot;color: #0000ff&quot;&gt;def&lt;/span&gt; main():&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 96:     VERBOSE = 1&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 97:     patchData(VERBOSE)&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 98: &lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; 99: &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; __name__ == &#39;&lt;span style=&quot;color: #0000ff&quot;&gt;__main__&lt;/span&gt;&#39;:&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;100:     main()&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;101: &lt;/font&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;위 모듈 adworksmigration.py를 직접 실행 시 데이터 이전 작업이 수행되며 그 결과는 아래와 같이 출력됐다. 위 코드의 patchData() 함수 내 데이터베이스 / 파일 이용 부분에는 별도의 예외 처리는 작성하지 않았다. 99행 조건절로 인해 이 모듈을 import 시에는 patchData() 함수가 바로 실행되지 않는다.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-diOldQiUf2E/TsPV5TRBbHI/AAAAAAAAAPU/BORiLLwS57I/s1600-h/figure06%25255B3%25255D.png&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;figure06&quot; border=&quot;0&quot; alt=&quot;figure06&quot; src=&quot;http://lh4.ggpht.com/-9Gun-zX_hdc/TsPV6_3NIbI/AAAAAAAAAPc/5PeSu3RW2nM/figure06_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;254&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/31825801302528143/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/11/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/31825801302528143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/31825801302528143'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/11/blog-post.html' title='데이터 이전: 파이썬과 SQLite3'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-pdILWVZN0A4/TsPVsvlBKBI/AAAAAAAAAOM/H6oDdcu9jpE/s72-c/figure01_thumb3.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-6750794814444975282</id><published>2011-09-28T15:39:00.001+09:00</published><updated>2011-09-28T15:39:36.520+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fractal"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="turtle"/><title type='text'>터틀 모듈로 만드는 Fractal</title><content type='html'>&lt;p&gt;이 포스트 내 코드는 Microsoft사 &lt;a href=&quot;http://msdn.microsoft.com/ko-kr/beginner/gg605178(en-us).aspx&quot; target=&quot;_blank&quot;&gt;Small Basic Getting Started Guide의 Appendix A: Fun Samples&lt;/a&gt;에 게재된 Turtle Fractal을 python으로 포팅한 것이다.&lt;/p&gt; &lt;p&gt;터틀 그래픽 모듈에 관한 설명은 &lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/09/hello-little-turtles.html&quot; target=&quot;_blank&quot;&gt;이전 포트스&lt;/a&gt;를 참조토록 한다.&lt;/p&gt; &lt;p&gt;pyscripter 혹은 python IDLE에서 아래와 같이 코드를 작성한다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-ec7N9iRO7lo/ToLBEDE3xQI/AAAAAAAAANk/aPOSwkVwJJs/s1600-h/2011-09-28%252520%252524%2525C3%252584%2525203-14-48%25255B5%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;2011-09-28 오후 3-14-48&quot; border=&quot;0&quot; alt=&quot;2011-09-28 오후 3-14-48&quot; src=&quot;http://lh3.ggpht.com/-MgX3NHWd8Ww/ToLBFH68aCI/AAAAAAAAANo/g525J9ZCvH8/2011-09-28%252520%252524%2525C3%252584%2525203-14-48_thumb%25255B3%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;676&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 draw(x) 함수는 &lt;/p&gt; &lt;p&gt;1. 파라메터 x 값(초기 값 60) 만큼 turtle 객체 인스턴스인 alex를 이동 &lt;/p&gt; &lt;p&gt;2. theta(30도) 만큼 좌측으로 회전&lt;/p&gt; &lt;p&gt;3. distance를 이동 감쇠 상수 delta(기본 값 10) 만큼 감소 시킨 값을 파라메터로 재귀호출&lt;/p&gt; &lt;p&gt;[재귀 반복]&lt;/p&gt; &lt;p&gt;4. turtle 인스턴스를 우측으로 theta * 2만큼 회전&lt;/p&gt; &lt;p&gt;5. 3과 같은 파라메터 값을 주고 재귀호출&lt;/p&gt; &lt;p&gt;[재귀 반복]&lt;/p&gt; &lt;p&gt;6. turtle 인서턴스를 좌측으로 theta 만큼 회전&lt;/p&gt; &lt;p&gt;7. turtle 인스턴스를 x 값만큼 뒤로 이동&lt;/p&gt; &lt;p&gt;한다. 위 코드 실행 결과는 다음과 같다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-uCXpMITh4L4/ToLBFuLbvfI/AAAAAAAAANs/bhT3jN0wGNo/s1600-h/2011-09-28%252520%252524%2525C3%252584%2525203-15-12%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;2011-09-28 오후 3-15-12&quot; border=&quot;0&quot; alt=&quot;2011-09-28 오후 3-15-12&quot; src=&quot;http://lh3.ggpht.com/-_M1hPt0NXGk/ToLBGQpbkNI/AAAAAAAAANw/jSqnBijt4UI/2011-09-28%252520%252524%2525C3%252584%2525203-15-12_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;495&quot; height=&quot;453&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 코드를 아래 같이 수정 후 실행 시, 결과는 그 아래 그림과 같다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-TcF7jPx7r1c/ToLBGxV1wnI/AAAAAAAAAN0/vsSF0vdpQCg/s1600-h/2011-09-28%252520%252524%2525C3%252584%2525203-14-50%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;2011-09-28 오후 3-14-50&quot; border=&quot;0&quot; alt=&quot;2011-09-28 오후 3-14-50&quot; src=&quot;http://lh6.ggpht.com/-rtLoetu23Aw/ToLBH3hAHEI/AAAAAAAAAN4/-DCcKkvdkLk/2011-09-28%252520%252524%2525C3%252584%2525203-14-50_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;428&quot; height=&quot;185&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-eqZMv1AdM6w/ToLBI5fp38I/AAAAAAAAAN8/sFMrRLcJjIc/s1600-h/2011-09-28%252520%252524%2525C3%252584%2525203-15-57%25255B5%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;2011-09-28 오후 3-15-57&quot; border=&quot;0&quot; alt=&quot;2011-09-28 오후 3-15-57&quot; src=&quot;http://lh6.ggpht.com/-9Wfvgx28ack/ToLBJjnJN2I/AAAAAAAAAOA/UGrIhH7sfTQ/2011-09-28%252520%252524%2525C3%252584%2525203-15-57_thumb%25255B3%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;517&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;프랙탈과 관련해서 좀 더 알고 싶다면 아래 링크를 참조하거나 혹은 Wolfram Research 사의 Wolfram 아저씨 글이나 책을 찾아보면 좋다.&lt;/p&gt; &lt;p&gt;1. &lt;a href=&quot;http://en.wikipedia.org/wiki/Fractal&quot;&gt;http://en.wikipedia.org/wiki/Fractal&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/6750794814444975282/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/09/fractal.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/6750794814444975282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/6750794814444975282'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/09/fractal.html' title='터틀 모듈로 만드는 Fractal'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-MgX3NHWd8Ww/ToLBFH68aCI/AAAAAAAAANo/g525J9ZCvH8/s72-c/2011-09-28%252520%252524%2525C3%252584%2525203-14-48_thumb%25255B3%25255D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-3587137210587393672</id><published>2011-09-21T16:58:00.001+09:00</published><updated>2011-09-22T11:49:12.235+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="random"/><category scheme="http://www.blogger.com/atom/ns#" term="turtle"/><title type='text'>Hello, little turtles!</title><content type='html'>&lt;p&gt;이 포스트에서 사용한 코드 중 별도 코멘트가 없는 것은 모두 아래 사이트 내 파이썬 코드를 이용 한 것임.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a title=&quot;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html&quot; href=&quot;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html&quot;&gt;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;거북이 한 마리 샀다네.&lt;/p&gt; &lt;p&gt;어항도 준비했다네.&lt;/p&gt; &lt;p&gt;그 이름 alex라 했다네.&lt;/p&gt; &lt;p&gt;alex는 50 units 가더니 좌를 보더군, 그리고 이네 30 units 가더군.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;1967년 Papert 교수와 동료들이 MIT에서 설계한 프로그래밍 언어 Logo 개발 후, 이 언어를 활용해 프로그래밍 언어 습득, 인공지능 연구, 그림, 애니메이션, 음악, 게임, 시뮬레이션 등을 수행 할 수 있는 “컴퓨터 기반 마이크로 월드”로 turtle 이다. turtle은 여러 프로그래밍 언어에 이식되었고, 파이썬도 turtle 모듈을 포함하고 있다.&lt;/p&gt; &lt;p&gt;파이썬에서 터틀을 사용하기 위해선 &lt;/p&gt; &lt;p&gt;1. turtle.py 모듈을 임포트 후&lt;/p&gt; &lt;p&gt;2. turtle이 놀 수 있는 공간 생성&lt;/p&gt; &lt;p&gt;3. turtle 인스턴스 생성&lt;/p&gt; &lt;p&gt;4. 명령 수행(전후좌우 이동 및 회전 등)&lt;/p&gt; &lt;p&gt;5. 2에서 생성한 공간 실행(화면에 나타내기)&lt;/p&gt; &lt;p&gt;과정을 수행한다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-OJ5UGX7dmSw/TnmZIV6x46I/AAAAAAAAAME/Q3uY74_ogsE/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525204-35-29%25255B5%25255D.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Turtle code sample 01&quot; border=&quot;0&quot; alt=&quot;Code sample for using the turtle in a Python&quot; src=&quot;http://lh5.ggpht.com/-OPdyR5Cs49g/TnmZJTduVsI/AAAAAAAAAMI/b2OF89bql8I/2011-09-21%252520%252524%2525C3%252584%2525204-35-29_thumb%25255B3%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;148&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 코드 실행 결과는 아래와 같다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-LhxEzIiFQ-M/TnmZJ2dHylI/AAAAAAAAAMM/zFkOVAOjluw/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525204-39-35%25255B5%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;터틀 코드 실행 결과&quot; border=&quot;0&quot; alt=&quot;터틀 코드 실행 결과&quot; src=&quot;http://lh6.ggpht.com/-tRnzDXbhLtk/TnmZK_jZF7I/AAAAAAAAAMQ/Im2R0ap-1iU/2011-09-21%252520%252524%2525C3%252584%2525204-39-35_thumb%25255B3%25255D.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;221&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 터틀 실행 결과 화면에서 wn으로 명명한 canvas는 turtle이 거주 할 수 있는 공간이며, alex는 turtle의 인스턴스이다. &lt;/p&gt; &lt;p&gt;다음과 같이 canvas와 turtle을 꾸밀 수도 있다. 이용 가능한 색상은 다음 웹 사이트에서 확인 가능하다. (&lt;a href=&quot;http://www.tcl.tk/man/tcl8.4/TkCmd/colors.htm&quot;&gt;http://www.tcl.tk/man/tcl8.4/TkCmd/colors.htm&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-Fbl_UQKdVVY/TnmZLQsFZ1I/AAAAAAAAAMU/Jo6pUzsQsco/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525204-51-32%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 4-51-32&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 4-51-32&quot; src=&quot;http://lh3.ggpht.com/-7LBtA4Zk5NE/TnmZMS48koI/AAAAAAAAAMY/cv8XKx-1_Z0/2011-09-21%252520%252524%2525C3%252584%2525204-51-32_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;210&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;canvas의 인스턴스 wn을 생성 후, 배경 색상과 타이틀(윈도우 실행 시 타이틀 바에 나타낼 내용.)을 하고, turtle 인스턴스인 tess 생성 후 tess의 색상과 크기를 지정 했다. 이 후 tess를 움직이고 나서 canvas를 보이도록 했다. 위 코드 실행 결과는 아래와 같다.&lt;/p&gt; &lt;p&gt;* 주의 : 첫 코드 실행 후, 실행 결과 화면을 닫은 후 위 코드를 수정토록 한다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-fNMlcTwT4tI/Tnml0YWJrcI/AAAAAAAAAMc/jxcd2lpu9JQ/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525204-51-44%25255B2%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 4-51-44&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 4-51-44&quot; src=&quot;http://lh5.ggpht.com/-EoBclpoqpLY/Tnml1QISbiI/AAAAAAAAAMg/PRwj7TXi1MA/2011-09-21%252520%252524%2525C3%252584%2525204-51-44_thumb.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;221&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;canvas에 하나 혹은 그 이상의 turtle 인스턴스를 생성 할 수 있다. 아래 코드는 turtle 클래스의 인스턴스로 tess와 alex를 생성 한 후 각각 움직이도록 했다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-s9SjxP6PJd8/Tnml2ShZTAI/AAAAAAAAAMk/qBNGYX3x8as/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525205-05-40%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 5-05-40&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 5-05-40&quot; src=&quot;http://lh4.ggpht.com/-xRT6oCoWtQM/Tnml4a9lWeI/AAAAAAAAAMo/QZItXUQtW-Y/2011-09-21%252520%252524%2525C3%252584%2525205-05-40_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;422&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;tess는 좌로 120도씩 회전하며 삼각형을, alex는 좌로 90도씩 회전하며 사각형을 그린다. 실행 결과는 아래와 같다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-O9CFy1R1l3I/Tnml5bARc5I/AAAAAAAAAMs/IZHl5AqHq-o/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525205-05-48%25255B2%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 5-05-48&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 5-05-48&quot; src=&quot;http://lh5.ggpht.com/-JByF5zniBh0/Tnml6ajKa6I/AAAAAAAAAMw/g9HXkHzBVzI/2011-09-21%252520%252524%2525C3%252584%2525205-05-48_thumb.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;208&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;첫 코드에 다음과 같이 turtle의 인스턴스에 shape과 speed를 설정 후 실행 해보자. 실행 결과는 아래와 같이 화살표 대신 거북이 모양으로 나오며 움직임도 빠르다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-fXeGAMpxc0k/Tnml7i7V3ZI/AAAAAAAAAM0/m-zCFuUPwug/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525205-15-39%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 5-15-39&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 5-15-39&quot; src=&quot;http://lh4.ggpht.com/-JQsj45vRGv4/Tnml82VXdjI/AAAAAAAAAM4/nIzk0VyBhDU/2011-09-21%252520%252524%2525C3%252584%2525205-15-39_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;196&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/--JI2nB2E2aw/Tnml9-2XDPI/AAAAAAAAAM8/p9RQtR-C0mc/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525205-15-29%25255B2%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 5-15-29&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 5-15-29&quot; src=&quot;http://lh3.ggpht.com/-6s3ocPTLfuc/Tnml_PxteVI/AAAAAAAAANA/iscphY9ezdg/2011-09-21%252520%252524%2525C3%252584%2525205-15-29_thumb.png?imgmax=800&quot; width=&quot;164&quot; height=&quot;117&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;이제까지는 turtle이 움직일 때마다 직선으로 이동 경로가 그어졌는데, penup() 메소드 호출 후 움직이면 이동 경로가 그어지지 않는다. 다시 이동 경로를 그리려면 pendown() 메소드를 호출하면 된다. 또 stamp() 메소드를 호출 하면, turtle이 위치한 곳에 흔적(도장)을 남기게 된다. 아래 코드를 보자.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-m8jp6p1e5pk/Tnml_7UeS1I/AAAAAAAAANE/Rnx6kmhacYE/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525205-24-49%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 5-24-49&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 5-24-49&quot; src=&quot;http://lh3.ggpht.com/-7nb47WTOQX0/TnmmAjF3wWI/AAAAAAAAANI/eGUo0UdrNYc/2011-09-21%252520%252524%2525C3%252584%2525205-24-49_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;272&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;이 코드는 30회 루프(range(30) 함수는 0부터 29까지 정수를 생성한다.) 시행하며 tess.stamp() 메소드 호출로 발 도장을 찍고, 이동 거리를 3 증가 후, 앞으로 이동 거리 만큼 이동 시키고 우측으로 24도 만큼 회전한다. 이 코드 실행 결과는 아래와 같다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-ZrWbu9ajon0/TnmmBVXoSzI/AAAAAAAAANM/mYgfmbUGWNM/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525205-25-00%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 5-25-00&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 5-25-00&quot; src=&quot;http://lh6.ggpht.com/-lGOtjFr-FuA/TnmmCEP0L2I/AAAAAAAAANQ/b7C-i7PO0CM/2011-09-21%252520%252524%2525C3%252584%2525205-25-00_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;514&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 30회 반복 시행 코드를 100회 시행으로 수정 후 random을 적용하여 확률적으로 자국을 남기도록 수정했다. randint(1, 3) 함수를 통해 1, 2, 3 중에 하나가 임의로 생성되고 생성된 수를 2로 나눈 후 몫을 구해 짝수인 경우(즉, 2인 경우)에만 stamp() 메소드를 시행토록 했다. 아래는 수정한 코드와 그 실행한 결과이다. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-rHHBxHmtsXk/TnmmDX_wKRI/AAAAAAAAANU/NIa0NcL-UUM/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525205-39-31%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 5-39-31&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 5-39-31&quot; src=&quot;http://lh3.ggpht.com/-1lAisSzVFW0/TnmmEbOYEjI/AAAAAAAAANY/q__xba4odJg/2011-09-21%252520%252524%2525C3%252584%2525205-39-31_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;330&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-ug4Fbr3h2Yo/TnmmFY7LcEI/AAAAAAAAANc/3ALlGVERuNc/s1600-h/2011-09-21%252520%252524%2525C3%252584%2525205-42-12%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-09-21 오후 5-42-12&quot; border=&quot;0&quot; alt=&quot;2011-09-21 오후 5-42-12&quot; src=&quot;http://lh5.ggpht.com/-vyv5uof24uw/TnmmGdTel-I/AAAAAAAAANg/M8zQgldJNKk/2011-09-21%252520%252524%2525C3%252584%2525205-42-12_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;484&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 코드와 같이 몇 가지 규칙(stamp를 찍을 지 여부를 확률적으로 판별하거나, 혹은 이동 경로를 설정하는 함수를 만들거나 - sine 파를 따라 움직이는 alex라던지)을 적용하고 turtle의 움직임을 통해 손쉽게 데이터 시각화를 수행할 수 있다. 물론 교육학적으로 봤을 때도, console에 열심히 Hello World를 출력하는 것보다 흥미 유발에 있어 더욱 효과적이지만.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;다음 웹 사이트를 읽고, 또 다음 키워드에 대해 조사하면 재미있는 것을 많이 얻을 수 있다.&lt;/p&gt; &lt;p&gt;&lt;a title=&quot;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html&quot; href=&quot;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html&quot;&gt;http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;키워드: Scratch, Logo, Scheme, Fractal, Genetic Algorithm, Game theory…&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/3587137210587393672/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/09/hello-little-turtles.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/3587137210587393672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/3587137210587393672'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/09/hello-little-turtles.html' title='Hello, little turtles!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-OPdyR5Cs49g/TnmZJTduVsI/AAAAAAAAAMI/b2OF89bql8I/s72-c/2011-09-21%252520%252524%2525C3%252584%2525204-35-29_thumb%25255B3%25255D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-5766085964953707064</id><published>2011-06-07T13:41:00.001+09:00</published><updated>2011-06-07T13:43:54.617+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="random"/><category scheme="http://www.blogger.com/atom/ns#" term="Shuffling"/><title type='text'>중복하지 않는 난수 발생 기법 Part 3-Shuffling</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/06/part-2-random-in-c-and-python.html&quot; target=&quot;_blank&quot;&gt;이전 포스팅&lt;/a&gt;에선 C#과 파이썬에서 random 클래스 사용과 고려해야 할 점에 대해 살펴봤다. 이번에는 셔플링(shuffling; 카드섞기) 기법에 대해 다루도록 한다.&lt;/p&gt; &lt;p&gt;Contents&lt;br&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/05/part-1array-in-c-and-list-in-python.html&quot; target=&quot;_blank&quot;&gt;1. Array in C# and List in Python&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/06/part-2-random-in-c-and-python.html&quot; target=&quot;_blank&quot;&gt;2. random in C# and Python&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/06/part-3-shuffling.html&quot; target=&quot;_blank&quot;&gt;3. Shuffling&lt;/a&gt;&lt;br&gt;4. Shuffling in Python&lt;br&gt;5. Lottery&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;3. Shuffling&lt;/h2&gt; &lt;p&gt;셔플링 혹은 카드섞기 기법은 다음과 같은 절차를 거친다.&lt;/p&gt; &lt;p&gt;1) 뽑기 원하는 항목으로 채운 배열 혹은 리스트를 준비한다.&lt;/p&gt; &lt;p&gt;2) 배열 또는 리스트 인덱스 범위에 드는 두 난수를 얻는다.&lt;/p&gt; &lt;p&gt;3) 두 인덱스에 해당하는 요소를 교환한다.&lt;/p&gt; &lt;p&gt;4) 위 2), 3) 과정을 지정된 회수만큼 반복한다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;위 과정을 그림으로 설명하겠다. 1에서 6까지 6장의 카드가 있고, 흰색과 검은색 주사위가 아래 그림과 같이 있다고 하자. 흰색과 검은색 두 주사위를 각각 굴려 나온 숫자 위치에 있는 카드를 서로 교환한다. (물론 두 주사위를 굴리는 것은 독립실행이다.)&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-ztnTbmEn7_8/Te2r0rcOQwI/AAAAAAAAAKs/EDKiS-2OwI4/s1600-h/2011-06-05--3-28-103.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-05 오전 3-28-10&quot; border=&quot;0&quot; alt=&quot;2011-06-05 오전 3-28-10&quot; src=&quot;http://lh3.ggpht.com/-ZMTii8pJ7TU/Te2r1u3fpdI/AAAAAAAAAKw/shI_ZJMSl7c/2011-06-05--3-28-10_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;348&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;두 주사위를 굴렸더니 각각 3과 1이 나왔다. 그래서 첫 번째 위치에 있는 카드와 세 번째 위치에 있는 카드를 뽑아 자리를 교체했다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-fLP_i_jrrRY/Te2r2LD5FCI/AAAAAAAAAK0/HaKiCKCUAIY/s1600-h/2011-06-05--3-34-503.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-05 오전 3-34-50&quot; border=&quot;0&quot; alt=&quot;2011-06-05 오전 3-34-50&quot; src=&quot;http://lh6.ggpht.com/-MOnrs55-XYc/Te2r3NbAnHI/AAAAAAAAAK4/k9KPg9wNwBc/2011-06-05--3-34-50_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;382&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;다시 두 주사위를 굴렸더니 이번에는 각각 4와 2가 나왔다. 앞에서 시행한 바와 같이 두 카드 자리를 교체했다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/--_-Hu28X2Ys/Te2r3juDkEI/AAAAAAAAAK8/rEbWI8O097s/s1600-h/2011-06-05--3-35-013.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-05 오전 3-35-01&quot; border=&quot;0&quot; alt=&quot;2011-06-05 오전 3-35-01&quot; src=&quot;http://lh5.ggpht.com/-oNuMIjl_xd4/Te2r4xJEIXI/AAAAAAAAALA/Tm7PLlbdgCY/2011-06-05--3-35-01_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;386&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;마지막으로 두 주사위를 굴렸더니 이번에는 두 주사위 모두 1이 나왔다. 첫 번째 카드를 뽑았다 다시 넣었다. (혹은 첫 번째 자리에 카드를 첫 번째 카드 자리와 교체 했다.)&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-jm1BGGYHexE/Te2r5eNY8mI/AAAAAAAAALE/5jW6iqFZn0c/s1600-h/2011-06-05--3-35-123.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-05 오전 3-35-12&quot; border=&quot;0&quot; alt=&quot;2011-06-05 오전 3-35-12&quot; src=&quot;http://lh6.ggpht.com/-tORps-4SVaE/Te2r6B58T_I/AAAAAAAAALI/15kIBYDKFxo/2011-06-05--3-35-12_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;462&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 과정을 시행 후 3장의 카드를 맨 위에서 차례로 꺼내면, 원래 1, 2, 3이었던 카드가 3, 4, 1 (혹은 정렬을 시행하면 1, 3, 4) 가 된다. 이를 카드 섞기 기법이라 한다.&lt;/p&gt; &lt;p&gt;C# 코드로 이를 작성하자면 우선 1부터 45까지 든 배열과 난수 발생을 위한 Random 클래스의 인스턴스가 필요로 하다.&lt;/p&gt; &lt;p&gt;아래 그림과 같이 private scope을 가지도록 int 형 배열과 Random 클래스 인스턴스를 선언했다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-8arYM8tE3H4/Te2r63bvDdI/AAAAAAAAALM/s3eE0J9krOw/s1600-h/Image.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-07 오전 11-25-03&quot; border=&quot;0&quot; alt=&quot;2011-06-07 오전 11-25-03&quot; src=&quot;http://lh5.ggpht.com/-ov3KGm580zs/Te2r7WP6aQI/AAAAAAAAALQ/32MBaVDqrFs/Image.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;178&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;난수 발생 메소드는 배열 인덱스에 맞춰, 0에서 44 범위에서 int 형 난수 하나를 얻도록 했고(Random 클래스의 Next(min, max) 메소드로 얻는 난수 N은 min ≤ N &amp;lt; max 범위를 가지는 임의의 정수이다.) 배열 요소간 교환(swap) 메소드는 다음과 같이 작성했다. (이 포스팅에서 작성한 C# 코드는 Console App. 이므로 private scope 변수 및 메소드를 static으로 선언했다.)&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-_lDBDTzs_nk/Te2r8F6oexI/AAAAAAAAALU/L7s8okgwltA/s1600-h/Image.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-07 오전 11-25-21&quot; border=&quot;0&quot; alt=&quot;2011-06-07 오전 11-25-21&quot; src=&quot;http://lh3.ggpht.com/-vPH0O24PS0g/Te2r83u6T_I/AAAAAAAAALY/va-BdgAsSkU/Image.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;266&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;이후 프로그램 시작 지점 void Main(string[] args)에서 루프를 시행 후 인덱스 0에서 5까지 6개 숫자를 추출하면 된다. 여기서는 보너스 번호가 6번째 숫자임을 감안하고 첫 5개 숫자를 정렬해 결과를 보여주도록 했다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-whIY6YBLZh0/Te2r9jT92HI/AAAAAAAAALc/uZcwBTzF2Fg/s1600-h/Image.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-07 오전 11-40-10&quot; border=&quot;0&quot; alt=&quot;2011-06-07 오전 11-40-10&quot; src=&quot;http://lh5.ggpht.com/-wWmvajvIVu4/Te2r-YHmM9I/AAAAAAAAALg/EuPRqWUl8qs/Image.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;270&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;실행 결과는 다음과 같다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-tJrYFMQAKPA/Te2r-6kSBII/AAAAAAAAALk/q4_chEOZajE/s1600-h/Image.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-07 오전 11-41-20&quot; border=&quot;0&quot; alt=&quot;2011-06-07 오전 11-41-20&quot; src=&quot;http://lh4.ggpht.com/-qIzVegd6hbg/Te2r_ujMQmI/AAAAAAAAALo/YNV6aZiDlYk/Image.png?imgmax=800&quot; width=&quot;419&quot; height=&quot;148&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;파이썬에서는 random 클래스에서 제공하는 메소드만으로 위와 같은 카드 섞기 기법을 이용할 수 있지만 이 포스팅에선 우선 위 C# 코드와 같은 방식으로 코드를 작성하겠다.&lt;/p&gt; &lt;p&gt;random 클래스를 불러오고, 1부터 45까지 연속된 정수를 포함한 리스트를 하나 생성 했다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-HzMQZw_Ymio/Te2sAFfFAQI/AAAAAAAAALs/FkPGD68K7BA/s1600-h/2011-06-07%25252013-10-00%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-07 13-10-00&quot; border=&quot;0&quot; alt=&quot;2011-06-07 13-10-00&quot; src=&quot;http://lh4.ggpht.com/-GQLJbQO22UQ/Te2sA6qr1QI/AAAAAAAAALw/Ck7b8P0mDQo/2011-06-07%25252013-10-00_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;80&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;난수 발생 메소드(rollDice)와 배열 요소 교환 메소드(swapDeck)은 아래와 같이 작성했다. 파이썬의 경우 기존 프로그래밍 언어와 달리 메소드 결과를 1개 이상 복수로 리턴 할 수 있다. rollDice() 메소드에서 return 구문 다음에 두 개 리턴 값을 돌려주며 이를 받기 위해선 a, b = rollDice() 형태로 받아주면 된다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-pOne4vTzIec/Te2sBujVYMI/AAAAAAAAAL0/t1M1m84PeaI/s1600-h/2011-06-07%25252013-11-00%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-07 13-11-00&quot; border=&quot;0&quot; alt=&quot;2011-06-07 13-11-00&quot; src=&quot;http://lh5.ggpht.com/-po8TKBFNQ8k/Te2sCa52IiI/AAAAAAAAAL4/Z4-m3ETYV2I/2011-06-07%25252013-11-00_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;128&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;100회 루프를 시행 후 얻은 결과를 얻는 코드를 아래에 나타내었다. 파이썬의 리스트에서 list[:6] 으로 콜론 후 숫자는 리턴 할 인자 개수를 의미한다. 예를 들어 인덱스 1에서 시작해서 10개 값을 얻고자 하면 list[1:10] 이라하면 인덱스 1부터 10까지 10개 값을 리턴한다. &lt;/p&gt; &lt;p&gt;아래 코드에서 result = lottoDeck[:5]는 lottoDeck 리스트의 인덱스 0부터 시작하는 5개 요소 값을 result에 할당 하란 뜻이다. 이를 list.sort() 메소드를 통해 소팅 후 result 리스트와 lottoDeck[5] 값을 쉘에서 나타내도록 했다.(파이썬 쉘에서는 변수 명을 기입하면 값이 표시된다.)&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-9MzLjvvuUaU/Te2sC8aPbnI/AAAAAAAAAL8/WpMJggeAT9k/s1600-h/2011-06-07%25252013-11-30%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-07 13-11-30&quot; border=&quot;0&quot; alt=&quot;2011-06-07 13-11-30&quot; src=&quot;http://lh6.ggpht.com/-EIG1Y7wjz4E/Te2sD6dd6rI/AAAAAAAAAMA/dCIq_qggn34/2011-06-07%25252013-11-30_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;150&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;혹은 result.append(lottoDeck[5]) 를 해서 result 리스트에 lottoDeck[5] 값을 추가 할 수도 있다.&lt;/p&gt; &lt;p&gt;다음 포스트에선 카드 섞기 기법을 파이썬 random 클래스가 제공하는 메소드로 더 쉽게 접근토록 한다.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/5766085964953707064/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/06/part-3-shuffling.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/5766085964953707064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/5766085964953707064'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/06/part-3-shuffling.html' title='중복하지 않는 난수 발생 기법 Part 3-Shuffling'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-ZMTii8pJ7TU/Te2r1u3fpdI/AAAAAAAAAKw/shI_ZJMSl7c/s72-c/2011-06-05--3-28-10_thumb1.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-6373269811010299698</id><published>2011-06-02T03:23:00.001+09:00</published><updated>2011-06-07T13:43:26.062+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="random"/><title type='text'>중복하지 않는 난수 발생 기법 Part 2-random in C# and Python</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/05/part-1array-in-c-and-list-in-python.html&quot; target=&quot;_blank&quot;&gt;이전 포스팅&lt;/a&gt;에선 C#과 Python에서 데이터 그룹을 이용하기 위해 배열(Array)와 리스트(List)를 사용하는 방법에 대해 살펴봤다. 이번 포스팅에선 난수 발생을 위한 random 사용과 고려해야 할 점을 다루도록 한다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Contents&lt;br&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/05/part-1array-in-c-and-list-in-python.html&quot; target=&quot;_blank&quot;&gt;1. Array in C# and List in Python&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/06/part-2-random-in-c-and-python.html&quot; target=&quot;_blank&quot;&gt;2. random in C# and Python&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/06/part-3-shuffling.html&quot; target=&quot;_blank&quot;&gt;3. Shuffling&lt;/a&gt;&lt;br&gt;4. Shuffling in Python&lt;br&gt;5. Lottery&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;2. random in C# and Python&lt;/h2&gt; &lt;p&gt;C#은 난수 발생기로 Random 클래스를 제공한다. 네임스페이스 System에 속한 클래스이므로 별도의 네임스페이스 선언을 하지 않아도 된다.&lt;/p&gt; &lt;p&gt;2005년 10월 19일자에 네이버 블로그에 포스팅했던 &lt;a href=&quot;http://blog.naver.com/ezmis/120018754557&quot; target=&quot;_blank&quot;&gt;C#에서의 Shuffling 기법&lt;/a&gt;에서 Random 클래스 사용시 발생한 문제와 그 해결을 자세히 다루었기 때문에 결론만 말하자면 “프로그램 내에서 Random 클래스의 인스턴스는 단 한번만 생성하고 이를 계속 사용토록 하라”는 것이다.&lt;/p&gt; &lt;p&gt;0부터 100사이 난수를 발생하는 코드 작성을 아래 두 가지 방법으로 비교해보자.&lt;/p&gt; &lt;p&gt;Case 1 : 메소드 호출을 통한 경우 – 인스턴스 반복 생성&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-IDIDesidpmQ/TeaDdIDcSqI/AAAAAAAAAI8/XNx_q1CmVT0/s1600-h/2011-06-01-16-54-127.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 16-54-12&quot; border=&quot;0&quot; alt=&quot;2011-06-01 16-54-12&quot; src=&quot;http://lh6.ggpht.com/-iYJuTBh-o2c/TeaDd3SAIcI/AAAAAAAAAJA/EDXCSYxYsS4/2011-06-01-16-54-12_thumb3.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;258&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 코드에선 randomPick() 메소드 호출 시마다 Random 클래스의 새로운 인스턴스가 생성된다.&lt;/p&gt; &lt;p&gt;코드 실행 결과를 보면 다음과 유사하게 된다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-7JIwobySyfw/TeaDefWF47I/AAAAAAAAAJE/oJn77EW4NMg/s1600-h/2011-06-01-16-54-143.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 16-54-14&quot; border=&quot;0&quot; alt=&quot;2011-06-01 16-54-14&quot; src=&quot;http://lh6.ggpht.com/-s4FOb-Ev6h4/TeaDfbJGS0I/AAAAAAAAAJI/IAqfTqGBkvs/2011-06-01-16-54-14_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;106&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Case 2 : 인스턴스를 한번 생성 후 반복 호출을 통한 경우&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-esfiDkAQ-SM/TeaDf2f43tI/AAAAAAAAAJM/VjiJA7M3HBI/s1600-h/2011-06-01-17-07-433.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 17-07-43&quot; border=&quot;0&quot; alt=&quot;2011-06-01 17-07-43&quot; src=&quot;http://lh3.ggpht.com/-cj9fkEm_Kd0/TeaDgmk2wxI/AAAAAAAAAJQ/Jz2rX0zq5ZQ/2011-06-01-17-07-43_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;226&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 코드는 Random 클래스 인스턴스를 한번 생성 후 해당 인스턴스를 통해 난수를 반복해서 얻는다.&lt;/p&gt; &lt;p&gt;코드 실행 결과를 보면 다음과 유사하게 된다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-XOLip3grvs8/TeaDhKhCzmI/AAAAAAAAAJU/z9EKCumwwLo/s1600-h/2011-06-01-17-07-503.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 17-07-50&quot; border=&quot;0&quot; alt=&quot;2011-06-01 17-07-50&quot; src=&quot;http://lh3.ggpht.com/-avlNLlOsp6E/TeaDhmO6PxI/AAAAAAAAAJY/UMquNZkDTXI/2011-06-01-17-07-50_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;100&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;두 실행 결과간 차이를 알아보기 힘들다면 아래와 같은 코드와 그 실행 결과를 살펴보자. 아래 코드는 두 방법으로 각각 생성한 난수를 제너릭(generic) 리스트 클래스의 인스턴스에 넣은 후 생성된 난수의 개수를 구하여 콘솔에 출력하는 것이다. 생성된 난수 개수를 구하는 것은 Linq를 이용하였다. private 영역에서 생성한 Random 클래스의 인스턴스(rand1)의 경우는 seed를 제외했는데 seed를 주더라도 유사한 결과를 얻게 된다. 매번 새롭게 인스턴스가 생성되는 rand2 경우 seed를 제외하면 매우 나쁜 결과를 얻게 된다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-EtlXHVqjAYY/TeaDiA0qDjI/AAAAAAAAAJc/YJLZTxzgyuU/s1600-h/2011-06-01--5-18-203.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 오후 5-18-20&quot; border=&quot;0&quot; alt=&quot;2011-06-01 오후 5-18-20&quot; src=&quot;http://lh6.ggpht.com/-6iKUDRx8gMQ/TeaDjGX_ngI/AAAAAAAAAJg/Z4nomo-tA30/2011-06-01--5-18-20_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;514&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 코드를 실행하면, 생성된 난수 목록을 세미콜론(;)으로 구분하여 보여준 후, 난수 개수를 내림차순으로 보여준다. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-jb2Y6VKB7Jk/TeaDjnFoYTI/AAAAAAAAAJk/eu49ItJlF-I/s1600-h/2011-06-01--5-20-453.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 오후 5-20-45&quot; border=&quot;0&quot; alt=&quot;2011-06-01 오후 5-20-45&quot; src=&quot;http://lh6.ggpht.com/-yYP7AS73GLw/TeaDkhwFlwI/AAAAAAAAAJo/CC3llILqLA8/2011-06-01--5-20-45_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;1101&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;이런 현상이 발생하는 원인은 명확하다. 메소드 호출로 Random 클래스 인스턴스 생성 시 할당하는 seed가 나쁘기 때문이다. Random 클래스를 이용 시, 많은 이들이 seed로 ticks를 습관적으로 사용하는데, patch time이 짧은 상태에서 사용하는 것 자체가 문제를 일으킨다. 아래 코드로 이를 확인해보자.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-jgdRrgplcM4/TeaDlB94tYI/AAAAAAAAAJs/V9uoMPP28UE/s1600-h/2011-06-01--5-39-413.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 오후 5-39-41&quot; border=&quot;0&quot; alt=&quot;2011-06-01 오후 5-39-41&quot; src=&quot;http://lh4.ggpht.com/-MHiuxRgp48E/TeaDl7OunyI/AAAAAAAAAJw/QKQQnG3Tc5k/2011-06-01--5-39-41_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;166&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;위 코드는 10회 동안 ticks를 호출하여, 원래 리턴 타입인 long 타입 값과 이를 int 타입으로 변환(casting) 한 값을 콘솔로 출력하는 것이다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-4EVLNm5kJWA/TeaDmHXbvAI/AAAAAAAAAJ0/2nPH7Dp0-sU/s1600-h/2011-06-01--5-40-013.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 오후 5-40-01&quot; border=&quot;0&quot; alt=&quot;2011-06-01 오후 5-40-01&quot; src=&quot;http://lh5.ggpht.com/-PvPaS838sxM/TeaDm0ejQuI/AAAAAAAAAJ4/y7HrmOBn9_c/2011-06-01--5-40-01_thumb1.png?imgmax=800&quot; width=&quot;362&quot; height=&quot;248&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;즉 메소드 호출 patch 타임이 ticks 값 변화를 선행하기 때문에 발생하는 문제라 할 수 있다. 이를 해결 하는 방법으로 다음과 같이 코드를 수정 할 수 있다. 다만 이렇게 인스턴스를 반복해서 생성하는 것 보다는 인스턴스를 한번 생성 후 난수를 반복해서 생성하는 것이 여러모로 좋다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-GCeFC5neCfo/TeaDnSs-NwI/AAAAAAAAAJ8/QghLPpmKA_o/s1600-h/2011-06-01--5-48-313.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 오후 5-48-31&quot; border=&quot;0&quot; alt=&quot;2011-06-01 오후 5-48-31&quot; src=&quot;http://lh3.ggpht.com/-bebWRCW1G4k/TeaDn_kVt_I/AAAAAAAAAKA/pDGUmW5D5ds/2011-06-01--5-48-31_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;228&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;C#의 Random 클래스에서 Next() 메소드는 int 타입의 정수를 리턴 한다. Next() 메소드는 Next(), Next(int maxValue), Next(int minValue, int maxValue) 3개 메소드가 오버로딩 되어 있으며, 주의 할 점은 minValue는 포함이나, maxValue는 제외, 즉 Next(n) 일 경우엔 0 ≤ x &amp;lt; n 이고, Next(m, n) 일 경우엔 m ≤ x &amp;lt; n 의 결과를 얻는다. 0과 0.1 사이 double 타입 실수 값을 얻고자 한다면 NextDouble() 메소드를 사용한다.&lt;/p&gt; &lt;p&gt;파이썬에서 random을 이용하기 위해선 random 모듈 불러오기(import)를 먼저 해야 한다. 난수 발생 함수는 C#에서와 마찬가지로 정수형 데이터나 실수형 데이터를 되돌려 주는데 그 종류는 C#에 비해 매우 다양하다. 예를 들어, 정규분포에서 난수 값을 돌려주는 random.normalvariate(mu, sigma)나 가우스 분포에서 되돌려주는 random.gauss(mu, sigma) 지수 분포나 베타 분포 등도 구비되어 있다. 여기서는 기본 함수 중 0과 1 사이 실수 형 난수를 되돌려주는 random.random(), 지정된 값 사이(최대 값 포함) random.uniform(a, b), 연속하는 정수 범위 중 난수를 되돌려주는(최대 값 포함하는) random.randint(a, b)과 일정한 증가 값을 가지는 정수 범위 중 난수를 되돌려주는(최대 값 제외) random.randrange([start], stop, [, step])만 살펴보겠다. 참고로 파이썬 또한 random 모듈 호출 시 seed 값을 주지 않으면 시스템 시간을 seed로 이용한다.&lt;/p&gt; &lt;p&gt;아래 코드는 random.random() 함수를 이용해 50회 반복 시행한 것이다. print() 문의 종료는 기본 값인 줄 바꿈 대신 세미 콜론(;)으로 대신하였다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-060nLH2pXlw/TeaDoR5PfqI/AAAAAAAAAKE/j_c0wwsiuvM/s1600-h/python01%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;python01&quot; border=&quot;0&quot; alt=&quot;python01&quot; src=&quot;http://lh4.ggpht.com/-bPt9M-G_lFw/TeaDpJgZQQI/AAAAAAAAAKI/_P5WctJJ2QA/python01_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;270&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;발생 한 난수 개수를 얻기 위해 itertool 모듈을 함께 불러와서 리스트 클래스의 빈 인스턴스를 하나 생성 후 리스트에 50개 난수를 넣고 그 개수를 계산했다. 첫 번째 개수 구하는 코드는 [생성된 값, 개수] 리스트로 생성했고, 두 번째 코드는 개수만 다시 리턴토록 했다. itertools.groupby(sorted(li))로 인해 발생 한 난수는 내림차순으로 정렬 된 상태로 출력된다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-jLHxWrCSvB8/TeaDqO9uSmI/AAAAAAAAAKM/PdHXXNwPVzY/s1600-h/python02%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;python02&quot; border=&quot;0&quot; alt=&quot;python02&quot; src=&quot;http://lh5.ggpht.com/-NMocYrx_zfU/TeaDq4Kr6rI/AAAAAAAAAKQ/3ZwC6ECMePE/python02_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;346&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;다음 코드는 지정된 정수 범위 내 실수형 난수를 발생하는 random.uniform(a, b)로 주의 할 점은 발생하는 실수형 난수 N은 a ≤ N ≤ b 라는 점이다. 단, &lt;a href=&quot;http://docs.python.org/library/random.html&quot; target=&quot;_blank&quot;&gt;python documentation(v2.7.1 기준)&lt;/a&gt;에 따르면 b 값은 생성 될 수도 있고 아닐 수도 있는데 이는 a + (b – a) * random() 계산 후 소수부의 정수화(rounding) 결과에 따라 달라진다는 점을 주의해야 한다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/-x6hVwwIWBU8/TeaDrpaYJ5I/AAAAAAAAAKU/SLNgn0etm50/s1600-h/python03%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;python03&quot; border=&quot;0&quot; alt=&quot;python03&quot; src=&quot;http://lh4.ggpht.com/-rtPNaxbIQ7M/TeaDsVEwU5I/AAAAAAAAAKY/h-L18YKWgi8/python03_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;336&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;지정된 범위 내 정수형 난수를 생성하는 random.randint(a, b)의 경우도 정수형 난수 N은 a ≤ N ≤ b 사이에서 발생한다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-U1XyJOMDokA/TeaDs95sx4I/AAAAAAAAAKc/_VXyMpLF87c/s1600-h/python04%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;python04&quot; border=&quot;0&quot; alt=&quot;python04&quot; src=&quot;http://lh4.ggpht.com/-9nF7FxpZy-I/TeaDth03b9I/AAAAAAAAAKg/Pj-pfyeZXeQ/python04_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;160&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;마지막으로 random.randrange([start], stop [, step])으로 발생하는 정수형 난수 N은 stop 에 지정한 값보다 작다. start 생략 시엔 0으로 고정된다. 또한 아래 코드에 생성된 난수 목록에 보이다 싶이, start와 stop 사이 연속하는 값이 아닌 stop 보다 작은 step 배수 값 중에 난수가 발생한다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-jy1WMAbQ1KM/TeaDuOW4IjI/AAAAAAAAAKk/6bPDfdg-4PI/s1600-h/python05%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;python05&quot; border=&quot;0&quot; alt=&quot;python05&quot; src=&quot;http://lh3.ggpht.com/-4DaCAIIfDE4/TeaDu8XFv-I/AAAAAAAAAKo/Mu0oE7Y0uxc/python05_thumb%25255B1%25255D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;158&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;이번 포스트에선 C#과 python에서 random을 통해 난수 생성에 대해 살펴봤다. 다음 포스트에선 카드 섞기 혹은 셔플링(shuffling)이라 불리는 기법을 다루도록 한다.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/6373269811010299698/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/06/part-2-random-in-c-and-python.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/6373269811010299698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/6373269811010299698'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/06/part-2-random-in-c-and-python.html' title='중복하지 않는 난수 발생 기법 Part 2-random in C# and Python'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-iYJuTBh-o2c/TeaDd3SAIcI/AAAAAAAAAJA/EDXCSYxYsS4/s72-c/2011-06-01-16-54-12_thumb3.png?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-6363424707136040901</id><published>2011-06-01T15:38:00.001+09:00</published><updated>2011-06-07T13:42:56.960+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Array"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="List"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>중복하지 않는 난수 발생 기법 Part 1–Array in C# and List in Python</title><content type='html'>&lt;p&gt;네이버 등을 검색해보면 로또 번호 생성기 소스가 많이 돌아다닌다. 랜덤을 이용해 번호 6개를 생성하는데 너나 할 것 없이 난수 발생 후 앞서 추출한 난수 목록에서 중복하는지 여부를 살펴보고 있으면 무시하고 없으면 추가하는 형태로 프로그램을 작성한다.&lt;/p&gt; &lt;p&gt;이를 보고 있으면 마치, “1부터 n까지 연속하는 자연수의 합을 구하라” 혹은 “m부터 n까지 연속하는 자연수의 합을 구하라”라고 물으면 어김없이 for (int i = 1; i &amp;lt; n + 1; i++) { result += i; } 라는 식으로 프로그램을 작성하는 것과 같은 난감함을 느낀다. 또는 DB 시퀄 쿼리 작성 시, 레코드 마다 어떤 작업을 처리해야 할 때 아무 생각 없이 cursor를 휘갈겨 쓰는 것과도 같다. (&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/05/sql-query.html&quot;&gt;http://oscarsjpark.blogspot.com/2011/05/sql-query.html&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;앞으로 총 5개 포스트를 통해 C#과 Python으로 로또 번호 추출 프로그램을 다룰 것이다. 이와 같은 중복하지 않는 난수 발생 기법은 보드 게임(화투, 포커 등) 또는 통계 처리를 위한 표본 선정 등에 동일하게 적용 할 수 있다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Contents&lt;br&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/05/part-1array-in-c-and-list-in-python.html&quot; target=&quot;_blank&quot;&gt;1. Array in C# and List in Python&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/06/part-2-random-in-c-and-python.html&quot; target=&quot;_blank&quot;&gt;2. random in C# and Python&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://oscarsjpark.blogspot.com/2011/06/part-3-shuffling.html&quot; target=&quot;_blank&quot;&gt;3. Shuffling&lt;/a&gt;&lt;br&gt;4. Shuffling in Python&lt;br&gt;5. Lottery&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;1. Array in C# and List&lt;/h2&gt; &lt;p&gt;C#에서 배열 선언은 기존 C계열 언어에서와 그 용법은 동일하거나 유사하다. 로또의 경우 1부터 45까지 연속된 자연수 모음이므로 다음과 같이 선언할 수 있다.&lt;/p&gt; &lt;p&gt;// C#&lt;/p&gt; &lt;p&gt;static int[] lottoDeck = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40, 41, 42, 43, 44, 45};&lt;/p&gt; &lt;p&gt;static 키워드로 할당 했을 때와 하지 않았을 때 차이를 메모리 내 heap과 stack을 언급하며 설명 하는 것은 너무 멀리 나가니 이에 대해 궁금하다면 &lt;a href=&quot;http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&amp;amp;mallGb=KOR&amp;amp;barcode=9788979144635&amp;amp;orderClick=LAG&quot; target=&quot;_blank&quot;&gt;Effective C#&lt;/a&gt; 등과 같은 서적을 참고하면 된다.&lt;/p&gt; &lt;p&gt;파이썬 기본 데이터 타입은 Number, String 그리고 List만 제공한다. (물론 List를 prototype으로 삼아 Hash를 제공하고 있다. 또 indexing 되지 않는 set도 제공한다.) 파이썬의 List 용법은 LISP에서와 같으며, C# 또는 자바에선 ArrayList, List&amp;lt;&amp;gt; (generic) 등과 같다.&lt;/p&gt; &lt;p&gt;# Python&lt;/p&gt; &lt;p&gt;lottoDeck = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40, 41, 42, 43, 44, 45]&lt;/p&gt; &lt;p&gt;Python에는 range 함수가 있어 아래와 같은 코드도 가능하다.&lt;/p&gt; &lt;p&gt;# Python&lt;/p&gt; &lt;p&gt;lottoDeck = range(1, 46)&lt;/p&gt; &lt;p&gt;IDLE 인터프리터에서 range를 이용한 것을 아래 그림에서 볼 수 있다. 단 range(min, max) 함수 호출 시, min 파라메터는 포함관계이고, max 파라메터는 제외관계이다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-ryY8mxIowbE/TeXeYmtUblI/AAAAAAAAAIk/UAwX5xB-gWg/s1600-h/2011-05-31--3-57-544.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-05-31 오후 3-57-54&quot; border=&quot;0&quot; alt=&quot;2011-05-31 오후 3-57-54&quot; src=&quot;http://lh3.ggpht.com/-JUzmo4IoDMg/TeXeaM3BA6I/AAAAAAAAAIo/EAQbmbAM06s/2011-05-31--3-57-54_thumb2.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;266&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;흥미로운 것은 실제 모든 값을 나열하여 리스트를 생성한 것과 range로 만들었을 때 아래 그림과 같이 차이가 나는데 이는 python이 생성한 list 객체가 실제 데이터를 가질 수도 있지만 생성 규칙(production rule)을 가질 수도 있기 때문이다. 이는 근래 각광받는 언어학자인 &lt;a href=&quot;http://en.wikipedia.org/wiki/Steve_Pinker&quot; target=&quot;_blank&quot;&gt;Steve Pinker&lt;/a&gt;가 그의 저서 &lt;a href=&quot;http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&amp;amp;mallGb=KOR&amp;amp;barcode=9788983719591&amp;amp;orderClick=LAG&quot; target=&quot;_blank&quot;&gt;단어와 규칙&lt;/a&gt;에서 밝힌 바와 같이 인간의 마음 사전과 동일하다. 즉 영어에서 boy 가 boys 가 되고, work 가 worked 가 되는 것과 같은 규칙에 의해 변하는 단어는 암기 하지 않는다. 하지만 child 가 children 으로, calclus 가 calculi 로, run 이 ran 과 같이 불규칙하게 변하는 단어만 마음 사전에 담아두면 된다. (불규칙 단어는 약 120 ~ 170 여 개가 된다고 한다. 사실 이들 불규칙 단어도 핑커의 연구 결과에 따르면 음성학적인 규칙을 따르지만…)&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/-9i3sd3byD6o/TeXea-2yMFI/AAAAAAAAAIs/6SlxtTe28TA/s1600-h/2011-05-31--4-05-163.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-05-31 오후 4-05-16&quot; border=&quot;0&quot; alt=&quot;2011-05-31 오후 4-05-16&quot; src=&quot;http://lh4.ggpht.com/-YsoPjf_IPa0/TeXecNPeppI/AAAAAAAAAIw/UuMU-osmqJA/2011-05-31--4-05-16_thumb1.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;138&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;값 할당으로 만든 리스트와 달리 생성 규칙에 의해 만들어진 리스트는 값 요청 시에 해당 값을 되돌려 주게 되므로 리스트 내 요소(element) 값을 변경 할 수 없다. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-h9pKVK6fUs4/TeXec9YLK-I/AAAAAAAAAI0/Fj6Yx1sSHgQ/s1600-h/Image.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;2011-06-01 오전 4-36-03&quot; border=&quot;0&quot; alt=&quot;2011-06-01 오전 4-36-03&quot; src=&quot;http://lh3.ggpht.com/-RDMQAyiq7fk/TeXedi1fd8I/AAAAAAAAAI4/IliYna3Xklc/Image.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;208&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Python에서 리스트 내 요소간 교환(swap)을 하고자 한다면 값 할당을 통해 리스트를 생성해야만 한다.&lt;/p&gt; &lt;p&gt;다음 포스트에선 난수 생성을 위한 random을 활용하는 방법에 대해 살펴보도록 한다.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/6363424707136040901/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/05/part-1array-in-c-and-list-in-python.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/6363424707136040901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/6363424707136040901'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/05/part-1array-in-c-and-list-in-python.html' title='중복하지 않는 난수 발생 기법 Part 1–Array in C# and List in Python'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-JUzmo4IoDMg/TeXeaM3BA6I/AAAAAAAAAIo/EAQbmbAM06s/s72-c/2011-05-31--3-57-54_thumb2.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-772131969506949244</id><published>2011-05-31T13:48:00.001+09:00</published><updated>2011-05-31T13:56:23.589+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cursor"/><category scheme="http://www.blogger.com/atom/ns#" term="Database"/><category scheme="http://www.blogger.com/atom/ns#" term="MS SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Query"/><title type='text'>SQL Query–커서 대체하기</title><content type='html'>&lt;p&gt;본 글은 2006년 12월 12일 본인의 네이버 블로그 (&lt;a href=&quot;http://blog.naver.com/ezmis&quot;&gt;http://blog.naver.com/ezmis&lt;/a&gt;)에 포스팅 한 글을 본 블로그로 가져와 일부 수정한 것임을 밝힌다. 원문 주소는 다음과 같다.&lt;/p&gt; &lt;p&gt;&lt;a title=&quot;http://blog.naver.com/ezmis/130012110941&quot; href=&quot;http://blog.naver.com/ezmis/130012110941&quot;&gt;http://blog.naver.com/ezmis/130012110941&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;레코드를 한 행씩 처리하는 방법으로 커서를 사용하는 경우가 많다.&lt;sup&gt; &lt;/sup&gt;그러나 커서를 이용할 경우 다량의 데이터 처리에 문제가 있다.&lt;/p&gt; &lt;p&gt;가령 데이터 수가 일정 이하 일 때, 초당 100건씩 처리했다고 해서 1만 건을 처리하는데 10초가 걸리는 것이 아니다.&lt;/p&gt; &lt;p&gt;커서의 실행 예상 시간은 아래 그래프와 같다 할 수 있다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/-KaUvTi10M9c/TeRzBnajGXI/AAAAAAAAAIc/NMycJDz0L2U/s1600-h/cursor_patch_time-ezmis%25255B3%25255D.jpg&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;cursor_patch_time&quot; border=&quot;0&quot; alt=&quot;expected patching time with cursor&quot; src=&quot;http://lh6.ggpht.com/-XwuGnHOkZUU/TeRzCWKwT5I/AAAAAAAAAIg/BWNhp0THfEU/cursor_patch_time-ezmis_thumb%25255B1%25255D.jpg?imgmax=800&quot; width=&quot;245&quot; height=&quot;217&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;커서 사용은 손쉬운 선택이나 동시에 고통(?)의 길로 밀어 넣는 작업이기도 하다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;아래는 Microsoft에서 제공한 &lt;strong&gt;MS SQL Server 2000 개발자를 위한 튜닝 가이드&lt;/strong&gt;에서 발췌한 내용이다.  &lt;p&gt;&quot;커서는 내부적으로 임시 테이블을 사용하기 때문에 임시 테이블을 쓴다고 부하가 더 발생하진 않습니다. 오히려 커서의 부가적 기능 때문에 서버 자원을 더 낭비하게 됩니다. (커서로 할 수 있는 건, 임시 테이블이나 테이블 변수로도 모두 처리가 가능합니다.)&quot;  &lt;p&gt;&lt;font style=&quot;background-color: #ffff00&quot; color=&quot;#000000&quot;&gt;&lt;/font&gt;&lt;font color=&quot;#00ff00&quot;&gt;(&lt;strong&gt;임시 테이블과 테이블 변수 간의 수행 속도에 관해 논란&lt;/strong&gt;의 여지가 있다. 2003년도 12월자 Windows &amp;amp; .NET Magazine에 의하면&lt;strong&gt;, &lt;/strong&gt;데이터의 수가 커질 수록 &lt;strong&gt;임시 테이블의 수행 속도가 테이블 변수 보다 더 빨라진다&lt;/strong&gt;고 한다.&lt;strong&gt; &lt;/strong&gt;이는 기존의 &lt;strong&gt;MS사의 입장과는 상반된 것&lt;/strong&gt;이다.)&lt;/font&gt;&lt;font style=&quot;background-color: #ffff00&quot; color=&quot;#000000&quot;&gt;&lt;/font&gt;  &lt;p&gt;위 가이드에 따라서 실제 업무에서 커서 대신 테이블 변수를 이용한 배치 작업의 예이다.  &lt;p&gt;&lt;font color=&quot;#00ff00&quot;&gt;-- ORACLE로부터 직위 정보를 읽어들여 local server의 직위 정보에 반영한다.&lt;/font&gt;  &lt;p&gt;&lt;font color=&quot;#00ff00&quot;&gt;-- ACTION_TYPE 필드 플래그가 R이면 등록, M이면 수정, D이면 삭제&lt;/font&gt;  &lt;p&gt;&lt;font color=&quot;#4bacc6&quot;&gt;SET NOCOUNT ON&lt;/font&gt;  &lt;p&gt;&lt;font color=&quot;#4bacc6&quot;&gt;DECLARE&lt;/font&gt; @tmpPosition &lt;font color=&quot;#4bacc6&quot;&gt;TABLE&lt;/font&gt;&lt;br&gt;(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nid&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt; identity(1, 1) not null,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idx&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csName&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;varchar&lt;/font&gt;(50),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idx_ClassSystem &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iSeq&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iState&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; act_type&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;varchar&lt;/font&gt;(1)&lt;br&gt;)  &lt;p&gt;&lt;font color=&quot;#00ff00&quot;&gt;-- 커서문에서 for select 에 해당&lt;/font&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color=&quot;#4bacc6&quot;&gt;INSERT INTO&lt;/font&gt; @tmpPosition(idx, csName, idx_ClassSystem, iSeq, iState, act_type)&lt;br&gt;(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;SELECT&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#dd8484&quot;&gt;CAST&lt;/font&gt;(POSITION_ID &lt;font color=&quot;#4bacc6&quot;&gt;AS INT&lt;/font&gt;),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#dd8484&quot;&gt;RTRIM&lt;/font&gt;(&lt;font color=&quot;#dd8484&quot;&gt;SUBSTRING&lt;/font&gt;(POSITION_NAME, 1, 50)),&lt;br&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;(&lt;font color=&quot;#4bacc6&quot;&gt;SELECT&lt;/font&gt; idx &lt;font color=&quot;#4bacc6&quot;&gt;FROM&lt;/font&gt; mc_ClassSystem &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;strong&gt;&lt;font color=&quot;#4bacc6&quot;&gt;WHERE&lt;/font&gt; idx_Uplevel = 0),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#dd8484&quot;&gt;CAST&lt;/font&gt;(POSITION_ORDER &lt;font color=&quot;#4bacc6&quot;&gt;AS INT&lt;/font&gt;),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1, ACTION_TYPE&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;FROM OPENQUERY&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;(ORA10G,&lt;br&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&lt;font color=&quot;#c0504d&quot;&gt;&#39;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; POSITION_ID, POSITION_NAME, POSITION_ORDER, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ACTION_TYPE&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORGDBADM.TKMID_POSITIONINFORMATION &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE IS_CHECK_CON = &#39;&#39;N&#39;&#39;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORDER BY MODIFY_DATE ASC&#39;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br&gt;)&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#4bacc6&quot;&gt;DECLARE&lt;/font&gt; @i &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;, @maxno &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;, @idx &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;, @csName &lt;font color=&quot;#4bacc6&quot;&gt;varchar&lt;/font&gt;(50), &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @idx_ClassSystem &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;, @iSeq &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;, @iState &lt;font color=&quot;#4bacc6&quot;&gt;int&lt;/font&gt;, @act &lt;font color=&quot;#4bacc6&quot;&gt;varchar&lt;/font&gt;(1)  &lt;p&gt;&lt;font color=&quot;#00ff00&quot;&gt;-- fetch into에 해당&lt;/font&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color=&quot;#4bacc6&quot;&gt;SELECT&lt;/font&gt; @i = 1, @maxno = &lt;font color=&quot;#4bacc6&quot;&gt;max&lt;/font&gt;(nid) &lt;font color=&quot;#4bacc6&quot;&gt;FROM&lt;/font&gt; @tmpPosition&lt;/strong&gt; &lt;br&gt;&lt;font color=&quot;#4bacc6&quot;&gt;&lt;br&gt;WHILE&lt;/font&gt; @i &amp;lt;= @maxno&lt;br&gt;&lt;font color=&quot;#4bacc6&quot;&gt;BEGIN&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;SELECT&lt;/font&gt; @idx = idx, @csName = csName, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @idx_ClassSystem = idx_ClassSystem, @iSeq = iSeq, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @iState = iState, @act = act_type&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;FROM&lt;/font&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @tmpPosition&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;WHERE&lt;/font&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nid = @i  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;IF&lt;/font&gt; @act =&lt;font color=&quot;#c0504d&quot;&gt; &#39;R&#39;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;BEGIN&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;SET IDENTITY_INSERT&lt;/font&gt; mc_ClassPosition &lt;font color=&quot;#4bacc6&quot;&gt;ON&lt;/font&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;INSERT INTO&lt;/font&gt; mc_ClassPosition(idx, csName, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idx_ClassSystem, iSeq, iState)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;VALUES&lt;/font&gt;(@idx, @csName, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @idx_ClassSystem, @iSeq, @iState) &lt;br&gt;&lt;font color=&quot;#4bacc6&quot;&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET IDENTITY_INSERT&lt;/font&gt; mc_ClassPosition &lt;font color=&quot;#4bacc6&quot;&gt;OFF&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;END&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;ELSE IF&lt;/font&gt; @act =&lt;font color=&quot;#c0504d&quot;&gt; &#39;M&#39;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;BEGIN&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;UPDATE&lt;/font&gt; mc_ClassPosition&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;SET&lt;/font&gt; csName = @csName,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idx_ClassSystem = @idx_ClassSystem,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iSeq = @iSeq,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iState = @iState&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;WHERE&lt;/font&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idx = @idx&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;END&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;ELSE IF&lt;/font&gt; @act =&lt;font color=&quot;#c0504d&quot;&gt; &#39;D&#39;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;BEGIN&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DELETE &lt;/font&gt;mc_ClassPosition &lt;font color=&quot;#4bacc6&quot;&gt;WHERE&lt;/font&gt; idx = @idx&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;END&lt;/font&gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=&quot;#4bacc6&quot;&gt;SET&lt;/font&gt; @i = @i + 1&lt;br&gt;&lt;font color=&quot;#4bacc6&quot;&gt;END&lt;/font&gt; &lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#00ff00&quot;&gt;-- 기타 후 처리&lt;/font&gt;  &lt;p&gt;Microsoft 사에서 나온 MS-SQL Server와 관련된 참고 자료들을 보면 하드디스크 I/O가 일어나는 임시 테이블보다는 테이블 변수가 메모리 상에서 형성되고 처리되기 때문에 더욱 높은 성능을 가질 수 있다라고 명시가 되어있다.  &lt;p&gt;그리고 위 언급한 &lt;strong&gt;MS SQL Server 2000 개발자를 위한 튜닝 가이드&lt;/strong&gt;에서도 아래와 같이 언급하고 있다.  &lt;p&gt;&quot;결론부터 말씀 드리자면, 커서보다는 임시 테이블이 임시 테이블보다는 테이블 변수를 사용하는 것이 성능에 보탬이 됩니다.&quot;  &lt;p&gt;그런데 2003년도 12월자 Windows &amp;amp; .NET Magazine에 의하면 테이블 변수 또한 하드디스크 I/O가 일어나는데다가 SQL 서버 엔진 내에서 병렬처리 쿼리 계획을 생성하지 못 한다는, SQL 서버 개발팀의 고위 관계자의 발언이 인용되어있다.  &lt;p&gt;현재 이 부분에 대해서는 MS사로부터 어떠한 공식적인 입장표명이 없다. (거기다가 이미 MS사는 MS SQL 2005 서버로 넘어가버렸다...)  &lt;p&gt;&lt;strong&gt;SQL 서버 테이블 변수는 가급적 소규모 쿼리나 데이터 집합을 위한 용도로 사용하고, 대용량 데이터 집합의 처리는 임시 테이블을 사용하는 것이 바람직하다고 SQL 서버 개발팀에서 권고한다&lt;/strong&gt;고 하니 각자의 판단에 맞겨야 하겠다.  &lt;p&gt;MS SQL Server 2000 개발자를 위한 튜닝 가이드는 MSDN이나 아래 사이트에서 그 내용을 확인 할 수 있다.  &lt;p&gt;&lt;a href=&quot;http://www.dbguide.net/tuning_guide/tuning_guide_11.jsp&quot;&gt;http://www.dbguide.net/tuning_guide/tuning_guide_11.jsp&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/772131969506949244/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/05/sql-query.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/772131969506949244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/772131969506949244'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/05/sql-query.html' title='SQL Query–커서 대체하기'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-XwuGnHOkZUU/TeRzCWKwT5I/AAAAAAAAAIg/BWNhp0THfEU/s72-c/cursor_patch_time-ezmis_thumb%25255B1%25255D.jpg?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7015354147626354288.post-8937459595774459165</id><published>2011-05-25T15:20:00.001+09:00</published><updated>2011-05-25T15:25:10.804+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Mac에서 Eclipse와 PyDev 설정하기</title><content type='html'>&lt;p&gt;본인이 소유한 맥은 구형 맥 미니 G4 PPC 모델로 현재 Mac OS X 10.4 Tiger로 구동되며 간단한 사양은 아래와 같다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/_O1re0N_j77k/TdyfbLIOBgI/AAAAAAAAAH8/6CWvxff050g/s1600-h/Mac%200%C3%B8%C2%AC%C2%91%5B3%5D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Mac 기본사양&quot; border=&quot;0&quot; alt=&quot;Mac 기본사양&quot; src=&quot;http://lh3.ggpht.com/_O1re0N_j77k/Tdyfcaj91AI/AAAAAAAAAIA/qgP6ww7fZLE/Mac%200%C3%B8%C2%AC%C2%91_thumb%5B1%5D.png?imgmax=800&quot; width=&quot;313&quot; height=&quot;353&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;OS X 10.5 레퍼드로 갈아타고 싶지만(10.6 스노 레퍼드는 이 사양으로는 감히 덤비지도 못할…) Apple #에서도 이미 판매 중단된 지 오래고, 중고 retail CD로 구하기도 너무 힘들어 일단 반포기 상태. IPad야 Win7 PC에 설치한 ITunes 이용하기 때문에 큰 문제는 없지만 Tiger에 eclipse 설치부터 머리가 지끈 지끈. Good job Apple™&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Eclipse 다운로드&lt;/h2&gt; &lt;p&gt;현재 Eclipse 최종 버전은 3.6 코드네임 Helios이며 곧 Indigo가 출시 예정이다. OS X 10.4 Tiger에서 구동 가능한 버전은 Eclipse 3.4 Ganymede 가 마지막 버전이다. 다음 웹 사이트를 방문하여 Ganymede를 다운 받는다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://eclipse.org/downloads/packages/release/ganymede/sr2&quot;&gt;http://eclipse.org/downloads/packages/release/ganymede/sr2&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/_O1re0N_j77k/Tdyfdi2i6OI/AAAAAAAAAIE/YgNX3dw3_sQ/s1600-h/Ganymede%20download%5B6%5D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Ganymede download&quot; border=&quot;0&quot; alt=&quot;Ganymede download&quot; src=&quot;http://lh3.ggpht.com/_O1re0N_j77k/Tdyfe3yTpwI/AAAAAAAAAII/b9oOz_2s-AE/Ganymede%20download_thumb%5B4%5D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;254&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;미러 사이트가 제공되지 않아 다운로드 완료까지 오랜 시간이 걸렸다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Python 다운로드&lt;/h2&gt; &lt;p&gt;Mac OS X 10.4 Tiger에는 Python 2.3 버전이 아래 그림과 같이 기본 탑재되어 있지만 Python 2.x 최종 버전은 Python 2.7.1 이고 또한 Python2와 Python3은 근본적으로 변화가 크기 때문에 Python3의 최종 버전인 Python3.2를 다운 받았다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_O1re0N_j77k/TdyfgOY3yvI/AAAAAAAAAIM/LKQVAEP_4xM/s1600-h/Python2.3.pre-installed%5B6%5D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Python2.3.pre-installed&quot; border=&quot;0&quot; alt=&quot;Python2.3.pre-installed&quot; src=&quot;http://lh6.ggpht.com/_O1re0N_j77k/TdyfhtTPC9I/AAAAAAAAAIQ/1v9A5_BLXF8/Python2.3.pre-installed_thumb%5B4%5D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;272&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Python 3.2 다운로드는 아래 사이트에서 &lt;a href=&quot;http://python.org/ftp/python/3.2/python-3.2-macosx10.3.dmg&quot; target=&quot;_blank&quot;&gt;Python 3.2 Mac OS X 32-bit i386/PPC Installer (for Mac OS X 10.3 through 10.6)&lt;/a&gt;으로 dmg 파일을 내려 받았다.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://python.org/download/&quot;&gt;http://python.org/download/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Python 설치&lt;/h2&gt; &lt;p&gt;다운로드 완료한 python-3.2-macosx10.3.dmg 파일을 마운트 시 ‘마운트 실패’ 류의 메시지가 떴는데 구글링해보니 Mac OS X 10.3.1 업그레이드 이후 이런 현상이 나타난다는 말이 많았다. 이 문제 해결은 아래와 같이 처리 후 Python을 설치했다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;483&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;481&quot;&gt;디스크 마운트 문제 해결&lt;br&gt;&lt;br&gt;1. 응용프로그램 &amp;gt; 유틸리티 &amp;gt; 디스크 &amp;gt; 디스크 유틸리티 실행&lt;br&gt;2. 디스크 권한 복구 버튼 클릭&lt;br&gt;3. Finder에서 시스템/라이브러리/Extensions.kextcache 파일 삭제&lt;br&gt;4. Finder에서 시스템/라이브러리/Caches/com.apple.kernalcaches 폴더 삭제&lt;br&gt;5. 시스템 재시작&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Eclipse 설치&lt;/h2&gt; &lt;p&gt;다운로드 완료한 파일 eclipse-java-ganymede-SR2-macosx-carbon.tar.gz의 압축을 푼 후 디스크 루트로 복사했다. (유닉스 베이스 엄밀히 말하자면, NeXT Step의 Mach와 FreeBSD 베이스 OS이기에 적당한 슬라이스에 배치해야 겠지만… 그냥 귀찮…)&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;PyDev 설치&lt;/h2&gt; &lt;p&gt;Eclipse에서 plug-in 설치는 Ganymede 기준으로 Help &amp;gt; Software Updates… 를 통해 하면 되지만, 소프트웨어 URL에 &lt;a href=&quot;http://pydev.org/updates&quot;&gt;http://pydev.org/updates&lt;/a&gt;로 입력 후 내려 받기는 되어도 설치가 제대로 되질 않았다. 그래서 우선 아래 사이트에서 PyDev 2.0 플러긴 파일인 &lt;a href=&quot;http://sourceforge.net/projects/pydev/files/pydev/Pydev%202.0/org.python.pydev.feature-2.0.0.2011040403.zip/download&quot; target=&quot;_blank&quot;&gt;org.python.pydev.feature-2.0.0.2011040403.zip&lt;/a&gt; 을 내려 받았다.&lt;/p&gt; &lt;p&gt;&lt;a title=&quot;http://sourceforge.net/projects/pydev/files/&quot; href=&quot;http://sourceforge.net/projects/pydev/files/&quot;&gt;http://sourceforge.net/projects/pydev/files/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;압축을 푼 후, plugins 폴더와 features 폴더 각각의 파일을 eclipse 폴더 내 plugins 폴더와 features 폴더에 복사 해 넣었다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Eclipse 설정&lt;/h2&gt; &lt;p&gt;새로 eclipse를 시작 후, Eclipse &amp;gt; Preferences 메뉴로 들어가서 Pydev &amp;gt; Interpreter – Python 메뉴에 들어가면 Python 인터프리터와 패스 등이 비어있다. New… 버튼을 누른 후 “Select Interpreter” 창이 뜨면 Browse… 버튼을 눌러 설치한 Python 3.2 패스를 찾아 들어가면 된다. 해당 패스는 /Library/Frameworks/Python.framework/Versions/3.2/Resources/Python.app/Contents/MacOS/ 폴더 내 Python을 지정하면 된다.&lt;/p&gt; &lt;p&gt;위와 같이 성공적으로 인터프리터 패스를 지정하면 라이브러리 패스는 자동으로 인식된다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/_O1re0N_j77k/Tdyfi3kp61I/AAAAAAAAAIU/zAP9dzZLOKY/s1600-h/Eclipse%20w%20Pydev%20on%20Mac%2010%20Tiger%5B5%5D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Eclipse w Pydev on Mac 10 Tiger&quot; border=&quot;0&quot; alt=&quot;Eclipse w Pydev on Mac 10 Tiger&quot; src=&quot;http://lh3.ggpht.com/_O1re0N_j77k/Tdyfj2R3j3I/AAAAAAAAAIY/k3GgJTAn8Tk/Eclipse%20w%20Pydev%20on%20Mac%2010%20Tiger_thumb%5B3%5D.png?imgmax=800&quot; width=&quot;484&quot; height=&quot;358&quot;&gt;&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://oscarsjpark.blogspot.com/feeds/8937459595774459165/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://oscarsjpark.blogspot.com/2011/05/mac-eclipse-pydev.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/8937459595774459165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7015354147626354288/posts/default/8937459595774459165'/><link rel='alternate' type='text/html' href='http://oscarsjpark.blogspot.com/2011/05/mac-eclipse-pydev.html' title='Mac에서 Eclipse와 PyDev 설정하기'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_O1re0N_j77k/Tdyfcaj91AI/AAAAAAAAAIA/qgP6ww7fZLE/s72-c/Mac%200%C3%B8%C2%AC%C2%91_thumb%5B1%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry></feed>