ASP.NET Core 과 Asp의 차이 ?

클라우드 기반 웹 응용 프로그램을 개발하기 위해 오픈소스로 새롭게 개발된 크로스 플랫폼 프레임워크다

온프레미스 환경에도 배포하여 수행할 수 있는 앱을 개발하기 위한 최적화된 개발 프레임워크를 제공하기 위해서 완전히 새롭게 개발

온프레미스 소프트웨어는 인터넷 네트워크에 연결 된 서버팜이나 클라우드 등의 원격 환경에서 사용하는 것이 아니라 건물에서 일하는 직원 또는 단체에서 설치, 실행하는 소프트웨어를 말한다. on-prem software(온프렘 소프트웨어) 또는 on-premise software(온프레미스 소프트웨어)라고 줄여서 쓰기도 하며 shrinkwrap software라고 부르기도 한다.

 

오버헤드를 최소화한 모듈화된 컴퍼넌트로 구성되어 있어서, 솔루션 구성시에 유연성을 유지

윈도우, , 리눅스에서 ASP.NET Core 응용 프로그램을 개발할 수 있다

 

ASP.NET Core를 만들었는가?

아키텍쳐 변경을 통해 군더더기 없이 모듈화된 코어(core) 웹 프레임워크를 만들기 위해

(ASP.NET CoreSystem.Web.dll 에 더이상 기반하지 않고, 잘게 분리된 NuGet 패키지들에 기반해서 최적화된 개발가능) (응용프로그램이 필요 이상의 모듈을 포함하지 않기 때문에 보안상 개선 효과가 있고, 서비스 하는 부담 또한 줄여준다)

(사용한만큼 지불하는(pay-for-what-you-use) 모델을 채택함으로써 응용프로그램의 성능이 개선)

ASP.NET Core에서 중대한 개선사항 포함

(새롭게 경량화되고 모듈화된 HTTP 요청 파이프라인)

(IIS 또는 개발자 자신의 프로세스에서 셀프 호스트할 수 있는 능력)

(닷넷 코어에 기반한 진정한 side-by-side 앱 버전 관리(versioning)) = 동일한 컴퓨터에서 여러 버전의 응용 프로그램 또는 구성 요소를 실행

(모든 기능이 NuGet 패키지 형태로 추가)

(NuGet 패키지들을 생성하고 사용하는 것에 대한 통합된 지원)

(웹 사용자 인터페이스와 웹 API를 위한 단일 웹 스택)

(클라우드를 위한 환경 기반 구성)

(내장된 종속성 주입 기능)

(모던 웹 개발을 단순화 시킨 새로운 도구들(tooling))

(윈도우, , 리눅스에서 개발하고 실행할 수 있는 크로스플랫폼)

(오픈 소스와 커뮤니티에 초점)

   

ASP.NET Core 특징

 

 

Kestrel 자체 웹서버 운용 가능

동적 컴파일

- 기존에는 빌드 하고 배포 했으나 에디터로 수정 가능함

의존성 주입 포함 - Startup.cs ConfigureServices에서 아래와 같이 트랜젝션 제어 주입이 가능함

- services.AddTransient<IService, Service>();

- services.AddScoped<IService, Service>();

- services.AddSingleton<IService, Service>();

Bower(정적파일 패키지 관리[jquery, angular, bootstrap 같은것 관리]), Gulp(빌드자동화), Grunt, NPM, Node.js, TypeScript, Yeoman 등 통합 가능

- 스크립트 압축, 빌드 자동화 등 커뮤니티 기반 웹개발 도구를 포함한다.

  

ASP.NET Core 몇가지 과거와 달라진 사용법

ViewEngine 커스터 마이징

Startup.cs -> ConfigureServices(IServiceCollection services)

services.AddMvc().Configure<MvcOptions>(options => { options.ViewEngines.Add(new MyCustomerViewEngine ()); });

MapRoute 커스터 마이징

Startup.cs -> Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

app.UseMvc(routes => {routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });

BundleCollection 커스터 마이징

bundleconfig.json에 설정하여 사용

GlobalFilterCollection 커스터 마이징

services.AddMvc(options =>

{

options.Filters.Add(new AddHeaderAttribute("GlobalAddHeader",

"Result filter added to MvcOptions.Filters")); // an instance

options.Filters.Add(typeof(SampleActionFilter)); // by type

options.Filters.Add(new SampleGlobalActionFilter()); // an instance

});

 

 

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

홈페이지지 제작을 위한  웹에디터  Edit plus 3 사용법

 

 * C/C++ 구문 강조와 출력 캡쳐 화면
* CSS 구문 강조 화면
* PHP 구문 강조 화면
* ASP 구문 강조 화면
* Perl 구문 강조와 출력 캡쳐 화면
* 자바 구문 강조와 출력 캡쳐 화면
* 자바스크립트 구문 강조 화면
* VB스크립트 구문 강조 화면
* 내장 브라우저 창 화면

 

에디트플러스는 인터넷 환경에서 편리하게 사용할 수 있는 윈도우용 문서 편집기로서, HTML 편집기, PHP 편집기, 자바 편집기, Hex 뷰어 기능을 지원하고, 메모장을 대신할 뿐 아니라 웹문서나 프로그램 개발을 쉽게 할 수 있도록 도와주는 많은 기능들을 지원합니다.

EditPlus Text Editor
•HTML, PHP, 자바, C/C++, CSS, ASP, Perl, 자바스크립트, VB스크립트, Paython, Ruby on Rails 파일에서 구문 강조 기능을 지원합니다. 사용자가 작성한 구문 파일을 추가하여 다른 프로그래밍 언어도 지원할 수 있습니다.
•HTML 문서의 내용을 확인해 볼 수 있는 내장 브라우저와, 작성한 문서를 FTP 서버로 업로드할 수 있는 FTP (sftp, FTPS 포함) 기능을 지원합니다.
•이 밖에 Hex 뷰어, HTML 도구모음, 사용자 도구, 줄 번호, 눈금자, URL 강조, 자동 완성, 클립텍스트, 칸 단위 선택, 강력한 찾기와 바꾸기, 다중 실행 취소및 재실행, 사용자 정의 단축키 등 다양한 기능들을 쉽고 편리하게 사용할 수 있습니다.
 
에디터로는 울트라에디트 에디트플러스 (EditPlus) 등 많이 있지만 요즈음 프로그래머가 홈페이지를 제작하고
수정할 때 가장 쉽게 빨리 작업을 마칠 수 있는 에디터라고 생각합니다 . 저는 오래 전부터 이 에디트플러스 (EditPlus)를 사용해 오고 있어 이번에는 이 에디터플러스를 소개하고자 합니다 .
 
이번에 이 에디트플러스 (EditPlus)를 소개하려고 참고 자료를 준비하다가 우연히 이 것이 한국인이 개발했다는
사실을 알게 되었다 위키백과에서 나온 것으로 보면 에디트플러스 (EditPlus)는 마이크로소프트 윈도용 문서 편집기로 경상남도 진주시에 본사를 둔 이에스컴퓨팅의 김상일씨가 개발하였다고 합니다 . 1998 년 3 월 20 일에 첫 버전이 공개되었고 셰어웨어 저작권으로 배포되어 30 일 동안 사용할 수 있으며 기간이 지난 후에는 등록하지 않으면 쓸 수 없다고 합니다 .
 
완전한 유니코드를 지원하며 파일마다 다른 시스템 코드 페이지를 갖춘 텍스트 파일의 내용을 깨지지 않게 맞추어 불러올 수 있으며 프로그래머를 위한 구문 강조 기능을 갖추고 있고 검색 및 바꾸기를 위한 정규 표현식과 세 가지 파일 형식 (윈도 , 리눅스 , 매킨토시 )을 지원한다 . 문법 확인 기능은 미국 영어와 영국 영어를 지원한다고 합니다 .
 
