<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>세모데</title>
    <link>https://semode.tistory.com/</link>
    <description>세상에 모든 데이터를 다루어 보고 싶습니다.</description>
    <language>ko</language>
    <pubDate>Fri, 3 Jul 2026 01:40:11 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>세모데</managingEditor>
    <item>
      <title>mysql db timezone 변경</title>
      <link>https://semode.tistory.com/684</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;1. timezone 정보 생성 ( ex Asia/Seoul )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql&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;2. 서버 timezone 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;timedatectl set-timezone Asia/Seoul&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;3. mysql db에서 timezone 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;set&lt;/b&gt; &lt;b&gt;global&lt;/b&gt; time_zone = 'Asia/Seoul';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;set&lt;/b&gt; session time_zone = 'Asia/Seoul';&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;localectl set-locale LANG=ko_KR.utf8&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDB/MySQL</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/684</guid>
      <comments>https://semode.tistory.com/684#entry684comment</comments>
      <pubDate>Fri, 29 Mar 2024 15:42:56 +0900</pubDate>
    </item>
    <item>
      <title>module code for terraform</title>
      <link>https://semode.tistory.com/682</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;You can refer the following example for building google cloud resource&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git&amp;nbsp;clone&amp;nbsp;&lt;a href=&quot;https://github.com/terraform-google-modules/terraform-google-network&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/terraform-google-modules/terraform-google-network&lt;/a&gt;&lt;br /&gt;cd terraform-google-network&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;1. directory structure&lt;/p&gt;
