Chiyuang Tseng.contentarea html { -webkit-print-color-adjust: exact; } .contentarea * { box-sizing: border-box; -webkit-print-color-adjust: exact; } .contentarea html { margin: 0; padding: 0; } .contentarea body { margin: 0; padding: 0; } .contentarea body { line-height: 1.5; white-space: pre-wrap; } .contentarea a { color: inherit; text-decoration: underline; } .contentarea a.visited { color: inherit; text-decoration: underline; } .contentarea .pdf-relative-link-path { font-size: 80%; color: #444; } .contentarea h1 { letter-spacing: -0.01em; line-height: 1.2; font-weight: 600; margin-bottom: 0; } .contentarea h2 { letter-spacing: -0.01em; line-height: 1.2; font-weight: 600; margin-bottom: 0; } .contentarea h3 { letter-spacing: -0.01em; line-height: 1.2; font-weight: 600; margin-bottom: 0; } .contentarea .page-title { font-size: 2.5rem; font-weight: 700; margin-top: 0; margin-bottom: 0.75em; } .contentarea h1 { font-size: 1.875rem; margin-top: 1.875rem; } .contentarea h2 { font-size: 1.5rem; margin-top: 1.5rem; } .contentarea h3 { font-size: 1.25rem; margin-top: 1.25rem; } .contentarea .source { border: 1px solid #ddd; border-radius: 3px; padding: 1.5em; word-break: break-all; } .contentarea .callout { border-radius: 3px; padding: 1rem; } .contentarea figure { margin: 1.25em 0; page-break-inside: avoid; } .contentarea figcaption { opacity: 0.5; font-size: 85%; margin-top: 0.5em; } .contentarea mark { background-color: transparent; } .contentarea .indented { padding-left: 1.5em; } .contentarea hr { background: transparent; display: block; width: 100%; height: 1px; visibility: visible; border: none; border-bottom: 1px solid rgba(55, 53, 47, 0.09); } .contentarea img { max-width: 100%; } .contentarea @page { margin: 1in; } .contentarea .collection-content { font-size: 0.875rem; } .contentarea .column-list { display: flex; justify-content: space-between; } .contentarea .column { padding: 0 1em; } .contentarea .column:first-child { padding-left: 0; } .contentarea .column:last-child { padding-right: 0; } .contentarea .table_of_contents-item { display: block; font-size: 0.875rem; line-height: 1.3; padding: 0.125rem; } .contentarea .table_of_contents-indent-1 { margin-left: 1.5rem; } .contentarea .table_of_contents-indent-2 { margin-left: 3rem; } .contentarea .table_of_contents-indent-3 { margin-left: 4.5rem; } .contentarea .table_of_contents-link { text-decoration: none; opacity: 0.7; border-bottom: 1px solid rgba(55, 53, 47, 0.18); } .contentarea table { border: 1px solid rgba(55, 53, 47, 0.09); border-collapse: collapse; } .contentarea th { border: 1px solid rgba(55, 53, 47, 0.09); border-collapse: collapse; } .contentarea td { border: 1px solid rgba(55, 53, 47, 0.09); border-collapse: collapse; } .contentarea table { border-left: none; border-right: none; } .contentarea th { font-weight: normal; padding: 0.25em 0.5em; line-height: 1.5; min-height: 1.5em; text-align: left; } .contentarea td { font-weight: normal; padding: 0.25em 0.5em; line-height: 1.5; min-height: 1.5em; text-align: left; } .contentarea th { color: rgba(55, 53, 47, 0.6); } .contentarea ol { margin: 0; margin-block-start: 0.6em; margin-block-end: 0.6em; } .contentarea ul { margin: 0; margin-block-start: 0.6em; margin-block-end: 0.6em; } .contentarea li > ol:first-child { margin-block-start: 0.6em; } .contentarea li > ul:first-child { margin-block-start: 0.6em; } .contentarea ul > li { list-style: disc; } .contentarea ul.to-do-list { padding-inline-start: 0; } .contentarea ul.to-do-list > li { list-style: none; } .contentarea .to-do-children-checked { text-decoration: line-through; opacity: 0.375; } .contentarea ul.toggle > li { list-style: none; } .contentarea ul { padding-inline-start: 1.7em; } .contentarea ul > li { padding-left: 0.1em; } .contentarea ol { padding-inline-start: 1.6em; } .contentarea ol > li { padding-left: 0.2em; } .contentarea .mono ol { padding-inline-start: 2em; } .contentarea .mono ol > li { text-indent: -0.4em; } .contentarea .toggle { padding-inline-start: 0em; list-style-type: none; } .contentarea .toggle > li > details { padding-left: 1.7em; } .contentarea .toggle > li > details > summary { margin-left: -1.1em; } .contentarea .selected-value { display: inline-block; padding: 0 0.5em; background: rgba(206, 205, 202, 0.5); border-radius: 3px; margin-right: 0.5em; margin-top: 0.3em; margin-bottom: 0.3em; white-space: nowrap; } .contentarea .collection-title { display: inline-block; margin-right: 1em; } .contentarea .page-description { margin-bottom: 2em; } .contentarea .simple-table { margin-top: 1em; font-size: 0.875rem; empty-cells: show; } .contentarea .simple-table td { height: 29px; min-width: 120px; } .contentarea .simple-table th { height: 29px; min-width: 120px; } .contentarea .simple-table-header-color { background: rgb(247, 246, 243); color: black; } .contentarea .simple-table-header { font-weight: 500; } .contentarea time { opacity: 0.5; } .contentarea .icon { display: inline-block; max-width: 1.2em; max-height: 1.2em; text-decoration: none; vertical-align: text-bottom; margin-right: 0.5em; } .contentarea img.icon { border-radius: 3px; } .contentarea .user-icon { width: 1.5em; height: 1.5em; border-radius: 100%; margin-right: 0.5rem; } .contentarea .user-icon-inner { font-size: 0.8em; } .contentarea .text-icon { border: 1px solid #000; text-align: center; } .contentarea .page-cover-image { display: block; object-fit: cover; width: 100%; max-height: 30vh; } .contentarea .page-header-icon { font-size: 3rem; margin-bottom: 1rem; } .contentarea .page-header-icon-with-cover { margin-top: -0.72em; margin-left: 0.07em; } .contentarea .page-header-icon img { border-radius: 3px; } .contentarea .link-to-page { margin: 1em 0; padding: 0; border: none; font-weight: 500; } .contentarea p > .user { opacity: 0.5; } .contentarea td > .user { white-space: nowrap; } .contentarea td > time { white-space: nowrap; } .contentarea input[type="checkbox"] { transform: scale(1.5); margin-right: 0.6em; vertical-align: middle; } .contentarea p { margin-top: 0.5em; margin-bottom: 0.5em; } .contentarea .image { border: none; margin: 1.5em 0; padding: 0; border-radius: 0; text-align: center; } .contentarea .code { background: rgba(135, 131, 120, 0.15); border-radius: 3px; padding: 0.2em 0.4em; font-size: 85%; tab-size: 2; } .contentarea code { background: rgba(135, 131, 120, 0.15); border-radius: 3px; padding: 0.2em 0.4em; font-size: 85%; tab-size: 2; } .contentarea code { color: #eb5757; } .contentarea .code { padding: 1.5em 1em; } .contentarea .code-wrap { white-space: pre-wrap; word-break: break-all; } .contentarea .code > code { background: none; padding: 0; font-size: 100%; color: inherit; } .contentarea blockquote { font-size: 1.25em; margin: 1em 0; padding-left: 1em; border-left: 3px solid rgb(55, 53, 47); } .contentarea .bookmark { text-decoration: none; max-height: 8em; padding: 0; display: flex; width: 100%; align-items: stretch; } .contentarea .bookmark-title { font-size: 0.85em; overflow: hidden; text-overflow: ellipsis; height: 1.75em; white-space: nowrap; } .contentarea .bookmark-text { display: flex; flex-direction: column; } .contentarea .bookmark-info { flex: 4 1 180px; padding: 12px 14px 14px; display: flex; flex-direction: column; justify-content: space-between; } .contentarea .bookmark-image { width: 33%; flex: 1 1 180px; display: block; position: relative; object-fit: cover; border-radius: 1px; } .contentarea .bookmark-description { color: rgba(55, 53, 47, 0.6); font-size: 0.75em; overflow: hidden; max-height: 4.5em; word-break: break-word; } .contentarea .bookmark-href { font-size: 0.75em; margin-top: 0.25em; } .contentarea .sans { font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol"; } .contentarea .code { font-family: "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace; } .contentarea .serif { font-family: Lyon-Text, Georgia, ui-serif, serif; } .contentarea .mono { font-family: iawriter-mono, Nitti, Menlo, Courier, monospace; } .contentarea .pdf .sans { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK JP'; } .contentarea .pdf:lang(zh-CN) .sans { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK SC'; } .contentarea .pdf:lang(zh-TW) .sans { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK TC'; } .contentarea .pdf:lang(ko-KR) .sans { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK KR'; } .contentarea .pdf .code { font-family: Source Code Pro, "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK JP'; } .contentarea .pdf:lang(zh-CN) .code { font-family: Source Code Pro, "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK SC'; } .contentarea .pdf:lang(zh-TW) .code { font-family: Source Code Pro, "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK TC'; } .contentarea .pdf:lang(ko-KR) .code { font-family: Source Code Pro, "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK KR'; } .contentarea .pdf .serif { font-family: PT Serif, Lyon-Text, Georgia, ui-serif, serif, 'Twemoji', 'Noto Color Emoji', 'Noto Serif CJK JP'; } .contentarea .pdf:lang(zh-CN) .serif { font-family: PT Serif, Lyon-Text, Georgia, ui-serif, serif, 'Twemoji', 'Noto Color Emoji', 'Noto Serif CJK SC'; } .contentarea .pdf:lang(zh-TW) .serif { font-family: PT Serif, Lyon-Text, Georgia, ui-serif, serif, 'Twemoji', 'Noto Color Emoji', 'Noto Serif CJK TC'; } .contentarea .pdf:lang(ko-KR) .serif { font-family: PT Serif, Lyon-Text, Georgia, ui-serif, serif, 'Twemoji', 'Noto Color Emoji', 'Noto Serif CJK KR'; } .contentarea .pdf .mono { font-family: PT Mono, iawriter-mono, Nitti, Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK JP'; } .contentarea .pdf:lang(zh-CN) .mono { font-family: PT Mono, iawriter-mono, Nitti, Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK SC'; } .contentarea .pdf:lang(zh-TW) .mono { font-family: PT Mono, iawriter-mono, Nitti, Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK TC'; } .contentarea .pdf:lang(ko-KR) .mono { font-family: PT Mono, iawriter-mono, Nitti, Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK KR'; } .contentarea .highlight-default { color: rgba(55, 53, 47, 1); } .contentarea .highlight-gray { color: rgba(120, 119, 116, 1); fill: rgba(120, 119, 116, 1); } .contentarea .highlight-brown { color: rgba(159, 107, 83, 1); fill: rgba(159, 107, 83, 1); } .contentarea .highlight-orange { color: rgba(217, 115, 13, 1); fill: rgba(217, 115, 13, 1); } .contentarea .highlight-yellow { color: rgba(203, 145, 47, 1); fill: rgba(203, 145, 47, 1); } .contentarea .highlight-teal { color: rgba(68, 131, 97, 1); fill: rgba(68, 131, 97, 1); } .contentarea .highlight-blue { color: rgba(51, 126, 169, 1); fill: rgba(51, 126, 169, 1); } .contentarea .highlight-purple { color: rgba(144, 101, 176, 1); fill: rgba(144, 101, 176, 1); } .contentarea .highlight-pink { color: rgba(193, 76, 138, 1); fill: rgba(193, 76, 138, 1); } .contentarea .highlight-red { color: rgba(212, 76, 71, 1); fill: rgba(212, 76, 71, 1); } .contentarea .highlight-gray_background { background: rgba(241, 241, 239, 1); } .contentarea .highlight-brown_background { background: rgba(244, 238, 238, 1); } .contentarea .highlight-orange_background { background: rgba(251, 236, 221, 1); } .contentarea .highlight-yellow_background { background: rgba(251, 243, 219, 1); } .contentarea .highlight-teal_background { background: rgba(237, 243, 236, 1); } .contentarea .highlight-blue_background { background: rgba(231, 243, 248, 1); } .contentarea .highlight-purple_background { background: rgba(244, 240, 247, 0.8); } .contentarea .highlight-pink_background { background: rgba(249, 238, 243, 0.8); } .contentarea .highlight-red_background { background: rgba(253, 235, 236, 1); } .contentarea .block-color-default { color: inherit; fill: inherit; } .contentarea .block-color-gray { color: rgba(120, 119, 116, 1); fill: rgba(120, 119, 116, 1); } .contentarea .block-color-brown { color: rgba(159, 107, 83, 1); fill: rgba(159, 107, 83, 1); } .contentarea .block-color-orange { color: rgba(217, 115, 13, 1); fill: rgba(217, 115, 13, 1); } .contentarea .block-color-yellow { color: rgba(203, 145, 47, 1); fill: rgba(203, 145, 47, 1); } .contentarea .block-color-teal { color: rgba(68, 131, 97, 1); fill: rgba(68, 131, 97, 1); } .contentarea .block-color-blue { color: rgba(51, 126, 169, 1); fill: rgba(51, 126, 169, 1); } .contentarea .block-color-purple { color: rgba(144, 101, 176, 1); fill: rgba(144, 101, 176, 1); } .contentarea .block-color-pink { color: rgba(193, 76, 138, 1); fill: rgba(193, 76, 138, 1); } .contentarea .block-color-red { color: rgba(212, 76, 71, 1); fill: rgba(212, 76, 71, 1); } .contentarea .block-color-gray_background { background: rgba(241, 241, 239, 1); } .contentarea .block-color-brown_background { background: rgba(244, 238, 238, 1); } .contentarea .block-color-orange_background { background: rgba(251, 236, 221, 1); } .contentarea .block-color-yellow_background { background: rgba(251, 243, 219, 1); } .contentarea .block-color-teal_background { background: rgba(237, 243, 236, 1); } .contentarea .block-color-blue_background { background: rgba(231, 243, 248, 1); } .contentarea .block-color-purple_background { background: rgba(244, 240, 247, 0.8); } .contentarea .block-color-pink_background { background: rgba(249, 238, 243, 0.8); } .contentarea .block-color-red_background { background: rgba(253, 235, 236, 1); } .contentarea .select-value-color-uiBlue { background-color: rgba(35, 131, 226, .07); } .contentarea .select-value-color-pink { background-color: rgba(245, 224, 233, 1); } .contentarea .select-value-color-purple { background-color: rgba(232, 222, 238, 1); } .contentarea .select-value-color-green { background-color: rgba(219, 237, 219, 1); } .contentarea .select-value-color-gray { background-color: rgba(227, 226, 224, 1); } .contentarea .select-value-color-translucentGray { background-color: rgba(255, 255, 255, 0.0375); } .contentarea .select-value-color-orange { background-color: rgba(250, 222, 201, 1); } .contentarea .select-value-color-brown { background-color: rgba(238, 224, 218, 1); } .contentarea .select-value-color-red { background-color: rgba(255, 226, 221, 1); } .contentarea .select-value-color-yellow { background-color: rgba(253, 236, 200, 1); } .contentarea .select-value-color-blue { background-color: rgba(211, 229, 239, 1); } .contentarea .select-value-color-pageGlass { background-color: undefined; } .contentarea .select-value-color-washGlass { background-color: undefined; } .contentarea .checkbox { display: inline-flex; vertical-align: text-bottom; width: 16; height: 16; background-size: 16px; margin-left: 2px; margin-right: 5px; } .contentarea .checkbox-on { background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%2358A9D7%22%2F%3E%0A%3Cpath%20d%3D%22M6.71429%2012.2852L14%204.9995L12.7143%203.71436L6.71429%209.71378L3.28571%206.2831L2%207.57092L6.71429%2012.2852Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E"); } .contentarea .checkbox-off { background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%220.75%22%20y%3D%220.75%22%20width%3D%2214.5%22%20height%3D%2214.5%22%20fill%3D%22white%22%20stroke%3D%22%2336352F%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E"); } @media only screen { .contentarea body { margin: 2em auto; max-width: 900px; color: rgb(55, 53, 47); } } @media only print { .contentarea img { max-height: 100vh; object-fit: contain; } }

Chiyuang Tseng

+886 972153572

asymptotion@gmail.com


Skills


Programming language: Go, Python, C++

Developing tool: Linux, Git, Docker, Kubernetes, Postman

Databases: MySQL, Redis, MongoDB, Firestore, BigQuery

Cloud: GCP(Kubernetes Engine, BigQuery, CloudSQL, Cloud Storage, Pub/Sub), AWS(SES, SNS)

Others: Nginx, ELK stack, RESTful API, Swagger


Experience


  • Feb 2023 - Dec 2023 Senior Software Engineer, iKala(CDP)
  • Oct 2020 - Jan 2023 Software Engineer, iKala(CDP)
    • Designed and implemented an URL shortener for event tracking
    • Designed and implemented IAM module of CDP
    • Responsible for 3rd party API integrations, includes Google Ads, AWS SES&SNS,
      Newsleopard(email), MAAC(LINE messaging provider), and EVERY8D(SMS provider)
  • Sep 2017 - Dec 2018 Junior Backend Developer, 17Media
    • Real-time interactive quiz game in video streaming
      • Implemented game mechanism and management interface
      • Conducted stress test for up to 100K users playing game at the same time
    • Scheduled notification module
      • Dealt with max about 10M of message transmission in 15 minutes
    • Streaming simulator
      • Simulates users’ actions in video streaming
      • Triggered by slack commands to simplify testing flow

Educations


  • Sep 2014 - Jan 2018 Attended Graduate Institute of Electrical Engineering, National Taiwan University
  • Sep 2007 - Jan 2011 Attended Department of Bioenvironmental Systems Engineering, National Taiwan University