<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Takeru Tomii</title>
    <description>The latest articles on DEV Community by Takeru Tomii (@tkrtmy1031).</description>
    <link>https://dev.to/tkrtmy1031</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1274240%2F365ce5a1-d314-4bd2-baef-8829f2cf2e3b.png</url>
      <title>DEV Community: Takeru Tomii</title>
      <link>https://dev.to/tkrtmy1031</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tkrtmy1031"/>
    <language>en</language>
    <item>
      <title>Summeries of Azure Services</title>
      <dc:creator>Takeru Tomii</dc:creator>
      <pubDate>Tue, 23 Apr 2024 23:13:42 +0000</pubDate>
      <link>https://dev.to/tkrtmy1031/summeries-of-azure-services-1i03</link>
      <guid>https://dev.to/tkrtmy1031/summeries-of-azure-services-1i03</guid>
      <description>&lt;h1&gt;
  
  
  Computing
&lt;/h1&gt;

&lt;h2&gt;
  
  
  App Service
&lt;/h2&gt;

&lt;p&gt;Hosting Service for Web Application, Web API or Mobile Backend. Full managed PaaS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hosting Application&lt;/li&gt;
&lt;li&gt;Automation of deployment&lt;/li&gt;
&lt;li&gt;Flexible scalability by auto scaling &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Applications per Azure App Service plan: 10 - no limits&lt;/li&gt;
&lt;li&gt;Max instances for Scale out: 1 - 30&lt;/li&gt;
&lt;li&gt;SLA: 99.95%&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Functions
&lt;/h2&gt;

&lt;p&gt;Hosting service for event driven code. Full managed PaaS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Various events for a trigger

&lt;ul&gt;
&lt;li&gt;e.g) HTTP Request, Timer, Updating Storage, Messaging like Service Bus&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Short term execution&lt;/li&gt;
&lt;li&gt;Simple backend service&lt;/li&gt;
&lt;li&gt;Automation for periodic tasks&lt;/li&gt;
&lt;li&gt;Microservice&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Only for short term execution at most 5 - 10 minutes&lt;/li&gt;
&lt;li&gt;Not suitable for high availability

&lt;ul&gt;
&lt;li&gt;Downtime (seconds to several minites) when starting&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Duarable Functions
&lt;/h2&gt;

&lt;p&gt;Extention for Functions. Enable long term executions in stateful workflows. &lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Function chaining

&lt;ul&gt;
&lt;li&gt;Sequential calls for multiple functions.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Fan out/fan in

&lt;ul&gt;
&lt;li&gt;Parallel calls for multiple funcitons.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Async HTTP APIs

&lt;ul&gt;
&lt;li&gt;Polling the completion of external APIs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Monitor&lt;/li&gt;
&lt;li&gt;Human interaction

&lt;ul&gt;
&lt;li&gt;e.g.) approval by an administrator&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Aggregator&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cost for long term execution.&lt;/li&gt;
&lt;li&gt;Timeout for each type of Functions

&lt;ul&gt;
&lt;li&gt;Activity: 5 minutes&lt;/li&gt;
&lt;li&gt;Orchestrator, Entity: No limits&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Virtual Machines
&lt;/h2&gt;

&lt;p&gt;Hosting service for computing resource which requires infrastracture-level tuning. Non-fully managed. IaaS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Deployment for applications or middleware&lt;/li&gt;
&lt;li&gt;Development or Test Server&lt;/li&gt;
&lt;li&gt;Backup environment&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;SLA: 99.5%

&lt;ul&gt;
&lt;li&gt;Availability set: 99.95%&lt;/li&gt;
&lt;li&gt;Availability zone: 99.99%&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Network
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Virtual Network
&lt;/h2&gt;

&lt;p&gt;Network building service in Azure cloud platform.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Network separation by subnet&lt;/li&gt;
&lt;li&gt;Private network&lt;/li&gt;
&lt;li&gt;Connect with on-premiss network&lt;/li&gt;
&lt;li&gt;Access control by NSG&lt;/li&gt;
&lt;li&gt;Traffic routing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;No support for multicast or broadcast&lt;/li&gt;
&lt;li&gt;A virtual network is limited to a single region

&lt;ul&gt;
&lt;li&gt;But a virtual network does span availability zones&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  API Management
&lt;/h2&gt;

&lt;p&gt;An API gateway for backend APIs which provide integrated management.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Security

&lt;ul&gt;
&lt;li&gt;Authorization like API Key or OAuth.&lt;/li&gt;
&lt;li&gt;Access control by IP&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Traffic management

&lt;ul&gt;
&lt;li&gt;IP Aggrigation&lt;/li&gt;
&lt;li&gt;Routing based on HTTP Request&lt;/li&gt;
&lt;li&gt;Throttling&lt;/li&gt;
&lt;li&gt;Cache control&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Monitor

&lt;ul&gt;
&lt;li&gt;Dashboard&lt;/li&gt;
&lt;li&gt;Logging&lt;/li&gt;
&lt;li&gt;Alert&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Max API: 150-500&lt;/li&gt;
&lt;li&gt;Max Operation per API: 100&lt;/li&gt;
&lt;li&gt;Max cache size: 250 MB - 1 GB&lt;/li&gt;
&lt;li&gt;Max Web socket connections: 5,000&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Application Gateway
&lt;/h2&gt;

&lt;p&gt;L7(HTTP) load balancer for traffic control. &lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Load balancing at application level&lt;/li&gt;
&lt;li&gt;URL based routing&lt;/li&gt;
&lt;li&gt;SSL offload&lt;/li&gt;
&lt;li&gt;Firewall&lt;/li&gt;
&lt;li&gt;Multiple-site hosting&lt;/li&gt;
&lt;li&gt;Session Affinity &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Frontend IP address: public address -&amp;gt; 1, private address -&amp;gt; 1&lt;/li&gt;
&lt;li&gt;Frontend port: 100&lt;/li&gt;
&lt;li&gt;Backend address pool: 100&lt;/li&gt;
&lt;li&gt;Max HTTP load balancing rules: 400&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Azure load balancer
&lt;/h2&gt;

&lt;p&gt;L4(TCP/UDP) load balancer for traffic control. &lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Load balancing at network level&lt;/li&gt;
&lt;li&gt;Public and Private load balancing to Azure VMs&lt;/li&gt;
&lt;li&gt;IP based routing&lt;/li&gt;
&lt;li&gt;Failover by HA port&lt;/li&gt;
&lt;li&gt;Session Affinity&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;p&gt;Load Balancers: 1,000&lt;br&gt;
Frontend IPs: 600&lt;br&gt;
Backend pools: 5,000&lt;/p&gt;

&lt;h2&gt;
  
  
  Traffic Manager
&lt;/h2&gt;

&lt;p&gt;DNS based load balancer for traffic control. &lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Load balancing accross global Azure regeons&lt;/li&gt;
&lt;li&gt;Maintainance without downtime&lt;/li&gt;
&lt;li&gt;Combine hybrid applications&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Load balancing at only domain level&lt;/li&gt;
&lt;li&gt;Traffic routing from only public Internet, not for private network &lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Data
&lt;/h1&gt;

&lt;h2&gt;
  
  
  SQL Database
&lt;/h2&gt;

&lt;p&gt;Relational Database. Full managed PaaS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Database for application&lt;/li&gt;
&lt;li&gt;Data warehouse&lt;/li&gt;
&lt;li&gt;Repository&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Storage size: 10GB - 100TB&lt;/li&gt;
&lt;li&gt;Max concurrent sessions: 30,000&lt;/li&gt;
&lt;li&gt;SQL Server based.&lt;/li&gt;
&lt;li&gt;SLA: 99.99%&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Queue Storage
&lt;/h2&gt;

&lt;p&gt;Simple queue to store messages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;More than 80GB messages in total.
　― If less, consider using Service Bus&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Max message size: 64KB&lt;/li&gt;
&lt;li&gt;Maximum time-to-live: 7days&lt;/li&gt;
&lt;li&gt;No guarantee for message ordering &lt;/li&gt;
&lt;li&gt;At least once message delivery guarantee &lt;/li&gt;
&lt;li&gt;1 on 1 Messaging only&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table Storage
&lt;/h2&gt;

&lt;p&gt;NoSQL database to store non-structual data&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Key-value style schemaless data&lt;/li&gt;
&lt;li&gt;Massive ammount of Read/Write&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;No support for complex query&lt;/li&gt;
&lt;li&gt;Max table size: 500TiB&lt;/li&gt;
&lt;li&gt;Max entity size: 1MiB&lt;/li&gt;
&lt;li&gt;Maximum number of properties: 255&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Blob Storage
&lt;/h2&gt;

&lt;p&gt;Object storage for non structual data like Large Binary object or text data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Serving images or documents directly to a browser.&lt;/li&gt;
&lt;li&gt;Storing files for distributed access.&lt;/li&gt;
&lt;li&gt;Streaming video and audio.&lt;/li&gt;
&lt;li&gt;Writing to log files.&lt;/li&gt;
&lt;li&gt;Storing data for backup and restore, disaster recovery, and archiving.&lt;/li&gt;
&lt;li&gt;Storing data for analysis by an on-premises or Azure-hosted service.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;p&gt;Max size of container: 5 PiB (up to max size of storage account)&lt;/p&gt;

&lt;h1&gt;
  
  
  Integration
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Logic Apps
&lt;/h2&gt;

&lt;p&gt;Business logc integeration to orchestrate APIs or SaaS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Work flow automation&lt;/li&gt;
&lt;li&gt;Event driven&lt;/li&gt;
&lt;li&gt;Notification&lt;/li&gt;
&lt;li&gt;GUI based development and maintenance&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Not suitable for complex business logic&lt;/li&gt;
&lt;li&gt;Not suitable for realtime processing&lt;/li&gt;
&lt;li&gt;Not suitable for large size data processing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Service Bus
&lt;/h2&gt;

&lt;p&gt;Full managed messaging service&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1 on 1 message queuing&lt;/li&gt;
&lt;li&gt;1 on N messaging by topic and subscription

&lt;ul&gt;
&lt;li&gt;So to say publisher/subscriber mechanism&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;High scalability by separation of application&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;p&gt;Max queue size in total: 80 GB&lt;br&gt;
Max message size: 256 KB - 100 MB&lt;/p&gt;

&lt;h2&gt;
  
  
  Event Grid
&lt;/h2&gt;

&lt;p&gt;Full managed event messaging service&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1 on N messaging by MQTT messaging between IoT Devices

&lt;ul&gt;
&lt;li&gt;a kind of pub/sub messaging protocol&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Event driven messaging via HTTP&lt;/li&gt;
&lt;li&gt;Realtime notification by push delivery&lt;/li&gt;
&lt;li&gt;On-demand data fetch by pull delivery&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Max event retention: 7 days&lt;/li&gt;
&lt;li&gt;Subscriptions per topic: 500&lt;/li&gt;
&lt;li&gt;Max event size: 1MB&lt;/li&gt;
&lt;li&gt;Not suitable for non-realtime processing &lt;/li&gt;
&lt;li&gt;Not suitable for storing large scale data&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Event Hubs
&lt;/h2&gt;

&lt;p&gt;Scalable event messaging service &lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Realtime event receiving in low latency&lt;/li&gt;
&lt;li&gt;Relaying massive amount of messages&lt;/li&gt;
&lt;li&gt;Large scale data aggregation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Max message size: 256KB&lt;/li&gt;
&lt;li&gt;Max retention:7days&lt;/li&gt;
&lt;li&gt;Not support to delete messages manually&lt;/li&gt;
&lt;li&gt;Not support for access control by IP&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Monitoring
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Network Watche
&lt;/h2&gt;

&lt;p&gt;Monitoring service for Azure &lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Monitoring IaaS&lt;/li&gt;
&lt;li&gt;Network diagonosis and troubleshooting&lt;/li&gt;
&lt;li&gt;Traffic analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Not support for PaaS&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Application Insight
&lt;/h2&gt;