지원하는 파일 유형 [편집 ]으로는 기본적으로 지원하는 파일의 유형으로는 텍스트 , HTML, C/C++, 펄 , PHP, 자바 , JSP, 자바스크립트 , VBS, CSS, XML, C#이 있으며 , 그 중에서 몇 가지 파일 유형을 위한 문서 템플릿 (HTML, XHTML, C/C++, 펄 , 자바 )을 기본으로 포함하고 있다고 합니다 .
  
 


 제가 특히 쓰면서 좋았던 점은 기능 중에 구문강조나 자동완성 기능있고 , EditPLUS3 로 스크립트 작성하다가 버튼만 누르면 바로 스크립트 실행하고 단축키등으로 쉽게 작업을 할 수 있었습니다 .
EditPlus 의 강력한 기능중 하나가 바로 페이지 미리보기 기능이며 브라우져로 미리 바로 바로 볼 수 있어서
실시가느로 미리보기가 가능하다는 점을 들 수 있습니다 .
 
 
Edit plus 는 코딩하는 프로그램이며 작업을 하기 위해서는 프로그래밍을 배워야 하고 자바스크립트 같은 언어로 개발해야하지만 이 에디트플러스를 이용하면 여러 저가가지를 손쉽게 가져다가 프로그램을 작성할 수 있습니다 .

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

JSP프로그램을 위한 이클립스 설치 및 톰캣 이클립스 연동


JSP시작 이클립스 -톰캣 연동 /톰캣이 설치 되어 있어야합니다.

톰캣 다운로드 설치 /이클립스 설치 

  



 1 web 프로젝트 생성


가. 먼저 이클립스 내부에 톰캣을 돌리기 위해서는 

톰캣서버를 먼저 꺼야 합니다. 

(시작메뉴--Configure Tomcat ---General

start,stop있음)

(중요!! 톰캣이 두 개 돌면 포트 충돌이 발생할 수있음)

나. 이클립스를 실행-파일->New->Other를 눌러줍니다.

다. 먼저 Web을 선택하고, 아래 그림처럼 Dynamic Web Project선택

라. 먼저 프로젝트 명을 적어 넣고 Finish

(중요한 것은 Context root 경로인데, 여기서 Finish를 누르면 

디폴트 프로젝트명과 동일하게 설정된다) 

Context root 경로를 다르게 설정하려면 몇 번의 Next눌러야함

처음공부하는 분은 여기서 Finish누른다.

  

2.JSP파일 생성

가. 프로젝트가 만들어 졌으면 프로젝트 아래 WebContent 폴더에서

마우스 우클릭 하면 팝업메뉴가 나옵니다.

New를 선택하고 다음으로 JSP File을 눌러 줍니다.

나 JSP파일명을 넣어 주고 Finish 누른다

  

다. JSP 코딩을 합니다. <환영합니다.>

3. 프로젝트 실행

가. 프로젝트 파일을 생성하기 위해서는 

JSP파일을 우클릭하고 Run AS 선택후 

Run on Server를 눌러 줍니다.

나. 설정이 되었으면 바로 실행 되지만 처음 실행하시는 분들은 

설정화면이 난타납니다.

처럼 실행하시는 분들은 톰캣설정을 해주셔야 합니다.

Apache 폴더를 선택하시고 설치한 버전의 톰캣을 선택후 Next 누름

다. 톰캣이 설치된 경로를 넣어 주고 Finish 버튼을 눌러줍니다.

라. 윈도우 보안 경고음이 나오면 하단에 [액세스 허용]을 눌러 주세요

마.......test.jsp실행하면 <<환영합니다> 성공!1

    

4.라이브러리 추가 

서블릿이라든지 JSP가 제대로 돌아가기 위해서는 기본 라이브리을 추가해야합니다.

(jsp-api.jar,servlet-api.jar)

가. 프로젝트에서 우클릭하고 properties를 클릭합니다.

나. Java Build Path를 선택하고 Libraries탭을 눌러 줍니다.

다. 1) Add External JARs..번튼을 클릭하면 창이 하나 더 나타납니다.

2)번처럼 톰갯설치된 폴드에서 lib폴더를 선택합니다. 

3)Shift키를 누른채 jsp-api.jar과 servlet-api.jar파일을 선택합니다.

4)마지막으로 열기버튼을 누릅니다.

5) 라이브러리가 잘 추가 되었으면 OK버튼을눌러 줍니다.



'프로그래밍 > Jsp' 카테고리의 다른 글

[JSP] Servlet 및 JSP를 이용한 게시판  (0) 2017.08.17
[JSP] JSP 기본 동작  (0) 2017.08.17
블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

자바(java)와 이클립스 설치및 톰캣연동

 


자바(java)수업을 위한 이클립스 설치와 톰캣연동

 

 자바를 사용하려면 JDK와 이클립스를 설치해야한다

JDK는 www.oracle.com 이곳에서 다운로드 탭의 Java for developer 로 들어가서 자신의 운영체제에 맞는 버전을 골라 설치하면 된다

이클립스는 www.eclipse.org/downloads/ 이곳에 들어가서 다운받으면 된다.

두개를 다받았다면 자바를 사용하기위해 환경변수 설정을 해줘야한다. 

자신이 설치한 jdk의 경로를 복사해서 내컴퓨터-속성-고급 시스템 설정-고급-환경변수 에서 새로만들기를 클릭해서 

변수 이름:JAVA_HOME 

변수 경로:자바스크립트경로

이렇게 해주고 환경변수중에 path라는 변수가있는데 이걸 클릭해서 편집을 눌러 

변수 경로를 자신의 jdk경로\bin\javac.exe 로 바꿔주면 모든 준비가 끝난다

이제 이클립스를켜서 새로운 클래스를 만들고

예제를 쳐보겠다 이예제는 C언어에서 printf함수처럼 화면에 텍스트를 출력해주는 예제이다

public class hello3 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("Hellow");

}

}

ctrl+f11 버튼을 눌러주면 컴파일되어 아래 콘솔창에 hellow가 나타나게된다

  

 

1.톰캣설치 되어 있어야한다 

설치확인 /시작메뉴 -Aphachi tomcat8.0 --Configure Tomcat -[팝업창] -stopped되어있어야한다.

2.이클립스 설치 

▶ 이클립스 톰캣 연동 #1 - 톰캣 설치하기


이클립스 톰캣 연동 첫 번째로 톰캣을 설치해 보자 

실제 웹서비스에서는 아파치와 톰캣을 연동해서 같이 사용하는데

개발단계에서는 톰캣하나만으로 충분하고 

실제 톰캣만으로도 서비스가 가능하나 일다 톰캣을 설치하다 

(당근 자바는 설치 되어 있어야 함)

톰캣설치리 setup Configuration Options에서

Server Shutdown port  : 8005

HTTP/1.1 connector Port : 8080

▶ 포트나 관리자 비번  설정

포트는 나중에 변경이 가능하므로 그냥 기본 8080으로 

관리자 비번은 지정해 주는 것으로...

------

설치후 웹브라우저 열어서 localhost:지정포트 8080기본 쳐서

톰캣 페이지가 나오면 성공 

-----

작업표시줄 아이콘 영역에 보면 톰캣아이콘이 있음

우측버튼을 누른 후 팝업메뉴에서 start, stop등 실행

Configure Tomcat 열러서

Start, Stop  -->후 [확임]

 



----------------------------------------

 ▶만약 zip파일로 설치 했다면

톰 캣시작 : 설피폴더/bin/startup.bat 파일실행

톰캣중지 : 설치폴러/bin/shutdown.bat 파일을 실행하면 된다.

이렇게 이클립스와 톰캣을 연동하기 위한 첫단계 톰캣설치는 끝

하지만 이렇게만 알고 끝나면 과연 좋을까 ?

톰캣이 뭐하는 놈인지 알아야 하지 않을 까 ?

난 이클립스로 개발할건데 이런사람도 있을 것이고...

그래서 몇가지만 알고 넘어가야할 것 적어본다 ..

1.web Server와 Web Application Server(WAS)의 차이점(톰캣은 WAS)

2.기본 Root가 아닌 다른 Root를 지정하려면?

3.포트를 변경하려면?

4.여러개의 사이트를 운영하려면?

5.왜 아파치랑 톰캣을 연동해서 쓰는 것인지?

이클립스_톰캣_연동, 

--------

▶ 두 개의 이클립스가 작동될 때 

하나는 먼저 설치한 Java실행되고 있는데 

jsp에서 포트 에러가 난다 

그러면 /java 포트를 중지하고 쓰면 될까 ???????

