분류 전체보기 (19) 썸네일형 리스트형 AWSKRUG 을지로 소모임 후기 사내 devops 동료 소개로 AWSKRUG 그룹에 가입하여 을지로 소모임에 참석하였다. AWSKRUG 는 AWS 한국 사용자 그룹을 의미하고 공식 사이트에서도 확인할 수 있었다. meetup 플랫폼을 통해 가입을 하였고 여러 모임이 있으며 다양한 주제로 모임이 진행되는 것 같다. 첫 참석이었는데 을지로 모임은 7번째로 김수빈, 김현민 발표자분이 AWS Summit 참여 후기를 생생하게 전달해주었다. 김수빈 발표자 분은 JAWS(Japan AWS) Summit 2024를 참여한 후기를 소개하였는데, 한국 Summit 보다 규모가 컸다는 사실에 놀랐다. Japan region이 먼저 생겼지만 실 사용 규모는 그렇게 크지 않을 것이라 생각했었다. 원하는 세션을 마이페이지를 통해 자유롭게 신청하여 참석할 수 .. 생성형AI와 프롬프트 어떻게 사용하고 있나요? by PyLadies 사내 프로젝트가 끝나고 회사 동료가 추천해준 meetup에 참여해보고 개인적인 생각을 정리하기 위해 작성한다. 물론 더 이전부터 AI 에 대한 관심이 있었겠지만 2023년도부터가 개인이나 기업 또는 기관등에서 생성형AI에 대해 투자를 하기 시작한 것으로 생각한다. 찾아보니 chatGPT는 2022년 11월 30일에 출시되었다고 한다. 자사에서도 KPI항목에 AI관련 아이디어가 들어갈 정도로 관심과 노력이 많이 필요할 것으로 생각된다. 해당 meetup은 오프라인으로 진행되었던 세미나였고, PyLadies 라는 여성 파이썬 개발자들의 모임 이라는 곳에서 주최를 하였다. 신청을 하고 나서 회사 동료가 여성 개발자들을 대상으로 하는것 아니냐고 해서 문의를 남겼는데 참여 대상자에 제한은 없다고 한다😊(저와 같.. [cURL] cURL정리 cURL 이란? 다양한 통신 프로토콜을 이용하여 데이터를 전송하기 위한 라이브러리 https://github.com/curl/curl/ http 프로토콜 테스트 시 유용하게 사용할 수 있다. 매번 검색하면서 사용해서 이번 기회에 정리한다 명령어 정리 shortcut options description example -X —request 요청 메서드를 설정 curl -X GET http://localhost:8080 -H —header 요청 헤더를 추가 curl -X GET http://localhost:8080/api/v1/users -H "Authorization: Bearer {token}" -d —data body 데이터를 쿼리스트링으로 보냄 curl -X POST http://localhost:8.. [security] 스프링 시큐리티 기능 정리 5.1. Authentication(인증) 5.1.1 Autentication Support 스프링 시큐리티는 사용자 인증 처리를 기본적으로 지원한다 5.1.2 Password Storage Password Storage History 스프링 시큐티리는PasswordEncoder 인터페이스를 통해 비밀번호를 안전하게 저장할 수 있는 단방향 변환을 수행한다. org.springframework.security.crypto.password.PasswordEncoder 스프링 시큐리티 5.0부터 BcryptPasswordEncoder가 기본값이 되었다. (before: NoOpPasswordEncoder) DelegatingPasswordEncoder 과거 어플리케이션의 레거시 비밀번호 방식과 현재 변경된 비.. spring4shell 취약점 내용 정리 spring4Shell Spring4Shell은 Spring Core 프레임워크에서 발견된 새로운 제로데이 취약점이다. 해당 취약점 이슈는 애플리케이션에서 인증되지 않은 원격 코드 실행(Remote Code Execution, RCE)을 허용하는 것으로 나타났다. 3월 29일 CVE-2022-22963으로 추적된 새로운 Spring Cloud Function 취약성이 공개 되었다. 그러나 더 중요한 Spring Core RCE 취약성에 대한 정보가 중국 사이트에 유포되었다. 발생의 원인은 안전하지 않은 역직렬화에 의해 발생한다고 한다. 해당 이슈에 대해 잘 정리된 포스팅을 첨부한다 https://github.com/lunasec-io/lunasec/blob/master/docs/blog/2022-03-3.. [gradle] spring boot & react 프로젝트 빌드하기 siouan/frontend-gradle-plugin 플러그인은 Node.js 기반의 빌드를 Gradle 에 통합할 수 있다. 메이븐 빌드를 사용할 경우 eirslett/frontend-maven-plugin 플러그인을 사용하면 된다. 테스트 환경 Backend Spring Boot 2.6.5 JDK 11 Frontend Create-React-App ReactJS 17.0.2 Node 14.17.3 React-Scripts v4.xx (5버전일 경우 http-proxy-middleware 라이브러리로 proxy 구현) Project Structure backend : gradle 빌드 spring-boot 프로젝트 frontend : cra 기반 react 프로젝트 frontend config App... [generic] raw type 사용을 지양하자 Hello, Generic 제네릭이 나오기 이전까지는 컬렉션에서 객체를 꺼낼 때마다 객체 타입을 지정하도록 형변환을 해주어야 했다 형변환의 오류는 런타임 시점에서 오류를 발견할 수 있었다 제네릭을 사용하면 위와 같은 문제를 컴파일 시점에서 확인할 수 있기 떄문에 더 안전하고 명확한 프로그램을 만들어준다 제네릭이란 ? 제네릭 클래스, 제네릭 인터페이스: 클래스와 인터페이스 선언에 타입 매개변수가 쓰이는 경우를 말한다 ex) public interface Set extends Collection 우리는 제네릭 클래스와 제네릭 인터페이스를 통틀어 제네릭 타입(generic type) 이라고 부른다 제네릭 타입은 매개변수화 타입(Parameterized type)을 정의한다 ex) List : List 클래스의.. Spring Scheduler Spring task Scheduling ThreadPoolTaskScheduler ScheduledExecutorService에 작업을 위임하고 TaskExecutor 인터페이스를 구현한다 내부 스레드 관리에 적합하다 단일 인스턴스가 @Scheduled 비동기 스케쥴링을 처리할 수 있다 Thread 명에 ThreadPoolTaskScheduler 접두어가 붙는다 public class ThreadPoolTaskSchedulerConfig { @Bean public ThreadPoolTaskScheduler threadPoolTaskScheduler(){ ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler(); thr.. HashMap vs HashSet in Java 코딩테스트를 연습하는 도중 hash를 사용하는 문제를 풀다 HashMap이 더 성능이 좋다는 것을 배우게 되어 내용을 정리해보려고 한다. HashSet이란? Set 인터페이스를 구현하고, 중복 개체를 가지지 않는 컬렉션 프레임워크이다. equals(), hashCode() 를 재정의해야 중복 여부를 체크할 수 있다. Thread Safe 하지 못하고 동기화하지 않는다.public boolean add(Object obj) 고유한 값이 추가될 경우 true를 반환하고, 중복된 값을 추가할 경우 false를 반환한다. HashMap이란? Map 인터페이스를 구현하고, 키를 값에 매핑하는 해시 테이블이다. 중복 키를 허용하지 않지만 중복 값을 허용한다 Thread Safe하지 못하고 동기화하지 않는다. 중복값.. [intelij] 유용한 플러그인들 Translation : 번역 Google 번역이 default 로 설정되어 있고 Youdao, Baidu, Alibaba 엔진을 지원한다 context menu 지원으로 사용이 편리하다 Multirun : 다중 어플리케이션 실행 기능 multiple run configuration: 한번의 클릭으로 다중 어플리케이션을 실행할 수 있다. CamelCase : 문자 표기법을 간단하게 변경한다 kebab-case, SNAKE_CASE, PascalCase, camelCase, snake_case, space case 지원 단축키 : MacOS : ⇧ + ⌥ + U WinOS : Shift + Alt + U 이전 1 2 다음