분류 전체보기 73

[PHP] 디비 접속시 The server requested authentication method unknown to the client

php 관련 개발할께 있어서 환경 설정중에 디비 연결 에러가 나타났다.. 이미 많은 사람들이 겪고 있는것인거 같다... 구글링 해보니까 많은 문제가 있었다. Mysql8.0 인증방식이 chching_sha2_passwrd 가 되어야되지만 php에선 아직 대응하고 있지 않다.. 그래서 인증방식을 변경시켜줘야된다. mysql> alter user dev@localhost identified with mysql_native_password by 'password'; 예시로 mysql id : root password : 1234 mysql> alter user root@localhost identified with mysql_native_password by '1234';

Php 2021.08.17

[docker] Could not find tools.jar

필자의 개발환경은 mac 입니다. 혹시 비슷한 환경일수도 있지만... 혹시나해서 명시해둡니다.. 실제 로컬 자바는 1.8로 설치가 되어 있었고 해당 팀원이 도커기반으로 로컬 환경설정을 하자고 하여 주도적으로 능력자분이 도커 컴포즈로 설정을 하여 배포까지 완료하였습니다. 막상 실행을 하려고 하지만 두둥..... 해당 도커는... 실행이 되고 있어서 원인을 찾아보니... 환경변수 문제로 되었습니다. /usr/libexec/java_home -V | grep jdk 하여 두가지 값이 나왔고. 전에 환경설정은 앞에 1.8.301.09 (x86_64) 으로 잡혀 있어서 나타났습니다. 현재는 잘 설정이 되어 있고 해당 내용은 alias ll='ls -al' export JAVA_HOME=/Library/Java/J..

Java/Spring Boot 2021.08.14

spring boot global exception 처리

[본글은 지극히 개인 글입니다. 설명이 틀릴 수도 있습니다.] 토이프로젝트를 하면서 고민거리에 대한 내용입니다. 많은 개발자들은 에러처리에 대한 처리를 공통화해서 관리를 하고 싶어한다. 개발자들이 개발할떄 나의 경험상 예외처리 방식은 다양하다. 1. 메서드 내에 예측하여 try/ catch 문으로 예외를 처리한다. 필자는 이런방식으로 선택을 해봤다 2. 스프링 시큐리티 이용해서 예외처리 3. 해당 내용에 if문으로 예외처리 true / false 기반으로 예외처리 이러한 예외처리들을 적용하다보면 비즈니스 코드에 예외처리대한 내용 떄문에 코드 로직이 복잡해진다. 그렇게 되면 인수인계 받은 사람도/ 내가 개발을 하면서도 유지보수가 어려워진다. 그리고 에러코드 관리도 상당히 힘들고 혹시나 예러가 발생하면 일일..

Java/Spring Boot 2021.08.14

Slack + GitHub 연동

슬랙과 깃허브 연동 검색을 하는데 예전 방식과 달라진거 같아 추가를 하였습니다. 슬랙에 보면 앱 추가라는 창이 있다. 여기서 GitHub 추가를 한다 앱을 찾아보면 웹 홈페이지에서 뜨는 화면이다 slack에서 열기를 클릭은 한다, 깃허브 앱을 등록을 하면 뭐라뭐라 뜨면서 중요한건 레파지토리를 추가하려면 슬랙에서 메세지는 보내면된다. 예시 깃허브 ID : sa 레포지토리 : git /github subscribe sa/git 이런식으로 검색을 날리면 해당 내용이 뜬다

카테고리 없음 2021.07.26

spring boot 토이 프로젝트

