<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ㅇㅅㅎ</title>
    <link>https://onlab94.tistory.com/</link>
    <description>나중을 위한 기록용 블로그입니다.
github에 더 많은 코드가 있습니다.
https://github.com/whyj107</description>
    <language>ko</language>
    <pubDate>Sun, 5 Jul 2026 18:07:06 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>(ㅇㅅㅎ)</managingEditor>
    <image>
      <title>ㅇㅅㅎ</title>
      <url>https://tistory1.daumcdn.net/tistory/3515984/attach/fcbc8d515a53426f8374da28da9401ef</url>
      <link>https://onlab94.tistory.com</link>
    </image>
    <item>
      <title>[wpf] MariaDB 사용하기 - 3. c#에서 사용하기(Microsoft Visual Studio)</title>
      <link>https://onlab94.tistory.com/498</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;MariaDB를 다운하지 않으신 분은 &lt;a href=&quot;http://onlab94.tistory.com/106&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이곳의&lt;/a&gt; 포스팅을 참고하셔서 다운로드하시고 VisualStudio에 연동하지 않으신 분은 &lt;a href=&quot;http://onlab94.tistory.com/107&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이곳의&lt;/a&gt; 포스팅을 참고하셔서 연동하시길 바랍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;C#에서 MariaDB 사용하는 법은 간단합니다.&amp;nbsp; MySqlCommand에 명령어(CREATE, INSERT, UPDATE, SELECT 등)를 입력하고 데이터를 불러올 때에만 MySqlDataReader를 사용하시면 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726064297973&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void dbQuery(string q){
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    cmd.CommandText = q;
    
    // 데이터 불러올 때만 사용 ------------------------------
    MySqlDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
      // 데이터 형식은 reader[0], reader[1], 이런식으로 꺼내어서 사용 가능합니다.
    }
    --------------------------------------------------------*/
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;아래의 예제에서는 매번 연결하도록 코드를 작성하였지만, 편의에 따라서 연결 부분을 바깥으로 빼내어서 공통으로 사용하시는 것을 추천드립니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;DATABASE 생성(Test라는 DATABASE 생성)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726063962283&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void createDatabase(){
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    string sql_query = &quot;CREATE DATABASE [데이터베이스 이름];&quot;;
    cmd.CommandText = sql_query;
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;DATABASE&lt;/span&gt; 삭제&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726068469703&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void createDatabase(){
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    string sql_query = &quot;DROP DATABASE [데이터베이스 이름];&quot;;
    cmd.CommandText = sql_query;
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;DATABASE 선택&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726068643636&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void deleteDatabase(){
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  // 아래처럼 바로 연결하도록 설정하셔도 됩니다.
  // string conn_string = &quot;Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    string sql_query = &quot;USE [데이터베이스 이름];&quot;;
    cmd.CommandText = sql_query;
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;TABLE 생성&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726068749678&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void createTable(){
  // 데이터베이스 연결
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    string sql_query = &quot;CREATE TABLE [테이블이름]([열 이름] INT, [열 이름] VARCHAR(10));&quot;;
    cmd.CommandText = sql_query;
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;TABLE 삭제&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726068795456&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void deleteTable(){
  // 데이터베이스 연결
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    string sql_query = &quot;DROP TABLE [테이블 이름];&quot;;
    cmd.CommandText = sql_query;
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;데이터 입력&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726068946266&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void insertData(){
  // 데이터베이스 연결
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    string sql_query = &quot;INSERT INTO [테이블 이름] VALUES('값1', '값2', ...);&quot;;
    cmd.CommandText = sql_query;
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;데이터 수정&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726068999873&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void updateData(){
  // 데이터베이스 연결
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    string sql_query = &quot;UPDATE [테이블 이름] SET [열 이름] = '값1' WHERE [열 이름] = '값2';&quot;;
    cmd.CommandText = sql_query;
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;데이터 삭제&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726069043036&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void deleteData(){
  // 데이터베이스 연결
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    string sql_query = &quot;DELETE FROM [테이블 이름] WHERE [열 이름]='값';&quot;;
    cmd.CommandText = sql_query;
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;데이터 검색&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1726069140106&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private void selectData(){
  // 데이터베이스 연결
  string conn_string = &quot;Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력&quot;;
  MySqlConnection conn = new MySqlConnection(conn_string);
  MySqlCommand cmd = conn.CreateCommand();
  try
  {
    conn.Open();
    string sql_query = &quot;SELECT * FROM [테이블 이름] WHERE [열 이름]='값';&quot;;
    cmd.CommandText = sql_query;
 
    MySqlDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
      // 데이터 형식은 reader[0], reader[1], 이런식으로 꺼내어서 사용 가능합니다.
    }
  }
  catch (Exception e)
  {
    Console.WriteLine($&quot;Error: {e.Message}&quot;);
  }
  finally
  {
    conn.Close();
  }           
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그램 개발/C#</category>
      <category>MariaDB</category>
      <category>마리아DB</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/498</guid>
      <comments>https://onlab94.tistory.com/498#entry498comment</comments>
      <pubDate>Thu, 12 Sep 2024 00:46:22 +0900</pubDate>
    </item>
    <item>
      <title>[python] 금과 달러의 상관관계(FinanceDataReader, Pyplot, Pandas)</title>
      <link>https://onlab94.tistory.com/497</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;783&quot; data-origin-height=&quot;257&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rOIwp/btsDA78QOJA/2KwyJDTIEcLigX4XTBhk9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rOIwp/btsDA78QOJA/2KwyJDTIEcLigX4XTBhk9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rOIwp/btsDA78QOJA/2KwyJDTIEcLigX4XTBhk9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrOIwp%2FbtsDA78QOJA%2F2KwyJDTIEcLigX4XTBhk9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;197&quot; data-origin-width=&quot;783&quot; data-origin-height=&quot;257&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;이번 글에서는 2010년부터 현재까지의 금과 달러 그리고 금과 국채의 상관관계를 FinanceDataReader와 pyplot으로 간단하게 살펴보겠습니다. 상관관계를 2번 확인할 것이기 때문에 데이터 불러올 때 서로 다른 방법으로 구현해 보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;⭐ 코드가 사용된 환경은 jupyter notebook입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;FinanceDataReader&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;한국 주식 가격, 미국주식 가격, 지수, 환율, 암호화폐 가격, 종목 리스팅 등 금융 데이터 수집 라이브러리입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Pyplot&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;Matplotlib를 MATALAB처럼 작동하게 만드는 라이브러리입니다. 이번 글에서는 그래프를 그리는 데 사용됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Pandas&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;데이터 처리와 분석을 위한 라이브러리입니다. 이번 글에서는 데이터를 합치는 데 사용됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;설치하기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1705554855880&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;!pip install finance-datareader
!pip install plotly
!pip install pandas&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;코드 - 금 선물 vs 달러 인덱스&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1705556063611&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 필요한 라이브러리 추가
import FinanceDataReader as fdr
import matplotlib.pyplot as plt

# 2010년부터 현재까지의 금 선물(GC=F)과 달러 인덱스(DX-Y.NYB)
# 데이터 불러오기
df = fdr.DataReader('GC=F,DX-Y.NYB', '2010')

# 끊기는 구간 보완
df = df.interpolate()

# 그래프로 확인
df.plot(secondary_y='DX-Y.NYB')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;647&quot; data-origin-height=&quot;408&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuXjDv/btsDBzcXA6p/9Oj3gbsCqdWg0wlTrQHXD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuXjDv/btsDBzcXA6p/9Oj3gbsCqdWg0wlTrQHXD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuXjDv/btsDBzcXA6p/9Oj3gbsCqdWg0wlTrQHXD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuXjDv%2FbtsDBzcXA6p%2F9Oj3gbsCqdWg0wlTrQHXD0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;252&quot; data-origin-width=&quot;647&quot; data-origin-height=&quot;408&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;그래프를 확인해 보면 서로 반대의 흐름을 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;코드 - 금 선물 vs 5년 만기 국채 수익률&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1705556892269&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 필요한 라이브러리 추가
import FinanceDataReader as fdr
import matplotlib.pyplot as plt
import pandas as pd

# 금 선물과 5년 국채
stock_list = {'GC=F': 'Gold', 'US5YT': 'US 5Y'}
code_list = stock_list.keys()
name_list = stock_list.values()

# 2010년 'Close' 데이터만 가져오기
df_list = [fdr.DataReader(code, '2010')['Close'] for code in stock_list.keys()]

# 데이터 합치기
df = pd.concat(df_list, axis=1)

# 컬럼 이름 변경
df.columns = stock_list.values()

# 끊기는 구간 보완
df = df.interpolate()

# 그래프로 확인
df.plot(secondary_y='US 5Y')&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;667&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btXZrZ/btsDC5vNmqQ/kCtKqVhpqkusb0mrrnx2OK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btXZrZ/btsDC5vNmqQ/kCtKqVhpqkusb0mrrnx2OK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btXZrZ/btsDC5vNmqQ/kCtKqVhpqkusb0mrrnx2OK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtXZrZ%2FbtsDC5vNmqQ%2FkCtKqVhpqkusb0mrrnx2OK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;270&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;667&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;그래프를 확인해보면 서로 반대의 흐름을 확인할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그램 개발/Python</category>
      <category>5년물 미국 채권</category>
      <category>financedatareader</category>
      <category>pandas</category>
      <category>pyplot</category>
      <category>Python</category>
      <category>금 선물</category>
      <category>달러 인덱스</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/497</guid>
      <comments>https://onlab94.tistory.com/497#entry497comment</comments>
      <pubDate>Thu, 18 Jan 2024 15:01:30 +0900</pubDate>
    </item>
    <item>
      <title>[Blender] 여러 Object에 같은 Material 적용하기</title>
      <link>https://onlab94.tistory.com/496</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TqvmX/btsDo9Y9pBn/LQLp59LJtXckDjwVueL2X1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TqvmX/btsDo9Y9pBn/LQLp59LJtXckDjwVueL2X1/img.png&quot; data-origin-width=&quot;1054&quot; data-origin-height=&quot;540&quot; data-is-animation=&quot;false&quot; style=&quot;width: 42.076%; margin-right: 10px;&quot; data-widthpercent=&quot;42.57&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TqvmX/btsDo9Y9pBn/LQLp59LJtXckDjwVueL2X1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTqvmX%2FbtsDo9Y9pBn%2FLQLp59LJtXckDjwVueL2X1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1054&quot; height=&quot;540&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvnaon/btsDnfFQmqn/jGcy9CkQqzPK5KKfbJK0Pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvnaon/btsDnfFQmqn/jGcy9CkQqzPK5KKfbJK0Pk/img.png&quot; data-origin-width=&quot;1019&quot; data-origin-height=&quot;387&quot; data-is-animation=&quot;false&quot; style=&quot;width: 56.7612%;&quot; data-widthpercent=&quot;57.43&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvnaon/btsDnfFQmqn/jGcy9CkQqzPK5KKfbJK0Pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcvnaon%2FbtsDnfFQmqn%2FjGcy9CkQqzPK5KKfbJK0Pk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1019&quot; height=&quot;387&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;적용 전과 후&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;이번 글에서는 Blender에서 여러 Object에 같은 Material을 단축키로 쉽게 적용하는 방법에 대해 설명해 보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;text-align: center; caret-color: transparent; letter-spacing: 0px;&quot; src=&quot;https://blog.kakaocdn.net/dn/dA2swN/btsDqRpPKZX/RgDPFwXwcfuvpKCKGiBXg0/img.png&quot; data-origin-width=&quot;1075&quot; data-origin-height=&quot;500&quot; data-is-animation=&quot;false&quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;Material을 적용할 Object들을 먼저 선택한 뒤, 마지막으로 사용하라 Material을 가진 Object를 선택합니다. 마지막에 선택된 Object의 경우 주황색으로 쉽게 알아볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcf9Ef/btsDpcuNbuF/LiZhqTFcFfcha2jdJ9hwxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcf9Ef/btsDpcuNbuF/LiZhqTFcFfcha2jdJ9hwxk/img.png&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;407&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;24.06&quot; style=&quot;width: 23.7776%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcf9Ef/btsDpcuNbuF/LiZhqTFcFfcha2jdJ9hwxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbcf9Ef%2FbtsDpcuNbuF%2FLiZhqTFcFfcha2jdJ9hwxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;275&quot; height=&quot;407&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cV9yY3/btsDqouE96d/I4elL5AXuj6eiQ21Sn1hZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cV9yY3/btsDqouE96d/I4elL5AXuj6eiQ21Sn1hZk/img.png&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;489&quot; data-is-animation=&quot;false&quot; style=&quot;width: 75.0596%;&quot; data-widthpercent=&quot;75.94&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cV9yY3/btsDqouE96d/I4elL5AXuj6eiQ21Sn1hZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcV9yY3%2FbtsDqouE96d%2FI4elL5AXuj6eiQ21Sn1hZk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1043&quot; height=&quot;489&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt; [ctrl + l](컨트롤 키와 알파벳 엘 키)을 누른 후 Link Materials를 클릭합니다. 그럼 적용된 것을 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Blender</category>
      <category>blender</category>
      <category>단축키</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/496</guid>
      <comments>https://onlab94.tistory.com/496#entry496comment</comments>
      <pubDate>Sun, 14 Jan 2024 16:22:32 +0900</pubDate>
    </item>
    <item>
      <title>[Blender] 다른 Object의 Rigid Body 복사 후 설정하기</title>
      <link>https://onlab94.tistory.com/495</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ezgif-5-47ebbbe2d7.gif&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b70pyW/btsDnuW21Ey/KxP9smroDsyDFdYouuntk1/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b70pyW/btsDnuW21Ey/KxP9smroDsyDFdYouuntk1/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b70pyW/btsDnuW21Ey/KxP9smroDsyDFdYouuntk1/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/b70pyW/btsDnuW21Ey/KxP9smroDsyDFdYouuntk1/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;300&quot; data-filename=&quot;ezgif-5-47ebbbe2d7.gif&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;이번 글에서는 Blender에서 다른 Object의 Rigid Body를 복사하여 설정하는 방법에 대해 설명해 보겠습니다. 예제로는 저번에 만들어둔 &lt;a href=&quot;https://onlab94.tistory.com/494&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cell Fraction&lt;/a&gt; 예제의 Object들을 사용하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;복사하여 설정하고 싶은 Object를 먼저 클릭한 뒤 Rigid Body가 설정된 Object를 맨 마지막에 선택합니다. 마지막에 선택된 Object의 경우 주황색으로 쉽게 알아볼 수 있습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;  이 글에서는 쉽게 보여드리기 위해서 몇개만 선택했지만 위와 같은 gif 이미지의 경우 object들 모두 Rigid Body를 적용하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqUGNU/btsDlAwD3NX/RfmToZS4D9MQC1sfzKptGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqUGNU/btsDlAwD3NX/RfmToZS4D9MQC1sfzKptGK/img.png&quot; data-origin-width=&quot;281&quot; data-origin-height=&quot;291&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;38.56&quot; style=&quot;width: 37.6609%; margin-right: 10px;&quot; id=&quot;kEditorPhotosEditingImage-1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqUGNU/btsDlAwD3NX/RfmToZS4D9MQC1sfzKptGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqUGNU%2FbtsDlAwD3NX%2FRfmToZS4D9MQC1sfzKptGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;281&quot; height=&quot;291&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Chf7K/btsDp5hE9yr/zpbV9ZAjsxDDGVCipK30j0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Chf7K/btsDp5hE9yr/zpbV9ZAjsxDDGVCipK30j0/img.png&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;541&quot; data-is-animation=&quot;false&quot; style=&quot;width: 21.1226%; margin-right: 10px;&quot; data-widthpercent=&quot;21.63&quot; id=&quot;kEditorPhotosEditingImage-2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Chf7K/btsDp5hE9yr/zpbV9ZAjsxDDGVCipK30j0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FChf7K%2FbtsDp5hE9yr%2FzpbV9ZAjsxDDGVCipK30j0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;293&quot; height=&quot;541&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DVXuu/btsDpws0v2Q/cOvAllxAGjXMlGa95Xz3S0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DVXuu/btsDpws0v2Q/cOvAllxAGjXMlGa95Xz3S0/img.png&quot; data-origin-width=&quot;705&quot; data-origin-height=&quot;707&quot; data-is-animation=&quot;false&quot; style=&quot;width: 38.8909%;&quot; data-widthpercent=&quot;39.81&quot; id=&quot;kEditorPhotosEditingImage-3&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DVXuu/btsDpws0v2Q/cOvAllxAGjXMlGa95Xz3S0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDVXuu%2FbtsDpws0v2Q%2FcOvAllxAGjXMlGa95Xz3S0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;705&quot; height=&quot;707&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;[Object - Rigid Body - Copy From Active]를 클릭합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;224&quot; data-origin-height=&quot;32&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OZ4j9/btsDkQGytB6/55jHjVcnoVx0LBQC4hk34K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OZ4j9/btsDkQGytB6/55jHjVcnoVx0LBQC4hk34K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OZ4j9/btsDkQGytB6/55jHjVcnoVx0LBQC4hk34K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOZ4j9%2FbtsDkQGytB6%2F55jHjVcnoVx0LBQC4hk34K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;224&quot; height=&quot;32&quot; data-origin-width=&quot;224&quot; data-origin-height=&quot;32&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;396&quot; data-origin-height=&quot;388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cu9lzx/btsDo9EGQxu/5RBPkhkBlLPWdgMhJmAr70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cu9lzx/btsDo9EGQxu/5RBPkhkBlLPWdgMhJmAr70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cu9lzx/btsDo9EGQxu/5RBPkhkBlLPWdgMhJmAr70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcu9lzx%2FbtsDo9EGQxu%2F5RBPkhkBlLPWdgMhJmAr70%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;571&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;396&quot; data-origin-height=&quot;388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;Object를 클릭하면 똑같이 설정된 것을 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUjZ0U/btsDkQ7CcO0/3DUyMkyBnrUAAv0CvykBVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUjZ0U/btsDkQ7CcO0/3DUyMkyBnrUAAv0CvykBVk/img.png&quot; data-origin-width=&quot;715&quot; data-origin-height=&quot;712&quot; data-is-animation=&quot;false&quot; style=&quot;width: 63.583%; margin-right: 10px;&quot; data-widthpercent=&quot;64.33&quot; id=&quot;kEditorPhotosEditingImage-5&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUjZ0U/btsDkQ7CcO0/3DUyMkyBnrUAAv0CvykBVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUjZ0U%2FbtsDkQ7CcO0%2F3DUyMkyBnrUAAv0CvykBVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;715&quot; height=&quot;712&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AcsRL/btsDp7zOA2t/8IHdkiCBKxssdE5hyM3dPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AcsRL/btsDp7zOA2t/8IHdkiCBKxssdE5hyM3dPK/img.png&quot; data-origin-width=&quot;299&quot; data-origin-height=&quot;537&quot; data-is-animation=&quot;false&quot; style=&quot;width: 35.2543%;&quot; data-widthpercent=&quot;35.67&quot; id=&quot;kEditorPhotosEditingImage-6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AcsRL/btsDp7zOA2t/8IHdkiCBKxssdE5hyM3dPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAcsRL%2FbtsDp7zOA2t%2F8IHdkiCBKxssdE5hyM3dPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;299&quot; height=&quot;537&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Blender</category>
      <category>blender</category>
      <category>Copy from Active</category>
      <category>Rigid Body</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/495</guid>
      <comments>https://onlab94.tistory.com/495#entry495comment</comments>
      <pubDate>Sun, 14 Jan 2024 15:23:47 +0900</pubDate>
    </item>
    <item>
      <title>[Blender] Cell Fraction 사용하기(with Particle)</title>
      <link>https://onlab94.tistory.com/494</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lZElb/btsDkzrqAA7/BTWp6xMTN5655PNRW4kiM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lZElb/btsDkzrqAA7/BTWp6xMTN5655PNRW4kiM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lZElb/btsDkzrqAA7/BTWp6xMTN5655PNRW4kiM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlZElb%2FbtsDkzrqAA7%2FBTWp6xMTN5655PNRW4kiM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;306&quot; height=&quot;429&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;429&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;이번 글에서는 Blender에서 &lt;b&gt;Cell Fraction&lt;/b&gt; 사용법에 대해서 설명해 보겠습니다. [Cell Fraction 추가 - ParticleSystem 설정 - Cell Fraction 적용] 순서로 진행하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Cell Fraction 추가&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[Edit-Preferences...-Add-ons-Object: Cell Fracture] 추가합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4VMDs/btsDnv86sEC/4iueV9tER5RBqhBuflwYOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4VMDs/btsDnv86sEC/4iueV9tER5RBqhBuflwYOk/img.png&quot; style=&quot;width: 44.03818619476208%;&quot; data-widthpercent=&quot;44.56&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;345&quot; data-origin-width=&quot;332&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4VMDs/btsDnv86sEC/4iueV9tER5RBqhBuflwYOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4VMDs%2FbtsDnv86sEC%2F4iueV9tER5RBqhBuflwYOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;332&quot; height=&quot;345&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CmmCm/btsDngqFe3H/ryFykr2UUDI1iP7z8YZEW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CmmCm/btsDngqFe3H/ryFykr2UUDI1iP7z8YZEW0/img.png&quot; style=&quot;width: 54.799023107563514%;&quot; data-widthpercent=&quot;55.44&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;552&quot; data-origin-width=&quot;661&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CmmCm/btsDngqFe3H/ryFykr2UUDI1iP7z8YZEW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCmmCm%2FbtsDngqFe3H%2FryFykr2UUDI1iP7z8YZEW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;661&quot; height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;ParticleSystem 설정&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;Cell Fraction하고 싶은 Object에 ParticleSystem을 설정합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;  이 작업을 하지 않을 시 Random 형태로 깨지는 모습이 아닌 등분형태로 작업됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A0Ant/btsDnioFgzD/OtMOFwB4HSpoL5mQ6chhAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A0Ant/btsDnioFgzD/OtMOFwB4HSpoL5mQ6chhAK/img.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;282&quot; data-is-animation=&quot;false&quot; style=&quot;width: 33.6318%; margin-right: 10px;&quot; data-widthpercent=&quot;34.43&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A0Ant/btsDnioFgzD/OtMOFwB4HSpoL5mQ6chhAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA0Ant%2FbtsDnioFgzD%2FOtMOFwB4HSpoL5mQ6chhAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;280&quot; height=&quot;282&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/emu8it/btsDp6gtDoB/LIgbY8k9XrkaJYQCJlGbS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/emu8it/btsDp6gtDoB/LIgbY8k9XrkaJYQCJlGbS0/img.png&quot; data-origin-width=&quot;329&quot; data-origin-height=&quot;368&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;31&quot; style=&quot;width: 30.2823%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/emu8it/btsDp6gtDoB/LIgbY8k9XrkaJYQCJlGbS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Femu8it%2FbtsDp6gtDoB%2FLIgbY8k9XrkaJYQCJlGbS0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;329&quot; height=&quot;368&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPUj6H/btsDnefsQSX/Zbyj8L9YGaehsgmoRvO13K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPUj6H/btsDnefsQSX/Zbyj8L9YGaehsgmoRvO13K/img.png&quot; data-origin-width=&quot;302&quot; data-origin-height=&quot;303&quot; data-is-animation=&quot;false&quot; style=&quot;width: 33.7603%;&quot; data-widthpercent=&quot;34.57&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPUj6H/btsDnefsQSX/Zbyj8L9YGaehsgmoRvO13K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPUj6H%2FbtsDnefsQSX%2FZbyj8L9YGaehsgmoRvO13K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;302&quot; height=&quot;303&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt; Cell Fraction 적용&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;Object 선택 후 [Object - Quick Effects - Cell Fracture] 선택합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;737&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AZAFa/btsDmUH7q2C/YWAKhG273kIC6WAwCFYbS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AZAFa/btsDmUH7q2C/YWAKhG273kIC6WAwCFYbS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AZAFa/btsDmUH7q2C/YWAKhG273kIC6WAwCFYbS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAZAFa%2FbtsDmUH7q2C%2FYWAKhG273kIC6WAwCFYbS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;415&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;737&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;옵션을 원하는 대로 설정 후 ok 버튼 클릭합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;  Collection 항목에 문자를 넣어서 새로운 Collection을 만드는 것을 추천드립니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bijErd/btsDkNC0GI4/LQ6iyTkSZVB93K9LhKvKdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bijErd/btsDkNC0GI4/LQ6iyTkSZVB93K9LhKvKdk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;582&quot; data-origin-width=&quot;624&quot; width=&quot;500&quot; height=&quot;466&quot; style=&quot;width: 36.0965%; margin-right: 10px;&quot; data-widthpercent=&quot;36.96&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bijErd/btsDkNC0GI4/LQ6iyTkSZVB93K9LhKvKdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbijErd%2FbtsDkNC0GI4%2FLQ6iyTkSZVB93K9LhKvKdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;624&quot; height=&quot;582&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YpwTM/btsDlylhzDG/AFsze2A3KX6xkr4zdHZKCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YpwTM/btsDlylhzDG/AFsze2A3KX6xkr4zdHZKCK/img.png&quot; data-origin-width=&quot;285&quot; data-origin-height=&quot;287&quot; data-is-animation=&quot;false&quot; style=&quot;width: 33.4323%; margin-right: 10px;&quot; data-widthpercent=&quot;34.23&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YpwTM/btsDlylhzDG/AFsze2A3KX6xkr4zdHZKCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYpwTM%2FbtsDlylhzDG%2FAFsze2A3KX6xkr4zdHZKCK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;285&quot; height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpPy7e/btsDpcH1H90/SfU7YMCqJhpY96vzueuy3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpPy7e/btsDpcH1H90/SfU7YMCqJhpY96vzueuy3K/img.png&quot; data-origin-width=&quot;209&quot; data-origin-height=&quot;250&quot; data-is-animation=&quot;false&quot; style=&quot;width: 28.1456%;&quot; data-widthpercent=&quot;28.81&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpPy7e/btsDpcH1H90/SfU7YMCqJhpY96vzueuy3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpPy7e%2FbtsDpcH1H90%2FSfU7YMCqJhpY96vzueuy3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;209&quot; height=&quot;250&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;⭐ Fraction 개체에 내부와 외부 색을 다르게 주고 싶을 경우&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Fraction 할 Object에 외부색, 내부색 순서로 추가합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cTVrcd/btsDp9Ywhjz/gVhUjRLCCpAA8zjUz8PeKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cTVrcd/btsDp9Ywhjz/gVhUjRLCCpAA8zjUz8PeKK/img.png&quot; data-origin-width=&quot;298&quot; data-origin-height=&quot;312&quot; data-is-animation=&quot;false&quot; style=&quot;width: 40.1023%; margin-right: 10px;&quot; data-widthpercent=&quot;40.57&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cTVrcd/btsDp9Ywhjz/gVhUjRLCCpAA8zjUz8PeKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcTVrcd%2FbtsDp9Ywhjz%2FgVhUjRLCCpAA8zjUz8PeKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;298&quot; height=&quot;312&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HQVqG/btsDqapxQt6/pduI3wx9p5bFrfF5sxCnxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HQVqG/btsDqapxQt6/pduI3wx9p5bFrfF5sxCnxk/img.png&quot; data-origin-width=&quot;256&quot; data-origin-height=&quot;183&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;59.43&quot; style=&quot;width: 58.7349%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HQVqG/btsDqapxQt6/pduI3wx9p5bFrfF5sxCnxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHQVqG%2FbtsDqapxQt6%2FpduI3wx9p5bFrfF5sxCnxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;256&quot; height=&quot;183&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;옵션 설정에서 Mesh Data의 Material을 0에서 1로 변경하고 ok 버튼을 클릭합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nRMh1/btsDmrztKNH/OmfxXBj2aE1W8uj5DuSyQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nRMh1/btsDmrztKNH/OmfxXBj2aE1W8uj5DuSyQk/img.png&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;580&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;59.57&quot; style=&quot;width: 58.8818%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nRMh1/btsDmrztKNH/OmfxXBj2aE1W8uj5DuSyQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnRMh1%2FbtsDmrztKNH%2FOmfxXBj2aE1W8uj5DuSyQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;624&quot; height=&quot;580&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dZCpJv/btsDp6nhbcs/kkKmZiFZNnTSzlc8ks5ft0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dZCpJv/btsDp6nhbcs/kkKmZiFZNnTSzlc8ks5ft0/img.png&quot; data-origin-width=&quot;311&quot; data-origin-height=&quot;426&quot; data-is-animation=&quot;false&quot; style=&quot;width: 39.9554%;&quot; data-widthpercent=&quot;40.43&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dZCpJv/btsDp6nhbcs/kkKmZiFZNnTSzlc8ks5ft0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdZCpJv%2FbtsDp6nhbcs%2FkkKmZiFZNnTSzlc8ks5ft0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;311&quot; height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Blender</category>
      <category>blender</category>
      <category>cell fraction</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/494</guid>
      <comments>https://onlab94.tistory.com/494#entry494comment</comments>
      <pubDate>Sat, 13 Jan 2024 14:58:06 +0900</pubDate>
    </item>
    <item>
      <title>[python] 이미지 속 한글 추출하기(OpenCV, Pyplot, Pytesseract)</title>
      <link>https://onlab94.tistory.com/493</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOfIF0/btsDneM6Grq/IZwTrbVMH6v1iPKNKCeSm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOfIF0/btsDneM6Grq/IZwTrbVMH6v1iPKNKCeSm0/img.png&quot; style=&quot;width:30.009494752566745%&quot; data-widthpercent=&quot;30.72&quot; data-filename=&quot;hello.png&quot; data-origin-height=&quot;351&quot; data-origin-width=&quot;221&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOfIF0/btsDneM6Grq/IZwTrbVMH6v1iPKNKCeSm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOfIF0%2FbtsDneM6Grq%2FIZwTrbVMH6v1iPKNKCeSm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;221&quot; height=&quot;351&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9LM1b/btsDnwmzr65/gLxOqRouZ1NhFPXAhJIo71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9LM1b/btsDnwmzr65/gLxOqRouZ1NhFPXAhJIo71/img.png&quot; style=&quot;width:36.368700231671966%&quot; data-widthpercent=&quot;37.23&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;249&quot; data-origin-width=&quot;190&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9LM1b/btsDnwmzr65/gLxOqRouZ1NhFPXAhJIo71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9LM1b%2FbtsDnwmzr65%2FgLxOqRouZ1NhFPXAhJIo71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;190&quot; height=&quot;249&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmxwBl/btsDj12xbDN/EEfXHppDBXIhOMmkHPm540/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmxwBl/btsDj12xbDN/EEfXHppDBXIhOMmkHPm540/img.png&quot; style=&quot;width:31.29622362041245%&quot; data-widthpercent=&quot;32.05&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;166&quot; data-origin-width=&quot;109&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmxwBl/btsDj12xbDN/EEfXHppDBXIhOMmkHPm540/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmxwBl%2FbtsDj12xbDN%2FEEfXHppDBXIhOMmkHPm540%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;109&quot; height=&quot;166&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;원본이미지 흑백 처리 이미지  글자 추출 결과물&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;이번 글에서는 이미지에서 문자를 추출하는 코드를 작성해 보았습니다. 이미지의 경우 쉽게 테스트하기 위해서 메모장에 글을 쓰고 이미지로 저장하였습니다. 이미지 추출 시 Naver Clover의 API와 Tesseract 사이에서 고민하였지만 Clover의 경우 자주 사용할 시 추가 금액이 발생하기 때문에 Tesseract으로 간단히 진행하였습니다. 한글의 경우 Clover가 더 성능이 우수하기에 Tesseract로 진행 시 인식률이 떨어질 가능성이 높으니 참고하시길 바랍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;⭐ 코드가 사용된 환경은 Windows와 jupyter notebook입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;OpenCV(Open Source Computer Vision)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;영상 처리에 사용하는 오픈 소스 라이브러리입니다. 카메라로 찍어서 할 수 있는 모든 일을 처리할 수 있습니다. 이번 글에서는 이미지를 읽어서 흑백으로 변환시키는데 사용됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Pyplot&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;Matplotlib를 MATALAB처럼 작동하게 만드는 모음입니다. 이번 글에서는 흑백으로 변환한 이미지를 확인하는데 사용됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;  Matplotlib : python 프로그래밍 언어 및 수학적 확장 NumPy 라이브러리를 활용한 플로팅 라이브러리&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;  글자 추출을 위해 흑백으로 이미지를 변환하는 이유&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;이미지 흑백 처리는 Grayscale로 이미지 전처리에 가장 기본이 되는 작업입니다. 디지털에서 이미지를 표현할 때 (pixelⅹpixel ⅹchannel)의 포맷으로 사용하는데 여기서 channel이 색상입니다. 기본 3개의 채널(빨강, 파랑, 초록)을 흑백 (채널 1개) 으로 변환하여 256단계의 명암만 표시하게 됩니다. 그 후에 binary나 blurring 등의 작업을 진행합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Pytesseract&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;python용 OCR(광학 문자 인식) 도구입니다. 이미지에 포함된 글자를 인식합니다. 이번 글에서는 흑백으로 변환한 이미지에서 글자를 추출하는 데 사용됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;OpenCV, Pyplot, Pytesseract 설치하기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1705029803697&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;!pip install opencv-python
!pip install matplotlib
!pip install pytesseract&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;❗ Windows에서 설치 후 Tesseract is not installed or it's not in your path 오류가 발생할 경우&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;caret-color: auto; letter-spacing: 0px;&quot;&gt;&amp;nbsp; 1. &lt;/span&gt;&lt;a style=&quot;letter-spacing: 0px;&quot; href=&quot;https://github.com/UB-Mannheim/tesseract/wiki&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;사이트&lt;/a&gt;&lt;span style=&quot;caret-color: auto; letter-spacing: 0px;&quot;&gt;에 접속하여 Windows용 실행 파일을 설치합니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;917&quot; data-origin-height=&quot;737&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tOHOH/btsDlB9KwOx/LcQSKCecsVKV3mlOrPTuA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tOHOH/btsDlB9KwOx/LcQSKCecsVKV3mlOrPTuA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tOHOH/btsDlB9KwOx/LcQSKCecsVKV3mlOrPTuA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtOHOH%2FbtsDlB9KwOx%2FLcQSKCecsVKV3mlOrPTuA1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;321&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;917&quot; data-origin-height=&quot;737&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; 2. 설치 시 Addtional language data(download)에서 Korean을 선택합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkcGDY/btsDkOVYmrS/bx9S5WsI41M6X8LUkkqe9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkcGDY/btsDkOVYmrS/bx9S5WsI41M6X8LUkkqe9k/img.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;388&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkcGDY/btsDkOVYmrS/bx9S5WsI41M6X8LUkkqe9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkcGDY%2FbtsDkOVYmrS%2Fbx9S5WsI41M6X8LUkkqe9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;388&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwMYG4/btsDkCnNHAO/gF8sF5u7fgs7dVjKllZIU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwMYG4/btsDkCnNHAO/gF8sF5u7fgs7dVjKllZIU0/img.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;388&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwMYG4/btsDkCnNHAO/gF8sF5u7fgs7dVjKllZIU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwMYG4%2FbtsDkCnNHAO%2FgF8sF5u7fgs7dVjKllZIU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;388&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; 3. 설치 경로를 복사하거나 기억해둡니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Pw8L5/btsDkDtrWPo/m1rFvDQWkkS950n2xiR7I1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Pw8L5/btsDkDtrWPo/m1rFvDQWkkS950n2xiR7I1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Pw8L5/btsDkDtrWPo/m1rFvDQWkkS950n2xiR7I1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPw8L5%2FbtsDkDtrWPo%2Fm1rFvDQWkkS950n2xiR7I1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;388&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; 4. 환경변수 PATH에 설치경로를 추가하거나 python작업 시 아래의 코드를 추가합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;  이 글에서는 코드를 추가하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1705030451011&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1705030862476&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 필요한 라이브러리 추가
import cv2
from matplotlib import pyplot as plt
import pytesseract

# pytesseract 사용을 위한 코드 추가
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

# 사용할 이미지 위치 주소 변수에 저장
image = r&quot;정확한 이미지 경로&quot;

# 이미지 파일 읽기
img = cv2.imread(image)

# 글자 추출 전처리를 위해 흑백으로 변환
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 흑백 처리한 이미지 확인
plt.imshow(gray)
plt.show()

# 한글과 영문 추출을 위한 config 내용 변수에 저장
config = ('-l kor+eng --oem 3 --psm 11')

# 이미지에서 글자 추출
output = pytesseract.image_to_string(gray, config=config)

# 추출한 글자 확인
print(output)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그램 개발/Python</category>
      <category>matplotlib</category>
      <category>OpenCV</category>
      <category>pytesseract</category>
      <category>Python</category>
      <category>이미지에서글자추출</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/493</guid>
      <comments>https://onlab94.tistory.com/493#entry493comment</comments>
      <pubDate>Fri, 12 Jan 2024 12:58:14 +0900</pubDate>
    </item>
    <item>
      <title>[양산/쿠팡] 물류센터 야간 단기 FC 알바 후기</title>
      <link>https://onlab94.tistory.com/492</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;friends1&quot; data-emoticon-name=&quot;034&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/034.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/034.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;고물가 시대... 회사에 다니지만 돈이 필요했던 저는 알바를 찾아보고 있었습니다. 주중에는 회사에 가기 때문에 단기 알바나 주말알바를 찾고 있었습니다. 생각보다 입맛에 맛는 알바는 찾기 힘들더라구요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;947&quot; data-origin-height=&quot;801&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buuIZo/btsC3ZIGnP2/Wb3UDuMrHVmHoKlJKewykK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buuIZo/btsC3ZIGnP2/Wb3UDuMrHVmHoKlJKewykK/img.png&quot; data-alt=&quot;알바몬 사이트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buuIZo/btsC3ZIGnP2/Wb3UDuMrHVmHoKlJKewykK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuuIZo%2FbtsC3ZIGnP2%2FWb3UDuMrHVmHoKlJKewykK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;338&quot; data-origin-width=&quot;947&quot; data-origin-height=&quot;801&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;알바몬 사이트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;알바 사이트에서 찾다 보면 항상 상위에 뜨는 쿠팡알바... 호기심 반 '남들도 다하는데 나라고 못하겠어'라는 호승심 반으로, 저도 모르게 이끌리듯이 알바 후기를 찾아보게되며 쿠팡 알바 대장정이 시작되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;friends1&quot; data-emoticon-name=&quot;037&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/037.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/037.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;결론부터 말씀드리면 양산 쿠팡 알바는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;비추천&lt;/b&gt;&lt;/span&gt;드립니다. 그 이유는 &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;간택이라는 말이 나올 정도로 &lt;u&gt;알바 신청 후 선택받기 힘들기 때문&lt;/u&gt;입니다. 심지어 교육 시작 전에 관리자님께서 선택받으신 여러분이라고 말씀하실 정도로 되기가 쉽지 않습니다. 양산 쿠팡의 경우 생각보다 TO가 나지 않는 편인데 비해 하루에도 지원자가 많으면 500명도 넘는다고 합니다... (다른 지점은 어떤지 잘 몰라서 양산 쿠팡 알바만 일단 비추천드립니다.)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;제 후기는 [&lt;b&gt;신청 &amp;rarr; 셔틀버스 및 건물 &amp;rarr; 업무 &amp;rarr; 알바비&lt;/b&gt;] 순서로 알려드리겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;신청&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 쿠펀치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byzolg/btsCZ6u2zjw/h8mq7EfZSqI9nrZnu5pf31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byzolg/btsCZ6u2zjw/h8mq7EfZSqI9nrZnu5pf31/img.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot; data-is-animation=&quot;false&quot; style=&quot;width: 69.129%; margin-right: 10px;&quot; data-widthpercent=&quot;69.94&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byzolg/btsCZ6u2zjw/h8mq7EfZSqI9nrZnu5pf31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyzolg%2FbtsCZ6u2zjw%2Fh8mq7EfZSqI9nrZnu5pf31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpPRPc/btsCTzyegMd/LKepSf25hJdzpqJpLzEOHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpPRPc/btsCTzyegMd/LKepSf25hJdzpqJpLzEOHK/img.png&quot; data-origin-width=&quot;191&quot; data-origin-height=&quot;250&quot; data-is-animation=&quot;false&quot; data-filename=&quot;edited_blob&quot; data-widthpercent=&quot;30.06&quot; style=&quot;width: 29.7082%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpPRPc/btsCTzyegMd/LKepSf25hJdzpqJpLzEOHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpPRPc%2FbtsCTzyegMd%2FLKepSf25hJdzpqJpLzEOHK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;191&quot; height=&quot;250&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;업무 신청을 하기 위해서는 앱 스토어에서 [&lt;b&gt;쿠펀치&lt;/b&gt;]라는 앱을 설치하셔야 합니다. 이 앱으로 업무신청, 출퇴근 확인 및 근로계약서 작성 등을 하기 때문에 &lt;u&gt;반드시 설치&lt;/u&gt;하셔야 합니다. 설치 후 일용직으로 가입 후 원하는 업무와 시간을 선택하여 업무 신청을 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 대기문자 및 답변&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/znJxq/btsC002GwmS/8SXKxvsXPN6kBqLX3bhJPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/znJxq/btsC002GwmS/8SXKxvsXPN6kBqLX3bhJPk/img.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1154&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; width=&quot;400&quot; height=&quot;427&quot; style=&quot;width: 34.6875%; margin-right: 10px;&quot; data-widthpercent=&quot;35.1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/znJxq/btsC002GwmS/8SXKxvsXPN6kBqLX3bhJPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FznJxq%2FbtsC002GwmS%2F8SXKxvsXPN6kBqLX3bhJPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1154&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ye17A/btsC4esiAL6/ytOzKwrcAE59koR8ZXgpr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ye17A/btsC4esiAL6/ytOzKwrcAE59koR8ZXgpr1/img.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;624&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; width=&quot;400&quot; height=&quot;231&quot; style=&quot;width: 64.1497%;&quot; data-widthpercent=&quot;64.9&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ye17A/btsC4esiAL6/ytOzKwrcAE59koR8ZXgpr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fye17A%2FbtsC4esiAL6%2FytOzKwrcAE59koR8ZXgpr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;624&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;신규대기접수 문자와 마감 안내 문자&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;업무 신청을 하고 나면 [&lt;b&gt;신규대기접수&lt;/b&gt;] 문자를 받았습니다. [&lt;b&gt;신규대기접수&lt;/b&gt;] 문자에서 요구하는 [&lt;b&gt;대기자 질문지&lt;/b&gt;]에 답장을 하게 되면 출근 확정이 날 경우 신규의 경우 3번과 같이 전화가 오게 되고 아닐 경우 오른쪽 이미지처럼 마감 안내 문자가 도착합니다. 저는 29일과 30일 업무 신청을 했는데 29일만 선택되어서 하루만 일을 하고 왔습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3. 전화&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;신규 지원이라 그런지 전화로 연락이 오셔서 셔틀버스 타는 것이라던지 같이 신청한 사람이 있는지에 대하여 물어보셨습니다. 그리고 주의할 점에 대해서도 언급해 주셨는데 주로 기억나는 부분은 셔틀버스 놓치지 말라는 말이었습니다. 이런 전화 후 아래와 같이 [&lt;b&gt;출근확정&lt;/b&gt;] 문자를 받았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1610&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfOYom/btsCWL511Tu/qH7wHdog0D3K9cc7smDP10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfOYom/btsCWL511Tu/qH7wHdog0D3K9cc7smDP10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfOYom/btsCWL511Tu/qH7wHdog0D3K9cc7smDP10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfOYom%2FbtsCWL511Tu%2FqH7wHdog0D3K9cc7smDP10%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;200&quot; height=&quot;298&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1610&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;4. 준비물&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqeoU4/btsC30OoMvG/03xPmsxMUXu4jrZalnvu6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqeoU4/btsC30OoMvG/03xPmsxMUXu4jrZalnvu6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqeoU4/btsC30OoMvG/03xPmsxMUXu4jrZalnvu6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqeoU4%2FbtsC30OoMvG%2F03xPmsxMUXu4jrZalnvu6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;451&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1218&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;문자로 주의 사항 및 준비물에 대해서 보내주십니다. 하지만 여기서 가장 필수 준비물은 [&lt;b&gt;신분증&lt;/b&gt;]과 &lt;b&gt;본인명의의 계좌&lt;/b&gt;입니다. 자물쇠와 볼펜의 경우 없으면 관리동에 있는 편의점에서 구매할 수 있지만 [&lt;b&gt;신분증&lt;/b&gt;]이 없을 경우 일을 하지 못하니 반드시 챙기셔야 합니다. 그리고 &lt;u&gt;타인명의 계좌로 근무가 불가&lt;/u&gt;하기 때문에 &lt;b&gt;본인명의 계좌&lt;/b&gt; 꼭 준비하셔야 합니다. 마지막으로 복장의 경우 일을 하고 나면 매우 더러워지기 때문에 편안하고 복장을 입고 운동화를 신고 가시길 추천드립니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;⭐ FC의 경우 장갑과 핫팩을 지급해주셨으니 따로 장갑은 안챙기셔도 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;⭐ 참고로 비니를 제외한 모자의 경우 시야를 가리기 때문에 금지합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;셔틀버스 및 건물&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 셔틀버스 노선&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;양산 쿠팡은 부산 노선이 많습니다. 쿠펀치에서 업무 신청 시 자기 집과 가까운 거리의 버스노선을 알려주기 때문에 선택한 곳에서 10~15분 전에 미리 나와서 기다리시면 됩니다. &lt;a href=&quot;https://cfsyangsan.modoo.at/?link=ewiq56hy&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이 사이트&lt;/a&gt;에서 버스 노선 확인 가능합니다. 버스의 경우 버스 유리 앞면에 양산 쿠팡이라고 적혀 있으니 확인하시고 타시면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 건물&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;건물은 셔틀버스에서 내리면 관리동과 업무동으로 나뉘게 되는데 모든 분들이 관리동으로 향하니 따라가시면 됩니다. 관리동에는 편의점이 있으니 혹시나 놓치신 분들은 편의점 있는 건물로 가시면 됩니다. &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; letter-spacing: 0px;&quot;&gt;관리동에 가시게 되면 무조건 지하 식당 쪽으로 가시면 됩니다. 가시면 관리자 2분이 계시는데 처음 왔다고 하면 친절하게 안내해 주십니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;업무&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 교육&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;2357&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p8Swi/btsCX6vjWHU/6tX7WOX8kbMJaIiogcbWK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p8Swi/btsCX6vjWHU/6tX7WOX8kbMJaIiogcbWK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p8Swi/btsCX6vjWHU/6tX7WOX8kbMJaIiogcbWK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp8Swi%2FbtsCX6vjWHU%2F6tX7WOX8kbMJaIiogcbWK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;419&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;2357&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;관리동 지하에서 관리자분들에게서 2개의 종이와 2개의 카드키를 받게 됩니다. 그것들을 받고 안내에 따라서 식당으로 들어가시면 됩니다. 코팅된 종이에 나와있는 대로 &lt;u&gt;와이파이 연결과&amp;nbsp;&lt;b&gt;쿠펀치&lt;/b&gt;로 출근 센싱을 진행&lt;/u&gt;합니다. 이 출근 센싱이 되어야 나중에 퇴근 후 퇴근 센싱이 가능합니다. 이것으로 돈이 지불되기 때문에 매우 중요합니다! &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;7시부터 교육이 시작되는데 거의 영상교육으로 이루어져 있으며 영상교육이 마치면 8시부터 각 업무의 관리자들이 내려와서 교육을 진행합니다. 모든 교육 종료 후 1층으로 이동하여 사물함에 짐을 넣고 업무동으로 이동합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 업무 내용&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;저는 FC 업무였기에 업무동 3층으로 이동하였습니다. 여기서 추가적으로 실무 교육을 받고 실습도 합니다. 그 후에 여러 층으로 나뉘는 것 같았습니다. 저는 3층에서 일하였지만 저랑 다른 분께서는 2층으로 가셨습니다. 참고로 이날 신입 알바는 저 포함 2명이었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;523&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oNiim/btsCSBb2iOe/AcSu4pXkPr3rK3RUhgNIW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oNiim/btsCSBb2iOe/AcSu4pXkPr3rK3RUhgNIW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oNiim/btsCSBb2iOe/AcSu4pXkPr3rK3RUhgNIW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoNiim%2FbtsCSBb2iOe%2FAcSu4pXkPr3rK3RUhgNIW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;367&quot; data-origin-width=&quot;523&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;FC 업무를 간략하게 설명하면 지급받은 PDA라는 기기에서 출고될 물건이 뜨면 토트에 담아서 컨베이어 벨트에 보내는 작업을 합니다. 이때 이 토트를 이름은 기억 안 나지만 폭이 좁은 기다란 수레에 6개씩 실어서 다닙니다. 더 많이 다니시는 분들도 계시던데 전 그냥 시키는 대로 했습니다. PDA가 있기 때문에 물건을 잘못 담는 실수는 거의 일어나지 않는다고 볼 수 있습니다. 실수하지 않도록 물건 위치바코드, 수량, 토드 등을 확인할 수 있기 때문입니다. 하지만 수량 실수는 일어날 수 있기 때문에 정신줄은 잡고 일해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;friends1&quot; data-emoticon-name=&quot;021&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/021.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/021.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;주차장 같이 넓은 공간에서 수레를 끌고&amp;nbsp;다니며 어느 정도 업무에 익숙해지면 10시 20분쯤... 식사시간이 됩니다. 사진으로 찍지는 못했지만 탕수육, 콩나물국, 김치, 고추장아찌 등이 나왔는데 맛은 소문에 비해서 그냥저냥이었습니다. 귓동냥으로 들은 바로 이날은 맛없는 날이었다고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;201&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K68oj/btsC1EZqeEF/yGye0fHpu5STSsSX1zgJ91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K68oj/btsC1EZqeEF/yGye0fHpu5STSsSX1zgJ91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K68oj/btsC1EZqeEF/yGye0fHpu5STSsSX1zgJ91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK68oj%2FbtsC1EZqeEF%2FyGye0fHpu5STSsSX1zgJ91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;142&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;201&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;식사 후 다시 업무를 하다가 &quot;와... 다리 아파서 좀 쉬었으면 좋겠는데...&quot; 이런 생각이 들쯤 쉬는 시간이 돌아옵니다. 직원분들이 삼삼오오 모여서 간식도 드시고 수다도 떠시는데 혼자 지원한 신입 알바는 혼자서 덩그러니 의자에 가만히 앉아있었습니다. 그리고 신기하게 40분쯤 쉬고 나면 다시 일할 수 있는 몸이 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;friends1&quot; data-emoticon-name=&quot;034&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/034.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/034.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;그러나 일이 끝날 때에는 저는 혼이 나간 듯이 급격하게 피로감이 몰려와서 멍 때리면서 나왔던 것 같습니다. 관리동을 나오면서 &lt;u&gt;개인바코드가 없는 카드키를 업무동 출입구 근처 바구니 안에 놓고 나와야 합니다.&lt;/u&gt; 너무 정신줄 놓고 있어서 못 보고 지나쳤는데 친절하신 분이 알려주셔서 잘 놓고 왔습니다. &lt;u&gt;&lt;b&gt;쿠펀치&lt;/b&gt;로 퇴근 센싱&lt;/u&gt; 후&amp;nbsp;타고 온 셔틀버스로 퇴근 시간 20분 전까지 가서 타시면 됩니다. 퇴근 센싱을 하지 않으면 나중에 쿠팡에서 연락 오고&amp;nbsp;알바비와도 관계되니 꼭 하셔야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;알바비&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;874&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7inYq/btsC4fLxNMm/6xirMq1e76gtiMchYJrQB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7inYq/btsC4fLxNMm/6xirMq1e76gtiMchYJrQB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7inYq/btsC4fLxNMm/6xirMq1e76gtiMchYJrQB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7inYq%2FbtsC4fLxNMm%2F6xirMq1e76gtiMchYJrQB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;978&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;874&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;주말과 신정이 끼어있어서 1월 2일에 받게 되었습니다. 보통은 알바 후 다음날 입금된다고 합니다. 저는 다음날도 신청하여 주휴수당까지 노렸었지만... 안타깝게도 30일의 경우 선택받지 못하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;niniz&quot; data-emoticon-name=&quot;010&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/010.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/010.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: start;&quot;&gt;&amp;nbsp;여담 입니다만, 다른 알바 후기에서는 관리자분들이 불친절하다는 평이 있었는데 저는 특별히 그런 느낌을 받지 못했습니다. 실수해도 잘 알려주시고 신입이라고 많이 챙겨주셨습니다. 그리고 어디로 가야 하는지 몰라서 일하시는 분들에게 많이 질문하였는데 다들 친절히 답해주셔서 인류애를 느꼈습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;niniz&quot; data-emoticon-name=&quot;027&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/027.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/027.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;저 같은 경우는 업무에 대한 강도보다 계획성 있게 일을 할 수 없기 때문에 앞으로 신청을 하지 않을 것 같습니다. 혹시나 한 번 해보고 싶으신 분은 업무에 대해서는 겁을 내지 마시고, 다른 부분들을 고려하셔서 결정을 내리시는 것을 추천드립니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>지극히 개인적인 이야기</category>
      <category>알바후기</category>
      <category>양산쿠팡</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/492</guid>
      <comments>https://onlab94.tistory.com/492#entry492comment</comments>
      <pubDate>Wed, 3 Jan 2024 16:06:58 +0900</pubDate>
    </item>
    <item>
      <title>[python] 유튜브 커뮤니티 글 가져오기(Selenium)</title>
      <link>https://onlab94.tistory.com/491</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;friends1&quot; data-emoticon-name=&quot;036&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/036.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/036.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;저는 미라클 모닝 활동을 하는 것은 아니지만, 매일 아침 경제 유튜버의 커뮤니티 글(경제 내용)을 노션에 정리합니다. 바쁜 아침에 매번 유튜브에 유튜버를 검색해서 정리하다 보니 너무 귀찮았습니다. 그리하여 python Selenium을 사용하여 유튜브 커뮤니티 글을 가져오는 코드를 만들어 보았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;⭐ 코드가 사용된 환경은 jupyter notebook 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Selenium&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;Selenium은 웹 테스트 자동화 프레임워크입니다. webdriver를 이용하여 웹 UI나 기능 테스트에 주로 사용합니다. 이러한 특성 때문에 Selenium을 활용하면 웹상의 업무를 자동화할 수도 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;  python으로 사이트의 정보를 추출할 때는 주로 BeautifulSoup 라이브러리를 사용합니다. 하지만 자바스크립트로 생선 된 동적 정보는 가져올 수 없다는 단점이 있습니다. 이러한 단점 때문에 Selenium을 사용하여 데이터를 수집했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Selenium 설치하기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1704174176221&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;!pip install selenium&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;Youtube 커뮤니티 구성 보기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;⭐ YouTube Korea 페이지로 예를 들어보았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pofW6/btsCX6hoSEg/e4r0JKK927WKBmO8La7R7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pofW6/btsCX6hoSEg/e4r0JKK927WKBmO8La7R7k/img.png&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;520&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;52.71&quot; data-filename=&quot;blob&quot; style=&quot;width: 52.0999%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pofW6/btsCX6hoSEg/e4r0JKK927WKBmO8La7R7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpofW6%2FbtsCX6hoSEg%2Fe4r0JKK927WKBmO8La7R7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;899&quot; height=&quot;520&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOswXV/btsC2DMfySn/eWnrm2xditv98qtZk3eGzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOswXV/btsC2DMfySn/eWnrm2xditv98qtZk3eGzK/img.png&quot; data-origin-width=&quot;259&quot; data-origin-height=&quot;167&quot; data-is-animation=&quot;false&quot; style=&quot;width: 46.7373%;&quot; data-widthpercent=&quot;47.29&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOswXV/btsC2DMfySn/eWnrm2xditv98qtZk3eGzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOswXV%2FbtsC2DMfySn%2FeWnrm2xditv98qtZk3eGzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;259&quot; height=&quot;167&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;YouTube Korea 커뮤니티&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;커뮤니티의 구성을 톺아보면 &quot;yt-formatted-string&quot;이라는 커스텀 태그 안에 id로 &quot;content-text&quot;을 사용하고 있습니다. 그리고 기본 창에서는 커뮤니티 글을 총 9개 확인할 수 있습니다. 크롤링할 때 &quot;content-text&quot;를 지표 삼아서 데이터를 가져오면 됩니다. 혹시 커뮤니티 글을 9개 이상 가져오고 싶을 경우 page down을 사용하여 페이지를 내린 다음 데이터를 가져와야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1704195382921&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 필요한 라이브러리 import =====================
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# ==============================================

# 브라우저 선택
browser = webdriver.Chrome()

page = &quot;원하는 유튜브 커뮤니티 페이지 주소 입력&quot;

# 사이트 접속하기
browser.get(page)
# 로딩 시간을 위한 1초 시간 지연
time.sleep(1)

# ---------- 페이지를 내려야할 경우 --------------------
# 'body' 부분 찾아서 body 변수에 저장
body = browser.find_element(By.CSS_SELECTOR, 'body')

# 원하는 만큼 for문의 숫자를 변경하시면 됩니다.
for i in range(10):
    # 페이지 아래로 내리기
    body.send_keys(Keys.PAGE_DOWN)

# 로딩 시간을 위한 3초 시간 지연
time.sleep(3)
# ----------------------------------------------------

# content-text 라는 id를 가진 것들 가져오기    
datas = browser.find_elements(By.ID, &quot;content-text&quot;)

# 데이터 추출
for data in datas:
	print(data.text)

# 1초 시간 지연
time.sleep(1)

# 브라우저 닫기
browser.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;가장 최근 데이터를 추출할 경우에는 데이터 추출 부분에서 for문 대신 datas[0].text를 바로 print 하시면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그램 개발/Python</category>
      <category>Python</category>
      <category>selenium</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/491</guid>
      <comments>https://onlab94.tistory.com/491#entry491comment</comments>
      <pubDate>Tue, 2 Jan 2024 20:40:38 +0900</pubDate>
    </item>
    <item>
      <title>[python] Two's Complement</title>
      <link>https://onlab94.tistory.com/489</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.codewars.com/kata/58d4785a2285e7795c00013b/train/python&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.codewars.com/kata/58d4785a2285e7795c00013b/train/python&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1689641167513&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Codewars - Achieve mastery through coding practice and developer mentorship&quot; data-og-description=&quot;A coding practice website for all programming levels &amp;ndash; Join a community of over 3 million developers and improve your coding skills in over 55 programming languages!&quot; data-og-host=&quot;www.codewars.com&quot; data-og-source-url=&quot;https://www.codewars.com/kata/58d4785a2285e7795c00013b/train/python&quot; data-og-url=&quot;https://www.codewars.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wtVQB/hyTmsugpjh/wHmGxkvb8LdMXKW7nGZPsk/img.png?width=1280&amp;amp;height=670&amp;amp;face=0_0_1280_670,https://scrap.kakaocdn.net/dn/wue3b/hyTk5UYY1k/3bRzGmM6pGKLPDdLm6BMGK/img.png?width=1280&amp;amp;height=670&amp;amp;face=0_0_1280_670,https://scrap.kakaocdn.net/dn/kBRpf/hyTk0lQQ0L/FTPEyemxsIaRossPmflPF0/img.jpg?width=800&amp;amp;height=800&amp;amp;face=337_205_562_450&quot;&gt;&lt;a href=&quot;https://www.codewars.com/kata/58d4785a2285e7795c00013b/train/python&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.codewars.com/kata/58d4785a2285e7795c00013b/train/python&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wtVQB/hyTmsugpjh/wHmGxkvb8LdMXKW7nGZPsk/img.png?width=1280&amp;amp;height=670&amp;amp;face=0_0_1280_670,https://scrap.kakaocdn.net/dn/wue3b/hyTk5UYY1k/3bRzGmM6pGKLPDdLm6BMGK/img.png?width=1280&amp;amp;height=670&amp;amp;face=0_0_1280_670,https://scrap.kakaocdn.net/dn/kBRpf/hyTk0lQQ0L/FTPEyemxsIaRossPmflPF0/img.jpg?width=800&amp;amp;height=800&amp;amp;face=337_205_562_450');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Codewars - Achieve mastery through coding practice and developer mentorship&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;A coding practice website for all programming levels &amp;ndash; Join a community of over 3 million developers and improve your coding skills in over 55 programming languages!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.codewars.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1689641263023&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def to_twos_complement(binary, bits):
    return int(binary.replace(' ', ''), 2) -2 ** bits * int(binary[0])

def from_twos_complement(n, bits):
    return bin(n &amp;amp; (2**bits-1))[2:].zfill(bits)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>알고리즘/코드워</category>
      <category>2의보수</category>
      <category>codewars</category>
      <category>Python</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/489</guid>
      <comments>https://onlab94.tistory.com/489#entry489comment</comments>
      <pubDate>Tue, 18 Jul 2023 09:49:31 +0900</pubDate>
    </item>
    <item>
      <title>[flutter] 음원 정보 접근하기 : on audio query</title>
      <link>https://onlab94.tistory.com/488</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bw7MHf/btr9pYTx3Md/G4zNTvro6i0Um4g5IJX0bK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bw7MHf/btr9pYTx3Md/G4zNTvro6i0Um4g5IJX0bK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bw7MHf/btr9pYTx3Md/G4zNTvro6i0Um4g5IJX0bK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbw7MHf%2Fbtr9pYTx3Md%2FG4zNTvro6i0Um4g5IJX0bK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;656&quot; height=&quot;123&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;123&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;앱에서 기기 내부에 존재하는 음원을 재생하려면 우선 음원 파일의 정보를 읽어야 합니다. flutter에서는 path_provider라는 패키지를 사용하여 경로를 알아낸 뒤 음원 재생 패키지를 사용하여 접근할 수 있지만, 오직 음원 파일에만 접근하려면 on audio query를 사용하는 것이 편리합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;패키지 설치(택 1)&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;&amp;middot; Terminal에서 [flutter pub add on_audio_query] 입력&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;285&quot; data-origin-height=&quot;39&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K0s7C/btr9m9hlW78/qig401y7VMwebhLBUUVrhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K0s7C/btr9m9hlW78/qig401y7VMwebhLBUUVrhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K0s7C/btr9m9hlW78/qig401y7VMwebhLBUUVrhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK0s7C%2Fbtr9m9hlW78%2Fqig401y7VMwebhLBUUVrhk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;285&quot; height=&quot;39&quot; data-origin-width=&quot;285&quot; data-origin-height=&quot;39&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;&amp;middot; pubspec.yaml에서 [on_audio_query:버전] 입력 후 Pub get 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;229&quot; data-origin-height=&quot;133&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l1giL/btr9wHjuaTL/BK5xtplPfBGe2WNkkJtRsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l1giL/btr9wHjuaTL/BK5xtplPfBGe2WNkkJtRsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l1giL/btr9wHjuaTL/BK5xtplPfBGe2WNkkJtRsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl1giL%2Fbtr9wHjuaTL%2FBK5xtplPfBGe2WNkkJtRsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;229&quot; height=&quot;133&quot; data-origin-width=&quot;229&quot; data-origin-height=&quot;133&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;659&quot; data-origin-height=&quot;28&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7fvxa/btr9rhlb5Uw/cY4P3PBEoAScObtCkLCu20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7fvxa/btr9rhlb5Uw/cY4P3PBEoAScObtCkLCu20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7fvxa/btr9rhlb5Uw/cY4P3PBEoAScObtCkLCu20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7fvxa%2Fbtr9rhlb5Uw%2FcY4P3PBEoAScObtCkLCu20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;659&quot; height=&quot;28&quot; data-origin-width=&quot;659&quot; data-origin-height=&quot;28&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;네이티브 설정&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&amp;middot; Android&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp; AndroidManifest.xml에 권한을 추가합니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1681187932581&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;manifest&amp;gt;
  
  &amp;lt;!-- Android 12 or below  --&amp;gt;
  &amp;lt;uses-permission android:name=&quot;android.permission.WRITE_EXTERNAL_STORAGE&quot;/&amp;gt;
  &amp;lt;uses-permission android:name=&quot;android.permission.READ_EXTERNAL_STORAGE&quot;/&amp;gt;

  &amp;lt;!-- Android 13 or greater  --&amp;gt;
  &amp;lt;uses-permission android:name=&quot;android.permission.READ_MEDIA_IMAGES&quot;/&amp;gt;
  &amp;lt;uses-permission android:name=&quot;android.permission.READ_MEDIA_VIDEO&quot;/&amp;gt;
  &amp;lt;uses-permission android:name=&quot;android.permission.READ_MEDIA_AUDIO&quot;/&amp;gt;

&amp;lt;/manifest&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;middot; IOS&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp; Info.plist에 권한을 추가합니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1681187989253&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;dict&amp;gt;
  ...

	&amp;lt;key&amp;gt;NSAppleMusicUsageDescription&amp;lt;/key&amp;gt;
	&amp;lt;string&amp;gt;$(PROJECT_NAME) requires access to media library&amp;lt;/string&amp;gt;

  ...
&amp;lt;/dict&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;권한 설정&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;on audio query에서는 권한 요청에 관련된 메서드가 존재하지만, permission handler를 사용하는 것을 권유드리며 permission handler에 대한 사용법은 &lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://onlab94.tistory.com/487&quot;&gt;이 페이지&lt;/a&gt;를 참고하시길 바랍니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1681191730865&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 권한 상태 확인
Future&amp;lt;bool&amp;gt; permissionsStatus() async {
  return platform.permissionsStatus();
}


// 권한 요청
Future&amp;lt;bool&amp;gt; permissionsRequest({bool retryRequest = false}) async {
  return platform.permissionsRequest(retryRequest: retryRequest);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;음원정보 읽기&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;on audio query에서 제공하는 query~ 메서드를 사용하여 음원정보를 읽을 수 있습니다. 사용되는 구조의 자세한 설명은 Documentation 문서를 참고하시길 바랍니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1681191023339&quot; class=&quot;bash&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;final OnAudioQuery _audioQuery = OnAudioQuery();

// 음원 전체
List&amp;lt;SongModel&amp;gt; audios = await _audioQuery.querySongs();

// 앨범
List&amp;lt;AlbumModel&amp;gt; albums = await _audioQuery.queryAlbums();

// 아티스트
List&amp;lt;ArtistModel&amp;gt; artists = await _audioQuery.queryArtists();

// 플레이리스트
List&amp;lt;PlaylistModel&amp;gt; playlists = await _audioQuery.queryPlaylists();

// 장르
List&amp;lt;GenreModel&amp;gt; genres = await _audioQuery.queryGenres();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;⭐ &lt;a href=&quot;https://pub.dev/documentation/on_audio_query_platform_interface/latest/on_audio_query_helper/SongModel-class.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SongModel, &lt;/a&gt;&lt;a href=&quot;https://pub.dev/documentation/on_audio_query_platform_interface/latest/on_audio_query_helper/AlbumModel-class.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AlbumModel, &lt;/a&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;a href=&quot;https://pub.dev/documentation/on_audio_query_platform_interface/latest/on_audio_query_helper/ArtistModel-class.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ArtistModel, &lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;a href=&quot;https://pub.dev/documentation/on_audio_query_platform_interface/latest/on_audio_query_helper/PlaylistModel-class.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PlaylistModel, &lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;a href=&quot;https://pub.dev/documentation/on_audio_query_platform_interface/latest/on_audio_query_helper/GenreModel-class.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GenreModel&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;앨범커버 이미지로 표시&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;&amp;middot; 위젯 사용&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp; ⭐ 더 자세한 것들은 &lt;a href=&quot;https://pub.dev/documentation/on_audio_query/latest/on_audio_query/QueryArtworkWidget-class.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이 페이지&lt;/a&gt;를 참고하시길 바랍니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1681190531489&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Widget someOtherName() async {
    return QueryArtworkWidget(
      id: &amp;lt;audioId&amp;gt;,
      type: ArtworkType.AUDIO,
    );
}

// 예시
Container(
    child: QueryArtworkWidget(
    id: _session_id,
    type: ArtworkType.AUDIO,
    // 이미지가 없을 경우 사용할 이미지
    nullArtworkWidget: const Image(
      image: AssetImage('assets/smile.png'),
      fit: BoxFit.fill,
      height: 200,
      width: 200,
    ),
    // 크기
    artworkWidth: 200,
    artworkHeight: 200,
    // 테두리 형태
    artworkBorder: BorderRadius.circular(100),
    ),
),&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_KakaoTalk_20230228_122720392_01.jpg&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;293&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOxzaW/btr9qCwzB0C/ag9J3OFXax3U0xpBQOK7G1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOxzaW/btr9qCwzB0C/ag9J3OFXax3U0xpBQOK7G1/img.png&quot; data-alt=&quot;예시 null 형태&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOxzaW/btr9qCwzB0C/ag9J3OFXax3U0xpBQOK7G1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOxzaW%2Fbtr9qCwzB0C%2Fag9J3OFXax3U0xpBQOK7G1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;200&quot; height=&quot;200&quot; data-filename=&quot;edited_KakaoTalk_20230228_122720392_01.jpg&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;293&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시 null 형태&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;&amp;middot; Uint8List 사용&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp; ⭐ 이 메서드를 사용하기 위해서는&amp;nbsp; API &amp;gt;= 29, Android Q/10이 필수입니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1681189727737&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Uint8List something = await _audioQuery.queryArtwork(
    &amp;lt;audioId&amp;gt;,
    ArtworkType.AUDIO,
    ...
);
  
  
// 위젯 사용 시
static Future&amp;lt;ui.Image&amp;gt; bytesToImage(Uint8List imgBytes) async{
    ui.Codec codec = await ui.instantiateImageCodec(imgBytes); 
    ui.FrameInfo frame = await codec.getNextFrame(); 
    return frame.image; 
}&lt;/code&gt;&lt;/pre&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 162px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style3&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 39.3023%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;파라미터&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 60.6977%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 37px;&quot;&gt;
&lt;td style=&quot;width: 39.3023%; height: 37px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;audioId&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 60.6977%; height: 37px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;int&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;query로 얻은 audio의 session id입니다.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 39.3023%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;type&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 60.6977%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;ArtworkType.AUDIO, ArtworkType.ALBUM&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 39.3023%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;format&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 60.6977%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;ArtworkFormat.PNG, ArtworkFormat.JPEG&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 57px;&quot;&gt;
&lt;td style=&quot;width: 39.3023%; height: 57px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;size&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 60.6977%; height: 57px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;int&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;200보다 클 경우 크게 차이는 없지만 성능이 느려질 수 있습니다.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 39.3023%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;quality&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 60.6977%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;int&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;출처&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a href=&quot;https://pub.dev/packages/on_audio_query&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://pub.dev/packages/on_audio_query&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1681192055417&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;on_audio_query | Flutter Package&quot; data-og-description=&quot;Flutter Plugin used to query audios/songs infos [title, artist, album, etc..] from device storage.&quot; data-og-host=&quot;pub.dev&quot; data-og-source-url=&quot;https://pub.dev/packages/on_audio_query&quot; data-og-url=&quot;https://pub.dev/packages/on_audio_query&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/I4exM/hySe0lOrNd/EPquHi25KGR4Mpm33i9JEK/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640,https://scrap.kakaocdn.net/dn/2oKSS/hySe9DbGU9/Iv4Qo2kxYDJlewvynX3cnK/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640&quot;&gt;&lt;a href=&quot;https://pub.dev/packages/on_audio_query&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://pub.dev/packages/on_audio_query&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/I4exM/hySe0lOrNd/EPquHi25KGR4Mpm33i9JEK/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640,https://scrap.kakaocdn.net/dn/2oKSS/hySe9DbGU9/Iv4Qo2kxYDJlewvynX3cnK/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;on_audio_query | Flutter Package&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Flutter Plugin used to query audios/songs infos [title, artist, album, etc..] from device storage.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;pub.dev&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그램 개발/Flutter</category>
      <category>Flutter</category>
      <author>(ㅇㅅㅎ)</author>
      <guid isPermaLink="true">https://onlab94.tistory.com/488</guid>
      <comments>https://onlab94.tistory.com/488#entry488comment</comments>
      <pubDate>Tue, 11 Apr 2023 14:48:22 +0900</pubDate>
    </item>
  </channel>
</rss>