분류 전체보기 337

[그리디] 당장 좋은 것만 선택하는 그리디

그리디 알고리즘(Greedy Algorithm) 현재 상황에서 지금 당장 좋은 것만 고른다. 정당성 분석이 중요하다.(단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토) 일반적인 상황에서 최적의 해를 보장할 수 없을 때가 많다. 하지만 코딩테스트에서는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서 , 이론을 추론할 수 있어야 풀리도록 출제가 된다. 정렬과 함꼐 주로 사용이 되며 '가장 큰', '가장 작은' 과 같은 기준을 문제에서 제시해 준다. 예시 문제) 거스름돈 해결 아이디어 : 최적의 해를 빠르게 구하기 위해서는 가장 큰 화폐 단위부터 돈을 거슬러 주면된다. 정당성 분석 가장 큰 화페 단위부터 돈을 거슬러 주는 것이 최적의 해를 보장하는 이유는 무엇일까? => 가..

6주차 - RestfulAPI와 Node.js Express 프레임워크

Route : requset가 오면 해당 url 요청에 맞는 controller로 연결 Controller : 형식적 validation, querystring,path variable,body를 받아서 전달 provider(조회)/service(그외):비지니스로직, transaction, 의미적 validation(DB를 거친다) Service의 경우 Dao에게 같은 파라미터를 넘겨줘서 실질적 쿼리를 실행한다. Dao: Query작성 및 실행, Get메소드 ==> 무언가를 조회 할 때 사용이 된다. 클라이언트는 서버에서 어떤 정보를 주어야 할까? ==>어떤 정보를 조회 할것인지 서버에게 주어야한다. 대표적으로 querystring을이용 회원가입을 할때는 id,비밀번호,휴대전화번호, 이름 들을 보내야한다..

5주차 - 인스타그램 erd설계 및 데이터베이스 쿼리 실습 with AQeryTool

User 테이블 Post 테이블 CommentLike 테이블 PostLike 테이블 PostImg 테이블 위 테이블들을 rds에 생성을 해보자 ! 원래 FK연결을 해주어야 하지만 난 무료 버전이라 대충 sql문만 따오는 용도로 만듬. 근데 궁금한게 FK연결을 따로 안해줘도 sql문 상에는 차이가 없는데 왜 그런건지 모르겠다. 그저 연결관계만 보여주는게 끝인건가..? 데이터 베이스를 생성 안하고 erd를rds에 생성하려고 하자 오류가 나서 데이트베이스를 생성을 다시 sql을 넣어줌 쿼리문의 경우 기본적으로 SELECT, FROM, WHERE로 구성된다. SELECT : 원하는 요소를 가져온다. FROM : 가져오는 테이블을 지칭한다. WHERE : 쿼리문에서의 조건이라 생각하면 편하다. SELECT nam..

4주차 -AWS RDS 구축 및 외부 RDS 외부 접속하기 with DataGrip

RDS : 데이터 베이스 서버 ===> 여러개의 서버가 하나의 DB를 사용한다. 데이터 베이스 생성을 끝냈고 이후 생성되는게 약 15분정도 걸린다 휴식 고고 뒤에서 mysql비밀번호를 친후 터미널이 작동하지 않았다. 그 이유를 정확 히는 모르지만 rds VPC보안그룹의 인바운드 큐칙을 왕창 추가했따..뭐가 문제였을꼬.. 흠 aws에 기능이 너무 많아서 너무 깊게 찾아보는건 아직 무리인것 같아 우선 해결된걸로 만족 하고 넘어가자 ! 아무튼 외부 접속 성공 !

3주차 - 도메인/서브 도메인 구매 및 연결

현실에서의 위도 경도를 도로명 주소로 인간이 알기 쉽게 표현한것 처럼 IT세계에서도 ip를 인간이 알기 쉽게 표현한것을 도메인이다. 휴대폰으로 네이버에 접속을 하면 주소가 위 사진 처럼 m.이 붙은 url로 나타난다. 이것이 바로 서브 도메인이다. 서브 도메인은 보조 도메인으로 url을 전송하거나 ip주소 디렉토리로 포워딩되는 도메인 이름의 확장자이다. 서브 도메인은 보조 도메인으로 url을 전송하거나 ip주소 디렉토리로 포워딩되는 도메인 이름의 확장자이다. ip는 도메인으로 연결이 되서 http는 https로 연결이 된다.==>리다이렉션 처리가 되어있다. 1.도메인 구입하여 적용하기 가비아 사이트에 접속한뒤 내가 원하는 도메인을 구매한다. www.moca9012.shop 이라는 도메인을 500원에 구임..

3주차 - AWS 서버 환경 구축[Nginx, Php, Mysql ]

