전체 글 97

2013 WWDC 애플 키노트 요약 정리! ( Mac Pro , Mavericks , iOS7 , Macbook Air)

WWDC에서 애플사의 키노트 발표가 우리나라 시간으로 11일 새벽 2시에 진행되었습니다. 실시간 중계를 보신 분들의 의견이 갈라긴 하지만 개인적인 생각으론 애플이 생각하는 컴퓨터의 미래를 잘 제시하고 건재함을 과시했다고 생각합니다. 그럼 이번 WWDC 2013 키노트를 한번 정리해보도록 하겠습니다. 애플스토어가 개점되고 애플 스토어와 앱스토어 의 성장, 그리고 개발자들 애플은 지금까지 자신들이 성장하는데 개발자들의 도움이 컸다며 감사하다는 인사를 하였습니다. 또한 앱이 얼마나 팔렸으며 점유율이 얼마나 성장하였는지 밝혔습니다. 새로운 맥 운영체제 (Mac OS) Mavericks Maverick 는 우리나라 말로 개성이 강한 사람 이라는 뜻입니다.하지만 여기서 쓰인 뜻은 캘리포니아의 서핑 지명을 뜻하죠. ..

IT 소식 2013.06.11

[C언어]23. 변수의 특별한 성질들 -4- ( 레지스터 변수 )

안녕하십니까. 리습입니다. 변수의 특별한 성질들을 알아보고 있습니다. 그 마지막으로 레지스터 변수라는 것을 알아보겠습니다. 레지스터 변수 컴퓨터의 내부 CPU 에는 레지스터라고 하는 cpu의 기억 공간이 있습니다. CPU가 직접적으로 어떤 일을 처리하기 위해서는 이 레지스터라는 곳에 데이터를 넣고 처리하게 되죠. 그래서 속도가 매우 빠릅니다. 일반적인 메모리 공간을 사용할 때와는 비교할 수 없을 정도로 빠르죠. 이런 레지스터 공간을 이용하여 변수를 선언할 때도 키워드를 사용하시면 됩니다. 그 키워드는 register 입니다. C언어 표준에서는 레지스터 변수를 선언할 경우 레지스러에 변수공간을 차지하도록 하였지만 레지스터의 특징상 "공간이 충부하지 않고 여러가지 다른 참조가 많이 일어나기 때문에" 정말 고..

[C언어]22. 변수의 특별한 성질들 -3- ( 정적 변수 , static )

안녕하십니까. 리습입니다. 지역변수와 전역변수를 알아보았고 전역변수를 외부 모듈에서 접근하는 방법도 알아보았습니다. 그런데 간혹 특이한 것이 필요할 때가 있습니다.접근은 지역변수처럼 특정 위치에서만 접근을 가능하도록 하여 안정성을 확보함과 동시에 전역변수처럼 항상 존재하는 그런 변수 말입니다. 이런 두 변수의 장점만을 취한 변수가 존재합니다. 바로 '정적 변수'입니다. 정적 변수 static variable 정적변수가 어떤 것인지 설명하기 전에 정적변수가 필요한 예시를 먼저 소개하도록 하겠습니다. 그래야 이해하기도 싶고 말이죠. 특정 함수가 존재하는데 이 함수가 몇번 사용되었는지 알고 싶다고 해봅시다. 함수내부에 변수를 선언하긴 해야하는데, 지역변수는 그 지역이 사라짐과 동시에 같이 사라지기 때문에 사용..

[C언어]21. 변수의 특별한 성질들 -2- ( 전역변수로의 외부 모듈 접근 )

안녕하십니까. 리습입니다. 전역변수라는 것은 어떤 모듈 내에서 모든 함수들이 접근을 할수 있는 변수 였기 때문에 매우 편리한 변수였습니다. 때문에 함수끼리 데이터를 교환할때 전역변수를 통해서 할수도 있었죠.( 물론 함수간의 데이터 교환은 직접적으로 매개변수를 주는것이 더 좋지만 말입니다.) 그럼 한번 이런 전역변수를 확장시켜 보도록 하겠습니다. 특정 모듈이 아닌 프로그램을 구성하는 모든 모듈에서 한 전역변수에 접근할수 있도록 만들어 보도록 하겠습니다. 그럴때 우리는 지정자(Specifier) 라는 것을 사용합니다. 변수의 특징을 결정하는 지정자. 지정자는 변수의 맨 앞에 붙어서 그 변수의 성격을 정해주는 키워드 입니다. 원칙적으로 함수내에 지역변수를 선언할때에는 auto int a 이런식으로 작성을 해야..

[C언어]20. 변수의 특별한 성질들 -1- ( 지역변수와 전역변수 )

안녕하십니까. 리습입니다. 지금까지 우리가 프로그램을 만들어보면서 변수 선언에 대하여 큰 신경을 쓰지 않았습니다. for 문 의 내부에도 변수를 신경없이 썼으며 이름 또한 i , j , a , b 등을 사용하였습니다. 하지만 조금만 더 큰 프로그램을 만들때에는 변수에 대해서도 여려가지를 신경써야합니다. 그 첫번째로써 지역변수와 전역변수에 대하여 알아보도록 하겠습니다. 변수의 선언 위치 변수를 선언할 수 있는 위치는 크게 두곳입니다. 함수의 내부와 외부입니다. 그림으로 한번 보도록 하겠습니다. a 라는 변수는 특정 함수가 아닌 외부에 선언되었고 b라는 변수는 main 함수 내부에 선언되었습니다. a와 같이 선언되어있는 경우 전체에 대하여 변수로써 선언되었다고 하여 전역 변수 라고 하며 , b와 같이 선언되..

