본문 바로가기
반응형

기타5

프로퍼티, 그리고 위임 코틀린에는 Delegate라는 기능이 존재합니다(물론 코틀린에만 존재하는 개념은 아닙니다). 저는 처음에 코틀린에서 observable을 사용하기 위해 쓰다가 처음 발견하게 되었습니다. 이때는 delegate pattern이라는 것을 잘 몰라서 그냥 저것 하나만 사용했었는데, 어느날 프로퍼티 위임과 delegate pattern의 존재를 알고 나니 기존 프로젝트에서 사용하는 것을 꺼리게 되었습니다. 그래서 언젠가 정리해둬야겠다 생각은 했었는데 이제야 정리하는 느낌입니다. 먼저 프로퍼티 위임에 대해 알아보기 위해서는 프로퍼티가 무엇인지, 그리고 필드를 무엇으로 정의하는지 알고 가야 합니다. 왜냐하면 코틀린에서 프로퍼티란 필드와 이에 접근할 수 있는 접근자를 묶어 표현하는 것이기 때문입니다. 프로퍼티와 필드.. 2022. 10. 26.
함수와 메소드(멤버 함수) 메소드와 함수... 자바를 처음 배울 때 클래스에 선언하는 코드들을 교수님은 메소드라 불렀었었습니다. 그리고 그 전에 C언어를 배울 때는 모든 조각낸 코드들을 함수라고 불렀었죠. 그리고 시간이 지나 보니, 어느덧 메소드와 함수라는 이름을 사용하는데, 이 둘을 잘 구분하고 있나? 싶은 생각이 들어서 간단하게 정리해보고자 합니다. 함수란, 수학에서는 f(x)와 같이 특정 인풋을 통해 특정한 아웃풋을 도출해내는 것을 의미합니다. 위키백과에서는 아래와 같은 그림을 통해 함수를 정의하고 있습니다. 그렇다면 프로그래밍에서 함수는 무엇을 의미하는 걸까요? 코딩을 해 본 사람들은 대부분 알겠지만, 이미 충분히 함수를 이해하고 사용하고 있을 것 같습니다. int main() { ... } 언어를 제일 처음 배울 때 배웠.. 2022. 5. 4.
클라우드 컴퓨팅 서비스란? 클라우드 서비스. 뭔가 많이 들어본 단어입니다. 사실 어느정도 이해하고 사용하고 있는 개념이기도 한 게, 제가 이미 많이 사용하고 있는 여러 기술들이 이미 클라우드 서비스의 개념 안에 들어가고 있습니다. Microsoft Office 365, G-Mail, Google Docs(이하 Saas), Google Cloud Platform(이하 Paas), AWS EC2(Iaas) 등을 사용하고 있네요. 하지만 정작 각 부분에 대해서 무엇이냐고 물어보면 그냥 대충 대답하는 수준에 그치는 것 같아서 명확하게 공부해보려고 주제를 꺼내 봅니다. 먼저 클라우드 컴퓨팅의 정의는 서로 다른 물리적 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합하여 제공하는 것입니다. 조금 풀어서 말하면 클라우드 서비스를 제공하기 위해.. 2022. 4. 13.
해시 함수?(feat.computer science) 긴 글이 되지는 않을 것 같습니다. 어쩌다 운이 좋게도 IT 대기업 면접을 보게 되었습니다. 그러나 아직 준비되지 않은 인재였던 탓인지 질문에 대한 대답이 많이 부족했었습니다. 그 중 하나가 해시 함수에 대한 정의를 제대로 알고 있냐는 것이었는데, 사실 이 질문은 제가 이력서에 적어둔 내용과 관련해서 나왔던 질문이었습니다.(사실 제 무덤을 제가 판 셈인거죠...) 해시 함수는 무엇일까요. 해시 함수의 정의는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수입니다.(정의는 위키백과에 잘 나와 있네요.) 해시 함수는 함수의 특성인 특정 값을 함수 f(x)에 대입했을 때 결과 값이 동일하게 나온다는 특성을 가지고 있습니다.(제가 이 한줄짜리 대답을 제대로 하지 못해 해시라는 주제를 모르고 아는 척 .. 2021. 6. 17.
JSON과 GSON 이전 게시글이 JSON 데이터를 GSON으로 표현하다 찾은 문제점에 대한 글이었는데요. JSON 라이브러리를 통해 사용하는 JSON과 GSON 라이브러리를 통해 사용하는 Json은 미묘한 차이가 있다는 사실을 알게 되었습니다. 이 글을 들어가기 전에 주의해야 할 점이 있다면, JSON의 정의가 제대로 되지 않으면 GSON과 JSON이 다르다고 생각하게 된다는 것입니다. 아래 목차를 따라 정리해보았습니다. what is JSON? JSON-simple 라이브러리 what is GSON? 결론 What is JSON? JSON은 어떤 글을 봐도 일단 "가벼운 데이터 교환 형식"이라고 정의되어 있습니다. 일단 JSON을 사용하는 목적이 조금 더 네트워크에게 무리를 주지 않는 선에서 데이터를 교환하고 싶으니 각.. 2021. 1. 26.
728x90