1.변수란?

단, 하나의 값을 저장할 수 있는 메모리 공간

 

- 변수의 선언과 초기화

선언 방법 => int age; // age라는 이름의 변수를 선언

int   변수 타입

age 변수 명 

 

초기화 방법 => 새로운 값을 저장하면 기존의 값은 사라진다.

변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것

 

- 변수의 명명규칙

대소문자가 구분되며 길이에 제한이 없다. (True와 true는 서로 다른 것으로 간주된다.)

예약어를 사용해서는 안 된다.                    (true는 예약어라서 사용할 수 없지만, True는 가능하다.)

숫자로 시작해서는 안 된다.                        (top10은 허용하지만, 7up은 허용되지 않는다.)

특수문자는 '_'와 '$' 만을 허용한다.             ($harp은 허용되지만, S#arp은 허용되지 않는다.)

 

2. 변수의 타입

 

 

'STUDY > JAVA' 카테고리의 다른 글

자바를 시작하기 전에  (1) 2025.02.09

- 평소 자바라는 언어를 주로 사용하던 나는 일을 하면 할수록 점점 깊은 지식을 필요하게 되었다. 평소 신텍스만 알면된다고 생각했지만 점점 자바의 깊은 면을 알고싶어 졌고 그래서 오늘부터 시간 날 때 마다 자바라는 언어를 깊게 공부해볼 생각이다. 이 글들은 누구에게 보여주고 강의하기 위한글이 아니기 때문에 읽는사람을 위한 배려같은건 없고 나만의 지식을 정리 하고느 포스팅 하게 될 것이다. 또한, 시간이 날 때 마다 정리하는 것이기 때문에 주기적으로 포스팅되는 글이 아니다.

 

1.JVM(java virtual machine)

자바를 실행하기 위한 가상기계

모든 os 에 jvm을 올리고 그 위에 자바를 올림으로써 자바가 어떤 os에서든 실행이 가능한 환경이 되도록 해주는 프로그램.

 

2.클래스를 작성하는 방법 

class 클래스이름 {

       /* 주석을 제외한 모든코드는 클래스의 블럭{} 내에 작성해야한다. */

}

 

class 클래스이름 {

      public static void main(String[] args){ // main메서드의 선언부

               // 실행될 문장들을 적는다.

      }

}

 

모든 클래스가 main메서드를 가지고 있어야 하는것은 아니지만, 하나의 자바 애플리케이션에는 main 메서드를 포함한 클래스가 반드시 하나는 있어야 한다. 

- 실행의 시작점

'STUDY > JAVA' 카테고리의 다른 글

변수  (0) 2025.02.09

<ajax 비동기통신>

- ajax란?

: AJAX는 XML에 기반한 종합 기술로 Asychronous Javascript XML(비동기 자바스크립트 XML)을 줄인 말로 자바스크립트로 HTTP 요청을 보내 XML 응답을 받아 사용하는 기술이다.

 

-동기 vs 비동기

웹 → 동기 통신. 턴 방식.
(클라이언트와 서버 간의 데이터 교환을 턴 방식으로 운영한다.)
클라이언트가 서버에 요청을 보내고, 응답이 돌아올 때까지 클라이언트는 대기. 응답이 돌아오면, 기존의 결과는 모두 삭제되고, 새 응답을 가지고 다시 전체 출력을 하게 된다.

AJAX → 비동기 통신.
클라이언트가 서버에 요청을 보내고, 응답이 돌아올 때 까지 백그라운드에서 처리된다. 사용자는 AJAX 요청, 응답 과정에서 영향을 받지 않는다. 응답이 돌아오면, 기존의 결과에 응답을 추가하는 형태로 결과를 보여준다.

 

[장점]

: 비동기 통신을 사용함으로써 데이터를 보내고 나서도 사용자는 다른 작업을 할 수 있다.

: 전통적인 웹 어플리케이션 방식에 비해서 서버 측의 처리 속도도 빠르고 전송 데이터의 양도 훨씬 적다.

 

[단점]

: 외부 검색 엔진이 웹 페이지를 검색할 수 없는 문제가 있다.

: AJAX는 클라이언트 풀링 방식(사용자가 직접 원하는 정보를 서버에게 요청하여 얻는 방식)으로 실시간 서비스를 제공할 수 없다.

: AJAX가 포함된 HTML 페이지가 속해있는 서버가 아닌 다른 서버로 요청을 보낼 수 없고, 클라이언트 PC 파일에 접근할 수도 없다.

 

- 사용시기

※ AJAX 활용이 필요한 경우
- 웹 페이지를 바꾸지 않고 현재 페이지에서 어떤 동작을 해야 하는 기능이 필요할 때
- 불필요한 팝업을 사용하여 처리하는 작업을 수행할 때 


※ AJAX 활용이 필요가 없는 경우
- 여러 번 불필요한 화면을 다시 출력할 때

- 특정한 데이터를 반복 사용하면서 다양한 작업을 수행할 때

 

[요청 절차]

  1. XMLHttpRequest 객체 생성
  2. AJAX 객체 정보 설정 (서버 주소, 데이터 첨부, 방식-비동기, 콜백함수)
  3. AJAX 요청 (send)
  4. AJAX 상태 이벤트 확인 콜백 함수 호출
  5. 서버로부터 응답이 도착하면(이벤트) 결과 출력. DOM 기술.

[작동 방식]

  1. 웹 페이지에서 이벤트 발생. (페이지가 로드된 이후 버튼 클릭)
  2. Javascript 에 의해 XMLHttpRequest 객체 생성
  3. 생성된 XMLHttpRequest 객체가 웹 서버에 요청 전송
  4. 서버가 이 요청에 대한 처리
  5. 서버가 웹 페이지로 응답 전송
  6. Javascript 가 응답을 수신
  7. Javascript 가 수신한 응답 내용을 바탕으로 액션 처리 (ex. 페이지 업데이트)

 

ex) 기본적인 ajax예시

