전체 글 110

JavaScript 다중 검색 기능 만들기

안녕하세요 오늘은 JavaScript를 이용하여 다중 검색 기능을 만들어 볼 예정입니다. 겉으로는 쉬워 보이지만 코드 내용이 생각보다 많아서 잘 따라오셔야 할 것 같아요. 다중 검색 기능은 어디서든 사용이 가능하게 최대한 모듈화 방식으로 js 파일을 구성했습니다. 글 내용을 천천히 따라가시다 보면 해당 파일을 어떻게 적용하는지 아실 수 있어요😁 또한, 독자분들이 원하는 방향성과 다를 수 있기 때문에 개요에 있는 gif를 보시고 판단하시고, 비슷하다면 직접 원하시는 방향으로 커스텀해서 사용하시면 될 것 같습니다. 시작해 볼까요? 개요위의 gif 파일과 같이 특정 페이지에서는 다중 검색이 가능하게 만들어야 하는 경우들이 종종 있습니다. 사실 해당 페이지에서만 동작하게 만든다면 쉽게(!?) 구현할 수 있었겠..

TIL 2023.09.26

[Java] csv 파일 프로그램 여러가지 Tip

오늘은 Java를 이용해서 CSV 파일을 만드는 프로그램을 구성할 때 필요한 여러 가지 tip들을 공유해보려 합니다😁 개요 csv 파일이 무엇인지 잘 아시나요? csv 파일이란 comma-separated variables의 약자로 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일을 뜻합니다. 확장자는 .csv이며 MIME 형식은 text/csv입니다. 현업에서는 csv 파일을 많이 다루게 되는데요. 백업 파일을 준비하거나, 기업에서 요청하는 경우도 상당히 많습니다. csv 파일은 단순 텍스트 파일이기 때문에, 개발적인 측면에서 많은 공수가 들어가지 않는다는 장점이 있고, csv 파일을 엑셀로 열었을 때 쉼표(,) 기준으로 셀이 자동으로 나뉘는 편리함도 가지고 있기 때문입니다. 그럼 cs..

TIL 2023.09.14

Java String, StringBuilder, StringBuffer 차이와 장단점

개요 오늘은 Java에서 문자열을 다루는 String, StringBuilder, StringBuffer의 차이를 알아보려고 한다. 3가지 클래스는 각각 차이점이 있는 만큼 효율적으로 사용하는 방법 또한 다르게 작용이 된다. 어떠한 상황에서 어떤 문자열 클래스를 사용하는 것이 효율적인지는 각 클래스의 특징을 완전히 이해하고 사용해야 한다. 3가지 클래스는 어떤 부분에서 다를까? String📙 우리가 흔히 아는 Java의 문자열 클래스로 대표적인 클래스는 단연 String 일 것이다. String 변수에 값을 할당하는 방법은 2가지가 있는데, 리터럴 변수를 대입하는 방법과 new 연산자를 사용하는 방법이 있다. String str = "Binco"; // 리터럴 String str = new String(..

TIL 2023.08.21

PostgreSQL Join 활용 예제

오늘은 PostgreSQL에서 Join을 활용하는 예제를 살펴보려고 합니다. 제가 실무에서 겪은 이슈 중에 Left Join을 사용하여 손쉽게 쿼리를 작성했던 것을 다른 예시를 통해서 해결방법을 보여드리려고 합니다😁 개요 앞서 말씀드렸듯이, 실무에서 겪었던 이슈를 Join을 통해 손쉽게 해결했던 경험을 말씀드리려고 합니다. 상황은 mybatis를 사용하지 못하고 오직 쿼리로만 해결해야 했던 이슈입니다. 이슈를 간단하게 설명드리면, 고객사에서 기존에 진행했던 설정 방식과 달리 다른 방식으로 마이그레이션 하는 작업이기 때문에, 따로 Java 프로젝트를 실행시키는 것이 아닌 DB 구조만 바꾸는 과정이었습니다. 💡 제가 다니는 회사는 DBPatcher라는 프로젝트가 있어서 원하는 쿼리를 DBPatcher 프로그..

TIL 2023.08.03

PostgreSQL JSON 데이터 활용 II

오늘은 저번 포스팅에 이어 PostgreSQL에서 JSON 데이터를 활용하는 더 다양한 방법들을 소개하려고 합니다😁 개요 저번 포스팅에서는 JSON 데이터를 가져오는 다양한 연산자와 집계함수에 대해 설명했습니다. 이번 포스팅에서는 JSON과 JSONB의 차이, JSON 객체를 생성하는 방법, JSONB 값을 배열로 집계하는 방법 등 더 다양한 함수들을 소개하려 합니다. JSON과 JSONB의 차이📙 가장 큰 차이점은 JSON은 입력받은 텍스트 값을 그대로 DB에 저장하기 때문에 DB에 INSERT 할 때는 성능이 좋습니다. 하지만 JSONB는 입력받은 문자열에서 공백을 제거해 주고, 인덱싱 처리를 하기 때문에 DB에 INSERT 할 때 쓰기 비용이 발생합니다. 이렇게만 본다면 성능이 좋은 JSON을 자주..

