전체 글 777

jackson 활용 참고 사항

maven repository에서 jackson 검색 후, 1. Jackson Databind 2. Jackson Core 3. Jackson Annotations 3가지 모두 2.11.0 ( 같은 버전으로 다운 받아야 함) 다운. 다운로드 항목을 복사해서 이클립스 사용 파일에 우클릭으로 폴더 생성(임의 lib) 후 다운로드 파일 복사, 붙여 넣기. 그리고 사용하고 있는 클래스?? 파일?? Main.java 또는... 파일.... 우클릭해서 build Path 눌러서 Referenced Libraries 생성. 사용 장점 : Json 양식에 맞춰서 임의로 양식을 만들고, 저장해주는 과정을 모두 건너뛰고 간편하게 필요로 하는 양식을 만들어서 파일 저장, 불러오기를 할 수 있다. mapper 객체 선언(필수..

Java 2020.05.21

txt 파일 저장 // 참고 사이트

참고 사이트 http://oliviertech.com/ko/java/how-to-create-a-file-using-java/ Java를 사용하여 파일을 생성하는 방법 Java를 사용하여 파일을 생성하는 방법 05/02/2018 텍스트 파일은 Java를 사용하여 File Object 및 OutputStream으로 작성됩니다. 다음 메소드를 호출하십시오. Writer out = new BufferedWriter( new OutputStreamWriter( new oliviertech.com https://sourcestudy.tistory.com/62

IT 유용한 정보 2020.05.18

HTTP와 웹서버 그리고 브라우저의 관계

HTTP (hyper-text transfer protocol) 인터넷상에서 클라이언트와 서버 사이에 문서나 사진, 파일과 같은 정보를 주고 받을 수 있게 해주는 프로토콜. (프로토콜 : 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약) 웹 서버 (web server) HTTP 를 통해 웹 브라우저에서 요청하는 문서나 사진, 파일 등을 전송해주는 서비스 프로그램. 브라우저 (browser) 문서나 사진, 파일등의 정보를 검색 및 열람하기 위한 응용 프로그램 관계 축약 : 브라우저는 HTTP를 이용해 웹서버에서 정보를 가져온다. 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 ..

서버(server)

서버(server)란? 메인보드와 CPU, RAM 등으로 구성된 컴퓨터이다. 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 프로그램 또는 장치(device)을 말한다. 보통 서버 하면 위와 같은 대형컴퓨터를 떠올리는데, 수- 많은 클라이언트에게 서비스와 정보를 제공 해야하고, 또 수-많은 정보를 저장해 놓아야하는 기업이 아니라면 서버를 위한 하드웨어는 컴퓨터이면 된다. 고성능 고안정성의 컴퓨터, 내 앞의 똥컴, 핸드폰 등 어떤 형태의 컴퓨터이든 정보&서비스 제공 역할을 하는 주체이면 위와 같은 대형 컴퓨터가 아니더라도 '서버컴퓨터'로 불릴 수 있다. 서버는 프린터 제어나 파일 관리 등 네트워크 전체를 감시·제어하기도 하며, 메인프레임이나 공중망을 통한 다른 네트워크과의 연결, 데이터·프로..

컴파일과 컴파일러

@컴파일(compile) 가나다...abc...123...%();등 다양한 문자를 사용하는 사람과 달리 컴퓨터는 0과 1로 구성된 2진코드로만 모든 명령을 이해하고 실행하기에, 컴퓨터에게 명령을 내리기 위해서는 우리의 언어를 컴퓨터가 이해할 수 있도록 번역이 필요하다. 이 번역 과정을 컴파일이라 한다. (프로그래밍언어,고급언어) (기계어) (ex-java) @컴파일러(compiler) java, C언어 등의 특정 프로그래밍 언어로 쓰여있는 문서를 컴퓨터가 이해할 수 있는 기계어,어셈블리어 등 다른 프로그래밍 언어로 번역해 주는 프로그램을 말한다. (a.k.a. 번역기)

Java 2020.05.14

동적할당, 정적할당/가비지컬렉터

-- 동적할당 -- 메모리 동적할당이란, 프로그램을 실행하는 중 필요한 메모리 공간을 할당하는 것을 말한다. 사용이 끝나면 운영체제가 사용 할 수 있도록 반납하고 다음 요구시 재 할당을 받을 수 있다. 동적으로 할당된 메모리 공간은 프로그래머가 직접 해제하거나 가비지 컬렉터에 의해 해제된다. -- 정적할당 -- 메모리 정적할당은, 메모리의 크기가 하드 코딩되어 있기 때문에, 프로그램이 시작 될 때 필요한 메모리의 크기를 예상해서 미리 할당(확보) 한다는 특징을 갖는다. 정적할당된 메모리의 경우 프로그램을 실행하는 도중에는 해제되지 않고 있다가, 프로그램 종료 시 운영체제가 회수해 간다. -- 가비지컬렉터(Garbage Coolector) -- '주소를 잃어버려서 사용할 수 없는 메모리', '정리되지 않은..

Java 2020.05.14

스트래티지 패턴

스트래티지 패턴. 상속을 한 클래스에서 변경이 될수있는 특정매서드를 클래스 하나로 묶어서 그걸 운용하는 패턴 오리는 헤엄친다 청둥오리 집오리 는 헤엄치는게 가능. 하지만 로봇오리는 헤엄치지 못한다. 여기서 헤엄치는걸 헤엄치다와 헤엄치지 못하다로 나뉘고 ‘헤엄’이라는 클래스를 만들어 그 안에 [헤엄치다]와 [헤엄치지못하다]라는 메서드를 만든다. 나중에 헤엄에 또다른 기능이 추가되면 바꿀수가 있다. 부모메서드와는 다른 개념으로 이해해야한다.

Java 2020.05.13

프레임워크.

프레임워크(FrameWork) 프로그램을 만들기 해 지켜야하는 기본 틀, 뼈대 기본 설계, 라이브러리를 제공하여 빠른시간 완성 유지보수 할수있는 환경제공 프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다. 원하는 기능 구현에만 집중하여 빠르게 개발 할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것으로 라이브러리가 포함되어 있다. 프레임워크만으로는 실행되지 않으며 기능 추가를 해야 되고 프레임워크에 의존하여 개발해야 되며 프레임워크가 정의한 규칙을 준수해야 한다. 프레임워크를 자동차에 비교하면은 기본적으로 구성하고있는 자동차 틀(뼈대)을 의미한다. 자동차의 기능을 하는 엔진,타이어, 기타 등(라이브러리)을 붙여야 ..

Java 2020.05.13

데이터베이스

데이터베이스(DB) 유용한 데이터의 집합 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 말한다. 줄여서 DB라고도 하며, 특정 다수의 이용자들에게 필요한 정보를 제공한다든지 조직 내에서 필요로 하는 정보를 체계적으로 축적하여 그 조직 내의 이용자에게 필요한 정보를 제공하는 정보 서비스 기관의 심장부에 해당된다. 데이터(DATA) - 현실에서 관찰이나 측정을 통해 수집한 가공되어 있지 않은 단순한 사실(fact)이나 값(value) - 문자열, 문자, 이미지 등의 정보 정보(information) -데이터를 가공(처리)해서 얻을 수 있는 결과를 의미한다. - I = P(D) (I:information, P : Processor, D : Data) 데이터베이스 정의 조직체의 응..

Java 2020.05.13

[자바의 의존성] 의존성과 라이브러리, 그리고 jar

의존성(Dependency) 의존성이란 사전적으로 다른 것에 의지하여 생활하거나 존재하는 성질 이라는 의미를 가지고 있습니다. 자바에서의 의존성은 무엇일까요? 의사 코드 운전자가 자동차를 생산한다. 자동차는 내부적으로 타이어를 생산한다. Java 로 표현 Car car = new Car(); Car() { Tire tire = new Tire(); //Car 객체 생성자에서 타이어 생성 } 그리고 단순 무식하게 의존성이란? 의존성은 new 이다. new 를 실행하는 Car 와 Tire 사이에서 Car 가 Tire 에 의존한다고 합니다. 결론적으로 전체가 부분에 의존한다고 표현할 수 있습니다. 더 깊이 들어가면 의존하는 객체(전체)와 의존되는 객체(부분) 사이에 집합 관계(Aggregation)와 구성 관..

Java 2020.05.13

[자바의 의존성] 메이븐과 의존성 관리도구

메이븐(Maven)과 의존성 관리도구 메이븐은 의존성 관리도구이다. Apache Maven의 사전적 정의는 다음과 같습니다. Apache Maven은 자바용 프로젝트 관리도구로 Apache Ant의 대안으로 만들어졌다. Apache License로 배포되는 오픈 소스 소프트웨어이다. Java 기반 프로젝트의 라이프사이클 관리(논리적인 작업 흐름)를 자동화 빌드 도구이다. 즉, 자바 소스를 컴파일하고 패키지해서 배치하는 일을 자동화 해주는 것 Maven의 장점 라이브러리의 관리를 매우 용이하게 해준다. 컴파일과 빌드를 동시에 수행, 테스트를 병행하거나 서버 측 *Deploy 자원을 관리할 수 있는 환경을 제공한다. 프로젝트의 작성부터 컴파일, 페트스 등 프로젝트 라이프사이클에 포함되는 각 테스트를 지원해준..

Java 2020.05.13

메모리 4영역.

프로그램 실행 순서 프로그램 실행 순서 메모리의 구조 사용자가 프로그램을 실행하면 운영체제(OS)는 먼저 프로그램을 메모리(RAM)에 로드(load) 한다. 이때 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. OS는 코드(code) / 데이터(data) / 스택(stack) / 힙(heap) 4영역에 프로그램에서 사용되는 변수들을 저장 할 메모리를 할당 한다. 코드(Code) 영역 메모리의 코드 영역은 우리가 작성한 소스코드가 들어가는 부분. 즉, 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부른다. 실행 파일을 구성하는 명령어들이 올라가는 메모리 영역으로 함수, 제어문, 상수 등이 여기에 저장된다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리한다. ..

Java 2020.05.13

부동소수점과 그 한계.

숫자 123을 표현하는 방식에는 아래와 같이 여러가지가 있다. 16진수 : 7B 10진수 : 123 8진수 : 173 2진수 : 1111011 이 중 우리가 일상적으로 사용하는 숫자 표현 방식은 10진수 이다. 그러나 컴퓨터는 기본적으로 2진수를 사용한다. 13 => 1101과 같이 이진수로 표현하기 쉬운 수도 있지만, 0.3 => 0.0100110011......(0011의 무한 반복) 과 같이 이진수로 표현하지 못하는 소수가 발생한다. 이와 같은 경우 어쩔 수 없이 컴퓨터에는 가장 근사치의 값이 저장된다. 이 근사 값을 저장하는 방법에는 고정 소수점과 부동소수점 두가지가 있다. 고정 소수점 정수를 표현하는 비트 수와 소수를 표현하는 비트 수를 미리 정해 놓고 해당 비트 만큼만 사용해서 숫자를 표현하는..

Java 2020.05.13

기계어와 어셈블리언어 고급언어.

프로그램은 인간이 이해 할 수 있는 고급언어와 기계가 이해 할 수 있는 기계어의 번역(컴파일)을 통해 만들어 진다. @고급언어 일반적으로 언급되는 프로그래밍 언어 Java C언어, Python등 추상화 되어 있는언어 고급언어를 컴파일러가 어셈블리어로 번역 ▼ ▽ 컴파일러 ▼ @어셈블리어(assembly language) 컴파일러로 부터 생성된 기계가 이해할 수 있는 형태로 번역된 언어 기계어와 일대일 대응이 되는 낮은 사고방식의 언어 CPU의 종류에 따라 서로 다른 코드를 가짐 어셈블러는 어셈블리어를 기계어로 번역 ▼ ▽ 어셈블러 ▼ @기계어 0과 1로 이루어진, 컴퓨터가 직접 해독하고 실행 할 수 있는 언어 프로그램을 나타내는 가장 낮은 단계의 언어 CPU의 종류에 따라 서로 다른 코드를 가짐(=CPU..

Java 2020.05.13

웹브라우저 외 용어 정리.

웹브라우저. (인터넷 사용 종류) internet explorer, crome, firefox, opera 등 웹서버. (네이버 웹서버, 구글 웹서버) , 소통 자료 관리하는. --> 네이버 서버에 접속 완료. 각 주소명 관리. --> 사용자가 자료 요청. 하려면. (CGI, 서블릿, 톰캣) 웹페이지 사진, 그림, 작성된 문서파일(가지고 있는, 그대로 주어도 되는 자료) : 정적데이터(초반) --> 기존 웹서버는 정적인 데이터를 보여주는 역할만 했다. 동적데이터 제공을 하지 못했었다. 사용자가 원하는 자료. 아파치는 정적 데이터에 (웹서버) 사용된다. 웹페이지에 사용된다. 빠르고, 비용 저렴, 단순. 상호작용은 어렵다. 정해진 것만 전달할 수 있어서. 서버 자체는 원래 처음에 만들어진게..

IT 유용한 정보 2020.05.13

절차지향 언어와 객체 지향 언어의 차이는?

절차지향(procedural Programming) 절차지향 프로그래밍은 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되고 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법을 말합니다. 대표적인 절차지향 언어에는 C언어가 있는데, 이는 컴퓨터의 작업 처리 방식과 유사하기 때문에 객체지향 언어를 사용하는 것에 비해 더 빨리 처리되어 시간적으로 유리하다고 볼수 있습니다. 옛날에는 하드웨어와 소프트웨어의 개발 속도차이가 크지 않았다면 지금은 하드웨어의 개발속도가 소프트웨어의 속도를 따라오지 못하는 상황이 발생합니다. 이는 객제치향 언어가 나타나면서 이러한 현상이 존재하게되었습니다. 장점 - 컴퓨터의 처리구조와 유사해 실행속도가 빠르다 - 메모리를 직접 조작할수있다. 단점 - 유지보수가 ..

Java 2020.05.13

디자인패턴(ㅇ), 스트래티지 패턴( x )

1. 디자인패턴 (디자인 패턴은 소프트웨어 공학론 안의 좋은 코드를 설계하기 위한 일종의 설계 디자인 방법론) 디자인 패턴은 객체지향 언어에서 클래스와 클래스의 메서드를 사용하는 패턴, 즉 특정 의도를 가지는 방법을 의미한다. 코딩을 혼자 하는 경우는 드물며 보통 다른 개발자와 함께 개발을 하기 때문에 내가 작성한 코드가 다른 사람이 알아볼 수 없으면 제법 곤란하지 않을 수가 없다. 그러므로 작성 코드는 최대한 간결하고 모두가 알아 볼 수 있는 내용으로 작성해야 한다. 1). 코딩이 명확하고 단순하며, 2). 모듈( class나 function 등 )은 한 가지 기능만 하도록 작게 세분화 시킬 수 있으며 3). 재사용성이 높고 4). 유지 보수가 쉬우며 5). 리소스의 낭비가 없는지 숙지하여 < 디자인패..

Java 2020.05.13
728x90
반응형
LIST