서른, 프로그래머 입문하다
-
프로젝트 & CS 공부
CS공부를 계속 해나가고 있다.컴퓨터구조, 운영체제, 데이터베이스, 네트워크, 자료구조를 병행하면서 읽기를 병행하고 있다. 많은 책들이 컴퓨터구조와 운영체제를 한 세트로 묶어서, 혹은 컴퓨터구조 다음에는 운영체제를 안내하는 게 궁금했었다. 이 궁금함은 공부를 하면서 해결됐다. 둘 사이에는 긴밀한 연결성이 있었고, 내용도 꽤나 겹친다. 데이터베이스는 예상외로 어렵지 않은 느낌이다. 자료구조는 알고리즘 문제를 풀면서 자연스레 공부하게 되어 큰 거부감은 없었다. 자주 노출되고 들어서 거부감이 덜 한 느낌이다. 제일 고전은 네트워크이다. 대표적으로 7계층이 주요 공부 포인트인데, 네트워크 계층부터가 급 어려워진다. IP, 라우터 등 꽤나 들어본 것들이지만 막상 공부하면 어렵다. 일단은 그냥 읽으면서 익숙해지고,..
2025.02.13
-
Supabase SQL 보관
최종 수정 : 25.02.10 클로디에 의존하여 개발을 진행했는데, 테이블이 많이 엉켰었다. 섹션마다 서로 데이터가 호환되지 않아 생긴 이유였고, 무엇보다 내가 고민하지 않고 문제를 해결하고 넘어가기만 해서 발생했던 참사였다. 그래서 프로젝트에 사용된 테이블과 함수, 정책들을 다 삭제하고 처음부터 다시 만들고 있다. # 회원가입을 위한 profiles 테이블1. profiles 테이블 생성create table public.profiles ( id uuid references auth.users on delete cascade primary key, name text, nickname text unique, email text, avatar_url text, interests text[], ..
2025.02.10
-
Supabase Password-based Auth with email or phone 공식문서 번역
최종 수정 : 25.1.19공식 문서를 번역한 것입니다.비밀번호 기반 인증유저의 이메일 또는 휴대폰 번호와 연결된 비밀번호로 사용자가 로그인할 수 있도록 한다. 사용자들은 보통 비밀번호로 사이트에 로그인하기를 기대한다. Supabase 인증은 안전한 설정 옵션과 비밀번호 저장 및 확인을 위한 모범 사례를 사용하여 비밀번호 기반 인증을 안전하게 구현할 수 있도록 도와준다. 유저는 이메일 주소나 전화번호를 사용해 자신의 신원과 비밀번호를 연결할 수 있다.# With email이메일과 비밀번호 기반 인증 활성화이메일 인증은 기본적으로 활성화되어 있다. 사용자가 로그인을 위한 그들의 이메일 인증이 필요한지 설정할 수 있다. 호스팅된 Supabase 프로젝트에서는 기본적으로 활성화되어 있다. 자체 호스팅 프로젝트..
2025.01.19
-
Supabase Auth Server-Side Rendering 공식문서 번역
최종 수정 : 25.1.17공식문서를 번역한 내용입니다.1. Server-Side RenderingSSR이 Supabase Auth와 함께 동작하는 방법 SSR 프레임워크는 클라이언트 번들 크기와 실행 시간을 줄이기 위해 렌더링과 데이터 가져오기를 서버로 이동시킨다. Supabase Auth는 SSR과 완벽하게 호환된다. 로컬 스토리지 대신 쿠키(cookie)에 사용자 세션(session)을 저장하기 위해 Supabase 클라이언트의 설정을 약간 수정할 필요가 있다. Supabase 클라이언트를 설정한 후, How-To 가이드에 있는 모든 플로우(flow)의 지침을 따라가면 된다.암시적 플로우와 다를 경우에는 PKCE 플로우 지침을 따르라. 차이점이 언급되지 않을 경우에는, 신경 쓰지 않아도 된다. # ..
2025.01.17
-
Supabase - Auth / Auth architecture / Auth with Next.JS 공식문서 번역
최종 수정 : 2025.1.16공식문서를 번역한 내용입니다.1. Auth 이용자의 인증과 승인을 위한 Supabase 기능 앱에서 인증과 권한 부여를 쉽게 구현하도록 만들어준다. 이를 위해, 유저를 생성하고 관리를 돕는 client SDKs와 API endpoints를 제공해준다. 비밀번호, magic link, OTP(one-time password), 소셜 로그인, 그리고 SSO(single sign-on)을 포함한 잘 알려진 인증 방법들을 사용할 수 있다. # 인증과 승인인증과 권한 부여는 Auth system의 핵심적인 부분이다.인증(Authenication)은 사용자가 누구인지 확인하는 것을 의미한다.권한 부여(Authorization)는 접근이 허락된 유저의 리소스를 확인하는 것을 의미한다. ..
2025.01.17
-
클러스터 컴퓨터
최종 수정 : 25.1.10클러스터 컴퓨터클러스터 컴퓨터는 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합을 말한다. 클러스터의 구성 요소들은 일반적으로 고속의 근거리 통신망으로 연결되어, 서버로 사용되는 노드에는 각각의 운영 체제가 실행된다. 클러스터 컴퓨터는 저렴한 마이크로프로세서와 고속의 네트워크, 그리고 고성능 분산 컴퓨팅용 소프트웨어들의 조합 결과로 태어났다. 클러스터는 일반적으로 단일 컴퓨터보다 더 뛰어난 성능과 안정성을 제공하며, 비슷한 성능과 안정성을 제공하며, 비슷한 성능과 안정성을 제공하는 단일 컴퓨터보다 비용 면에서 훨씬 더 효율적이다. 따라서 열 개 안팎의 중소 규모의 클러스터부터 수천 개로 이루어진 대형 슈퍼컴퓨터에 이르기까지 널리 사용되고 있다.1. 클러..
2025.01.10
-
컴퓨터 성능평가
최종 수정 : 25.1.10컴퓨터 성능평가컴퓨터의시스템의 성능은 일반적으로 처리능력, 속도, 신뢰도, 사용 가능도 등 4가지 측면에서 평가된다. 처리능력 : 단위 시간 내에 처리하는 작업의 양처리속도 : 어떤 일을 처리하기 위해 입력을 시작한 때로부터 결과를 얻을 때까지의 소요되는 시간신로도 : 컴퓨터에 주어진 문제를 어느 정도 정확하게 해결하는지사용가능도 : 컴퓨터를 사용할 필요가 생겼을 때 어느 정도 신속하게 사용한지1. 병렬 컴퓨터의 속도와 성능 효율컴퓨터시스템의 성능 향상을 위한 방법으로 병렬처리 기술이 확산되고 있다. 병렬 컴퓨터의 속도와 성능 효율에 대한 기준은 다음과 같다.1) 처리속도처리속도란 보통 단위 시간당 처리하는 명령어의 수를 표시하는 것으로 MIPS(millions of Instr..
2025.01.10
-
DMA를 이용한 입출력
최종 수정 : 25.1.10DMA를 이용한 입출력1. DMA (Direct Memory Access) 제어기CPU의 개입 없이 입출력장치와 주기억장치 사이에서 데이터를 직접 전송시키는 방법을 직접 메모리 접근(DMA)라고 한다. DMA에 의한 입출력이 수행되는 동안 중앙처리장치는 주기억장치 버스를 제어하지 못한다. 주기억장치의 데이터를 입출력장치에 보내거나,입출력장치의 데이터를 주기억장치에 전송하려면 PCU는 DMA 제어기로 주기억장치의 시작주소, 전송될 데이터의 양, 입출력장치의 주소를 알려주어야 한다. CPU는 DMA 제어기에 제어권을 넘긴 후에는 데이터 전송이 완료될 때까지 개입하지 않는다. 데이터전송은 DMA 제어기가 주기억장치 버스를 통하여 CPU에 버스요구(bus request)를 신청하면 C..
2025.01.10
-
인터럽트를 이용한 입출력
최종 수정 : 25.1.9인터럽트를 이용한 입출력1. 인터럽트 구동 입출력 (interrupt driven I/O)프로그램에 의한 입출력방식은 CPU가 항상 플래그를 체크하기 때문에 CPU의 시간 낭비를 가져온다. 이러한 단점을 보완한 방식이 인터럽트를 이용한 데이터 전송방식이다. 즉, CPU는 항상 플래그를 체크하는 것이 아니라 인터페이스 장치가 데이터 전송이 필요하면 CPU에 인터럽트를 발생시키는 방식이다. CPU는 다른 일을 수행하다가 인터럽트가 발생하면 실행 중인 프로그램을 중지하고 복귀 주소를 스택에 저장한 다음 인터럽트 서비스 루틴으로 이동하여, 입출력 데이터 전송을 처리한다. 처리를 완료하면 CPU는 인터럽트 이전의 상태로 복귀하여 중단했던 프로그램을 수행한다. 인터럽트에 의한 입출력 방식은..
2025.01.09
-
입출력장치 주소지정
최종 수정 : 25.1.9입출력장치 주소지정컴퓨터시스템의 입출력장치는 고유의 장치번호나 주소로 구별을 한다. 중앙처리장치, 죽억장치, 입출력 장치가 공통의 버스를 공유하는 컴퓨터시스템의 입출력 방식은 기억장치사상 입출력(memory mapped I/O)과 분리형 입출력(isolated I/O) 방식이 있다.1. 기억장치사상 입출력(memory mapped I/O)기억장치사상 입출력에서는 주기억장치, 입출력장치가 하나의주소 공간을 가지므로 공통의 버스와 제어선을 사용한다. 입출력에 관한 레지스터들을 기억장치 내의 기억장소와 동일하게 취급하고, 주기억장치와 입출력장치들을 액세스할 때 같은 명령어를 사용한다. 명령어뿐만 아니라 기억장치를 액세스할 때 사용하는 R/W 제어신호도 입출력장치를 액세스할 떄 공유한다..
2025.01.09