1. 코틀린(Kotlin)?
 

  

코틀린은 Andorid Studio 개발사인 Jet Brains에서 2011년에 공개한 언어로 Google I/O 2017 에서 안드로이드의 공식 개발 언어로 채택되며 계속해서 성장하고 있는 언어입니다.



2. 코틀린 사용 범위

 

1) 안드로이드 개발

2) 서버개발

코틀린 공부 전까지는 안드로이드 개발을 위해서만 사용하는 줄 알았으나 서버사이드 개발에서도 사용합니다.




3. 코틀린의 장점


1) 무료 오픈 소스

코틀린 언어와 컴파일러 라이브러리 및 코틀린과 관련된 도구는 모두 오픈소스이며 어떠한 목적에도 무료료 사용 가능합니다.


2) 정적 타입 지정언어

코틀린 컴파일러가 문백으로 타입을 자동으로 유추하기때문에 변수 선언 시 모든 변수의 타입을 명시할 필요가 없습니다. 


fun main(args: Array<String>) { val test =3 println("test >> "+test) println("test type >> "+ test.javaClass.name) }



3) 함수형 프로그래밍 & 객체지향 프로그래밍


코틀린은 자바처럼 객체지향 언어인 동시에 함수형 프로그래밍의 장점을 채택하는 언어입니다.


함수를 인자로 전달 한다던가 함수에서 새로운 함수를 만들어서 반환하는 등 함수형 프로그래밍의 장점을 활용 할 수 있습니다.



출처 및 참고 


코틀린 로고 

https://play.kotlinlang.org/?_ga=2.60276845.192411083.1583667055-667909187.1583667055#eyJ2ZXJzaW9uIjoiMS4zLjcwIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsImpzQ29kZSI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoiLyoqXG4gKiBZb3UgY2FuIGVkaXQsIHJ1biwgYW5kIHNoYXJlIHRoaXMgY29kZS4gXG4gKiBwbGF5LmtvdGxpbmxhbmcub3JnIFxuICovXG5cbmZ1biBtYWluKCkge1xuICAgIHByaW50bG4oXCJIZWxsbywgd29ybGQhISFcIilcbn0ifQ==


참고

Kotlin IN ACTION





AWS EC2 서버 구축(Ubuntu)


최근 클라우딩 서비스가 인기를 많이 끌고 있습니다.


Amazon사의 AWS 외에도 Microsoft사의 Azure, 

Google사의 google Colud Platform도 인기를 끌고있습니다.


시장 점유율 면에서 AWS가 가장 높기때문에 가장먼저 구축 해 보게되었습니다.



회원가입 부분은 생략하였습니다.

회원가입 시 국외 결제가 가능한 신용/체크카드 등록이 필요합니다. 

계좌 확인을 위해 1$가 결제됩니다.

(결제 확인 후 취소된다고 합니다.)

먼저, EC2는 하드웨어 투자 없이, 빠르게 구축이 가능하다는 장점때문에 선정하게 되었습니다.


1. EC2 인스턴스 시작

EC2 대시보드에서 인스턴스 시작 버튼을 눌러줍니다.


2. AMI(Amazon Machine Image) 선택

상단 검색 탭에 검색을 하거나, 운영체제를 직접 선택해서 

이미지를 선택할 수 있습니다.

저는 ubuntu LTS 16.04 버전을 선택했습니다.


3. 인스턴스 유형 선택

스펙에 따라서 비용이 달라집니다. 저는 프리티어를 선택 했습니다.


4. 인스턴스 검토

지정한 인스턴스에 대해 검토하는 화면입니다.

인스턴스 세부정보 편집을 눌러보면 세부사항을 확인이 가능합니다.



5. 키페어 생성

서버 접속 시 필요한 키를 생성하는 화면입니다.

키페어 이름을 입력하고 키 페어 다운로드를 진행한 후 인스턴스 시작을 눌러줍니다.

(*.pem 파일이 생성 되는데 Putty 접속을 위해서는 *.ppk 파일로 변환이 필요합니다.)


6. 구축완료

키페어 생성이 끝나면 구축이 완료 됩니다.


7. 인스턴스 화면

현재 구동중인 서버 상태와 IP정보 등 서버 정보를 확인할 수 있습니다.





FileZilla Server 외부 접속을 위한 방화벽 설정



파일 질라 서버 설치는 아래 게시글을 확인 해주세요


https://parkdream.tistory.com/88



로컬에서 접속 확인은


