TCP/IP
  - 컴퓨터끼리 네트워크 상으로 의사소통을 하는 "프로토콜" 중 가장 널리 사용되는 프로토콜의 한 종류
 


호스트 이름(Hostname)과 도메인 이름(Domain name)
  - 호스트 이름은 네트워크 상에서 각각의 컴퓨터에 지정된 이름
  - 하나의 범위 도메인 이름(또는 도메인 주소)는 hanbit.co.kr과 같은 형식 



IP 주소
  - 각 컴퓨터의 랜카드에 부여되는 중복되지 않는 유일한 주소
  - 4바이트로 이루어져 있으며, 각 자리는 0~255까지의 숫자 
  - 예) Server의 IP 주소는 192.168.111.100



네트워크 주소
  - 같은 네트워크에 속해 있는 공통된 주소 (예 : 192.168.111.0)
 


브로드캐스트(Broadcast) 주소
  - 내부 네트워크의 모든 컴퓨터가 듣게 되는 주소
  - 현재 주소의 제일 끝자리를 255로 바꾼 주소(C클래스기준)



게이트웨이(Gateway), 라우터(Router)
  - 라우터 = 게이트웨이
  - 네트워크 간에 데이터를 전송하는 컴퓨터 또는 장비
  - 예) VMware의 게이트웨이 주소는 192.168.111.2로 고정



넷마스크(Netmask) & 클래스(Class)
  - 넷마스크 : 네트워크의 규모를 결정(예 : 255.255.255.0-C클래스)



DNS(Domain Name System) 서버(= 네임서버) 주소
  - URL을 해당 컴퓨터의 IP주소로 변환해주는 서버
  - 설정 파일은 /etc/resolv.conf
  - 예) VMware를 사용하면 VMware가 192.168.111.2번을 게이트웨이 및 DNS 서버로, 192.168.111.254를 DHCP 서버로 설정함





리눅스에서의 네트워크 장치 이름
  - CentOS 7은 랜카드를 ens32 또는 ens33으로 할당함
  - 이전버전에서는 eth0, eth1 등으로 인식했음.
  - VMware에 CentOS를 설치할 경우에는 VMware 버전에 따라서 완전히 다른 이름으로 인식할 수도 있음.





출처 : https://www.youtube.com/watch?v=qsJve4r1FDU&list=PLVsNizTWUw7EoFNBhIdVFp9eT6P22hU1o&index=19


매주 사용하는 것이면 CRON으로 설정 일호


CRON (
  - 주기적으로 반복되는 일을 자동적으로 실행될 수 있도록 설정
  - 관련된 데몬(서비스)은 "crond", 관련 파일은 "/etc/crontab"





- /etc/crontab 예
     - 01 * * * * root run-parts /etc/cron.hourly     //매일 매월 매시 1분마다 실행
     - 02 4 * * * root run-parts /etc/cron.daily       //매월 매일 4시 2분만다 실행
     - 03 4 * * 0 root run-parts /etc/cron.weekly    //매월 일요일 4시 3분마다 실행
     - 42 4 1 * * root run-parts /etc/cron.monthly  //매월 1일 4시 24분에 실행
     ※ [분] [시] [일] [월] [요일] [실행할 사용자] [모두실행하라(생략가능)] [실행할 파일]
  

- 첫 줄은 매시간 1분에 /etc/cron.hourly 디렉터리 안에 있는 명령들을 자동으로 실행한다.


AT
  - CRON은 매주 반복되는 작업을 예약 그러나  AT은 일회성 작업을 예약
  - 사용 예
     - 예약 : # at <시간>
          예) # at 3:00am tomorrow -> 내일 새벽 3시
               # at 11:00pm January 30 -> 1월 30일 오후 11시
               # at now + 1 hours -> 1시간 후
     - at> 프롬프트에 예약 명령어 입력 후 [Enter]
     - 완료되면 [Ctrl] + [D]
     - 확인 : # at -l
     - 취소 : # atrm <작업번호>



실습해보기 

1. contab 파일 열기 

# vi /etc/crontab

# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name  command to be executed




2. 예약날짜 추가하기 

