전체 글

프로그래밍 기술 및 관심사 공유 목적으로 블로그를 운영하고 있습니다. 감사합니다.
취미 생활/짧은 생각

[짧은 생각] 1년 10개월 블로그를 운영하면서

2022년 1월 9일 날 첫 글을 작성한 이후로 지금 2023년 12월 06일까지 약 1년 10개월 가량을 블로그를 운영하였습니다. 오늘 누적 방문자 40만이라는 저만의 뜻 깊은 의미를 가지는 날이고 중간 지점을 가지기 위해 짧은 생각을 적어봅니다.! 💡 시작부터 지금까지.. 짧은 정리를 해봤습니다 그동안 한 가지를 꾸준하게 하지 못했던 거 같습니다. 마음만 먹고 그만 뒀던 때도 있고, 작심삼일로 삼일을 넘기지 못하던 일도 있었기에 무언가를 꾸준하게 해 보자라는 생각을 항상 가져왔던 것 같습니다. 또한 기억력이 좋은 편은 아니라고 생각해 왔고 이를 위해 항상 적는 습관을 가져왔습니다. 적어온 노트들이 가득 차는것을 보면서 이런 점을 생각해 봤을 때, 내가 꾸준히 할 수 있는 일이 무엇일까를 고민하다가 블..

Java/아키텍처 & 디자인 패턴

[Java] 람다식(Lambda Expression), 함수형 인터페이스(Functional Interface) 이해하기

해당 글에서는 Java에서 사용되는 람다식(Lambda Expression)과 함수형 인터페이스(Functional Interface)에 대해 알아봅니다. 1) 순수 함수, 일급 함수, 고차 함수 💡 순수 함수, 일급 함수, 고차 함수 - 람다, 함수형 인터페이스를 이해하기 이전에 일반 함수, 일급 함수, 고차 함수에 대해서 이해를 하고 이후 상세히 알아봅니다. 용어 설명 예시 순수 함수(Pure function) - 매개 변수가 존재하거나 존재하지 않을 수 있고 연산을 수행한 후 결과를 반환하는 함수를 의미합니다. - 일반 함수 일급 함수(First-class function) - 함수를 변수에 할당하거나 다른 함수의 인자로 전달하거나 함수의 반환 값으로 사용할 수 있는 특성의 함수를 의미합니다. - ..

Java/오류노트

[Java/오류노트] SonarLint : "Random" objects should be reused

해당 글에서는 Java에서 SornarLint에서 발생하는 오류에 대한 해결방법에 대해 알아봅니다. 1) 문제점 💡 "Random" objects should be reused 문제점 - 객체를 재 사용해야 한다는 의미입니다. 이는 일반적으로 프로그래밍에서 객체를 생성하고 사용할 때 발생하는 비용을 줄이기 위해 권장되는 접근 방식입니다. - 객체를 반복적으로 생성하고 버리는 것보다, 이미 생성된 객체를 재사용하여 성능을 향상시킬 수 있습니다. 이를 통해 메모리 사용량을 줄이고 시스템 리소스를 효율적으로 활용할 수 있습니다. 💡 아래와 같이 new Random()으로 객체를 생성해서 만드는 코드 부분에서 해당 Lint 오류가 발생하였습니다. 2) 해결방안 💡 해결방안 - new Random() 형태로 객체..

Java/오류노트

[Java/오류노트] SonarLint : Use try-with-resources or close this "CloseableHttpClient" in a "finally" clause.

해당 글에서는 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/오류노트

[Java/오류노트] SonarLint : A "NullPointerException" could be thrown; "getBody()" can return null.