&lt;p&gt;Monitoring functionality for web applications. Part of Azure Monitor&lt;/p&gt;

&lt;h3&gt;
  
  
  Use case
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Performance analysis&lt;/li&gt;
&lt;li&gt;Health monitoring&lt;/li&gt;
&lt;li&gt;Logging&lt;/li&gt;
&lt;li&gt;Alert&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Max data retention: 90 days&lt;/li&gt;
&lt;li&gt;Only for applications hosted in Azure &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>azure</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Tips to embody clean code</title>
      <dc:creator>Takeru Tomii</dc:creator>
      <pubDate>Sun, 21 Apr 2024 00:24:25 +0000</pubDate>
      <link>https://dev.to/tkrtmy1031/tips-to-embody-clean-code-4jmb</link>
      <guid>https://dev.to/tkrtmy1031/tips-to-embody-clean-code-4jmb</guid>
      <description>&lt;p&gt;Use C# to consider each tip.&lt;/p&gt;

&lt;h1&gt;
  
  
  Principals
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;High-cohesive, Loose coupling&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Stick to "Single responsiblity" to keep 1.&lt;/li&gt;
&lt;li&gt;Improve codes incrementally.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Basics
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Naming
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;words&lt;/th&gt;
&lt;th&gt;case&lt;/th&gt;
&lt;th&gt;example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Class&lt;/td&gt;
&lt;td&gt;noun, singular&lt;/td&gt;
&lt;td&gt;large camel case&lt;/td&gt;
&lt;td&gt;Client&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Method&lt;/td&gt;
&lt;td&gt;verb&lt;/td&gt;
&lt;td&gt;small camel case&lt;/td&gt;
&lt;td&gt;addClient()&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Method(boolean)&lt;/td&gt;
&lt;td&gt;boolean prefix, state&lt;/td&gt;
&lt;td&gt;small camel case&lt;/td&gt;
&lt;td&gt;isValidName()&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Variable(primitive)&lt;/td&gt;
&lt;td&gt;noun, singular&lt;/td&gt;
&lt;td&gt;small camel case&lt;/td&gt;
&lt;td&gt;clientName&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Variable(collection)&lt;/td&gt;
&lt;td&gt;noun, plural&lt;/td&gt;
&lt;td&gt;small camel case&lt;/td&gt;
&lt;td&gt;clientNames&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Variable(constant)&lt;/td&gt;
&lt;td&gt;noun, singular&lt;/td&gt;
&lt;td&gt;large snake case&lt;/td&gt;
&lt;td&gt;MAX_CLIENT_NUM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Variable(boolean)&lt;/td&gt;
&lt;td&gt;boolean prefix, state&lt;/td&gt;
&lt;td&gt;small camel case&lt;/td&gt;
&lt;td&gt;isCanceledClient()&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;boolean prefix: is,has,can,should&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;unique&lt;/strong&gt;, detailed and meaningful vocabulary&lt;/li&gt;
&lt;li&gt;Avoid generic words&lt;/li&gt;
&lt;li&gt;method -&amp;gt; verb for &lt;strong&gt;operation&lt;/strong&gt;, class -&amp;gt; noun as &lt;strong&gt;purpose&lt;/strong&gt; of method&lt;/li&gt;
&lt;li&gt;Separate names in diffirent concerns with detail informations 

&lt;ul&gt;
&lt;li&gt;e.g) Product -&amp;gt;　OrderedItem, InventryItem&lt;/li&gt;
&lt;li&gt;Detect it when you call &lt;strong&gt;the noun with different adjectives to express&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Read &lt;strong&gt;Terms of Service&lt;/strong&gt;.

&lt;ul&gt;
&lt;li&gt;It indicates proper naming and separation of conserns.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Be Adherent to its business concerns or purposes.

&lt;ul&gt;
&lt;li&gt;Don't stick to technical sections.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Magic numbers
&lt;/h2&gt;

&lt;p&gt;Move literals into constants.&lt;/p&gt;

