본문 바로가기

MYSQL8

[Java] 서버 프로그래밍 - 특강으로 맛보기, 배운것과 앞으로 배워야할 것 #2 [미리 정리하기]- jsp 개념, 사용방법- jsp가 servlet 변환 -> .java- jsp / servlet 로딩타임- web.xml 존재- 쿠키, 세션- redirect 와 forward의 차이- jdbc를 사용하는 이유, mysql 외부 서버에 접속하기위해 필요한 것 [강의내용](1) 이클립스 다이나믹 웹어플리케이션 생성부터 - test 폴더 추가하기 : 패키지 생성까지- web.xml 생성 추가=> 웹 컨테이너에게 클라이언트가 요청한 URL 주소가 서블릿 요청임을 인식하고, 서블릿 클래스 위치를 알려주기위한 정보가 있는 파일=> URL과 매핑된 서블릿 클래스를 동적로딩 : 다음 포스팅에서 동적로딩부터 쓰레드 생성, 사이클까지 다룰 예정, 이번엔 jsp부터 살펴봄=> DD(Deployment .. 2017. 9. 14.
[node.js] 프로젝트를 마무리하면서 - 정리, 그리고 해커톤 [서비스 URL]- http://www.politics-watch.com/ [기술 스택]1) 웹 서비스 : Express(nodejs), firebase(auth) - AWS EC2 2) 크롤링 : request, cheerio, mecab-ya(nodejs) / crond - AWS EC2 3) DB: mysql server(AWS RDS) [프로젝트 관련 지식](1) 목표, 컨셉, 디자인, 기능, 사용자 기능 사용 단계, 개발 순서 등 모든 계획을 짜놓은 뒤(초기 계획) 개발(2) 버젼 계획이 있어야함 : 초기 버젼 계획을 세우고 추후 생각나거나 기획된 기능은 다음 버젼, 개발 단계에 돌입했다면 최대한 수정없이(3) 무작정 개발보다는 프로젝트 단계를 지켜나갈 것 : 필요한 정보 설계(DB) -> 기능.. 2017. 8. 20.
[node.js] 프로젝트 개발 일지 - 댓글 CRUD + ajax [지금까지]- 설명에 대한 댓글쓰기, 보기(C / R) 기능은 구현되어져있음 - Update / Delete 기능 구현하기 : C, R과 마찬가지로 ajax 서버콜 [조건]- 작성한 유저와 현재 유저가 같을 때 : user_id(유저를 구별할 수 있는 고유값)로 비교한 후 => comment 테이블 레코드마다 user_id를 가지고 있음 => 업데이트, 삭제 쿼리를 날릴 때 WHERE 2개 조건 : AND 조건(유저가 맞고, 삭제하려는 코멘트의 id가 맞아야함) [구현하기]1) 댓글 레이아웃 수정 : 이름 / 내용 / 버튼 2개(수정하기 토글, 삭제 버튼) 2) 수정하기 토글 : 클릭하면 댓글 내용 수정할 수 있도록 DOM 교체 : /comment 컨트롤러 내 함수 만들기 => 토글 클릭 : 댓글 작성한.. 2017. 8. 11.
[node.js] 프로젝트 - 핫키워드 + 댓글 한번에 뽑기 : mysql 테이블 join [댓글 조회기능]- 프로젝트에서 사용하는 테이블(1) 키워드 => mysql 데이터타입에 관한 문서 : https://dev.mysql.com/doc/refman/5.5/en/data-types.html - id MEDIUMINT - 키워드들 VARCHAR - 키워드설명 VARCHAR - 저장된시간 DATE (2) 댓글 : 현재 게시되어져있는 키워드 랭킹에 대한 유저들의 반응 => 1개의 키워드 랭킹이 여러개의 댓글을 가지는 관계(1:N) => 키워드 테이블에 저장된 레코드의 id를 댓글 레코드를 저장할 때 같이 저장함 : 저장된 댓글 레코드는 어떤 키워드 레코드와 연결되어있는지(쿼리문 - join) - id MEDIUMINT - 유저명 VARCHAR - 코멘트내용 VARCHAR - 키워드테이블명_id .. 2017. 8. 8.
[node.js] 프로젝트 개발 - 크롤링, 형태소 분석, mysql서버 insert [계획과 실행 혹은 테스트 코드]- 첫번째 모듈 : 크롤링, 코드는 아래에 있음 (1) request 헤더, 메세지 설정한 후 요청 날림 : request module (2) request에 대한 response가 날아오면 두번째 파라미터 콜백함수가 실행됨 : cheerio 파싱 => 1, 2번은 Promise를 리턴하는 함수로 만들기, 모듈화해서 두번째 모듈에서 함수 호출, then에서 형태소 분석 기능 호출 => 크롤링이 완료되면 크롤링 결과에 따라 형태소 분석 함수가 호출되거나, 에러 메세지를 띄울 수 있도록 하기위해 => 콜백 지옥을 벗어나는 길, 콜백함수에 대한 순서를 보장하기위한 방법 : 상태를 가짐 => crawl 함수는 Promise 인스턴스를 리턴 : 파라미터로 성공했을 때, 실패했을 때.. 2017. 7. 11.
[node.js] mysql 모듈 - aws rds mysql 인스턴스 연동하기 [mysql 인스턴스 테스트 - 레코드 추출하기]- 단어, 날짜, 카운트(날짜 AND 단어별 카운트) - 고민했던 것 : 카운트를 컬럼으로 둘 것인가 OR 하나씩 저장시켜서 쿼리문으로 조합할 것인가 - 카운트는 컬럼으로 두지말고 단어와 날짜를 가지고 그룹핑하고 카운트 시키면 되겠음 - 일단 테스트해보고 바꿔가는 형태로 해봐야겠음 : 크롤링부터 데이터 저장까지 [mysql 세팅 및 테스트]- 환경 : AWS RDS mysql-community-server 5.7, 3306 port - 접속 환경 : AWS RHEL 7.2 instance - 특징 (1) inbound 규칙에서 해당 인스턴스만 접근하도록 해당 인스턴스 시큐리티 그룹만 접근가능하도록 설정해둠 (2) 원래는 aws instance에 mysql .. 2017. 7. 5.
[node.js] node + 외부 db - mysql 세팅, db, table 생성, 다루기 [세팅 환경]- OS : RHEL 7.2(Amazon instance) - mysql version : 5.7.18 MySQL Community Server => 환경 확인 : mysql 접속 후 SELECT VERSION(); [설치 확인](1) root 사용자 로그인 : su - (2) mysql 서버 패키지 설치 확인하기 : yum info mysql-community-server - mysql-community-server 설치하면 의존성있는 패키지 설치됨 [초기 설정하기](1) 설치 후 mysql 명령어를 입력하면 Access denied 가 뜸 : 패스워드 설정을 해줘야함 - /var/log/mysqld.log 를 열고 temorary password가 있음 - 임시 비밀번호 찾기 : grep.. 2017. 7. 4.
[node.js] 외부DB 연동 전 준비하기 #1 - RHEL + mysql [mysql]- 관계형 db [설치하기]- 환경 : 리눅스 RHEL 7.2(Amazon instance)- 설치되어있는지 확인하기 : 설치되어있지않다면 아무것도 안나옴rpm -qa | grep ^mysql-server - 설치하기1) CentOS7부터 데이터베이스가 MariaDB로 변경됨 : 이런저런 이야기가 있지만 생략하고 mysql과 호환됨- 기본 데이터베이스로 MariaDB가 설정- yum으로 바로 설치불가함 : yum 저장소(/etc/yum.repos.d/CentOS-Base.repo) 에 정의되어져있음)에서 패키지를 다운로드 받아야하는데, 존재하지않음 2) root 계정으로 로그인하기 : su - 3) 패키지 저장소에 없는 MYSQL 패키지(.rpm) 저장소에 다운로드 - RPM이란? (1) R.. 2017. 6. 26.