//매월 15일 3시 1분에 root사용자 /etc/cron.monthly파일을 실행해라

01 3 15 * *  root run-parts /etc/cron,monthly





3. 백업하기 위해 etc/cron.monthly파일로 이동 

# cd /etc/cron.monthly

# vi mybackup.sh


set $(date) 

#월과일의 이름으로 저장

fname="backup-$2$3.tar.xz"

# /home디렉토리의 내용을 묶어서 /backup 파일아래 fname으로 저장 

tar cfJ /backup/$fname /home


3-1. 실행권한주기 

chmod ugo+x myBackup.sh


4. 폴더 만들고

[root@localhost cron.monthly]# mkdir /backup




5. 확인하기 위해서 시간을 변경

1월 15일 03:00분  

date 011503002019


6. 다시시작

[root@localhost cron.monthly]# systemctl restart crond



//원래시간으로 되돌리기

rdate -s time.bora.net




AT 사용해보기 

1. 내일 4시에 yum 업데이트 해보기 

# at 4:00 am tomorrow

#설정할 명령 쓰기 

at> yum -y update

at> reboot

at> 컨트롤 +D 누르기 

예약완료


삭제하는 방법 

1. 삭제할 번호쓰기 

# atrm  번호


2.확인하기

at -l





출처 https://www.youtube.com/watch?v=AAYtHREIo2Y&list=PLVsNizTWUw7EoFNBhIdVFp9eT6P22hU1o&index=18



시스템 설정해보기 
# system-config-date

※ 만약에 없다면 설치
  예) # yum -y install system-config-date


- 날짜 및 설정 (system-config-date)

 #system-config-date

- 네트워크 설정 (nmtui)

 #nmtui

- 방화벽 설정 (firewall-config)

 #firewall-config

- 서비스 설정 (ntsysv)

 #ntsysv



- 그외 설정
  - system-config-keyboard -> 키보드 설정
  - system-config-language -> 언어 설정
  - system-config-printer -> 프린터 설정
  - system-config-users -> 사용자 설정
  - system-config-kickstart -> 네임 서버 설정

 

출처입니다. : https://www.youtube.com/watch?v=AAYtHREIo2Y&list=PLVsNizTWUw7EoFNBhIdVFp9eT6P22hU1o&index=18




'리눅스' 카테고리의 다른 글

중요한 네트워크 관련 명령어  (1) 2018.07.16
네트워크 관련필수 개념  (0) 2018.07.16
CRON 과 AT  (0) 2018.07.16
4장 8교시 find명령어 파일위치를 검색해보기  (0) 2018.07.16
04장 08교시 : 파일 압축과 묶기  (0) 2018.07.16
- find [경로] [옵션] [조건] [action] : 기본 파일 찾기 (가장 자주 사용 됨)
     - [옵션] -name, -user(소유자), -newer(전,후), -perm(허가권), -size(크기)
     - [action] -print(디폴트), -exec(외부명령 실행)

   


      - 사용 예         
           # find /etc -name "*.conf"

# find /home -name "*.swp" -exec rm {} \;

//찾을 파일을 저장하기 
# find /etc -name "*.conf" > conf.txt

//해당사용자의 파일목록보기 
# find /home -user 해당사용자이름

//파일 크기로 구하기 95 이상 100k이하인파일
# find /usr/bin -size +95k -size -100k


      
  

//find 상태에서 ls -ㅣ로 보고 싶은경우
//앞의 내용이 중괄호들어가서 실행됩니다.
# find /usr/bin -size +95k -size -100k -exec ls -l {} \;






- which 실행파일이름 : PATH에 설정된 디렉터리만 검색
- whereis 실행파일이름 : 실행파일, 소스, man페이지 파일까지 검색
- locate 파일이름 : 파일목록 데이터베이스에서 검색

 






출처: https://www.youtube.com/watch?v=AAYtHREIo2Y&list=PLVsNizTWUw7EoFNBhIdVFp9eT6P22hU1o&index=18

'리눅스' 카테고리의 다른 글

