목록전체 글 (227)
코딩마을방범대
객체 지향 프로그래밍(OOP)의 핵심 개념과 왜 필요한가?문제점: 함수 중심 프로그래밍의 한계과거의 프로그래밍은 주로 함수 중심이었다. 데이터와 함수가 따로 논다.복잡성이 증가한다.함수 중심 프로그래밍의 문제점: 비유로 이해하기1. 문제 상황: 모든 것을 분리해서 관리할 때만약 아파트 한 동에 100가구가 살고 있다고 가정해 봅시다. 그리고 각 세대(캐릭터)의 정보를 다음과 같이 따로따로 관리한다고 생각해 보세요.* 데이터 목록: - 101호_전기요금 = 5만원 - 102호_전기요금 = 7만원 - ... - 201호_수도요금 = 2만원 - 202호_수도요금 = 3만원 - ...* 기능(함수) 목록: - 청소_하기() - 전기요금_계산_하기() ..
코틀린의 이모저모 1. Type Alias와 as importtypealias: 타입에 대해 미리 선언하여, 이후 축약된 키워드로 사용 가능하게 한다.ex. 타입과 반환 타입을 그대로 기입할 경우 코드가 지저분 해보이는 상황이 있을 수 있다.이럴 경우 typealias 라는 키워드를 통해 타입에 대해 미리 정의가 가능하다.// 사용 전fun filterFruits(fruits: List, filter: (Fruit) -> (Boolean) {// typealias 사용 후typealias FruitFilter = (Fruit) -> Booleanfun filterFruits(fruits: List, filter: FruitFilter) {긴 클래스를 컬렉션에 사용할 때도 타입 별칭으로 사용 가능하다.da..
코틀린에서 배열과 컬렉션을 다루는 방법 1. 배열JAVA :int[] array = {100, 200};for (int i=0; i코틀린:val array = arrayOf(100, 200)// 인덱스만 받기for (i in array.indices){ println("${i} ${array[i]}")}// 인덱스와 value 같이 받기for((idx, value) in array.withIndex()){ println("$idx $value")}// 배열에 값 추가array.plus(300) 2. 컬렉션① 리스트* 가변(Mutable) 컬렉션: 컬렉션에 요소를 추가하거나 삭제할 수 있다.* 불변 컬렉션: 컬렉션이 생성된 후에는 요소를 추가하거나 삭제할 수 없다. - Refer..
코틀린에서의 OOP 클래스를 다루는 방법1. getter/setter 이 자동으로 구현됨get, set 메소드를 따로 사용하지 않고 호출 가능Java 코드를 가져와서 사용할 때도 자동으로 호출 가능person.age = 10person.name 2. 생성자에서 프로퍼티를 만들 수 있음before :class Person(name: String, age: Int){ val name = name var age = age}after : {} 안에 아무것도 없으니 생략 가능class Person(val name: String, var age: Int) 3. 생성자에서 검증 로직 생성하기주생성자(init)와 부생성자(constructor) 사용부생성자는 최종적으로 'this' 를 통해 주생성자..
기존 자바 개발자의 기준으로 공부하기 좋은 코틀린 기초 코틀린의 변수 1. 가변: var(variable) / 불변: val(value)초기값을 넣지 않은 경우, val 은 최초 초기화 한 번에 대해선 허용함 2. 타입을 의무적으로 작성하지 않아도 되지만 원하는 경우 ':' 로 작성 가능 var number1: Long = 10Lnullable 로 설정하고 싶은 경우, 타입 뒤에 '?'를 붙임var number: Long? = 1L 3. 인스턴스화 방법: new 없이 괄호로 감쌈var person = Person("김단비") 💡 자바와 코틀린의 primitive(원시타입) 타입과 reference(래퍼클래스) 타입 JAVA혼용해서 사용할 경우 박싱과 언박싱 과정에서 오류가 발생할 수 ..
노트북에 새로 intellij 를 설치한 후 초기 세팅해야하는 항목들을 까먹어서 방황했다.코딩테스트 코드 실행용으로 프로젝트를 대충 설치했더니 git 탭이 보이지 않았다.이럴 때 git을 활성화 시키는 방법을 알아보도록 하자! 1. Git 버전 확인하기intellij 기본 탭에 있는 Teminal을 통해 현재 git 버전을 확인해준다.만약 설치가 안되어있다면 아래 링크를 통해 설치하면 된다!git --version Git - DownloadsDownloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. Latest source Release 2.50.1 Release..
프로젝트에 대한 서버 구축할 일이 자주 생긴다면, 매번 Java 설치하고 MySQL 설치하고 등등의 진행 사항을 거치기 매우 번거롭다.Docker 이미지를 통해 필요한 설정들을 미리 설정해놓고 구동만 시켜준다면 시간도 절약되고 중간 단계가 생략될 위험도 줄어든다.또한, 배포가 용이하여 가이드라인을 제작하기 쉽다. 오늘은 서버의 용도에 따른 Dockerfile을 설정하는 방법을 알아볼 것이다. 초기 도커 세팅은 아래의 첫번째 포스트를 통해서 설치해주면 된다.이 포스트에서는 도커파일 만드는 방법을 설명할 것이며, 도커 파일을 이미지로 빌드하는 포스트는 아래의 두번째 포스트를 참고해주면 된다! 우분투에서 Docker 사용하기이전포스트 참고하여 Docker가 뭔지 알아봤고, 우분투에 Docker를 설치하여 사..
컴퓨터 포맷 후 Intellij 에서 처음 push를 시도했는데 아래와 같이 동작이 정상적으로 수행되지 않았다.'Permission denied (publickey)' 이라는 오류는 SSH 키 인증이 실패했음을 의미한다. 저런 팝업창이 아니더라도 Intellij 내의 Git-Console의 로그를 보아도 확인할 수 있다.git@192.~: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 위 문제를 해결하기 위해선 ssh 키를 발급한 후, 원격 레포지토리에 등록해주면 된다.아래..