Blog

random_image
Project Management

What is Vibe Coding?

Vibe Coding is a Must-Have Skill for both "Dev & PM"

What is Vibe Coding [Essential for Dev & PM]

What is Vibe Coding [Essential for Dev & PM]

Vibe Coding is a Must-Have Skill

Whether you're a developer, product manager, or …

Read more →
random_image
Project Management

[PM] Confluence & Jira

Essential Tools for TPMs [Confluence & Jira]

Tools Every TPM Should Use: Confluence and Jira

Why TPMs need the right tools

Technical Project Managers (TPMs) often find themselves balancing technical conversations with engineers and coordination …

Read more →
random_image
AI & HCI

RAG (Retrieval-Augmented Gen)

RAG Overview [Boosting LLM Accuracy]

What is RAG (Retrieval-Augmented Generation)?

RAG is an architecture that combines information retrieval with large language models (LLMs) to improve the accuracy, trustworthiness, and relevance of generated outputs. …

AI

Read more →
random_image
AI & HCI

AI Agents [Beyond Chatbots]

AI Agent 는 ChatBot이랑 어떻게 다를까?

AI Agents, Moving Beyond Traditional Chatbots

AI agents go beyond traditional chatbots by performing autonomous decision-making and task execution. With the rise of frameworks like GPT-4o, AutoGen, and …

AI

Read more →
random_image
SW Development

[API] gRPC vs. REST

gRPC vs REST: Which to Choose?

gRPC vs REST: Which to Choose? /title> </head> <body> <h2>To develop internal or external APIs, developers must understand the key differences between gRPC and REST and choose based on their strengths and weaknesses.</h2> <p>In today’s API-driven development environment, …</p> <i class="fas fa-tags"></i> <a href="/blog/tag/api/"><span class="badge badge-pill badge-light">API</span></a> <br/> <br/> <a class="btn btn-primary" href="/blog/41/">Read more →</a> <div class="card-footer text-muted">Posted on May 21, 2025, 6:57 a.m. by <a ref="#">SANGJIN</a> </div> </div> </div> <!-- Pagination--> <nav aria-label="Pagination"> <hr class="my-0" /> <ul class="pagination justify-content-center my-4"> <li class="page-item disabled"><a class="page-link" href="#" aria-disabled="true">Newer</a></li> <li class="page-item"><a class="page-link" href="?page=2">Older</a></li> </ul> </nav> </div> <div class="col-md-4 col-lg-3"> <!-- <h3>Search</h3> <h4>Categories</h4> --> <!-- Search widget--> <div class="card mb-4"> <div class="card-header">Search</div> <div class="card-body"> <div class="input-group"> <input class="form-control" type="text" placeholder="Enter search term..." aria-label="Enter search term..." id = "search-input" aria-describedby="button-search" /> <button class="btn btn-primary" id="button-search" type="button" onclick="searchPost();">Go!</button> </div> </div> </div> <!-- Categories widget--> <div class="card mb-4" id="categories-card"> <div class="card-header">Categories</div> <div class="card-body"> <div class="row"> <ul class="list-unstyled mb-0"> <li> <a href="/blog/category/sw-development/">SW Development (13)</a> </li> <li> <a href="/blog/category/ai-hci/">AI & HCI (14)</a> </li> <li> <a href="/blog/category/project-management/">Project Management (6)</a> </li> <li> <a href="/blog/category/it-systems-audit/">IT Systems Audit (5)</a> </li> <li> <a href="/blog/category/no_category">Unclassified (7)</a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> <script> function searchPost(){ let searchValue = document.getElementById('search-input').value.trim(); if (searchValue.length > 1){ location.href="/blog/search/" + searchValue + "/"; } else{ alert('The search term(' + searchValue +') is too short.'); } }; document.getElementById('search-input').addEventListener('keyup', function(event){ if(event.key === 'Enter'){ searchPost(); } }); </script> <!-- Footer--> <!-- Footer--> <footer class="py-5 bg-dark"> <div class="container"><p class="m-0 text-center text-white">Copyright © 2024. Sangjin All Right Reserved.</p></div> </footer> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.min.js" integrity="sha384-+sLIOodYLS7CIrQpBjl+C7nPvqq+FbNUBDunl/OZv93DB7Ln/533i8e/mZXLi/P+" crossorigin="anonymous"></script> </body> </html>