TIL 2023.06.01

PostgreSQL JSON 데이터 활용

PostgreSQL은 관계형 데이터베이스이고 JSON(Javascrpit Object Notation)은 데이터를 저장하고 교환하기 위한 경량의 데이터 형식입니다. JSON 데이터를 활용하면 칼럼을 추가할 필요 없이 해당 JSON 칼럼에만 추가하면 되기 때문에 상당히 편리하게 사용이 가능합니다. 개요 앞서 말씀드렸듯이, PostgreSQL은 JSON 데이터를 저장하고 쿼리하는 데에도 지원을 제공합니다. PostgreSQL에서 JSON 데이터는 JSON형식으로 표현된 문자열로 저장됩니다. 이 문자열은 테이블의 열에 저장될 수 있으며, JSON 데이터는 구조화된 데이터를 표현할 수 있어, 키-값 쌍의 컬렉션 형태로 저장이 가능합니다. JSON 데이터는 일반적인 텍스트 형식이기 때문에 PostgreSQL에서는..

TIL 2023.05.30

Smart Encoder 프로젝트 후기

Smart Encoder 프로젝트는 새롭게 시작된 프로젝트로 라디오 라이브 생방송의 음성을 실시간으로 캡처해 mp3 파일로 변환하고, 운영서버에 FTP로 전송해 주는 Batch 시스템과 해당 프로세스를 한눈에 볼 수 있는 모니터링 시스템을 개발하는 프로젝트입니다😄 개요 Smart Encoder 프로젝트는 기존에 했던 기술 스택과 다르게 JPA를 사용했고, DB를 2개 사용하는데 MSSQL과 SQLite를 사용했습니다. Batch 시스템 또한 유지보수만 해왔던 터라 신규로 만드는 것은 처음이어서 프로젝트 설정부터 다소 난관이 있었지만 기간 내에 잘 마무리 해서 다행이었던 프로젝트입니다. 모니터링 시스템의 화면 단도 이번에 처음 사용해보는 Thymeleaf로 진행했습니다. 기존에 Jsp를 많이 사용했어서 화..

Project/Team 2023.04.18

Java 신입 개발자 면접 질문 리스트

오늘은 신입 개발자를 대상으로 한 면접 흐름과 예상질문 리스트를 주제로 포스팅하려 합니다. 주관적인 경험을 바탕으로 작성하는 부분들이 많기 때문에 참고만 해주세요😊 📗인사 관련 면접 대부분 개발 직군의 면접은 2:1이나 3:1로 면접을 진행합니다. 면접자들은 인사담당자, 개발 팀장, 임원들로 구성되며 각자 본인 업무에 해당하는 질문을 합니다. 제가 경험했던 면접들에서는 인사담당자님이 먼저 질문을 했습니다. Q. 오시는데 얼마큼 걸리세요? - 있는 그대로 말씀하시되, 만약 거리가 너무 멀다면 '1시간 조금 더 넘게 걸리는데 환승을 안 합니다'라는 긍정적인 멘트를 섞어주는게 좋을 것 같아요. 면접에 큰 영향을 끼치는 질문은 아니지만, 대게 처음 나오는 질문이기 때문에 좋은 인상을 남기는 게 좋습니다. 🌟Q...

국비지원&취업 2023.03.03

Java 알고리즘 모든 아나그램 찾기

오늘은 해쉬맵과 윈도우 미러링을 이용하여 주어진 단어 안에서 모든 아나그램을 찾는 문제를 풀어보려 합니다😄 개요 이번 문제의 핵심은 저번 포스팅과 마찬가지로 해쉬맵을 사용하는 방법과 윈도우 미러링 방식을 사용하여 시간복잡도를 해결하는 것이 관건일 것 같네요😀 Setting📙 public class AllAnagram { public static void main(String[] args) { AllAnagram T = new AllAnagram(); Scanner sc = new Scanner(System.in); String a = sc.next(); String b = sc.next(); System.out.println(T.solution(a,b)); } } 입력값으로는 두 단어가 주어집니다. 첫 ..

Algorithms 2023.02.18

Java 알고리즘 아나그램(해쉬) 풀이

오늘은 해쉬맵을 이용하여 주어지는 두 단어가 아나그램인지 판별하는 문제를 풀어보려고 합니다. 아나그램은 두 단어가 알파벳 나열 순서가 달라고 구성이 같을 때의 경우를 의미합니다😀 개요 이번 문제의 핵심은 서두에서 언급했듯이 해쉬맵의 기능들을 사용하는 것이 될 것 같네요😊 Setting📙 public class Anagram { public static void main(String[] args) { Anagram T = new Anagram(); Scanner sc = new Scanner(System.in); String a = sc.next(); String b = sc.next(); System.out.println(T.solution(a,b)); } } 입력값은 문제에 나와있는 것 처럼 두 단어가..

Algorithms 2023.02.16