[WebSquare] 웹스퀘어에 대해 알아보자
·
Frontend
개요최근 이직한 회사에서는 화면단 기술로 WebSquare를 사용하고 있습니다. 이전 프로젝트에서 Nexacro를 잠시 사용해 본 경험이 있었는데, 두 기술은 차이점도 있지만 개인적으로는 개발 방식이나 사용 흐름에서 비슷한 느낌을 많이 받았습니다. 실제로 전 직장에서 WebSquare를 사용해보지 않고 입사한 분들이 많아 회사에서도 온라인 교육(Inswave 교육)을 지원해주었고, 팀원분들도 모두 해당 교육을 수강했다고 들었습니다. 저 역시 입사 직후 해당 교육을 수강했으며, 이를 바탕으로 WebSquare에 대해 전체적으로 정리해보려고 합니다. WebSquare인스웨이브 시스템즈의 UI 개발 프레임워크로서 xml을 서버의 웹스퀘어 엔진(서블릿)이 해석해 HTML/Javascript로 렌더링하는 방식으로..
[AWS] Amazon Web Services Solutions Architect - Associate (AWS-SAA-C03) 자격증 합격 후기 및 공부법 (전공자)
·
Certificate
개요오늘은 AWS 자격증 합격 후기로 포스팅을 시작하려고 합니다.해당 자격증을 예전부터 따려고 했었는데, 금액적인 부분(시험비용) 이 꺼려져서 미루다가 이번에 마음먹고 바로 취득을 하였습니다. 사전 지식이 많은 상태는 아니였으며, AWS 서비스에 대해서 학부 시절에 간단하게 사용해본 수준이였습니다. (EC2, S3, RDS, Route53, ACM) 시험 후기에 앞서 AWS-SAA-C03 자격증이 어떤 자격증인지 간단하게 설명드리겠습니다. AWS-SAA AWS 서비스 전반에서 기술 지식과 기술 능력을 검증하는 시험으로서 비용 및 성능 최적화 솔루션 설계에 중점을 둡니다. 주어진 4지선다 (or 5지선다) 에서 최적화된(비용 or 성능) 솔루션을 찾는다거나, 사용되는 AWS 서비스는 어떤건지 요구하는 시..
[KMI 여의도 건강검진] 채용검진 후기 (대기시간, 검사항목, 꿀팁)
·
Daily
오늘은 곧 입사할 회사의 채용검진을 위해 KMI한국의학연구소 여의도검진센터를 다녀왔습니다. 여의도는 사람이 많을 것 같아서 광화문으로 가려고 했지만, 다른 사람들의 블로그 후기를 보니 여의도가 많은 사람들에 비해 최소 시간으로 검진을 받을 수 있을 것 같아서 해당 장소로 이동했습니다. 실제로 사람들은 많았지만 빠르게 진행되었습니다.(전체 검진 시간:1시간 이내) 저는 사전에 따로 예약은 하지 않고, 전화로 문의하니 주의사항과 안내사항을 문자로 받을 수 있었습니다. 반드시 주의사항을 숙지하여 전날 9시간 이상 공복을 유지하셔야 합니다. 저 또한 전날 간단히 저녁 식사 후 8시 이후부터 공복 상태를 유지하였습니다. 저는 8시 30분쯤 여의도역에 도착해서 빠르게 17층으로 올라갔습니다. 아니다 다를까 수많은..
[Oracle] CTE를 활용한 계층 쿼리 구현 (재귀 CTE vs CONNECT BY)
·
Database
개요오늘은 WITH CTE 구문을 활용하여 조직도 쿼리를 작성해 볼 예정입니다.Oracle에서는 사전에 미리 WITH문을 통한 결과집합을 만들어두고, 임시 테이블을 다시 사용할 수 있는 기능을 제공하는데, 해당 기능 덕분에 재사용성을 높일 수 있습니다.계층 쿼리를 작성하기 전에, CTE 구문을 먼저 설명드리겠습니다. CTE (Common Table Expression)쿼리 안에서 임시로 사용할 수 있는 이름 붙은 결과 집합입니다.마치 함수 안에서 사용하는 지역 변수처럼, 복잡한 쿼리를 읽기 쉽게 나눌 수 있습니다.CTE(Common Table Expression)는 크게 두 가지 형태로 구분됩니다. 하나는 임시 테이블처럼 활용되는 일반 CTE이고, 다른 하나는 계층 구조나 반복적인 데이터를 처리하기 위..
[Oracle] 오라클 기본문법 및 함수 정리 (vs MySQL)
·
Database
기본 문법 정리 1. SELECT 1 FROM dual;oracle에서 쿼리 테스트를 위해 사용합니다.dual: 테이블 없이 SELECT를 가능하게 해주는 Oracle 전용 가상 테이블입니다.2. select distinct column as col from t1.table중복 제거 및 별칭을 적용합니다. 3. CASE 문조건 충족 여부에 따라 설정한 값을 반환하는 조건을 변환합니다.만족하는 조건이 없을 경우에는 null을 리턴합니다.조건 내에 언급된 컬럼의 레코드에 대해서 조건1을 만족 시 출력1 ..조건2를 만족 시 출력2 ..조건3을 만족 시 출력3 ..조건N을 만족 시 출력N ..모든 조건을 만족하지 않을 시 출력 N+1위 모든 내용을 컬럼Z로 출력합니다.select case when 조건..
[Java] gc에서 사용하지 않는 객체를 어떻게 구분하는가
·
Backend/Java Concept
개요오늘은 Java의 핵심 개념 중 하나인 Garbage Collector(GC)가 사용하지 않는 객체를 어떤 기준으로 구분하는지 정리해보려고 합니다.그동안은 GC를 단순히 "더 이상 필요 없는 객체를 자동으로 제거해 주는 기능" 정도로만 이해하고 있었지만, 한 스타트업의 기술면접을 계기로 객체의 생존 여부를 판단하는 방식과 Reachability 개념을 좀 더 깊이 있게 살펴보게 되었습니다.이번 글에서는 GC가 불필요한 객체를 어떻게 구분하는지와 자바의 참조 타입을 기반으로 동작 과정을 하나씩 정리해 보겠습니다. 정리 내용은 내용이 너무 유익해서 해당 링크를 전적으로 참고하였습니다. GC ReachabilityGC(Garbage Collection)에서 사용하지 않는 객체를 구분하는 기준은 핵심적으..
[CS] float 타입 변수의 연산은 왜 부정확할까
·
CS
개요오늘은 업무 중에 직접 겪었던 문제를 계기로, 그 과정에서 생긴 궁금증을 조금 더 깊이 파헤쳐보려고 합니다. 업무 시스템에서 값을 계산하는 과정에서 float 타입 변수들끼리 연산을 수행했는데, 예상과 달리 계산 결과의 정확도가 깨지게 되었습니다. 디버깅을 진행하면서 실제 연산 결과가 기대한 값과 다르다는 것을 확인할 수 있었습니다. 해당 문제는 다음과 같은 단순한 계산 과정에서 발생했습니다.출장비 = 식비 + 숙박비세 변수(출장비, 식비, 숙박비) 모두 float 타입이었고, 단순한 덧셈 연산이었음에도 불구하고 결과 값에 오차가 발생했습니다. 컴퓨터는 숫자를 포함한 모든 데이터를 이진법(2진수)으로 표현하고 처리합니다. 하지만 이진법으로는 모든 실수를 정확하게 표현할 수 없습니다. 특히 10진수 소..
[Spring] Mybatis Framework에 대해서 알아보자
·
Backend/Spring
개요MyBatis는 JPA처럼 Hibernate와 같은 ORM 구현체가 SQL을 자동으로 생성해 주는 방식이 아니라, 개발자가 직접 XML 파일에 SQL을 작성하고 그 결과를 Java 객체에 매핑하는 SQL Mapper 프레임워크입니다. 이러한 특성 덕분에 JPA에 비해 복잡한 SQL을 세밀하게 제어할 수 있다는 장점이 있으며, 도메인 로직이나 쿼리 튜닝이 중요한 환경에서 이점을 누릴 수 있습니다. 이 글에서는 MyBatis의 기본 개념과 주요 구성 컴포넌트를 살펴보고, 컴포넌트 기반으로 동작과정을 순수 MyBatis와 Mybatis-Spring과 비교해서 보겠습니다. Mybatis개발자가 직접 SQL을 작성하고, 해당 SQL 결과를 자바 객체로 매핑시켜주는 Persistence Framework입니다...
2025년 12월 회고록
·
Daily/Retrospect
원래 첫 회사 입사 후 매달 회고록을 작성하려고 했지만 아쉽게도 실천하지 못했네요. 돌이켜 봤을 때, 현재 회사에서 얻어간 것들이 너무 많았으며 정말 가치 있는 시간들이었던 것 같습니다. 비록 블로그에 포스팅하지는 않았지만, 개인적으로는 Notion에 꾸준히 정리해 왔고, 이 기록들이 앞으로도 분명 도움이 될 지식이라고 생각하고 있습니다. 그래서 이번에는 첫 회사에서 보낸 2년 반의 시간, 그리고 그 경험을 바탕으로 이직에 성공하기까지의 과정을 조금 더 자세히 정리해 회고록으로 남겨보려 합니다. 저는 보안 설루션 회사에서 웹 풀스택 개발 업무를 담당해 왔습니다. 처음에는 백엔드 개발을 중심으로 커리어를 쌓고 싶었지만, 풀스택 업무를 맡게 되면서 생각보다 많은 장점을 경험할 수 있었습니다. 웹 개발에 있어..
[Linux] OpenStack VM에서 wget 명령어로 local 서버 파일 다운로드
·
Linux
개요OpenStack 환경에서 배포나 테스트 작업을 위해 local 환경에서 패키징한 WAR 파일을 VM으로 옮겨야 했습니다. 보통은 scp 명령을 떠올리지만, 실제로는 SSH 공개키 인증 문제, 키페어 불일치, Security Group 설정 문제 등이 겹치면 생각보다 번거롭습니다. 기존에는 pem key를 이용해서 로컬 서버에서 원격 서버로 파일을 전송하려고 했지만, 권한 문제로 인해 파일 전송에 실패하였습니다.PS C:\> scp -i .\br2_rocky9_zt_1104.pem .\project.war rocky@192.168.239.190:/projectBad permissions. Try removing permissions for user: BUILTIN\\Users (S-1-5-32-545..