본문 바로가기

Programming149

[Node.js] node.js 관련 개념 [출처] Node.js 교과서 (조현영) 1. 서버란 ? 네트워크를 이용하여 클라이언트에게 데이터나 서비스를 제공하는 컴퓨터나 프로그램 = 클라이언트(브라우저, 모바일 어플, 서버 등)의 요청에 응답 2. Node.js의 특성 2-1. JavaScript RunTime Node.js는 공식 문서에 자바스크립트 런타임이라고 소개되고 있다. 이때, Runtime은 어떤 언어로 작성된 프로그램이 실행될 수 있는 환경을 의미한다. 즉, node.js는 자바스크립트 실행기라고 이해하면 된다. ▷ RunTime : 특정 언어로 만든 프로그램을 실행할 수 있는 환경 2-2. 이벤트 기반 event-driven ▷ 이벤트 기반 : 어떤 이벤트가 발생하면, 사전에 지정해둔 작업을 실행하는 방식 ▷ 이벤트 루프 (loop.. 2022. 6. 29.
[배리어프리] #06. 2차 면접 2022.06.24.Fri 배리어프리 앱개발 콘테스트의 2차 면접을 봤다. 팀원들의 집에서 중간 위치인 신도림에 스터디룸을 예약해서 면접을 진행했다. 전날까지는 괜찮았는데, 막상 면접 시간이 다가오자 엄청 긴장이 되었다. 팀원들하고 같이 이런 저런 이야기를 하며 긴장을 풀어봤다. 면접은 총 20분간 진행되었고, 우리 발표 5분 + 질의응답 15분이었다. 발표도 시간에 맞춰 딱 잘 끝났다. ▶ 질의응답에서는 우리 서비스의 기획과 관련된 질문을 4개 받았다. 사실 아이디어를 중점으로 다루는 1차 서류전형과, 실현가능성을 중점으로 보는 2차 면접전형의 차이를 명확히 모르겠어서 면접 발표를 준비할 때 방향성과 관련한 고민이 있었다. ('실현가능성'의 관점이 와닿지 않았다.) 팀원들과 상의한 끝에, 구체적인 개발.. 2022. 6. 27.
[React Native] 개발 환경 설정하기 React Native를 처음 시작하며, 그 개발 환경을 설정하는 방법을 간단히 기록하려 한다. 내 경우, 이미 node.js와 Android Studio가 깔려 있었으므로, 실제로 추가했던 과정만 소개하겠다. [공식 문서] https://reactnative.dev/docs/environment-setup Setting up the development environment · React Native This page will help you install and build your first React Native app. reactnative.dev 1. sdk 관련 환경 변수 설정 1-1. Android Studio > Tools > SDK Manager에서 기존 sdk의 파일 경로를 확보한 후,.. 2022. 6. 22.
[배리어프리] #05. 2차 발표 자료 제출 완료 2022-06-17 기말고사 기간이 끝나고, 처음으로 팀원들과 오프라인으로 회의를 했다. 좋은 기회로 직접 만나게 되니 설레고 기분이 좋았다. 간단히 저녁을 먹고, 카페에서 자세한 면접 대비 내용을 결정했다. 1. 기술 스택 ▷ 프론트엔드 : React Native ▷ 백엔드 : Node.js + express ▷ DB : MySql 처음으로 백엔드 파트와 협업하는 거라서 백 쪽으로는 너무 지식이 없었다는 걸 느꼈다. 이번 기회로 백엔드가 어떻게 돌아가는지 전반적으로 알아볼 수 있었다. 백엔드는 db를 다루는 부분과, db를 프론트와 연결하는 웹서버 부분으로 구성되어 있었다. 이번학기 데이터베이스 강의에서 배운 mysql은 실제로 db의 뼈대를 구축하는 언어이고, node.js와 같은 언어로 이 db가 .. 2022. 6. 20.
[c++ 줍줍] vector 정리 1. Definition of Vector 1-1. Vector의 등장 배경 배열을 사용하려면 동적 할당을 해줘야 하는 C " 귀찮 " ex ) int *arr = malloc(sizeof(int) * size); // element의 type * size 만큼 동적 메모리 할당 free(arr); // 마지막에 동적 할당한 메모리를 해제시킴 1-2. Vector 란 ? C++의 STL(Standard Template Library)에 속한 container = 가변 size를 가진 배열 * element를 추가/삭제하면 자동으로 크기 조절됨 1-3. Size vs. Capacity Size Capacity vector에 현재 들어있는 element 개수 vector가 수용가능한 용량 (memory) 2.. 2022. 6. 14.
[배리어프리] #04. 1차 서류 합격 우와!!!!!!!!!!!! 어제 1차 서류 결과 우리팀 '니모'가 합격하였다!!!!!!!!! 붙으면 정말 감사한 일이지만, 첫 공모전인 만큼 마음을 비우고 있었는데 좋은 소식이 들려와서 어마어마하게 기뻤다. 24일에 온라인 면접이 진행된다고 하여 17일 저녁에 팀원들과 대면으로 준비를 하기로 했다. 꼼꼼하게 2차 면접도 최선을 다해보고 싶다! 2022. 6. 11.
기수 정렬 (Radix Sort) 1. 기수 정렬 Queue를 이용해서 각 자리수 별로 정렬 반복 ※ 기 (radix) : 특정 진수를 나타내는 숫자들 ex ) 10진수의 radix : 0, 1, 2, 3, ....., 8, 9 2진수의 radix : 0, 1 2. 기수 정렬 예제 ex ) 89, 70, 35, 131, 910 오름차순 정리하시오. 2022. 6. 11.
Tree : 개념 정리 1. Tree : 그래프 중 cycle이 없는 형태 2. Terminology Node Tree 구성요소 Ancestor 한 node의 parent, grandparent 모두 Offspring node 한 node의 child, grandchild 모두 Root Node without Parents Subtree 하나의 node와 그 descendants로 구성된 tree Terminal node Node without children Non-terminal node Node with at least one child level tree의 layer 수 (3) height maximum level of the tree degree 그 node가 가진 child nodes의 수 3. Tree Type B.. 2022. 6. 7.
쉘 정렬 (Shell Sort) 1. 쉘 정렬 간격(gap)을 이용해서 굵직굵직한 삽입정렬을 하자 ※ 삽입정렬은 어느 정도 이미 정렬된 배열에서 효과적 ∴ 1. 간격을 이용해서 굵직굵직한 그룹별 삽입 정렬을 한다. (큰 숫자들 대충 뒤로, 작은 숫자들 대충 앞으로) 2. 큰 틀에서 어느정도 정렬이 된 상태가 된다. 3. 이후에 정석 삽입정렬을 해서 완벽히 정렬 ※ gap 전체 원소 수의 1/2 → 이전 gap의 1/2 → 이전 gap의 1/2 → ...... → 1 2. 쉘 정렬 예제 ex ) 30 60 90 10 40 80 40 20 10 60 50 30 40 90 80 오름차순 정리하시오. #include void shellSort(int arr[], int len) { for(int h=len/2 ; h>0 ; h/=2) { fo.. 2022. 6. 6.