nginx의 기본 경로는 /var/www/html이다. nginx의 기본 설정 경로는 etc/nginx/sites-availale이다. 거기서 sudo vi default (vi로 default파일을 연다.) 그럼 서버 설정 블록이 나온다. index는 접속 했을때 처음 나오는 화면파일이며 root는 그 경로를 나타낸다. /etc/nginx로 가서 vi로 nginx.conf파일을 열수 있다. nginx의 설정 파일들을 변경 했으면 sudo nginx -t 와 sudo service nginx restart를 해줘야한다. sudo nginx -t sudo service nginx restart 1. 리눅스에 nginx,php,mysql설치 nginx는 apache와 같은 웹 서버이다. nginx설치를 위해..

2주차 - Aws EC2 with winscp&putty

포트포워딩 실습 및 과제는 기숙사 와이파이(공용) 이기 때문에 할수 없어 생략. EC2 생성 후 외부 인스턴스 연결 aws인스턴스 생성 영상 편집이 어색해 우선 하나하나 캡처를 추가 설명을 하려고한다. 인바운드 규칙은 서버에서 접속을 할때의 규칙을 정의한 것이고 아웃바운드 규칙은 서버에서 데이터가 나갈때의 규칙을 정의한 것이다. 서버에서 데이터가 나갈때는 따로 관리 하지 않아도 되기 때문에 딱히 수정을 할 필요는 없다. 영상 속에서 ssh는 내 아이피만 적용을 해야했지만 스터디 위치가 고정적이지 않고 여러 카폐 및 학교에서 진행을 하며 매번 ssh를 위해 ip를 얼어주기 번거로워 모든 ip를 다 열어주었다. +처음 스터디를 진행 할때 이것도 모른체 혼자 할땐 되었는데 카페에서 할때는 안되서 꽤나 삽질을 ..

1주차 - 서버 개요 및 Ubuntu(우분투) APM 수동 설치

1주차는 우선 APM 중 어느 하나 제대로 설치한 것이 없어 팀원들에게 도움을 많이 받았다. 또한 차후 또 같은 작업을 하게 될것을 대비해 팀원들의 워크북과 구글링의 양질의 블로그 들을 비교 하여 한번에 싹 정리를 시작 한다..! 우분투 환경에서 비트나미와 같은 패키지를 사용하지 않고 수동 APM를 설치 *소스 설치의 관례* 설치를 할때는 아무곳에서나 설치를 하면 안되고 /usr/local 에 설치를 해야 한다. -->이 부분을 놓쳐 상당한 시간을 삽질을 했다. 소스파일을 내려받고 ./configure로 설정을 한다. make로 컴파일을 한 뒤 make install로 설치한다. configure: 소스파일에 대한 환경설정을 해주는 명령어다. (뒤에 옵션을 넣음) 서버환경에 맞추어 makefile을 생성..

[Window] 파이썬 venv 로 가상환경 구축하기

가상환경 : 프로젝트별로 패키지를 따로 관리 왜 사용하는가? 패키지 버전 호환성 이슈 를 예방하기 위해. Window상에서 가상환경을 설치하고 그 위에 다른 패키지를 사용해 보자 $ pip list 현재 깔려 있는 패키지를 볼 수 있다. $ python -m venv myenv 위 커맨드로 myenv라는 이름을 가진 가상환경을 설치 -m이라는 옵셥은 모듈이름을 뜻하며 venv라는 모듈 사용 우측 아래에 이런 팝업이 뜨는 데 우선 아니오를 선택한다. 그러면 이렇게 폴더가 생기며 그 밑에 다른 작은 폴더 도 생긴다. Scripts 디렉토리 내부의 activate.bat이라는 파일을 실행을 시켜야 한다. 하지만 명령어를 입력해도 실행이 되지 않는다. 그 이유는 powershell 터미널에서 명령어를 입력해야 ..

API vs Library vs Framework

API(Application Programming Interface) 응용 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 ex) 로그인 요청시 JWT토큰을 넘겨주는 API,새로고침 시 게시글의 정보를 넘겨주는 API 특징 1. 다른 프로그램과 연결 해주는 다리 역활을 한다. 2.구현이 아닌 제어를 담당한다. 3.API를 조합해 원하는 프로그램을 만들 수도 있다 라이브러리(Library) 응용 프로그램 개발을 위해 필요한 기능(함수)를 모아 놓은 소프트웨어 (간단히 말해 문 손잡이, 전화기, 지붕과 같은 집을 지을때 필요한 재료 정도로 생각하면 된다.) ex) passport. react, ... 특징 1. 개발하는 데 필요한 것들을 모아둔 일종의 저장소 2.필요..