전체 글
-
[스칼라] 기본 타입과 연산스칼라 2022. 1. 30. 02:16
Programming in Scala 4th edition을 읽고 정리한 글입니다. 스칼라의 기본 타입은 Byte, Short, Int, Long, Char, String, Float, Double, Boolean 이 있다. 자바의 타입과 상당부분 유사하므로 기본적인 내용은 생략하고 알아둬야할 것만 정리하기로 한다. 1. raw 문자열 긴 문자열을 표현하거나 escape문자열이 많이 들어가는 경우를 지원하기 위해서 스칼라에는 raw문자열이라는 문법이 있다. println("""hihi abcdef test """ ) //출력결과 hihi abcdef test raw문자열은 위와 같이 입력된 형태 그대로 출력한다. 만약 공백을 제거하고 싶으면 아래와 같이 할 수 있다. println( """ |abcd |..
-
[스칼라] 클래스와 객체스칼라 2022. 1. 30. 00:49
Programming in scala 4th edition의 4장을 정리한 글입니다. 1. 클래스 스칼라에서 클래스는 아래와 같이 정의한다. class Computer { val name = "MacBook" private val privateName = "MacBook Pro" def printPrivateName() = println(privateName) } 클래스에는 필드(인스턴수 변수)와 메서드를 정의 할 수 있고 이 필드와 메서드를 멤버라고 부른다. 필드는 기본적으로 public 설정이고 private 키워드를 사용해서 외부에서 접근하지 못하도록 할 수 있다. var mac = new Computer println(mac.name) // println(mac.privateName) // 실행불..
-
[스칼라 입문] PRELUDE꞉ A TASTE OF SCALA 번역스칼라 2022. 1. 9. 20:10
https://docs.scala-lang.org/overviews/scala-book/prelude-taste-of-scala.html 의 내용을 번역한 것입니다. 들어가며 예제로 들어가기 전, 스칼라의 주요 특징을 살펴보자면 아래와 같다. 스칼라는 high-level language이다 스칼라는 정적 타입 언어다 스칼라의 문법은 간결하고도 이해하기 쉽다 객체 지향 프로그래밍 (OOP) 패러다임을 지원한다 함수형 프로그래밍 (Functional Programming) 패러다임을 지원한다 정교한 타입 추론 시스템을 갖추고 있다 스칼라 코드는 JVM에서 실행되는 .class 파일을 만든다 Java 라이브러리를 사용하기 쉽다 Hello, World 새 언어를 배울때 Hello, World로 시작하지 않으면 ..
-
networkx를 이용하여 multidigraph 그리기파이썬 2021. 6. 5. 23:39
들어가며 최근에 그래프를 그릴 일이 좀 있었다. Python 기반의 networkx와 matplotlib을 이용하여 그래프를 그리고 시각화를 하려고 했다. networkx는 그래프를 정의하고 시각화하는 다양한 API를 제공하고 있어 쉽게 활용할 수 있었다. Networkx: https://networkx.org/documentation/stable/index.html Software for Complex Networks — NetworkX 2.5 documentation NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks..
-
파이썬 싱글턴(Singleton) 패턴파이썬 2021. 4. 25. 20:43
싱글턴 패턴 싱글턴은 생성패턴중 하나로, 프로그램내의 어느곳에서 접근하든지 하나의 객체만 이용하도록 만든다. 디시말하면, 싱글턴 패턴으로 구현된 클래스는 프로그램 내에서 하나의 객체만 갖는다. 생성자가 여러번 호출되더라도 실제로는 최초 호출될때 한번만 객체를 생성하고 그 이후에 생성자가 호출될 때는 이 객체를 반환한다. 파이썬에서의 싱글턴 패턴 __new__ 메소드로 구현하기 파이썬에서 클래스의 인스턴스 생성은 매직 메소드 __new__를 통해 이뤄진다. 이를 이용하여 다음과 같이 구현할 수 있다. class Singleton: _instance = None def __new__(cls): if cls._instance is None: cls._instance = super(Singleton, cls)...
-
일을 버려라! - 제이슨 프라이드, 데이비드 하이네마이어 핸슨독서 2021. 1. 28. 19:15
규칙 없음에 이어서 미국 IT회사의 기업문화에 대한 책이다. 규칙 없음은 넷플릭스의 CEO가 썼고 이 책은 베이스캠프라는 회사의 CEO들이 썼다. 나도 베이스캠프라는 회사는 처음 들어보았는데 기업용 소프트웨어를 만드는 회사이고 창업한지 22년정도 된 회사라고 한다. 큰 회사들은 자체적인 사내 시스템이나 메신저들을 가지고 있을 것이기 때문에 아마도 스타트업이나 상대적으로 규모가 작은 회사에서 사용할 기업용소프트웨어를 만드는 회사일 것이라고 추측해 본다. 이 책의 주제를 한마디로 표현해 보자면, 회사에 인생 바치지 말아라라고 말할 수 있을 것 같다. 베이스캠프는 여름이면 6시간을 근무하고 휴가도 자유로우며 무리하게 일정을 맞추거나 하는 일이 없다. 하지만 온전히 꼭 필요한 일에만 집중할 수 있도록 불필요한 ..
-
정신과 의사의 서재 - 하지현독서 2020. 12. 22. 00:54
우리 회사의 1층에는 도서관이 있다. 한 달에 한 번씩 신간이 들어오고 새 책이 들어오는 날이면 이메일로 어떤 책이 도서관의 새 식구가 되었는지 알려준다. 12월 신착도서에 대한 이메일을 받고 어떤 책이 들어왔나 목록을 슥 보다가 괜찮아보이는 소설(무라카미 하루키의 신간)이 눈에 띄었다. 그 책을 빌리려고 사무실에서 도서관으로 내려갔는데 아무리 찾아도 보이질 않았다. 이런! 메일이 도착한지 불과 10분만에 다른사람이 빌려가버렸다. 이미 책을 읽고자 하는 마음을 먹고왔기에 빈 손으로 돌아가고 싶지는 않았다. 찬찬히 신착도서를 둘러보다가 적당한 두께와 짧은 호흡의 글들로 이루어진 "정신과 의사의 서재"를 골라 자리로 돌아왔다. 하지현 작가는 정신과 의사이며 책을 무척 좋아하고 많이 읽는 사람이다. 자신이 책..
-
규칙 없음 - 리드 헤이스팅스, 에린 마이어독서 2020. 12. 1. 00:05
회사를 다닌지 3년이 거의 다 되어가다 보니 문득 스스로 생각하는 힘이 굉장히 약해진 것 같다는 생각이 들었다. 어떤 문제를 보아도 시도해볼만한 해결책이 떠오르지 않을 때가 있거나 내 주관적인 의견없이 머릿속이 텅 비어있을때가 종종 있었다. 그래서 일단 책을 좀 읽고 머리를 식히면서 내 생각을 좀 정리해보자는 생각이 들었다. 책을 사려고 서점에 갔더니 "규칙없음" 이라는 책이 눈에 들어왔다. 마침 컴퓨터를 전공하기도 했고 막연하게 미국 IT회사에 대한 호기심과 동경심을 갖고 있어 대충 목차를 훑어보았다. 좀 지루한 표현을 빌리자면 넷플릭스의 기업문화에 대해서 넷플릭스의 CEO와 인사임원이 쓴 책이었다. 내용이 너무 무겁지도 너무 가볍지도 않은 책 같아서 읽어보기로 하였다. 책은 총 10장으로 구성되어있고..