OMSCS를 지원할 때 아래와 같이 Professional Development를 통해 professional development certificates를 제출할 수 있다. 나의 경우, 정보처리기사 자격증이 있어서 제출했다. 이때, 문서는 90일동만 유효하므로 너무 일찍 발급받아 제출할 필요는 없다. 정보처리기사 자격증을 제출하려면 우선 수첩형이 아니라 영문 문서가 필요하다. 큐넷에서 아래와 같이 발급 신청하면 된다. 그리고 정상적으로 출력(저장)까지 완료한다. 그 다음으로, 아포스티유를 함께 첨부할 수 있는데, 아래 링크를 통해 발급 가능하다. 대한민국 아포스티유 | Republic of Korea e-Apostille Service자주찾는 서비스 모아보기www.apostille.go.kr 한국산업인..
OMSCS를 지원하려면 총 3장의 추천서를 제출해야 한다. 지원서를 생성하고 오른쪽 메뉴에서 Recommendations 를 통해 추천서를 제출한다.Add Recommender 버튼을 누르면 아래와 같이 추천자 정보를 입력하는 폼이 뜬다. Prefix, First Name, Last Name, Organization, Position/Title, Relationship, Telephone, Email을 입력하고, (나는 이미 추천서 작성에 대한 부탁을 해놓은 상태라 Personal message to recommender는 별도로 입력하지 않았다.) I waive my right to access this report.(본 추천서(평가서)를 열람할 권리를 포기합니다.)를 클릭하고 아래에 본인의 이름을 쓰..
Georgia Tech의 OMSCS 지원서를 생성하고 나면 좌측의 메뉴에 [Test Scores]가 있다. 이 메뉴를 통해 TOEFL 점수를 제출하면 된다.Subtype에 IBT26과 그냥 IBT가 있는데, 아래와 같이 설명이 있으니, 2026년 1월 21일 이후의 시험 결과라면 IBT26을 선택하면 된다.지금 120점 만점 점수와 6점 만점 점수를 함께 사용하는만큼 점수를 어떻게 입력해야할지 헷갈릴 수 있는데, 나의 경우 2026년 5월의 시험점수이므로 6점 만점 점수로 입력했다. 그렇게 지원서 입력을 완료하고, 중요한 것은 토플 사이트에서 시험점수 제출을 해야한다는 것이다. 검정색 버튼 [SEND SCORES TO ADDITIONAL INSTITUTIONS]를 클릭해서 아래와 같이 기관 정보를 입력하..
대학원 진학을 위해 토플 100점을 만들어야 했는데, 어떻게 도달해가는지 방법을 정리해본다. 최근 첫 시험에서 90점(4.5)을 기록했고, 안타깝게 부족한 스피킹 성적을 보충해서 100점(5)을 만들고자 2번의 시험을 더 보고, 3번만에 토플을 졸업하게 되었다!리딩(최종 5 / 최고 5.5) 단어가 너무 중요하다. 애초에 빈칸채우기 문제나 유의어를 찾는 문제도 나와서 단어만 많이 알아도 많이 맞출 수 있다. 나의 경우, 해커스보카(초록이) N회독을 했고, 해커스 리딩 문제집을 풀며 해석이 잘 안되는 어려운 문장들만 따로 뽑아 틈틈이 봤고, 해커스 리딩을 다 풀고서는 산타토플/테스트글라이더에서 하루에 두 지문씩 풀었다. 꾸준히 단어 외우고, 매일 두 지문씩 풀다보니 안정적으로 점수가 나왔다. 빈칸채우기 문..
돌아보면, 그때는 그게 이상적인 개발자였다 내가 처음 개발을 배울 때만 해도, 이상적인 개발자는 명확했다. “돌아가기만 하는 코드”가 아니라 “깔끔하게 잘 짜여진 코드”를 쓰는 사람. 변수명 하나, 클래스의 책임 하나에도 철저하게 의미를 두고, 디자인 패턴을 익히며 “더 나은 구조”를 고민하던 사람이 멋있어 보였다. 나도 그런 개발자가 되고 싶었다. 그런데 어느 순간, 일이 달라졌다 요즘 나는 예전보다 훨씬 덜 ‘코드를 짠다’. AI에게 요구사항을 자세히 설명하고 나면, 잠시 다른 업무를 보거나 회의를 하거나 커피를 마시고 돌아오는 사이 코드가 완성되어 있다. 나는 그 코드를 검토하고, 프로젝트 컨벤션에 맞게 정리하거나 개선 방향을 제시한다. 이건 더 이상 “코드를 작성하는 일”이라기보다 “AI와 함께 ..
요즘 진행하고 있는 개인 프로젝트에서는 아래와 같이 구조를 가지고 있다.- Word: 학습할 단어- WordGroup: 학습할 단어 묶음- Category: WordGroup을 꾸미는 카테고리(태그)데이터는 다음과 같았다.- 그룹1 - 단어 2개(full, stuffed) - 카테고리 2개(여행, 일상)- 그룹2 - 단어 3개(happy, joyful, cheerful) - 카테고리 1개(여행)홈화면에서 실행되는 /main API는 사용자의 닉네임, 아직 학습하지 않은 단어그룹 최대 5개(카테고리 포함), 전체 카테고리를 반환해야 한다. 이때 아래와 같이 쿼리가 실행된다.# 닉네임 반환을 위한 사용자 정보 조회Hibernate: select m1_0.id,m1_0.created_at,m1_0.email,..
요즘 개발하고 있는 서비스는 다른 앱에 웹뷰 형태로 제공되는 서비스이다. 그래서 아무래도 기술적인 제약이 있는 편인데, 이번엔 스트리밍 형태의 STT에 대한 요구사항이 들어와서 기술조사 차원에서 구현해보았다. 안드로이드 기준으로 작성하긴 했지만 아이폰에서 사파리로 실행했을 때도 문제없이 STT가 동작했다. 웹뷰에서 마이크를 사용하기 위해선 우선 앱에서 웹뷰가 마이크를 사용할 수 있도록 권한을 허용해줘야 한다.(아래는 안드로이드 기준 설정. iOS라면 그에 맞는 별도의 설정이 필요) // 앱이 오디오 출력이나 오디오 경로, 볼륨 등을 조작하고 싶을 때 필요 만약 위 두 권한을 설정하지 않으면 NotReadableError: Could not start audio source 를 만날 수 있다.// 앱이 마..
리액트 훅(Hook)함수형 컴포넌트에서 상태 관리나 라이프사이클 기능 등을 사용할 수 있게 해주는 React의 기능함수형 컴포넌트: 그냥 JavaScript 함수. props를 받아서 JSX을 리턴.자주 쓰는 기본 훅useState: 상태 관리 할 수 있게 해줌useEffect: 컴포넌트가 렌더링될 때, 혹은 특정 값이 변경될 때 실행되는 코드 작성useRef: DOM을 직접 참조하거나, 렌더링과 상관없는 값을 저장할 때 사용useMemo, useCallback: 컴포넌트가 불필요하게 다시 계산되거나 함수를 새로 생성하지 않게 최적화할 때 사용useReducer를 사용해서 로직을 컴포넌트로부터 분리하는 건 요즘 많이 쓰는 패턴 중 하나리액트 훅은 이름 앞에 항상 use를 붙임StateuseState로 S..