$.ajax({
	url: '접속할 페이지 주소',
    type: '전송 방식 (GET / POST)',
    contentType: '전송할 데이터 타입',
    data: '전송할 데이터 - 파라미터 문자열 key=value&key=value',
    dataType: '요청한 데이터 형식 (html / xml / json / jsonp)',
    timeout : '밀리세컨드단위 제한시간',
    cache : '이전요청에대한 캐쉬저장여부 (true=사용함, false=사용안함)',
    succes: function(data){ 
        // 전송에 성공하면 이 콜백 함수를 실행 (data 에는 응답받은 데이터가 저장된다)
    },
    error: function(){
        // 전송에 실패하면 이 콜백 함수를 실행
    },
    complete: function(){
    	// success후에 콜백함수 실행
    }
})
.done(function() { // 서버요청이 성공시의 콜백함수
alert( "success" );
})
.fail(function() { // 서버요청이 에러시의 콜백함수
alert( "error" );
})
  .always(function() { // 항상 실행 (finally 같은느낌)
    alert( "complete" );
  });
  • type: GET 또는 POST 등을 지정
  • url: 대상 URL 지정
  • contentType:서버로 보내는 데이터타입
  • (디폴트:application/x-www-form-urlencoded;charset=utf-8 / json: application/json; charset-utf-8)
  • async: 동기, 비동기 지정(boolean)
  • data: 요청 매개변수 지정(object, string)
  • dataType: 서버에서받는 데이터타입
  • success(data, status, xhr): ajax 성공 이벤트 리스너 지정(function, array)
  • error(xhr, status, error): ajax 실패 시 이벤트 리스너 지정(function)
  • complete(xhr, status): ajax 완료 시 이벤트 리스너 지정(function)

: object형식으로 보낼땐 키값만 잘 맞춰주면 벨류값은 알아서 들어가기 때문에 키값만 적어줘도 된다.
따로 변수 만들어서 값 넣어서 ajax안에는 변수명만 넣어주면 보기 편하다.

 

