전체 글16 ssh-copy-id 사용할 시, 서버에 파일로 인증하기 ❯ ssh-copy-id -i id_rsa.pub -o IdentityFile=~/oracle-cloud/ubuntu.key -f ubuntu@oracle-ubuntu 2022. 5. 27. Spring Boot에서 JWT 생성 및 검증 간단히 구현 Spring Boot에서 JWT 생성 및 검증 간단히 구현 1. 개발환경 Java 11 Spring Boot 2.5.5 2. Gradle dependencies dependencies { implementation 'io.jsonwebtoken:jjwt-api:0.11.2' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.2' runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.2' testImplementation 'org.springframework.boot:spring-boot-starter-test' } 3. JWS(서명한 JWT) 생성 1) JwtUtil import io.jsonwebtoken.Jwts; import io.jsonw.. 2021. 9. 30. 추상적으로 프로그래밍 하세요. 철수와 영희가 컴퓨터를 조립하는 코드를 작성했습니다. 철수 컴퓨터 = CPU + RAM + SDD + VGA 영희 데스크탑 = 인텔 i9 10900k + 삼성 DDR4 8GB PC4-21300 * 2 + 삼성 860EVO-250G + 지포스 RTX3090 누가 더 코드를 잘 짰나요? 철수는 대충대충 코딩한거 같은데 영희는 정말 심혈을 다해서 작성한거 같아요! 그러니 영희의 코드가 더 좋을까요? 데스크탑은 컴퓨터입니다. 인텔 i9 10900k는 CPU이고요. 삼성 DDR4 8GB PC4-21300은 RAM입니다. 즉, 철수의 코드에 영희의 코드를 대입해도 아무런 문제가 생기지 않습니다. 반면 반대는 어떤가요? 컴퓨터는 데스크탑일까요? CPU는 인텔 i9 10900k라고 할 수 있나요? .. 2020. 11. 11. static 사용에 주의하세요. Java와 C#에서 static 키워드를 사용하면 변수나 메소드가 프로그램 실행 시 바로 메모리에 올라갑니다. 객체를 생성하지 않아도 말이죠. 그렇기에 무분별한 static 남발은 비효율적인 메모리 구조를 낳게 됩니다. 그런데 이보다 더 무서운 사실이 있습니다. static 변수는 하나만 생성됩니다. 그렇기에 이 변수를 수정하게 되면 모든 곳에 반영됩니다. eat() 함수가 static String food = 'pork'를 사용한다고 생각해봅시다. 잘 사용하고 있는데 다른 개발자가 실수로 혹은 악의적으로 food = 'stone'이라고 수정한다면? 아마 프로그램은 각종 오류를 뿜게 될 것입니다. 그렇기에 static 변수를 사용할 시에는 final이나 const 등을 사용하여 값이 변하지 않게 .. 2020. 11. 10. public보다는 private을 사용합시다. Java나 C#에서 class, field, method 등에 접근 제한자를 사용할 수 있습니다. 이 때 습관적으로 public을 사용하는 분들이 있는데요. 이는 매우 위험한 행동이므로 고칩시다! public의 의미는 '누구나 어디서든' 사용할 수 있다는 뜻입니다. 즉, 만든 사람은 여러분이지만 사용하는 사람은 여러명일 수 있기에 함부로 코드를 수정할 수 없습니다. 여러분이 10을 반환하는 함수를 public으로 작성하여 10이 필요한 다른 개발자가 이 함수를 사용한다고 가정합시다. 여러분이 이 함수를 만든 이유는 같은 class에서 이 값을 이용하여 20을 만들기 위해서였죠. 그런데 필요한 값이 30으로 변경되어 10을 반환하는 함수도 15를 반환하게 만들게 되면 어떻게 될까요? 이 함수를 가져다 .. 2020. 11. 10. Java(자바)의 Interface(인터페이스)를 쉽게 이해해보자!(1) 어렸을 때 그 어렵다는 C를 겉핥기 한 경험이 있어서인지 자바를 처음 접했을 때 너무 재밌고 또 술술 이해됐습니다. 그렇게 진도를 훅훅 빼다가 만난 암초가 바로 자바의 인터페이스!... 처음 읽었을 땐 이 놈을 도대체 어따 쓰는 지 이해가 되지 않았고, 두 번 읽었을 땐 다형성 뭐시기 하는 거 같은 느낌이 왔고, 그 이후로 아마 열 번 이상은 공부하고 나서야 비로소 이해했습니다. 혹 저처럼 자바의 인터페이스에서 헤메고 계시다면 잘 찾아오셨습니다! 그럼 한 번 인터페이스라는 놈을 함께 분석해볼까요? 1. 인터페이스는 약속이다! 네! 인터페이스는 단순한 약속이라고 이해하시면 됩니다. 개발자와 컴파일러, 개발자와 개발자 사이의 약속인거죠. 위의 코드를 함께 볼까요? Flyable 인터페이스는 말 그대로 '날 .. 2020. 8. 26. 이전 1 2 3 다음