▶ 오라클 톰캣 port 에러 

다음에러시 주의를 해야 한다.

JSP 실행시 8080 에러 < 황 강사님 변경>

SQL>conn/ as sysdba;

connected.

SQL> select dbms_xdb.gethttpport() from dua1;

DBMS_XDB.GETHTTPPORT()

----------------------

 ▶ 8080 에러가 나타날때는 SQL창을 열고 다음과 같이 설정한다 

SQL> exce dbms_xdb.sethttpport(9090);

PL/SQL procedure successfully completed.

SQL> conn/as sysdba;

Connected.

SQL>




 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

JAVA(자바)에 필용한 유용한 응용프로그램들

 

 

자바란 객체지향 프로그래밍 언어 이며 여러개의 객체들을 만들고 그 객체들의 관계를 프로그래밍 으로 설정해 가는 것을 객체지향 프로그래밍 언어라고 합니다 .

자바를 통해 프로그래밍을 하게 되면 '.java' 라는 확장자를 가지게 되는데 이를 컴퓨터가 이해할 수 있는 기계언어로 변경해주는 'javac'라는 자바 전용 컴파일러를 사용한다고 합니다 . 컴파일링을 하게 되면 '.class' 라는 파일이 생성되고 이 파일을 자바 가상머신 (JVM) 을 통해 코드가 실행하고 이것이 바로 자바를 통한 프로그래밍 실행 순서입니다 .

  

JAM 에 대해서 설명을 드리자면 자바로 작성된 프로그램을 실행하기 위한 것으로 위에서 말한 것 처럼 자바로 작성한 소스코드를 컴퓨터가 이해할 수 있도록 번역해 주는 역할을 합니다 .

그렇다면 자바 프로그래밍을 하기 위해서는 자바 프로그래밍을 하기위해서 크게 두가지를 필수로 설치해야 하는데 바로 이클립스 와 JDK(JAVA Development Kit)입니다 .

이클립스 는 자바를 쉽게 사용하게 만들어 주는 툴킷 이며 JDK 는 자바 라는 언어를 컴퓨터에서 사용 가능하게 만들어주는 자바 환경도구 라고 하며

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

위의 주소에 접속하시면 JDK 를 다운 받으실 수 있습니다 .

다음으로 자바의 특징을 말씀드리면 자바는 썬 마이크로시스템즈의 제임스 고슬링 (James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이며 , 썬 마이크로시스템즈에서 무료로 제공하고 있으며 Java Virtual Machine)이라는 특수한 가상 머신이 필요한데 , 이 가상 머신은 자바 바이트코드를 어느 플랫폼에서나 동일한 형태로 실행시킵니다 . 때문에 자바로 개발된 프로그램은 CPU 나 운영 체제의 종류에 관계없이 JVM 을 설치할 수 있는 시스템에서는 어디서나 실행할 수 있으며 , 이 점이 웹 애플리케이션의 특성과 맞아떨어져 폭발적인 인기가 상승하고 있습니다 .

 

 



  

끝으로 자바와 자바스크립트의 차이를 말씀드려보겠습니다 .  

1. 자바스크립트는 사용자 컴퓨터에 의해 인터프리트 (interpreted)되는 언어이다 (마치 HTML 과 같이 ). 그러나 자바는 일단 서버측에서 컴파일해야 하고 , 프로그램의 실행은 사용자측에서 이루어집니다 .

2. 두 언어 모두 객체 지향적 언어이다 . 하지만 자바스크립트에는 상속성이나 클래스는 존재하지 않습니다 .

3. 자바스크립트는 HTML 코드에 끼워져서 (embedded)사용되지만 자바는 HTML 과 독립적으로 사용 가능하다 . 단 , HTML 을 이용해야 자바 프로그램에 접근할 수 있습니다 .

4. 흔히 루즈 타입 (loose type)이라는 변수형을 선언할 필요가 없다 . 반면에 자바는 항상 변수형을 선언해야 한다 . 이 경우 스트롱 타입 (strong type)이라 합니다 .

5. 자바스크립트는 동적 연결 (dynamic binding)이기 때문에 객체에 대한 참조는 실행시에만 한다 . 그러나 정적인 연결 (static binding)을 취하는 자바는 컴파일시에 객체에 대한 참조가 이루어집니다 .

6. 두 언어 모두 안전하다 . 그러나 자바스크립트의 경우는 HTML 코드에 직접 끼워져 있기 때문에 누구든지 볼 수가 있습니다 . 그러나 자바의 경우는 다르며 자바 소스 코드를 컴파일하면 바이트 코드로 불리는 클래스 파일이 생성됩니다 . 따라서 프로그램 작성자가 디렉토리 안에 소스 코드를 지워도 HTML 에서 부르는 것은 자바 클래스 파일이기 때문에 다른 사람이 그 소스를 보지 못한다는 점에서 차이가 있습니다 .

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,



자바 기본 문법 자바 데이터형 Primitive Data Types

 

 

  

데이터형은 자바 언어가 처리 할 수 있는 데이터 종류를 의미한다.

자바에서는 아래와 같은 2가지의 데이터형(Data Type)이 있다.

◈기본 데이터형과 ◈참조 데이터형있으며 기본데이터형에는 다음과 같은 8개의 기본 데이터형이 있다.

논리형 (boolean / 1byte)

참과 거짓을 표현할때 사용하고 반드시 소문자 true, false 값 중 하나를 갖는다.

그러나 C언어처럼 0이나 1 값 또는 대문자로 표현되는 TRUE, FALSE 값은 갖지 못한다.

boolean result = false; boolean flag = true;

문자형 (char / 2byte)

반드시 하나의 문자를 가지며 16비트 유니코드 값을 표현한다.

(유니코드란 전세계의 문자를 표현 할 수 있는 언어 표현 방식으로 char unicode='\uC790'; 

이렇게 사용할수있으며 이것은 한글 '자'를 나타낸다. 인터넷에 검색하면 각 언어에 맞는 유니코드값을 찾을 수 있다.)

그리고 char 데이터형은 기본적으로 정수형에 속한다. 즉 문자가 정수형으로 변환될 수 있다.

int num = = 'A' + 1; //문자 A가 아스키코드값인 65로 변경되고 연산되어 num = 66이저장됨

char 값은 반드시 단일 따옴표를 사용해 표현한다.

char c = 'A';

정수형 (byte, short, int, long)

10진수, 8진수,16진수, 2진수로 표현 가능하며 int가 기본형이다.

그러므로 long형을 표현할때에는 정수값 뒤에 L 또는 L을 붙여 구분한다.

int age = 26; long num = 100L; //정수값에 명시적으로 L또는l을 붙이지 않으면 기본형인 int 데이터형을 의미

종류와 크기 

byte = 8bit / short -=2byte / int =4byte / long = 8byte 

실수형 (float, double)

소수점을 가진 숫자를 의미하며 double이 기본형이다.

그러므로 float형을 표현할때에는 실수 값 뒤에 F 또는 f를 붙여 구분한다.

double abc = 43.2; float xyz = 3.12F //실수값에 명시적으로 F또는 f를 붙이지 않으면 기본형인 double형을 의미

종류와 크기

float = 4byte / double = 8byte

정수형인 int와 실수형인 float 데이터형은 데이터 저장을 위한 메모리로 32bit를 사용하지만

기본적으로 실수형이 정수형보다 큰 데이터형으로 처리된다.

◈참조 데이터형

자바에서 사용 가능한 데이터형 중 8개의 기본형에 속하지 않는 모든 데이터형

(대표적으로 클래스, 배열, 인터페이스)

String name = "홍길동"; //String클래스 , 참조형 타입 String(문자열)은 4byte int[]arr = {1,2,3,4}; //int 데이터형 배열 Student stu = new Student("유관순", 17,"서울"); //Student 클래스

기본형 데이터타입

Boolean 1byte / char 2byte

byte 8bit / short 2byte / int 4byte /long 8byte

float 4byte / double 8byte

참조형 데이터타입은 모두 4byte

ex) String 4byte 

  

자바 기본 문법

   

논리형은 참과 거짓을 뜻하며 데이터 형변환이 불가능 하며 대소문자를 구분하기 때문에 대문자 TRUE, FALSE는 논리형이 아니다.

