일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- JPA스터디
- 코테공부
- 플러터 개발
- 스프링 공부
- 코테준비
- Axon framework
- 프로그래머스
- nestjs
- 카프카
- 기술공부
- 자료구조공부
- 플러터 공부
- JPA예제
- 기술면접공부
- Kafka
- JPA공부
- nestjs스터디
- 스프링
- 스프링부트
- 자바공부
- 스프링공부
- DDD
- Flutter
- JPA 공부
- 스프링부트공부
- 알고리즘공부
- JPA
- querydsl
- nestjs공부
- K8S
- Today
- Total
목록분류 전체보기 (716)
DevBoi
제네릭... 제네릭이 뭘까...?? 사실 개발을 조금 해봤으면 모를리 없다. 그래도. 가끔 헷갈리면서 잘못쓰는 경우를 대비해서 정리 및 작성 기초부터 잘알아야 어떨때 어떤걸 쓰는게 맞는지 알테니 고고 1. 제네릭 제네릭이란, 하나의 값으로 여러가지 다른 데이터 타입들을 가질수 있도록 하는 방법이다. List test = new ArrayList(); 이런식으로 선언을 하는데, 제네릭 클래스는 위와 같이 String에 대한 고정이 아니라 사용자의 입력에 따라서 유동적으로 값을 받을수 있도록 하는 것이다. 장점 : Typemismatch 에러 방지, 관리 편리, 코드 재사용성 높아짐 type Element Key Value Number 암묵적인 규칙이다. 쉽게말해 Public class TestClass{}..
1. 우선 Maven 인경우, pom.xml 의 파일에 해당 디펜던시를 추가해준다. org.springframework.boot spring-boot-starter-security (주의 : 이걸 pom.xml 에 추가하고 프로젝트를 띄우면, 전체 경로가 다 막혀버린다.) 그래서, 우선 pom.xml 주석 처리하고, Login controller 생성 및 간단하게 view 연결 진짜 간단하게 id,pw만 받아서 submit 하는 버튼만 만들었다. 이제 다시 pom.xml 에 스프링 시큐리티 추가해서, 프로젝트를 띄운다. 이런 인증창이 나오면 성공, 우선 다음에는 스프링 시큐리티 해제 방법 과 사용 및 구현 방법을 알아보자
스프링 이나 다른 프로그래밍을 보게 되면, Interface를 만들고, 이를 구현하는 Impl 파일을 볼수있다. 이걸 왜 만들까? 사실 Interface의 사용용도를 모르는 사람 입장에서는 이해가 안될 것이다. 왜 Service도만들고 ServiceImpl을 만들어서...두번쓰는거지...? 답은 간단하다. 트랜잭션 처리 및 JDBC 종속성 해제 때문이다. 스프링 뿐 아니라 모든 프로그래밍 방법론에서 다루고있는 말이다. 각 프레임 워크에서 기본으로 제공하는 Interface에서는 제일 상위에 트랜잭션 처리관련 interface가 있고 이를 상속 받아서, interface를 구현, 및 하위 몸체 코드에서 이를 동작시킨다. 즉 접근 방식은 하나의 방식으로 통일하고, 접근에 쓰이는 로직 코드만 분리를 하기 위함..
Stateless란 뭘까 요청, 응답에 대한 Stream연결이 아닌, 한번 통신하고 ㅂㅂ처리하는것이다. 서버 입장에서는 굉장히 부하가 적음, connection close를 바로 해버리기 때문에 (http 방식) 그럼 반대로, stateful 은 뭘까... 연결이 지속이 된것이다. 맨처음에 인증하고, 그뒤에는 세션으로 값을 저장해서, 그 값을보고 쭉쭉 준다. 쉽게, TCP, UDP랑 살짝 비슷한 방식이라고 생각하면된다. Stateless에서 세션 처리는 스프링 시큐리티로 처리를한다고 하는데... 이건 나중에 해봐야겠다 그리구 MIME 타입이란???? 뭘까...?? form에서 , 혹은 ajax에서 text/html형태로 혹은 application/json 형태로 보낼때가 있다 컨텐츠들이 multi par..
소스트리 쓰다가 화병이 날뻔했다. 소스트리 vs Git desktop 하면, 진짜 그냥 비등비등인데 소스트리는 거의 장애 수준의 결함이 있다. 그것은 사용자 인증;;;;; 진짜 헬이다... 개발하다가 이것때문에 한번꼬이면 쓸데없이 시간 낭비 엄청하게 된다. 진짜 협업툴로 소스트리 많이 쓰고 있는 분들 많지만 개인적으로 소스트리는 최악의 협업졸작툴이다 진짜 쓸데없는 곳에서 먹통이되고, 오류가 나도 사용자에게 메시지도 못띄우는 그리고 결함이 한동안 지속되었는데도 개선조차 못하고있는 ;;; 참 한심한 툴이라서 그냥 쓰레기 통에다 던져버리고 깃허브 데스크탑을 쓴다. 어딜 가던 Git desktop이나 git lab을 써야지 소스트리는 앞으로 절대 안쓸듯;;;; 간단한 깃 데스크탑 설정 방법 포스팅하고, 소스트리..
이전에, git 에 대한 bash를 통해, 해당 레파지토리를 push 했다. 해당 cmd 를 이용해서, 하는 방법 도 있지만, Gui 를 사용해서, 하는것이 좀 더 보기도 좋고, 많이 사용한다. 그래서 소스트리 사용방법 정리 및 기본적인 pull,push 방법을 포스팅 하고자 한다. 1. 설치 https://www.sourcetreeapp.com/ Sourcetree | Free Git GUI for Mac and Windows A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac. www.sourcetreeapp.com 여기서 개인 사용자 컴퓨..
많은 빌드가 오래걸리는 프로젝트들이 jenkins를 사용한다. 왜 쓸까???? Jenkins가 정확하게 뭘까...?? 주니어 개발자들은 대부분 시니어 개발자들이 만들고 설정해놓은 Jenkins 설정을 그대로, 혹은 현재 회사에서 쓰고있는 Jenkins를 그대로 쓰고 있기 때문에, 별다른 설정 및 구축을 해본경험이 없을 것이다. (나도 그럼 ㅋ) 그래서 jenkins로 사용할수있는 기능들과 어떤 것들이 가능한지 살펴보자 1. Jenkins 사용이유 Jenkins를 사용하지 않으면, 사용자 한명이 최신의 버전을 update 후에, maven install 작업을 진행하고, 해당 프로젝트 (Spring boot 기준) war 파일을 서버에 올려서 풀어야 한다.... Jenkins를 사용한다면, 해당 작업 필요..
이제 자기 프로젝트를 원격저장소 and 다른사람들과 팀웤을 이룰때 주로 쓰는 협업툴을 사용해서 올릴 예정이다. git!! 대충 이런 프로젝트에서, git bash를 오른쪽 버튼 눌러서열어준다. git init $ git add . $ git commit -m "first commit" $ git remote add origin https://github.com/Realcheese94/DateBlog.git (이 주소는 git new repository 하게 되면, 나오는 주소이다.) Realcheese94/DateBlog Spring boot 기반 DateBlog. Contribute to Realcheese94/DateBlog development by creating an account on GitH..
Go 언어 작성된 리눅스 컨테이너 기반 오픈소스 가상화 플랫폼 쉽게 말하면 서버 가상화를 위한, 도구이다. 서버 가상화는 왜할까? 컴퓨터 성능이 날로 좋아지면서, 서버의 리소스가 많이 남아돈다... 한서버에 여러개의 서버를 올리면 안정성의 문제가 있다. 따라서! 가상화로 host os 위에 여러개의 서버를 올린다. 그러면 VM과 docker의 차이는? 무엇일까 VM은 Host os위에 Guest OS , 즉 OS끼리 탑을 쌓기 때문에 느리다. 하지만. Docker 는 Host os 위에 os 가 아닌 커널만 만들고, 자원을 공유하는 여러개의 서버용 app을 만든다. 속도와 IO의 측면에서 커널을 공유하여 빠르지만, 멀티os를 할수없는점, 그리고 보안에 있어서 취약하다. 다음에는 Docker로 서비스 배포..
일단 저번에, mysql 설치 및 환경 설정을 완료 하였고, 이제 application.yml에서, 해당 database의 설정을 추가해준다. 우선 기존의 application.properties와 다르게 yml 파일의 형식은 보기도 편하고, json tree 형식으로 되어있어서 찾기도 훨씬 편하다. 기존에 설정했던 jsp 경로를 yml형식으로 바꾼뒤에, datasource의 내용을 적어준다. mysql관련 class name 과 url , root가 아닌 user name과 password를 입력한뒤에, 서버를 구동하면 정상적으로 뜬다. 참고) user name설정 방법 저번에 설치했던 mysql workbench 기준으로, 해당 내용을 작성 및 저장 해주면, 자동으로 생성해준다.