- ajax로 데이터 전송 후 controller에서 받을 때(어노테이션)

: @requestBody   

1. 객체생성가능

2. getter와 setter역할을 해주는 것이 없는 map이나 일반변수일 때 getter, setter역할을 대신해 주는 어노테이션

3. Http요청 body에 데이터(객체)를 붙여서 보내는 post방식(json)


: @requestParam   

1. 객체생성불가능

2. getter와 setter역할을 해주는 것이 없는 map이나 일반변수일 때 getter, setter역할을 대신해 주는 어노테이션

3. Http요청 header에 데이터를 붙여서 보내는 get방식이나 formData방식일 때 사용


: 공통   json형식으로 보낼 때는 header든 body든 각 위치에 맞는 어노테이션을 붙여줘야 한다.


: dto   dto를 선언할 때 getter, setter를 같이 선언하기 때문에 getter와 setter가 parameter를 받아주는 기능을 해서 request어노테이션을 붙여줄 필요가 없다.


: ajax의 contenttype을 선언을 안 할 시    'application/x-www-form-urlencoded;charset=UTF-8'로 적용

'STUDY > ETC' 카테고리의 다른 글

IT 프로젝트 표준산출물 목록  (0) 2024.11.10
용어정리  (0) 2023.04.27

- SSMS(SQL Server Management Studio) : DB관리를 위한 Microsoft에서 제공하는 툴

- DBeaver : DB관리를 위한 툴 / 직관적이다.

- 형상관리 : vpn 코드를 누가 수정을하고 작성을 하고 할때마다 그때그때 스냅샷으로 정보를 남긴다. 오류가나면 오류가 안난 버젼으로 다시 돌아갈 수 있다.

 

- Subclipse : SVN(SubVersion) 형상관리/소스 관리 툴 / 여러명이서 작업하는 프로젝트의 경우 버전관리나 각자 만든 소스의 통합과 같은 문제를 해결하기 위해 저장소를 만들어 그곳에 소스를 저장

<버전관리 툴 용어>

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

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

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

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

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

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

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

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

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

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

Tag : 특정 시점의 상태 보존 목적으로 사용 장기적으로 1.0, 1.1 등 버전 별로 소스 코드를 따로 저장, 특정 시점에서 프로젝트의 스냅샷을 찍어두는 것

<SVN과 GIT의 차이점>

SVN

 : SVN은 대부분의 기능을 완성해놓고 소스를 중앙 저장소에 commit한다.

 : SVN에서 commit은 중앙 저장소에 해당 기능을 공개한다는 의미.

 : GIT 과 가장 큰 차이점개발자가 자신만의 Version History를 가질 수 없다.

 : local History를 이용하긴 하지만 일시적이고, 자신이 몇일전 까지에 한해 작업한 내역을 확인 가능하지만 버전 관리가 되지는 않는다.

 : Commit한 내용에 실수가 있을 시에 다른 개발자에게 바로 영향을 미치게 된다.

 

GIT

 : GIT개발자가 자신만의 Commit History를 가질 수 있고, 개발자 저장소와 서버 저장소를 독립적으로 관리가 가능하다.

 : 매우 유연한 방식으로 소스를 운영할 수 있으며, 이러한 유연성이 git의 가장 큰 장점

 : Commit한 내용에 실수가 있더라도 바로 서버에 영향을 미치지 않는다.

 : 마음대로 Commit(Push)하다가 자신이 원하는 순간에 서버에 변경 내역(Commit History)을 보낼 수 있으며, 서버의 통합 관리자는 관리자가 원하는 순간에 각 개발자의 Commit History를 가져올 수 있다.

 

- WBS(work breakdown structure)
: 상품개발을 위해 수행하는 작업을 계층적으로 정리한것
: 분석-설계-개발-테스트-오픈(안정화)
(분석과 설계는 비슷 테이터부분 다르다.)
각각의 단계에서 세분화가 된다.

 