ex) return false ; 

문자형은 문자 한개를 저장할 수 있는 단일 문자형으로 ' (따옴표)로 감싸줘야 합니다.

ex) 'A', 'a'

정수형은 소수점이 없는 숫자를 표현하는 자료형이다.

정수형 데이터는 기본적으로 int형(4byte)로 표현된다.

long형 표현시 숫자뒤에 'l or L'을 붙여야 한다.

ex) 0, -1, -123, 123L, 123l

실수형은 소수점이 있는 숫자를 표현하는 자료형이다.

float형을 표현시 숫자뒤에 'f or F'를 붙여준다.

ex) 3.14f , 3.14F

  

◈자바의 레퍼런스 데이터형은 C의 포인터형과 비슷한 기능을 가지고 있다고 생각되지만 C의 포인터가 메모리에 직접 접근 할수 있는 반면 자바의 레퍼런스 데이터형은 메모리에 직접접근 할수 없다.

◈ 자바에서의 데이터형 변환

종류가 다른 데이터간에 연산이나 대딥을 하는 경우에 대입을 하는 경우에 한 종류의 데이터형이 다른종류로 변경되는 것을 의미한다. 

예) 모든 데이터가 INT 보다 작은경우 이항연산시 INT형으로 일괄적으로 바뀐다.

BYTE 데이터와 LONG 데이터를 연산하면 BYTE 데이터가 연산시에 LONG 형으로 자동으로 바뀌어 연산된다. 

◈ 캐스팅(CASTING)

자동으로 데이터 형변화이 일어나는 것과는 달리 "큰것을 작은것에 넣는것은 명시적으로 지시해야 한다." 이런 명시적인 지시를 캐스팅이라 한다.

예) byte b = (byte)2099; 이런경우 실제로 51이라는 엉뚱한 결과가 들어가게 됨

◈ 자바에서의 변수선언

C에서는 변수선언을 실행문이 나오기 전에 모두 선언되어야 하지만 자바에서는 블록 { } 으로 묶여있는 곳이면 어디서나 가능하다. 

    

 

 

◈ 자바의 데이터형

◈ 정수

◈ = byte (1byte) -128 ~ 127

◈ 파일 입출력, 네트워크 통신

◈ = short (2byte) -32768 ~ 32767

◈ 자바에서는 사용빈도가 없다 

◈ = int (4byte) -21억 4천 ~ 21억 4천

◈ Default

◈ = long (8byte)

◈ ==> int vs long

◈ int => default (10진법) 10, 20...

◈ long => 101, 10L

◈ 금융권

◈ 실수

◈ = float (4byte) : 10.5f, 20.0F

◈ 소수점 이하 6자리

◈ = double (8byte) : 10.5d, 20.0D => (d, D는 생략이 가능)

◈ Default

◈ 소수점 이하 15자리(건축)

◈ 문자

◈ = char (2byte) => multi-byte(unicode)

◈ 표현 : 'A', '홍'

◈ 0~65535

◈ 논리

◈ = boolean : true/false => 조건식

◈ 

◈ 크기 비교

◈ byte < short < int < long < float < double

◈ char(언제든지 정수형으로 변환이 가능하다)

◈ 자바변수 식별자

◈ 1) 알파벳이나 한글로 시작한다.

◈ 알파벳은 대소문자를 구분한다

◈ 2) 숫자 사용이 가능(단 앞에 사용할 수 없다.)

◈ 3) 특수문자 사용이 가능($ , _ )

◈ 4) 예약어(키워드)는 사용할 수 없다

◈ 예약어 : 자바에서 사용중인 단어

◈ EX) int, double ....

 

◈ 변수 : 단일 데이터를 저장하는 메모리의 이름

◈ => 수시로 값을 변경할 수 있다.

◈ 상수 : 단일 데이터 저장 => 값을 변경할 수 없다.(final)

◈ 변수 선언 방법

◈ => 데이터형 변수명 = 값

◈ EX) 정수 저장

◈ int a=10;

◈ a=20;

◈ final int a=10;

◈ a-20; ==> error

 

◈ 자바 개발자의 약속

◈ 1) 클래스명을 대문자로 시작한다.

◈ Student 

◈ 2) 상수는 모든 문자가 대문자이다.

◈ PI

◈ 3) 변수, 메소드는 소문자로 시작

◈ 단어가 두개일 경우에는 두번단어는 대문자

◈ fileName, firstName

◈ 4) 문장종료는 ';'

◈ 5) 들여쓰기

◈ 자바

◈ public class A {

◈ 코딩

◈ }

◈ c/c++

◈ public class A

◈ {

◈ 코딩

◈ }

◈ 

◈ 

◈/ 

public class 자바데이터형 {

  

public static void main(String[] args) {

// 정수 3개 저장

/◈int kor=85;

int eng=80;

int math=75;◈/

int kor=86, eng=80,math=75;

// 데이터형이 동일할 떄

/◈

◈ 첫번쨰 방식

◈ 1. 변수 선언

◈ 2. 값주입

◈ int a;

◈ a=100;

◈ 두번째 방식

◈ 선언과 동시에 값주입

◈ int a=100;

◈ 변수는 반드시 초기값을 주입해야 한다

◈ 

◈ C/C++ => 가장 첫줄에 변수 선언

◈ java => 원하는 위에서 변수 선언이 가능

◈/

// 출력

/◈

◈ system.out.println() : 화면 출력

◈ system.out.print() : 화면 출력

◈ system.out.pintf() : 화면 출력

◈/

System.out.print("이름은?");

System.out.print("홍길동입니다\n");

// ctrl + F11 = 실행

// ln : new line

System.out.printf("%-5d%-5d%5d\n",10,20,30);

/◈

◈ %d : 정수

◈ %c : 문자

◈ %f : 실수

◈ %s : 문자열

◈ 

◈ "%5d",10

◈ => ^^^10(5칸 사용 출력)

◈ "%-5d",10

◈ => 10^^^(5칸 사용 출력)

◈/

double d=10.56789;

System.out.println(d);

System.out.printf("%.2f\t",d);

System.out.println("\"홍길동\"");

/◈

◈ \t => tab(일정간격을 줄때)

◈ \n => new line (다음줄에 출력)

◈ \\ => \

◈ \" => "

◈ \' => ' (34page)

◈/

}  

}

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

 



블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

리눅스 트리 계층구조( linux tree directory) 이해

  

 

리눅스는 계층적인 트리 형태로 구성되어 있다.
리눅스는 윈도우즈와는 달리 드라이브 라는 개념을 사용하지 않고 파티션(partition)과 마운트(mount)라는 개념을 사용한다.
리눅스는 유닉스와 마찬가지로 모든것을 파일로 취급하여 처리하며 리눅스의 기본적인 디렉토리 구조는 다음과 같다.
 

 

/ (root)
최상위 디렉토리로서, 루트 디렉토리라고 한다.
모든 디렉토리는 루트를 기준으로 생성되며 루트는 모든 디렉토리의 출발점이자 다른 파티션의 연결점이다.
/bin
시스템에서 사용되는 기본 명령어들이 위치하는 디렉토리로 많은 리눅스 명령이 저장되어 있다.
'bin' 이라는 이름은 이곳의 프로그램 배부분이 이진 파일이라는 것을 의미한다.
/var
내용이 자주 변경되는 가변 자료들이 저장되는 곳으로, 기본적으로는 시스템을 운영할 때 발생되는 로그 파일들이 저장된다.
다은과 같은 서비스를 제공하는 서버로 리눅스를 운영할때 사용 하면 바람직 하다.
- 메일을 송/수신할 때 임시로 저장되는 스풀
- 프린트로 전송하기 위해 임시로 저장하는 프린트 스풀 데이터
- 레드햇 배포판에서 패키지로 제공하는 아파치 웹 서버 관련 자료
- MySQL의 데이터 베이스
- FTP의 최상위 디렉토리 등등

