。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

업무

1주차

quarrrter 2024. 1. 11. 13:31

WAS

웹 서버와 구분하여, 웹 서버가 단순히 HTTP로 웹 페이지를 보여주는 정적인 역할이라면 WAS는 웹 서버와 연계되어 동적인 로직, 좀 더 복잡하고 무거운 동작을 수행한다. 웹 클라이언트의 요구를 웹 서버 혼자 감당하기 힘들기 때문에 구조적으로 웹 서버의 기능을 분리하기 위해 만들어진 미들웨어이다.

 

전자정부 tiles

웹페이지 상단이나 하단에서 반복적으로 사용되는 정보를 한 곳으로 모아 관리하는 프레임 워크

<jsp:include>와 <%include%>랑 비슷한 역할을 하지만 성능적으로 tiles가 우세

 

.

형상관리툴 SVN(SubVersion)

여러 명이서 작업하는 프로젝트의 경우 버전관리나 각자 만든 소스의 통합과 같은 문제를 해결하기 위해 저장소를 만들어 그곳에 소스를 저장해 소스 중복이나 여러 문제를 해결하기 위한 Software이다

 

하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있게 도와주는 툴

 

용어

Repository: 프로젝트 파일 및 변경 정보가 저장되는 장소

Import: Repository에 맨 처음 파일들을 채우는 것

Export: 버전 관리 파일들을 뺀 순수 파일만 빼내는 것

Checkout: 저장소에서 최신 버전의 소스코드를 최초로 받아오는 것 / Repository에서 프로젝트 관련 파일들을 받아온다

Update: 로컬 저장소에 있는 파일들을 저장소의 최신 버전으로 받아 오기

Commit: 로컬 저장소의 변경된 내용을 서버로 전송 / Checkout한 파일의 수정사항을 갱신

Revert: 로컬 저장소의 내용을 이전 상태로 돌림

Add: 버전관리 대상으로 파일 등록

Trunk: 개발 소스를 commit 했을 때 개발 소스가 모이는 곳 / 프로젝트에서 가장 중심이 되는 디렉토리, 소스와 파일 포함

Branch: trunk에서 분리/복사한 소스로 버전별 배포판을 만들거나 trunk와 별도로 운영환경을 위한 안정화된 소스 관리 목적으로 사용

Tag: 특정 시점의 상태 보존 목적으로 사용 장기적으로 1.0, 1.1 등 버전 별로 소스 코드를 따로 저장

 

 

MAVEN

build: 빌드는 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정과 결과를 말한다. 우리가 작성한 소스코드 (스프링부트의 경우 .java 파일), 프로젝트에서 쓰인 각각의 파일 및 자원(.xml, .jpa, .jpg, properties)을 jvm이나 톰캣 같은 WAS가 인식할 수 있도록 패키징하는 과정 및 결과물을 일컫는다.

 

예를 들면, Java 프로젝트를 진행하면 개발자가 작성한 A.java와 여러 가지 정적 파일 등에 해당하는 resource가 존재한다.

빌드를 한다면 소스코드를 컴파일 해서 .class로 변환하고 resource를 .class가 참조할 수 있는 적절한 위치로 옮기고 META-INF와 MANIFEST.MF들을 하나로 압축하는 과정을 의마한다.

 

build tool

Maven은 Java 전용 프로젝트 관리 도구로, Lifecycle 관리 목적 빌드 도구이며, Apache Ant의 대안으로 만들어졌다.

Maven은 멀티 프로젝트에서 특정 설정을 다른 모듈에서 사용하려면 상속 받아야하지만, gradle 설정 주입 방식을 사용하므로 멀티 프로젝트에 적합하다.

 

 

Ajax

Ajax란 Asynchronous JavaScript and XML의 약자입니다.

Ajax는 빠르게 동작하는 동적인 웹 페이지를 만들기 위한 개발 기법의 하나입니다.

 

비동기 방식: Ajax는 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있습니다.

즉 Ajax를 이용하면 백그라운드 영역에서 서버와 통신하여, 그 결과를 웹 페이지의 일부분에만 표시할 수 있습니다.

 

 

Spring Batch

Spring Batch는 대량의 데이터 처리를 위한 경량화된 프레임워크로, 반복적인 작업을 수행하는 일괄 처리(Batch Processing) 작업을 효율적으로 처리할 수 있는 기능을 제공한다. 대용량 데이터 처리나 주기적인 업무 처리 등을 효율적으로 처리할 수 있고, 대용량 데이터 처리에 적합한 분산 방식의 처리를 지원한다. Spring Batch는 많은 양의 데이터를 효율적으로 처리할 수 있으며, 다양한 기능을 제공한다. 대용량 데이터 처리, 트랜잭션 관리, 재시도 기능 등이 이에 해당된다.

 

 

 