- 개발표준정의서 (class name, id name, 개발환경설정, 화면개발순서 등 개발 시 회사에서 정한 규칙)
ㄴ 네이밍룰, 약어표, 카멜표기법, SQL(squence query language) 등(표준용어관리)
ㄴ c#(Region)은 java(Eclipse)랑 조금 다르다 프로젝트에 따라 표준이 바뀔수 있다.
ㄴ 어떤기능인지 주석달기(1.언제 2.기능역할 3.추가된기능 4.기능안에서의 코드의역할)

- Architecture
ㄴ 시스템 개발시 뼈대구조 작성
ㄴ 설계원칙 : 사용자편의성, 개발운영용이성, 확장성, 운영안정성
ㄴ 구성방향 : 최신ui개발, 사용자중심ui개발, 표준화도구제공, 운영관리용이성, 표준인터페이스구현, 보안성안정성,

                      data backup, redundary

- TA(Technical Architect) : OS WAS WED DB 등 하드웨어와 네트워크구축 담당자

- AA(Application Architect) : 공통로직 개발표준 프레임워크등 공통업무 설계자

 

- DA (Data Architect) : 데이터표준 구조 품질 등 DB설계자

 

- QA (Quilty Assurance) : 산출물과 소스코드에 대한 품질을 보증하는 설계자

 

- BA(Business Architect) : 기술적관점이 아닌 비지니스관점의 프로세스 설계자

 

- Developer : 프로젝트 최하단의 실제 개발을 하는 사람

 

- PL : PM을 도와 프로젝트의 개발을 리딩하는 담당자

 

- PM : 프로젝트의 모든관리업무를 책임지는 담당자

 

- Container : Docker나 Kubernetes와 연관 / 논리적인 공간(컨테이너)을 만들어 다양한 어플리케이션을 설치해 하나의 서버처럼 사용할 수 있는 패키지

 

- Maven : 필요한 라이브러리를 특정문서(pom)에 정의해 놓으면 내가 사용할 라이브러리 뿐아니라 해당 라이브러리가 작동하는데에 필요한 다른 라이브러리까지 다운받아줌

 

- Apache Ant : Maven과 동일한 기능

 

- Aop(Aspect Oriented Programming) : 코드들을 부분적으로 나누어서 모듈화하겠다는 의미

- MVC (모델-뷰-컨트롤러) : 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴

- As-Is -> To-Be : 기존프로세스 -> 바꾼프로세스

 

- OT : 제조업운영기술환경 ex)스마트팩토리

 

- IT : 정보기술환경

 

- PlugIn : 웹 브라우저의 일부 기능들을 쉽게 설치하여 사용하게 할 수 있는 프로그램

 

- Ajax(Asynchronous JavaScript And XML) : 비동기식 자바스크립트와 확장 마크업 언어 / 새로고침 없이 다른페이지로 이동하거나 화면을 전환하고 데이터를 업데이트 하는 기술

 

- JqGrid : jQuery라이브러리를 이용한 Grid Plugin / jqGrid는 웹에서 테이블 형식의 데이터를 표시하고 조작을 위한 Ajax기반 자바스크립트 컨트롤러 / jqGrid 내부에서 규정하고있는 형식을 맞추어 사용하면 그리드가 제공하는 페이징, 정렬과 같은기능을 직접 구현하는 대신 가져다 쓸 수 있음

 

- Trigger : 트리거란 녀석은 테이블에 INSERT  UPDATE 또는 DELETE 작업이 발생되면 자동으로 실행되는 코드를 말합니다.

 

- Validation check : 유효성검사

 

- GarbageCollector : 가비지컬렉터

 

- Layer : 화면단에서 하나하나의 층

 

- Packeage : 클래스와 인터페이스의 집합을 의미

 

- Component : 재사용이 가능한 각각의 독립된 모듈

 

- Module : 재사용가능한 하나의 파일 및 스크립트

- Maven :


- Dependency :


- Spring Framework :

 

- Docker :

'STUDY > ETC' 카테고리의 다른 글

IT 프로젝트 표준산출물 목록  (0) 2024.11.10
ajax  (0) 2023.04.27

+ Recent posts