/boot
부팅에 필요한 지원 파일들이 위치하는 디렉토리이며, 시스템 부팅 시 부트로더가 커널의 위치를 참조 한다.
/dev
각 장치에 대한 장치 파일이 위치하는 디렉토리로, 용량을 차지 하지 않는 가상의 디렉토리다.
통상적으로 파일을 저장하지 않는다.
/dev 디렉토리에 있는 유용한 파일 가운데 하나는 null 이다.
이파일은 존재하지 않거나 비어 있는 장치를 의미한다.
/etc
리눅스에서 사용되는 모든 어플리케이션 및 환경 설정에 필요한 설정 파일들이 존재한다.
실행파일은 존재하지 않고 편집기를 이용하여 해당 파일을 변경하여 시스템의 설정을 변경하는 디렉토리다.
시스템을 관리하는데 필요한 프로그램이나 파일이 있다.
가장 유명한 파일은 시스템의 암호 파일인 passwd가 있다.
/home
일반 사용자들의 홈 디렉토리가 위치하는 곳이다.
또한 FTP, MySQL, 등 별도의 공간을 요구하는 서비스를 위한 디렉토리로 사용될 수도 있다.
/lib
기본적인 라이브러리가 위치하는 디렉토리로서, 시스템 운영이나 프로그램을 구동할 때
필요한 공유 라이브러리 및 부팅할 때 사용되는 커널 모듈도 포함된다.
/mnt

시스템 관리자에 의해 임시로 마운트된 파일 시스템들이 위치할 곳이다.
CD-ROM 이나 USB에 대한 기본 마운트 포인트를 제공한다.
/proc
프로세스와 시스템 정보를 제공하기 위한 목적으로 설계된 가상 파일 시스템을 위한 디렉토리다.
/proc은 실제로 하드디스크 상에 존재하는 것이 아니라 메모리에 존재하는 것으로서
메모리에 존재하는 내용을 마치 하드디스크에 있는 하나의 파일처럼 다룰수 있게 해 주는 디렉토리다.
/sbin
sbin은 시스템 바이너리(system binaries)의 약자로 시스템 관리자가 사용하는 시스템운영에 필요한 명령어가 존재하는 디렉토리다.
즉 관리자만 사용하며 해당 명령어로는 fdisk, reboot 등이 있다.
/tmp
프로세스 생성 과정에서 발생되는 임시 파일을 저장하는 디렉토리로, 수시로 파일이 생성되고 삭제된다.
시스템을 재구동하는 경우에는 존재하는 모든 파일이 삭제된다.
일반적으로 짧은 시간 동안만 저장할 필요가 있는 파일을 이곳에 저장한다.
/usr
모든 어플리케이션 및 시스템 파일들, 라이브러리 파일 및 실행 파일이 위치하는 디렉토리로, 비교적 많은 공간이 필요하다.
/usr의 하위 디렉토리

 디렉토리명

 

 /usr/bin

 실행 파일을 보관하는데 사용한다.

 /usr/dict

 리눅스 사전이 사용하는 파일들이 들어 있다.

 /usr/include

 프로그래머들이 사용하는 파일들이 존재한다.

 /usr/lib

 /lib의 일부분처럼 프로그램의 라이브러리들이 존재한다.

 /usr/local

 시스템 관리자가 자신의 프로그램이나 문서를 저장하는데 사용한다

 /usr/man

 매뉴얼에서 사용하는 디렉토리와 파일이 들어 있다.

 

 디렉토리명 
 /usr/bin  실행 파일을 보관하는데 사용한다.
 /usr/dict  리눅스 사전이 사용하는 파일들이 들어 있다.
 /usr/include  프로그래머들이 사용하는 파일들이 존재한다.
 /usr/lib  /lib의 일부분처럼 프로그램의 라이브러리들이 존재한다.
 /usr/local  시스템 관리자가 자신의 프로그램이나 문서를 저장하는데 사용한다
 /usr/man  매뉴얼에서 사용하는 디렉토리와 파일이 들어 있다.
  


 리눅스 디렉토리 구조 -2
 
리눅스는 설치를 하면 최상위 디렉토리가 존재하기 마련인데
바로 루트 디렉토리이다.
 루트 디렉토리는 / 으로 표시한다.
폴더 이름 자체가 / 으로 되어있다는 뜻이다.
 하지만 /(루트) 디렉토리가 존재하는 반면 /root 라는 디렉토리도 존재하는데
 (루트)디렉토리는 말그대로 루트 디렉토리이고, /root 디렉토리는 관리자 홈 디렉토리를 말한다.
 


 리눅스 GUI 환경에서 파일 브라우저로 /를 검색해본 결과 ( 프로그램 -> 파일 브라우저 )
위와 같이 나온다.
 
리눅스의 파일 브라우저는 윈도우에서 탐색기라고 보면된다.
파일이 여러개있다.
루트 디렉토리 안에 들어있는 또다른 디렉토리들에 대한 정보를 알아보자.
 
/root : 관리자 홈 디렉토리
/boot  : 커널 디렉토리 (부팅 관련 파일 )
/etc  : 시스템 설정파일 디렉토리
/usr : 응용프로그램 디렉토리
/var : 로그파일, 메일 디렉토리
/lib : 라이브러리 디렉토리
/tmp : 임시 디렉토리
/home : 일반계정 홈디렉토리
/dev : 장치파일 디렉토리
/proc : 프로세스 정보 디렉토리
/media, /mnt : CDROM 마운트 디렉토리
  
현재,부모,자식 디렉토리
 
1. 현재 디렉토리 : 현재 디렉토리는 현재 자신의 위치한 디렉토리를 말한다.
" . "로 표현
● 사용자가 현재 작업중인 디렉토리
 
2. 부모 디렉토리
" .. "로 표현
● 현재의 디렉토리가 포함되어 있는 바로 위의 디렉토리
 
부모 디렉토리 입장에서 하위 디렉토리를 본다면 그 하위 디렉토리는 자식 디렉토리가 되는것임!
  
상대 경로 이름과 절대 경로 이름
 
경로(path) : 파일이 위치한 부분
 절대경로(absolute path) : 루트(/) 디렉토리부터의 위치
 상대경로(relative path) : 현재의 디렉토리부터의 위치
 
예를 들어보자.
/home 디렉토리에 mulhanbangul 이라는 파일이 있다고 치면
절대 경로로 치면 /home/mulhanbangul 이 되는 것이다.
 
반면에
 
상대경로로 표현하면 ../mulhanbangul 이렇게 된다.
 
절대경로와 상대경로의 쓰임은 다음 포스트에서 명령어를 알아가면서
직접 이해해 볼터니 잘 기억해두자.
 
 
명령어 디렉토리
 
명령어 디렉토리는 명령어가 저장되어있는 디렉토리를 말한다.
한마디로 그 디렉토리마다 명령어 제한이 존재하는데
예를들어 아래처럼 /bin인 경우에는 모든 사용자가 사용이 가능한 명령어를 저장하고있다.
 
/bin : 슈퍼유저(root) + 일반유저 = 모든 사용자가 쓸 수있는 명령어
/sbin : 슈퍼유저(root)용 명령어
/usr/bin : 대부분의 사용자 명령어
/usr/sbin : 시스템 관리용 명령어
/usr/local/bin : 리눅스 OS 설치 후에 추가된 프로그램 명령어
 
 
보면 /bin /usr/bin은 그럼 서로 같은거 아니냐 라고 생각할 수 있겠지만
사실은 /usr/bin보다 /bin이 더 큰 디렉토리라고 보면된다.
 

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,


  리눅스 기본 명령어 통해 상대경로/절대경로를 알아낼 수 있습니다.
그럼 순서대로 하나씩 차근차근 실습을 하면서 명령어를 익혀보세요

 

리눅스의 바탕화면에서 오른쪽 마우스를 클릭하면 위와 같은 창이 나오는데
여기서 'open in Terminal'을 클릭하고 프롬프트 창에서 명령어를 입력하면된다
passwd
계정의 비밀번호를 변경하는 명령어 입니다.


ls
ls는 파일과 디렉토리의 리스트를 보는 명령어 입니다.
MS-DOS 의 DIR 명령어와 같은 개념이라 보시면 됩니다.


