반응형

*절차지향

프로그램의 순서와 흐름을 먼저세우고 필요한 자료구조와 함수를 설계하는 방식을 의미합니다.

코딩방식도 절차적(순서적)입니다. 순차적으로 코드를 처리하는 방식입니다.

ex ) C언어


*객체지향

자료구조와 이를 중심으로 한 모듈먼저 설계하고 실행순서 흐름을 짜는형식입니다.

객체지향의 특징으론 상속, 캡슐화, 다형성이 있습니다.

이런 객체지향의 장점으로는 모듈 재사용 / 확장 및 유지보수 용이 / 생산성향상 등이 있습니다.

ex ) java , 파이썬 , C++


- 캡슐화

객체의 필드와 메소드를 하나로 묶고, 실제 작성 코드를 외부에서 볼수없게 숨기는 것을 말합니다.

- 상속

기존 코드를 재활용하여 사용하는 것으로 이미 작성된 클래스를 상속받아 새로운 클래스를 생성하는 기법을 말합니다.

- 다형성

개념적으로 동일한 작업을 하는 함수들에 같은 이름을 선언하여 코드를 간결하게 하는 것을 말합니다.



반응형
반응형

웹페이지에서 파싱하기 예제를 진행하겠습니다.

jsoup라는 라이브러리를 사용하였습니다.


https://jsoup.org 에서 dependency 및 jar파일을 다운로드 가능하며 

각 상세정보를 확인하실수 있습니다.


처음에는 pom.xml에서 dependency 를 추가해주거나 jar파일을 넣어주세요.

제가 사용한 dependency 소스는 아래와 같습니다.


<dependency>

<!-- jsoup HTML parser library @ https://jsoup.org/ -->

<groupId>org.jsoup</groupId>

<artifactId>jsoup</artifactId>

<version>1.10.3</version>

</dependency>


클래스 파일을 생성해 주세요.

그리고 메인 생성후 익셉션까지 추가해줍니다.


public class Sample {

public static void main(String[] args) throws Exception {

}

}


이제 파싱할 홈페이지 주소와 홈페이지에서 파싱할 태그등을 입력해줄겁니다.

주소를 설정해주세요. 변수는 파란색으로 바꿔놨습니다.

Document url = Jsoup.connect("http://홈페이지 주소").get();

파싱할 html태그와 id나 class값을 입력해주세요.

Elements tagVal = url.select("div.info h4 a"); // class가 info인 div태그 안쪽 -> h4 태그 안쪽 -> a태그를 가져오겠다는 의미입니다.

이제 파싱한 태그에서 text값만 추출해야겠죠.

위에 출력값은 <a id='www'>예제입니다.</a> 이런식으로 출력됩니다.

String texttagVal .select("a").html();  // 이렇게 주시면 a태그의 text값만 가져올수있습니다.

출력값은 예제입니다 만 추출이 될것입니다.

이거만 가지고 응용을 하시면 간단한 정보들은 충분히 파싱하실수 있으실 겁니다.


public class Sample {

public static void main(String[] args) throws Exception {

Document url = Jsoup.connect("http://홈페이지 주소").get();

Elements tagVal url.select("div.info h4 a");

String texttagVal .select("a").html();

System.out.println( "tagVal : " + tagVal );

System.out.println( "text : " + text );

}

}


반응형
반응형

java로 메모장에 text를 입력하고 저장하는 예제를 만들어보겠습니다.

이번에는 파일 입력만 진행하겠습니다. 출력은 나중에..

진행하게된 이유는 일단 이번에 파싱을해서 파싱한 값들로 db 데이터쿼리를 만들었는데

쿼리를 옮겨적기 귀찮아서 겸사겸사 예제를 만들어봅니다.


일단 기본적인 java 클래스를 생성해주세요.

바로 실행할수있는 main도 만들어주시면됩니다.

저는 'FileSave'라는 이름으로 클래스를 만들었습니다.

아래와 같겠네요.


public class FileSave {  

    public static void main(String[] args) {

     

    }

}



여기서 변수를 선언해주세요. 아주 기본적인 것만 진행할거라..

변수는 1. 메모장에 저장할 텍스트 ,  2. 파일을 저장할 경로 및 파일명 2가지입니다.

String text = "저장할 값입니다.";

String fileNm = "D:\\example\\date_file.txt";

 // 저는 D드라이브 example 폴더안에 파일명이 date_file.txt 로 저장을 할것입니다.


이제 본격적인 작업을 시작하겠습니다.

파일 객체를 생성해줄 겁니다.

File file = new File(fileNm);

FileWriter fileWrite = new FileWriter(file, true);

// 위에 FileWrite를 생성해주고 위에 생성한 file 그리고 true 를 작성해줍니다.

