2022년 1월 9일 날 첫 글을 작성한 이후로 지금 2023년 12월 06일까지 약 1년 10개월 가량을 블로그를 운영하였습니다. 오늘 누적 방문자 40만이라는 저만의 뜻 깊은 의미를 가지는 날이고 중간 지점을 가지기 위해 짧은 생각을 적어봅니다.! 💡 시작부터 지금까지.. 짧은 정리를 해봤습니다 그동안 한 가지를 꾸준하게 하지 못했던 거 같습니다. 마음만 먹고 그만 뒀던 때도 있고, 작심삼일로 삼일을 넘기지 못하던 일도 있었기에 무언가를 꾸준하게 해 보자라는 생각을 항상 가져왔던 것 같습니다. 또한 기억력이 좋은 편은 아니라고 생각해 왔고 이를 위해 항상 적는 습관을 가져왔습니다. 적어온 노트들이 가득 차는것을 보면서 이런 점을 생각해 봤을 때, 내가 꾸준히 할 수 있는 일이 무엇일까를 고민하다가 블..
해당 글에서는 Java에서 사용되는 람다식(Lambda Expression)과 함수형 인터페이스(Functional Interface)에 대해 알아봅니다. 1) 순수 함수, 일급 함수, 고차 함수 💡 순수 함수, 일급 함수, 고차 함수 - 람다, 함수형 인터페이스를 이해하기 이전에 일반 함수, 일급 함수, 고차 함수에 대해서 이해를 하고 이후 상세히 알아봅니다. 용어 설명 예시 순수 함수(Pure function) - 매개 변수가 존재하거나 존재하지 않을 수 있고 연산을 수행한 후 결과를 반환하는 함수를 의미합니다. - 일반 함수 일급 함수(First-class function) - 함수를 변수에 할당하거나 다른 함수의 인자로 전달하거나 함수의 반환 값으로 사용할 수 있는 특성의 함수를 의미합니다. - ..
해당 글에서는 Java에서 SornarLint에서 발생하는 오류에 대한 해결방법에 대해 알아봅니다. 1) 문제점 💡 "Random" objects should be reused 문제점 - 객체를 재 사용해야 한다는 의미입니다. 이는 일반적으로 프로그래밍에서 객체를 생성하고 사용할 때 발생하는 비용을 줄이기 위해 권장되는 접근 방식입니다. - 객체를 반복적으로 생성하고 버리는 것보다, 이미 생성된 객체를 재사용하여 성능을 향상시킬 수 있습니다. 이를 통해 메모리 사용량을 줄이고 시스템 리소스를 효율적으로 활용할 수 있습니다. 💡 아래와 같이 new Random()으로 객체를 생성해서 만드는 코드 부분에서 해당 Lint 오류가 발생하였습니다. 2) 해결방안 💡 해결방안 - new Random() 형태로 객체..
해당 글에서는 Java에서 SornarLint에서 발생하는 오류에 대한 해결방법에 대해 알아봅니다. 1) 문제점 💡 Use try-with-resources or close this "CloseableHttpClient" in a "finally" clause. 문제점 - 리소스 누출을 피하기 위해 "try-with-resources" 문을 사용하거나 "finally" 절에서 "CloseableHttpClient"를 닫는 것이 권장됩니다. 이렇게 하면 예외가 발생하더라도 리소스가 제대로 닫히게 됩니다. 💡 변경 이전 소스코드 public Map httpPost(String url, String queryParams) { try { // HTTPClient 객체 생성 CloseableHttpClient h..
해당 글에서는 Java에서 SonarLint에서 발생하는 오류에 대한 해결방법에 대해 알아봅니다. 1) 문제점 💡 A "NullPointerException" could be thrown; "getBody()" can return null. 문제점 - "NullPointerException"라는 오류 메시지는 null 값을 접근하려고 할 때 발생합니다. 이 경우 "getBody()" 메소드가 null을 반환할 수 있으며, 이로 인해 예외가 발생할 수 있습니다. 이 오류는 일반적으로 초기화되지 않은 객체의 메소드나 속성에 접근하려고 할 때 또는 존재하지 않는 객체에 접근하려고 할 때 발생합니다. - 해당 오류에서는 ResponseEntity result 값으로 제너릭 타입 형태의 ‘result’ 값에 Nu..
해당 글에서는 정렬 알고리즘에 대해 기본적인 구조와 종류에 대해서 알아봅니다. 💡 [참고] 전체 알고리즘 구성 중에 '정렬 알고리즘'에 대해 알아봅니다. 1) 정렬 알고리즘(Sort Algorithm) 💡 정렬 알고리즘(Sort Algorithm) - ‘데이터’를 ‘특정한 기준에 따라 순서대로 정렬’하는 알고리즘을 의미합니다. 1. 정렬 알고리즘의 특징 💡 정렬 알고리즘의 특징 - 정렬 알고리즘만이 가지고 있는 특징에 대해서 알아봅니다. 특징 설명 시간 복잡도 일부 알고리즘은 작은 데이터 집합에 대해 빠르지만, 큰 데이터 집합에 대해 느릴 수 있습니다. 알고리즘의 시간 복잡도를 고려하여 적절한 정렬 알고리즘을 선택해야 합니다. 안정성 안정적인 정렬 알고리즘은 동일한 값의 순서가 바뀌지 않는 특징을 가지고..
문득 드는 짧은 생각들을 적어봅니다. 회사에서 AI 관련 프로젝트를 진행하다 보니 자주 듣는 이야기 중 하나는 “AI 지금보다 더 성장하면 개발자 직업은 없어지는 것이 아닐까?”라는 이야기입니다. 요즘 주위에서 쉽게 찾아볼 수 있는 무인점포들이 늘어나고 따라서 점포를 관리하고 유지하던 인원이 줄어들어 점차 사람이 하던 일을 대체되고 있다고 느껴지고 있습니다. “그렇다면 요즘 코딩도 AI가 대신해주는데 개발자도 없어지는 거 아냐?”라는 생각이 들기 마련이라고 생각합니다. 개인적으로는 개발자로써 언젠가는 줄어들지 않을까라는 생각이 드는 것 같습니다. 그러나, 생성형 AI를 사용하는 입장에서 ’지금 당장은 없어지지 않을 거 같다’라는 생각이 듭니다. 첫 번째로는 ‘알아야 검색을 한다'고 생각합니다. 내가 사용..
해당 글에서는 싱글턴 패턴(Signleton Pattern)에 대해서 이해를 돕기 위해서 공유하기 위한 목적으로 작성한 글입니다. 1) 디자인 패턴(Design Pattern)💡 디자인 패턴(Design Pattern) - 소프트웨어에서 특정 문제를 해결하기 위해 개발된 재사용성이 가능한 솔루션을 의미합니다. - 디자인 패턴을 통해 재사용성, 유지 보수성, 확장성을 향상하는데 도움이 됩니다[ 더 알아보기 ] 💡 디자인 패턴의 종류 1️⃣ 생성 패턴 (Creational Patterns) - 객체의 인스턴스화 과정을 추상화하고, 객체를 생성하는 방법을 다양화하는 패턴입니다. 이에는 Singleton, Factory Method, Abstract Factory 등이 포함됩니다. 2️⃣ 구조 패턴 (Struc..