ls 명령에는 옵션이 따라 붙는데, 가장 많이 쓰는 옵션이 -a, -l, -h 입니다.
-a : 모든 파일의 리스트를 보기 위해 쓰는 옵션으로, 모든 파일과 디렉토리 및 숨김파일까지 보여줍니다.
-l : 각각의 디렉토리나 파일의 정보를 함께 보여줍니다. 파일의 권한 및 소유자, 소유그룹, 용량 등을 보여줍니다.
-h : 파일의 용량을 보기 좋은 단위로 보여줍니다. 1967000000 Byte 대신에 1.9G 이런식으로 보여주는거죠.


-rw-r--r--    1 root      root                7.4G 2013-03-05 22:54 sda_disk.img
drwxrwxrwx  2 root      root                4.0K 2013-03-15 20:41 temp


출력결과를 볼 때 권한과 관련 된 부분은 가장 좌측의 열자리 입니다. 1/3/3/3 순으로 끊어서 보시면 되고,
제일 앞에 'd' 가 있는 경우는 디렉토리, '-' 가 있는 경우는 파일 입니다. 그 뒤의 9자리가 권한과 관련된 것입니다.


옵션을 한꺼번에 적용할 수도 있습니다.
예를 들어 ls -alh 라고 한다면 모든 파일의 리스트를 보여주는데, 자세한 정보와 함께 보기좋은 단위의 용량으로 리스팅 해줍니다.

cd
DOS에서의 cd와 같은 것입니다.
상위 디렉토리로 이동할 때는 cd .. (한칸 띄워야 합니다) 이라고 해주면 되고, 루트로 가려면 cd / 이라고 해주면 됩니다.
root 아래의 pogodata 디렉토리로 이동하려면 cd /pogodata 라고 해주면 되겠습니다.
하위 디렉토리로 갈 때는 cd 해당폴더명 이렇게 해주면 이동합니다.


pwd
현재 사용자가 위치하고 있는 디렉토리의 절대경로를 출력해 주는 명령어 입니다.


mkdir
디렉토리를 만드는 명령어 입니다.
mkdir test 라고 하면 하부에 test라는 디렉토리를 만드는 것입니다.
절대경로를 사용하여 mkdir /pogodata/movies 이런식으로 디렉토리를 만들어 줄 수도 있습니다.
유용한 옵션으로는 -m 옵션이 있는데, 퍼미션 까지 지정하여 디렉토리를 만들어 줍니다.
mkdir -m 777 /pogodata/movies 라고 한다면, root 하부의 pogodata 하부에 movies 라는 디렉토리를 만들고,
777 권한을 부여한다는 것입니다.


nano
텍스트 파일의 편집에 이용되는 명령어 입니다.
nano (편집할 파일명) 의 형식으로 사용됩니다.
nano /etc/fstab 이런식으로 절대경로로 사용될 수도 있습니다.
해당하는 위치에 파일이 없는 경우에는 파일을 생성하는 역할도 해줄 수 있습니다.


fdisk
fdisk (디바이스명) 으로 입력하면 해당 디바이스의 파티션을 조정할 수 있습니다.
예를 들면, fdisk /dev/sda 라고 해주면
sda 에 잡혀있는 디바이스의 파티션을 설정할 수 있는 것입니다.
여기서 스왑파티션의 설정도 가능합니다


-l 옵션을 추가하여 fdisk -l 이라고 해주면
현재 시스템의 파티션 목록을 보여주게 됩니다.


chmod
파일이나 디렉토리의 권한을 변경하여 줍니다.
chmod 777 /pogodata 라고 하면 /pogodata 디렉토리의 권한을 777로 설정해 주는 것입니다.
-R 옵션이 들어가면 하부 디렉토리까지 적용이 가능합니다.


chown
소유자나 소유그룹을 변경할 수 있는 명령입니다.
chown pogo_user test
- test 라는 파일의 소유자를 pogo_user 로 변경하는 것입니다
chown :family test
- test 라는 파일의 소유그룹을 family 로 변경하는 것입니다. 그룹 이름 앞에 콜론을 찍습니다.
chown pogo_user:family test
- test 라는 파일의 소유자, 소유그룹을 한꺼번에 변경할 수 있으며,
  소유자를 pogo_user 로 바꾸고, 소유그룹을 family 로 바꾸어 줄 수 있습니다.


which
명령어 파일의 경로를 알려줍니다.
which (찾을 명령어) 형식으로 사용합니다.


whereis
명령어의 실행파일위치, 소스위치, 메뉴얼 페이지 파일위치를 찾아주는 명령어로써,
명령어의 위치만을 찾아주는 which에 비해 포괄적인 명령어 입니다.
whereis (명령어) 의 형식입니다.


whatis
명령어의 역할을 간단히 알려주는 기능을 합니다.
whatis (명령어)


--help
명령어 뒤에 붙여주면 간단한 기능 및 옵션에 대하여 알려줍니다.
(명령어) --help 의 형식으로 사용합니다.


man
명령어의 메뉴얼 파일을 보여줍니다.
man (명령어) 형식으로 사용하게 되며, 자세한 메뉴얼을 볼 수 있습니다.
예를 들어, man rtmpdump > rtmp.txt 의 형식으로 사용하게 되면
rtmpdump 의 메뉴얼을 rtmp.txt 파일로 저장하여 줍니다.


| more
사용하는 명령 뒤에 붙여서 쓰는 것으로 more 앞에 있는 '|' 은 소문자 L이 아니라,
C:\> 에 사용되는 \ 문자와 같은 키 위에 있는 문자로 '쉬프트 + \' 로 입력하게 됩니다.
출력의 내용이 너무 길어 한페이지에 다 볼 수 없을 때 출력결과를 끊어서 보여주는 역할을 합니다.


df (Disk Free)
df 명령은 디바이스의 용량 및 마운트 경로, 파티션 정보 등을 보여주는 명령입니다.
-h 옵션을 사용하면, Kilo, Mega, Giga 등의 보기좋은 용량으로 보여줍니다.


mkfs
mkfs -t [파일 시스템 타입] [디바이스명] 의 형식으로 사용하는 것으로, 파일 시스템을 작성하고 포멧을 해줍니다.
mkfs -t ext3 /dev/sda (mkfs.ext3 /dev/sda 라고도 쓸 수 있습니다.) 라고 한다면
/dev/sda 디바이스를 ext3 파일 타입으로 포멧하겠다는 뜻이 됩니다.


fsck
fsck -t [파일 시스템 타입] [디바이스명] 의 형식으로 사용하는 것으로,
손상 된 파일시스템을 점검하고 복구해 주는 역할을 합니다.
fsck -t ext3 /dev/sda 같은 형식으로 사용할 수 있으며, 마운트를 해제하고 진행해야 합니다.
(fsck.ext3 /dev/sda 와 같이 사용할 수 있습니다)


uptime
시스템의 부하율을 보여줍니다.
12:54:21 up  3:28,  2 users,  load average: 0.00, 0.03, 0.04
이런 형식으로 출력되며
맨 끝의 3개의 숫자들은 지난 1분, 5분, 15분동안의 시스템 부하율을 각각 평균으로 보여주는 것입니다.


top, htop
시스템 모니터링을 위한 명령입니다.


free
메모리의 사용현황을 보여줍니다.


tar
묶을 때 : tar cvfz (압축파일.tar.z) (압축대상파일 및 디렉토리)
풀 때 : tar xvfz (압축파일.tar.z)


옵션
c : 여러개의 파일을 하나의 파일로 묶어 tar파일을 생성할 때 사용 (압축하지 않고 묶기만 하는 것)
f : tar파일을 사용할 때에는 반드시 포함
v : 파일들의 내용을 보려고 할 때 사용
x : 묶인 파일을 다시 풀어줄 때
z : 압축과 관련 된 옵션 (z 옵션이 들어가면 파일 확장자가 tar.z 가 되고, z 옵션이 없으면 tar 가 됩니다)


halt
시스템을 종료합니다.
halt 명령 후 10초 정도 지나면 usb의 led 가 깜빡거리다가 꺼지는 것을 볼 수 있고,
그 후에 플러그를 빼주시는 게 좋습니다.


reboot
시스템을 재부팅 합니다.


* 파일의 삭제, 복사, 이동 등의 명령어는 왠만큼 FTP 클라이언트로 대체 가능하여 제외 하였다.
 