&lt;p&gt;BAD:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for(int i = 0; i &amp;lt; collection.length; i++) {
  if(client[i].age &amp;gt;= 60) {
    ...
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GOOD:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const int DISCOUNT_AGE = 60;
for(int i = 0; i &amp;lt; collection.length; i++) {
  if(client[i].age &amp;gt;= DISCOUNT_AGE) {
    ...
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Not NULL
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don't initialise / pass / return a NULL value&lt;/li&gt;
&lt;li&gt;Set initialised value object &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dead code
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Remove all dead codes&lt;/li&gt;
&lt;li&gt;DON'T comment it out&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Logics
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Early return / continue / break
&lt;/h2&gt;

&lt;p&gt;Return earlier as much as possible to reduce nests&lt;/p&gt;

&lt;p&gt;BAD:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if(isReserved) {
  if(shouldWithGardians) {
    if(client[i].price &amp;gt; client[j]) {
      ...
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GOOD:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if(!isReserved) {
  return;
}
if(shouldWithGardians) {
  return;
}
if(client[i].price &amp;gt; client[j]) {
  return;
}

...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Especially useful for writing guard clauses(validation)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Strategy pattern
&lt;/h2&gt;

&lt;p&gt;Use &lt;strong&gt;interface&lt;/strong&gt; to reduce redundant if-else or switch clauses&lt;/p&gt;

&lt;p&gt;BAD:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Shape {
  ...
  int calcArea() {
    readonly int area;
    // you'll add case when you create another Shape.
    switch(type)
    {
      case "Rectangle":
        area = width * height
      case "Triangle":
        area = (width * height) / 2;
      default:
        throw Exception();
    }
    return area;
  }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GOOD:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;interface Shape {
  ...
  int calcArea();
}

public class Rectangle:Shape {
  ...
  int calcArea() {
    return width * height;
  }
}
public class Triangle:Shape {
  int calcArea(){
    return (width * height) / 2;
  }
}

static void showArea(Shape shape) {
  Console.WriteLine(shape.calcArea());
}

static int main () {
  Shape rectangle = new Rectangle();
  showArea(rectangle);
  Shape triangle = new Triangle();
  showArea(triangle);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Policy pattern
&lt;/h2&gt;

&lt;p&gt;Super useful to componentise and assemble a set of conditions.&lt;/p&gt;

&lt;p&gt;BAD:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// has dupulicate condition
bool isTriangle(Shape shape){
  if(hasClosedArea(shape)) {
    if(shape.angles.Count() == 3) {
      return true;
    }
  }
  return false;
}

bool isRectangle(){
  if(hasClosedArea(shape)) {
    if(shape.angles.Count() == 4) {
      return true;
    }
  }
  return false;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GOOD:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Create components of rules sharing common interface.
interface ShapeRule() {
  boolean ok(Shape shape);
}

class ClosedAreaRule : ShapeRule {
  boolean ok(Shape shape) { 
    return hasClosedArea(shape);
  }
}

class RectangleAnglesRule : ShapeRule {
  boolean ok(Shape shape) { 
    return shape.angles.Count() == 3;
  }
}

class TrianglesAnglesRule: ShapeRule {
  boolean ok(Shape shape) { 
    return shape.angles.Count() == 4;
  }
}


class ShapePolicy() {
  // Keep set of rules
  private readonly rules = new HashSet&amp;lt;ShapeRule&amp;gt;();

  void AddRules(ShapeRule rule) { 
    rules.Add(rule);
  } 

  // Judge if it meets all conditions
  boolean MeetsAllConditions(Shape shape) {
    rules.All(rule =&amp;gt; rule.ok(shape));
  }
}

static int main() {
  // Create rules and combine them as a policy
  ShapeRule closedAreaRule = new ClosedAreaRule();
  ShapeRule triangleAnglesRule = new TrianglesAnglesRule();
  var trianglePolicy = ShapePolicy();
  trianglePolicy.AddRules(closedAreaRule);
  trianglePolicy.AddRules(triangleAnglesRule);

  Shape triangle = new Triangle();

  // Judge by a combined policy
  var isTriangle = trianglePolicy.MeetsAllConditions(triangle);
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  High cohesive
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Independent class design
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Integrate relevant variables / methods into a class&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;INSTANCE&lt;/strong&gt; variables / methods&lt;/li&gt;
&lt;li&gt;Avoid using STATIC variables / methods

&lt;ul&gt;
&lt;li&gt;Static methods cannot access instance variable&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;methods to modify its instance valiables&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Tell, Don't ask&lt;/li&gt;
&lt;li&gt;Avoid using getter / setter. &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Block invalid values on instance variables
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Make sure to initialise on constructor.&lt;/li&gt;
&lt;li&gt;Write input validation on the first of method.&lt;/li&gt;
&lt;li&gt;Pass a parameter as a unique class.

&lt;ul&gt;
&lt;li&gt;Primitive type doesn't notice when you set a invalid value&lt;/li&gt;
&lt;li&gt;Unique class throws compile error at that time &lt;/li&gt;
&lt;li&gt;Organises the data structure and reduce the arguments&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Set arguments and variables &lt;strong&gt;immutable&lt;/strong&gt; as much as possible

&lt;ul&gt;
&lt;li&gt;Reassignment can put a invalid value accidentally.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Return new &lt;strong&gt;value object&lt;/strong&gt; when you modify the instance &lt;/li&gt;
&lt;li&gt;Avoid using output argument

&lt;ul&gt;
&lt;li&gt;It obfuscates where it modified the value
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Price {
  // immutable instance variable
  private readonly int value;

  // immutable argument
  Price(in int value) {
    // input validation
    if(value &amp;lt; 0) {
      throw IlligalArgumentException();
    }
    // initialisation on constructer
    this.value = value;
  }

  Price add(in Price addition) {
    // immutable variable
    readonly int addedValue = this.value + addition.value;
    // return new value object when modification
    return new Price(addedValue);
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Factory method
&lt;/h2&gt;

&lt;p&gt;Use with &lt;strong&gt;private constractor&lt;/strong&gt;. Set different initial value by different factory methods. Reduce time to search the class with diffirently initicialised instances.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class MemberShip {
  const int STANDERD_FEE = 50;
  const int PREMIUM_FEE = 100;
  private readonly int monthlyFee;

  // private constractor.
  private MemeberShip(in int fee) {
    this.monthlyFee = fee;
  }

  // factory methods are static
  // you only need to investigate this class to modify either of fee
  static createStandardMemberShip() {
    return new MemberShip(STANDERD_FEE);
  }

  static createStandardMemberShip() {
    return new MemberShip(PREMIUM_FEE);
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  First class collection
&lt;/h2&gt;

&lt;p&gt;Collections tends to be scattered and low cohesive.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep collections as &lt;strong&gt;private members&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Operate the collection only via methods
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Trolley {
  private readonly List&amp;lt;PurchaseItem&amp;gt; items;

  Trolley() {
    items = new List&amp;lt;purchaseItem&amp;gt;();
  }

  // Don't let operate the collection directly
  AddItem(PurchaseItem item) {
    items.Add(item)
  }

  // Return read only instance when you need to provide reference 
  readonly List&amp;lt;PurchaseItem&amp;gt; GetItems() {
    return items
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Utility class
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Consists of static variables and static methods&lt;/li&gt;
&lt;li&gt;Integrate only something &lt;strong&gt;unrelevant to cohesion&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt; crosscutting concerns e.g) logging, formatting&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Be careful not to pack unrelevant functionalities.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Loose coupling
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Proper separation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Pay attention to instance variables and separate into another classes.

&lt;ul&gt;
&lt;li&gt;Loose coupling depends on separation of concerns at all.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Proper consolidation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don't believe DRY principle blindly.&lt;/li&gt;
&lt;li&gt;Consider if those steps are in &lt;strong&gt;the same single responsibility&lt;/strong&gt; before consolidating them.&lt;/li&gt;
&lt;li&gt;You'll have complex conditional branches inside after all, if you integrate diffirent concerns.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Composition
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Avoid using &lt;strong&gt;Inheritance&lt;/strong&gt; as much as possible.

&lt;ul&gt;
&lt;li&gt;Sub class easily gets unexpected impacts when you modify its super class.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Use composition instead.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Encupsulation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Avoid using public blindly.

&lt;ul&gt;
&lt;li&gt;it leads tight coupling.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Consider if you can configure it as package private(&lt;strong&gt;internal&lt;/strong&gt;) or &lt;strong&gt;private&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;May use protected when you need to use Inheritance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Refactoring
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Reduce nests
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Early return/continue/break&lt;/li&gt;
&lt;li&gt;Strategy pattern&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Proper logic cohesion
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Arrange order&lt;/li&gt;
&lt;li&gt;Chunk steps by purposes&lt;/li&gt;
&lt;li&gt;Extract them into methods&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conditional judgements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Extract it into methods(is/has/should/can...)&lt;/li&gt;
&lt;li&gt;Combine multiple conditions into a combined methods&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Consolidate arguments
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Consolidate multiple arguments on methods into a class &lt;/li&gt;
&lt;li&gt;Realise stamp coupling&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Error handling
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Catch
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Catch only the error you need to handle

&lt;ul&gt;
&lt;li&gt;Catch business errors&lt;/li&gt;
&lt;li&gt;Leave System errors&lt;/li&gt;
&lt;li&gt;Avoid catching plain Exception without any reasons&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Handling
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Throw errors
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Avoid returning error code.&lt;/li&gt;
&lt;li&gt;Consider rethrowing the error when you need to deligate its handling to caller function.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Logging
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use logger library

&lt;ul&gt;
&lt;li&gt;Avoid logging into Console without any reasons&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Use detailed error message

&lt;ul&gt;
&lt;li&gt;BAD:&lt;code&gt;"unexpected error occured."&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;GOOD:&lt;code&gt;"the name property is null."&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Retry
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Consider when you need to address network delay, DB connection, external service.&lt;/li&gt;
&lt;li&gt;Configure reasonable interval and timeout.

&lt;ul&gt;
&lt;li&gt;interval: Exponential backoff and jitter.&lt;/li&gt;
&lt;li&gt;timeout: Usually 3 ~ 5 times.&lt;/li&gt;
&lt;li&gt;Should test if its truly appropriate for your system and adjust it.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Post processing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Release resource
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Don't forget to release opened resource on finally clause. &lt;/li&gt;
&lt;li&gt;e.g.) file, network connection.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Comments
&lt;/h1&gt;

&lt;p&gt;You should only write something you cannot express as code.&lt;/p&gt;

&lt;h1&gt;
  
  
  Others
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Formatting
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;80 characters / line&lt;/li&gt;
&lt;li&gt;Unify tab or space for indent&lt;/li&gt;
&lt;li&gt;Better to configure auto format on IDE&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Code Climate Quality&lt;/li&gt;
&lt;li&gt;Understand&lt;/li&gt;
&lt;li&gt;Resharper&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>refactoring</category>
      <category>cleancode</category>
    </item>
    <item>
      <title>Easy tutorial of GraphQL compared with REST API</title>
      <dc:creator>Takeru Tomii</dc:creator>
      <pubDate>Mon, 25 Mar 2024 11:33:14 +0000</pubDate>
      <link>https://dev.to/tkrtmy1031/easy-tutorial-of-graphql-compared-with-rest-api-1995</link>
      <guid>https://dev.to/tkrtmy1031/easy-tutorial-of-graphql-compared-with-rest-api-1995</guid>
      <description>&lt;p&gt;You will see the word of "GraphQL" on the requirements of recent JDs on job hunting platforms. We've used REST API as a mainstream of standerds in modern Web API development. But a lot of companies had started to use GraphQL for some specific advantage against REST API. This article contributes to learn GraphQL by comparison with REST API.&lt;/p&gt;

&lt;h1&gt;
  
  
  Endpoint
&lt;/h1&gt;

&lt;h2&gt;
  
  
  REST API
&lt;/h2&gt;

&lt;p&gt;It should representive the resource and be expressed as noun and plural. And create endpoints as many as the number of resources&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://localhost:8080/customers&lt;/code&gt;&lt;br&gt;
&lt;code&gt;https://localhost:8080/products&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Frequently you use path parameters when specify the entity in the collection&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://localhost:8080/products/123&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Append slash(/) when you wanna express hierarchical relationship of resources.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://localhost:8080/products/123/orders&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  GraphQL
&lt;/h2&gt;

&lt;p&gt;It has only one endpoint &lt;code&gt;/graphql&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://localhost:8080/graphql&lt;/code&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  CRUD
&lt;/h1&gt;
&lt;h2&gt;
  
  
  REST API
&lt;/h2&gt;

&lt;p&gt;It represents CRUD by the HTTP method&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CRUD&lt;/th&gt;
&lt;th&gt;HTTP Method&lt;/th&gt;
&lt;th&gt;endpoint&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Read&lt;/td&gt;
&lt;td&gt;GET&lt;/td&gt;
&lt;td&gt;/customers/123&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Create&lt;/td&gt;
&lt;td&gt;POST&lt;/td&gt;
&lt;td&gt;/customers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Update&lt;/td&gt;
&lt;td&gt;PUT(PATCH)&lt;/td&gt;
&lt;td&gt;/customers/123&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Delete&lt;/td&gt;
&lt;td&gt;DELETE&lt;/td&gt;
&lt;td&gt;/customers/123&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  GraphQL
&lt;/h2&gt;

&lt;p&gt;It only have the comception of Query(fetch) and Mutation(update)&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Operation&lt;/th&gt;
&lt;th&gt;CRUD&lt;/th&gt;
&lt;th&gt;HTTP Method&lt;/th&gt;
&lt;th&gt;endpoint&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Query&lt;/td&gt;
&lt;td&gt;Read&lt;/td&gt;
&lt;td&gt;POST&lt;/td&gt;
&lt;td&gt;/graphql&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mutation&lt;/td&gt;
&lt;td&gt;Create, Update, Delete&lt;/td&gt;
&lt;td&gt;POST&lt;/td&gt;
&lt;td&gt;/graphql&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Then how can you distinguish the operations in mutation? The answer is &lt;code&gt;schema&lt;/code&gt; and &lt;code&gt;resolver&lt;/code&gt;. You will define functions to read/update. &lt;br&gt;
&lt;code&gt;schema&lt;/code&gt; is a kind of interface. You will define the mapping of the functions for CRUD.&lt;/p&gt;
&lt;h3&gt;
  
  
  schema.js
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   type Query {
        getProduct(id: String): Product
    }
    type Mutation {
        createProduct(input: ProductInput): Product
        updateProduct(input: ProductInput): Product
        deleteProduct(id: String): String
    }

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;code&gt;resolver&lt;/code&gt; is the implementation for schema. It's an example written in Javascript.&lt;/p&gt;
&lt;h3&gt;
  
  
  resolver.js
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const resolvers = {
  getProduct: ({ id }) =&amp;gt; {
    ...
  },
  createProduct: ({ input }) =&amp;gt; {
    ...
  },
  updateProduct: ({ input }) =&amp;gt; {
    ...
  },
  deleteProduct: ({ id }) =&amp;gt; {
    ...
  },
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h1&gt;
  
  
  Parameters
&lt;/h1&gt;
&lt;h2&gt;
  
  
  REST API
&lt;/h2&gt;

&lt;p&gt;Generally you may spacify the parameters below.&lt;/p&gt;
&lt;h3&gt;
  
  
  query parameter
&lt;/h3&gt;

&lt;p&gt;Especially for additional configurations like filter, pagenation ...&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://localhost:8080/products?page=3&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  path parameter
&lt;/h3&gt;

&lt;p&gt;Mainly to specify each entity on the collection of resources.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://localhost:8080/products/123&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  request body
&lt;/h3&gt;

&lt;p&gt;To update resource and in JSON format.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "id": 123,
  "name": "Water Bottle",
  "price": 11.99,
  "stock": 100
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  GraphQL
&lt;/h2&gt;

&lt;p&gt;You will specify every thing on a query, including operation, function in resolver and data structure. You can control which parameter it should return as a response.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Query {
  // resolver and request parameters
  getProduct(id: 123): {
    // response parameters
    name,
    price
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Mutation {
  // resolver
  updateProduct(
    // requrest parameters
    input:{
      id: 123,
      name: "Water Bottle",
      price: 11.99,
      stock: 100
    }
  ) {
    // response parameters
    name,
    price
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You will define the data structure in &lt;code&gt;schema&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    type Product {
        id: ID,
        name: String,
        price: Float,
        stock: Int,
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Those parameters will be sent to as JSON, but as a "String" formated parameter in JSON, unlikely REST API&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;POST /graphql HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer &amp;lt;access_token&amp;gt;

{
  "query": "query { ... }", &amp;lt;- Like this
  "variables": { ... },
  "operationName": "MyQuery"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Library
&lt;/h1&gt;

&lt;h2&gt;
  
  
  REST API
&lt;/h2&gt;

&lt;p&gt;REST API is a specification. You can implement without libraries.&lt;/p&gt;

&lt;h2&gt;
  
  
  GraphQL
&lt;/h2&gt;

&lt;p&gt;Usually, you use a library to implement because it needs complex task like analysing queries, defining schema and generating response.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://graphql.org/code/"&gt;Libraries for GraphQL&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Version management
&lt;/h1&gt;

&lt;h2&gt;
  
  
  REST API
&lt;/h2&gt;

&lt;p&gt;You will add the version information on endpoints if necessary.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://localhost:8080/v1/customers&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  GraphQL
&lt;/h2&gt;

&lt;p&gt;Don't need to manage. You'll just change &lt;code&gt;schema&lt;/code&gt; to modify the interface.&lt;/p&gt;

&lt;h1&gt;
  
  
  Stateless
&lt;/h1&gt;

&lt;p&gt;REST API and GraphQL are both stateless. Each request is independent and doesn't influence the subsequent requests.&lt;/p&gt;

&lt;h1&gt;
  
  
  When to use
&lt;/h1&gt;

&lt;h2&gt;
  
  
  REST API
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The data structure needs to be hierarchic.&lt;/li&gt;
&lt;li&gt;Able to express simple CRUD operations to specific resource.&lt;/li&gt;
&lt;li&gt;Heavier traffic.&lt;/li&gt;
&lt;li&gt;More simple design on server side.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  GraphQL
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The data structure is complex.&lt;/li&gt;
&lt;li&gt;Fetch from multiple resources.&lt;/li&gt;
&lt;li&gt;Lighter traffic.&lt;/li&gt;
&lt;li&gt;More complex design on server side.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Conclution
&lt;/h1&gt;

&lt;p&gt;In conclusion, both REST API and GraphQL have their strengths and weaknesses, and choosing between them depends on various factors such as the complexity of data requirements, traffic volume, and design preferences. &lt;/p&gt;

&lt;p&gt;REST API, with its hierarchical data structure and straightforward CRUD operations, is suitable for scenarios where simplicity and scalability are key. It excels in scenarios where the data can be easily represented as resources and standard HTTP methods suffice for CRUD operations. However, it may lead to over-fetching or under-fetching of data in certain situations, and managing multiple versions of endpoints can become cumbersome.&lt;/p&gt;

&lt;p&gt;On the other hand, GraphQL shines in situations where the data structure is complex and the client needs flexibility in fetching data from multiple resources. It allows clients to request only the data they need, reducing over-fetching and under-fetching, and providing a more efficient way to interact with data APIs. However, GraphQL comes with a learning curve and requires a more complex design on the server side to define schemas and resolvers.&lt;/p&gt;

&lt;p&gt;Ultimately, the choice between REST API and GraphQL depends on the specific requirements of the project, the skillset of the development team, and the desired trade-offs between simplicity and flexibility. Each has its place in modern web development, and understanding their strengths and weaknesses is crucial in making informed decisions for building robust and efficient APIs.&lt;/p&gt;

</description>
      <category>graphql</category>
      <category>restapi</category>
      <category>backend</category>
    </item>
    <item>
      <title>How to generate cover letter using Chat-GPT :2</title>
      <dc:creator>Takeru Tomii</dc:creator>
      <pubDate>Mon, 11 Mar 2024 05:03:13 +0000</pubDate>
      <link>https://dev.to/tkrtmy1031/how-to-generate-cover-letter-using-chat-gpt-2-1idp</link>
      <guid>https://dev.to/tkrtmy1031/how-to-generate-cover-letter-using-chat-gpt-2-1idp</guid>
      <description>&lt;p&gt;This article is a continuation from &lt;a href="https://dev.to/tkrtmy1031/how-to-generate-cover-letter-using-chat-gpt-1-42n9"&gt;How to generate cover letter using Chat-GPT :1&lt;/a&gt;. I developed a prompt which can write a good quality of cover letter. &lt;br&gt;
On the other hand, I studied to an excel way to summarise Job Description on &lt;a href="https://dev.to/tkrtmy1031/how-to-summarise-an-jd-in-consice-good-quality-with-chat-gpt-2-1kjp"&gt;How to summarise an JD in consice, good quality with Chat-GPT :2&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;What I'm gonna challenge in this article is to merge the outcome of these articles and create a prompt that outputs cover letters flexible to adjust to each requirement of JDs.&lt;/p&gt;
&lt;h1&gt;
  
  
  JD
&lt;/h1&gt;

&lt;p&gt;I'll reuse the same JD generated in &lt;a href="https://dev.to/tkrtmy1031/how-to-summarise-an-jd-in-consice-good-quality-with-chat-gpt-1-oj7"&gt;How to summarise an JD in consice, good quality with Chat-GPT :1&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Are you ready to embark on a journey of innovation and creativity? Dutch East India, a visionary leader in design technology, is seeking a dynamic and talented Web Developer to join our esteemed team. 
With studios located in vibrant cities such as Sydney, Melbourne, Brisbane, and Auckland, you'll have the flexibility to choose your preferred location and enjoy the perfect blend of remote work and studio collaboration.

About the Role:

As a Full Stack Developer at Dutch East India, you'll be at the forefront of revolutionizing the future of design experiences for the built environment. 
Join our cutting-edge design technology research and development team and contribute to building next-generation tools for our global design business, spanning architecture, interior design, and master planning. 
Dive into the world of augmented and data-informed design, collaboration, communication, and quality data flow across the entire project lifecycle.

Responsibilities:

    Contribute to the strategic development of Dutch East India’s technology capability by researching new technologies and developing applications, web environments, and software plugins.
    Embark on the journey of storyboard development, design brief formulation, and UX design.
    Develop a robust computing and data layer for our work in AEC (Architecture, Engineering, &amp;amp; Construction).
    Collaborate with other members of the technology team and user groups in testing and quality assurance.
    Lead strategic projects on behalf of the Design Technology Team.

Key Requirements and Skills:

    Harness your 3-5+ years of experience in full-stack development.
    Hold a Bachelor’s degree in Computer Science or equivalent (preferred but not mandatory).
    Utilize your strong written and verbal communication skills to convey complex ideas effectively.
    Master the art of time management, maximizing efficiency, and meeting challenging goals.
    Display the ability to determine and manage priorities with minimal guidance, thriving both as part of a team and independently.

Frontend Development Skills:

    Craft clean, well-tested, and maintainable front-end code, mastering languages like Javascript/Typescript.
    Design responsive UI components and single-page applications using cutting-edge web technologies and frameworks such as React.
    Optimize rendering processes and utilize loading/caching strategies for enhanced performance.
    Configure build processes using modern tools like Webpack, Roll-up, etc., and run scripts to streamline workflows.
    Collaborate closely with backend engineers to seamlessly integrate with APIs and services.
    Uphold secure coding practices to safeguard against common threats.
    Maintain thorough documentation and contribution guidelines to ensure clarity and consistency.

Backend Development Skills:

    Write clean, well-tested, and maintainable back-end code in languages like Python, Node.
    Leverage your experience in deploying and managing containerized applications using Docker, Kubernetes, etc.
    Configure authentication and role-based access controls for APIs, ensuring robust security measures.
    Follow best testing practices, including TDD, unit, integration, and end-to-end testing, to deliver high-quality solutions.
    Collaborate effectively with frontend developers to integrate web clients with server-side logic.
    Work hand-in-hand with cloud engineers to configure and monitor service health metrics.
    Maintain comprehensive API documentation and integration guidelines to facilitate seamless collaboration.

Data Management Skills:

    Demonstrate a solid understanding of relational (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB).
    Set up and administer cloud storage, databases, and caching services to ensure efficient data management.
    Collaborate closely with the team to understand data requirements and design fast, efficient storage and retrieval solutions.
    Maintain thorough documentation, including data models, schemas, migration procedures, etc., to ensure clarity and consistency.
    Ready to embark on this exciting journey with Dutch East India? Apply now via our LinkedIn job post for the Web Developer position and indicate your preferred Woods Bagot Studio location. Join us as we inspire, innovate, and inclusively design a better world.


Innovation. Creativity. Collaboration. At Dutch East India, we don't just build software; we craft experiences that transcend boundaries, reshape industries, and inspire generations. 
Join us and become a part of a global community of trailblazers, where every line of code is a stroke of genius, and every pixel is a masterpiece.

But wait, there's more! As a member of the Dutch East India family, you'll enjoy a plethora of perks and benefits designed to elevate your career and enrich your life. 
From flexible working arrangements and generous leave entitlements to access to cutting-edge technology and continuous learning opportunities, we've got you covered every step of the way. Plus, with our commitment to diversity, inclusivity, and innovation, you'll find a workplace where your voice is heard, your ideas are valued, and your potential is limitless.

So what are you waiting for? 
Take the leap, join Dutch East India, and embark on a journey of discovery, growth, and success like never before. 
Your future awaits, and it's brighter than you ever imagined. Apply now and let's build the future together.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Given Inputs
&lt;/h1&gt;

&lt;p&gt;The same method studied in &lt;a href="https://dev.to/tkrtmy1031/how-to-generate-cover-letter-using-chat-gpt-1-42n9"&gt;How to generate cover letter using Chat-GPT :1&lt;/a&gt;. Consider it as a base line of subsequent improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prompt
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Write a cover letter including the information in #input as I am #role.

#role
Web developer

#input
*My information
name: Takeru Tomii
address: 1/1 St Bullshit Rd, Somewhere, Oakland, New Jesusland
phone number: 012-345-6789
email address: john.doe@gmail.com
Skill set: Angular, .Net Framework, Python, Azure
Career: 6 years

*Applying company
Date to write: 12/02/2024
Company name: Dutch East India
address: 2/2 St Apeshit Rd, Wherever, Oakland, New Jesusland
Applying position: Full Stack Developer 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Your Name]
1/1 St Bullshit Rd
Somewhere, Oakland, New Jesusland
Phone: 012-345-6789
Email: john.doe@gmail.com

[Date]

Hiring Manager
Dutch East India
2/2 St Apeshit Rd
Wherever, Oakland, New Jesusland

Dear Hiring Manager,

I am writing to express my interest in the Full Stack Developer position at Dutch East India, as advertised. With six years of experience in web development and a skill set encompassing Angular, .Net Framework, Python, and Azure, I am confident in my ability to contribute effectively to your team.

Throughout my career, I have demonstrated proficiency in developing dynamic and user-friendly web applications. My expertise in Angular and .Net Framework has enabled me to create robust front-end interfaces and scalable back-end solutions, while my proficiency in Python and Azure has allowed me to integrate various functionalities seamlessly.

At my previous positions, I have consistently delivered high-quality code and collaborated closely with cross-functional teams to ensure project success. I am particularly adept at problem-solving and thrive in fast-paced environments where I can apply my technical skills to overcome challenges and drive innovation.

I am impressed by Dutch East India's commitment to leveraging technology to deliver cutting-edge solutions, and I am excited about the opportunity to contribute to your mission. I am eager to bring my experience and passion for web development to your team and to contribute to the continued success of your projects.

Thank you for considering my application. I look forward to the possibility of discussing how my background, skills, and enthusiasm align with the needs of Dutch East India. Please feel free to contact me at your convenience to schedule a meeting.

Warm regards,

Takeru Tomii
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Combination
&lt;/h1&gt;

&lt;p&gt;Combined with the summarising Job Description. It reflected the points based on summerised JD. &lt;br&gt;
But it was a little more superficial than I expected. I wished it generates deeper and specific insight in a refined writing style.&lt;/p&gt;

&lt;p&gt;e.g) If focus on ASP.NET&lt;br&gt;
My supreme experience of crafting REST API by ASP.NET appears to be destined for your innovative system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prompt
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarize #JD into the items on #Chapters
Write a cover letter including the information in #Input .
Generate an adjusted cover letter based on the summarised JD.

#Input
*My information
My Name: Takeru Tomii
Address: 1/1 St Bullshit Rd, Somewhere, Oakland, New Jesusland
Phone number: 012-345-6789
Email address: john.doe@gmail.com
Skill set: Angular, .Net Framework, Python, Azure
Career: 6 years

*Applying company
Recipients: Hiring Manager
Date to write: 12/02/2024
Address: 2/2 St Apeshit Rd, Wherever, Oakland, New Jesusland


# Chapters
Role:
What they do:
Key responsibility:
Qualification:
Required technology:
Work condition:
Corporate culture:
Ideal candidate:

#JD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Your Name]
1/1 St Bullshit Rd,
Somewhere, Oakland,
New Jesusland
Phone: 012-345-6789
Email: john.doe@gmail.com

[Date]

Hiring Manager
Dutch East India
2/2 St Apeshit Rd,
Wherever, Oakland,
New Jesusland

Dear Hiring Manager,

I am writing to express my enthusiasm for the Web Developer position at Dutch East India, as advertised on LinkedIn. With six years of experience in the field and expertise in Angular, .Net Framework, Python, and Azure, I am confident in my ability to contribute effectively to your innovative team.

The role at Dutch East India perfectly aligns with my career aspirations and skill set. I am particularly excited about the opportunity to be at the forefront of revolutionizing design experiences for the built environment. My experience in full-stack development, coupled with my passion for exploring new technologies, makes me well-equipped to contribute to the strategic development of Dutch East India’s technology capability.

Having led various strategic projects in my previous roles, I am adept at managing priorities and thriving in both team-based and independent work environments. My strong communication skills enable me to effectively convey complex ideas, fostering collaboration and driving project success.

I am deeply impressed by Dutch East India's commitment to innovation, creativity, and inclusivity. The prospect of joining a global community of trailblazers who are dedicated to crafting experiences that reshape industries is incredibly inspiring to me. I am eager to bring my expertise to your team and contribute to building the future of design technology together.

Enclosed is my resume, which provides further details about my qualifications and accomplishments. I am available for an interview at your earliest convenience and can be reached at 012-345-6789 or via email at john.doe@gmail.com.

Thank you for considering my application. I am excited about the possibility of contributing to Dutch East India's continued success and am looking forward to the opportunity to discuss how my background and skills align with your needs.

Sincerely,
Takeru Tomii
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Incremental
&lt;/h1&gt;

&lt;p&gt;Almost the same as combination, but gave the order separated. Worse results. Caused hallucination.&lt;/p&gt;

&lt;p&gt;e.g. )&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;managing containerized applications using Docker and Kubernetes. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But I didn't say they are my expertises.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prompt
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarize #JD into the items on #Chapters

# Chapters
Role:
What they do:
Key responsibility:
Qualification:
Required technology:
Work condition:
Corporate culture:
Ideal candidate:

#JD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Write a cover letter including the information in #input as I am #role.

#role
Web developer

#input
*My information
name: Takeru Tomii
address: 1/1 St Bullshit Rd, Somewhere, Oakland, New Jesusland
phone number: 012-345-6789
email address: john.doe@gmail.com
Skill set: Angular, .Net Framework, Python, Azure
Career: 6 years

*Applying company
Date to write: 12/02/2024
Company name: Dutch East India
address: 2/2 St Apeshit Rd, Wherever, Oakland, New Jesusland
Applying position: Full Stack Developer 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Generate an adjusted cover letter based on the summarised JD.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Chapters:

**Role:**
Web Developer

**What they do:**
Develop and maintain web applications and software plugins, contribute to strategic technology development, collaborate on design briefs and UX design, and lead strategic projects for the Design Technology Team.

**Key responsibility:**
Revolutionize design experiences for the built environment through cutting-edge technology, including augmented and data-informed design, collaboration, and communication across project lifecycles.

**Qualification:**
3-5+ years of full-stack development experience, Bachelor’s degree in Computer Science or equivalent (preferred but not mandatory).

**Required technology:**
Frontend: JavaScript/TypeScript, React, Webpack, Roll-up, secure coding practices.
Backend: Python, Node.js, Docker, Kubernetes, authentication, testing practices.
Data Management: Relational (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB), cloud storage administration.

**Work condition:**
Flexible working arrangements with the choice of studio locations in Sydney, Melbourne, Brisbane, or Auckland, combining remote work with studio collaboration.

**Corporate culture:**
Focused on innovation, creativity, and collaboration. Emphasizes inclusivity, diversity, and continuous learning opportunities. A commitment to crafting experiences that transcend boundaries and inspire generations.

**Ideal candidate:**
Someone with strong communication skills, time management abilities, and the capability to work both independently and as part of a team. They should demonstrate proficiency in both frontend and backend development, along with expertise in data management. An individual who thrives on innovation, values collaboration, and is passionate about shaping the future of design technology.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Your Name]  
1/1 St Bullshit Rd  
Somewhere, Oakland, New Jesusland  
Phone: 012-345-6789  
Email: john.doe@gmail.com  

[Date]

Hiring Manager  
Dutch East India  
2/2 St Apeshit Rd  
Wherever, Oakland, New Jesusland  

Dear Hiring Manager,

I am writing to express my interest in the Full Stack Developer position at Dutch East India, as advertised. With six years of experience in web development, coupled with a diverse skill set encompassing Angular, .Net Framework, Python, and Azure, I am eager to contribute to your esteemed team's innovative projects.

At the forefront of my career journey, I have consistently demonstrated my ability to develop and maintain robust web applications while adapting to evolving technologies and methodologies. My proficiency in both frontend and backend development, as well as my experience in cloud services, aligns well with the responsibilities and qualifications outlined in the job description.

Throughout my career, I have collaborated closely with cross-functional teams to deliver high-quality solutions that drive business objectives forward. I am particularly excited about the opportunity to join Dutch East India's cutting-edge design technology research and development team, where I can contribute to revolutionizing design experiences for the built environment.

Furthermore, I am drawn to Dutch East India's commitment to fostering innovation, creativity, and collaboration. Your inclusive corporate culture and emphasis on continuous learning resonate with my values and aspirations for professional growth.

I am confident that my combination of technical expertise, dedication to excellence, and passion for pushing the boundaries of design technology make me an ideal candidate for this role. I am excited about the possibility of contributing to Dutch East India's mission and would welcome the opportunity to discuss how my skills and experiences align with your team's objectives in more detail.

Thank you for considering my application. I look forward to the possibility of discussing how I can contribute to the success of Dutch East India.

Warm regards,

Takeru Tomii
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Your Name]  
1/1 St Bullshit Rd  
Somewhere, Oakland, New Jesusland  
Phone: 012-345-6789  
Email: john.doe@gmail.com  

[Date]

Hiring Manager  
Dutch East India  
2/2 St Apeshit Rd  
Wherever, Oakland, New Jesusland  

Dear Hiring Manager,

I am excited to apply for the Web Developer position at Dutch East India, as advertised. With six years of experience in web development, specializing in both frontend and backend technologies, I am enthusiastic about the opportunity to contribute to your team's innovative projects and revolutionize design experiences for the built environment.

Throughout my career, I have honed my skills in crafting clean, maintainable code and developing responsive UI components using languages such as Angular and frameworks like React. My proficiency extends to backend development with expertise in languages like Python and Node.js, as well as deploying and managing containerized applications using Docker and Kubernetes. Additionally, I have experience in configuring authentication and role-based access controls for APIs, ensuring robust security measures.

I am particularly drawn to Dutch East India's commitment to innovation, creativity, and collaboration, as well as its inclusive corporate culture that fosters continuous learning and professional growth. I am eager to leverage my skills and passion for technology to contribute to the strategic development of your design technology capability and help drive the company's mission forward.

Thank you for considering my application. I am excited about the possibility of joining Dutch East India and contributing to its success. I am available for an interview at your earliest convenience and look forward to discussing how my experiences align with your team's objectives.

Warm regards,

Takeru Tomii
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Could reflect the point of JD to a cover letter. There are possibly some details to improve (like unexpected placeholders on Output), but I think it's practical enough to use in real world.&lt;/p&gt;

&lt;h1&gt;
  
  
  Future problems
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Benchmark tests to evaluate the quality of outputs.&lt;br&gt;
-- Evaluate objectively. (Evaluated based on my feelings this time.)&lt;br&gt;
-- Any online service for cover letter or general methodology in general? &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use multiple JDs as input.&lt;br&gt;
-- Might have rooms to improve or reduce hallucination&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compare the prompt on diffirent platform.&lt;br&gt;
-- What happens on Gemimn on Google or Copilot on Microsoft?&lt;br&gt;
-- Chat GPT but GPT-4 (Used 3.5 this time)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>chatgpt</category>
      <category>promptengineering</category>
    </item>
    <item>
      <title>How to summarise an JD in consice, good quality with Chat-GPT :2</title>
      <dc:creator>Takeru Tomii</dc:creator>
      <pubDate>Mon, 26 Feb 2024 11:19:17 +0000</pubDate>
      <link>https://dev.to/tkrtmy1031/how-to-summarise-an-jd-in-consice-good-quality-with-chat-gpt-2-1kjp</link>
      <guid>https://dev.to/tkrtmy1031/how-to-summarise-an-jd-in-consice-good-quality-with-chat-gpt-2-1kjp</guid>
      <description>&lt;p&gt;This article is a continuation from &lt;a href="https://dev.to/tkrtmy1031/how-to-summarise-an-jd-in-consice-good-quality-with-chat-gpt-1-oj7"&gt;How to summarise an JD in consice, good quality with Chat-GPT :1&lt;/a&gt;. I'll continue to compare with more methods.&lt;/p&gt;

&lt;h1&gt;
  
  
  JD
&lt;/h1&gt;

&lt;p&gt;I'll use the same JDs generated in the previous chapter.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Are you ready to embark on a journey of innovation and creativity? Dutch East India, a visionary leader in design technology, is seeking a dynamic and talented Web Developer to join our esteemed team. 
With studios located in vibrant cities such as Sydney, Melbourne, Brisbane, and Auckland, you'll have the flexibility to choose your preferred location and enjoy the perfect blend of remote work and studio collaboration.

About the Role:

As a Full Stack Developer at Dutch East India, you'll be at the forefront of revolutionizing the future of design experiences for the built environment. 
Join our cutting-edge design technology research and development team and contribute to building next-generation tools for our global design business, spanning architecture, interior design, and master planning. 
Dive into the world of augmented and data-informed design, collaboration, communication, and quality data flow across the entire project lifecycle.

Responsibilities:

    Contribute to the strategic development of Dutch East India’s technology capability by researching new technologies and developing applications, web environments, and software plugins.
    Embark on the journey of storyboard development, design brief formulation, and UX design.
    Develop a robust computing and data layer for our work in AEC (Architecture, Engineering, &amp;amp; Construction).
    Collaborate with other members of the technology team and user groups in testing and quality assurance.
    Lead strategic projects on behalf of the Design Technology Team.

Key Requirements and Skills:

    Harness your 3-5+ years of experience in full-stack development.
    Hold a Bachelor’s degree in Computer Science or equivalent (preferred but not mandatory).
    Utilize your strong written and verbal communication skills to convey complex ideas effectively.
    Master the art of time management, maximizing efficiency, and meeting challenging goals.
    Display the ability to determine and manage priorities with minimal guidance, thriving both as part of a team and independently.

Frontend Development Skills:

    Craft clean, well-tested, and maintainable front-end code, mastering languages like Javascript/Typescript.
    Design responsive UI components and single-page applications using cutting-edge web technologies and frameworks such as React.
    Optimize rendering processes and utilize loading/caching strategies for enhanced performance.
    Configure build processes using modern tools like Webpack, Roll-up, etc., and run scripts to streamline workflows.
    Collaborate closely with backend engineers to seamlessly integrate with APIs and services.
    Uphold secure coding practices to safeguard against common threats.
    Maintain thorough documentation and contribution guidelines to ensure clarity and consistency.

Backend Development Skills:

    Write clean, well-tested, and maintainable back-end code in languages like Python, Node.
    Leverage your experience in deploying and managing containerized applications using Docker, Kubernetes, etc.
    Configure authentication and role-based access controls for APIs, ensuring robust security measures.
    Follow best testing practices, including TDD, unit, integration, and end-to-end testing, to deliver high-quality solutions.
    Collaborate effectively with frontend developers to integrate web clients with server-side logic.
    Work hand-in-hand with cloud engineers to configure and monitor service health metrics.
    Maintain comprehensive API documentation and integration guidelines to facilitate seamless collaboration.

Data Management Skills:

    Demonstrate a solid understanding of relational (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB).
    Set up and administer cloud storage, databases, and caching services to ensure efficient data management.
    Collaborate closely with the team to understand data requirements and design fast, efficient storage and retrieval solutions.
    Maintain thorough documentation, including data models, schemas, migration procedures, etc., to ensure clarity and consistency.
    Ready to embark on this exciting journey with Dutch East India? Apply now via our LinkedIn job post for the Web Developer position and indicate your preferred Woods Bagot Studio location. Join us as we inspire, innovate, and inclusively design a better world.


Innovation. Creativity. Collaboration. At Dutch East India, we don't just build software; we craft experiences that transcend boundaries, reshape industries, and inspire generations. 
Join us and become a part of a global community of trailblazers, where every line of code is a stroke of genius, and every pixel is a masterpiece.

But wait, there's more! As a member of the Dutch East India family, you'll enjoy a plethora of perks and benefits designed to elevate your career and enrich your life. 
From flexible working arrangements and generous leave entitlements to access to cutting-edge technology and continuous learning opportunities, we've got you covered every step of the way. Plus, with our commitment to diversity, inclusivity, and innovation, you'll find a workplace where your voice is heard, your ideas are valued, and your potential is limitless.

So what are you waiting for? 
Take the leap, join Dutch East India, and embark on a journey of discovery, growth, and success like never before. 
Your future awaits, and it's brighter than you ever imagined. Apply now and let's build the future together.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Given purpose
&lt;/h1&gt;

&lt;p&gt;Clarify why I need to summarize the JD. I taught it that it's to write a cover letter.&lt;br&gt;
It could extracted the factors below very nicely.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Outline of the company&lt;/li&gt;
&lt;li&gt;Requirements including detail technologies they need without specifying detail condition. &lt;/li&gt;
&lt;li&gt;What are they emphasizes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's a good seasoning for orientating to summarize overall.&lt;/p&gt;
&lt;h2&gt;
  
  
  query
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarise the #JD below.
I'll use it to write a cover letter.

#JD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  outcome
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The Dutch East India company is looking for a talented Web Developer to join their team, offering flexibility in location and a mix of remote work and studio collaboration. 
The role involves contributing to cutting-edge design technology research, developing next-generation tools for architecture and design, and ensuring quality data flow throughout projects. 
Key responsibilities include strategic development, UX design, computing and data layer development, and leading projects. 
Requirements include 3-5+ years of full-stack development experience, proficiency in frontend and backend development, strong communication skills, time management, and the ability to work independently or as part of a team. 
The ideal candidate should excel in languages like JavaScript/TypeScript, React, Python, and Node, and have experience with databases like MySQL, PostgreSQL, and MongoDB. 
The company emphasizes innovation, creativity, collaboration, and offers various perks and benefits to support employees' career growth and work-life balance.
They encourage applicants to apply via LinkedIn and join their community of trailblazers shaping the future of design technology.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h1&gt;
  
  
  Separation &amp;amp; Integration
&lt;/h1&gt;

&lt;p&gt;Summarize the JD on the steps below.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Separate the JD into three.&lt;/li&gt;
&lt;li&gt;Summarize each part.&lt;/li&gt;
&lt;li&gt;Integrate summaries obtaining in the previous step&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It output the summary each section after all. The last part looks redundant. It might be better if I omit the third section before summarising. &lt;br&gt;
You usually have a limit of length for your input(It's 4,096 tokens in free version of Chat GPT(3.5), currently.). It might be good when you need to summarise extraordinary long sentence.&lt;/p&gt;
&lt;h2&gt;
  
  
  query
&lt;/h2&gt;
&lt;h3&gt;
  
  
  summarize each
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarise the #JD below.

#JD

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Integration
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarize from each summary in #Summaries

#Summaries
[]
[]
[]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  separated sentence
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Are you ready to embark on a journey of innovation and creativity? Dutch East India, a visionary leader in design technology, is seeking a dynamic and talented Web Developer to join our esteemed team. 
With studios located in vibrant cities such as Sydney, Melbourne, Brisbane, and Auckland, you'll have the flexibility to choose your preferred location and enjoy the perfect blend of remote work and studio collaboration.

About the Role:

As a Full Stack Developer at Dutch East India, you'll be at the forefront of revolutionizing the future of design experiences for the built environment. 
Join our cutting-edge design technology research and development team and contribute to building next-generation tools for our global design business, spanning architecture, interior design, and master planning. 
Dive into the world of augmented and data-informed design, collaboration, communication, and quality data flow across the entire project lifecycle.

Responsibilities:

    Contribute to the strategic development of Dutch East India’s technology capability by researching new technologies and developing applications, web environments, and software plugins.
    Embark on the journey of storyboard development, design brief formulation, and UX design.
    Develop a robust computing and data layer for our work in AEC (Architecture, Engineering, &amp;amp; Construction).
    Collaborate with other members of the technology team and user groups in testing and quality assurance.
    Lead strategic projects on behalf of the Design Technology Team.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Key Requirements and Skills:

    Harness your 3-5+ years of experience in full-stack development.
    Hold a Bachelor’s degree in Computer Science or equivalent (preferred but not mandatory).
    Utilize your strong written and verbal communication skills to convey complex ideas effectively.
    Master the art of time management, maximizing efficiency, and meeting challenging goals.
    Display the ability to determine and manage priorities with minimal guidance, thriving both as part of a team and independently.

Frontend Development Skills:

    Craft clean, well-tested, and maintainable front-end code, mastering languages like Javascript/Typescript.
    Design responsive UI components and single-page applications using cutting-edge web technologies and frameworks such as React.
    Optimize rendering processes and utilize loading/caching strategies for enhanced performance.
    Configure build processes using modern tools like Webpack, Roll-up, etc., and run scripts to streamline workflows.
    Collaborate closely with backend engineers to seamlessly integrate with APIs and services.
    Uphold secure coding practices to safeguard against common threats.
    Maintain thorough documentation and contribution guidelines to ensure clarity and consistency.

Backend Development Skills:

    Write clean, well-tested, and maintainable back-end code in languages like Python, Node.
    Leverage your experience in deploying and managing containerized applications using Docker, Kubernetes, etc.
    Configure authentication and role-based access controls for APIs, ensuring robust security measures.
    Follow best testing practices, including TDD, unit, integration, and end-to-end testing, to deliver high-quality solutions.
    Collaborate effectively with frontend developers to integrate web clients with server-side logic.
    Work hand-in-hand with cloud engineers to configure and monitor service health metrics.
    Maintain comprehensive API documentation and integration guidelines to facilitate seamless collaboration.

Data Management Skills:

    Demonstrate a solid understanding of relational (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB).
    Set up and administer cloud storage, databases, and caching services to ensure efficient data management.
    Collaborate closely with the team to understand data requirements and design fast, efficient storage and retrieval solutions.
    Maintain thorough documentation, including data models, schemas, migration procedures, etc., to ensure clarity and consistency.
    Ready to embark on this exciting journey with Dutch East India? Apply now via our LinkedIn job post for the Web Developer position and indicate your preferred Woods Bagot Studio location. Join us as we inspire, innovate, and inclusively design a better world.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Innovation. Creativity. Collaboration. At Dutch East India, we don't just build software; we craft experiences that transcend boundaries, reshape industries, and inspire generations. 
Join us and become a part of a global community of trailblazers, where every line of code is a stroke of genius, and every pixel is a masterpiece.

But wait, there's more! As a member of the Dutch East India family, you'll enjoy a plethora of perks and benefits designed to elevate your career and enrich your life. 
From flexible working arrangements and generous leave entitlements to access to cutting-edge technology and continuous learning opportunities, we've got you covered every step of the way. Plus, with our commitment to diversity, inclusivity, and innovation, you'll find a workplace where your voice is heard, your ideas are valued, and your potential is limitless.

So what are you waiting for? 
Take the leap, join Dutch East India, and embark on a journey of discovery, growth, and success like never before. 
Your future awaits, and it's brighter than you ever imagined. Apply now and let's build the future together.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  outcome
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The job description for the Full Stack Developer position at Dutch East India entails contributing to the development of next-generation tools for global design projects, focusing on architecture, interior design, and master planning. It includes responsibilities such as strategic technology development, storyboard development, and UX design, offering flexibility to work remotely or in various studio locations.

For the Web Developer position, candidates are expected to have 3-5+ years of full-stack development experience and strong communication and time management skills. Proficiency in JavaScript/TypeScript, Python, and Node, along with knowledge of relational and NoSQL databases, is required. Applicants are encouraged to apply via LinkedIn, indicating their preferred studio location.

Dutch East India's culture emphasizes innovation, creativity, and collaboration, offering a range of benefits such as flexible working arrangements, access to cutting-edge technology, and continuous learning opportunities. The company values diversity, inclusivity, and employee input, fostering an environment where ideas are valued, and potential is limitless. Candidates are urged to join and contribute to the company's journey of discovery, growth, and success.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h1&gt;
  
  
  Given steps
&lt;/h1&gt;
&lt;h2&gt;
  
  
  query
&lt;/h2&gt;

&lt;p&gt;Give detail steps to summarize the JD. It's fascinating that it showed each step of its thoughts. And summarised very concisely(The final summary is &lt;strong&gt;Step4&lt;/strong&gt;). It possibly facilitate to analyse your prompt easier and let you fine-tune the output.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarise the #JD below along the steps in #Steps.

#Steps
1. Grasp the structure of each section.
2. Detect what information is important to write a cover letter.
3. List up what items do you summarize to, up to 3.
4. Output summary into each item.

#JD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  outcome
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sure, here's a summary of the job description (#JD) structured according to the provided steps (#Steps):

Step 1: Grasp the structure of each section

Introduction: Dutch East India seeking a Web Developer for innovative design technology.
About the Role: Full Stack Developer role, revolutionizing design experiences.
Responsibilities: Strategic development, research, storyboard development, computing layer development, collaboration, leadership.
Key Requirements and Skills: Experience, education, communication, time management, teamwork.
Frontend Development Skills: Languages, UI design, performance optimization, build processes, collaboration with backend.
Backend Development Skills: Languages, containerized applications, authentication, testing, collaboration with frontend and cloud engineers.
Data Management Skills: Database understanding, cloud services, collaboration, documentation.
Step 2: Detect what information is important to write a cover letter

Understanding of Dutch East India's innovative design technology focus.
Full Stack Developer role with emphasis on revolutionizing design experiences.
Specific technical skills and experience required for frontend, backend, and data management.
Emphasis on collaboration, communication, and strategic development.

Step 3: List up what items do you summarize to, up to 3

Introduction and overview of Dutch East India's role and focus.
Technical skills and experience required for the Full Stack Developer role.
Emphasis on collaboration, communication, and strategic development.

Step 4: Output summary into each item

Introduction: Dutch East India seeks a Web Developer to innovate in design technology.
Technical Skills and Experience: Full Stack Developer role revolutionizing design experiences, requiring expertise in frontend (JavaScript/TypeScript, React), backend (Python, Node), and data management (SQL, NoSQL).
Emphasis: Collaboration, communication, and strategic development are essential.

This summary covers the key aspects of the job description and provides a structured approach for crafting a cover letter.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Combination
&lt;/h1&gt;

&lt;p&gt;Considering the each comparison, I combined the following methods which performed better in comparison.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chapters&lt;/li&gt;
&lt;li&gt;Given purpose&lt;/li&gt;
&lt;li&gt;Given steps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It returned concise summary in bullet list style. But the quality depends on how the chapters is separated properly.&lt;/p&gt;

&lt;p&gt;e.g)&lt;br&gt;
Requirements &amp;lt;- a bit abstruct and contain mixed contents&lt;br&gt;
|&lt;br&gt;
v&lt;br&gt;
Key responsibility:&lt;br&gt;
Quarification:&lt;br&gt;
Required technology:&lt;/p&gt;

&lt;p&gt;And it doesn't seems to follow the limit of content volume.&lt;br&gt;
e.g.) Format each section within a few bullet lists.&lt;/p&gt;

&lt;h2&gt;
  
  
  query
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You are hunting a job opportunity and want to extract necessary information embed them into your cover letter.
Summarise the #JD below along the steps in #Steps.

#Steps
1. Devide #JD into meaningful sections.
2. Extract keywords in each section.
3. Output summary into each item on # Chapters.
4. Format each section within a few bullet lists.

# Chapters
Role:
What they do:
Key responsibility:
Quarification:
Required technology:
Work condition:
Corporate culture:
Ideal candidate:

#JD

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Role:
- Web Developer

# What they do:
- Develop next-generation tools for the global design business, focusing on architecture, interior design, and master planning.
- Dive into augmented and data-informed design, collaboration, communication, and quality data flow across project lifecycles.

# Key responsibility:
- Contribute to strategic development of technology capability.
- Embark on storyboard development, design brief formulation, and UX design.
- Develop robust computing and data layers for work in AEC.
- Lead strategic projects for the Design Technology Team.

# Qualification:
- Bachelor’s degree in Computer Science or equivalent (preferred).
- 3-5+ years of experience in full-stack development.
- Strong written and verbal communication skills.
- Proficiency in time management and goal achievement.
- Ability to determine and manage priorities independently.

# Required technology:
## Frontend Development Skills:
- JavaScript/TypeScript
- React
- Webpack, Roll-up
- Secure coding practices

## Backend Development Skills:
- Python, Node
- Docker, Kubernetes
- Authentication and access controls
- Testing practices (TDD, unit, integration, end-to-end)
- API documentation

## Data Management Skills:
- MySQL, PostgreSQL, MongoDB
- Cloud storage and databases
- Data modeling and schema design
- Documentation of data models and procedures

# Work condition:
- Flexible working arrangements with remote work and studio collaboration options.
- Studios in Sydney, Melbourne, Brisbane, and Auckland.

# Corporate culture:
- Focus on innovation, creativity, and collaboration.
- Commitment to diversity, inclusivity, and innovation.
- Workplace where voices are heard, ideas are valued, and potential is limitless.

# Ideal candidate:
- Dynamic and talented individual passionate about design technology.
- Able to thrive in a fast-paced, innovative environment.
- Excited to contribute to building the future of design experiences.

This summary highlights the key aspects of the job description and demonstrates how your skills and experience align with the role's requirements.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;A long combined query didn't show remarkable differences.&lt;br&gt;
And it won't be long-term solution even if you create over-tuned query because Chat GPT get upgraded day by day and changes its output. &lt;br&gt;
I recommend to organise detailed and fine-tuned chapters to output, considering cost performance.&lt;br&gt;
Simple is best.&lt;/p&gt;

&lt;h2&gt;
  
  
  query
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarize #JD into the items on # Chapters

# Chapters
Role:
What they do:
Key responsibility:
Qualification:
Required technology:
Work condition:
Corporate culture:
Ideal candidate:

#JD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Role: 
Full Stack Developer

What they do: 
Revolutionize design experiences for the built environment by contributing to cutting-edge design technology research and development, 
building next-generation tools, and ensuring quality data flow across projects.

Key responsibility: 
Contribute to the strategic development of technology capability, develop computing and data layers for AEC, 
lead strategic projects, and collaborate with teams for testing and quality assurance.

Qualification: 
3-5+ years of full-stack development experience, Bachelor’s degree in Computer Science or equivalent (preferred), 
strong communication and time management skills, ability to work independently and in a team.

Required technology: 
- Frontend: Javascript/Typescript, React, Webpack, Roll-up
- Backend: Python, Node, Docker, Kubernetes
- Data Management: MySQL, PostgreSQL, MongoDB, cloud storage services

Work condition: 
Flexible working arrangements with options for remote work and studio collaboration in vibrant cities like Sydney, Melbourne, Brisbane, and Auckland.

Corporate culture: 
Focused on innovation, creativity, collaboration, diversity, and inclusivity.
 Encourages continuous learning, values employee input, and provides various perks and benefits.

Ideal candidate: 
A dynamic and talented individual with a passion for innovation, creativity, and design technology, 
who thrives in a collaborative and inclusive work environment and is committed to continuous learning and growth.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Future problem
&lt;/h1&gt;

&lt;p&gt;I'm gonna utilise the query to tune up the query to generate  cover letters personalised to each company.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>promptengineering</category>
    </item>
    <item>
      <title>How to summarise an JD in consice, good quality with Chat-GPT :1</title>
      <dc:creator>Takeru Tomii</dc:creator>
      <pubDate>Mon, 19 Feb 2024 10:58:30 +0000</pubDate>
      <link>https://dev.to/tkrtmy1031/how-to-summarise-an-jd-in-consice-good-quality-with-chat-gpt-1-oj7</link>
      <guid>https://dev.to/tkrtmy1031/how-to-summarise-an-jd-in-consice-good-quality-with-chat-gpt-1-oj7</guid>
      <description>&lt;p&gt;It's troublesome to screen countless JDs and you'll get drained so that you cannot put your efforts enough to perform astonishingly at much more significant scenes like coding tests/technical interviews. Hereby I'll share the outcome of my study to analyse JDs and generate its summary in various ways.&lt;/p&gt;

&lt;h1&gt;
  
  
  JD
&lt;/h1&gt;

&lt;p&gt;I use the JD below as a sample to compare with each method.&lt;br&gt;
It's generated by Chat-GPT based-on some real JDs. &lt;/p&gt;

&lt;h2&gt;
  
  
  query
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You are a company called #CompanyName, which is planning to advertise a new vacancy of #Vacancy in LinkedIn.
Write a very long and exaggerated Job description from given #JDs.
Break lines at periods.

#Vacancy
Web Developer

#CompanyName
Dutch East India

#JDs

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Sample JD
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Are you ready to embark on a journey of innovation and creativity? Dutch East India, a visionary leader in design technology, is seeking a dynamic and talented Web Developer to join our esteemed team. 
With studios located in vibrant cities such as Sydney, Melbourne, Brisbane, and Auckland, you'll have the flexibility to choose your preferred location and enjoy the perfect blend of remote work and studio collaboration.

About the Role:

As a Full Stack Developer at Dutch East India, you'll be at the forefront of revolutionizing the future of design experiences for the built environment. 
Join our cutting-edge design technology research and development team and contribute to building next-generation tools for our global design business, spanning architecture, interior design, and master planning. 
Dive into the world of augmented and data-informed design, collaboration, communication, and quality data flow across the entire project lifecycle.

Responsibilities:

    Contribute to the strategic development of Dutch East India’s technology capability by researching new technologies and developing applications, web environments, and software plugins.
    Embark on the journey of storyboard development, design brief formulation, and UX design.
    Develop a robust computing and data layer for our work in AEC (Architecture, Engineering, &amp;amp; Construction).
    Collaborate with other members of the technology team and user groups in testing and quality assurance.
    Lead strategic projects on behalf of the Design Technology Team.

Key Requirements and Skills:

    Harness your 3-5+ years of experience in full-stack development.
    Hold a Bachelor’s degree in Computer Science or equivalent (preferred but not mandatory).
    Utilize your strong written and verbal communication skills to convey complex ideas effectively.
    Master the art of time management, maximizing efficiency, and meeting challenging goals.
    Display the ability to determine and manage priorities with minimal guidance, thriving both as part of a team and independently.

Frontend Development Skills:

    Craft clean, well-tested, and maintainable front-end code, mastering languages like Javascript/Typescript.
    Design responsive UI components and single-page applications using cutting-edge web technologies and frameworks such as React.
    Optimize rendering processes and utilize loading/caching strategies for enhanced performance.
    Configure build processes using modern tools like Webpack, Roll-up, etc., and run scripts to streamline workflows.
    Collaborate closely with backend engineers to seamlessly integrate with APIs and services.
    Uphold secure coding practices to safeguard against common threats.
    Maintain thorough documentation and contribution guidelines to ensure clarity and consistency.

Backend Development Skills:

    Write clean, well-tested, and maintainable back-end code in languages like Python, Node.
    Leverage your experience in deploying and managing containerized applications using Docker, Kubernetes, etc.
    Configure authentication and role-based access controls for APIs, ensuring robust security measures.
    Follow best testing practices, including TDD, unit, integration, and end-to-end testing, to deliver high-quality solutions.
    Collaborate effectively with frontend developers to integrate web clients with server-side logic.
    Work hand-in-hand with cloud engineers to configure and monitor service health metrics.
    Maintain comprehensive API documentation and integration guidelines to facilitate seamless collaboration.

Data Management Skills:

    Demonstrate a solid understanding of relational (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB).
    Set up and administer cloud storage, databases, and caching services to ensure efficient data management.
    Collaborate closely with the team to understand data requirements and design fast, efficient storage and retrieval solutions.
    Maintain thorough documentation, including data models, schemas, migration procedures, etc., to ensure clarity and consistency.
    Ready to embark on this exciting journey with Dutch East India? Apply now via our LinkedIn job post for the Web Developer position and indicate your preferred Woods Bagot Studio location. Join us as we inspire, innovate, and inclusively design a better world.


Innovation. Creativity. Collaboration. At Dutch East India, we don't just build software; we craft experiences that transcend boundaries, reshape industries, and inspire generations. 
Join us and become a part of a global community of trailblazers, where every line of code is a stroke of genius, and every pixel is a masterpiece.

But wait, there's more! As a member of the Dutch East India family, you'll enjoy a plethora of perks and benefits designed to elevate your career and enrich your life. 
From flexible working arrangements and generous leave entitlements to access to cutting-edge technology and continuous learning opportunities, we've got you covered every step of the way. Plus, with our commitment to diversity, inclusivity, and innovation, you'll find a workplace where your voice is heard, your ideas are valued, and your potential is limitless.

So what are you waiting for? 
Take the leap, join Dutch East India, and embark on a journey of discovery, growth, and success like never before. 
Your future awaits, and it's brighter than you ever imagined. Apply now and let's build the future together.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  ZeroShot
&lt;/h1&gt;

&lt;p&gt;Just summarised premitively. You can grasp what they want, but not the significant details like required skills.&lt;/p&gt;

&lt;h2&gt;
  
  
  query
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarise the #JD below.

#JD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  outcome
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Dutch East India seeks a skilled Web Developer to join their innovative team, revolutionizing design technology. With a global presence and flexible work options, you'll contribute to next-gen tools for architecture, interior design, and master planning. Key responsibilities include strategic development, UX design, and collaboration on cutting-edge projects. Required skills include full-stack development, frontend and backend expertise, and data management proficiency. Join Dutch East India for a dynamic career with abundant growth opportunities and a supportive, inclusive culture. Apply now and be part of shaping the future of design technology.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Bullet list
&lt;/h1&gt;

&lt;p&gt;Output as bullet lists. Better readability than zero shot, but much longer and doesn't differ from original JD so much.  &lt;/p&gt;

&lt;h2&gt;
  
  
  query
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarise the #JD below, formatting as bullet lists.

#JD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  outcome
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*About the Role:
  *Join a Full Stack Developer role at Dutch East India, revolutionizing design experiences.
  *Contribute to next-gen tools for architecture, interior design, and master planning.
  *Dive into augmented and data-informed design across project lifecycles.

*Responsibilities:
  *Research new technologies and develop applications, web environments, and plugins.
  *Develop storyboards, design briefs, and UX designs.
  *Create computing and data layers for Architecture, Engineering, &amp;amp; Construction (AEC).
  *Collaborate on testing, quality assurance, and lead strategic projects.

*Key Requirements and Skills:
  *3-5+ years full-stack development experience.
  *Bachelor’s degree in Computer Science or equivalent.
  *Strong written and verbal communication skills.
  *Excellent time management and prioritization abilities.

*Frontend Development Skills:
  *Craft clean, well-tested front-end code in JavaScript/TypeScript.
  *Design responsive UI components and single-page applications using React.
  *Optimize rendering and utilize loading/caching strategies.
  *Collaborate with backend engineers and uphold secure coding practices.

*Backend Development Skills:
  *Write clean, well-tested back-end code in Python, Node.
  *Deploy and manage containerized applications.
  *Configure authentication, follow best testing practices, and collaborate with frontend developers.
  *Maintain comprehensive API documentation and integration guidelines.

*Data Management Skills:
  *Understand relational and NoSQL databases.
  *Set up and administer cloud storage and databases.
  *Collaborate on data requirements and maintain thorough documentation.

*Additional Information:
  *Apply via LinkedIn for the Web Developer position, indicating preferred location.
  *Enjoy benefits like flexible working arrangements, leave entitlements, and continuous learning opportunities.
  *Join Dutch East India to be part of a diverse, inclusive, and innovative workplace.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Bullet List (limited)
&lt;/h1&gt;

&lt;p&gt;Shorten the outcome of the previous method. Much better at readability. But lack of detail technology information.&lt;/p&gt;

&lt;p&gt;e.g. )&lt;br&gt;
In Data Management section, ou can tell they require "understanding of relational and NoSQL databases", but cannot catch "MySQL" or "MongoDB" factors.&lt;/p&gt;

&lt;h2&gt;
  
  
  query
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarise the #JD below, within 10 bullet lists.

#JD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  outcome
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*Dutch East India seeks a talented Web Developer for remote work with studio collaboration in vibrant cities.
*Full Stack Developer role revolutionizes design experiences in architecture, interior design, and master planning.
*Responsibilities include technology development, storyboard, design brief, UX design, computing, and data layer development.
*Key requirements: 3-5+ years of full-stack development, Bachelor’s degree, strong communication, time management, and prioritization skills.
*Frontend Development Skills required: clean, well-tested front-end code, responsive UI design, optimization, build processes, collaboration with backend engineers.
*Backend Development Skills needed: clean, well-tested back-end code, deployment, authentication, testing, collaboration with frontend and cloud engineers.
*Data Management Skills required: understanding of relational and NoSQL databases, cloud storage administration, collaboration on data requirements, thorough documentation.
*Apply via LinkedIn indicating preferred studio location for Woods Bagot.
*Dutch East India emphasizes innovation, creativity, and collaboration with a commitment to diversity and inclusivity.
*Enjoy perks like flexible working arrangements, access to cutting-edge technology, continuous learning opportunities, and a supportive work environment.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Chapters
&lt;/h1&gt;

&lt;p&gt;Specify chapter items you need to summarise. Looks best solution at present stage. It's good to include detail technology informations in Ideal candidate profile. But I'm not sure its truly suitable for Work condition to write "Cutting-edge research and development in design technology."&lt;/p&gt;

&lt;p&gt;Might be powerful method if you have honed sense.&lt;/p&gt;

&lt;h2&gt;
  
  
  query
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarize #JD into the items on #Summary

#Summary
Company Profile:
Requirements:
Work condition:
Ideal candidate profile:

#JD

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  outcome
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Company Profile:
  *Dutch East India, a leader in design technology, seeks a dynamic Web Developer.
  *Studios located in vibrant cities like Sydney, Melbourne, Brisbane, and Auckland.
  *Offers flexibility with remote work and studio collaboration.

Requirements:
  *Full Stack Developer role revolutionizes design experiences in architecture, interior design, and master planning.
  *Requires 3-5+ years of full-stack development experience.
  *Bachelor’s degree in Computer Science or equivalent preferred.
  *Strong communication, time management, and prioritization skills essential.

Work condition:
  *Blend of remote work and studio collaboration in vibrant cities.
  *Cutting-edge research and development in design technology.

Ideal candidate profile:
  *Experienced Full Stack Developer with strong communication and time management skills.
  *Proficient in frontend and backend development, with expertise in technologies like JavaScript/TypeScript, React, Python, Node, MySQL, and MongoDB.
  *Comfortable with cloud storage administration and data management.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Future problem
&lt;/h1&gt;

&lt;p&gt;I couldn't have time to research other various methods I searched like &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Separate JD -&amp;gt; Summarise each -&amp;gt; combine each summary
&lt;/li&gt;
&lt;li&gt;Separate JD -&amp;gt; Summarise a part -&amp;gt; combine and summarise -&amp;gt; repeat
etc...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;to try due to shortage of time. I'll write second series of it.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>promptengineering</category>
    </item>
    <item>
      <title>How to generate cover letter using Chat-GPT :1</title>
      <dc:creator>Takeru Tomii</dc:creator>
      <pubDate>Mon, 12 Feb 2024 09:57:41 +0000</pubDate>
      <link>https://dev.to/tkrtmy1031/how-to-generate-cover-letter-using-chat-gpt-1-42n9</link>
      <guid>https://dev.to/tkrtmy1031/how-to-generate-cover-letter-using-chat-gpt-1-42n9</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Being disestablished is unbearable agony, especially in the case you don't have the citizenship or permanent residence in the country.&lt;/p&gt;

&lt;p&gt;Writing cover letter is nominated as a most painful task because you need to overuse your brain to compose highly-exaggerated sentences with shiny redundant adjectives, adjusting for EACH company you need to apply.&lt;/p&gt;

&lt;p&gt;You would be exhausted every time you write cover letters to attach on your application. Is it truly a task for human?&lt;/p&gt;

&lt;p&gt;---the answer is NO.&lt;/p&gt;

&lt;p&gt;Don't waste your time for the mundane task very much. It doesn't really tell your true attractions to them. They can only know how you are reliable after they work together. What you have to do is to generate to obtain an enough quality writings with least efforts. Enslave Chat-GPT to save your precious time. &lt;/p&gt;

&lt;h1&gt;
  
  
  1.ZeroShot
&lt;/h1&gt;

&lt;p&gt;Most basic ways to order to Chat-GPT. You don't give it any examples. It generates sentences from only its learnt data. You can get a nice quality letter even this primitive order.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;write a cover letter 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Your Name]
[Your Address]
[City, State, Zip Code]
[Your Email Address]
[Your Phone Number]
[Date]

[Hiring Manager's Name]
[Company Name]
[Company Address]
[City, State, Zip Code]

Dear [Hiring Manager's Name],

I am writing to express my interest in the [Position Title] position at [Company Name], as advertised on [where you found the job posting]. With a strong background in [relevant field or industry], I am confident in my ability to contribute effectively to your team and help [Company Name] achieve its goals.

Throughout my career, I have developed a diverse skill set that aligns well with the requirements of the [Position Title] role. My experience in [mention specific skills or experiences relevant to the job] has equipped me with the ability to [highlight key abilities or accomplishments]. Additionally, my passion for [mention relevant interests or areas of expertise] drives me to continually seek out opportunities for growth and development in this field.

I am particularly drawn to [Company Name]'s commitment to [mention something specific about the company that resonates with you, such as its innovative projects, company culture, or impact on the industry]. I admire [Company Name]'s dedication to [mention any specific values or initiatives] and am excited about the possibility of contributing to such a dynamic and forward-thinking organization.

Furthermore, I am impressed by [Company Name]'s reputation for [mention any positive aspects of the company you admire, such as its commitment to excellence, innovative solutions, or positive work environment]. I am eager to bring my unique perspective and expertise to your team and help [Company Name] continue to thrive in its industry.

Enclosed is my resume, which provides additional details about my background and accomplishments. I welcome the opportunity to discuss how my skills and experiences align with the needs of [Company Name] in more detail. Thank you for considering my application. I look forward to the possibility of contributing to your team and helping [Company Name] achieve its objectives.

Sincerely,

[Your Name]

[Enclosure: Resume]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But this is not enough. It's too abstruct and general, and isn't personalised to represent your own qualification for the company.&lt;/p&gt;

&lt;h1&gt;
  
  
  2.Specify your role
&lt;/h1&gt;

&lt;p&gt;To improve the output, you need to specify the place of writer. In my case, I'm a web developer. So let it know its place and regenerate the sentences.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Write a cover letter as I am #role.

#role
Web developer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Your Name]
[Your Address]
[City, State, Zip Code]
[Your Email Address]
[Your Phone Number]
[Date]

[Hiring Manager's Name]
[Company Name]
[Company Address]
[City, State, Zip Code]

Dear [Hiring Manager's Name],

I am writing to express my interest in the Web Developer position at [Company Name], as advertised on [where you found the job posting]. With a passion for crafting innovative and user-friendly web solutions, I am excited about the opportunity to contribute to your team and help [Company Name] achieve its digital objectives.

As a seasoned web developer with [number] years of experience in the field, I have honed my skills in frontend and backend development, as well as proficiency in various programming languages and frameworks such as HTML, CSS, JavaScript, React, and Node.js. My previous roles have provided me with the opportunity to work on diverse projects, ranging from e-commerce platforms to content management systems, where I have consistently delivered high-quality, responsive, and scalable web applications.

I am particularly drawn to [Company Name]'s commitment to [mention something specific about the company that resonates with you, such as its focus on innovation, user experience, or industry impact]. I am eager to leverage my technical expertise and creative problem-solving skills to contribute to [Company Name]'s mission and help drive its success in the digital landscape.

Furthermore, I am impressed by [Company Name]'s reputation for [mention any positive aspects of the company you admire, such as its collaborative culture, commitment to excellence, or cutting-edge technology]. I am excited about the prospect of collaborating with talented professionals and contributing to [Company Name]'s continued growth and success.

Enclosed is my resume, which provides further details about my technical skills, professional experience, and notable projects. I am enthusiastic about the opportunity to discuss how my qualifications align with the needs of [Company Name]. Thank you for considering my application. I look forward to the possibility of contributing to your team and helping [Company Name] achieve its digital goals.

Sincerely,

[Your Name]

[Enclosure: Resume]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now it's specialised for a web developer. But it still has some problems like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It misunderstands your applying position is also "web developer" (Usually they could be slightly different like "Software developer", "Intermidiate software engineer", etc... depending on JD.)&lt;/li&gt;
&lt;li&gt;It doesn't truly reflect your actual skillset or career, just trying to generate "likely" sentences.&lt;/li&gt;
&lt;li&gt;After all you need to consider about [mention any positive aspects of the company you admire, such as its collaborative culture, commitment to excellence, or cutting-edge technology] part.&lt;/li&gt;
&lt;li&gt;You need to replace in the blackets[] with specific informations&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  3.Give inputs
&lt;/h1&gt;

&lt;p&gt;You need to give more details about you and the company you wanna apply. Let's imform it some information about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Input
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Write a cover letter including the information in #input as I am #role.

#role
Web developer

#input
*My information
name: Takeru Tomii
address: 1/1 St Bullshit Rd, Somewhere, Oakland, New Jesusland
phone number: 012-345-6789
email address: john.doe@gmail.com
Skill set: Angular, .Net Framework, Python, Azure
Career: 6 years

*Applying company
Date to write: 12/02/2024
Company name: Apple
address: 2/2 St Apeshit Rd, Wherever, Oakland, New Jesusland
Applying position: Intermidiate software engineer

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Takeru Tomii
1/1 St Bullshit Rd
Somewhere, Oakland
New Jesusland
Phone: 012-345-6789
Email: john.doe@gmail.com
February 12, 2024

Hiring Manager
Apple Inc.
2/2 St Apeshit Rd
Wherever, Oakland
New Jesusland

Dear Hiring Manager,

I am writing to express my sincere interest in the Intermediate Software Engineer position at Apple Inc., as advertised. With six years of experience in web development and a robust skill set encompassing Angular, .Net Framework, Python, and Azure, I am eager to bring my expertise to Apple and contribute to its groundbreaking projects.

Throughout my career, I have demonstrated a strong proficiency in both frontend and backend development, delivering high-quality web solutions that prioritize user experience and functionality. My extensive experience with Angular has equipped me with the ability to create dynamic and responsive user interfaces, enhancing user engagement and satisfaction. Additionally, my proficiency in .Net Framework and Python has enabled me to develop efficient backend systems, ensuring optimal performance and scalability. Moreover, my familiarity with Azure cloud services positions me well to leverage cutting-edge technologies for building secure and scalable web applications.

I am particularly drawn to Apple's reputation for innovation and its commitment to pushing the boundaries of technology. I am excited about the opportunity to contribute my technical skills and creative problem-solving abilities to Apple's mission of shaping the future of software engineering. Furthermore, I am impressed by Apple's dedication to fostering a collaborative and inclusive work environment, where diversity and excellence are valued and celebrated.

Enclosed is my resume, which provides further details about my professional experience, technical skills, and notable achievements. I am enthusiastic about the possibility of joining Apple and contributing to its dynamic team. Thank you for considering my application. I look forward to the opportunity to discuss how my qualifications align with the needs of the Intermediate Software Engineer role at Apple.

Sincerely,

Takeru Tomii
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now it became quite practical sentences. You may need just a little fix for it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Future problems
&lt;/h1&gt;

&lt;p&gt;There are still some leftover to improve the output. I'll research in another article for them.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How can you focus the sentences the requirements of the JD?

&lt;ul&gt;
&lt;li&gt;How can you specify the information to appeal effectively?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;How can you detect the true needs on the JD

&lt;ul&gt;
&lt;li&gt;Need another query to analyze the hidden needs in JD?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;How can you specify the writing style?

&lt;ul&gt;
&lt;li&gt;e.g) listing up experiences and linked skillset in the middle of the letter&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Reference
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://www.promptingguide.ai/"&gt;Prompt Engineering Guide&lt;/a&gt;&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>promptengineering</category>
    </item>
  </channel>
</rss>