뷰 테이블(View Table)

- 데이터베이스에서 테이블의 일부 또는 ‘특정 조건에 따라 필터링된 데이터만’을 포함하는 ‘가상 테이블’입니다.

- SELECT의 결과를 객체로 만드는 기법입니다.
- 실제로 데이터를 저장하지 않고 기존 테이블의 데이터를 기반으로 쿼리를 실행하여 필요한 정보를 반환합니다.
- 이를 통해 데이터의 일부분에 집중하거나 복잡한 쿼리를 간소화할 수 있습니다.
- 데이터의 보안, 효율성 및 유지보수 측면에서 유용하게 사용될 수 있습니다.

 

 

 

Cargo IMP : cargo interchange message procedure 

 

FFM , 화물 적하목록의 정보 전달을 목적으로 항공사  조업사 등 운송 주체가 화물 출발 공항에서 화물 도착 공항에 전송하는 Message다.

FWB FWB 메시지에는 Shipper/Consignee, Pieces/Weight, Charges 등 AWB 상의 모든 정보를 포함한다. FWB data는 전자 운송장(E-AWB) 으로도 활용 가능하며 세관  조업사 요청 시 항공사 시스템에서 다시 발송할 수 있다.

FHL 송수하인 정보 House Air Waybill

HTML 5, CSS 3, JavaScript, Java, SQL, JSON, XML, jQuery, jQuery UI, Bootstrap
DHTML(HTML+CSS+Javascript), Ajax, Spring, JSP, JSTL, MyBatis, Maven, Log4J

 

 

 

Mybatis 문법

 

BIND

외부에서 전달된 파라미터를 이용하여 변수 생성하는 엘리먼트

동적 쿼리 변수를 생성할 때 사용한다.

<select id="getTest" resultType="board">
  SELECT * FROM board
  <bind name="ids" value="'%'+id+'%'"/>
  <bind name="subjects" value="'%'+subject+'%'"/>
  <where>
    <if test="id != null"> AND id like #{ids}</if>
    <if test="subject != null"> AND subject like #{subjects} </if>
  </where>
</select>


=> id가 널이 아닌 경우, id 필드에 대한 검색 조건으로 %로 둘러싸인 id 값을 사용하여 데이터를 조회

 

 

 

TRIM 함수는 문자열의 양쪽 공백을 제거하는 기본적인 함수이다. 

prefix : 실행될 쿼리의 <trim> 문 안에 쿼리 가장 앞에 붙여준다.

UPDATE board <trim prefix="SET"> username=#{username},password=#{password}</trim>
 

prefixOverrides : 실행될 쿼리의 <trim> 문 안에 쿼리 가장 앞에 해당하는 문자들이 있으면 자동으로 지워준다.

SELECT * FROM board WHERE id = #{id} 
<trim prefixOverrides="OR">OR TT LIKE '%' || #{searchContent} || '%' </if> 
 

suffix : 실행 될 쿼리의 <trim> 문 안에 쿼리 가장 뒤에 붙여준다.

<trim suffix=")"></trim>
 

suffixOverrides : 실행될 쿼리의 <trim> 문 안에 쿼리 가장 뒤에 해당하는 문자들이 있으면 자동으로 지워준다.

<trim suffixOverrides=","></trim>

 

 

list라는 목록에서 각 item에 해당하는 값을 차례로 #{item}에 바인딩하여 SQL을 동적으로 생성하는 역할

<foreach item="item" index="index" collection="list"
    open="(" separator="," close=")">
      #{item}
</foreach>

 

WHERE ( if를 두 번 쓸 때)

<select id="getTest" resultType="board">

SELECT * FROM board

<where>
<if test="id != null">AND id = #{id} </if>
<if test="subject != null">AND subject = #{subject} </if>
</where>

</select>

 

'업무' 카테고리의 다른 글

[ORACLE 함수] MERGE INTO  (2) 2024.01.18
[jQuery] wrapper  (0) 2024.01.16
[ORACLE] ORACLE 데이터 타입  (4) 2024.01.15
[ORACLE] PL/SQL  (5) 2024.01.15
JQuery  (2) 2024.01.09