리눅스의 기본 파일 시스템 및 계층구조
1. 파일시스템(/)
'/'은 최상위 루트 디렉터리로 리눅스의 모든 디렉터리들의 시작점이다.
2. /boot
리눅스 부트로더(Boot Loader)가 존재하는 디렉터리이다.
3. /bin
기본적인 명령어(실행파일)가 저장된 디렉터리이다.
4. /dev
시스템 장치(device)파일을 저장하고 있는 디렉터리이다.
5. /etc
시스템의 거의 모든 설정파일이 존재하는 디렉터리(서비스)이다.
6. /home
일반 사용자의 홈디렉터리 생성 위치이다.
7. /lib
커널모듈파일과 라이브러리파일(언어소스파일)들이 들어 있는 디렉터리이다.
8. /lost+found
파일시스템마다 존재할 수 있는 디렉터리로 파일시스템 체크(점검) 및 복구 유틸리티 실행 후 주로 생성되는 것이다.
9. /media
로컬 장치파일이 들어있는 디렉터리이다.
10. /mnt
원격 장치파일이 들어있는 디렉터리이다.
11. /proc
가상화 파일시스템이 들어 있는 디렉터리이다. (커널, 프로세스등)
12. /root
루트(root)의 홈 디렉터리이다.
13. /sbin
시스템 명령어가 들어 있는 디렉터리이다. (root 만이 사용할 수 있는 명령어)
14. /tmp
임시저장파일이 들어있는 디렉터리 일명 "공용디렉토리" . 시스템을 사용하는 모든 사용자들이 공동으로 사용하는 디렉토리이다.
15. /usr
시스템이 아닌 일반 사용자들이 주로 사용하는 디렉터리이다.
16. /var
시스템로그파일,메일파일등이 들어있는 디렉터리로 시스템운용중에 생성되었다가 삭제되는 데이터를 일시적으로 저장하기 위한 디렉터리이다.
이렇듯 리눅스의 계층구조는 최상위 디렉터리 '/' 아래로 'boot', 'bin', 'dev', 'mnt', 'sbin' 그외 여러 하위 디렉터리로 구성되어 있다.

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

리눅스 Vi / Vim 편집기 명령어 익히기

 

 

Linux vi편집기 명령어  

리눅스에서 작업을 도와주는 리눅스 단축명령어을 이용하며  편합니다.
vi 편집기를 처음시작하면 명령어 모드상태가 되며 이 상태에서 문자입력시 사용되는 명령어를 이용하여
입력모드로 들어갑니다. 이 후 명령어모드와 입력모드간의 변경은 esc키를 이용하여 변경하며
명령어모드에서 :키를 입력하면 마지막 라인모드가 됩니다.
아래 vi명령어를 정리해 두었으며  되로록 자주 사용하면서 습득하는 것이 좋습니다.