cmd창을 열어서 ftp localhost 명령을 쳐서 확인 가능합니다.



윈도우 제어판에서 방화벽을 들어가서 FileZilla Server 허용과 정책을 설정 해줘야합니다.


가끔보면 쉬운 접근을 위해서 방화벽을 끄시는 분들이 있는데


정말 권장하지 않는 방법입니다.


번거롭더라도 원하는 프로그램만 허용하고 정책을 추가해서 사용하시길 권장합니다.



위 창에서 앱또는 기능 허용을 눌러줍니다.


설정 변경을 누르고 파일질라 서버를 추가 합니다.



설치한 경로를 들어가서 선택 합니다.



다음은 인바운드 정책 설정입니다.


제어판 방화벽 창에서 고급설정을 눌러줍니다.



아래와 같은 창이뜨는데 인바운드 규칙에서 새 규칙을 눌러줍니다.



저는 규칙 종류를 포트로 선택했습니다.



접속을 허용할 포트를 지정합니다.



별도 보안연결을 사용하지 않으므로 다음으로 넘어갔습니다.



개인으로 사용하는 사람도 있고, 공유로 사용하는 사람이 있기때문에


모두 선택하고 다음으로 넘어갔습니다.



정책에 대한 이름과 설명을 지정해주면 정책설정이 완료됩니다.



추가로, 저는 3시간동안 헤맨 이유가있습니다.


아무리 외부에서 접속을 해도 공유기 포트포워딩 설정이 되어있지않아서


접속이 안됐었습니다.


포트포워딩 방법은 공유기에 따라 다르기때문에 별도 포스팅은 하지않았습니다.


감사합니다.




'Server > FTP' 카테고리의 다른 글

FileZilla Client 설치  (0) 2019.01.23
FileZilla Server 설치  (0) 2019.01.23

FileZilla Server 설치


선택 이유 : 무료

구축 이유 : FTP 파일 공유서버 필요

구축 환경 : Windows 10 Desktop


아래 링크에서 서버와 클라이언트 모두 다운 가능합니다.


https://filezilla-project.org/


server를 선택 하고 다운 받아줍니다.



약관동의 창입니다. 


동의를 누르고 다음으로 넘어갑니다.



바탕화면, 시작메뉴에 아이콘을 만드는 등의 컴포넌트를 선택하는 창입니다.


원하는 옵션을 선택하고 넘어갑니다.



설치 경로를 지정해줍니다.



파일 질라가 리슨할 포트를 지정하는 창입니다.


기본 포트는 14147입니다. 


보안을 생각하면 기본포트는 피하는게 좋겠죠?



서버 인터페이스를 선택하는 창입니다.


기본옵션을 선택하고 넘어갔습니다.



위 창에서 인스톨 버튼을 누르면 설치가 진행됩니다.


저는 컴포넌트 옵션에서 소스파일도 선택했더니 소스파일도 설치가 되네요


C로 작성된 것 같습니다.



설치가 완료되면 아래와 같은 창이 뜨는데 close를 눌러주시면 됩니다.



파일질라 서버를 실행하면 다음과 같은 창을 볼 수있습니다.


접속을 하거나 파일 생성, 수정 삭제 등 이벤트가 발생하면 로그가 찍힙니다.



사람모양을 선택하면 유저와 공유할 디렉토리를 지정할 수 있습니다.


가장 먼저 접속에 사용 할 유저를 만들어 줍니다.


add버튼을 눌러서 user를 추가 해줍니다.



유저를 추가하고 그냥 OK 버튼을 누르면 공유 할 폴더를 지정 해 달라고 합니다.


파일질라로 공유할 물리적인 경로를 지정 해 줍니다.



File 탭에있는 Connect to Server를 클릭하면 아래와 같은 창이 뜹니다.


로컬에서 구동을 할 예정이니 host는 loaclhost


port는 지정한 포트 패스워드를 지정 해줍니다.



마지막으로 Edit탭 - settings를 들어옵니다.


요청을 받을 포트를 변경해줍니다.


외부에서 접속하는 환경이라면 기본포트를 사용하는건 좋지않습니다.




관리자 비밀번호도 설정해주고 관리자 접속 포트도 변경해줍니다.



여기까지 설정이 끝났다면 FileZilla Server 설치 및 기본적인 설정은 완료 된것입니다.





'Server > FTP' 카테고리의 다른 글

FileZilla Client 설치  (0) 2019.01.23
FileZilla Server 외부 접속을 위한 방화벽 설정  (2) 2019.01.23

+ Recent posts