no image
[회고] 우리 인생 처음이자 마지막 2024년 10월
2024년 10월 회고 요약- [완료] 프로젝트 서비스 오픈 - [진행] 메일솔루션 업그레이드- [진행] 스팸메일 구성 변경프로젝트 서비스 오픈드디어 신규 서비스 오픈이 완료되었다.10월 2주 차에 오픈했으니, 현재까지 데이터나 기술적인 문제로 연락온 사항은 없다.고생했던 보람이 있다고 할까.. 요즘은 신규 프로젝트를 진행하면서 정신도 없고 짜증도 난다.하지만 미래 내가 돌아봤을 때 보람찬 결과물이 되기 위한 무거운 발걸음이라고 생각하자.고생이 클수록 보람도 클 것이다. 이겨내 보자 :)메일 솔루션 업그레이드10월 회고에 있어서 가장 큰 지분을 갖게 된 프로젝트다.9월 회고에 작성했던 1~4번 항목 중 절반은 진행되었다고 보면 된다.차근차근 살펴보자 1. 서버 및 스토리지 구축기존 레거시(On-premi..
2024.10.24
no image
[Linux] 파티션 크기 문제 해결하기
문제 상황신규 서버를 구축하며 /data에 4TB를 할당했음에도 불구하고, df -h 명령으로 확인한 결과 2TV만 표시되는 문제가 발생했다.[root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sdb1 2.0T 15G 2.0T 1% /data[root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSsda 8:0 0 1T 0 disk├─sda1 8:1 0 600M 0 part /boot/efi├─sda2 8:2 0 1G ..
2024.10.10
no image
[Java] Base64 인코딩/디코딩: JDK 1.7과 JDK 1.8에서의 차이점
Java에서 Base64 인코딩과 디코딩은 데이터 전송 및 저장 시 많이 사용하는 중요한 기능이다.그런데 JDK 버전에 따라서 사용하는 방식이 다르다고 한다.특히 JDK 1.8에서는 Base64 클래스가 도입된 반면, 1.7에서는 이를 기본적으로 지원하지 않는다.1.7과 1.8에서 Base64 인코딩과 디코딩을 처리하는 방법에 대해서 작성해 본다.JDK 1.8에서의 Base64 사용Java 8부터는 java.util.Base64 클래스가 기본으로 제공됨으로, 이를 사용해 간단하게 인/디코딩이 가능하다.import java.net.URLDecoder;import java.util.Base64;String parameter = "someBase64EncodedString";String test = URLDe..
2024.10.04
no image
[Java] JSON 데이터 전송 및 응답 처리
주요 흐름1. 사용자가 로그인한 경우, 세션에서 사용자 정보를 가져옴.2. API 호출을 위한 JSON 데이터 구성하여 connect 함수를 통해 서버에 전송.3. 응답 데이터를 JSON으로 파싱하여 처리.4. 성공적인 경우, 인증키를 받아서 자동으로 로그인을 처리하는 페이지를 생성.5. 잘못된 사용자나 오류가 발생한 경우 리다이렉트 처리.코드 propertyMap, String readTime) throws Exception { PrintWriter postReq = null; BufferedReader postRes = null; String resultJson = null; StringBuilder resultBuffer = new StringBui..
2024.10.03
no image
[VSCode] Visual Studio Code 인코딩 설정 (언어셋 변경)
1. 개별 인코딩 설정 변경하기아래 이미지와 같이 한글이 깨져 보였다.VSCode 우측 하단부를 보면 현재 선택되어 있는 파일 인코딩 설정을 바꿀 수 있다.[UTF-8]을 클릭하면 상단부에 [Reopen with Encoding]과 [Save with Encoding] 선택지가 나온다.인코딩하여 다시 열지, 인코딩하여 저장할지를 클릭(선택)한 뒤에 변경할 인코딩 항목을 선택해 주면 된다.변경 후 아래와 같이 한글이 정상적으로 출력되는 것을 확인할 수 있다. 2. 전체 인코딩 설정하기매번 파일을 오픈할 때마다 이러긴 매우 번거로우니까..한번에 설정할 수 있는 방법이 있다.좌측 상단부 [File] - [Preferences] - [Settings]를 클릭하면원하는 Encoding 방식을 설정할 수 있다.
2024.10.02
no image
[회고] 우리 인생 처음이자 마지막 2024년 9월
2024년 9월 회고 요약- [완료] 데이터 이관- [예정] 메일솔루션 업그레이드데이터 이관최종 데이터 이관 및 서비스 오픈 일자가 정해졌다.- [10월 1주차] 기존 서비스 종료 및 최종 데이터 이관- [10월 2주차] 신규 서비스 오픈 사실상 최종 데이터는 기존 서비스 종료 후 추출 쿼리 돌리고 인출만 하면 되는 부분이라서 마음이 편하다.서비스 오픈 이후 문제 없기만을 바란다 :)메일 솔루션 업그레이드2024년도 하반기 예산을 통해 차기 프로젝트가 메일 솔루션 업그레이드로 확정되었다.업그레이드 확정 전 타사 제품과 업계 1위 제품들을 비교해 보며 견적을 받았다. 메일 같은 경우 솔루션 별로 클라이언트가 느낄 수 있는 기능적 차이는 미비하고 관리자 페이지와 정책 영역에서 차이점이 컸던 것으로 느껴졌다...
2024.09.24
no image
[ORACLE] Function과 Procedure의 효율적인 사용 방법
최근 데이터 이관 작업을 진행하면서 예외 처리에 대해 Function을 사용하여 효율적으로 트러블 슈팅을 진행했다.트러블 슈팅 진행 과정에서 한가지 의문점이 생겼다.Function(함수)과 Procedure(프로시저) 둘 다 비슷한 구조를 가졌지만 어떤 시점에서 어떤 객체를 사용해야지 더 적절한 선택인지에 대한 의문이 생겼다.그에 따라서 Function과 Procedure의 차이점, 각 장단점, 그리고 적절한 상황 판별에 대해서 써본다. 1. Function과 Procedure의 기본 개념Function (함수)정의: Function은 특정 작업을 수행한 후 반드시 하나의 값을 반환하는 SQL 객체다.주용도: 주로 값을 계산하거나 데이터를 변환하는데 사용된다. 이를 통해 반환값을 다른 SQL문 또는 PL..
2024.09.08
no image
[회고] 우리 인생 처음이자 마지막 2024년 8월
2024년 8월 회고 요약- 3년 차 개발자- DB 데이터 이관- Server 보안 취약점 조치- 운동 & 유튜브 & 블로그3년 차 개발자 어느덧 일을 시작한 지 2년이 넘었다. 시간이 정말 빠르다.어떠한 결정을 내리든지 책임은 따르지만,연차가 쌓이며 책임에 대한 무게감이 더욱 늘어나는 것 같다. 배운 것도 많고 느낀 것도 많고 성장한 것도 많다.물론, 부족한 것도 많다. 내가 잘하고 있는 것, 잘 해낸 것들에 대해서 Keep (유지)하자. 프로젝트나 업무/작업 과정에서 발생한 어려운 점이나 문제점은 해결 후 항상 기록하자.Problem (문제점)은 부끄러운 것이 아니다. 다시 발생하지 않도록 최선을 다하자. 마지막으로, 새로운 Try (시도)에 대해서 두려워하지 말자.누구나 처음은 있으니까.DB 데이터..
2024.09.01
no image
[Linux] 스토리지 수동 마운트하는 방법 (자동 마운트 문제 해결)
OSCentOS 7 해당 게시물은 서버 재부팅 후 기존에 정상적으로 사용하던 스토리가 자동 마운트되지 않는 상황에서 수동으로 조치하는 방법을 기술했다. 문제 원인'/etc/fstab' 파일에 해당 스토리지에 대한 마운트 설정이 누락된 경우 발생 가능'/etc/fstab' 파일에 잘못된 UUID 또는 디스크 경로가 설정된 경우파일시스템이 손상되었거나 디스크 자체에 문제가 있는 경우부팅 순서가 잘못된 경우 (스토리지 서버 부팅 후 실서버 부팅이 필요함) 해결 방법 (수동 디스크 및 스토리지 마운트)1. 마운트할 디스크 확인먼저, 마운트할 디스크의 장치 이름을 확인한다. (실제 확인되는 경로와 다르므로 이 부분은 유동적으로 적용 필요)# 블록 장치의 정보를 표시. 각 디스크와 그 디스크에 마운트된 파티션을 확..
2024.08.27