사용자 변경 및 아파치 소스 다운로드

$ cd /usr/local/src/
$ wget https://archive.apache.org/dist/httpd/httpd-2.4.33.tar.gz
$ wget https://archive.apache.org/dist/apr/apr-1.6.3.tar.bz2
$ wget https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.bz2
$ wget http://downloads.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.bz2


압축 해제 

$ tar xvf ./httpd-2.4.33.tar.gz 
$ tar xvf ./apr-1.6.3.tar.bz2 && mv ./apr-1.6.3 ./httpd-2.4.33/srclib/apr 
$ tar xvf ./apr-util-1.6.1.tar.bz2 && mv ./apr-util-1.6.1 ./httpd-2.4.33/srclib/apr-util 
$ tar xvf ./pcre-8.41.tar.bz2 


컴파일 준비 - 의존성 라이브러리 설치

$ yum install -y gcc make gcc-c++ expat-devel perl 

pcre 설치 

$ mv ./pcre-8.41 /usr/local/pcre 
$ cd /usr/local/pcre 
$ ./configure 
$ make && make install 

아파치(Apache) 설치

$ cd /usr/local/src/httpd-2.4.33 
$ ./configure --prefix=/home/testUser/apache_2.4.33 --with-included-apr --with-pcre=/usr/local/pcre/pcre-config 
$ make && make install 

방화벽 설정 및 웹 구동 후 접근 체크

$ firewall-cmd --permanent --zone=public --add-port=80/tcp 
$ firewall-cmd --reload 
# 포트 설정 후 
$ /home/testUser/apache_2.4.33/bin/httpd -k start 

리눅스 서비스 및 재가동 자동 실행 등록 - 참고

 

1. 변수

더보기

var 과 val 선언

var [변수명] : [변수타입] = [값]

예시 )

var cost : Int = 10

 

val [변수명] : [변수타입] = [값]

예시 )

val cost : Int = 10

 

var과 val의 차이

var은 읽기 / 쓰기 가능한 변수

val은 읽기만 가능한 변수로 자바(Java)에 final과 같은 역할은 한다.

2. 기본 소스(Default Source)

fun main(args: Array<String>){ 
	println("Hello World")
}

프로그램의 첫 장에서 모두 배우는 [Hello World]출력 소스입니다.

여기서는 문법은 함수를 선언하는 방법과 함수를 통해 받아오는 변수를 선언하는 방법을 알 수 있습니다. 

 

3. 더 나아가 If문 / For문 / When문을 작성 해보겠습니다.

fun main(args: Array<String>) {
	var numbers : IntArray = intArrayOf(10, 20, 30, 40)
    for((index, value) in numbers.withIndex()) {
        when(index) {
            0, 1 -> if(value > 15) println("$value > 15") else println("$value < 15")
            2 -> println("value : $value")
            else -> println(" else Value : $value")
        }
    }
}

위 소스에서는 배열을 선언해서 그 배열을 이용해서 세가지 문법(IF / FOR / WHEN)을 사용해 보았습니다.

다른언어에서는 스위치(Switch)문을 사용하는 형태의 문법인 when문을 사용한다는 것이며,  타 언어들은 변수 출력 부분이 일반 문장에 변수 앞에 $문구만 넣으면 바로 출력되었는 것을 확인 할 수 있습니다.

그 표현 방식도 많이 간결해진 느낌입니다. 

 

4. 다양한 배열 선언

    val x: IntArray = intArrayOf(10, 20, 30)
    for(a in x){
        println("value: $a")
    }

    var numbers : IntArray = intArrayOf(10, 20, 30, 40)
    for((index, value) in numbers.withIndex()) {
        when(index) {
            0, 1 -> if(value > 15) println("$value > 15") else println("$value < 15")
            2 -> println("value : $value")
            else -> println(" else Value : $value")
        }
    }

    var Strings : Array<String> = arrayOf("하나", "둘")
    for(str in Strings) {
        println("String Array : $str")
    }

    var numbers2 : Array<Int> = arrayOf(1, 3, 4)
    var number3 = Array(4, {i -> (i * 5) })
    for(value in number3) {
        println(value)
    }

배열을 선언하는 방식들이며, 제가 봤던 프로그램 소스에서 제일 특이한 부분은 마지막 부분의 

var number3 = Array(4, {i -> (i * 5) })

이렇게 선언한 곳입니다.  이 부분은 {i -> (i *5)} 는 람다식으로 해당 배열의 4개의 저장소 중 i번째(0, 1, 2, 3)에 i 곱하기 5를 해서 저장의 문구입니다. 

 

처음으로 올린 코틀린(Kotlin) 문법을 간단하게 올려 봤습니다. 

다음에는 클래스와 함수에 관해 올려보도록 하겠습니다. 

 

감사합니다.

  • Visual Studio 에서 IIS Express로 서버 구동시에 http://localhost:1000 과 같이 접근이 되지만 127.0.0.1 이나 컴퓨터 아이피로는 접근을 하게 되면 에러 출력.
  • 아래와 같은 설정으로 변경 가능합니다.
netsh http add urlacl url=http://*:1000/ user="사용자_아이디"
  1. command 창을 열어 자신의 포트를 열어 줍니다.

  2. 해당 부분을 변경 후에 해당 프로젝트 폴더 안에 [.vs]-[config]-[applicationhost.config]을 열어서 아래와 같이 빨간색으로 된 부분을 파란색 된 부분 처럼 변경처리 합니다. (2015버전은 사용자폴더 설정 폴더에 존재함.)

  3. 해당 파일을 저장 후에 Visual Stuio를 재시작하고 Windows 방화벽 인바운드에 해당 포트를 열어주면 접속이 됩니다.

<site name="WebSite1" id="1" serverAutoStart="true"> 
	<application path="/"> 
    	<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\\WebSite1" /> 
    </application> 
    <bindings> 
    	<!-- <binding protocol="http" bindingInformation=":8080:localhost" /> --> 
        <binding protocol="http" bindingInformation="*:8080:" /> 
    </bindings> 
</site>

+ Recent posts