본문 바로가기

분류 전체보기

(97)
[Java] int, char, String 사이의 형 변환 방법 정리 ✨ String을 int 또는 char로 📌 String → int 1. Integer.parseInt() Integer를 반환 String str = "123"; int intValue = Integer.parseInt(str); System.out.println(intValue); // 123 2. Integer.valueOf() Int를 반환 String str = "123"; int intValue = Integer.valueOf(str).intValue(); System.out.println(intValue); // 123 📌 String → char 1. String.charAt() 이 메서드는 특정 인덱스의 문자를 char로 반환한다. String a = "string"; char b = a..
[Java] Java의 난수 생성법 2가지 난수 생성법 2가지 Math.random() 이용 아래와 같이 Math.random은 0~1.0 사이의 double을 반환하기 때문에 (int)를 취하고 있다. (int)를 하게 되면 소수점 이하 숫자들은 버림으로 처리된다. 따라서 형 변환 이전에 곱셈을 해줘야 한다. int attackValue = (int) (1 + Math.random() * 5); // 1~5 사이 정수 반환 int healValue = (int) (1 + Math.random() * 3); // 1~3 사이 정수 반환 아래와 같이 확률을 구현할 수도 있다. 3:7의 비율로 조건을 처리해 준 모습이다. int attackValue = (int) (Math.random() * 10); if (attackValue >= 7) { re..
[네트워크] Ch1 - 인터넷과 프로토콜, network edge 아래 내용은 KOCW 강의를 듣고 정리한 내용입니다. 이화여대 이미정 교수님 네트워크 강의 ✨ 학습 목표 컴퓨터 네트워크의 계층적인 프로토콜 구조 이해 인터넷에서 사용되고 있는 응용 프로그램, 트랜스포트 프로토콜, 라우팅 알고리즘과 프로토콜에 대하여 집중적으로 학습 네트워크의 자원 활용율을 높이고 사용자에 대한 서비스를 향상시킬 수 있는 네트워크 프로토콜 설계 및 분석 능력을 배양 ✨ 인터넷이 무엇인가? 인터넷이 무엇이고, 프로토콜이 무엇인지에 대해 알아보자. 1️⃣ 인터넷의 구성요소는 무엇일까? 인터넷의 가장자리에는 컴퓨터나 서버가 있다. ❗ 수백만개의 컴퓨팅 장치들이 연결되어 있다 host = end systems 그 컴퓨터에서 application을 실행중이면, 사용자의 app에 대해서 호스팅을 하..
[운영체제] #1 - 운영체제란 무엇인가? 다음은 개인 공부를 위해 KOCW 강의를 듣고 정리한 내용입니다. 반효경 교수님 KOCW 강의 ✨ 운영체제란 무엇인가? 운영체제(Operating System, OS)란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 협의의 운영체제(커널) 운영체제의 핵심 부분으로 메모리에 상주하는 부분 전공자 입장에서 운영체제라 하면 보통 커널이다. 광의의 운영체제 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개녀 1️⃣ 운영체제의 목적 운영체제는 하드웨어 바로 윗단에 설치된다. 사용자와 소프트웨어 바로 아랫단이기도 해서, 운영체제는 하드웨어를 관리하는 것이 가장 중요한 역할이다. 컴퓨터 시스템의 자원을 효율적으로 관리 프로세서, 기억장치, 입출력 장치..
[Swift 문법] Optional type Closure와 @escaping ✳️ 발단 [Swift] Escaping Closure(탈출 클로저) @escaping을 붙이지 않으면 스코프 밖의 변수인 클로저에 파라미터로 전달받은 클로저를 할당 불가능하다고 알고 있었는데 아래와 같은 코드가 잘 기능하는 것을 발견했다. @escaping을 붙이지 않았는데 어떻게 할당이 되었을까요? (탈출 클로저에 대한 설명은 위 티스토리 참조 ^__^) private var leftButtonClosure: (() -> Void)? @discardableResult func leftButonAction(_ clousure: (() -> Void)? = nil) -> Self { self.leftButtonClosure = clousure self.leftButton.addTarget(self, ac..
[MVVM] Closure를 이용한 MVVM 구현(With SearchController, Throttle) ✳️ Overview 📌 시연 영상 미리 보기 📌 기능 검색을 통해 깃허브에 존재하는 repository를 조회할 수 있도록 함 셀을 누르면 해당 repo의 ID가 alert로 등장 검색어가 바뀌고 minimumDelay만큼의 시간이 지나야 검색 수행 📌 Closure를 통한 MVVM 구현 특정 라이브러리 없이 Closure를 통하여 MVVM을 구현한 샘플 프로젝트입니다. 📌 Throttle(Custom Class)를 이용한 검색 지연 기능 Throttle이라는 클래스를 통해서 SearchController의 검색어가 바뀌고 minimumdelay만큼의 시간을 기다려야 검색이 실행되도록 했습니다. ✳️ Flow : 앱 실행으로부터의 흐름 앱이 실행되는 플로우를 따라 코드를 분석해 보았습니다! 1️⃣ Sc..
[Swift 객체지향] 2 - 구조체와 클래스의 차이점 ✳️ 구조체와 클래스의 공통점과 차이점 📌 구조체와 클래스의 공통점 프로퍼티 정의 : 값을 저장 메서드 정의 : 기능을 실행 서브스크립트 문법 : 프로퍼티에 접근 가능 이니셜라이저 : 초기화 될 때의 상태를 지정 가능 익스텐션 : 정의 이후 기능 확장 가능 프로토콜 : 특정 기능 실행을 위해 채택 가능 📌 구조체와 클래스의 차이점 클래스만 상속 가능 클래스 인스턴스에만 타입캐스팅 가능 클래스 인스턴스에만 디이니셜라이저 사용 가능 클래스 인스턴스에만 참조 횟수 계산이 적용 이러한 차이점은 구조체와 클래스가 각각 값 타입과 참조 타입이라는 점에서 온다. ✨ 값 타입과 참조 타입 값 타입을 전달 인자로 사용하면 값이 직접 복사되어 전달되고, 참조 타입을 전달 인자로 사용하면 값이 저장되어 있는 주소가 전달된다..
[Swift 객체지향] 1 - 클래스와 구조체의 생성, 초기화, 소멸 ✳️구조체와 클래스 ✨ 개요 구조체와 클래스는 데이터를 용도에 맞게 묶어 표현하려고 할 때 유용하고, 모습과 문법이 서로 비슷하다. 그러나 구조체의 인스턴스는 값 타입이고, 클래스의 인스턴스는 참조 타입이다. 이러한 타입의 차이는 이후 구조체와 클래스의 활용에서 큰 차이를 만들어낸다. ✳️ 구조체 1️⃣ 구조체의 정의 struct 구조체이름 { 프로퍼티와 메서드 } 2️⃣ 구조체 인스턴스의 생성 및 초기화 struct Member { var name: String var age: Int } // 초기화 이후 프로퍼티에 접근하여 수정 가능 var firstMember: Member = Member(name: "Duno", age: 25) firstMember.name = "Ted" firstMember.a..
[프로그래밍 방법론] - 객체지향 프로그래밍이란? ✳️ 객체지향(Object Oriendted Programming, OOP) 프로그래밍을 공부하면서 객체지향이라는 말을 정말 많이 들었는데, 대충 이런거겠지하고 넘겨버린지 어언 6개월. 드디어 객체지향에 대해서 찾아보고 공부해보았습니다. ⁉️ 객체지향 프로그래밍이란 무엇일까요? 객체지향 프로그래밍 : 절차적 프로그래밍, 구조적 프로그래밍의 문제점을 해결하기 위해 등장한 여러 가지 프로그래밍 방식, 방법론 중의 하나입니다. 여느 방법론이 그렇듯, 객체지향 프로그래밍 또한 프로그래밍을 더 쉽고, 잘 하기 위해 등장한 방식인거죠! 그래서 객체지향 프로그래밍이 무엇일까요?? 객체지향이 뭐야!!! 📌 객체지향 프로그래밍의 정의 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 &#3..
[Notion] - 노션 단축키 정리 앱잼 이후로 노션을 사용하는 일이 많아졌는데요?! 익숙해질수록 생산성을 대폭 올려주고 있는 노션이지만,,, 극도의 효율을 추구하는 저는 단축키와 마크다운을 먼저 찾아서 정리해야겠다는 생각이 들었습니다...! 맥북 기준이니 주의바랍니다! ✳️ 페이지 관련 페이지 앞/뒤로가기 : cmd + [,] 은근히 자주 사용하게 됩니다. 개인적으로 노션의 UX는 불친절하다고 생각하는데, 페이지를 이리저리 둘러보다가 미궁에 빠질 때가 있습니다. 이 때 페이지 앞뒤로 움직이며 빠져나갈 수 있어요! 상위 계층의 페이지로 가기 : cmd + shift + u 들어왔던 페이지로 빠져나가는 데에는 1번보다 더 유용한 단축키입니다. 페이지 검색 또는 최근 페이지 보기 : cmd + p 이전에 작업하던 페이지로 빠르게 돌아가고 싶을..