목록전체 글 (463)
브래의 슬기로운 코딩 생활
오늘은 처음으로 스위프트 문법 중 옵셔널 체이닝 이라는 것을 배웠다. 자세한 내용은 추후에 클래스 카테고리의 스위프트 카테고리에 따로 글을 작성하겠다. 일단 옵셔널 체이닝이란 옵셔널을 언래핑하는 방법 중 하나 이다. 옵셔널을 언래핑 하는 방법은 원래 3가지를 알고 있었다. 1. !를 이용한 옵셔널 강제 언래핑 - 간단하게 언래핑을 할 수 있지만 변수 안에 nil값이 들어가 있다면 크래쉬가 나므로 위험한 방법이다. 2. if~let, guard~let을 이용한 옵셔널 바인딩 - nil이 저장되어 있는 경우를 설정할 수 있기 때문에 대표적으로 사용되는 언래핑 방법이다. 3. nil 합병 연산자 ?? let optionalValue: Int? = nil let defaultValue: Int = 10 let ..
오늘은 for 반복문을 이용하여 별을찍는 실습을 했다. 클래스의 상속,캡슐화,다형성을 설명하셧고 오버라이딩도 설명하시고 관련해서 실습도 했는데 교수님 께서 너무 빠르셔서 쫒아가지를 못했다... (교수님도 빠르시지만 내가 느린것도 있다) 그래도 별찍는 건 재대로 실습 해서 소스를 포스팅 하려한다! public class StarPrint { public static void main(String[] args){ star star = new star(); star.printStarsLeft(10); star.printStarsLeftUpsidedown(10); star.printStarsRight(10); } } class star { public void printStarsRight(int row) { f..
교착 및 기아 상태 - 예방 및 해결 교착 해결 방법 종류 - 예방 기법(Prevention Method) - 회피 기법(Avoidance Method) - 탐지 및 복구(Detection and Recovery Method) 예방 기법 4개의 deadlock 발생 필요 조건 중 하나를 제거 - 자원 사용의 상호 배제(Mutual Exclusion) - 비선점형 자원(Non-preemptive) - 점유와 대기(Hold-and-Wait) - 원형 대기(Circular Wait) 위 사항 중 하나라도 없으면, 절대 Deadlock이 발생하지 않음!! - 단, 임계구역의 내용이 파손될 가능성이 큼 자원의 공유를 허용 - 상호 배제(Mutual Exclusion) 조건을 제거 - 현실적으로 불가능 - 원하는 ..
교착 및 기아 상태 - 교착 상태 교착 상태 Dead Lock 2개 이상의 프로세스가 서로 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 병렬처리 기술과 자원 공유에 따라 발생된 부작용 중의 하나 - 여러 프로세스가 작업을 진행하다 보니 자연 발생적으로 일어나는 문제 아사(기아) 현상 : 특정 프로세스의 작업이 끊임없이 지연되는 문제 교각 공유 예 - 교각을 공유 자원(Resource)에 비유 - 교착상태가 발생하면 한쪽의 차가 후진을 해줘야 해결되는 상황 - 기아상태에 빠질 수 있음 - 대부분의 운영체제에서 교착상태를 완전히 예방해 주지는 못함 프로세스의 운영체제 자원의 이용 방식 운영체제는 프로세스에게 공유될 모든 자원들을 관리 - 프로세스의 자원 할당을 관리 - 각 ..
부속 질의 - Subquery 스칼라 부속질의 인라인 뷰 부속질의 중첩질의 부속질의 사용자 정의 함수 - User-Defined Function 사용자 정의함수 (User-Defined Function) - 사용자 정의 함수는 수학의 함수와 마찬가지로 입력된 값을 가공하여 결과 값을 되돌려줌 - 절차형 SQL을 활용하여 일련의 SQL 처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL 입니다. - SELECT 문에 포함 - 예) SELECT customer_id, order_id, sale_price, fnc_interest(sale_price) 'interest' FROM orders; 사용자 정의함수 문법 CREATE FUNCTION function_name (parameter1..
교착 및 기아 상태 - 임계 구역 임계 구역 Critical Area - 또는 “임계 영역”이라 함 - 공유 자원에 대하여 프로세스(멀티스레드 포함)들의 동시 접근에 한계가 있는 영역 - 임계 구역을 접근할 때에는 반드시 가용 상태를 확인해야 함 프린터 예시 - 만약 프린터장치가 프로세스들의 동시 접근을 허용하게 된다면, - 프로세스들에 의한 출력 요청 명령 들로 인해 기대 외의 결과물이 나오게 됨 공유 메모리 사용 예시 *result의 값은? 임계 구역 해결 조건 상호 배제(mutual exclusion) 한 프로세스가 임계 구역에 들어가면 다른 프로세스는 그곳에 들어갈 수 없음 한정 대기(bounded waiting) 어떤 프로세스도 무한 대기하지 않아야 함 진행의 융통성(progress flexib..
스케줄링 및 IPC - IPC 프로세스 간 통신의 개념 정의 IPC : Inter-Process Communication 프로세스간 데이터를 공유하기 위한 방법 운영체제는 프로세스의 관리 및 각각의 동작을 보호 - 프로세스는 자신의 할당메모리 영역 외에는 접근 불가 - 타프로세스의 영역을 독단적으로 접근할 수 없음 프로세스간 통신을 위해 운영체제는 몇가지 자원을 제공 - 예: 시그널, 인터럽트, 공유 파일, 파이프, 공유메모리, 메시지큐 등 프로세스간 통신(IPC) 프로세스 내부 데이터 통신 - 프로세스 내 스레드간 통신 – 스레드는 전역 변수나 파일을 이용하여 데이터를 공유 프로세스 간 데이터 통신 - 같은 컴퓨터(동일 호스트)에 있는 프로세스간 통신 - 공용 파일 또는 운영체제가 제공하는 자원을 이용..
쇼핑몰 메인 화면 회원가입 동의 화면 회원정보 입력화면 아이디 중복 확인 기능 회원 가입 완료 / 회원 정보 데이터베이스에 추가
게임 맵, 배경 제작 GameGbject - 3D - Terrain(지형) 왼쪽 마우스를 누르고 드래그 하면 지형 생성 / 쉬프트를 누르고 드래그 하면 지형 사라짐 or 컨트롤 + Z 브러쉬 모양과 사이즈, 강도에 따라 지형이 다르게 나타남 Set Height를 클릭하고 Height를 30으로 지정하여 Flatten All을 클릭하면 높이가 일정한 두꺼운 지형이 만들어짐 택스쳐 선택 창이 나옴 - 택스쳐 선택 - 택스처가 입혀짐 - 다시 Create Layer - 다른 택스쳐 선택 - 마우스 드래그 하면 해당 택스쳐만 부분적으로 적용 가능 쉬프트 드래그 하면 지워짐 Brush Size:나무크기, Tree Density:나무들의 수 Brush Size가 크고 심을 공간이 좁으면 심어지지 않음 쉬프트 + 클..
프로토콜(protocol)과 Delegate 프로토콜(protocol) - 특정 클래스와 관련없는 프로퍼티, 메서드 선언 집합 - 함수(메서드) 정의는 없음 - 기능이나 속성에 대한 설계도 - 클래스(구조체, 열거형)에서 채택(adopt)하여 메서드를 구현해야 함 스위프트 상속과 프로토콜 채택 class 자식:부모 ,(프로토콜) ... { // 코드 } - 부모 클래스는 하나만 가능하며 여러 개라면 나머지는 프로토콜 - 상속은 클래스만 가능하다. (단일상속) protocol 정의 protocol 프로토콜명{ //프로퍼티명 //메서드 선언 - 메서드는 선언만 있음 } protocol 프로토콜명 : 다른프로토콜, 다른프로토콜2{ // 프로토콜은 다중 상속도 가능 } protocol 정의, 채택, 준수 pro..