전체 글 272

MVC

MVC model, view, controller의 약자 소프트웨어 디자인 패턴의 하나 MVC 패턴 사용자 인터페이스와 비지니스 로직을 분리하여 개발할 수 있다 -> 화면과 데이터 처리를 분리해서 재사용이 가능하다 Model 어플리케이션의 정보 = 데이터 View 사용자의 인터페이스, 사용하는 화면 Controller 모델과 뷰의 중계 역할 사용자의 요청을 파악하고 그에 맞는 결과를 리턴해준다 스프링 웹 MVC 프론트 컨트롤러 방식 프론트 컨트롤러가 컨트롤러 앞에 존재하는 컨트롤러로 모든 흐름과 제어를 담당 디스패처 서블릿이 프론트 컨트롤러의 역할을 수행 일반적인 스프링MVC구조 View 사용자가 보는 화면 또는 결과 Controller 사용자가 웹브라우저를 통해서 어떤 요청을 하면 그 요청을 처리할 컨..

spring project

스프링 프레임워크 현대 자바 기반의 애플리케이션을 개발하는데 기반이 되는 프레임워크 애플리케이션의 기반을 제공함으로써 개발자들은 애플리케이션의 비지니스 로직에 집중할 수 있게 한다 스프링 부트 스프링 프레임워크를 기반으로 바로 실행가능한 애플리케이션을 쉽게 만들도록 해준다 복잡한 설정을 자동으로 처리해준다 스프링 데이터 스프링이 다양한 데이터베이스, JPA등의 데이터 접근 기술을 쉽게 사용할 수 있게 도와준다 스프링 데이터 밑에 데이터베이스의 종류에 따른 하위 프로젝트들이 존재한다 스프링 시큐리티 자바 애플리케이션에 인증과 권한이 특화된 프레임워크 스프링 소셜 페이스북, 트위터 등의 소셜 서비스 API와 쉽게 연동할 수 있게 해준다

flask_restful

flask restful 초기 환경 셋팅 리뷰 개발환경 : pycharm community DB : mysql(bitnami) tools : postman, SQLyog 1. 프로젝트 생성 2. 터미널에서 필요한 것들 설치 pip install flask-restful pip install flask pip install flask-mysql 3. 디렉토리 생성 4. wsgi.py 생성하고 내용 대강 작성 이 상태일때는 __init__이 없기 때문에 app 임포팅이 안돼서 오류가 난다. 곧 생성할 예정이기 때문에 일단 입력 5000번 포트를 이미 사용중이라면 다른 포트로 띄워도 무방하다 포트를 지정하지 않는다면 자동으로 5000번으로 잡힌다. 가끔 서버에서 급하게 소스까서 포트만 바꿔줄때도 있기 때문에 ..

mysql_config_editor

mysql_config_editor id/pwd 없이 키파일로 접속이 가능하도록 하는 파일 계정의 .mylogin.cnf 라는 파일로 저장된다 .mylogin.cnf 파일은 소유자만 read write 할수있는 권한 600에서만 동작한다 암호에 # 스트링을 포함하지 않아야 한다 centos 에는 mariadb가 기본적으로 설치되어 있기 때문에 일단 삭제 1. 패키지를 확인 yum list installed mariadb\* yum list installed maria\* 2. 나오는 것들을 모두 삭제한다 yum remove -y mariadb-devel.x86_64 3. mysql이 혹시 설치되었을지도 모르니 확인해본다 mysql -V mysql client 설치(서버 X) yum install mysq..

jenkins shell script deploy after error occured

A) 1. shell script 를 작성한다​ 2. 서버 들어가서 sh ./shell.sh로 실행한다 3. 정상 배포된 것을 확인한다 B) 1. jenkins로 서버에 ssh접속한다 2. jenkins로 sh ./shell.sh로 실행한다 3. 에러가 난 것을 확인한다 왜 같은 스크립트를 실행했는데 에러가 났을까요....? ㅇㅅㅇ(극혐) ​​​서버에 직접 접속해서 echo $(PATH) 결과를 확인합니다 젠킨스로 서버에 접속해서 echo $(PATH) 결과를 확인합니다 만약 당신의 두 결과가 다르다면 환경변수 설정에 실패하셨습니다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ /etc/bashrc /etc/profile 서버마다 환경은 다를테니.. 여튼 파이썬 환경변수 설정을 잡아주세요...... 저의 경우에는 profile에는 ..

CI/CI__Jenkins 2019.07.23

nginx no such file or dirctory

nginx *.sock no such file or dirctory 에러가 날때 인터넷에 나와있는 모든 설정을 했음에도 해결이 되지 않을때 기존에 셋팅해둔 설정파일을 모드 다 가져다 썼지만 해결이 되지 않을때 조용히 nginx 를 삭제하고 rm -rf /etc/nginx 를 합니다. 그리고 최신버젼으로 재설치하세요. 그것만이 방법입니다. yum install nginx 바로 하지 마세요 vim /etc/yum.repos.d/nginx.repo 여기에 엔진엑스 버젼을 설정하고 설치하세요

openpyxl

평생 쓸일이 없을것 같은것이 나에게 다가왔다 openpyxl 엑셀 싫어함 ㅎ.. #설치 pip install openpyxl #임포트 import openpyxl #워크북 생성 work_book = openpyxl.Workbook() #작명 work_book_name = '에헤라디야'+'.xlsx' #저장 work_book.save(filename=work_book_name) #열기 work_book = openpyxl.load_workbook('엑셀이름') #시트 생성 work_book = work_book.create_sheet('시트이름') 시트에 데이터 박아주기 뭐 더 좋은 방법 찾으면 내꺼도 고치고 싶지만 파이썬과 엑셀의 만남은 초면이라 ㅎ.. #만약 시트에서 하드로 박아줘야 할 구간이 있다면 ..

google api V3

[내가 해야 했던 것들] 1. 파일을 생성한다 2. google api로 업로드한다 3. 특정 폴더나 공유 폴더에 업로드한다 [도큐먼트] 팀 드라이브 도큐먼트 https://developers.google.com/drive/api/v3/reference/drives 그냥 드라이브 도큐먼트 https://developers.google.com/drive/api/v3/about-files 되새김질해도 진심 열받는 google api 사용 후기 1. 도큐먼트가 다 영어라 싫었다 2. 개발자 친화적이었다 3. 될것 같이 안된다 기본적으로 팀 드라이브에 파일을 넣든 개인 드라이브에 넣든 파라미터든 뭐든 딱히 크게 달라지지 않는다 다만 팀 드라이브는 퍼미션 체크가 필요하다 이거슨 궁서체 난 진지하다 난 퍼미션이 없..

API/API__google 2019.07.18