// true는 파일이 이미 있을 경우. 그 파일에 text를 이어서 작성해줍니다.

            

이제 파일안에 문자열을 넣어야겠죠

fileWrite.write(text);

fileWrite.flush(); 

fileWrite.close();

// fileWrite에 .write(text)로 값을 넣어주고 .close()로 닫아줍니다.


그리고 익셉션 처리를 해주면 끝입니다.

위에 작성한 코드들을 try 안에 넣어주세요.

try{

------여기로-------           

} catch (Exception e){

e.printStackTrace(); 

// e.printStackTrace()는 오류발생시 오류사항을 console에 표출해줍니다.

}


그러면 이제 됬습니다.

이제 자바파일을 실행( ctrl + F11 )하시면 위에 작성한 text가 해당 경로와 파일명으로 생성될겁니다.


전체적인 소스는

public class FileSave {  

    public static void main(String[] args) {

           String text = "저장할 값입니다.";

String fileNm = "D:\\example\\date_file.txt";

try{

File file = new File(fileNm);

FileWriter fileWrite = new FileWriter(file, true);


fileWrite.write(text);

fileWrite.flush(); 

fileWrite.close();

} catch (Exception e){

e.printStackTrace(); 

}

    }

}

이렇게 되겠네요.

문자열을 쓰시고 줄바꿈을 하시려면 .newLine() 를 사용하시면 됩니다.

그리고 소스 import는 컨트롤 + 시프트 + 영어O  를 누르시면 자동 import 됩니다.

import java.io.BufferedWriter;

import java.io.FileWriter;

이거 2개가 import 될겁니다.

이상으로 java로 메모장에 text 저장하기를 진행했습니다.

반응형

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

java 배열 순서 뒤집기.  (0) 2018.06.08
java - 웹페이지에서 파싱하기 jsoup  (0) 2018.02.08
이클립스 설치 및 java프로젝트 실행  (0) 2018.01.06
java연산자와 연산식  (0) 2018.01.05
java변수와 데이터타입  (0) 2018.01.05
반응형

프레임워크란

확장 가능한 기반 코드와 필요한 라이브러리 두 요소를 통합제공하고,

기본설계나 필요한 라이브러리를 제공하여 빠른시간에 완성 유지보수할수있는 환경제공해주는 솔루션이라고 합니다.

'소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것' 이라고 정의도 많이 나오네요.



각 프레임워크 

자바 프레임워크 - Struts, Spring, 전자정부 프레임워크 등등

자바스크립트 프레임워크 - AngularJS, React 등등 

프론트엔드 프레임워크 - 부트스트랩, MDL 등등



프레임워크의 장단점

장점 

1. 체계적인 코드로 유지보수에 용이함

2. 기본설계와 필요한 라이브러리를 제공하고, 코드의 재사용으로 생산성이 향상됨

단점

1. 프레임워크를 이해하는데 오래걸릴 수 있음

2. 이미 설계된 구조에 작업을 해서 자유로운 개발에 한계가 있음

반응형
반응형

깃(Git) 이란?

깃은 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템입니다.

기하학적 불변 이론을 바탕으로 설계됐고, 빠른 수행 속도에 중점을 두고 있는 것이 특징입니다.. 

최초에는 리누스 토르발스가 리눅스 커널 개발에 이용하려고 개발하였으며, 현재는 다른 곳에도 널리 사용되고 있습니다.

깃의 작업 폴더는 모두, 전체 기록과 각 기록을 추적할 수 있는 정보를 포함하고 있으며, 완전한 형태의 저장소입니다. 

네트워크에 접근하거나 중앙 서버에 의존하지 않습니다.

깃은 GNU 일반 공중 사용 허가서 v2 하에 배포되는 자유 소프트웨어입니다.


깃허브(GitHub) 란?

깃허브는 분산 버전 관리 툴인 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스입니다. 루비 온 레일스로 작성되었습니다. 

GitHub는 영리적인 서비스와 오픈소스를 위한 무상 서비스를 모두 제공합니다. 

2009년의 Git 사용자 조사에 따르면 GitHub는 가장 인기있는 Git 호스팅 사이트입니다. 또한 2011년의 조사에서는 가장 인기있는 오픈 소스 코드 저장소로

꼽혔습니다.

깃(Git)이 텍스트 명령어 입력 방식인데 반해, 깃허브는 화려한 그래픽 유저 인터페이스(GUI)를 제공합니다. 

깃허브는 페이스트빈(pastebin)과 유사한 서비스인 Gist와 위키를 각 저장소마다 운영하고 있으며, 깃 저장소를 통해 고칠 수 있습니다.


크게보자면...

은 소스코드를 관리하는 버전 관리 시스템이며, 깃허브는 그 깃의 프로젝트 데이터를 저장할수있는 서버라고 할수있겠습니다. 