해당 글에서는 Java에서 SonarLint에서 발생하는 오류에 대한 해결방법에 대해 알아봅니다. 1) 문제점 💡 A "NullPointerException" could be thrown; "getBody()" can return null. 문제점 - "NullPointerException"라는 오류 메시지는 null 값을 접근하려고 할 때 발생합니다. 이 경우 "getBody()" 메소드가 null을 반환할 수 있으며, 이로 인해 예외가 발생할 수 있습니다. 이 오류는 일반적으로 초기화되지 않은 객체의 메소드나 속성에 접근하려고 할 때 또는 존재하지 않는 객체에 접근하려고 할 때 발생합니다. - 해당 오류에서는 ResponseEntity result 값으로 제너릭 타입 형태의 ‘result’ 값에 Nu..

Java/알고리즘 & 자료구조

[Java/알고리즘] 정렬 알고리즘(Sort Algorithm) 이해하기 -1 : 기본 구조 및 종류

해당 글에서는 정렬 알고리즘에 대해 기본적인 구조와 종류에 대해서 알아봅니다. 💡 [참고] 전체 알고리즘 구성 중에 '정렬 알고리즘'에 대해 알아봅니다. 1) 정렬 알고리즘(Sort Algorithm) 💡 정렬 알고리즘(Sort Algorithm) - ‘데이터’를 ‘특정한 기준에 따라 순서대로 정렬’하는 알고리즘을 의미합니다. 1. 정렬 알고리즘의 특징 💡 정렬 알고리즘의 특징 - 정렬 알고리즘만이 가지고 있는 특징에 대해서 알아봅니다. 특징 설명 시간 복잡도 일부 알고리즘은 작은 데이터 집합에 대해 빠르지만, 큰 데이터 집합에 대해 느릴 수 있습니다. 알고리즘의 시간 복잡도를 고려하여 적절한 정렬 알고리즘을 선택해야 합니다. 안정성 안정적인 정렬 알고리즘은 동일한 값의 순서가 바뀌지 않는 특징을 가지고..

취미 생활/짧은 생각

[짧은 생각] AI 성장으로 개발자 직업은 없어질까?

문득 드는 짧은 생각들을 적어봅니다. 회사에서 AI 관련 프로젝트를 진행하다 보니 자주 듣는 이야기 중 하나는 “AI 지금보다 더 성장하면 개발자 직업은 없어지는 것이 아닐까?”라는 이야기입니다. 요즘 주위에서 쉽게 찾아볼 수 있는 무인점포들이 늘어나고 따라서 점포를 관리하고 유지하던 인원이 줄어들어 점차 사람이 하던 일을 대체되고 있다고 느껴지고 있습니다. “그렇다면 요즘 코딩도 AI가 대신해주는데 개발자도 없어지는 거 아냐?”라는 생각이 들기 마련이라고 생각합니다. 개인적으로는 개발자로써 언젠가는 줄어들지 않을까라는 생각이 드는 것 같습니다. 그러나, 생성형 AI를 사용하는 입장에서 ’지금 당장은 없어지지 않을 거 같다’라는 생각이 듭니다. 첫 번째로는 ‘알아야 검색을 한다'고 생각합니다. 내가 사용..

Java/아키텍처 & 디자인 패턴

[Java/디자인패턴] 싱글턴 패턴(Signleton Pattern) 이해하기 -1 : 정의 및 종류

해당 글에서는 싱글턴 패턴(Signleton Pattern)에 대해서 이해를 돕기 위해서 공유하기 위한 목적으로 작성한 글입니다. 1) 디자인 패턴(Design Pattern)💡 디자인 패턴(Design Pattern) - 소프트웨어에서 특정 문제를 해결하기 위해 개발된 재사용성이 가능한 솔루션을 의미합니다. - 디자인 패턴을 통해 재사용성, 유지 보수성, 확장성을 향상하는데 도움이 됩니다[ 더 알아보기 ] 💡 디자인 패턴의 종류 1️⃣ 생성 패턴 (Creational Patterns) - 객체의 인스턴스화 과정을 추상화하고, 객체를 생성하는 방법을 다양화하는 패턴입니다. 이에는 Singleton, Factory Method, Abstract Factory 등이 포함됩니다. 2️⃣ 구조 패턴 (Struc..

adjh54
Contributor9