중요한 네트워크 관련 명령어  (1) 2018.07.16
네트워크 관련필수 개념  (0) 2018.07.16
CRON 과 AT  (0) 2018.07.16
4장 8교시 시스템 설정  (0) 2018.07.16
04장 08교시 : 파일 압축과 묶기  (0) 2018.07.16

파일 압축

  - 압축파일 확장자명은 xz, bz2, gz, zip, Z 등

  - xz나 bz2 압축률이 더 좋음

  ※ 리눅스의 압축은 원본파일은 없어지고 압축파일만 남는다.



파일 압축 관련 명령

  - xz : 확장명 xz로 압축을 하거나 풀어준다.

     예) xz 파일명

          xz -d 파일명.xz

  - bzip2 : 확장명 bz2로 압축을 하거나 풀어준다.

     예) bzip2 파일명

          bzip2 -d 파일명.bz2

  - bunzip2 : "bzip2 -d"옵션과 동일한 명령어

  - gzip : 확장명 gz으로 압축을 하거나 풀어준다.

     예) gzip 파일명

          gzip -d 파일명.gz

  - gunzip : "gzip -d"옵션과 동일한 명령어


파일 묶기

  - 리눅스(유닉스)에서는 '파일 압축'과 '파일 묶기'는 원칙적으로 별개의 프로그램으로 수행

  - 파일 묶기의 명령어는 'tar'이며, 묶인 파일의 확장명도 'tar'이다.

  ※ 파일 압축과는 다르게 원본파일은 남겨두고 묶인파일이 생성된다.




파일 묶기 명령(tar)

  - tar : 확장명 tar로 묶음 파일을 만들어 주거나 묶음을 풀어 준다.

     동작 : c(묶기), x(풀기), t(경로확인)

     옵션 : f(파일), v(과정보이기), J(tar_xz), z(tar_gzip), j(tar+bzip2)

  - 사용 예

     # tar cvf my.tar /etc/sysconfig/ -> 묶기

     # tar cvfJ my.tar.xz /etc/sysconfig/ /etc/sysconfig/ -> 묶기 + xz 압축

     # tar xvf my.tar -> tar 풀기

     # tar xvfJ my.tar.xz /etc/sysconfig/ -> xz 압축 해제 + tar 풀기



출처 : https://www.youtube.com/watch?v=AAYtHREIo2Y&list=PLVsNizTWUw7EoFNBhIdVFp9eT6P22hU1o&index=18

'리눅스' 카테고리의 다른 글

중요한 네트워크 관련 명령어  (1) 2018.07.16
네트워크 관련필수 개념  (0) 2018.07.16
CRON 과 AT  (0) 2018.07.16
4장 8교시 시스템 설정  (0) 2018.07.16
4장 8교시 find명령어 파일위치를 검색해보기  (0) 2018.07.16

/극장정보가 클릭 되었을 때 상세 주소를 가져오는 스크립트 

$(document).on('click', '.step-place-li', function(event){

event.preventDefault();

//몇번째 데이터인지 알아보기

var index = $(".step-place-li").index(this);

//클릭된 인자의 값을 알아내어 a태그의 값을 가져오기 

addr = $(".select-place:eq(" + index + ")").attr('href');

detailAddr(addr);

});


수락

Ajax를 이용해서 뿌려준 데이터에 이벤트를 처리하려고 했을 되지않았다 대부분의 