반응형

'IT' 카테고리의 다른 글

객체지향과 절차지향 간단한 정의  (0) 2018.02.09
프레임워크의 정의와 장단점  (0) 2018.02.06
소프트웨어와 하드웨어 - 인터럽트란?  (0) 2018.01.26
IT 계층구조  (0) 2018.01.25
css - 긴글 자동 줄바꿈  (0) 2018.01.12
반응형

소프트웨어와 하드웨어 - 인터럽트란?

인터럽트는 크게 하드웨어 인터럽트와 소프트웨어 인터럽트로 분류할 수 있습니다. 

일반적으로 인터럽트하드웨어 인터럽트를 가리키는 경우가 많고 

후자를 SWI(SoftWare Interrupt)라고 구별하기도 합니다. 


하드웨어 인터럽트

하드웨어 인터럽트는 CPU 외부의 디스크 컨트롤러나 주변장치로부터 요구되는 것으로, 

운영체제의 처리를 요하는 상황을 알리기 위해 전기적인 신호를 사용해 구현됩니다.


하드웨어 인터럽트가 발생하는 예

1. 기계검사 인터럽트 - 프로그램을 실행하는 도중 갑작스런 정전이나 컴퓨터 자체 내에서 

   기계적인 문제가 발생한 경우

2. 외부 인터럽트 - 오퍼레이터나 타이머에 의해 의도적으로 프로그램이 중단된 경우

3. 입출력 인터럽트 - 입출력의 종료나 입출력의 오류에 의해 CPU의 기능이 요청되는 경우

4. 프로그램검사 인터럽트 - 프로그램 실행 중 보호된 기억공간 내에 접근하거나 불법적인 

   명령 수행과 같은 프로그램의 문제가 발생한 경우


소프트웨어 인터럽트

소프트웨어 인터럽트는 외부가 아닌 CPU 내부에서 자신이 실행한 명령이나 CPU의 명령 실행에 

관련된 모듈이 변화하는 경우 발생합니다. 

프로그램 실행 중 프로그램 상의 처리 불가능한 오류나 이벤트를 알리기 위한 경우 발생하는데, 

이를 트랩(trap) 또는 예외(exception)라 부릅니다. 

또한 프로그램 내에서 특별한 서비스를 요구하거나 감시(supervisor)를 목적으로 의도적으로 

프로그램이 발생시킨 특별한 명령어에 의해 발생되기도 한다. 


소프트웨어 인터럽트가 발생하는 예

1. 존재하지 않는 메모리 주소에 접근 

2. 나눗셈에서 0으로 나누고자 하는 경우

반응형

'IT' 카테고리의 다른 글

프레임워크의 정의와 장단점  (0) 2018.02.06
깃(Git)과 깃허브(GitHub)의 정의  (0) 2018.02.05
IT 계층구조  (0) 2018.01.25
css - 긴글 자동 줄바꿈  (0) 2018.01.12
JSP / 자바스크립트 / 자바 데이터 및 함수호출  (0) 2017.11.10
반응형

아키텍쳐

x86, x64, ARM, MIPS, PowerPC, 등등


운영체제

Windows, Linux, OS X, iOS, Android, 등등


플랫폼

