728x90

Programming 33

[Spring] Spring MVC

Spring에서 흔히들 사용하는 디자인패턴 혹은 아키텍처인 MVC에대해서 알아봅시다. 1. 디자인패턴 디자인패턴은 이런점에서 발생하는 문제점과 개발의 효율성을 위해 나온 다양한 구조들 중 살아남은 "Best Practice" 라고 생각하면 됩니다. 오늘 살펴볼 Spring MVC 프레임워크도 그러한 "Best Practice"가 통상적으로 굳어진 경우입니다. 2. MVC란? MVC라고 하면 Model, V iew, Controller의 앞글자를 따서 만든 단어입니다. 간단히 설명해보자면 Client의 입장에선 View에 해당하는 화면을 바라보며 조작합니다. 그리고 그 화면에 들어가는 데이터를 구현한 것이 Model입니다. Controller는 중간에서 client와 model 사이를 중개하는 중개자의 역..

Programming/Spring 2021.03.18

[Java Web] Servlet이 뭐냐..?

Servlet이 뭐야..? 서블릿....이 대체 뭘까? 처음 일하면서 서버로그 찍힌거에 Sevelt 어쩌구저쩌구 찍힌걸 스치듯 본거 말고는 내인생에 접해보지 못한친구였다. 그러나 먹고살기위해 이젠 알아야함ㅋㅋ 내가 참고하고 있는 책에 나와있는 정의는 다음과 같다. "서버쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스이다." 앞에서 봤던 동적 웹 프로그래밍에 사용되는 그런녀석인갑다. 요놈의 특징은 아래와 같이 소개된다 자바로 작성되어 있어서 자바의 일반적 특징을 모두 가짐 일반 자바 프로그램과 다르게 독자적으로 실행되지 못하고 JSP/Servlet 컨테이너(ex-Tomcat,Jboss)에서 실행됨 서버쪽에서 실행되며 기능을 수행 기존 정적 웹프로그래밍 문제점을 보완해 동적..

Programming/Web 2021.02.06

[Java SSAP 기초] Array vs ArrayList

오늘 근무중 들었던 돌발질문 "String [] 이거랑 ArrayList 의 차이가 뭔지 알아?" 본인 : .... 공부하겠습니다.. ㅋㅋ 그렇다. 나는 이것도 모르고 자바개발자가 됐다.ㅋㅋ 일단 List와 ArrayList는 사실상 거의 비슷하다. 자바에서 List가 인터페이스고 ArrayList는 List가 implements 된 클래스다. ㅅ앞서 다뤘던 다형성을 위한 구성이라 생각하면 된다. Array vs List (>=ArrayList) 우선 Array와 List의 공통점 차이점을 먼저 알아보자 공통점 아이템에 순서가 존재하는 컬렉션이다. 그렇다. 결국엔 둘다 많은 데이터를 보다 효율적으로 관리, 처리하기 위한 도구라고 할 수 있다. 그렇다면 차이점은 무엇일까? Array List index의 ..

Programming/Java 2021.02.02

웹 애플리케이션

웹 애플리케이션이란? 웹 애플리케이션이란 무엇일까? 사용자의 입장에선 웹 브라우저에서 사용하는 서비스가 그냥 웹 애플리케이션이구나 할 수 있겠다. 하지만 그런 모호한 개념이 아닌 정확한 정의를 짚어보자. 기존 우리가 사용하던 정적 웹 애플리케이션에 동적인 서비스(서블릿, JSP 등등)를 추가한 프로그램을 웹 애플리케이션이라고 할 수있다. 즉, 앞서 우리가 살펴봤던 정적 웹프로그래밍에 컨테이너에서 수행되는 동적 웹 프로그래밍을 포함한 서비스를 제공하는 서버프로그램이 웹 애플리케이션이다. 웹 애플리케이션의 구조 세상살아가는게 내가 그렇다해서 다 그런건 아니다.ㅋㅋ 실제로 웹 애플리케이션에도 통용되는 정해진 형식같은 구조가 존재한다. 기본 디렉터리 구조 웹 애플리케이션의 이름 WEB-INF classes li..

Programming/Web 2021.01.31

웹프로그래밍의 기본

주의 : 웹프로그래밍을 1도 모르고 웹기반 솔루션 개발자가 되어버린 왕초보 개발자의 포스팅입니다. ㅋㅋ 학창시절 어떤 수업을 시작하는 첫주 혹은 첫수업엔 단골처럼 나오는 이야기가 있다. 바로바로~~~ 수업 내용의 발전 과정과 역사같은것이랄까?ㅋㅋㅋ 사실 크게 다룰건 없지만 빠지면 섭섭하기 때문에 이 게시판의 첫 포스트도 그런거 비스무리하게 시작을 해보자 정적(Static) 웹 프로그래밍 정적 웹 프로그래밍은 "웹서버에 미리 보여줄 HTML, CSS, 이미지, JavaScript 파일을 저장해놓고 브라우저에서 요청시에 그대로 전달하는 방식"(by 자바 웹을 다루는 기술) 이다. 미리 보여줄것을 저장해놓고 전달하는 만큼 사용자 입장에선 고정된 페이지를 보게 된다. 읽자마자 눈치챘을수도 있겠지만 요즘처럼 동적..

