전체 글

전체 글

    [Kotlin] 데이터 클래스

    [Kotlin] 데이터 클래스

    데이터 클래스는 특정 데이터를 클래스로 규격화하여 저장하기 위한 용도로 사용되는 클래스를 의미하며 다음과 같은 형식을 가집니다. data class 클래스명 (var/val 이름: 형식...) var는 변수를 val은 상수를 의미하며 뒤에 변수나 상수가 될 이름을 지정합니다. 그리고 : 뒤에 형식을 사용하여 저장할 데이터를 정의하는데 이러한 매개변수 형식은 몇 개든 , (콤마)로 구분하여 정의할 수 있습니다. 다만 데이터 클래스는 위에서 설명드린 크래스와 달리 값을 받고 저장하는 용도로만 사용되기 때문에 클래스의 본체가 별도로 정의되지 않습니다. data class MyCar (val color: String, var speed: Int) var mc = MyCar("Red", 70) Log.d("tes..

    [Kotlin] 클래스(Class)

    [Kotlin] 클래스(Class)

    특정 처리를 위해 관련된 변수, 함수 등을 한꺼번에 모아놓은 프로그램의 단위를 클래스(Class)라고 합니다. Aandroid Studio에서 처음 프로젝트를 생성하고 나면 다음과 같은 코드를 볼 수 있는데 이것은 Android Studio가 onCreate라는 함수를 포함하고 있는 MainActivity라는 클래스를 자동 생성한 것입니다. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } } 이제까지 어떠한 출력을 위해 자주 사용했던 Lod.d() ..

    [Kotlin] 함수

    [Kotlin] 함수

    Android Studio에서 Kotlin으로 프로젝트를 생성하면 대부분 아래와 같은 구조의 코드로 시작합니다. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } } 우리가 주목해야 할 부분은 onCreate입니다. onCreate는 함수이며 MainActivity클래스에 속해 있습니다. 함수라는 것은 프로그램을 구성하는 최소한의 덩어리이며 프로그램을 실행하면서 필요한 처리를 하기 위한 부분이기도 합니다. 참고로 onCreate는 Android가 시작..

    [Kotlin] 배열과 컬렉션

    [Kotlin] 배열과 컬렉션

    1. 배열 배열은 다음과 같이 선언합니다. var ints = IntArray(10) 예제는 Int형 배열을 10개 할당하라는 의미입니다. Long이나 Double과 같이 다른 타입의 배열을 지정하고자 한다면 해당 타입 + Array형태로 배열을 선언하면 됩니다. var doubles = DoubleArray(10) 다면 문자열에 대한 배열을 선언하려면 다음과 같이 해야 합니다. var s = Array(10, {item -> ""}) 배열의 크기는 배열 변수 선언 시 지정할 수 있으며 향후 배열의 크기를 변경하는 것은 불가능합니다. 이제까지 예제는 미리 배열의 크기만 확보하는 방법이었는데 반면 다음과 같이 배열을 선언하는 방법도 있습니다. var ints = arrayOf(10, 20, 30) //또는..

    [Kotlin] 반복문

    [Kotlin] 반복문

    반복문은 말 그대로 특정 처리를 반복하기 위해 사용되는 구문입니다. (1) for for는 다음과 같이 사용할 수 있습니다. for(i in 1..10) { Log.d("test", "${i}") } i는 변 수명이며 '1..10'에서 1은 시작 값, 10은 종료 값을 의미합니다. 따라서 i를 1부터 10까지 저장하며 순회(반복)하도록 합니다. 이때 변수명 i는 임의로 바꿀 수 있으며 for에서의 사용을 위해 외부에서 미리 선언될 필요는 없습니다. for(i in 1 until 10) { Log.d("test", "${i}") } .. 대신 until을 사용하면 종료 값의 -1까지만 반복합니다. -1 까지만 반복한다는 특성을 배열을 가지고 설명드리자면 배열의 시작 값은 0이고 이것을 for를 통해 반복하..

    무차별 대입 공격 도구 (Brute Force Attack Tool) - Ban_REMOTE_MSSQL

    무차별 대입 공격 도구 (Brute Force Attack Tool) - Ban_REMOTE_MSSQL

    해당 글은 아래링크로 이동되었습니다. [Server/Windows Server] - 무차별 대입 공격 방어 도구 (Brute Force Attack Depend Tool) - Ban_Server 따라서 아래 글은 더이상 유효하지 않음을 알려드립니다. ----------------------------------------------------------------------------------------------------------------------------------------------------------------- 원격 데스크톱의 경우 원격 포트는 3389, MS-SQL Server의 경우 1433이 기본 포트입니다. 그런데 서버를 외부에서 접속 가능하도록 두면 이 2개 포트에 대해서..

    [ASP.NET Core] 리눅스(CentOS 7) 설치및 구동

    1. CentOS 준비 - Hyper-V에 설치 - ssh 및 기본적인 네트워크 설정을 마침 (테스트에 사용된 CentOS의 IP는 192.168.0.10으로 맞춰둠) 2. CentOS에 FTP설정 FTP와 ASP.NET Core와는 아무런 관련이 없습니다. 다만 ASP.NET Core프로젝트 파일을 위에서 만들어둔 CentOS 쪽으로 넘겨주기 위해서 FTP를 미리 설정해 둡니다. 아래 설정은 root가 FTP에 접근이 가능하며 최상위 루트 디렉터리를 포함한 모든 디렉터리에 접근할 수 있도록 하는 것입니다. FTP를 설치합니다. - yum -y install vsftpd FTP를 설정합니다. anonymous_enable=NOchroot_local_user=YESchroot_list_enable=YESc..

    [DOS 명령어] 특정 이름의 하위폴더 삭제하기

    예) D:\Work\myProject 하위에 '.vshistory'라는 이름의 모든 폴더를 삭제하고자 한다면 FOR /F %I in ('DIR /S /B /A:D \Work\myProject\*.vshistory') DO RD /S /Q %I