본문 바로가기

Languages

(15)
[Kotlin] switch to when with enum 자바의 switch는 when으로 변경할 수 있다. 자바의 switch는 문(statement)이지만 코틀린의 when은 식(expression)이다. 코들린의 When을 쓰면서 좋은 점은 enum에 대한 분기를 할 때 default를 넣지 않아도 된다는 것이다. 예를들어 아래와 같은 2대 통신사의 열거형이 있다고 하면, public enum Telecom { SKT, KT, } 어떤 처리기를 만들어주는 팩토리를 구현을 할 때 아래와 같이 만든다면 switch 끝의 라인에 에러를 만난다. interface TelecomHandler { void handle(); } class TelecomFactory { public TelecomHandler create(Telecom telecom) { switch ..
별모양 찍기 : mvp 와 리팩토링 질문 ******* ***** *** * 이렇게 출력해야되는데 for 중첩문을 이용해서 어떻게 하나요.. 일단 제일 궁금한게 공백과 \n을 나타내는 방법 입니다 for 중첩문 궁금합니다 ㅎㅎ 답변 프로그래밍을 하는 방법 중 한 가지는 가장 쉬운 방법으로 일단 동작하게 하고 개선을 하는 방법이 있습니다. 전자를 최소기능제품(Minimum Viable Product, MVP)라고 이야기를 하고, 후자를 리팩토링(Refactoring)이라고 부릅니다. 언어를 처음 배웠다면 Hello World 라는 문장을 출력을 해보았을 것입니다. #include int main(int argc, const char * argv[]) { printf("Hello, World!\n"); return 0; } 위의 코드는 Hel..
TL; DR 이란? 트위터의 오픈소스 허밍버드를 보니 TL; DR라는 의미를 알 수 없는 표현이 있었다. 찾아보니...TL; DR = Too Long; Didn't Read = 너무 길어서 안 읽음 출처: ] 이란다. ref: http://unikys.tistory.com/405 [All-round programmer
Swift 학습 Objective-C에 비해 Swift는 좀더 배우기쉽다고 하고 웹 상의 강의도 더 많아서 Mac OS X 애플리케이션을 하이브리드로 개발을 하려고 한다.Swift와 Objective-C를 같은 프로젝트에서 사용가능 하다는 것은 아래 링크에 잘 설명이 되어 있다. Swift and Objective-C in the Same Project 스위프트는 오브젝티브 씨와 호환이 가능하기 때문에 야 언어를 포함하는 프로젝트 생성이 가능하다는 것이다.이런 동시에 호환 가능한 특성을 애플에서는 Interoperability라고 부르는 것 같다.Interacting with Objective-C APIs 1. UI: Swift2. Core: 계산 로직 - Objective-C, 추후 Metal (Meta 프레임워크는 ..
Metal 프레임워크 학습 알파고가 요즘 주변에서 화제이다.그래서인지 장기를 구현 해보고 자 하여 진행.이른바 알파장! 관련 기술로 Mac OS X 에서 돌리기 위한GPU 가속을 이용하기 위해 Metal이라는 프레임워크를 학습을 끄적여 본다.Mac OS X에서 메탈은 OS X El Capitan, 버전 10.11 이후 버전에서 지원한다. @3월 10일 (목)MTLDevice: https://developer.apple.com/library/mac/documentation/Metal/Reference/MTLDevice_Ref/index.html#//apple_ref/occ/intf/MTLDevice MTLComputeCommandEncoder (링크) : MTLComputeCommandEncoder 프로토콜은 데이터 병렬 컴퓨팅 처..
[파이썬] cgi on IIS 파이썬으로 cgi가 되는 것은 알았는데, 공식모듈인지는 몰랐다.https://docs.python.org/2/library/cgi.htmlhttps://docs.python.org/2/howto/webservers.htmlhttp://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/dynamic.html#a-simple-buildup 웹서버에서 붙여서 사용할 수 있는데 아파치... 이 나와서 IIS도 가능할 것이라고 판단http://www.humintsoft.com/CandCplus/PythonCGI.htm 찾아보니 FastCGI를 이용하면 될 것같다.http://forums.iis.net/t/1122937.aspxhttp://support.microsoft.com/k..
소켓 프로그래밍 튜토리얼 at binarytides.com binarytides.com에 괜찮은 튜토리얼이 있어 기록용으로 링크를 저장해본다. 영문으로 되어 있지만 쉽게 읽고 따라할 수 있다.작성자는 Siver Moon이다. Winsock tutorial – Socket programming in C on windows (링크)Socket programming in C on Linux – tutorial (링크)Server and client example with C sockets on Linux (링크)Programming udp sockets in C on Linux (링크) 그외 http://www.binarytides.com/category/programming/sockets/c-sockets/
0.1+0.2? 부동소수점의 정밀도 문제... 전에 자바스크립트 책을 읽다가 부동소수점의 경우 연산의 결과가 원하는 결과랑 다를 수 있으므로 통화와 같이 민감한 데이터는 정수형으로 고쳐서 만들라는 팁을 읽을 적이 있었다. 자바스크립트> (0.1 + 0.2)0.30000000000000004 0.3이 아니구나!! C언어double d1 = 0.1;double d2 = 0.2;double d3 = 0.3; printf("%f + %f => %f\n", d1, d2,(d1+d2));printf("%d\n", (d1+d2 == d3)); 결과0.100000 + 0.200000 => 0.3000000 자바public class Addtion { public static void main(String[] args) {System.out.println( 0.1 ..