코딩 도구/기술 & 정보 글 (Tech & Knowledge)(18)
-
개발자를 위한 HTTP 웹 기본 지식
개발자를 위한 HTTP 웹 기본 지식 김영한님의 "모든 개발자를 위한 HTTP 웹 기본 지식"을 수강하고 정리했습니다. 인터넷 네트워크1. 클라이언트-서버 모델웹은 기본적으로 클라이언트-서버 모델을 기반으로 동작한다. 클라이언트(웹 브라우저, 모바일 앱)는 HTTP 요청을 보내고, 서버는 응답을 돌려준다. 이 과정에서 인터넷 네트워크가 핵심 역할을 한다. 서버는 사용자의 요청을 받아 데이터를 제공하는 역할을 하며, 클라이언트는 이 데이터를 처리하여 사용자에게 표시한다.2. 인터넷 프로토콜 (IP, TCP, UDP)IP(Internet Protocol): 데이터를 목적지까지 전달하는 역할을 한다. 모든 장치는 고유한 IP 주소를 가지며, 이를 통해 통신한다.TCP(Transmission Control P..
2025.02.22 -
C++에서 endl vs \n 성능 차이 알아보기
C++에서 endl vs \n 성능 차이어느날 처럼 코테 문제를 풀다가 예전에 코테에서는 절대 endl 을 쓰지 마라 라는 말이 기억이나서 출력 부분에서 아무것도 없이 vs \n vs endl 이렇게 출력 시간을 비교해보았는데 시간 차이가 났다. 위에서 부터 endl, \n, x 순서이다. 특히 코딩 테스트나 대량의 데이터를 출력할 때 endl과 \n의 차이가 실행 속도에 큰 영향을 줄 수 있다고 해서 한번 알아보았다. endl과 \n의 차이C++에서 줄바꿈을 출력하는 방법은 대표적으로 다음 두 가지가 있다:std::endl: 줄바꿈(\n)을 수행한 후, 출력 버퍼를 즉시 비운다(flush).'\n': 단순히 줄바꿈을 수행하며, 출력 버퍼를 유지한다.즉, std::endl은 줄바꿈 후 강제로 버퍼를..
2025.02.12 -
[코딩테스트] BFS에서 배열 크기를 +@로 설정하는 이유
BFS에서 배열 크기를 +@로 설정하는 이유BFS(너비 우선 탐색)를 구현할 때, 배열 크기를 문제에서 주어진 크기보다 +@를 해서 선언하는 경우가 많다. 예를 들어, 문제가 M=100, N=100이라고 하면, 배열을 board[102][102]로 설정하는 방식이다. 1. 왜 배열 크기를 +2로 설정하는가?배열 크기를 +2로 설정하는 가장 큰 이유는 배열의 경계를 벗어나는 오류를 방지하기 위해서다. BFS/DFS를 구현할 때, 보통 상하좌우 네 방향으로 탐색하는데, 이때 탐색 과정에서 배열 범위를 벗어날 가능성이 있다.예제 코드 (BFS 범위 체크)if (nx = M || ny = N) continue; // 범위를 벗어나면 스킵위 코드는 (nx, ny)가 배열의 범위를 벗어났을 경우, 즉 nx =..
2025.02.09 -
이스케이프 문자 캐리지 리턴(Carriage Return, \r): 개념과 활용
캐리지 리턴(Carriage Return)은 이스케이프 문자로 \r로 표현됩니다. 이 글에서는 캐리지 리턴의 개념, 역사적 배경, 동작 방식, 그리고 실질적인 활용 사례에 대해 다룹니다.캐리지 리턴의 개념캐리지 리턴(Carriage Return)은 텍스트 커서를 현재 줄의 맨 앞으로 이동시키는 역할을 합니다. 이 기능은 타자기와 같은 기계식 입력 장치에서 유래되었습니다. 문자 그대로 해석하면, "캐리지를 원래 위치로 되돌린다"는 의미를 가지고 있습니다.이스케이프 문자와 캐리지 리턴이스케이프 문자 \r:텍스트의 커서를 같은 줄의 맨 앞으로 이동시킵니다.이와 함께 줄 바꿈(Line Feed, \n)을 사용하면 새 줄로 이동하면서 커서를 맨 앞으로 보낼 수 있습니다.캐리지 리턴의 역사적 배경타자기와 초기 프린..
2025.01.23 -
청년 창업과 정부 과제 및 청년지원사업
정부과제 및 청년지원사업 정부과제 탐구: 도전과 기회정부 과제는 창업자, 스타트업, 연구자 등 다양한 분야에서 활동하는 사람들에게 큰 기회를 제공합니다. 대한민국과 미국 모두 다양한 정부 과제를 통해 새로운 기술 개발, 사업 확장, 사회 문제 해결에 기여할 수 있습니다. 아래는 정부 과제에 도전하기 위한 주요 정보와 팁을 정리한 내용입니다.1. 정부과제의 특징정부 과제는 단순히 한두 개가 아닌, 수백 가지의 옵션이 있으며, 지원자가 해당 과제를 성취할 때까지 도전할 수 있는 환경을 제공합니다. “될 때까지 쓰는 것”이 성공적인 전략이 될 수 있습니다. 특히, 11월은 대부분의 과제가 마감되는 시점이기 때문에 철저히 준비해야 합니다.미국에서도 정부 과제를 통해 VC 투자와는 별도로 기술을 키우고 시장 진입..
2024.12.30 -
나에게 소프트웨어란: 세상을 변화시키는 도구
○ (공모전명) 2024 SW중심대학 에세이 공모전○ (공모주제) 나에게 소프트웨어란? 소프트웨어는 나에게 단순한 기술 그 이상의 의미를 지닌다. 그것은 내가 꿈꾸는 세상을 변화시키는 도구이자, 나 자신의 가능성을 확장시키는 수단이다. 어릴 적부터 세상에 영향력을 끼치는 사람, 특히 CEO가 되는 것이 꿈이었다. 세상을 더 편리하게 만드는 다양한 서비스들이 나의 관심을 끌었고, 이를 통해 내가 할 수 있는 일들을 구체화할 수 있었다. 이러한 목표를 달성하기 위해 어떤 분야로 나아가야 할지 고민하던 중, 결론은 하나였다. 어떤 분야를 선택하더라도 핵심적인 역할을 하는 것은 '컴퓨터'였고, 컴퓨터를 제대로 활용할 줄 안다면 나는 그 꿈을 이룰 수 있을 거라 확신했다. 소프트웨어, 나의 진로를 바꾸다 고등학..
2024.09.13 -
꼭 알아야 할 TOPCIT 시험의 모든 것
TOPCIT의 정의와 목적 시험 준비를 위한 학습 방법안녕하세요, MKISOS입니다! IT분야에서 자신의 실력을 평가받을 수 있는 TOPCIT 시험에 대해 이야기해볼까 합니다. TOPCIT 시험은 IT 업계에서 꽤 중요하게 여겨지는데요, 시험의 구성부터 준비 방법까지 꼼꼼히 알려드릴 테니 이 분야에 관심 있는 분들은 꼭 주목해주세요! TOPCIT 시험이란 무엇인가?TOPCIT(Test Of Practical Competency in IT)은 ICT/SW 산업 현장에서 요구하는 실무 역량을 평가하는 제도입니다. 과학기술정보통신부와 정보통신기획평가원이 주관하며, 객관식과 서술형 문항으로 구성된 실기 중심의 평가 체계를 갖추고 있습니다.다음과 같은 목적을 가지고 있습니다.1. ICT/SW 분야 인재의 역량 수..
2024.05.05 -
정수론 : 확장 유클리드 호제법
확장 유클리드 호제법 유클리드 호제법의 목적이 두 수의 최대 공약수를 구하는 것이라면 확장 유클리드 호제법의 목적은 방정식의 해를 구하는 것이다. 확장 유클리드 호제법을 제대로 이해하려면 수학 증명 과정까지 공부해야 한다고 하지만 여기서는 확장 유클리드 호제법 관련 문제를 풀기 위한 알고리즘만 설명하려고 한다. 확장 유클리드 호제법의 핵심 이론 확장 유클리드 호제법에서 해를 구하고자 하는 방정식 해를 구하고자 하는 방정식 ax + by = c (a, b, c, x, y는 정수) 이때 위 방정식은 c% gcd(a, b) = 0인 경우에만 정수해를 가진다. 다시 말해 c가 a와 b의 최대 공약수의 배수인 경우에만 정수해를 가진다. 이는 ax + by = c가 정수해를 갖게 하는 c의 최소값이 gcd(a, b..
2024.02.19 -
정수론 : 유클리드 호제법
유클리드 호제법 유클리드 호제법 euclidean-algorithm은 두 수의 최대 공약수를 구하는 알고리즘이다. 일반적으로 최대 공약수를 구하는 방법은 소인수 분해를 이용한 공통된 소수들의 곱으로 표현할 수 있지만 유클리드 호제법은 좀 더 간단한 방법을 제시한다. 유클리드 호제법의 핵심 이론 유클리드 호재법을 수행하려면 먼저 MOD 연산을 이해하고 있어야 한다. MOD 연산이 최대 공약수를 구하는 데 사용하는 핵심 연산이기 때문이다. MOD 연산 : 두 값을 나눈 나머지를 구하는 연산 MOD 연산을 이해하면 다음과 같은 3단계로 유클리드 호제법을 구현할 수 있다. MOD 연산으로 구현하는 유클리드 호제법 1 큰 수를 작은 수로 나누는 MOD 연산을 수행한다. 2 앞 단계에서의 작은 수와 MOD 연산 결..
2024.02.18 -
정수론 : 오일러 피
오일러 피 오일러 피 함수 P[N]의 정의는 1부터 N까지 범위에서 N과 서로소인 자연수의 개수를 뜻한다. 오일러 피 함수는 증명 과정을 공부해야 완벽하게 알 수 있다고하지만 실제 코딩 테스트에 사용하기 위한 구현 부분만 알아보겠다. 오일러 피의 핵심 이론 오일러 피 함수의 원리는 에라토스테네스의 체와 비슷하다. 오일러 피 함수의 원리 1 구하고자 하는 오일러 피의 범위만큼 리스트를 자기 자신의 인덱스값으로 초기화한다. 2 2부터 시작해 현재 리스트의 값과 인덱스가 같으면(= 소수일 때) 현재 선택된 숫자(K)의 배수에 해당하는 수를 리스트에 끝까지 탐색하며 P[i] = P[i] - P[i]/K 연산을 수행한다(i는 K의 배수). 3 리스트의 끝까지 과정 2 를 반복하여 오일러 피 함수를 완성한다. 수학..
2024.02.17