전체 글
-
Broken Youtube Thumbnail error callback기타/메모장 2023. 10. 25. 20:50
Youtube Thumbnail URL 유튜브 썸네일을 이미지로 가져오기 위한 URL은 아래와 같다. https://img.youtube.com/vi/{videoID}/{type}.jpg https://i.ytimg.com/vi/{videoID}/{type}.jpg 이때 videoID에는 유튜브에서 제공하는 비디오의 id를 넣고, type에는 가져올 이미지의 해상도를 타입에 맞게 입력한다. 사용할 수 있는 타입은 아래와 같다. Resolution Type 320 x 180 mqdefault 480 x 360 0 720p or 1080p maxresdefault 업로더가 직접 업로드한 썸네일 original source original Broken Youtube Thumbnail 문제는 썸네일이 제대로 작..
-
조건문과 반복문프로그래밍 언어/Kotlin 2023. 7. 14. 04:36
조건문 코틀린의 조건문은 If문과 when문이 있다. 조건문 If 코틀린의 if문은 일반적인 프로그래밍 언어와 동일한 방식으로 동작한다. val a = 12 if (a > 12) { println("large") } else if (a > 6) { println("medium") } else { println("small") } 또한 변수에 직접 if문을 사용하여 마치 삼항연산자와 같이 사용할 수 있다. val a = 5 val b = 10 val isBigger = if (a > b) "yes is Bigger" else "$b is small" 이때 if문의 코드 영역이 여러 줄일 경우에도 마지막 줄을 반환하여 변숫값으로 사용할 수 있다. val a = 5 val b = 10 val isBigger ..
-
배열과 컬렉션프로그래밍 언어/Kotlin 2023. 7. 14. 03:25
배열 배열은 데이터를 메모리에 연속적으로 저장하여 하나의 변수에 할당할 수 있도록 하는 데이터 타입이다. 이때 배열로 사용할 메모리의 공간을 미리 할당해줘야 하기 때문에, 중간에 개수를 추가하거나 제거할 수 없다. C언어의 배열과 같은 형태라고 볼 수 있다. 이러한 배열 객체는 Int, Long, Char 등과 같은 기본 타입 뒤에 Array를 붙여서 만든다. val doubleArr = DoubleArray(10) val floatArr = FloatArray(10) val longArr = LongArray(10) val intArr = IntArray(10) val shortArr = ShortArray(10) val byteArr = ByteArray(10) val charArr = CharArr..
-
데이터 타입과 변수프로그래밍 언어/Kotlin 2023. 7. 13. 20:04
변수 변수 var 코틀린에서 변수는 var 키워드를 이용해 선언할 수 있다. 다른 언어와 동일하게 선언과 동시에 값을 부여하여 초기화를 할 수 있고, 또는 값으로 초기화하지 않고 선언만 한 다음 사용할 수도 있다. 이때 선언과 동시에 초기화를 하는 경우, 코틀린이 입력되는 값으로 타입을 추론할 수 있다. 반면, 선언만 하는 경우에는 반드시 변수명 옆에 타입을 명시해야 한다. (TypeScript와 동일) // 선언과 동시에 초기화 var year = 2023 // 선언만 하고 사용 var age: Int age = 24 즉, 변수는 최초 선언 시에 타입이 결정되며, 한번 타입이 결정된다면 이후에는 동일한 타입의 값만 담을 수 있다. 읽기 전용 변수 val val 키워드를 이용하면 읽기 전용 변수를 선언할..
-
WSL2 React 사용시 localhost 접속이 되지 않은 현상기타/메모장 2023. 2. 23. 14:06
문제 사항 Windows 컴퓨터를 기본으로 사용하고 있으면서, 개발을 위해서는 WSL을 따로 사용하고 있는 중이다. 평소에는 아무 문제없지만, 한 번씩 React(CRA)에서 npm start를 통해 프로젝트를 시작했을 때 localhost로 접속이 안 되는 경우가 종종 있다. React에서는 npm start 시 터미널에 해당 문구가 뜨면서 자동으로 브라우저에 localhost:3000 창을 연결해 띄워준다. 보통은 문제없이 사용하면 되지만, 한번씩 localhost에서 접속이 불가능한 경우가 있다. 해결법 1 사실 이건 해결법은 아니고 잠시 회피하는 느낌의 방법인데, 그냥 On Your Network에 쓰여진 172로 시작하는 내부망 IP주소를 이용해 접속하면 된다. 하지만 따로 사용하는 확장 프로그..
-
네트워크 보안 - 8 | 인가컴퓨터 공학/보안 2023. 2. 10. 21:00
인가 이전 포스트에서는 접근제어의 두 가지 부분 중 하나인 인증에 대해 알아보았다. 그리고 이번 포스트에서는 나머지 반쪽인 인가에 대해 알아보고자 한다. 인가는 접근제어의 한 부분으로서 인증된 사용자의 활동을 제약하는 문제를 다룬다. 좀 더 자세히 말하자면, 인증이 시스템 자원에 접근하려는 사용자에 대한 판별의 문제라면, 인가는 이미 인증된 사용자가 하려는 행동을 제약하는 상황을 다룬다는 것이다. 인증과 인가를 같은 접근제어를 의미하는 용어로 사용하는 경우도 많이 있지만, 이번 포스트에서는 인증과 인가를 나누어 생각해 보기로 한다. 접근제어행렬 접근제어행렬은 주체와 객체를 행렬의 행과 열로 표현하는 방법을 말한다. 여기서 주체는 시스템 사용자로 정의되며, 객체는 시스템의 자원으로 정의된다. 이때 주체의 ..
-
네트워크 보안 - 7 | 인증컴퓨터 공학/보안 2023. 2. 6. 17:31
접근제어 접근제어는 시스템 자원에 대한 접근을 제어하는 것을 말하는데, 보통 인증과 인가라는 두 부분으로 나누어진다. 인증은 사용자 또는 개체가 특정 시스템이나 자원에 접근하는 것을 허용할지 말지를 결정하는 문제이다. 인증의 정의에 따라 인증된 사용자는 시스템 자원에 대한 접근이 허용되는데, 인증된 사용자라 할지라도 시스템의 모든 자원에 대한 접근이 허용되는 것은 아니다. 예를 들어 시스템의 관리자와 같은 특별한 권한을 가지는 사용자에게만 부여되는 권한이 있을 수 있는데, 이렇듯 인증된 사용자에 대해 서로 다르게 접근을 제어하는 것을 인가라고 한다. 인증이 시스템 자원에 대한 접근 허용 또는 접근 거부 중 하나를 선택하는 문제라면, 인가는 다양한 시스템 자원의 접근에 있어서 보다 세분화된 제어와 제약을 ..
-
네트워크 보안 - 6 | 기타 암호 주제컴퓨터 공학/보안 2023. 2. 3. 22:36
비밀 공유 비밀 S가 있고 앨리스와 밥이 이 비밀을 서로 공유하고자 한다. 이때 비밀을 공유한다는 것은 다음의 뜻이다. 앨리스와 밥 단독으로는 비밀 S를 알아낼 수 없다. 앨리스와 밥이 함께 힘을 합치는 경우에만 비밀 S를 알아낼 수 있다. 이는 언뜻 보기에는 어려운 문제처럼 보일 수 있지만 생각보다 간단한 방법으로 해결할 수 있다. 비밀 S를 가지고 (0, S)를 통과하는 직선을 하나 그린다. 그리고 해당 선 위에 존재하는 두 개의 점을 정해서 하나는 앨리스에게 주고, 하나는 밥에게 주면 된다. 직선은 최소 두 개의 선이 존재해야 그릴 수 있으므로, 둘 중 한 명의 정보만 가지고는 S의 값을 알 수 없다. 하지만 앨리스와 밥이 서로의 값을 공개하여 직선을 그린다면 S의 값을 알아낼 수 있을 것이다. 이..