&lt;div&gt;
&lt;pre class=&quot;css&quot; style=&quot;background-color: #2b2b2b; color: #f8f8f2;&quot;&gt;&lt;code&gt;├── LICENSE
├── README.md
├── main.tf
├── variables.tf
├── outputs.tf&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LICESE : describe the license like apache or gpl&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;README.md : explain the source code&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;main.tf : call the module in .terraform directory&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;variables.tf : define variables using module api&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;outputs.tf : define output result after making the resource&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;In addition, the .terraform directory includes module directory calling main and plugin directory.&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;2.&amp;nbsp; main.tf&lt;/p&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background-color: #2b2b2b; color: #f8f8f2; text-align: start;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;module &quot;test-vpc-module&quot; {
  source       = &quot;terraform-google-modules/network/google&quot;
  version      = &quot;~&amp;gt; 6.0&quot;
  project_id   = var.project_id # Replace this with your project ID
  network_name = var.network_name
  mtu          = 1460
  subnets = [
    {
      subnet_name   = &quot;subnet-01&quot;
      subnet_ip     = &quot;10.10.10.0/24&quot;
      subnet_region = &quot;us-west1&quot;
    },
    {
      subnet_name           = &quot;subnet-02&quot;
      subnet_ip             = &quot;10.10.20.0/24&quot;
      subnet_region         = &quot;us-west1&quot;
      subnet_private_access = &quot;true&quot;
      subnet_flow_logs      = &quot;true&quot;
    },
    {
      subnet_name               = &quot;subnet-03&quot;
      subnet_ip                 = &quot;10.10.30.0/24&quot;
      subnet_region             = &quot;us-west1&quot;
      subnet_flow_logs          = &quot;true&quot;
      subnet_flow_logs_interval = &quot;INTERVAL_10_MIN&quot;
      subnet_flow_logs_sampling = 0.7
      subnet_flow_logs_metadata = &quot;INCLUDE_ALL_METADATA&quot;
      subnet_flow_logs_filter   = &quot;false&quot;
    }
  ]
}&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;3. variables.tf&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;variable&amp;nbsp;&quot;project_id&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;description&amp;nbsp;=&amp;nbsp;&quot;The&amp;nbsp;project&amp;nbsp;ID&amp;nbsp;to&amp;nbsp;host&amp;nbsp;the&amp;nbsp;network&amp;nbsp;in&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;default&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;FILL&amp;nbsp;IN&amp;nbsp;YOUR&amp;nbsp;PROJECT&amp;nbsp;ID&amp;nbsp;HERE&quot;&lt;br /&gt;}&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;variable&amp;nbsp;&quot;network_name&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;description&amp;nbsp;=&amp;nbsp;&quot;The&amp;nbsp;name&amp;nbsp;of&amp;nbsp;the&amp;nbsp;VPC&amp;nbsp;network&amp;nbsp;being&amp;nbsp;created&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;default&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= &quot;examplevpc&quot;&lt;br /&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;4. output.tf&lt;/p&gt;
&lt;pre class=&quot;ceylon&quot; style=&quot;background-color: #2b2b2b; color: #f8f8f2; text-align: start;&quot;&gt;&lt;code&gt;output &quot;network_name&quot; {
  value       = module.test-vpc-module.network_name
  description = &quot;The name of the VPC being created&quot;
}
output &quot;network_self_link&quot; {
  value       = module.test-vpc-module.network_self_link
  description = &quot;The URI of the VPC being created&quot;
}
output &quot;project_id&quot; {
  value       = module.test-vpc-module.project_id
  description = &quot;VPC project id&quot;
}
output &quot;subnets_names&quot; {
  value       = module.test-vpc-module.subnets_names
  description = &quot;The names of the subnets being created&quot;
}
output &quot;subnets_ips&quot; {
  value       = module.test-vpc-module.subnets_ips
  description = &quot;The IP and cidrs of the subnets being created&quot;
}
output &quot;subnets_regions&quot; {
  value       = module.test-vpc-module.subnets_regions
  description = &quot;The region where subnets will be created&quot;
}
output &quot;subnets_private_access&quot; {
  value       = module.test-vpc-module.subnets_private_access
  description = &quot;Whether the subnets will have access to Google API's without a public IP&quot;
}
output &quot;subnets_flow_logs&quot; {
  value       = module.test-vpc-module.subnets_flow_logs
  description = &quot;Whether the subnets will have VPC flow logs enabled&quot;
}
output &quot;subnets_secondary_ranges&quot; {
  value       = module.test-vpc-module.subnets_secondary_ranges
  description = &quot;The secondary ranges associated with these subnets&quot;
}
output &quot;route_names&quot; {
  value       = module.test-vpc-module.route_names
  description = &quot;The routes associated with this VPC&quot;
}&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;5. terraform command when above resource make&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;# in advance, the module is making into .terraform directory like below command&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;terraform init&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;#and then, we make the resource regarding modules.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;terraform apply&lt;/p&gt;</description>
      <category>cloud/IaC</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/682</guid>
      <comments>https://semode.tistory.com/682#entry682comment</comments>
      <pubDate>Wed, 23 Aug 2023 15:56:56 +0900</pubDate>
    </item>
    <item>
      <title>how to use terraform regarding google cloud</title>
      <link>https://semode.tistory.com/681</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1.&amp;nbsp; main configuration file (main.tf)&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;terraform&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;required_providers&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;google&amp;nbsp;=&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;source = &quot;hashicorp/google&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # cloud provider&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;provider&amp;nbsp;&quot;google&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;version = &quot;3.5.0&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # provider version&lt;br /&gt;&amp;nbsp;&amp;nbsp;project&amp;nbsp;=&amp;nbsp;&quot;&amp;lt;PROJECT_ID&amp;gt;&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;region&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;us-central1&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;zone&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;us-central1-c&quot;&lt;br /&gt;}&lt;br /&gt;resource&amp;nbsp;&quot;google_compute_network&quot;&amp;nbsp;&quot;vpc_network&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;name&amp;nbsp;=&amp;nbsp;&quot;terraform-network&quot;&lt;br /&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;resource&amp;nbsp;&quot;google_storage_bucket&quot;&amp;nbsp;&quot;example_bucket&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;&amp;lt;UNIQUE-BUCKET-NAME&amp;gt;&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;location&amp;nbsp;=&amp;nbsp;&quot;US&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;website&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main_page_suffix&amp;nbsp;=&amp;nbsp;&quot;index.html&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;not_found_page&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;404.html&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;#&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;new&amp;nbsp;instance&amp;nbsp;that&amp;nbsp;uses&amp;nbsp;the&amp;nbsp;bucket&lt;br /&gt;resource&amp;nbsp;&quot;google_compute_instance&quot;&amp;nbsp;&quot;another_instance&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Tells&amp;nbsp;Terraform&amp;nbsp;that&amp;nbsp;this&amp;nbsp;VM&amp;nbsp;instance&amp;nbsp;must&amp;nbsp;be&amp;nbsp;created&amp;nbsp;only&amp;nbsp;after&amp;nbsp;the&lt;br /&gt;&amp;nbsp;&amp;nbsp;#&amp;nbsp;storage&amp;nbsp;bucket&amp;nbsp;has&amp;nbsp;been&amp;nbsp;created.&lt;br /&gt;&amp;nbsp;&amp;nbsp;depends_on = [google_storage_bucket.example_bucket]&amp;nbsp; &amp;nbsp; &amp;nbsp; # depend option between resources.&lt;br /&gt;&amp;nbsp;&amp;nbsp;name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;terraform-instance-2&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;machine_type&amp;nbsp;=&amp;nbsp;&quot;e2-micro&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;boot_disk&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initialize_params&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;image&amp;nbsp;=&amp;nbsp;&quot;cos-cloud/cos-stable&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;network_interface&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;network&amp;nbsp;=&amp;nbsp;google_compute_network.vpc_network.self_link&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;access_config&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&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;size16&quot;&gt;2. terraform initialize&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;terraform init&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;3. create resource ( based on above main.tf )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;terraform apply&amp;nbsp; &amp;nbsp; &amp;nbsp; (after showing plan, it can create if you answer yes at the confirmation prompt to proceed)&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;# the sign means when showing the plan.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+ : add resource&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;~ : update resource&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- : delete resource&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+/- : remove and recreate resource&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;4. destroy resource&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;terraform destroy&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>cloud/IaC</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/681</guid>
      <comments>https://semode.tistory.com/681#entry681comment</comments>
      <pubDate>Mon, 21 Aug 2023 21:43:56 +0900</pubDate>
    </item>
    <item>
      <title>google cloud storage and database</title>
      <link>https://semode.tistory.com/680</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1752&quot; data-origin-height=&quot;650&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n5eHK/btsrvXp54To/6sPqzTaZEMDYTcEJyNKiQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n5eHK/btsrvXp54To/6sPqzTaZEMDYTcEJyNKiQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n5eHK/btsrvXp54To/6sPqzTaZEMDYTcEJyNKiQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn5eHK%2FbtsrvXp54To%2F6sPqzTaZEMDYTcEJyNKiQ1%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;1752&quot; height=&quot;650&quot; data-origin-width=&quot;1752&quot; data-origin-height=&quot;650&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>cloud</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/680</guid>
      <comments>https://semode.tistory.com/680#entry680comment</comments>
      <pubDate>Fri, 18 Aug 2023 15:58:22 +0900</pubDate>
    </item>
    <item>
      <title>google terraform IAC example</title>
      <link>https://semode.tistory.com/679</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;This is iac example of google cloud.&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;terraform&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;required_providers&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;google&amp;nbsp;=&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;source&amp;nbsp;=&amp;nbsp;&quot;hashicorp/google&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;provider&amp;nbsp;&quot;google&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;version&amp;nbsp;=&amp;nbsp;&quot;3.5.0&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;project&amp;nbsp;=&amp;nbsp;&quot;&amp;lt;PROJECT_ID&amp;gt;&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;region&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;us-central1&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;zone&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;us-central1-c&quot;&lt;br /&gt;}&lt;br /&gt;resource&amp;nbsp;&quot;google_compute_network&quot;&amp;nbsp;&quot;vpc_network&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;name = &quot;test-network&quot;&lt;br /&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;resource&amp;nbsp;&quot;google_compute_instance&quot;&amp;nbsp;&quot;vm_instance&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;terraform-instance&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;machine_type&amp;nbsp;=&amp;nbsp;&quot;e2-micro&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;boot_disk&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initialize_params&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;image&amp;nbsp;=&amp;nbsp;&quot;debian-cloud/debian-11&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;network_interface&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;network&amp;nbsp;=&amp;nbsp;google_compute_network.vpc_network.name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;access_config&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&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;New&amp;nbsp;resource&amp;nbsp;for&amp;nbsp;the&amp;nbsp;storage&amp;nbsp;bucket&amp;nbsp;our&amp;nbsp;application&amp;nbsp;will&amp;nbsp;use.&lt;br /&gt;resource&amp;nbsp;&quot;google_storage_bucket&quot;&amp;nbsp;&quot;example_bucket&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;&amp;lt;UNIQUE-BUCKET-NAME&amp;gt;&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;location&amp;nbsp;=&amp;nbsp;&quot;US&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;website&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main_page_suffix&amp;nbsp;=&amp;nbsp;&quot;index.html&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;not_found_page&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;404.html&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;#&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;new&amp;nbsp;instance&amp;nbsp;that&amp;nbsp;uses&amp;nbsp;the&amp;nbsp;bucket&lt;br /&gt;resource&amp;nbsp;&quot;google_compute_instance&quot;&amp;nbsp;&quot;another_instance&quot;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Tells&amp;nbsp;Terraform&amp;nbsp;that&amp;nbsp;this&amp;nbsp;VM&amp;nbsp;instance&amp;nbsp;must&amp;nbsp;be&amp;nbsp;created&amp;nbsp;only&amp;nbsp;after&amp;nbsp;the&lt;br /&gt;&amp;nbsp;&amp;nbsp;#&amp;nbsp;storage&amp;nbsp;bucket&amp;nbsp;has&amp;nbsp;been&amp;nbsp;created.&lt;br /&gt;&amp;nbsp;&amp;nbsp;depends_on&amp;nbsp;=&amp;nbsp;[google_storage_bucket.example_bucket]&lt;br /&gt;&amp;nbsp;&amp;nbsp;name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&quot;terraform-instance-2&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;machine_type&amp;nbsp;=&amp;nbsp;&quot;e2-micro&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;boot_disk&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initialize_params&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;image&amp;nbsp;=&amp;nbsp;&quot;cos-cloud/cos-stable&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;network_interface&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;network&amp;nbsp;=&amp;nbsp;google_compute_network.vpc_network.self_link&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;access_config&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/p&gt;</description>
      <category>cloud/IaC</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/679</guid>
      <comments>https://semode.tistory.com/679#entry679comment</comments>
      <pubDate>Wed, 16 Aug 2023 16:23:18 +0900</pubDate>
    </item>
    <item>
      <title>GKE - Kubernetes</title>
      <link>https://semode.tistory.com/678</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/771cW/btsravmRFaU/XkSQB0voLtqkmBkaN3M61K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/771cW/btsravmRFaU/XkSQB0voLtqkmBkaN3M61K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/771cW/btsravmRFaU/XkSQB0voLtqkmBkaN3M61K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F771cW%2FbtsravmRFaU%2FXkSQB0voLtqkmBkaN3M61K%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;960&quot; height=&quot;720&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;407&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNoRLs/btsrr1kaYor/XgbNMnR6R61chYaFFktxM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNoRLs/btsrr1kaYor/XgbNMnR6R61chYaFFktxM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNoRLs/btsrr1kaYor/XgbNMnR6R61chYaFFktxM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNoRLs%2Fbtsrr1kaYor%2FXgbNMnR6R61chYaFFktxM1%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;407&quot; height=&quot;342&quot; data-origin-width=&quot;407&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>kubernetes</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/678</guid>
      <comments>https://semode.tistory.com/678#entry678comment</comments>
      <pubDate>Tue, 15 Aug 2023 17:21:28 +0900</pubDate>
    </item>
    <item>
      <title>HTTP LB Load test</title>
      <link>https://semode.tistory.com/677</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. note public ip of http load balancer and export it in stress VM server.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; export LB_IP=xx.xx.xx.xx&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;2. execute stress test in stress VM server. (based on Ubuntu)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; ab -n 500000 -c 1000 http://$LB_IP/&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;3. capture execution screen of ab command as stress test&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;723&quot; data-origin-height=&quot;251&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpuXVT/btsq0w7uN1j/LgGFzTtdtkXtTl8v6DSibk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpuXVT/btsq0w7uN1j/LgGFzTtdtkXtTl8v6DSibk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpuXVT/btsq0w7uN1j/LgGFzTtdtkXtTl8v6DSibk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpuXVT%2Fbtsq0w7uN1j%2FLgGFzTtdtkXtTl8v6DSibk%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;723&quot; height=&quot;251&quot; data-origin-width=&quot;723&quot; data-origin-height=&quot;251&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;4. capture monitoring screen of LB&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;721&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yuNP1/btsq1JFiAL5/kOkZWvQrInK4C1uak08ul1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yuNP1/btsq1JFiAL5/kOkZWvQrInK4C1uak08ul1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yuNP1/btsq1JFiAL5/kOkZWvQrInK4C1uak08ul1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyuNP1%2Fbtsq1JFiAL5%2FkOkZWvQrInK4C1uak08ul1%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;606&quot; height=&quot;721&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;721&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>System</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/677</guid>
      <comments>https://semode.tistory.com/677#entry677comment</comments>
      <pubDate>Mon, 14 Aug 2023 12:39:58 +0900</pubDate>
    </item>
    <item>
      <title>encoding for class labels</title>
      <link>https://semode.tistory.com/676</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. use pandas&lt;/p&gt;