Programming/Web 2021.01.19

18. JAVA 네트워크

JAVA 네트워크 자바는 다른 언어에 비해 네트워크 기능이 뛰어나다. 고수준언어답게 네트워크 안에서 이뤄지는 다양한 프로세스를 개발자가 간단히 사용할 수 있게 되어있다. 오늘은 자바 네트워크를 위한 api인 java.net 패키지의 몇가지 클래스들을 살펴보도록 하자. InetAddress 호스트의 IP주소를 비롯한 네트워크상의 정보를 얻어오는 클래스다. 예시를 살펴보자. public class InetAddressEx { Scanner scanner; public InetAddressEx() { // TODO Auto-generated constructor stub scanner = new Scanner(System.in); try { InetAddress inet = InetAddress.getByNa..

Programming/Java 2021.01.17

17. JAVA 그래픽

JAVA GUI(Graphic User Interface)란? 바탕화면 아이콘 더블클릭하면 해당 프로그램을 시작시켜준다. JAVA GUI란 이런 아이콘처럼 사용자가 사용하기 편리하게 그래픽 요소를 가미하여 컴퓨터를 사용하기 쉽게 만들어놓은 것이다. 반대 개념은 CUI(Character User Interface : 문자열 명령어로 애플리케이션을 구동, 종료하는것)이다. AWT 컴포넌트 AWT는 자바에서 그래픽 요소를 만들기 위한 컴포넌트들이다. 버튼, 체크박스등이 그 예이다. 컨테이너 안에는 또 다른 컨테이너가 놓일 수 있다. 그 안엔 또 버튼, 텍스트필드, 체크박스와 같은 컴포넌트가 존재한다. 다양한 컴포넌트들을 예제코드를 통해 살펴보자 Button package com.javalec.ex2; impo..

Programming/Java 2021.01.17

16. 스레드(Thread)

스레드란? 일단 멀티프로세스가 뭔지 알고가자. 멀티프로세스란 컴퓨터가 여러가지 일을 동시에 하고 있는것을 뜻한다. 컴퓨터에서 워드도 하고 파일전송도 하고 채팅프로그램까지 돌리고 있으면 CPU하나에서 여러가지 프로그램이 돌아간다. 이러한것을 멀티프로세스라고 한다. 그렇다면 스레드란 무엇일까? 위에서 말한 프로세스 안에서 다시 여러가지 일을 하는것을 뜻한다. 예를 들어 카톡에서 파일을 전송하면서 채팅도 동시에 할 수 있다. 채팅프로그램 프로세스에서 파일전송 스레드와 채팅 스레드가 같이 돌아가고 있는것이다. Java는 기본적으로 멀티스레드를 지원한다. 스레드는 두가지 형태로 존재하는데 하나는 객체 하나를 n개의 스레드가 공유하는 방식, 또는 하나의 객체당 하나의 스레드가 존재하는 방식이다. 아래의 그림을 참고..

Programming/Java 2021.01.16

15. JAVA 입출력(I/O)

I/O public Class MainClass{ public static void main(String[] args){ try { } } input과 output으로 컴퓨터에 입력하는게 input, 컴퓨터가 출력하는것이 output이다. 앞에서 줄기차게 봤던 System.out.println(); 구문이 output이다. 앞으로 어떤 데이터를 읽는다면 input이라 생각하면 되고, 데이터를 '쓴다'면 output이라 생각하면 된다. 입출력 API InputStream, Reader & OutputStream, Writer byte 단위로 나뉜다. - InputStream, OutputStream : 1byte단위로 이미지, 동영상등의 데이터에 주로 사용한다. - Reader, Writer : 2byte..

Programming/Java 2021.01.16

14. JAVA Collections

컬렉션이란 우리말로 쉽게 말하면 자료구조이고 더 쉽게 말하면 배열이다. 앞에서 배운 단순한 배열 뿐 아니라 다른 훌륭한 자료구조를 자바가 많이 만들어놨다. 따라서 그 API를 우리가 잘~ 사용하면된다 ㅋㅋ JAVA도 결국 효과적인 데이터를 처리하기 위한 수단 자바도 결국 다른 언어랑 마찬가지로 데이터를 효과적으로 정리하기 위한 언어다. 데이터를 어떻게 정리하고 활용하냐에 따라 효율성이 많이 달라질 수 있다. 따라서 데이터의 성격에 따라 잘 관리를 해야한다. 이를 위해 자바에서도 다양한 자료구조형을 제공한다. 실제로 오늘 다루는 내용의 일부는 학부시절 "데이터구조론(걍 자료구조)"에서 배웠던 내용이 꽤 나온다. 그때 담당 교수님이 이상한 바람이 불어서 그해의 자료구조 수업을 파이썬으로 하셨는데(약 6년전...

Programming/Java 2021.01.15
728x90