[C언어]19.#include 가 어떻게 작동하는가. (#include , #의 의미 )

안녕하십니까. 리습입니다. 지금까지 우리는 많은 것을 배웠습니다. C언어 문법에 대하여 지금까지 배운것만으로도 많은 프로그램을 '구현' 할 수 있습니다. (물론 굉장히 어려운 부분이 많을 겁니다만....) 우리가 지금까지 배운 기본기로 예시 프로그램을 한번 보도록 하겠습니다. 코드 #include int sum ( int a , int b ); int main( void ) { printf("두숫자는 1 과 10 이며 이 두숫자를 더하면 %d 입니다.\n", sum(a, b)); } int sum ( int a , int b ){ return a+b;} 결과 두숫자는 1 과 10 이며 이 두 숫자를 더하면 11 입니다. 지금까지 배운것들로 이 코드는 손쉽게 해석 되실 겁니다. 단 맨 위에 #include..

[C언어]18. 헤더파일이란 무엇인가 ( 헤더파일을 만드는 법 )

안녕하십니까. 리습입니다. 지금까지 프로그램을 만들면서 간단한 기능은 만들거나 #include 를 이용해서 헤더파일을 불러오는 방식으로 새로운 기능을 쓸 수 있었습니다. 하지만 아직 헤더파일이 어떤것인지 잘 알고 있지 못합니다. 필요한 기능이 있다면 손쉽게 불러와 사용하던 헤더파일. 이번시간엔 헤더파일에 대하여 알아보도록 하겠습니다. 헤더파일은 메뉴판이다. 우리가 음식점에 가게되면 처음 보는 것은 메뉴판입니다. 처음 음식점에 가게되면 어떤 음식이 있는 지도 모르고 어떻게 나올지도 모르기때문에 메뉴판을 보고 음식을 고르게됩니다. 그리고 종업원에게 선택한 음식을 말해주게 되죠. 이런 과정은 음식점의 입장에서도 소비자의 입장에서도 매우 좋습니다. 메뉴판만 있다면 다른 부가적인 설명이나 표현을 안해도 된다는 것..

[C언어]17. 변수의 계산방법, 연산자에 대하여 알아보자. -5- ( 연산자 우선순위 )

안녕하십니까. 리습입니다. 지금까지 다양한 연산자를 알아보았습니다. 또한 연산자는 공구와도 같다 라고 말씀드렸습니다. 그런데 여러가지 연산자를 한거번에 쓸경우 사용한 사람과 컴파일러가 다르게 이해할 수도 있습니다. 예를 들어 우리가 2 * 3 + 1 이라고 입력하였을 때 컴파일러는 2 와 3을 곱한후 다음에 1을 더할 것입니다. 하지만 우리의 의도가 3과 1을 더한후 2를 곱하는 것이였다면 우리가 원하는 결과 값을 얻지 못하게 되는 것이지요. 이렇게 컴파일러가 우선적으로 처리하는 연산자의 순서가 있습니다.그것을 연산자 우선순위라고 합니다. 연산자 우선순위 우리가 곱하기를 더하기보다 먼저 계산하고 생각하는 것 처럼 프로그램에서도 연산자에대한 우선순위가 존재합니다. 이 연산자의 순서는 우리가 알고있는 수학적..

[C언어]16. 변수의 계산방법, 연산자에 대하여 알아보자. -4- ( 삼항연산자, 조건연산자 )

안녕하십니까. 리습입니다. 이제 연산자에 대한 것도 마지막입니다. 마지막으로 삼항연산자에 대하여 알아보도록 하겠습니다. 삼항연산자는 연산을 하는데 3개의 항이 필요하다고 해서 붙여진 이름입니다. 또한 많은 종류가 존재하지도 않습니다. 조건연산자 ( ? : ) 조건 연산자는 특정 조건에 대하여 맞는지 틀린지 판독을 한후 그 값을 내보내주는 연산자입니다. 조건식을 쓴후 ? 를 한후에 맞을경우 : 앞의것을 보내주고, 틀릴경우 : 뒤의 것을 보내주는 것입니다. ? : 우리가 질문 하는 것처럼 직관적으로 ? 를 쓰기 때문에 매우 보기에도 좋습니다. 간단한 조건문에는 if문을 쓰는것보다 조건연산자를 쓰는것이 보기 좋을때도 많습니다. ( 절대값을 return 하는 구문이다. 매우 직관적이고 읽기 좋다. ) 연산자는 ..

[C언어]15. 변수의 계산방법, 연산자에 대하여 알아보자. -3- ( 이항연산자 )

안녕하십니까. 리습입니다. 이번엔 연산자 중 이항연산자에 대하여 알아보도록 하겠습니다. 이항연산자는 연산을 할때 필요한 항이 2개 인 연산자를 뜻합니다. 즉 하나의 피연산자만으론 연산이 불가능 하다는 것이죠. 하나씩 알아보도록 하겠습니다. 산술 연산자 ( + - * / % ) 산술 연산자는 말 그대로 기본적인 수학 연산을 위해 있는 것입니다. +는 더하기 - 는 빼기 * 곱하기, / 나누기 중 몫, % 나누기 중 나머지 값을 의미합니다. 즉 3+2 는 5라는 값을 의미하고 3 - 2 는 1을 의미하며 3 * 2 는 6을 의미하고 3 / 2 는 몫 1을 의미하며 3 % 2 는 나머지 1을 의미합니다. 산술연산자는 매우 직관적이고 우리가 일상적으로 사용하는 수식과 닮았기 때문에 매우 쉬운 편입니다. 또한 가..