&lt;pre id=&quot;code_1688366859095&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import numpy as np

&quot;&quot;&quot; coverted string class to integer &quot;&quot;&quot;
class-map = { label : idx for idx, label in enumerate(np.unique(df['class']))}

&quot;&quot;&quot; reversed integer to strings &quot;&quot;&quot;
df['class'] = df['class'].map(class-map)&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;2. use scikit-learn&lt;/p&gt;
&lt;pre id=&quot;code_1688367027032&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from sklearn.preprocessing import LabelEncoder
enc = LabelEncoder()

&quot;&quot;&quot; converted integer to strings &quot;&quot;&quot;&quot;
y = enc.fit_transform(df['class'].values)

&quot;&quot;&quot; reversed integer to strings &quot;&quot;&quot;
enc.inverse_transform(y)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/pandas</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/676</guid>
      <comments>https://semode.tistory.com/676#entry676comment</comments>
      <pubDate>Mon, 3 Jul 2023 15:50:52 +0900</pubDate>
    </item>
    <item>
      <title>imputing missing values in pandas</title>
      <link>https://semode.tistory.com/674</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. use sklearn&lt;/p&gt;
&lt;pre id=&quot;code_1688363114515&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from sklearn.impute import SimpleImputer
import numpy as np

im = SimpleImputer(missing_values=np.nan, strategy='mean')
im = im.fit(df.values)
imputed_data = im.transform(df.values)&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;2. use dataframe method&lt;/p&gt;
&lt;pre id=&quot;code_1688363174398&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;df.fillna(df.mean())&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/pandas</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/674</guid>
      <comments>https://semode.tistory.com/674#entry674comment</comments>
      <pubDate>Mon, 3 Jul 2023 14:46:26 +0900</pubDate>
    </item>
    <item>
      <title>drop missing data in dataframe</title>
      <link>https://semode.tistory.com/673</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. null or NaN or missing data check&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;df.isnull().sum()&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;2. drop data based on X-axis&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;df.dropna(axis=0)&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;3. drop data in terms of Y-axis&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;df.dropna(axis=1)&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;4. drop data included all NaN in Columns&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;df.dropna(how='all')&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;5. drop rows that have fewer than 4 values&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;df.dropna(thresh=4)&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;6. drop data in specific columns&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;df.dropna(subset=['C'])&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>데이터분석/pandas</category>
      <author>세모데</author>
      <guid isPermaLink="true">https://semode.tistory.com/673</guid>
      <comments>https://semode.tistory.com/673#entry673comment</comments>
      <pubDate>Mon, 3 Jul 2023 14:36:51 +0900</pubDate>
    </item>
  </channel>
</rss>