본문 바로가기

19년도 여름방학 모각코 8일차 회고 0719 목표 코틀린 공부하기. getter와 setter getter와 setter를 배제했다. 그냥 쓰지 말라고 IntelIiJ의 코드 제너레이트(Alt+Insert)에서 빼버렸다. 물론 쓰려면 당연히 쓸 수 있는데, 구글은 자바에서도 메모리와 속도 면에서 저 둘을 쓰지 말고 그냥 변수를 public으로 하라고 권장해 왔다. 클래스의 getters, setters, equals(), hashCode(), toString()과 copy()를 한 줄로 선언할 수 있다! 변수(var) 및 상수(val)로 지정된 생성자 패러미터는 클래스의 멤버 변수/상수로 동작한다. data class Customer(var name: String, var email: String, var company: String) 람다 식을 ..
19년도 여름방학 모각코 8일차 목표 0719 목표 코틀린 공부하기
19년도 여름방학 모각코 7일차 회고 0718 목표 scala 공부하기. 연산자 스칼라에서는 자바에선 불가능했던 식별자명을 식별자에 붙일 수 있다. 예를 들어 +라는 메소드를 정의하면 first.+(second)같은 식이 유효해진다. 여기에 더해 스칼라에선 a.f(b)를 a f b의 형태로 쓸 수 있기 때문에 first + second도 유효하다. 이런 식으로 자바에선 불가능했던 연산자 오버로딩을 할 수 있다. 암묵 암묵적으로 어떤 객체를 다른 타입으로 변환할 수 있다. 이것을 이용해서 위임을 편하게 만들어 원래 타입에 존재하지 않는 메소드를 애초에 있던 것처럼 호출할 수 있다. 예를 들어 자바의 BigInteger를 사용하려 하는데 .add()등을 사용하지 않고 암묵 변환을 이용해서 보조 클래스를 만들면 BigInteger에 + 등의 연산자를 적용..
19년도 여름방학 모각코 7일차 목표 0718 scala 공부하기.
19년도 여름방학 모각코 6일차 회고 0712 동기(synchronous : 동시에 일어나는) - 동기는 말 그대로 동시에 일어난다는 뜻입니다. 요청과 그 결과가 동시에 일어난다는 약속인데요. 바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 합니다. -> 요청과 결과가 한 자리에서 동시에 일어남 -> A노드와 B노드 사이의 작업 처리 단위(transaction)를 동시에 맞추겠다. 비동기(Asynchronous : 동시에 일어나지 않는) - 비동기는 동시에 일어나지 않는다를 의미합니다. 요청과 결과가 동시에 일어나지 않을거라는 약속입니다. -> 요청한 그 자리에서 결과가 주어지지 않음 -> 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다. 어떤 루틴을 완전히 끝내고 제어를 반납하면 동기식 동작이 안 끝났어도 일단 제..
19년도 여름방학 모각코 6일차 목표 0712 목표 동기 비동기 이해하기.
19년도 여름방학 모각코 5일차 회고 0711 목표 play framework 이해하기. play framework란? java spring, python django, javascript node 처럼 java와 scala의 웹 프레임워크입니다. 특이한 점은 java와 scala 두 언어를 지원 한다는 점인데 이게 가능한 이유가 scala가 java로 만들어지고 100% 호환성을 가지고 있기 때문에 scala에서 java 코드를 사용할 수 있기 때문이다. play 1 일 때는 자바를 중심으로 되어있는데 play 2로 업데이트 될 때는 자바중심이던 play가 많이 변하게 되서 자바를 이용해서 play framework 하던 분들은 닭쫒던 개가 된 셈이다. play2에는 java와 scala를 두개 다 많이 사용하지만 scala가 주가 되었다. sca..
19년도 여름방학 모각코 5일차 목표 0711 목표 scala play framework 이해하기