본문 바로가기

분류 전체보기

(678)
2010년 소비형태 분석 5월 한달간의 소비 형태를 나름 정확하게 조사를 해보았다. 생각보다 상태는 심각했지만.. 5월 같은 경우에는 여행이라는 특수한 경우가 있기에 다소 평상시의 상황과는 다를 수 있었다. 물론 적금에 들어가는 금액수가 전반적으로 1달간의 급여에서 가장 비중이 컸지만 전반적으로 봤을때는 실제로 돈을 금융 상품을 통해 투자하는 경우는 전체 금액의 약 31% 정도 밖에 되지 않았다. 대부분 자신의 월수입을 가지고 포트폴리오를 구성할때 최소 50% 정도는 저축을 하기 때문에... 저 경우에는 좀 많이 문제가 있는 소비 형태다. 특히 통신비나 교통비에 들어가는 비용이 상당히 많아서 저부분에 대한 다이어트가 필수적이었다. 핸드폰을 2대를 사용하고 있는 점이 잠정적으로 문제가 될 수 있는 부분이었다. 교통비는 5월 이후로..
[C#] LINQ 의 사용 LINQ를 사용해 보기 위해서 DB를 사용해보려는 시나리오가 있었지만 사실상 C#에서의 DB 접속을 위한 ADO.NET 이라는 부분은 배우지 못했기에 Collection 객체인 List 를 사용했다. SNACK 이라는 테이블을 조회한다고 가정을 하는 시나리오로 구성을 했다. 1. SNACK 테이블의 PRICE 열의 값이 500을 초과하는 레코드들을 출력한다. 2. SNACK 테이블의 PRICE 열의 값이 500을 초과하는 레코드의 갯수를 출력한다. 3. SNACK 테이블의 PRICE가 가장 큰 레코드의 NAME 과 PRICE를 출력한다. 4. SNACK 테이블의 모든 레코드를 XML의 형태로 가져온다. class Program { static void Main(string[] args) { List sn..
[C#] LINQ (Language Integrated Query) : 새로운 시도 LINQ 라는 것에 대해서 개괄적인 내용만 봤을때는 어땠든 Data 를 핸들링하는 기술임에는 틀림없다고 여겼다. 실제로 .NET 3.5 에서 부터 추가된 꽤 최신의 기술이다. 새로운 통합을 통해서 새로운 표준이 되려고 하는 시도가 보이는 다소 야심찬 기술이 바로 이 LINQ 라고 볼수 있다. 어떠한 데이터의 집합들을 LINQ 라는 한가지의 언어를 통해서 .NET Framework 를 사용하는 모든 언어에서 사용하도록 하는 시도이다. SQL 과 더불어 또 다른 표준이 되려는 시도가 보인다. 이런 좋은 시도에도 불구 하고 내가 공부하기 위해 보고 있는 교재에서는 LINQ를 배우기 이전에 이 기술의 허와 실을 낱낱히 공개한다. 결국은 Language에서 항상 화두가 되는 문제인 Coupling(결합도), Co..
[Android Apps.] Translate for Animals – Google’s animal translator 실제로 다운로드를 받아서 한번 실험을 해보았다. Animal Translator 라는 이름으로 마켓에 올라가 있는 이 앱은 몇몇 동물들의 울음소리를 음성으로 받아서 영어로 번역을 해주는 앱이다.. 뭐.. 검증할 방법은 없지만 정말 신기한 녀석이라고 생각했고... 그래서!!! 집에 가서 검증을 해보기로 했다. 금동이를 기억하는가? 우리집에 있는 치즈태비 고양이.. 뭐 외부에서는 금동이로 불리우고 있지만 집안에서는 공식적으로 내 아들로 불리고 있다.. (어머니는 할머니가 되는건가..) 여튼 이녀석한테 테스트를 해봐야겠다고 생각했다. 평소에 엄청 말(울음소리)이 많은 녀석이라 실험 대상으로 충분했다. 매번 집에 가면 베란다 너머로 나를 보고 야옹거리니까.. 그때 ..
[C#] 3.0 의 새로운 기능들 w4wawwwaaC# 에는 자바와는 다른 기능들이 많이 있다. 좀더 융통성있고 개발자 편의적인 부분이 있다. 그중에서 코드의 생산성을 높이고 조금 더 개발을 수월하게 해주는 C# 3.0의 새로운 기능들을 소개 하려고 한다. 1. 암묵적인 타입 : var var test = 1234; // test = "Hello"; // 자바스크립트와는 달리 최초 선언된 형태의 변수로 쭉 간다. 다른 형태로 변경이 불가능하다. // 암묵적 타입을 헷깔리게 왜쓰나여? ---> LINQ에서 꼭 필요하기 때문이랍니다. Console.WriteLine("암묵적 타입 사용 : {0}", test); Javascript 의 var 와는 다르게 초기에 선언해준 인스턴스의 유형을 그대로 가져간다. 때문에 다른 타입의 인스턴스도 올 수..
[C#] 의 고급 문법 : Generic 자바에서 Generic 이라는 것을 처음 접하면서 C++에 있는 Template 라는 것과 많이 비교되며 배운 기억이 있다. Generic 이라는 것이 Template 랑 유사할 것이지 같은 의미로 사용되지 않는다는 점을 꼭 기억했으면 한다. 실제로 자바 뿐만아니라 C#에서 사용되는 Generic 이라는 문법 역시 C++의 그것과는 많이 다르게 단순하며 그만큼 또 유연하지 못하고 기능도 적은 편이라고 한다. Generic을 사용하는 것은 코드의 재사용성을 높여서 타입에 대한 안전성을 극대화시키는 장점이 있지만 반면에 코드의 크기가 커지고 가독성이 떨어지는 불리함이 있다. 코드의 크기가 커지는 것에 대해서는 문제삼기보다는 가독성에 대해서 문제 삼을 점이 많다. 가독성이 떨어진다는 것은 그만큼 소스코드를 이..
[C#] 인터페이스를 사용하는 이유가 뭘까? 인터페이스는 내가 배운 개념중에서 가장 이해가 안가고 왜 있어야되는지를 아직도 잘 모르겠는 것 중에 하나다. 사실 인터페이스에 대한 내용을 싣기에는 부족한 내공이지만 배우고 안 만큼만 블로그를 통해서 적어보려고 한다. 인터페이스라는 녀석은 아주 간단한 형태를 띠고 있다. class 라는 선언문 대신에 interface 라고 선언을 하고.. 그 안에는 접근제어자(Access Modifier : public protected private) 가 없는 메소드만이 존재할 수 있게 된다. interface INoodle { void cookPasta(); void cookRamen(); } 아주 심플한 모습인데.. 왜 이런 뼈다귀 같은 구조를 짜놓으며 왜 이런 구조의 인터페이스가 필요한 걸까? 메소드를 선언하는 ..
[C#] 왜 추상클래스를 사용하게 될까? 왜 추상클래스를 사용해야할까요? 어떤 기술의 사용이라는게 좋은 취지에서 사용이 되었더라도 다른 부분에서의 예기치 못한 불협화음을 만들어 낼 수 있다. 클래스의 상속이 그러할지도 모르겠다. 상속을 설명하며 Animal 이라는 클래스와 Cat, Dog 라는 클래스는 IS 의 관계를 만드는 관계를 맺고 있다. 그러면서 생기는 논리적인 문제는 구체적이지 않은 Animal 이라는 클래스의 인스턴스를 만들 수 있다는 점이다. Animal ani1 = new Animal(); Animal ani2 = new Dog(); Animal ani3 = new Cat(); 그럼 Animal 이라는 클래스로부터 Dog, Cat 이라는 클래스가 공유해야할 것들은 공유하되 직접적인 Animal 클래스의 인스턴스의 생성을 막으려면 ..