Study note 45

[React] styled-components 조건부 스타일링

React에서 styled-components를 사용하여 조건부 스타일링 하려면 이렇게 할 수 있다: import styled from 'styled-components'; interface HeaderContentProps { $showBackButton?: boolean; } const HeaderContent = styled.div` ${({ $showBackButton }) => $showBackButton ? 'padding: 0 20px;' : 'margin: auto;'} `; export default HeaderContent; HeaderContent 컴포넌트가 받을 수 있는 props를 지정하는 인터페이스 HeaderContentProps를 정의한다. styled-components에서..

Study note/React 2024.04.17

Apple Developer에서 Provisioning Profiles 만들기

iOS 앱을 개발하고 배포하기 위해서는 Apple Developer에서 프로비저닝 프로파일을 만들어야 한다. 프로비저닝 프로파일을 만드는 과정을 간단히 알아보자.App ID 생성하기:Apple Developer 포털에 로그인한 후 Certificates, Identifiers & Profiles 섹션으로 이동한다.App IDs를 선택하고 "+" 버튼을 클릭하여 새로운 App ID를 생성한다.앱의 개발 또는 배포에 따라 적절한 설정을 선택한다.프로비저닝 프로파일 생성하기:Certificates, Identifiers & Profiles 섹션에서 Provisioning Profiles로 이동한다."+" 버튼을 클릭하여 새로운 프로비저닝 프로파일을 생성한다.개발용 또는 배포용 프로파일을 선택하고, 앱 ID와 ..

Study note/WebApp 2024.04.17

Xcode 없이 Distribution Certificate 생성하기

iOS 앱을 배포하기 위해서는 애플의 배포용 인증서인 Distribution Certificate가 필요하다. Windows 환경에서 OpenSSL을 사용하여 인증서를 만드는 방법을 알아보자.인증서 생성하기:먼저 OpenSSL을 사용하여 Windows에서 .p12 파일 형식의 배포용 인증서를 생성한다.명령줄에서 다음 명령을 실행하여 인증서를 생성한다:openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key생성된 CSR 파일을 사용하여 Apple Developer 포털에서 배포용 인증서를 요청한다.다운로드 및 설치:Apple Developer 포털에서 받은 배포용 인증서를 다운로드한다.이후 OpenSSL을 사용하여 .p12 파..

Study note/WebApp 2024.04.17

Graphics 분야 면접 준비

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! 1. Graphics Pipeline GPU는 병렬처리를 기본으로 하여 빠르다. GPU가 처리하는 흐름을 GPU 파이프라인이라 한다. 간단 설명: CPU로부터 입력된 정점 집합 -> 정적 집합을 3D 공간에 Vertex shader가 배치 -> 래스터화 -> Fragment shader가 각 픽셀 값으로 결정하여 화면에 출력 과정 설명: 모델 그리기(local space) -> 임의의 공간에 모델 띄우기 (world space) ->..

Study note/CS 2024.04.12

순열 - 재귀함수 (C++)

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! 재귀함수로 구현 #include #include #include using namespace std; /* 순열 알고리즘 */ void Permutation(vector& Array, int Start, int End) { // 시작과 끝이 같으면 모든 인덱스 순환했다는 뜻 if (Start == End) { for (const auto it : Array) { cout

Hash 문법 정리 (C++)

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! Hash 기본 문법 #include // 선언. string과 int 이런 식으로 pair로 선언함 unordered_map hash; // hash에 값 할당 // s를 돌면서 s의 i가 가리키는 값을 hash의 key로 vector s; for (auto& i : s) { hash[i]++; } // 만약 "aroma"라는 key에 해당 value가 100이라면 // 아래는 100을 출력하게 된다. cout

DP - Dynamic Programming

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! 다이나믹 프로그래밍 피보나치 수열처럼 점화식 풀 때 사용한다. 이미 계산한 것은 다시 계산을 하지 않게끔 하는 것이 목적이다. 탑다운과 보텀업 방식이 있다. 보텀업: DP 테이블을 만들어서 하는 방식. // 첫 번째 피보나치 수와 두 번째 피보나치 수는 1 d[1] = 1; d[2] = 1; int n = 50; // 50번째 피보나치 수를 계산 // 피보나치 함수(Fibonacci Function) 반복문으로 구현 for (int ..

Binary Search

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! 이진탐색 정렬되어 있는 리스트에서 절반씩 좁혀가며 탐색한다. 시작점, 끝점, 중간점을 이용한다. 시간 복잡도: $O(logN)$// 이진 탐색 소스코드 구현(반복문) int binarySearch(vector& arr, int target, int start, int end) { while (start target) end = mid - 1; // 중간점의 값보다 찾고자 하는 값이 큰 경우 오른쪽 확인 else star..

그래프 탐색 알고리즘: DFS/BFS

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! Stack in C++ stack s; // 선언 s.push(5); // 5를 push s.top(); // 최상단 원소 s.pop(); // 5를 pop Queue in C++ queue q; // 선언 q.push(5); // 5를 push q.front(); // 가장 먼저 들어온 원소 q.pop(); // 5를 pop 재귀함수 (Recursive) stack처럼 가장 나중에 호출된 recursive 함수가 가장 먼저 종료된다..

그리디 & 구현

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! 그리디 알고리즘(Greedy) 현재 상황에서 지금 당장 좋은 것만 고르는 방법 정당성 분석이 중요! 예를 들어, 동전 거스름돈 문제처럼 큰 단위가 항상 작은 단위의 배수일 경우 적합하다. 모든 케이스를 볼 필요 없을 때 정해진 이전 것이 다음에 영향을 미치지 않을 때 현재 조건에서 현재 값이 최적 해일 때 구현(Implementation) 구현 유형 == 시뮬레이션 유형 == 완전 탐색 유형 2차원 공간은 행렬(Matrix)를 의미한..