개발자

ALL

Perl caller 사용하여 로그에 함수명 출력

펄을 이용한 프로그램에서 동작 확인을 하기 위해 로그를 출력하는 경우가 대부분입니다. 특히 문제가 발생했을 경우 로그는 중요한 정보입니다. 그중에서도 어디에서 버그가 발생했는지 확인하려고 할 때 함수명까지 로그에 출력 된다면 문제를 찾는데 많은 도움이 됩니다. 하지만 로그에 함수명을 출력하도록 설정하는 경우, 함수 시작 부분에서 로그 파일에 함수명을 출력하도록 직접 함수명을 작성해두면, 나중에 수정이 발생하거나, 함수명이 바뀌었을 때 다시 작업을 해줘야 하는 번거로움이 있습니다. Perl에서는 함수에 관한 정보를 얻을 수 있는 함수...
ALL

Perl 해시 데이터 출력하여 디버그 하기. 4가지 방법

소스를 작성하고 문제가 발생했을 경우에 디버그를 통해 어디에서 문제가 생겼는지 확인을 해야 하는 경우가 있습니다. Perl에서도 디버그를 통해 값을 확인해야 하는 경우에 조금 번거롭습니다. 일반 변수의 경우에는 print를 사용하여 값을 출력하면 되지만 해시 데이터의 경우에는 번거로워집니다. PHP처럼 var_dump()가 있으면 간단하게 해시 데이터를 확인할 수 있을 것입니다. 이번에는 Perl에서 해시 테이터를 출력하는 방법을 알아보겠습니다. print 출력 Perl은 PHP와 다르게 print로 스칼라, 배열, 해시가 모두 출...
ALL

Perl sort 펄 배열 정렬 하기 오름차순, 내림차순

Perl(펄)에서 정렬 하는 기능을 살펴 보겠습니다. 배열이나 해시에 값을 저장하여 사용하는 경우가 많습니다. 단순 배열이나, 해시의 경우를 정렬해야 하는 경우도 있지만 경우에 따라 다차원 배열이나 다차원 해시를 배열 해야 하는 경우도 있습니다. 또는 배열과 해시를 동시에 사용하는 배열이나 해시를 정렬 해야하는 경우도 있습니다. 여러가지 경우를 샘플로 작성하였습니다. 배열 숫자 정렬 my @arr = (3, 2, 8, 6); foreach ( sort { $a <=> $b } @arr ){ print $_, "\n"; } 결과 2 ...
ALL

Perl 문자열 검색과 디렉토리 조작 사용 방법 예제

코멘트 프로그램을 작성할 때에 소스 내용을 알아보기 쉽도록 메모를 남겨두는 경우가 있습니다. 이것을 코멘트 또는 주석이라고 부릅니다. Perl에서는 샾(#)기호로 코멘트를 작성할 수 있습니다. 프로그램이 실행될 때는 무시됩니다. 이것을 이라고 합니다. $data = 'I am a boy' # 데이터를 출력 print $data; 위 코드의 경우 3행을 코멘트로 취급하고 있습니다. 코멘트는 다음과 같이 소스 뒤에 붙여서도 사용할 수 있습니다. $data = 'I am a boy' print $data; # 데이터를 출력 그리고 여러행...
ALL

Perl 서브 루틴 함수 사용 방법 예제

서브루틴이란 스크립트 내부를 모듈화(부품화) 하는 것을 말합니다. 이른바 자신으로 함수를 작성, 정의하는 방법입니다. 이러하듯 서브루틴은 라고도 불리고 있습니다. 스크립트를 작성할 때에 서브루틴을 사용하는 것으로의 장점으로는 다음 2가지가 있습니다. 서브루틴 정의 및 호출 1. CGI 스크립트 안에서, 어떠한 처리를 몇 번을 반복 사용하고 싶은 경우에, 그 처리 부분을 모듈화해서 호출하는 것으로 효율적인 프로그램을 작성할 수 있다. 2. CGI 스크립트 소스가 길어지게 되면 일반적으로 스크립트 전체의 흐름을 이해하기 어려어 지기 때...
ALL

Perl 정규 표현식 패턴 매치 사용 방법 예제

정규표현식이란 어느 특정 문자열이 아닌 문자열의 일부를 패턴화해서 표현하는 방법을 말합니다. 여러 행이 있는 문장의 안에서 문자열을 검색할 때에 검색하고 싶은 문자열 전부를 지정하는 것이 아닌 문자열의 일부분으로 검색 가능하게 하는 것이 정규식 표현입니다. 예를 들어, UNIX나 Windows에서는 문자열을 검색할 때에 사용 가능한 정규식 표현으로 를 임의의 문자열에 를 임의의 하나의 문자로 해서 사용할 수 있습니다. 검색 패턴을 app*으로 지정하면 apple 이나 application 또는 appeal등의 문자열이 매칭되는 것을...
ALL

Perl 파일 조작과 파일 핸들러 사용 방법 예제

Perl에서는 파일 입출력 파일 핸들러라는 것이 있습니다. 파일 핸들러는 지금 어느 파일을 처리하고 있는지를 관리하기 위한 것입니다. 파일을 읽거나 쓰는 것을 하기 위해 우선 파일을 열고 파일 핸들러와 관계를 맺어줍니다. 그리고 파일 핸들러를 조작하는 것이 기본 조작법입니다. 표준 입출력 Perl에는 특별한 파일 핸들러로 다음과 같은 3개가 있습니다. 파일 핸들러의미내용STDIN표준 입력파이프나 리다이렉트 시에 데이터를 읽어옴.커맨드 라인의 경우에는 키보드.STDOUT표준 출력파이프나 리다이렉트 시에 데이터를 출력.커맨드 라인의 경...
ALL

Node.js 라우터(Router) 사용 방법 및 예제

Express를 사용하는 이유 중 하나가라우팅을 깔끔하게 관리할 수 있다는 점이다. 예를 들어, app.js에서 app.get 같은 메서드가 라우터 부분이다. 그러나라우터를 많이 연결하면app.js코드가 많이 길어진다. Express에서는 라우터를 분리할 수 있는 방법을 제공한다. routes폴더를 만들고 그 안에index.js와user.js를 다음과 같이 작성해주자. 라우터 설정 index.js 파일 // routes/index.js const express = require('express'); const router = exp...
ALL

Node.js express 설치 및 사용 방법 예제

Expresss는Node.js의 프레임워크입니다. Node.js 사용해 웹 개발을 하는 경우Expresss프레임워크를 사용하면 더욱더 간편하게 개발을 할 수 있게 도와줍니다. Expresss 프레임워크의 특징을 간략하게 보겠습니다. 프렘임워크중 점유일이 가장 높다. 많은 개발자들이 사용하고 있어 정보들을 많이 얻을 수 있다. 확장 모듈이 많이 있고 추가하기 용이하게 되어있다. Express 설치 방법 Express를 설치하기 위해서는 Node.js이 설치되어 있어야 합니다. Express 설치는npm커맨드를 사용해 인스톨합니다. n...