전체 글
-
한컴독스 AI 체험기: 혁신적인 문서 작업의 시작 ㄷㄷ^^생활 Tip_기타 상식_취미 공유 2024. 7. 26. 23:36
AI로 문서 작업이 이렇게 쉬울 줄이야!안녕하세요, 여러분! 오늘은 제가 최근에 경험한 한컴독스 AI에 대한 후기를 공유하려고 합니다. 문서 작업의 혁신적인 변화를 직접 체험하면서 느꼈던 점들을 생생하게 전해드릴게요.한컴 독스 AI 는 한글과 한폼에서 현재 사용할 수 있습니다.한쇼, 한셀, 한워드에서는 추후에 AI 를 만나볼 수 있겠죠..? 한컴 독스 AI 가 무엇인지에 대한 자세한 설명에 대한 링크도 공유해드려요https://support.hancomdocs.com/hancomdocs_ai 한컴독스 AIsupport.hancomdocs.com 한마디로!! 직접 문서를 작성하는 시대에서 AI 가 도와주어 손쉽게 문서를 작성할 수 있게 되었다.!! 첫인상: 간편한 인터페이스한컴독스 AI에 처음 접속했을 ..
-
JWT 토큰 암호화 방식 및 키 저장 방식웹 개발 2024. 6. 26. 23:05
사용자 인증시에 jwt 토큰을 많이 사용하고 있지만 어떤 구성과 어떤 역할인지는 많이 확인하였지만 직접 암호화는 방식과 암호화를 위한 키 저장 방식에 대해 스스로 모르고 있다 생각하여 정리해본다. > JWT 토큰 생성 방식1. 대칭 키 암호화 방식 (HMAC)대칭 키 암호화 방식은 동일한 비밀 키를 사용하여 JWT 토큰을 생성하고 검증합니다. 주로 HS256, HS384, HS512 알고리즘이 사용됩니다. 이 방식은 설정과 사용이 간단하지만, 비밀 키가 유출될 경우 보안에 취약할 수 있습니다. { ... String secretKey = "your-256-bit-secret"; // JWT 생성 String jwt = Jwts.builde..
-
Pageable 을 파헤치자.웹 개발 2024. 4. 29. 19:07
1. 스프링 페이징의 기본 개념페이징 처리의 원리, 페이징 처리의 과정public class PagingVO { // 현재페이지, 시작페이지, 끝페이지, private int nowPage, startPage, endPage, // 게시글 총 갯수, 페이지당 글 갯수, 마지막페이지, total, cntPerPage, lastPage, // SQL쿼리에 쓸 start, end start, end; private int cntPage = 5; public PagingVO() { } public PagingVO(int total, int nowPage, int cntPerPage) { setNowPage(now..
-
자바 HashTable 과 HashMap웹 개발 2024. 3. 28. 21:58
HashTable 이란 - 해시 함수를 사용해서 변환한 값을 index 로 삼아 key 와 value 를 저장하는 자료구조 - 어떤 특정 값을 받아서 해시 함수에 입력하고, 함수의 출력값을 인덱스로 삼아 데이터를 저장한다. - 순차적으로 데이터를 저장하지 않는다. - 해시 테이블은 key-value 가 1:1 매핑되어 있어 검색, 삽입, 삭제 과정에서 모두 평균적으로 O(1) 의 시간복잡도를 갖는다. (공간 복잡도는 O(n)) - 이진탐색 트리나 배열에 비해서 속도가 획기적으로 빠르다. 해시 동작 원리 - 원래 데이터인 keys 를 Hashing 이라는 과정(hash fucntion) 을 거친다. - Hashign 과정을 거친 후 Hash value(hashing 후 데이터의 값) 로 매핑한다. - Ha..
-
User-Agent 정보 가져오기웹 개발 2024. 3. 20. 14:54
개발 중에 브라우저 정보를 필요로 하는 요구사항에 따라 습관적으로 구글 검색해서 브라우저 정보를 뽑아오는 코드를 아무생각 없이 작성하였다. HttpServletRequest request = ((ServletRequestAttributes) Optional.ofNullable(RequestContextHolder.getRequestAttributes()) .orElseThrow(() -> new RuntimeException("request Attribute is null")) ) .getRequest(); String userAgent = request.getHeader(HEADER_USER_AGENT); String browserName = "Unknown"; if (userAgent != null)..
-
정적 코드 분석 도구 Sonarqube 도입 제안웹 개발 2024. 2. 24. 09:37
1. SonarQube 소개 SonarQube는 오픈 소스 플랫폼으로, 소프트웨어 개발 프로세스의 여러 단계에서 코드의 품질을 관리하고 개선하는 데 사용됩니다. 이는 정적 코드 분석을 통해 코드 품질을 평가하고 지속적인 통합 및 개선을 지원합니다. 20개 이상의 프로그래밍 언어에서 버그, 코드 스멜, 보안 취약점을 발견할 목적으로 정적 코드 분석으로 자동 리뷰를 수행하기 위한 지속적인 코드 품질 검사용 오픈 소스 플랫폼이다. 소나소스(SonarSource)가 개발하였다. 소나큐브는 중복 코드, 코딩 표준, 유닛 테스트, 코드 커버리지, 코드 복잡도, 주석, 버그 및 보안 취약점의 보고서를 제공한다. (https://ko.wikipedia.org/wiki/소나큐브) https://trends.google...
-
@RequestBody, @ResponseBody ??웹 개발 2024. 1. 27. 02:53
1. RuqeustBody HttpMessageConverter 가 Http Request Body 내에 있는 데이터를 Java 객체로 변환해주는 역할 @Valid를 붙이면 검증을 할 수 있고, 실패 시 MEthodArgumentNotValidException 을 던진다. 주로 POST 또는 PUT 요청과 함께 사용 주로 JSON 또는 XML 형식의 데이터를 받아서 자바 객체로 변환하는데 사용 2. ResponseBody 컨트롤러 메서드가 반환하는 데이터를 HTTP 응답의 메시지 바디(body)에 넣어주는 역할 주로 컨트롤로 메서드가 JSON 또는 XML 형식의 데이터를 반환할 때 사용 스프링은 반환된 객체를 해당 형식의 데이터로 변환하고 응답 메시지를 바디에 담아 클라이언트로 전송 스프링 4.0 이후에..
-
Flyway웹 개발 2022. 12. 15. 09:21
ChatGPT 가 Hot 하길래 한번 이용해보기위해 Flyway 를 검색 해보았다.. 더보기 Flyway is a database migration tool that helps users automate the process of database schema changes. It allows users to define and manage database changes in a version control system, and then apply them to a database. This helps ensure that the database schema is up-to-date and consistent across different environments, such as development, st..