본문 바로가기

분류 전체보기

(39)
SSAFY 5기 후기 - 0. Intro 작년 1월 SSAFY 스타트캠프를 시작했는데, 지금은 한창 사무실에 적응 중인 신입사원이 되었다. 비전공자 중에서도 코딩 경험이 0에 가까운 찐문과로서 싸피 생활에 대해 많이 걱정이 되었던 것 같다. 그래서 SSAFY 교육생과 SSAFY 교육을 희망하는 사람들에게 조금이라도 도움이 되고자 이 과정에 대한 회고를 남기려 한다. (물론 나의 치열했던 2021년을 오래도록 기억하고자 하는 목적도 있다.) 무슨 얘기를 써야하나 고민하다가 하나의 게시글에 싸피 생활을 다 담기엔 힘들 거라고 생각이 들어서 0. Intro (IT/개발 분야 전환 과정 및 SSAFY 장점) 1. SSAFY 후기 (코딩테스트/프로젝트 준비) 2. SSAFY FAQ (많은 사람들이 궁금해할 것 같은 SSAFY 관련 질문과 답변) 이렇게 ..
[WEB] REST API 0. API 어플리케이션과 프로그래밍으로 소통하는 방법 Web API: 웹 어플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세. 현재 웹개발은 추가로 직접 모든 것을 개발하지 않고 여러 Open API를 가져와서 활용하는 추세 (모든 api가 다 오픈되어있는건 아님) 이제는 사용자에게 HTML 파일을 보내는게 아니라 JSON 파일을 보냄 JSON 쓰는 이유? 데이터 전송을 위해 만들어진 형식이기 때문 HTML은 사람 보라고 만든 문서 1. REST API 개념 REST: '자원'과 '주소'를 지정하는 방법 웹 설계 상의 장점을 최대한 활용할 수 있는 아키텍처 방법론(규약이 x - 꼭 지키지 않아도 된다) 네트워크 아키텍쳐 원리의 모음 자원을 정의 (data에 어떻게 접근할 것..
비전공자 SQLD 합격 시험 보고 와서 사람들이 올리는 답이랑 맞춰보다가 안 고친 것도 틀리고 고친 것도 틀려서 포기했는데 합격이라니 행복 🥳 간단한 합격 후기를 써보겠읍니다 공부 기간: 약 2주 사전 지식: SQL 기본 문법, DDL DML 정도는 알고 있는 수준 처음에는 노랭이 책을 보라길래 일단 사서 풀었는데 나한테는 너무 어려웠다.. 🤯 문제를 풀면 거의 절반정도 틀려서 스스로 개념 정리가 부족한 것 같다고 판단하고 개념 문제집을 새로 구매했다. (이 때가 무려 시험 3일 전 🤪) 개념 설명을 꼼꼼히 해놔서 정리하기에 딱 좋았다. 그런데 뒤쪽의 기출 문제들은 해설이 약간 이상한 점이 있었다. 그래도 SQLD 시험 자체가 문제은행식이라 노랭이랑 기출문제 많이 풀고 가면 시험장에서 익숙한 문제들 적지 않게 볼 거니 기출은 ..
[javascript] 자바스크립트로 알고리즘 풀 때 유용한 정보들 Algorithm with Javascript 자바스크립트로 알고리즘 푸는 걸 급하게 준비하면서 알게 된 유용한 팁들 모음 틀린 정보는 댓글로 알려주신다면 감사하겠습니다 🙇‍♀️ 1. 입출력 const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on("line", function(line) { // 입력 받아서 처리하는 곳 rl.close(); }).on("close", function() { // 출력하는 곳 process.exit(); });저 코드 하나하나의 정확한 의미는 잘 모르지만 대강 해석하자면 rl에 입력을 받은 후 l..
비전공자 정보처리기사 실기 합격 원래 시험 당일 가채점으로도 합격을 예상했지만 필기와 달리 실기는 큐넷피셜 가답안이 나오지 않기 때문에, 확실한 결과가 나오면 그 때 후기를 쓰는게 나을 것 같아서 찐 합격 인증 받은 오늘에서야 후기를 남긴다. 7/10 시험이었는데 플래너를 보니 6/3부터 공부를 시작했다. 그러니 준비기간은 약 한달 정도? 필기 공부 때의 지식이 얕게나마 남아있어서 그 덕을 보기도 했다. 주관적인 실기 준비 팁 세가지는 (기출 문제 풀이는 너무 당연하므로 패스) 1. 반복 학습하며 암기 정보처리기사 실기는 컴활 실기 처럼 프로그램을 직접 실행하거나 하는 게 아니라 필기의 주관식 버전이기 때문에 그냥 미친듯이 외우면 된다. 물론 내용을 전부 다 외우기엔 너무 방대하기 때문에 출제 빈도가 높은 것 위주로 확실하게 외우는게 ..
[react native] 개발 환경 설정 및 프로젝트 생성 앱 개발에 관심이 생겨 리액트 네이티브를 독학해보기로 했다. 참고하는 영상은 유튜버 '노마드 코더'의 React Native Weather 2019! https://www.youtube.com/playlist?list=PL7jH19IHhOLPEhP6oPSgK6r-neUVVA-pi 1. 개발 환경 설정 node.js 버전 14 이상 npm 버전 6 이상 필요 cmd에서 다음 명령어를 입력하여 expo-cli를 설치한다. (git bash에서 입력하면 진행되지 않는다는 점을 유의) $ npm install -g expo-cli 2. 프로젝트 생성 $ expo init [프로젝트명] 옵션: blank 선택 3. expo app과 연결 스마트폰에서 expo app을 다운로드 받은 후 계정을 생성한다. 프로젝트 ..
CS_study 8회차 1. [DB] 스키마&DB언어 데이터베이스의 스키마란 무엇인지 설명하고 DDL, DML, DCL을 설명해보아라. 스키마란 데이터베이스의 설계도라고 할 수 있습니다. 데이터베이스가 가진 속성과 각각의 속성들의 제약조건을 담고 있는 것이 스키마입니다. DDL, DML, DCL은 모두 데이터베이스와 관련된 언어입니다. 먼저 DDL은 데이터 정의어로 데이터베이스 테이블을 생성, 수정, 삭제하는 명령어 입니다. DDL 명령어로는 CREATE, ALTER, DROP이 있습니다. DML은 데이터 조작어로 데이터베이스에 저장된 데이터들을 생성, 조회, 수정, 삭제하는 명령어 입니다. INSERT, SELECT, UPDATE, DELETE가 있습니다. 마지막으로 DCL은 데이터 제어어로 데이터베이스의 무결성을 위해 사용..
CS_study 7회차 1. [IT트렌드] MSA MSA에 대해 들어본 적 있나요? 설명해보세요. MSA란 '마이크로 서비스 아키텍처'의 약자로, 복잡한 웹 시스템에 맞춰 등장한 아키텍처입니다. 기존의 아키텍처는 전체 애플리케이션이 하나의 덩어리로 이루어져 있는 '모노리틱 아키텍처' 입니다. 애플리케이션이 하나이기 때문에 개발, 배포 및 테스트가 간단하다는 장점이 있지만 시스템 구조가 복잡해졌을 때 단점이 생깁니다. 작은 기능의 수정에도 시스템 전체를 빌드해야하기 때문에 비효율적이고, 특정 기능이 마비되면 다른 기능들이 영향을 받게 되기 때문입니다. 이러한 단점을 해결하기 위해 마이크로 서비스 아키텍처가 등장했습니다. 단일 프로그램을 각 컴포넌트로 나누어 작은 서비스의 조합으로 구축하는 방법입니다. 각 컴포넌트는 개별적으로 개..
CS_study 6회차 1. [Front] DOM/가상 DOM DOM과 가상 DOM에 대해서 비교 설명하시오. DOM이란 Document Object Model로 웹페이지를 이루는 태그들을 트리구조로 만든 모델을 의미합니다. DOM과 가상 DOM을 비교하기 위해 브라우저가 화면을 렌더링 하는 방법을 말씀드리겠습니다. 우선, html태그를 파싱하여 DOM 트리를 구성하고, 동시에 스타일시트에서 CSS를 파싱하여 스타일 규칙을 만듭니다. 이 두가지가 합쳐져서 렌더 트리를 만듦으로써 렌더링합니다. 그러나 이는 DOM 트리가 수정될 때마다 렌더 트리가 계속 갱신되기 때문에 불필요한 렌더링이 많아진다는 단점을 가지고 있습니다. 이를 해결하기 위해 등장한 것이 가상 DOM입니다. 화면에 변화가 생길 때 마다 실시간으로 DOM 트리를 수정..
CS_study 5회차 1. [개발상식] Java vs C Java와 C의 차이를 설명하시오. Java는 객체지향언어이고, C는 절차지향언어라는 점이 가장 큰 차이라고 생각합니다. 절차지향언어는 실행 순서와 절차가 중점이 되는 반면, 객체지향언어는 추상화된 데이터인 '객체'의 종류와 속성이 중점이 됩니다. 가령 '자판기' 프로그램을 만든다고 할 때, 절차지향언어는 '고객이 돈을 넣으면 돈을 검사해서 제품과 거스름돈을 준다'는 순차적인 절차를 중시합니다. 따라서 오류가 발생했을 때 순차적으로 수정해야하는 어려움이 있습니다. 반면 객체지향언어는 '고객', '돈', '제품' 이라는 객체를 만들고 이들간의 상호작용을 통해 자판기를 만들어낸다고 할 수 있습니다. 따라서 오류 발생 시 해당 객체만을 찾아 수정하면 되기 때문에 유지보수가 ..