이벤트 처리는 아래와 같은 방식으로 처리한다

  1. $('.everdevel').click(function(){


그러나 ajax로 뿌려준 데이터는 아래와 같은 방식으로 처리해야한다.

문제는 .click이 이미 페이지에있는 요소에만 작동한다는 것입니다. on미래의 요소를 연결 하는 것과 같은 것을 사용해야 합니다.

$(document).on("click",".step-place-li", function(){
  alert("success");
});


$("#movieplace").on("click",".step-place-li", function(){
  alert("success");
});



출처 :https://stackoverflow.com/questions/17715274/jquery-click-function-doesnt-work-after-ajax-call

'FRONT-END > Jquery' 카테고리의 다른 글

선택된 인자가 몇 번째인지 찾는 방법  (0) 2018.06.17

AOP 관점지향 프로그래밍 


Aspect Oriented Programming(관점 지향 프로그래밍): 객체 지향 프로그래밍을 보완하는 

개념으로 메소드나 클래스를 관점에 따라 분리시켜서 구현하는 프로그래밍 방법

하나의 메소드에 비지니스 로직을 수행하는 문장과 공통으로 사용하는 ㅁ눈장이 같이 존재할 때 이를 분리해서 구현하기 위한 프로그래밍 방식 

관점지향 프로그래밍이라고 하는데 spring에서는 공통으로 사용하는 문장을 별도의 클래스에 작성해서 분리를 할 수 있는 기능을 제공합니다.

실행될 때 코드를 합쳐서 하나의 proxy 객체를 만들어서 실행합니다. 




**AOP 적용

AOP: 하나의 메소드에 비지니스 로직을 수행하는 문장과 공통으로 사용하는 문장이 같이 존재할 때 이를 분리해서 구현하기 위한 프로그래밍 방식

관점 지향 프로그래밍이라고 하는데 spring에서는 공통으로 사용하는 문장을 별도의 클래스에 작성해서 분리를 할 수 있는 기능을 제공합니다.

실행 될 때 코드를 합쳐서 하나의 proxy 객체를 만들어서 실행합니다.


=>Dao 클래스의 메소드가 호출될 때의 시간을 매일 파일에 기록하는 AOP


1.advice로 사용될 클래스를 생성

=>kr.co.pk.advice.LoggingAdvice


package kr.co.pk.advice;


import java.io.FileOutputStream;

import java.io.PrintWriter;

import java.util.Calendar;


import org.aspectj.lang.ProceedingJoinPoint;

import org.aspectj.lang.annotation.Around;

import org.aspectj.lang.annotation.Aspect;

import org.springframework.stereotype.Component;


//객체를 자동으로 생성하기 위한 어노테이션

@Component

//Advice 클래스로 만들기 위한 어노테이션

@Aspect

public class LoggingAdvice {


//advice로 수행될 메소드

//pointcut 작성

//접근지정자는 public 다음 *은 모든 리턴 타입

//kr.co.pk.. 은 kr.co.pk 패키지 안에 있는 모든

//*Dao 는 Dao로 끝나는 클래스 .* 은 메소드 이름이 무엇이든지

//(..)은 매개변수 개수에 상관없이

@Around("execution(public * kr.co.pk..*Dao.*(..))")

public Object invoke(ProceedingJoinPoint joinPoint)

throws Throwable{

//pointcut으로 설정된 메소드가 호출되기 전에 수행할 내용

//메소드 이름 가져오기

String methodName = joinPoint.getSignature().toLongString();

//현재 시간 만들기

Calendar cal = Calendar.getInstance();

java.util.Date date = new java.util.Date(

cal.getTimeInMillis());

//파일에 문자열 기록하기 - 파일이 존재하면 이어쓰기

FileOutputStream fos = 

new FileOutputStream("d:\\log.txt", true);

//문자열을 기록할 수 있는 클래스의 객체 만들기

PrintWriter pw = new PrintWriter(fos);

//파일에 기록

pw.println(methodName + " " + date.toString() + "\n");

pw.flush();

pw.close();

Object obj = joinPoint.proceed();

//pointcut으로 설정된 메소드가 호출 된 후에 수행할 내용

return obj;

}

}


2.pom.xml 파일에 aop를 사용하기 위한 의존성 라이브러리를 추가

<dependency>

<groupId>org.aspectj</groupId>

<artifactId>aspectjweaver</artifactId>

<version>1.8.8</version>

</dependency>


<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-aop</artifactId>

<version>${org.springframework-version}</version>

</dependency>


<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-aspects</artifactId>

<version>${org.springframework-version}</version>

</dependency>


3.servlet-context.xml 파일에 aop 네임스페이스를 추가하고 어노테이션으로 설정한 aop를 사용할 수 있는 태그를 추가

<!-- 어노테이션으로 만든 AOP 적용 -->

<aop:aspectj-autoproxy />



+ Recent posts