Java/Android, Swift/Objective-C, C/C++, .NET (c#), NodeJs, 등등


프레임워크

Java spring, Ruby on rails, PHP Laravel, NodeJs Express, 등등


언어

C/C++, C#, JavaScript, NodeJs, Java, Swift, Objective C, PHP, Ruby, Python, Lua, Go, ML, 등등


네트워크 프로토콜

HTTP/HTTPS, FTP, SMTP, SSH, DNS, .., TCP, UDP, IP, ..., ARP ..., Ethernet, WiFi, Bluetooth, 등등


분야

인공지능, 데이터마이닝, AR/VR, 클라우드 컴퓨팅, 병렬처리, 그래픽스, 임베디드, 네트워크, 데이터베이스 등등

반응형
반응형

긴글 자동 줄바꿈


1.

table {table-layout:fixed;}

td {word-break:break-all; word-wrap:break-word;}


2.

{

word-wrap: break-word; /* Internet Explorer 5.5+ */

white-space: pre-wrap; /* css-3 */

white-space: -moz-pre-wrap; /* Mozilla, since 1999 */

white-space: -pre-wrap; /* Opera 4-6 */

white-space: -o-pre-wrap; /* Opera 7 */

word-break:break-all;

}


3.

{

word-break:break-all; word-wrap:break-word;

}


한줄로 표시할 때

white-space:nowrap;



반응형
반응형



한국투자증권 뱅키스 비대면 계좌개설에 이어서 삼성증권도 1월1일부터 이벤트를 시작했네요.

계좌개설시 1만원 지급이고

금액상관없이 거래시 2만원 추가지급이라고합니다.

주식거래는 1000원이하 동전주 한주만 사도 2만원 추가지급 가능한거같아요.


우선 아래 홈페이지에서 이벤트신청 꼭 누르시고 그다음에 삼성증권 비대면계좌개설 하시면 될것 같습니다.


http://www.onestopsamsungpop.co.kr/?utm_source=naver&utm_medium=B&utm_campaign=onestop&utm_content=N-brand-text2


1년이상 거래없으신 기존고객도 가능하다고 하네요.

단 20일 이내에 다 계좌 개설시 타금융사 계좌 개설 불가에 유의 이것만 조심하면 될것같습니다.

이벤트 혜택 ( 3만원 ) 이벤트끝나고 10일후에 지급이라고 합니다. 



반응형
반응형

이클립스 설치 및 java프로젝트 실행까지 진행해 보도록 하겠습니다.

이클립스란?

개발자의 코딩실수를 줄여주기 위한 툴로 여러가지 편집 툴이 있는데
그중에서도 자바개발할때 많이사용하는 툴이 이클립스입니다.

이클립스는 자바 프로그램을 개발하기 위한 통합개발환경(IDE)를 제공하는데,
프로젝스생성, 자동코드완성, 디버깅 기능을 가지고있습니다.
이클립스는 오픈소스 개발 플랫폼으로 무료로 제공됩니다.
기본적으로 자바 프로그램을 개발할 수 있도록 구성되어 있지만,
개발자가 추가적으로 플러그인을 설치하면 안드로이드 앱 개발, 웹 애플리케이션 개발 등
다양한 개발환경을 구축할 수 있습니다.


이클립스 다운로드

이클립스는 자바언어로 개발된 툴이기 때문에 이클립스를 실행하려면 JVM이 필요합니다.
JVM은 앞에 JDK하면서 설치를 해서 이클립스만 다운로드 받으면 됩니다.


이클립스는 아래 하단에 있는 주소에서 다운로드 받을 수 있습니다.

https://eclipse.org/home/index.php



이클립스 다운로드를 위해

우측 상단에 다운로드 버튼을 눌러주세요.



최신 이클립스 버전인 OXYGEN을 받으셔도 되는데

다른 버전들을 다운로드 받으시고 싶으실수도 있으니 빨간표시를 눌러주세요.




설치형과 zip형이 있는데 원하시는 것을 다운로드 받아 사용하시면 되겠습니다.

제가 좌측에 빨간테두리로 되있는 부분이 zip형입니다. 그 바로위가 설치형이구요.

해당 bit에 맞춰서 다운로드하시면 되구요.

또 버전별로 여러가지가 있는데 우측에 루나, 마스, 네온 등등 여러가지 버전을 다운로드 받을 수 있습니다.

프로젝트 개발환경에 맞춰 다운로드를 하시면 됩니다.




이클립스를 실행하면 가장먼저 나오는 창인 workspace입니다.

자바프로젝트의 저장경로를 설정해주는 것인데 원하시는 폴더로 저장하셔도 되고

그냥 기본 디폴트로 되있는 워크스페이스를 쓰셔도 됩니다.

추후 워크스페이스를 변경하고싶다면 이클립스 실행후 File - Switch Workspace 를 눌러서 변경하시면 됩니다.

설정 후 OK를 눌러주세요.



실행 하셨다면 이제 자바 프로젝트를 만들어봐야겠죠.

project Explorer안쪽에 우클릭하셔서  New - Project... 를 클릭해주세요.



그리고 빨간표시로 된 자바프로젝트를 선택해줍니다.

그리고 넥스트!



프로젝트명을 입력해주시고 Finish 해주시면 됩니다.

그러면 Sample라는 자바프로젝트가 생성됬습니다.



이제 자바프로젝트를 만들었으니 Class파일을 만들차례입니다.

src에 우클릭하셔서 위와같이 class를 클릭해주세요.



그럼 위와같이뜨는데 클래스명을 입력해주시고

그아래 public static void main 이부분을 체크해주세요.

체크 안하시고 직접입력해주셔도 되지만 편의를 위해 클릭후 finish해주세요.



그다음 기본적으로 실행을 해봐야하니 main안쪽에 

System.out.println("hello! java"); 를 입력해주세요.

출력하는 소스입니다.

그리고나서 왼쪽상단에 시작버튼 초록색으로 된것을 눌러주시면

하단에 Console에 'hello! java' 라고 뜨는것을 보실수있습니다.

이상으로 이클립스 설치 및 java프로젝트 실행하기까지 진행하였습니다.

반응형

+ Recent posts