vi , vim 편집기 명령어 ( vi를 더 개량 한 것이 vim 편집기 이다.

1. vi 시작 및 종료
   vi  filename  : vi를 시작하여 지정한 파일 편집
   vi file1 file2 ... filen   :   여러개의 파일을 동시에 편집
   vi -r filename   :  비정상적인 vi 모드의 종료 등에 의한 편집파일 복구모드에서 작업
 
   [vi 종료 및 파일 생성]
   :q   -   수정하지 않았을 경우 종료하기
   :q!  -    수정한 것을 저장하지 않고 종료하기
   :w   -    저장하기
   :w!  -    읽기 전용의 파일을 저장하기
   :wq-    저장하고 종료하기
   ZZ  -   저장하고 종료하기
   :w new_file_name    -   새로운 파일이름으로 저장하기
   :w %.new   -   현재 파일 이름에 .new를 붙여서 새로운 파일로 저장
   :n,$ w file_name   -   n줄부터 끝줄까지 file_name으로 저장하기
   :.,n w file_name   -   현재줄부터 n줄까지 file_name으로 저장하기
   :n1, n2 w file_name   -   n1줄부터 n2줄까지 file_name으로 저장하기
   :n1, n2 w >> file_name  -   n1줄부터 n2줄까지를 file_name으로 추가하기
 
   [파일관리]
   :w [file-name]   -   현재 내용 저장
   :w! [file-name]   -   기존의 파일에 덮어 쓰기
   :e file-name   -   파일 불러오기
   :e! file-name   -   현재 내용을 저장않고 새 파일 불러오기
   :e#   -   직전 편집 파일 불러오기 - 여러 개의 파일을 동시 작업시
   :r file-name   -   현재 커서 위치에 파일 내용 삽입
 
2. 모드전환
   명령모드 --->  입력모드 : a, A, i, I, o, O, ....
   입력모드 --->  명령모드 : Esc Key
 
3. 편집
   - 텍스트를 편집하기 위해선 먼저 입력 모드로 변경해야 한다.
   - vi 편집기에서 명령모드에서의 키는 다음의 약어를 암기한다.
   d : delete 삭제
   c : change 변경
   y : yang 복사
   p : paste 붙이기
   w : word 단어
   u : undo 취소
   $ | ^ : 줄의 끝 | 시작
 
 
   [텍스트의 추가 및 삽입]
   i (insert)   -   현재 커서가 있는 위치에 새로운 텍스트를 끼워 넣는 기능
   I (insert)   -   현재 줄의 처음부터 새로운 텍스트를 끼워 넣는 기능
   a (append)   -   현재 커서가 있는 위치 다음부터 입력하는 기능
   A (append)   -   현재 줄의 끝에 텍스트 입력하는 기능
   o (open)   -   현재 커서가 있는 다음 줄에 행을 삽입하여 편집
   O (open)   -   현재 커서가 있는 앞줄에 행을 삽입하여 편집
 
   [문자 복사 및 삭제와 복구]
   x  -   한번에 커서 뒤의 한 글자를 삭제
   X  -   한번에 커서 앞의 한 글자를 삭제
   숫자1, 숫자2d   -   파일의 숫자 1행에서 숫자 2행까지 삭제
   dd   -   한 라인을 삭제하고 그 내용을 버퍼에 저장
   ndd  -   현재 line부터 n개의 line을 지우고 그 내용을 버퍼에 저장
   dw   -   한 단어를 삭제
   D   -   현재 커서의 위치에서 그 행의 끝까지 삭제
   u  -   마지막에 실행한 명령을 취소하고 명령 실행 이전으로 복구
   U  -   u에 의해 취소된 명령 재실행
   ^r  -   u에 의해 연속적으로 취소된 명령을 연속적으로 재실행
   nY  -   다음 줄부터 n줄을 버퍼에 복사
   yw   -   한 단어 복사
   y$   -   커서 위치에서  그 줄 끝까지 복사
   yO   -   커서 위치에서 그 줄 처음까지 복사
   yG  -   커서 위치에서 문서의 끝까지 복사
   :n1,n2 y  -   n1번 line에서 n2번 line까지를 버퍼에 저장
   p | P   -   버퍼의 내용을 현재 line 뒤/앞에 붙인다
   :n1,n2 t n3   -   n1번 line에서 n2번 line까지를 n3번째 line 뒤에 복사
   :n1,n2 m n3   -   n1번 line에서 n2번 line까지를 n3번째 line 뒤에 이동
 
4. 이동
   ^은 Control Key를 의미하고, 아래에서 ^?은 ^과 다른 키(?)를 함께 누르는 것을 의미한다.
   아래에서 n은 숫자를 의미한다.
 
   [커서의 이동]   -   커서의 이동은 명령 모드에서 가능하다.
   한글자 이동   -   h(왼쪽으로 한 글자 이동)  l(오른쪽으로 한 글자 이동)
   한 행 이동   -  j(아래로 한 행 이동)  k(위로 한 행 이동)
   한 화면 이동   -   ^f/^b: 한 화면 아래/위로 이동(forward/backward)
   반 화면 이동   -   ^d/^u : 반 화면 아래/위로 이동(down/up)
   한 단어 이동   -   w,W(한 단어 앞으로 이동), b, B(한단어 뒤로 이동),e(단어의 끝으로)
   행 지정 이동   -   nG(지정한 행으로 커서를 이동)
 
   [커서 이동]
   G  -   파일의 맨 끝으로 이동
   nG  -   n번째 줄로 이동
   :n  -   n번째 줄로 이동
   (, n(   -   현재 문장의 선두(위의 n번째 선두)로 이동
   ), n)   -   다음 문장의 선두(아래의 n번째 선두)로 이동
   {, n{   -   현재 문단의 선두(위의 n번째 선두)로 이동
   }, n}   -   다음 문단의 선두(아래의 n번째 선두)로 이동
   [ + [   -   이전 블록({})의 처음으로 이동
   ] + ]   -   다음 블록({})의 처음으로 이동
   ^ (6)   -   커서가 위치한 줄에서 맨앞으로 이동(빈칸무시)
   O(숫자)   -   커서가 위치한 줄에서 맨앞으로 이동(공백을 제외한 맨앞)
   $   -   커서가 위치한 줄에서 맨뒤로 이동
   H | M | L   -   화면상에서 커서를 처음/중간/마지막 줄로 이동
 
   [검색 & 치환]
   :s/string  -   string을 탐색
   /string  -   string이라는 문자를 현재의 위치에서 탐색
   ?string   -   string이라는 문자를 현재의 위치에서 역으로 탐색
   n   -   한번 탐색한 문자열을 연속적으로 탐색
   N   -   한번 탐색한 문자열을 역으로 연속적으로 탐색

   [문자 치환]   n은 숫자를 나타냄
   rc  -   현재 문자를 c로 치환
   R  -   현재 커서부터 Esc 문자가 입력될 때까지 치환
   s   -   현재문자를 삭제하고 입력모드로 전환
   ns   -   현재부터 n문자를 삭제하고 입력모드로 전환
   S   -   현재줄을 삭제하고 입력모드로 전환
   [단어 치환]   n은 숫자를 나타냄
   cw  -   한 단어를 치환하고 입력 모드로 전환
   ncw  -   현재부터 n단어를 삭제하고 입력 모드로 전환
   cc   -   현재 줄을 삭제하고 입력모드로 전환
   ncc   -   현재 줄부터 n줄을 삭제하고 입력모드로 전환
   C   -   현재 커서부터 줄 끝까지의 내용을 삭제하고 입력 모드로 전환
   nC   -   현재 커서부터 n줄까지 내용을 삭제하고 입력 모드로 전환
 
5. 환경 설정 및 기타 기능
   [set 및 기타]
   :set nu | nonu   -   line번호를 보여/안보여 준다
   :set ai | noai   -   자동 들여 쓰기/취소
   :set shiftwidth=4   -   들여쓰기 폭을 4문자로 설정
   :set cindent   -   C프로그램을 작성시 활용할 수 있는 자동 편집 기능
   :set all   -   set 변수 보기
   :set  -   현재 설정된 set 상태
   :syntax on | off\   -   색문자의 사용 on|off
 
   [환경 설정]
   set 등의 환경 초기 설정을 지정함으로 하여 vi 실행시에 초기 설정에 의한 작업 환경 홈디렉토리에 .exrc
   또는 .vimrc에 사용하고자 하는 설정을 편집한다.
 
   [태그 기능]     지정된 표시의 위치로 이동할 때 사용
   m + a   -   현재의 위치를 a위치로 표시(marking)
   m + c   -   현재의 위치를 c위치로 표시(marking)
   ' + a   -   a 표시된 위치로 이동
   ' + c   -   c 표시된 위치로 이동
   ' + '   -   '를 연속 두 번 누르면 이전 작업 위치로 이동
 
   [문자 buffer 기능]     각 문자에 대해 버퍼로 활용 가능
   " + a + y5y   -   문자 a에 현재 줄부터 5줄을 저장
   " + a + p   -   문자 a에 저장된 5줄의 내용을 붙여 넣기
 
   [기타]
   J   -   현재 줄과 다음 줄을 합침
   ~  -   대소문자로 상호 변환
   ^v + m   -   제어문자인 ^M문자를 현재의 위치에 삽입
   .(dot)   -   조금전 실행한 기능을 반복 실행
   ctrl + g   -   편집 중인 파일 이름과 현재 위치를 확인
   ctrl + l   -   Refresh (화면갱신)
   ctrl + 6   -   2개의 파일을 동시에 편집하고 있을 때 상호 이동

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

리눅스(LINUX) 운영체제 이해와 와 리눅스 프로그램의 기초


컴퓨터 운영체제의 하나 . 1991 년 핀란드 헬싱키 대학에 재학중이던 리누스 토발즈 (Linus Tovalds)에 의해 개발돼 그해 11 월 버전 0.10 이 공개되면서 보급되기 시작되었으며 리눅스는 중대형 컴퓨터의 운영체제인 유닉스를 응용하여 개인용 컴퓨터에서도 유닉스와 비슷한 환경을 구현할 수 있게 되었고 리눅스의 가장 큰 매력은 프로그램의 소스를 공개하여 누구나 무료로 자기 환경에 맞게 사용할 수 있도록 하자는 ‘오픈소스 ’ 정신을 바탕으로 되있다 .
리눅스는 공개용 프로그래밍이라 윈도우와는 달리 여러 가지 변형된 제품들이 나오고 있으며 , 무료로 제공된다는 이점 때문에 많은 개인 사용자들이 사용하고 있다 . 
오늘은 프로그램 개발자에게 필요한 리눅스 자격증 취득은 국제자격증 시험센터를 갖추고 있는 전문교육기관에서 교육 수료하시고 시험응시와 자격증 수료까지 할 수 있다 .프로그램 개발자들은 대부분 C 언어 C++ 그리고 자바 , JSP 컴퓨터 언어를 다루며 개발 환경 운영체제는 리눅스와 윈도우를 많이 사용하게 되는데 요즘은 윈도우보다는 리눅스를 많이 활용하게 된다 .그만큼 많은 개발자와 프로그램 개발자로 진출하려는 학생과 기업에서 오픈소스기반 리눅스를 많이 활용 고 있기 때문이다 . 리눅스는 대표적으로 임베디드 프로그래밍과 안드로이드 프로그래밍 그리고 현재 많은 인기를 끌고 있는 빅데이터전문가 데이터 분석 프로그램 "하둡 "이라는 프로그램에서도 리눅스 운영체제 기반으로 개발을 하고 있다 . 또한 소프트웨어공학과 , 컴퓨터공학과 , 전기전자공학과 등등 많은 IT 전공 대학교에서도 리눅스는 필히 배우고 졸업하는 전공 필수 또는 전공 핵심 과목으로 커리큘럼이 짜여져 있다 . 그래서 IT 전공 대학교를 입학하는 많은 젊은 학생들이 입학전 전공대비용 C 언어 C++ 자바와 리눅스를 많이 배우고 입학을 하고 있다 . 또한 개발자들도 실무 기술은
있지만 다른 회사로 이직은 한다거나 취업을 도전할 때 리눅스 자격증 취득요구하기도 하기 때문에 많이 리눅스를 배우고 있다 .
 



리눅스를 사용하는 이유는 모든 소스가 오픈되어 있기때문에 광범위하게 사용되는 것이며 또한 앞에 말했듯이 다중사용자 , 다중 작업을 지원하기 때문이고 다중 사용자와 다중 작업 시스템 특징으로는 서버를 운영하기에 적합하고 , 계정 , 비밀번호를 요구합니다 . 인터넷 웹사이트의 경우 화면에 광고와 뉴스 회원가입이 존재합니다 . 웹사이트에서 광고 , 뉴스 , 회원가입을 담당하는 관리자가 최고 권한자가 된다면 서로의 영역에 침범이 가능하게 됩니다 . 따라서 , 그러한 상황에 대해 각각의 관리자의 계정 , 비밀번호가 존재해야하고 접근권한을 주어야 합니다 . 리눅스에서는 루트가 이런 권한을 주게 되어 있습니다 .
 
리눅스는 얼마 전부터 대세라고 언능 언능 공부하라고 하는데 사실 아직까지도 실무에서는 윈도우를 많이 보게된다
윈도우가 리눅스보다 많이 친근하고 회사 담당자 분들 또한 관리하기 위해서 윈도우를 많이 사용하고 있으며
그러나 리눅스는 가벼운 운영체제로서 활용만 잘한다면 ,윈도우보다 굉장히 뛰어난 가용성을 가지고 있다고 하겠다
앞으로는 리눅스가 대세가 되지 않을까 생각된다

 

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,