목록분류 전체보기 (231)
NOW OR NEVER
시간복잡도 빅오 표기법 Big-O notation 프로그램의 성능을 알기 위해 고려해야 하는 것들 : 입력으로 들어오는 데이터의 크기, 프로그램이 동작하는 하드웨어 성능, 프로그램을 실행 관리하는 운영체제 성능, 프로그램을 build하는 컴파일러 최적화, 프로그램이 thread 혹은 process 사용시 비동기 로직 고려 프로그램의 성능을 정확하게 파악하는 것은 불가능하므로 컴퓨터 과학자들은 대략적인 성능을 비교하기 위한 상대적인 표기법을 사용하기로 했다. 그것이 바로 빅오 표기법이다. 시간복잡도를 나타내기 위한 방법 중 하나 빅오 표기법의 상대적인 성능을 비교 O(1) < O(log n) < O(n) < O(n log n) < O(n^2) < O(2^n) < O(n!) 상수시간
자료구조 메모리를 효율적으로 사용하며 빠르고 안정적으로 데이터를 처리하는 것이 궁극적인 목표로 상황에 따라 유용하게 사용될 수 있도록 특정 구조를 이루고 있다. 특성 상황에 유용하다는 것은 역으로 잘못 사용할 경우 메모리를 비효율적이며 느리고 불안정적으로 데이터를 처리할 수 있다는 것이다. 전산화 작업 예시(현실에 존재하는 영화 예매를 어떻게 컴퓨터로 옮길까?) 소프트웨어 개발자가 하는 일은 거의 전산화 작업이다. 현실에서 수행되는 프로세스: 고객은 어떤 영화를 볼지 고른다 -> 고객은 영화를 예매하기 위해 줄을 선다 -> 고객은 차례가 왔을 때 좌석을 선택한다. -> 고객은 최종적으로 돈을 지불한다. 위 프로세스를 소프트웨어에서 어떻게 처리하는가 영화 검색 : 빠르게 검색하고 자동완성 기능을 제공하기 ..
자료구조와 알고리즘이란? 프로그래밍은 요리와 비슷하다(요리 : 재료선택-도구선택-레시피-요리완성) 재료 : 데이터 도구 : 자료구조 레시피 : 알고리즘 요리 : 소프트웨어 요리사 : 개발자 요리를 먹는 손님 : 소프트웨어를 이용하는 이용자 자료구조 + 알고리즘 = 프로그램 자료구조 메모리를 효율적으로 사용하며 메모리를 빠르고 안정적으로 데이터를 처리하는 것이 궁극적인 목표이다. 구조들은 상황에 따라 유용하게 사용될 수 있도록 만들어져 있다. 그래서 어떤 상황에서는 느리고 불안정적일 수 있다. 상황에 맞는 올바른 자료구조를 선택할 수 있는 능력이 필요하다 stack, queue, graph, tree 등이 해당된다. 알고리즘 특정 문제를 효율적이고 빠르게 해결하는 것이 궁극적인 목표이다. 정해진 일련의 절..
배포 netlify : 배포하는 것을 도와주는 사이트 AddThis : 만든 사이트를 sns 공유하기 기능 제공 tools 들어가면 만든 공유하기 버튼의 setting 변경 가능 광고 애드 내트워크 회사들과 광고계약을 맺지 않아도 서비스에 붙일 수 있다. 광고가 얼마나 노출됐는 지 등을 알 수 있다 ex) 카카오 애드핏 광고 단위 : 배너 하나 하나를 의미 직접 회사와 광고 계약 인기가 많아지면 여러 회사들의 배너 넣을 수 있는지 연락오면 제공해주는 배너를 만들어줄 수 있어야 함, 수수료가 안나가서 더 높은 금액을 받을 수 있음 외부 광고 배너 넣는 법 광고 배너 url을 a 태그의 hrf 작성 후 a태그 안에 img 태그 사용하여 배너 이미지 삽입 ? 전에는 그링크를 클릭했을 때 이동할 사이트의 url..
React의 class 형 Component 제작 기본 패턴 React란? 코드 양이 많을 경우 한 눈에 코드가 들어오지 않고 혼란스러운 상태를 초래한다. 이를 하나의 태그로 줄여주는 역할을 하는 것이 React이다. 웹브라우저는 이세상에 react라는 기술이 있는지 모른다. 왜냐하면 react는 그냥 사람들이 짜는 코드이고 react가 최종적으로 웹브라우저한테 html 코드를 공급해주기 때문이다. react는 JSX 언어이다 React의 js에서 짜는 코드들은 유사 Javascript이다. react에서 짠 코드를 javascript로 작성할 경우 에러가 발생한다. 왜냐하면 js의 경우 tag를 표현하는 부분들을 따옴표 등을 활용하여 잘 작성해야 하는데 react의 경우 그냥 tag를 작성해도 잘 동작..
React Sample Web App에 관하여 1. create react app이 기본적으로 제공하는 샘플 웹앱 실행 npm run start / npm start : create react app으로 개발환경을 만들고 난 후 npm run start 혹은 npm start을 terminal에 작성해 실행할 수 있다. 개발을 할 때 접속해서 개발 중인 앱을 확인하기 위한 주소(이 주소들 중 하나로 들어가면 확인 가능) Local: http://localhost:3000 On Your Network: http://192.168.35.217:3000 처음 실행했을 때 웹브라우저 상에 보여지는 앱은 create react app이 가장 최소한의 앱을 미리 구현해서 보여주는 앱 이다.(즉 react 기술로 만..
create react app을 활용한 개발환경 구축 순서 : npm 설치 -> create react app 설치 -> create react app 사용 1. node js 설치 npm은 node js로 만들어진 프로그램들을 쉽게 설치해 주는 일종의 앱스토어이므로 node js를 먼저 설치 설치 : https://nodejs.org/en/ LTS : 안정화 된 것 / current : 가장 최신 버전 2. npm node js 설치 시 자동으로 같이 설치됨 window에서 설치 확인 window key + R (실행 창 열기) cmd 입력해서 cmd 열기(cmd : commend의 약자로 명령어라는 뜻, 컴퓨터를 명령어를 통해서 제어하는 프로그래밍으로 즉 말로 제어하는 방법이다) cmd에서 npm -..
React 공식 문서 사이트 https://ko.reactjs.org/docs/getting-started.html 개발 환경 종류 online playground : 자기컴퓨터 세팅하는 건 까다로운 일, code sandbox 등 에서 리액트를 구현해볼 수 있는 온라인 사이트 add react to a website 이미 웹사이트를 가지고 있는 데 처음부터 끝까지 리액트로 만드는 것이 아니라 부분적으로 리액트를 추가하고 싶을 때 사용하는 옵션 시작하기는 쉽지만 뒤로 갈수록 개발환경을 직접 구축해야하는 어려움들이 많기 때문에 초급 개발자에겐 사용하기 까다로운 옵션 create a new react app Toolchains 리액트로 개발할 때 목표가 무엇인가에 따라서 그목표를 달성하기 위한 개발 환경, ..
html article 태그 이용해 시작화면 / 문제화면 / 결과화면 순으로 구현 mbti에서 type별 점수를 hidden type의 input 태그를 이용해서 앞의 것의 점수를 네가지 type별로 저장하는 칸을 만듦(바깥에는 보이지 않지만 내부적으로 정보를 저장할 경우에는 hidden input 태그 사용) button A와 button B를 사용해서 A버튼을 눌렀을 때만 해당 type의 앞의 글자에 대한 점수를 저장할 수 있도록 만듦, B 클릭시 점수는 저장되지 않고 다음 문제로 넘어가게 하기 javascript(jquery) num을 사용해서 1번부터 하나씩 증가하도록 만듦 q라는 javascript 객체를 이용하여 각 문제 번호 별로 해당하는 정보를 담을 수 있도록 함(저장) result 라는 ..

토익 스피킹을 보기 전 내 실력 오픽 IL, 토익 565점 변명을 좀 하자면,,, 현재 영어 실력을 체크하고자 둘 다 공부 안하고 본 실력이다. 나같은 영포자도 할 수 있다. 토익스피킹! 토익스피킹을 고른 이유 오픽보다 단기간 완성 가능 오픽을 봐본적이 있는데 내가 느끼기엔 오픽은 답변에 대한 틀이 명확하지 않았다. 또한 영어를 평소 접하지 않다가 하려면 단기간 완성하기 쉽지 않다. 토익스피킹은 템플릿이 명확하게 있으며 템플릿대로 한다고 해서 점수가 깎이거나 하지 않는다. 질문이 눈 앞에 보인다 이게 제일 컸던 이유였다. 시험만 치면 긴장해서 들었던 질문도 기억이 안나는 나는 의지할 무언가가 필요했다. 질문을 내 주장인 것처럼 읽으며 다음 문장을 생각할 수 있는 시간을 벌 수 있는 것이 토익 스피킹의 가..