java 공부한지 어느덧... 몇개월이 지났다. 인프런만 보고 공부하고 있는 나에겐 당장 1인 개발로 토이프로젝트를 어디까지 구현할수 있을지... 의문이다. 인프런에서 크게 공부했던건 Spring boot 전반적인 내용과 JPA , docker 크게 3가지인데 docker 까진 과감히 토이프로젝트할때 넣진 않을것이다. 혼자 할수 있는 프로젝트 주제는 개발자 지역 중심 기반 스터디 코로나 시국인데... 지역 중심이 아닌 온라인도 가능하게 추가할 예정이다. 이 서비스는 런칭까지하는 기준으로 잡고 있다. 그러므로 복잡한 개발은 과감히 제거할 예정이다. 실제로 트래픽이 어디까지 올진 모르겠지만 그에 대한 경험이 쌓일것같다. 어떤 기능이 있어야될지 머리속으로 한번 그려봤다. 앞서 진행한 대략적인 UX 설계를 토대..

카테고리 없음 2021.07.23

DI , lOC 란

DI(Dependency Injection) 학습 목표 DI(Dependency Injection)의 이해 Spring DI 컨테이너에 대한 이해 2.DI(Dependency Injection)의 이해 2-1 DI의 개념 각 클래스간의 의존관계를 빈 설정 (Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것을 말함. - 개발자들은 단지 빈 설정파일에서 의존관계가 필요하다는 정보를 추가하면 된다. -객체 레퍼런스를 컨테이너로부터 주입 받아서, 실행 시에 동적으로 의존관계가 생성된다. -컨테이너가 흐름의 주체가 되어 애플리케이션 코드에 의존관계를 주입해 주는 것이다. DI 의 장점 - 코드가 단순해진다. - 컴퓨턴트 간의 결합도가 제거된다. 2-2 DI의 유형 - Setter I..

카테고리 없음 2021.02.06

[Spring boot] AOP 란

본 글은 내가 이해한 내용 그대도 명시해뒀습니다. AOP가 필요한 상황 - 모든 메소드의 호출 측정 - 공통 관심 사항 vs 핵심 관심 사항 ex) 회원가입시간, 회원 조회 시간을 측정하고 싶다면? 문제 package hello.hellospring.service; @Transactional public class MemberService { /** * 회원가입 */ public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); //중복 회원 검증 memberRepository.save(member); return member.getId(); } finally { ..

Java/Spring Boot 2021.01.27

[Spring Boot] AWS EC2 서버 환경 구축하기

안녕하세요 오개발입니다. 스프링부트 공부중에 기록용으로 남깁니다. AWS aws는 프리티어로 진행하였습니다. 인스턴스 시작 클릭 저는 우분투 18.04 사용하였습니다. 자신이 자신있는 서버로 선택하시면 될꺼 같아요 참고적으로 키 페어가 있어야되고 기본으로 SFTP로 시작합니다. 디폴트로 설정은 SSH post 22로 설정이 되어 있습니다. 서버 접속 저는 Xshell 6 으로 사용하였습니다. 디폴트는 "ubuntu" 입니다. sudo apt-get update get --version sudo apt install openjdk-11-jre-headless java --version // 11버전인지 확인 mkdir apps // 파일 만들기 git clone https://github.com/devSe..

Java/Spring Boot 2021.01.19

좋은 객체 지향 설계의 5가지 원칙(SOLID)

단일 책임의 원칙 - 한 클래스는 하나의 책임만 가져야된다. 개방- 폐쇄 원친 (OCP) - 다형성 -> 구현 객체를 변경하려면 클라이언트 코드를 변경해야 한다. -> 분명 다형성을 사용했지만.. OCP 원칙을 지킬수 없다.. 이부분을 수정하려면 객체를 생성하고, 연관관계를 맺어주는 별도의 조립, 리스코프 치환 원칙 (LSP) -> 기능의 대한 약속 ex) 자동차 엑셀은 앞으로 가야된다. 하지만 개발자의 의지로 엑셀은 뒤로 가게끔 구현은 가능하지만 리스코프 치환 원칙에 위배된다. 인터페이스 분리 원칙 인터페이스를 작게 기능적으로 분리 의존관계 역전 원친(DIP) - 추상화에 의존해야지 구체화에 의존하면 안된다.

Java 2021.01.17