일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Spring multimodule
- @FeignClient
- KPT회고
- 단기개발자코스
- Python
- 항해99
- 디자인 패턴
- 커스텀 헤더
- 개발자부트캠프추천
- spring batch 5.0
- 취업리부트코스
- jwt
- TiL
- 1주일회고
- 전략패턴 #StrategyPattern #디자인패턴
- 인프콘 2024
- 개발자 취업
- 구글 OAuth login
- jwttoken
- 빈 충돌
- infcon 2024
- 빈 조회 2개 이상
- 99클럽
- 디자인패턴
- JavaScript
- DesignPattern
- 프로그래머스
- 프로그래머스 이중우선순위큐
- 파이썬
- 코딩테스트 준비
- Today
- Total
목록settings (9)
m1ndy5's coding blog
MySQL 서버 MySQL 서버는 MySQL 엔진과 스토리지 엔진으로 구성되어 있음 MySQL엔진은 커넥션 및 쿼리 요청을 처리하고, SQL 인터페이스 제공, SQL 파서, SQL 옵티마이저를 담당함 스토리지 엔진은 핸들러 API를 통해 스토리지 엔진에 읽기/쓰기 요청이 가능함 MySQL 스토리지 엔진 종류 InnoDB 엔진 MyISAM 엔진 Memory 엔진 Archive 엔진 CSV 엔진 Federated 엔진 등등이 있고 위의 3개의 엔진이 가장 보편적으로 알려져있다. InnoDB 엔진 트랜잭션 처리를 위해 고안됐는데 대부분의 경우 롤백되지 않고 완료되는(정상 종료되는) 짧은 트랜잭션이 많은 경우를 처리하기 좋게 되어있음, 유일하게 레코드 기반의 락(Lock)을 제공 -> 높은 동시성 처리와 안정적..
github를 사용하여 사람들과 협업을 하다보면 민감정보를 포함한 설정파일은 github에 올리지 않고 개인적으로 주고 받아본 경험들이 다들 있을 것이다. 그렇다면 민감 정보만 숨기고 싶다면 어떻게 해야할까? 위 파일은 database의 정보가 포함되어 있는 application.yml 파일이다. 원래 url, username, password 부분에 연결하고자하는 database url과 사용자이름, 비밀번호를 넣어주어야 한다. 하지만 이 중요한 정보가 노출된다면 누구나 다 데이터베이스에 접근이 가능하고 수정할 수 있기때문에 이를 숨겨주어야한다. 나 같은 경우는 db.properties라는 파일을 만들어서 숨겨야 되는 부분을 빼주었는데 여기서 새로알게 된 점!!!!!!! 처음에는 DB_URL, DB_U..
분명 코드를 올바르게 작성하고 restart도 잘 해주었는데 변경사항이 잘 적용되지 않을 때를 모두 한번쯤은(?) 겪어본 적이 있을 것이다!!! 아니 이거 왜 안돼????? 오류가 대체 뭐야??? 했던 나의 지난 날이 있었더랬지,,, 왜 변경 사항이 잘 적용이 안 되었는지부터 알고 가보자!! 캐시(Cache)란? 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소 반복적으로 동일한 결과를 돌려주는 경우 데이터 접근 시간이 불필요하여 빠르게 정보를 제공할 수 있음. 저장용량이 작고 비용이 비싸며 속도가 빠른 것이 특징 따라서 새로운 변경 사항을 확인하고 싶을 때 도메인에 접속하지만 오류나 계속해서 이전 화면만 뜨게 하는 것은 캐시에 저장된 과거 데이터가 계속해서 보여지는 현상이라고 할 수 있다. 이럴..
SSL, TSL, HTTPS 란? SSL : 웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 기술 -> 해커가 개인 데이터나 금융 데이터 등의 전송되는 정보를 보거나 훔치는 것을 방지 TSL : SSL의 향상된, 더욱 안전한 버전. SSL이 더욱 일반적인 용어이기 때문에 DigiCert는 보안 인증서를 여전히 SSL로 언급하지만 DigiCert에서 SSL을 구입하면 가장 신뢰할 수 있는 최신 TLS 인증서를 얻을 수 있음. HTTPS : 웹사이트가 SSL/TLS 인증서로 보호되는 경우 HTTPS가 URL에 표시됨. 사용자는 브라우저 표시줄의 자물쇠 기호를 클릭해 발급 기관 및 웹사이트 소유자의 상호를 포함한 인증서의 세부 정보를 볼 수 있음...
도메인이란? 62.72.12.7 과 같은 숫자로 된 IP를 대신하여 naver.com, google.com 과 같은 문자로 이루어진 주소 도메인은 중복될 수 없으며 고유한 값이어야한다. (naver.com 이 naver 하나인 것 처럼)가비아에서 도메인 구매하기 가비아 페이지에 들어가 원하는 도메인을 입력 후 사용 중인지 아닌지 확인한다. 이제 .뒤를 선택하면 되는데 가장 흔하게 알고 있는 .com은 좀 비싸다. 저렴한 .shop .store을 해도 아무 문제 없으니 해도 괜찮다! 선택하고 결재하면 된다.AWS Route53 설정 (DNS) DNS란? 도메인 이름(naver.com)을 IP주소(xxx.xx.xx.xx)로 변경하는 역할의 서버 AWS Route53에 들어가 호스팅 영역을 클릭하고 호스팅 영..
https://www.jetbrains.com/ko-kr/datagrip/download/#section=windows DataGrip 다운로드: 데이터베이스 및 SQL용 크로스 플랫폼 IDE www.jetbrains.com MySQL을 관리할 수 있는 프로그램은 PhpMyAdmin WorkBench DataGrip 정도가 있다. PhpMyAdmin 오픈 소스 데이터베이스 관리 프로그램 https://ko.wikipedia.org/wiki/PhpMyAdmin 해커들이 크롤링할 수 있는 위험이 있음(보통 주소/phpmyadmin 이렇게 해놓기 때문에) WorkBench SQL 개발과 관리, 데이터베이스 설계, 생성 그리고 유지를 위한 단일 개발 통합 환경을 제공하는 비주얼 데이터베이스 설계 도구 https..
아래는 ubuntu 18.04 기준이다! https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04 Nginx란? 가벼운 웹 서버 클라이언트의 요청에 맞는 정적 파일을 제공해주기도 하고 Reverse Proxy Server로 활용하여 WAS 서버의 부하를 줄여주기도 함 Reverse Proxy란? 프록시 서버 : 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 프로그램 클라이언트와 서버 사이에 중계기 -> 보안성, 성능, 안정성을 향상시킬 수 있음 포워드 프록시 : 클라이언트 앞에서 받은 요청을 웹서버에게 전달, 받은 응답을 다시 클라..
WinSCP에서 PuTTY를 통해 우리가 만든 EC2 인스턴스에 접근할 수 있다. 또한 로컬에서 만든 파일을 다른 원격 컴퓨터로 전송할 때 WinSCP를 사용해 안전하게 파일을 전송할 수 있다. https://winscp.net/eng/download.php 위 사이트에서 WinSCP를 다운로드 받자! 다운로드 받을 때 초기 세팅이 궁금하다면 구글링하면 된다. 나는야 불친절한 민됴씨ㅎㅎ WinSCP를 처음 실행시켰을 때의 화면이다. 여기에 우리가 만든 EC2 인스턴스의 ip주소를 넣어줄 것이다. 이건 내가 이미 만들어 놓은 거지만 새 사이트를 눌러 동일하게 해주면 된다. 포트번호는 22번으로 자동 할당되어있기 때문데 22로 해준다. 우분투가 아닌 사람들을 위를 참고해보자. 이제 인스턴스를 생성했을 때 발..
우리가 로컬에서 프로그래밍한 코드를 실행한다고 해서 외부에서도 내가 실행한 코드에 접근할 수 있는 것은 아니다. 그렇다면 외부에서도 접근할 수 있게 하려면 어떻게 해야할까? 먼저 내가 만든 서버를 배포해야한다. 컴파일, 빌드, 배포란? 컴파일 : 사용자가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 일 -> ex) java로 작성된 코드(고급 언어)를 기계어로 변환하는 과정(컴퓨터가 알아들을 수 있게) 빌드 : 컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일 -> ex) Gradle을 통해 컴파일된 코드를 실행시킴 배포 : 빌드가 완성된 실행 가능한 파일을 사용자가 접근할 수 있는 환경에 배치시키는 일 -> ex) EC2를 통해 탄력적 ip를 통해 접속할 수 있게 함 EC2란? 확장 가..