- SmallTalk/강좌FromHitel/소개 . . . . 45 matches
이 글은 Smalltalk라는 프로그래밍 언어에 대한 몇 가지 중요한 이야기를 담고
나라에서는 C/C++이 프로그래밍 언어의 주류를 이루고 있으며, 요즈음은 Delphi
로그래밍 언어의 조상이자 완결판이라고 할 수 있는 Smalltalk에 대한 자료는 거
먼저 Smalltalk 언어에 대한 기본적인 생각과 철학을 간단히 소개합니다. 흔히들
서 Smalltalk 언어는 배워볼 만한 가치가 있다는 것과 충분히 실제 응용
과를 초래하여, 필요 이상으로 복잡한 언어 명세를 만들게 되었으며, 기존의 구
로그래밍을 하고, 따라서 객체지향 언어로 만들어진 프로그램이 전혀 객체지향
된 것이 바로 Smalltalk 언어입니다.
졌고, Smalltalk의 언어 명세는 다른 모든 객체지향 프로그래밍 언어의 잣대가
그럼에도 불구하고 Smalltalk는 범용 프로그래밍 언어로써 사용되기에는 몇 가지
며, 이것이 Smalltalk가 범용 프로그래밍 언어로써 쓰이는데 하나의 커다란 장벽
(loop)의 수행 시간을 측정하면 Smalltalk는 널리 쓰이는 다른 언어(C, Object
어 또한 결코 C 언어와 같은 속도를 내기는 어렵습니다. 그러나 Java가 가지고
프로그램을, C++의 갈래(class)를 사용하여 열 줄로 짰다고 해서, C++ 언어가 C
보다 못하다는 사람은 없을 것입니다. 마찬가지로, Smalltalk 언어는 큰 시스템
경과했습니다. 이와 같이 32비트의 완전한 기계어로 번역되는 번역형 언어와 객
체지향 언어인 Smalltalk와의 단순 반복문 실행 성능은 매우 큰 차이를 보였습니
에는 과연 다른 언어가 제공하지 못하는 Smalltalk만의 그 무엇이 숨어있습니다.
이 말은 틀린 말입니다. Smalltalk의 언어 명세 자체는 그 이름에서 말해주듯이
매우 작으며, 따라서 C++나 Java언어와 같이 언어 명세와 문법이 복잡한 언어에
- SmallTalk_Introduce . . . . 45 matches
이 글은 Smalltalk라는 프로그래밍 언어에 대한 몇 가지 중요한 이야기를 담고
나라에서는 C/C++이 프로그래밍 언어의 주류를 이루고 있으며, 요즈음은 Delphi
로그래밍 언어의 조상이자 완결판이라고 할 수 있는 Smalltalk에 대한 자료는 거
먼저 Smalltalk 언어에 대한 기본적인 생각과 철학을 간단히 소개합니다. 흔히들
서 Smalltalk 언어는 배워볼 만한 가치가 있다는 것과 충분히 실제 응용
과를 초래하여, 필요 이상으로 복잡한 언어 명세를 만들게 되었으며, 기존의 구
로그래밍을 하고, 따라서 객체지향 언어로 만들어진 프로그램이 전혀 객체지향
된 것이 바로 Smalltalk 언어입니다.
졌고, Smalltalk의 언어 명세는 다른 모든 객체지향 프로그래밍 언어의 잣대가
그럼에도 불구하고 Smalltalk는 범용 프로그래밍 언어로써 사용되기에는 몇 가지
며, 이것이 Smalltalk가 범용 프로그래밍 언어로써 쓰이는데 하나의 커다란 장벽
(loop)의 수행 시간을 측정하면 Smalltalk는 널리 쓰이는 다른 언어(C, Object
어 또한 결코 C 언어와 같은 속도를 내기는 어렵습니다. 그러나 Java가 가지고
프로그램을, C++의 갈래(class)를 사용하여 열 줄로 짰다고 해서, C++ 언어가 C
보다 못하다는 사람은 없을 것입니다. 마찬가지로, Smalltalk 언어는 큰 시스템
경과했습니다. 이와 같이 32비트의 완전한 기계어로 번역되는 번역형 언어와 객
체지향 언어인 Smalltalk와의 단순 반복문 실행 성능은 매우 큰 차이를 보였습니
에는 과연 다른 언어가 제공하지 못하는 Smalltalk만의 그 무엇이 숨어있습니다.
이 말은 틀린 말입니다. Smalltalk의 언어 명세 자체는 그 이름에서 말해주듯이
매우 작으며, 따라서 C++나 Java언어와 같이 언어 명세와 문법이 복잡한 언어에
- 데블스캠프2011/셋째날/후기 . . . . 36 matches
* 새내기가 없어서 hardCore coderace로 변해버린 C언어 코딩. String을 만드는건 너무 힘들었다. 하지만 이렇게 스피드하게 한건 너무 오랜만이라 재미있었다. C++ 스트링클래스는 정말 예외처리가 많고 하다가 중간 중간 완성된것이나 예외처리 테스트를 만들어놨으면 나중에 더 빨리했을까했는데 너무 오래걸렸다는것이 아쉬웠다. 여튼 수고한 당신에게 박수를. =
* python을 이용한 학습 프로그램이엇다. 로봇을 이용하여 beeper를 줍고 버리고 하며 여러가지 실습 프로그램을 하엿다. 교육용프로그램이라 쉬워보였는데 정작 프로그램을 짜는데 매 마음데로 되지 않아서 고생을 하엿다. rur-ple도 끝나갈 쯔음에 프로그매짜는거에 어느정도 적응이 되서어 미션을 수행할 수 있었다. 게다가 python은 그나마 익숙한 언어라서 재미 있었다.
* 평소에 파이썬에 흥미가 있던 편이어서 나름 재미있었습니다. 생각한걸 그대로 바로 움직이게 할 수 있다는 점이 일반 컴파일 언어보다 와닿는 것 같네요. 근데 그러다 보니까 코드가 조금 지저분해지는 경향도 있는 것 같아서 그런 부분을 좋게 개선한 코드를 짜려고 하면 그건 그것대로 힘든 것 같기도 -_-
== 윤종하, 황현/난해한 프로그래밍 언어 ==
* 진짜 난해하네요. 세상엔 참 골때리는 사람이 많아요. Shakespear언어를 어디에선가 보고 비슷한 방식 chef는 대체 어떻게 짜는 건지 궁금했는데 알게되어 좋았습니다. 우리도 0oOㅇ○로 코딩하는 Zero언어를 만들어볼까요?
* 작년에나 세상에는 컴파일 언어가 다가 아니란걸 알게된 나에겐 챌륀쥐였어요.
* 재미있는 컨셉 기발한 컨셉의 언어가 많네요
* DNA언어가 가장 마음에 들었어요
* 직접 난해한 언어(RNA)를 만드는 [황현] 멋진데요?ㅋㅋ
* 언어를 만드는 것보다 그 언어로 코딩하는게 더 힘들다. 이 ****
* 상당히 난해한 프로그래밍이었습니다. 틀에 박힌 언어가 아니라 기상천외한 다양한 언어들이 신기하기도 했고 재미있었지만 코드를 다시 짜고싶진 않네요.. 코딩을 하는중에도 앞에 해놓은게 뭐한거였는지 가독성도 떨어지는게 아니라 아예 없는수준이고.. 그래도 기존에 많이 쓰이는 언어들의 소중함을 느끼게 해주는 시간이었습니다.
* 종하의 세미나는 난해했네염. 세미나 진행이.. 피보나치수열을 이런 언어로 짜니까 상당히 -_-;;; 아 힘드네요.. 현이의 세미나는 그 언어의 의미는 이해하기 괜찮았으나 저런걸 어떻게 만들지라는 생각을 하게 되었다는... RNA가 어떻게 코딩이 될 지 궁금했는데 아쉽게도 못 봤네요. 그래도 그 노고에 박수를..
* 정말로 난해한 프로그래밍 언어였다. 프로그램도 난해하고, 세미나도 난해하고,,, 절대로 프로그래밍 하고 싶어지지 않는 언어들 이었다. 종하가 설명한 언어중에 비펀지로 피보나치수열을 짜는 미션을 받았는데 어떻게 해도 하나의 스텍으로 피보나치 수열을 짤 수가 없었다.
* 난해한 언어는 문법이 난해하기 보다는 심한 제약을 두고 문제를 푸는것이라 생각되는 것이었습니다. 익숙하지 않게 만들어서 확실히 힘들긴 하더라구요 종하가 소개해준 Befounge, 아희는 정말 재미있었습니다. 현이가 소개해준 chef도 인상적이었죠. 난해한 언어. 한번쯤은 생각해볼만한 제약이 심한 코딩. 새로운 방향을 생각하는 코딩을 만드는 시간이 어서 재미있었습니다
* 난해한 언어를 보면서 이런걸로 어떻게 코드를 만드나 하는 생각이 들었습니다. 재미있었던건 역시 언어에는 언어를 만든 사람의 생각이나 특징같은게 반영되는구나 하는 점이었습니다. 어렵게 만들고 싶다거나 아니면 요리 레시피처럼 만든다거나. 개인적으로는 이상한 -_- 언어들 말고도 일반적인 유명한 언어들의 개발 철학이나 특징들에 대해서도 궁금해지는 시간이었습니다.
* 한줄 요약은... "정말 난해하잖아!!" 였습니다. 특히 종하형이 소개한 세 언어는 정말..;; 하지만 그녀석들이 어떻게 움직이는지 약간은 판단할 수 있었던거 같네요. 배열처럼 좌우 위아래.. 현이형이 소개한 언어는 Maleb어쩌고.. 라는 헬 난이도 단어를 제외하고는 좀 나은거였던거 같네요. 특히 Whirl는 VM이 있어서 Hello World정돈 이해하고 짤 수 있을거같...기도 했구요. RNA는 우리가 직접 언어를 만들 수도 있다는걸 좀 더 와닿게 알 수있는 계기(?)가 된거 같네요. ..하지만 총체적으로 난해한 시간이었어요 ㅋㅋ
* 실제로는 보기만 해도 이해가 안 갈 독특한 프로그래밍 언어를 모아서 설명하는 시간이었습니다. 뭐, 유명한 Brainf**k이나 Befunde 등의 언어가 어떤 식으로 되어 있는지 알아보고 직접 써보고. 더 괴상한 언어들도 보고. 보면서 느낀 것은 역시 세상은 넓고 Geek들은 많다는 점이었겠군요. 사실 Esolang 위키에 있는 언어들은 아무리 봐도 만든 사람들이 재미있어서 만든 것 같은 느낌이었으니까요. 그리고 다들 생각했을 평소에 쓰는 프로그래밍 언어에 대한 고마움도 새삼 느꼈습니다. 그런데 이번 경험이 나중에 어떻게 도움이 될 수 있을까는...... 잘 모르겠군요 -_-;;; 앞으로는 어떤 언어를 봐도 무섭지 않게 되는 건가...
- 프로그래밍잔치/첫째날후기 . . . . 36 matches
=== Think Different! 낯선언어와의 조우 ===
7 개의 언어 Set 중 사람들은 1개씩 골랐다. 같은 언어를 고른 사람들끼리 Pair 를 구성, 해당 언어로 문제를 풀기 시작했다.
사람들은 서로가 고른 언어로 만든 Hello World, 구구단 을 시연하면서 각자의 개발환경, 프로그래밍 방법 등을 보여주었다. 그리고 JuNe 은 중간에 Smalltalk (Squeak)의 OOP 적인 특성, Scheme, Haskell 의 함수형 언어 페러다임에 대해 보충 설명을 했다.
'''우리나라에서는 왜 이러한 언어들이 잘 쓰이지 않는가?'''
'''오늘 한 언어들 중에서 추천하는 언어로는?'''
학부생이 공부해볼만한 언어로는 Scheme이 추천되었는데, StructureAndInterpretationOfComputerPrograms란 책을 공부하기 위해서 Scheme을 공부하는 것도 그럴만한 가치가 있다고 했다. 특히 SICP를 공부하면 Scheme, 영어(VOD 등을 통해), 전산이론을 동시에 배우는 일석삼조가 될 수 있다. 또 다른 언어로는 Smalltalk가 추천되었다. OOP의 진수를 보고 싶은 사람들은 Smalltalk를 배우면 큰 깨달음을 얻을 수 있다.
* 처음으로 어떤 언어를 접했을때 그 언어를 보는 기준은 지금까지 내가 알아왔던 언어이다. 예전에 알았던 언어에 있던 구문이 이 첨 보는 언어에서는 어떻게 할 수 있나 살펴 보는 것이다. 그 원하는 기능이 이 첨보는 언어에서는 없을 수도 있고 대신 다른 기능이 있을수도 있는데. -_- 이번에 Haskell이라는 언어를 봤을때 이것도 지금까지 언어들이랑 비슷 비슷할거라고 만만하게 생각했었다. 그래서 지금까지 짜왔던 방식으로 해볼라고 생각했다. 그런데 잘 안되었다. 이 언어는 그 밑바탕에 깔려 있는 개념이 달랐던 것이다. 그래서 그런식의 접근은 좋지 않을 수 밖에 없었던 것이다. 이렇게 다른 패러다임을 바탕으로 하는 언어를 접하게 된것은 신선한 충격이었다. - 상협
* 신선한 충격(?) 이었다. 몇가지 언어의 틀속에 틀어밖혀있던 나의 모습이... 불쌍했다. --["상규"]
*감상 : 위키에 글을 쓸 수 있는 용기를 내어...;;짧은 시간이나마 참여했던 후기를 남겨보면..내가 선택했던 python은 c나 java와 비슷하면서도 더 간단한 구조를 가지고 있었기 때문에..패러다임의 변화로부터 오는 충격은 적었던것 같다. 오히려 문법은 간단하지만, 손과 눈에 익지 않은 구조문들과 프로그램 실행 방식으로 인해 상당히 불편하다는 느낌을 받았고, 이렇게 실행 되는 인터프리터 언어를 접한다는게 어떤 도움이 될는지....;;;란 생각이 들었다. 특히, 툴과 언어가 익숙하지 않으니 문제(삼목)의 알고리즘도 생각이 나질 않아 당황스러웠다. 마구잡이로 짜는 코딩 습관 때문인가...하는 생각이 들었다.
* 좋았던 점 : 새로운 언어를 접할 상황이 올 때 , 문법을 익히고 적용하는 방법에 대해 경험 할 수 있었단 점. 이 때 인터넷의 많은 문서들 중 튜토리얼 형식의 문서가 도움이 된다는 점. --["naneunji"]
-- 어느정도 Python 을 익숙하게 써본 뒤, Python 이전에 썼던 언어들과 비교해보면 각 언어들을 더 잘 비교해볼 수 있지 않을까 생각해. 요새 자바프로그래밍을 주로 하면서 느꼈던건, '만일 자바가 인터프리터 쉘에서 실행되는 언어라면, 나의 프로그래밍 작업 방식은 어떻게 바뀔까?' 하는것. ["Python"], ["Jython"] 을 꾸준히 쓰면서, 컴파일언어에서 느끼지 못한 재미를 (즉각적으로 결과 반응이 올때 특히!) 느껴서..~ --["1002"]
* 의외로 몇몇 언어들이 공통되는 부분도 있는거같군요...(제 수준에서) 그리고 Haskell은 언어보다 수학에 가까운 듯한 느낌이었습니다. 전혀 모르는(?) 언어를 사용하여 첫번째 프로그래밍할 때 가슴이 참 떨리더군요. - 영동
* 솔직히 여지껏 언어라고 아는 것은 몇 종류 안되었었다.. 아무튼 언어가 달라봤자 거기서 거기라고 생각했었다. 영어로 만든 언어인데.. 단어가 다르면 얼마나 다를까 하고서..근데 그게 아니었다. 패러다임에 따라서도 이렇게 달라질 수 있다는 걸 알고는 신기했다. 충격과 감탄 자체였다. --["창섭"]
1. 충격 이었다.. 라고 하면 너무 일반적인 수식어 일까. 사실 앉아서, 해당 언어들에 대하여 집중 할 수 있는 시간이 주어 지지 않았다는 것이 너무나 아쉬웠다. To Do 로 해야 할일이 추가 되었다. 아니 Memory List로 표현해야 할까?
- ProgrammingLanguageClass . . . . 35 matches
프로그래밍 언어 수업
수업내용: 프로그래밍 언어의 구현 & 구성요소에 대한 전반적 이해.
* ''Programming Language Pragmatics'' by Michael L. Scott : 이제까지 나온 프로그래밍 언어론 서적 중 몇 손가락 안에 꼽히는 명저.
비록 "아는 언어"칸에 대여섯 이상의 언어를 줄줄이 적어넣을 수 있지만, 컴퓨터 공학과를 다니면서 "정말 아는" 언어는 항간에서 현재 유행하는 언어 하나 둘 정도이다. 일단 주변 여건이 다른 언어를 공부할 여유를 허락하지 않고, 이걸 격려, 고무하는 사람이 아무도 없다는 것이 문제다. 너나 할 것 없이, 교과과정에서 C언어를 자바로 대체하는 것만으로 "우리 학교 전산학과는 미래지향적이고 앞서 나가는..."이라는 선전 문구를 내거는 것을 보면 정말 안타까울 뿐이다. 왜 MIT에서는 제일 처음 가르치는 언어로 Scheme을 몇년째 고수하고 있을까.
프로그래밍 언어를 배우는 것은 사고와 표현의 방식을 하나 더 배우는 것이다. 따라서, 설사 해당 언어로 프로그래밍을 할 기회가 별로 없다고 해도, 판이한 언어를 하나 더 배우는 것은 가치있는 일이다. 동시에 무슨 언어를 배우느냐, 어떤 신택스를 익히느냐는 것은 크게 중요하지 않다. 언어는 변하고 사멸하고 신생하며, 유행도 바뀐다. 그보다 그런 언어 저변에 깔려있는 다양한 패러다임을 접하고 충분히 이해하고 적용할 수 있어야 한다. 하지만 이게 가능하려면 구체적인 언어라는 채널을 통하지 않을 수가 없다.
그러므로, 이런 ProgrammingLanguageClass가 중요하다. 이 수업을 제하면 다른 패러다임의 다양한 언어를 접할 기회가 거의 전무하다. 자신의 모국어가 자바였다면, LISP와 Prolog, ICON, Smalltalk 등을 접하고 나서 몇 차원 넓어진 자신의 자바푸(Kungfu의 변화형)를 발견할 수 있을 것이며, 자바의 음양을 살피고 문제점을 우회하거나 수정하는 진정한 도구주의의 기쁨을 만끽할 수 있을 것이다. 한가지 언어의 노예가 되지 않는 길은 다양한 언어를 비교 판단, 현명하고 선택적인 사용을 할 능력을 기르는 법 외엔 없다. --김창준
'''가장 많이 쓰이는 언어만 배우면 되지 않는가'''
꼭 그렇지는 않습니다. 다양한 언어를 배우고, 특히 훌륭히 디자인된 언어(각 요소들이 서로 상충하지 않고 유기적으로 조화되어 하나의 건강한 생태계를 이루는)를 충분히 접하게 되면, 아무리 문제있는 언어를 쓰게 되더라도 "선택적"인 사용이 가능해집니다.
개인적으로 학기중 기억에 남는 부분은 주로 레포트들에 의해 이루어졌다. Recursive Descending Parser 만들었던거랑 언어 평가서 (C++, Java, Visual Basic) 작성하는것. 수업시간때는 솔직히 너무 졸려서; 김성조 교수님이 불쌍하단 생각이 들 정도였다는 -_-; (SE쪽 시간당 PPT 진행량이 60장일때 PL이 3장이여서 극과 극을 달렸다는;) 위의 설명과 다르게, 수업시간때는 명령형 언어 페러다임의 언어들만 설명됨.
무심결에 쓰고 있는 프로그램 언어의 내부를 배울 수 있는 시간입니다. 개인적으로는 이런 저런 원리를 하나식 알아갈 때마다 재미있었기 때문에 수업시간도 재미있었습니다. (정말 같이 듣는 이들은 졸린 모양이더라고요.) 과제에서 엄청난 실수를 많이 저질러서 안타깝지만, 과제 자체는 강의 내용과 매우 적절하게 연결된 것이라고 생각합니다.
아쉬운 부분은 프로그램 언어론이란 과목임에도 불구하고, 설명의 비중은 많이 쓰이는 언어일수록 높았던 점입니다. 함수형언어(FunctionalLanguage)는 기말 고사 바로 전 시간에 한 시간만에 끝내려다가, 그나마 끝내지도 못하고 요약 부분만 훑었습니다. 그 밖의 종류에 대해서는 거의 절차적 언어, 특히 C계열 언어를 설명하다가 부연 설명으로 나오는 경우가 많았습니다. 논리형언어(LogicLanguage)에 대한 설명은 거의 못 봤습니다. 어차피 쓰지 않을 언어라고 생각해서일까요.--[Leonardong]
- Java Study2003/첫번째과제/장창재 . . . . 25 matches
* 자바 언어의 특징.
- 자바(Java)를 이야기할 때 크게 두 가지로 나누어 이야기 할 수 있습니다. 먼저, 기계어, 어셈블리어(Assembly), 포트란(FORTRAN), 코볼(COBOL), 파스칼(PASCAL), 또는 C 등과 같이 프로그래밍을 하기 위해 사용하는 자바 언어가 있고, 다른 하나는 자바 언어를 이용하여 프로그래밍 하기 위해 사용할 수 있는 자바 API(Application Programming Interface)와 자바 프로그램을 실행시켜 주기 위한 자바 가상머신(Java Virtual Machine) 등을 가리키는 자바 플랫폼(Platform)이 있습니다. 다시 말해서, 자바 언어는 Visual C++와 비유될 수 있고, 자바 플랫폼은 윈도우 95/98/NT 및 윈도우 95/98/NT API와 비유될 수 있습니다.
자바 언어(Java Language)를 이용하여 작성한 자바 프로그램(Java Program)은 자바 컴파일러(Java Compiler)를 이용하여 자바 바이트코드(Java Byte code)로 컴파일 되고, 이 자바 바이트코드는 자바 가상머신에 의해 해석되어 실행되는데, 이때 자바 가상머신은 자바 바이트코드에 대한 해석기 즉 인터프리터(interpreter)로 동작하게 됩니다. 이렇게 자바 프로그램은 컴파일 방식 및 인터프리터 방식이 모두 적용된다는 것입니다.
자바 언어로 작성된 자바 프로그램을 중간 언어(intermediate language) 형태인 자바 바이트코드로 컴파일 합니다<.
자바 바이트코드는 자바 가상머신에서 실행되는 기계어라고 생각하면 됩니다. 그리고, 모든 자바 인터프리터는 자바 가상머신을 구현해 놓은 것으로, 자바 가상머신과 자바 인터프리터를 같은 것으로 생각할 수 있습니다. . 이러한 자바 가상머신은 JDK(Java Development Kit)에 포함되어 있을 수도 있고, 자바 호환 웹 브라우저 내에 내장되어 있을 수도 있습니다. 또는, 자바 칩과 같이 하드웨어에 직접 구현될 수도 있습니다. 자바 바이트코드는 “write once, run anywhere”라는 말을 가능하게 해 줍니다. 다시 말해서, 자바 언어를 이용하여 작성한 자바 프로그램을 각 플랫폼(윈도우 95/98/NT, 리눅스, 유닉스, 매킨토시 등)에 맞게 제공되는 자바 컴파일러를 통해서 바이트코드로 컴파일 할 수 있습니다. 그리고, 이 바이트코드는 자바 가상머신이 있는 어떤 곳에서도 실행될 수 있습니다.
자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또한, 자바의 이러한 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
C와 같이 다른 언어로 작성된 함수를 직접 호출합니다.
세 번째, 모호한 언어적 특성, 비결정적 자바 가상머신, 표준화된 실시간 API가 없는 문제 때문에 실시간 응용이 어렵습니다. 이를 위해, 자바에서는 다음과 같은 기술을 개발하고 적용함으로써 실시간 응용을 가능하게 할 수 있습니다.
모호한 언어 특성의 문제점:
C언어를 이용하여 C 프로그램을 작성한다면 반드시 main이라는 시작 함수를 정의해 주어야 하고, 윈도우 응용프로그램을 작성한다고 하면 WinMain이라는 함수를 꼭 작성해 주어야 하지요. 이러한 것을 규약(protocol)이라 합니다. 마찬가지로, 자바 언어를 이용하여 여러 가지 종류의 자바 프로그램을 작성할 수 있는데, 이 때 각 자바 프로그램의 종류에 따라 해당 규약이 서로 다릅니다. 이렇듯 자바를 이용하여 자바 프로그램을 작성한다는 것은 각 자바 프로그램에서 제시하고 있는 규약을 지켜 프로그램을 작성한다는 것입니다. 자바 언어를 이용하여 작성할 수 있는 자바 프로그램의 종류를 살펴보면 다음과 같습니다.
다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
이렇게 두 개 이상의 자바 프로그램 규약을 만족시키는 자바 프로그램은 여러 자바 프로그램에 속하게 됩니다. 예를 들어, 하나의 자바 프로그램을 작성했는데, 이 자바 프로그램은 자바 애플리케이션을 위한 규약을 만족시켜 주고 자바 애플릿을 위한 규약도 만족시켜 준다면, 이 자바 프로그램은 JDK와 함께 제공되는 자바 가상머신에 의해 실행되는 자바 애플리케이션으로서 독립적으로 실행될 수도 있고, 자바 호환 웹 브라우저에 내장된 자바 가상머신에 의해 자바 애플릿으로 실행될 수도 있다는 것입니다. 이렇게 자바 언어를 이용하여 여러 규약에 맞는 자바 프로그램을 작성할 수 있지만, 하나의 자바 프로그램이 굳이 두 개 이상의 규약을 모두 만족시켜주도록 자바 프로그램을 작성하는 경우는 자바 애플리케이션과 자바 애플릿의 경우를 제외하고는 거의 없습니다.
- 프로그래밍언어와학습 . . . . 25 matches
* 학교에서 C++ 배운다고 하드웨어 건드리나. -_-; (전전공이라면 몰라도..) 컴퓨터공학과의 경우 학교에서 C++ 배워도 어셈블러 레벨까지 다루는 사람이 별로 없다고 할때, C++ 을 배웠다고 시스템레벨 까지의 깊은 이해가 필요없었다는 점인데.. 글을 읽으면, 마치 '교육용 언어로 C, C++ 을 배웠다면 시스템 레벨까지 이해할 것' 처럼 쓴 것 같다고 생각. (C, C++ 포인터를 레퍼런스 이상의 개념으로 쓴적이 있었나.. --a) 차라리 '우리는 전전공 출신에 하드웨어제어 해본 사람 뽑습니다' 라고 할것이지..쩝. Domain-Specific 한 부분을 생각치 않고서는 시스템 프로그래머에게서는 늘 자바와 Script Language 는 '군인을 나약하게 만드는 무기' 일 수밖에 없으니까.
언어로서 C나 C++의 (수학적, 논리적) 규칙을 정리하면 A4용지 몇장이면 충분합니다. 흥미로운 것은 그런 규칙과 요소들이 서로 조합될 때(그리고 조합된 것을 다시 조합할 때 -- 라이브러리, 프레임웍)의 변용입니다.
> 바라는 언어는 분명 한계가 있다. 자바는 컴퓨터 시
> 에 대해서 관심도 높고 좋은 언어라고 생각한다. 하
> 화될 수 없다. 자바라는 언어는 마치 패스트푸드와 같
맥락을 제거한 언어의 우열 논의는 비생산적입니다. 또, 우리는 언어 자체말고도 (그 언어에 잠재해있는) 광막한 세계를 접합니다. C언어가 깊이가 있니 Java언어가 깊이가 있니 하는 것은 난센스입니다. 언어는 모두 깊이가 같습니다. see also [처치튜링논제]
문화인류학이 융성하던 초기, 언어학자들은 어느 언어가 더 우월한가, 또 거기서 언어 사용자의 정신능력에 차이가 생기는가 등을 따지는 연구에 심혈을 쏟았습니다. 그들이 얻은 결론은 인류에게 있어
A라는 언어로 표현가능하다면 그것은 B라는 언어로도 표현할 수 있다는 것이었습니다. 다만 여기서 문화권에 따라 어떤 효율성의 차이가 있을 수는 있었습니다.
C가 하드웨어를 조작하게 해주고, 따라서 컴퓨터 시스템을 제대로 이해하게 해준다는 것은 좀 과장된 주장으로 생각됩니다. "C 언어"가 보여주는 컴퓨터 시스템은 이미 몇계단 왜곡되어 있습니다.
자바라는 언어 자체는 그다지 중요하지 않습니다. 중요한 것은 자바로 무엇을 얼마나 효과적으로 할 수 있느냐는것입니다.
언어의 차원이 1차원이면, 그 위에는 (저차원에 기반한) 2차원, 3차원,... 무한히 펼쳐져 있습니다.
아프리카 말로도, 중국어로도, 영어로도 "심오하고 사람을 감동시키는 효과적인 말"은 얼마든지 할 수 있습니다. 그것은 말을 어떻게 그 언어 규칙에 맞게 잘 조합하느냐의 문제입니다. 이 변용의 능력은 "언어"만 후벼파서는 절대 얻지 못합니다. "언어"가 구성해주는 2차원의 메타적인 세계를, 혹은 그 메타 세계의 메타 메타 세계를 후벼파야 합니다.
영작을 수십년간 공부한 사람을 알고 있습니다. 맨날 관용구를 외우고, 문법을 익히고, 날마다 영작을 한 편 씩 해서 미국의 교수에게 그 글을 보내고 검사를 받아온 사람입니다. 그 사람이 몇 년 전 제게 고백을 했습니다. 자기 영작 공부는 후회스러운 것이라고. 그 사람은, 훌륭한 글을 쓰는 것은 단순히 언어적, 문법적인 요소를 떠나서 얼마나 훌륭한 아이디어를 갖고 있느냐에 일차적으로 좌우되는 것이라고 깨닫고, 후학들에게 다양한 주제의 책을 접하라는 충고의 글을 썼습니다. 명료한 글을 쓰려면 언어가 명료하기 이전에 사고가 명료해야 하며, 풍부한 글을 쓰려면 언어가 풍부하기 이전에 사고가 풍부해야 합니다.
- 정모/2011.3.14 . . . . 23 matches
* [김수경]이 대안언어축제에서 배워온 ''진실 혹은 거짓''으로 IceBreaking 겸 1주일 회고를 진행.
= 대안언어축제 공유 =
* 중반무렵에 들어가긴 했지만, ZP모임에 처음, (그리고 아마 11학번 최초!) 참석해 봤어요. 들어갔을때는 선배들이 '대안언어축제'에 대해서 말하고 계시던데, 종하형한테서 몇마디 들었던 터라 그게 그거일거라 생각하고 들었지요. 제 추측에는 다른 컴퓨터 언어에 대한 세미나 같은거였으리라 생각하는데... 아무튼, 그렇게 몇마디 듣고서 ZP정회원이 되는 방법 (피드백 10개를 받으면 정회원이 된다! 라고 하는데, 정확히 무엇인지는 다시 알아봐야겠구요. 정회원 자격유지 요건이 뭐 2번 하는거라고 했는데.. 돈으로도 떼울 수 있다는 소리는 기억나네요. 이런 정모, 재밌게 진행된다면 정말 재밌게 즐길 수 있을거 같아서 계속 참여해보고 싶네요.
* 네 맞습니다. 그리고 대안언어 축제는... 아마 종하학우와 저의 관점이 매우 아주 울트라 미라클하게 다를지도 - [서지혜]
* Ice Breaking에서 지난 주에 하였던 일 3가지를 적되 1가지는 거짓으로 적어 맞히는 형식으로 진행되었습니다. 제가 했던 거짓말은 C언어의 low-level적 특성을 잊었다는 거였는데...열혈강의 책 첫장을 보면서 새로이 책을 보는 것 같은 기분이 들었다는 것에 충격을 많이 받았습니다. 새싹 교실 수업에 피해가 없도록 해야할 필요성을 느꼈습니다. 황현 학우의 OMS는 중간에 들어가서 잘 보지 못했습니다 ㅠㅠ 새싹교실에 추가 반배정이 있었는데 인원수가 늘은 만큼 수업 시 글자가 안보인다거나 목소리가 안들리는 피해가 없도록 잘 준비해 갈 계획입니다. - [강소현]
* Fact는 중간중간에 껴넣을 것임으로 생략합니다. 중간에 가느라고 대안언어축제 공유를 참가하지 못한게 아쉬웠어요ㅠ_- IceBreaking에 충격적 진실 소재가 있어서 더 즐거웠어요 (조폭이었던 형님과 술먹음 ㅋㅋㅋㅋ) 현이의 OMS 진행 때 전자교탁 컴퓨터가 원활하게 돌아가지 않아서 시간이 좀 깎아먹힌게 아쉬웠어요. 전자교탁 좀 안된다 싶을때 기호 컴퓨터로 바로 세팅 시작했으면 더 좋았을거 같아요. (어차피 전자교탁으로 해도 퀵타임은 깔아야하지 않았나;) 제 생각이지만 본래 발표같은거 준비할때 학교 등의 사전답사가 안된 장비는 믿지 않는게 정석입니다. 다음 정모때 세미나 섭외했는데 많이들 오셨으면 좋겠어요 - [지원]
* Ice Breaking 때 스펙타클한 거짓말을 썼는데 "달을 다녀왔다" 라고 썼습니다. 물론 고쳤지만요.ㅋㅋ 그리고 이번 Ice Breaking은 시간이 좀 길어진게 흠이지만 참 재밌었습니다. 이번 정모 때 가장 인상적인건 현이의 옵젝C 였습니다. 중간에 "함수 오버로딩은 지원 안하나요?" 라고 물어봤었는데, "언어의 특징 상 지원할 필요가 없다" 라고 현이가 답해줬습니다. 대답을 들으면서 '''"아, 난 그동안 언어의 특징을 너무 무비판적으로 수용한 것이 아닌가?"''' 라는 생각을 하게 되었습니다. '''"객체지향 언어는 당연히 함수 오버로딩을 구현해야 한다"'''는 선입견이 있었거든요. 저에게 심심한 충격이 됐습니다. 다른 OOP Language 중 오버로딩을 구현한 비율이 얼마나 되는지 한번 찾아봐야 겠습니다 ㅋㅋㅋ - [박성현]
* Ice Breaking을 하면서 뭔가 저번주에 바쁘게 지낸거 같은데 쓸게 없네라는 생각이 들기도 했었지만,, 이런 기회로 조금이나마 서로에 대해서 알게 된 것 같아 좋았습니다. Objective-C는 초반 세팅의 문제가 있었지만, 설명을 해주는 점에 있어서는 확실히 이 언어를 많이 써 보고 느낀점을 전달하려고 하는 모습이 보기 좋았습니다. 그리고 항상 이런 언어에 대해서 들으면서 느끼는건 어디선가 이름은 많이 들어봤는데 접해본건 하나도 없구나 하는.... 대안언어에 대한 발표가 진행될 때 일이 있어 먼저 가긴 했지만 다음에 기회가 되면 알아보고 참여해 보는 것도 괜찮을 거 같다는 생각이 들었습니다. - [권순의]
* 언어에 대한 내공이 느껴지는 발표였었죠ㅋㅋ 발표하는게 스티브잡스와 닮았던데, 좋아하면 닮는건가..ㅋㅋ - [서지혜]
* 대안언어축제에서의 경험을 공유하는 차원에서 1주일회고를 새로운 방식으로 해봤는데 어땠을지 모르겠네요. 이게 대안언어축제에선 6~8명 정도 있을 때 했던 것인데요. ZeroPage 정모에 그대로 적용시키니 시간이 많이 소요되어 그 점을 개선하는 것이 좋겠다는 생각이 들었습니다. 오늘 OMS에서는 현이가 진행한 Objective-C 세미나를 들었는데 정말 유익했습니다. 사실 Objective-C에 대한 호의적인 의견은 전에도 들어본 적이 있는데 딱히 관심으로 이어지지는 않았습니다. 그런데 이번 정모에서 세미나를 들으니 ''오, 이거 재밌겠는데?'' 싶은 생각이 드네요!! 깊게는 아니더라도 한번 공부해서 써보고 싶어졌습니다. 마침 현이가 책장에 책도 가져다 놓았으니 틈틈이 읽어봐야겠어요. 아, 그리고 대안언어축제의 경험을 어떻게 공유해야할지 고민이 많았는데 지혜가 정말 중요한 내용들을 공유해준 덕분에 저는 자잘한 몇가지만 말하고 넘어갈 수 있었네요ㅋㅋ 위키에도 [wiki:PNA2011/서지혜 대안언어축제 내용]을 정리하고 있던데 다들 읽어보셨으면 좋겠어요~ - [김수경]
* 이번 정모때는 대안언어 축제에서 알아온 2T1F를 시도해 보았습니다. 좋은 반응이 나와서 기쁘네요. 항상 이것저것 실험하고 있습니다. 실험자도 피실험자도 배워갈 수 있는 좋은 자리라고 믿고있어요X) 옵줵쒸 세미나는 황현학우의 평소 마인드?대로 심플해서 좋았어요. Simple is Best! 배우고싶긴 했지만 난 맥도없고 아이폰도없고 하면서 미루었는데 현이의 아이스브레이킹 세미나를 듣고 진입장벽이 낮아진 느낌이에요. 역시 처음에는 아이스 브레이킹이 최고X) 저의 대안언어 공유는... 어떠셨나 궁금합니다. 실제로 축제때는 너무너무너무너무 좋았어서 그 느낌을 다 전달 못해 아쉬워요. 처음만난 사람들과 같은 고민에 대해 비슷하면서 다른 생각을 나눈다는게 굉장히 신기했거든요. 우리학교 선배님들도 많더라고요! 다음 대안언어축제는.... 언제 돌아올지 모르겠지만 ZP 번개모임같은거 할 수 있을지도- 앞으로도 이런저런 자리가 많을텐데 여러분도 함께 했으면 좋겠어요!! - [서지혜]
* 항상 새로운 시도가 정말 긍정적인 변화 인거 같습니다. 이번 정모에서 시작을 간단하지만 세 명제씩 써서 맞추는 게임, 서로 서로에게 더 관심을 갖는 계기다 되어서 좋았다고 생각합니다. 또한 황현 학우의 오브젝트 씨 세미나도 짧은 시간에 새로운 언어, 표현 이런걸 짜임새 있게 접할 수 있어서 유익했습니다. 생선은 솔직한 심정으로 별로 귀엽진 않았구요. 서지혜 학우가 소개한 대안언어 축제도 새로운 정보였어요.
- Java Study2003/첫번째과제/노수민 . . . . 20 matches
* 자바는 Sun Microsystems 에서 개발한 객체지향형 프로그래밍 언어
* 기존의 프로그래밍 언어에 비해서 간단하며 배우기가 쉽고, 핸드폰에서, 대형 금융권 시스템에까지 그 활용범위가 무궁무진한 프로그래밍 언어이자 플랫폼
자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또한, 자바의 이러한 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
네이티브 메서드는 자바 언어 말고 다른 언어로 된 메서드를 호출해서 수행하는 메서드이다. 이러한 메서드도 자바가상머신에서 처리한다.
* 인터프리터이므로, 작업수행에 있어서 메모리 점유나 수행 속도 등이 C/C++등의 언어에 비해 무거운 것 같다
* 자바 언어를 이용하여 작성할 수 있는 자바 프로그램의 종류를 살펴보면 다음과 같다.
다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있다.
=== 자바 언어의 유래 ===
자바는 처음에는 가전 제품에서 단순하게 사용되다가 플랫폼 독립적인 기능이 인터넷의 기능과 조화를 이룬다는 점을 밝혀져 1995년 썬 마이크로시스템즈(Sun Microsystems)에서 "자바(Java) 언어"를 와 "핫자바(HotJava)"를 발표하면서 세상에 나오기 시작했다. "핫자바(HotJava)"는 자바 언어로 만든 웹브라우저를 말한다. 바로 JDK(Java Developers Kit) 1.0.x버전을 발표하면서 본격적인 자바 개발환경이 지원되기 시작된다. 그리고 Netscape와 라이센스 계약을 통해 Netsacpe 브라우저에서 자바가 시행됨으로서 전 세계로 자바가 확산된다.
- MoreEffectiveC++/Miscellany . . . . 20 matches
이런 좋은 소프트웨어를 만들기 위한 방법으로, 주석이나, 기타 다른 문서 대신에 C++ 내부에 디자인으로 구속해 버리는 것이다. 예를들자면 '''만약 클래스가 결코 다른 클래스로 유도되지를 원치 않을때''', 단시 주석을 헤더 파일에 넣는 것이 아니라, 유도를 방지하기 위하여 C++의 문법을 이용한 기술로 구속 시킨다.;이에 대한 방법은 '''Item 26'''에 언급되었다. 만약 클래스가 '''모든 인스턴스를 Heap영역에 생성시키고자 할때''', 클라이언트에게 말(문서)로 전달하는 것이 아니라. '''Item 27'''과 같은 접근으로 제한 시켜 버릴 수 있다. 만약 클래스에 대하여 복사와 할당을 막을려고 할때는, 복사 생성자와 할당(assignment) 연산자를 사역(private)으로 만들어 버려라. C++은 훌륭한 힘과, 유연성, 표현성을 제공한다. 이러한 언어의 특징들을 당신의 프로그래밍에서 디자인의 정책을 위해서 사용하라.
물론, 필요하다면 현재 감안하는 생각으로 접근한다. 당신이 개발중인 소프트웨어는 현재의 컴파일러에서 동작해야만 한다.;당신은 최신의 언어가 해당 기능을 구현할때까지 기다리지 못한다. 당신의 현재 가지고 있는 언어에서 동작해야 하고. 그래서 당신의 클라이언트에서 사용 가능해야 한다.;당신의 고객에게 그들의 시스템을 업그레이드 하거나, 수행 환경을(operating environment) 바꾸게 하지는 못할것이다. 그건은 '''지금''' 수행함을 보증해야 한다.;좀더 작은, 좀더 빠른 프로그램에 대한 약속은 라이프 사이클을 줄이고, 고객에게 기대감을 부풀릴 것이다. 그리고 당신이 만드는 프로그램은 '''곧''' 작동해야만 한다. 이는 종종 "최신의 과거"를 만들어 버린다. 이는 중요한 속박이다. 당신은 이를 무시할수 없다.
언어상에 최근에 변화와 관계있는 의무로 우리는 할당 연산자에 대한 반환값의 최적화를 진행할수 있다. 그래서 각 반환 참조에 정확한 클래스로 교체 할수 있다 하지만 C++의 규칙은 모든 클래스 내부에, 가상 함수에 대하여 동일한 parameter 형을 규정 지을수 있다. 이것의 의미는 Lizard와 Chicken에 대한 할당 연산자가 반드시 할당시 right-hand 부분에 Animal의 어떠한(any) 한종류의 객체에 대한 준비를 해야만 한다는 것이다. 이는 우리에게 다음과 같은 코드가 합법임을 의미하는 것이다.
이것은 mix-type의 할당이다.:Lizard는 오른쪽의 Chicken의 왼쪽에 있는 입장이다. Mixed-type 할당은 C++에서 평범한 문제는 아니다. 왜냐하면 언어의 strong typing은 보통 그것이 규정에서 어긋나게 하기 때문이다. 하지만, animal의 할당 연산자를 가상으로 하는 것에 의해, 닫혀진 Mix-type 연산자의 문이 열려 버린다.
많은 면에서, C++와 C에서 컴포넌트를 만들때, 네가 하는 걱정은 C 컴파일러가 오브젝트 파일을 서투르게 처리 할때의 걱정과 같다. 다른 컴파일러들이 구현에 의존적인 요소들에 대하여 동일하지 않으면, 그런 파일들을 혼합해서 쓸 방법이 없다. (구현 의존 요소:int, double의 크기, 인자를 넘기고 받는 방법, 호출자와 호출간에 통신 ) 이러한 개발 환경에서 컴파일러들을 섞어서 사용하는 것에(mixed-compiler) 관한 실질적은 관점은 언어의 표준에 대한 노력에 의해서 아마 완전히 무시 된다. 그래서 컴파일러 A와 컴파일러 B의 오브젝트 파일을 안전하게 섞어서 쓸수 있는 신뢰성 있는 유일한 방법은, 컴파일러 A,B의 벤더들이 그들의 알맞는 output에 대한 product의 정보를 확실히 아는 것이다. 이것은 C++와 C를 이용하는 프로그램, 그런 모든 프로그램에 대하여 사실이다. 그래서 당신이 C++과 C를 같은 프로그램에서 섞어서 쓰기 전에는 C++와 C컴파일러가 알맞는 오브젝트 파일을 만들어 내야만 한다.
이런 문제를 해결하기 위하여, C++ 컴파일러에게 해당 함수에 name mangle을 수행하지 않도록 알려야 할 방법이 필요하다. C든, assempler, FORTRAN, Lisp, Forth나 니가 가진 무슨 언어간에, 다른 언어에서 작성되어진 name mangle 처리된 함수를 원할수 없다.(예, 이 언어들에 COBOL도 들어가겠지만 당신이 쓰는가?) 결곡, 만약 C함수인 drawLine을 호출하면 그것은 진짜로 drawLine을 호출하고, 당신의 오브젝트 코드역시 그 이름 그대로 변화없이 사용한다.
당신은 C++의 함수를 선언할때조차 extern "C"를 사용할수 있다. 이것은 C++에서 라이브러리를 작성할때 다른 프로그래밍 언어들에 대한 지원을 하고 싶을때 유용하다. C++함수에 대하여 name mangle을 금지해서 당신의 클라이언트들이 당신이 mangle을 적용한 함수 대신에, 자연스럽게 명시적으로 사용할수 있다.
만약 C++에서 main을 작성할수 없다면 문제가 된다. 왜냐하면, 정적(static) 객체 호출을 위한 생성자, 파괴자에 대하여 이식성에 확신을 줄수 없기 때문이다. 이것은 모든것을 잃는다는 의미는 아니다. 단지 좀더 할일이 많아 진다는 것을 의미한다. 컴파일러 밴더들은 이러한 문제를 잘 알고 있다. 그래서 거의 대부분의 벤더들은 static initialization, destruction을 위해서 몇가지의 언어와 관계없는 기술을 제공한다. 이에 관한 정보는 당신의 컴파일러의 문서를 참조하거나, 벤더들에게 문의해라
우리는 C++와 C프로그램 사이에 데이터 교환에 관해서 다룬다. C++의 개념을 이해하는 C 함수를 만드는것 불가능 하다. 그래서 이 두 언어간의 전달의 수준은 C가 표현할수 있는 개념으로 한정된다. 그래서 객체의 전달 방식이나, 포인터를 C 에서 작성된 루틴의 멤버 함수로 전달하는 방법은 이식성이 떨어질것은 분명하다. C는 일반적인 포인터 이해한다. 그래서 당신의 C++와 C컴파일러가 만들어 내는, 두가지의 언어에서 알맞는 함수는 pointer와 객체를 pointer와 non-member 나 static 함수를 안전하게 교체할수 있다.자연 스럽게, 구조체와 built-in형의 변수들 역시 자유로이 C+++/C의 경계를 넘나든다.
C++에서 구조체의 설계 규칙이 C에서의 그것과 일치하기 때문에 양 언어가 각자의 컴파일러로 같은 규칙으로 구조체가 설계되어 있다고 가정 할수 있다. 그러한 구조체는 안전하게 C++과 C사이에 교환될수 있다. 만약 당신이 ''비가상 함수''를 C++ 버전의 구조체에 추가 했다면, 그것의 메모리 모양(layout)은 바뀌지 않는다. 그래서 비가상 함수를 포함하는 구조체(혹은 클래스)의 객체(object)는 오직 멤버 함수가 없는 구조체 C로 최적화 될것이다. 가상 함수를 더하는 것은 논할 가치가 없다. 왜냐하면 가상 함수를 클래스에 추가하는 것은 메모리의 배열에 다른 모습을 보인다. (Item24참고) 다른 구조체(혹은 클래스)로 부터 상속 받은 구조체는 보통 그것의 메모리상 모습이 바뀐다. 그래서 기본(base) 구조체(혹은 클래스)에 의한 구조체 역시 C함수의 지원이 미흡하다.
자료 구조의 입장은 이렇게 요약된다.:구조체의 정의를 C++와 C에서 전부 컴파일되도록 만들면, C++에서 C로의 구조체의 전달과, C에서 C++로의 전달은 안전하다. 비가상 멤버 함수를 C++ 버전의 구조체에 더하는 것은, 다른 한편으로 C에 맞추는 것이기에 이것도 두 언어간에 조화에 영향을 끼치지 안흔ㄴ다. 하지만 구조체가 몇가지의 변화이 안될 것이다.
* 두언어에서 모두 extern "C" 를 사용해서 함수를 선언하라
* 두 언어상에서 C가 컴파일할수 있는 데이터 구조의 전달로 제한 된다.:C++버전의 구조체는 아마도 비가상 멤버 함수만을 가지고 있어야 한다.
* Item 35: 언어 표준에 친해져라.
* '''언어 규칙의 개선''' : 가상 함수의 개선으로 이제 더이상 재정의한 함수와 정확히 일치하는 형의 반환인자를 가지지 않는다. 그리고 임시 객체의 생명주기도 정확하게 정의되었다.
표준 라이브러리에 일어나는 것들에 대한것에서 C++의 정확한 규정의 변화가 있다. 개다가 표준 라이브러리의 개선은 언어의 표준 만큼이나 알려지지 않는다. 예를 들어서 ''The Design and Evolution of C++'' 거의 표준 라이브러리에 관한 언급이 거의 없다. 그 책의 라이브러리에 과한 논의라면 때때로 있는 데이터의 출력이다. 왜냐하면, 라이브러리는 1994년에 실질적으로 변화되었기 때문이다.
- 이영호/64bit컴퓨터와그에따른공부방향 . . . . 20 matches
Assembly이다. Assembly를 현재 나와 있는 가장 발전된 언어라 생각하고 Assembly를 누구보다 깊게 파고 들어야한다.
이젠. Assembly와 함께 내가 그나마 깊게 아는 C언어를 파고들겠다.
* C++ 혹은 더 나아가 C++ 보다 속도상으로 느린 스크립트 언어를 쓰는 사람은 C++ 개발자들보다 덜 우수할까요? (위의 Assembly > C++ 로 평가한것으로 봐서는, 퍼포먼스와 하드웨어 제어 용이성 관점에서 Assembly 를 평가한 것 같습니다만) C++ 개발자들 혹은 더 나아가서 Java 나 Python 과 같은 개발자들이 Assembly 와 같은 low level 제어성을 포기하는대신 얻어간 것은 어떤 것일까요?
└저도 C (배우게 된다면 Assembly도.ㅎ)를 좋아 합니다.ㅎ 무엇보다 빠른 연산속도와 하드웨어 제어(해본적은 없지만), 포인터를 통한 메모리 접근등 좋은 점이 많아요.^^* 그렇지만 예를 들어 1만 팩토리얼을 출력하는 프로그램을 작성하시오. 라고 문제가 주어졌을때, C로 짜면 한나절이지만 파이썬으로 작성하게 되면 5분도 안걸리게 됩니다. 물런 연산속도가 느리기는 하지만 말입니다.^^ 이런 점에서 봤을때, 속도가 중요하다거나 특화된 프로그램을 작성해야할 경우에는 C와 같은 언어가 좋지만 보편적으로 사용하는 워드프로세서라든지 기타 응용프로그램이나, 제작해야할 프로그램의 제작시간이 짧을 경우에는 상위레벨의 언어가 좋을거라고 봅니다.^^ 뭐 이렇게 말은해도.. 사실 서로의 장점을 그때그때 맞춰서 섞어쓰는게 가장 좋지 않을까요?ㅎ (게임을 만들때 하위레벨의 언어로 하드웨어를 직접 사용한다 하더라도, 다이렉트를 이용하지 각각의 그래픽 카드에 맞춰서 프로그램을 만들지 않는것과 비슷한것 같아요.^^) 이상 지나가는 행인1의 잡다한 생각이었습니다.^^* - [조현태]
(우선 제 지문의 맥락을 담은 질문부터. 과연 Java와 Python 개발자들이 Assembly+C개발자와 같이 좋은 효율의 다른언어 컴파일러를 만들 수 있을까요. 현재 함수보다 좋은 함수를 생각해 냈는데 그것을 구현하려면 low level의 지식이 필요한데, 자신은 Java와 Python 들만 알고 Assembly를 모른다면 어떻게 해야할까요?)
전 어제 제가 평생 해도 따라가지 못할것 같은 사람을 보았습니다. 그 사람과의 벽이랄까요. 물론 그분이 연륜이 있으시지만 컴퓨터 자체에 대한 기초적이고 깊은 지식은 따라가질 못하겠습니다. 그분의 소싯적에 C언어로만 짠 프로그램들은 컴퓨터에 대한 깊은 이해가 없으면 불가능한 것들이었습니다. 그분이 Assembly를 배우지 않고 C를 처음부터 만졌다면 어땠을까요? 그런 프로그램들을 짤 수 있었을까요? 이상, 우물 밖으로 튀어나온 개구리였습니다.
그냥 시스템 프로그래머와 어플리케이션 프로그래머의 차이정도로만 생각하겠습니다. 언어 관련 논쟁과 다른 레이어간 논쟁에 대해서는 정말정말 재미없습니다. ^^ 의도하는 바도 아니고요. 단지, '시스템 프로그래머' 컨텍스트가 붙지 않았을 경우에는 다른 사람들에게는 좀 갸우뚱할 상황이여서 쓴 것일 뿐입니다. (그렇다고 시스템에 대한 이해의 중요성을 무시하려는것은 당연히 절대로 아니고요.)
선배님께서 82년부터 기계어로 해오신 것들이 다른 언어를 접하고 그 기초를 익힐때 도움이 안되었을까요? C언어의 포인터만 생각해도 C언어를 처음 접하는 사람과 어셈블리를 접하고 C언어를 접하는 사람에게는 큰 차이가 있을 것 같네요.(저 역시 포인터의 어설픈 이해를 어셈블리를 조금 공부해보고 제대로 잡았으니까요) C언어만 접한 사람들이 왜 상수를 고치지 못하는지 제대로 이해할까요? (C언어 책의 대부분은 상수는 고치지 못한다라고만 말하지 메모리의 실행 코드 부분이어서 고치지 못한다고는 말을 하지 않죠 :) )
생각이 너무 한쪽에 치우신거 같네요. 아마도 저 말고 다른 선배님들도 저와 비슷한 심정(생각)으로 글을 쓰셨을거 같습니다. 선배님들 말이 어셈블러를 공부하지 말라? C++만 공부하라~~ 이렇게 들리셨나요? 저는 아닌거 같은데요. 조금만 더 생각하고 읽었으면 좋겠네요. 위에 쓰신 글들을 보니 어쩌면 프로그래밍에 관련해서 저보다 더 많이 알고 있으리라 생각되는데요. 우선 젤하고 싶은 생각은 남의 글을 비판적으로 읽는것도 중요하지만, 그사람의 입장에서 생각해보는게 좋을거 같군요. A라고 말했는데, B라고 들으면 안돼겠죠. 어셈을 익히고 C++을 익히는것도 좋습니다. 그렇다고 C++을 익히고 어셈을 익히는게 나쁜 방법이라고 생각하지는 않는데요..@,.@. 제생각에는 님은 "어셈을 꼭 인힌다음 C++을 익혀야돼" 라는 고정관념에 빠진듯 함니다. 어셈을 모른다고 프로그램을 적게 이해한다고 생각하지도 않구요. 제 의견이지만 특정 프로그램언어 보나는 알고리즘, 자료구조 이런것들이 더 중요하다고 생각합니다. 그리고 C++이 쉽다? 정말 그럴까요? 정말 C++이 어셈보다 쉽다고 생각하시나요? 이펙티스 C++이나 엑셀레이터 C++ 이런책들을 한번 읽어 보시는것도 좋을거 같네요. 머 주저리 주저리 쓰게 됐는데 어디까지나 제 생각이고, 다른사람들의 입장에서 글들을 한번 다시 읽어 보는것도 괜찮은 생각인거 같군요. - 상섭
'' '특정언어를 공부한다'에는 두가지 의미가 같이 포함되어서 그런 것 같습니다. 즉, 언어 자체를 공부하는 것과 해당 언어가 쓰이는 분야(시스템, 웹, 컨커런트 등)를 공부하는 것. 아마 영호군의 경우 강조하려는 것은 시스템 레벨에의 지식에 대한 공부일 것이므로, '알고리즘/자료구조 대신 특정 프로그램언어를 공부한다'는 기우가 아닐까 생각. (물론, 하려는 이야기는 이해했음..~)--[1002]''
- 새싹교실/2011/데미안반 . . . . 16 matches
* C언어의 역사
* C언어의 장&단점
* C언어의 단점 중 low-level적 특성으로 프로그래밍을 하는데 많은 주의를 요한다 했는데, 실제로 잘못 사용한 사례는?
* C언어 전이 B언어 였는데 '''A언어'''도 있나요?
* A언어 : ALGOL을 말합니다. 고급 프로그래밍 언어(어셈블리나 기계어를 저급 프로그래밍 언어라고 합니다)로 각광받던 포트란ForTran에 대항하기 위해 유럽을 중심으로 개발된 프로그래밍 언어입니다. ALGOL은 Algorithm Language의 약자로서, 이름 그대로 알고리즘 연구개발을 위해 만들어졌습니다. 하지만 ALGOL은 특정한 프로그래밍 언어를 지칭하기 보다는 C언어나 파스칼과 같이 구조화된 프로그래밍 언어를 지칭하는 말(ALGOL-like programming language)로 쓰입니다. [http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=68855131&qb=Q+yWuOyWtCBC7Ja47Ja0IEHslrjslrQ=&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=ghtBIz331ywssZ%2BbORVssv--324794&sid=TYBj6x1TgE0AAE@GUeM 출처 링크! 클릭하세요:)]
* [이준영] - C언어의 기초적인 내용에 대해 다시 배울 수 있었습니다. 생각나는거로는 %d가 생각나네요.
* [강소현] - 열성적으로 질문을 해주어서 좋았습니다. A언어도 있는지의 여부를 물었었는데 저는 몰랐었는데 실제로 존재하더라구요 ㅎㅎ 가벼운 내용이라도 의문이 드는 사항이라면 언제든지 위키나 문자로 질문해주면 최대한 답변을 달도록 노력하겠습니다. 다음 시간에는 이전에 실습했던 것의 복습과 scanf 이후로 나갈 예정입니다. PPT 준비에 디자인도 없이 급하게 만든 티가 났었는데, 다음 시간에는 조금 더 준비를 해가겠습니다:)
* [박성국] - ^오늘은 함수에 대해서 자세히 배우고 그에 필요한 지식인 지역변수 전역변수 static변수에 대해 자세히 배웠습니다.^ 하나하나 배우면서 C언어어에 대한 자신감을 가졌습니다. 특히 Recursive function에 대해 정확한 이해를 통하여 활용할 수 있게 되었습니다. 항상 스펀지같이 쏙쏙 머리속에 들어오는 수업 감사합니다.
- 후기 . . . . 16 matches
= 대안언어축제2006 =
함수형 언어 Haskell을 배우는 시간을 많이 가졌는데 참 재미있었다. 더욱 재미있는 것은 함수형 언어의 좋은 점이 다른 언어에도 녹아들 수 있다는 것이다. 수학에서 출발하는 개념이 실제로 쓰이도록 중간에서 다리 역할을 하고 있다. 수학이 프로그램 언어에 미치는 영향력을 볼 때 학부 때 컴퓨터 공학 대신에 수학을 전공해도 좋을 것 같다. 그게 안 된다면 대안언어축제라도 참가하면서 [성장]할 수 있어야 한다.
대안언어가 보여준 많은 새로운 생각이 널리 퍼지지 않아 안타깝다. 혁신을 이루려면 많은 사람이 그 아이디어를 받아들여야 한다던데, 대안언어축제 이후에 어떠한 변화가 있을까? 새로운 아이디어를 적용한 코드를 작성할 수 있을까? 새로운 프로그램을 만드려고 할 때, 현재 사용하는 언어보다 더 적당한 언어를 선택할 수 있을까? 기존에 개발하던 프로그램이 있을 때는 새로운 언어로 갈아탈 수 있을까? 창의적인 아이디어와 실용성 사이 간격을 좁혀서 대안언어가 정말로 대안이 되길 꿈꿔본다.
더 대중적인 축제를 만들 생각도 해 보았다. 사람에게 감각적인 자극을 줄 수 있는 언어나 그 언어로 만들어진 프로그램, 혹은 다른 무언가가 있으면 어떨까? Mathmetica에서 프랙탈로 삼각형을 그리는 모습을 보고 사람들은 감탄했다. 패널토론 도중에 Squeak에서 보여준 시뮬레이션 역시 놀라웠다. 마이크로칩을 프로그램하여 모르스 부호를 불빛으로 깜박거리는 모습도 신기했다. 프로그램 언어에 익숙하지 않은 다른 분야를 공부하는 참가자들은 눈에 보이지 않는 동작 보다는, 감각적인 자극에 많은 호기심을 느낄 것이다. 시각 이외에 다른 감각을 자극하는 볼거리가 준비된다면 가족끼리 대안언어축제에 놀러 올 수 있을 것 같다. 마치 구경도 하고, 직접 체험해 볼 수도 있는 전시장에 온 것 같은 기분을 낼 수 있을 것이다.
- 아동언어습득이론 . . . . 15 matches
언어 학습 방법
내적 언어화 반응
상황에 맞는 언어 표현 학습
언어습득장치(LAD)주장
근거 - 비슷한 발달단계, 인간 종 특유, 뇌 전문화와 언어, 민감기가 있음
인지 발달은 보편적이며 언어 발달보다 우선
감각 운동기가 언어발달에 중요한 역할
어린이는 외부 환경과 상호작용하며 지식을 구성, 언어발달
언어가 인지에 미치는 영향을 과소평가
사회화된 언어 표현을 너무 늦게 봄
외적언어
->자기 중심적 언어( 과도기 )
->내적 언어
사고와 언어는 근원이 독립적
언어는 초기부터 사회적
- SeminarHowToProgramIt . . . . 14 matches
* 7:00-7:30 세미나 준비, 환경 설치, 자리 선택, 각 언어 그룹별 xUnit(or assert) 사용법 정리/스터디
해당 팀은 개발 환경, 언어 선정부터, 프로그램 디자인, 코딩까지 모두 함께 하게 됩니다. 한가지 문제 상황이 주어질 것이고, 제가 고객역할을 합니다. 개발 진행 중에 몇번의 요구사항 수정이 있을 것이므로, "적응도"에 대한 테스트가 자동으로 이루어 질 것입니다. 개발 완료 후에는 각각 다른 언어로 구현된 프로그램들을 살펴보며 비교 토론을 할 것입니다.
처음에는 신입생 대상으로 Python 강의가 있다고 해서, 거기에 보탬이 될까 하는 마음으로 세미나를 해드리겠다고 했는데, 어떻게 중간에서 "프로그래밍 전반"에 대한 세미나로 성격이 변한 것 같습니다. 실습 중심으로 하게 될 것이고, 아무리 Python이 배우기 쉬운 언어라고 해도 Python에 익숙한 사람이 하나도 없는 페어가 두시간 안에 뭔가 다른 것을 (Python을 통해) 익힌다는 것은 어렵고, 또 효율적이지 못하기 때문에, 여러분들 자신이 가장 "자신있는" 언어를 사용하도록 하는 게 좋겠다는 생각을 합니다.
이 때, OOP가 가능한 언어를 추천하고, 해당 언어의 xUnit 사용법을 미리 익혀오기 바랍니다. (반나절 정도가 필요할 겁니다) http://www.xprogramming.com/software.htm 에서 다운 받을 수 있습니다.
(See Also ["PyUnit"], ["UnitTest"], ["JUnit"], ["CppUnit"]. C 언어를 사용하시는 분들은 ASSERT 문으로 UnitTest 부분을 어느정도 대신할 수 있습니다.)
하지만 동적 자료형 언어를 접하는 것 자체가 큰 장점일 수가 있습니다. 특히 TDD와 Refactoring은 동적 자료형 언어에서 빛을 발하고, 대다수의 DP는 언어 수준에서 지원이 되거나 아주 간단합니다. 20분 정도면 Python을 간략하게 훑을 수는 있습니다.
''괜찮습니다만, 가능하다면 OOP언어를 권합니다. 그리고 자신이 선택한 언어와 동일한 언어를 선택한 사람이 최소한 한명은 더 있어야 합니다.''
- 논문번역/2012년스터디/이민석 . . . . 14 matches
오프라인 필기 글자 인식을 위한 시스템을 소개한다. 이 시스템의 특징은 분할이 없다는 것으로 인식 모듈에서 한 줄을 통째로 처리한다. 전처리, 특징 추출(feature extraction), 통계적 모형화 방법을 서술하고 저자 독립, 다저자, 단일 저자식 필기 인식 작업에 관해 실험하였다. 특히 선형 판별 분석(Linear Discriminant Analysis), 이서체(allograph) 글자 모형, 통계적 언어 지식의 통합을 조사하였다.
본 논문에서는 은닉 마르코프 모형에 기반한, 어휘(lexicon)-free 오프라인 필기 인식 시스템을 소개하고 완전한 영어 문장 데이터베이스에 관한 몇 가지 실험을 저자 독립식 그리고 대조를 위해 다저자, 단일 저자식으로 수행했다. 전처리와 특징 추출 방법을 소개하고 이에 더해 선형 판별 분석, 이서체 글자 모형의 사용, 통계적 언어 모형 같은 더욱 정교한 기법들을 조사한다. 그 뒤의 절에서는 오프라인 필기 인식에 대한 관련 작업들을 짧게 검토한다. 우리가 사용한 데이터베이스는 3절에서 소개한다. 그 다음 전처리, 특징 추출 방법, 통계적 모델링과 인식을 위한 기법을 설명한다. 평가 결과는 제안한 방법의 효율성을 입증하기 위해 7절에서 소개한다.
한 줄을 초기에 분할하여 발생하는 오류를 피하기 위해 [9]에서는 분할을 하지 않는, 즉 한 줄 전체를 인식 모듈에 넘기는 방법을 제안한다. 이 시스템은 단일 저자에 대해 검사되었고 통계적 언어 지식과 결합하여 유망한 인식 결과를 달성한다. [11]은 저자 수백 명으로부터 제작하고 보다 큰 데이터베이스에서 검사된, 저자에 무관한 제약 없는 글자 인식을 위한 발전된 시스템을 서술한다. 앞으로 나올 절에서 설명하는 시스템은 전처리와 특징 추출 방법이 약간 다른 비슷한 접근법을 사용한다. 그에 더해 이서체 글자 모형, 즉 글자 종류별 HMM 집합과 통계적 언어 모형의 사용 뿐 아니라 특징 벡터의 선형 판별 분석(LDA)을 적용한 결과도 조사한다.
부수적으로, 통계적 언어 모형은 인식 과정에 통합되어 글자 시퀀스가 발생할 것 같은 정도의 추정을 제공한다. 인식 작업의 목표는 주어진 데이터 x에 대하여 통합 통계 모형의 확률을 최대화하는 글자 시퀀스 𝑤̂ 를 찾는 것이다.
위 식에서 P(W)는 글자 시퀀스 w의 언어 모형 확률이고 P(X|W)는 이 글자 시퀀스를 그 글자 모형에 따라 입력 데이터 x로서 관찰한 확률이다. 우리의 경우 absolute discounting과 backing-off for smoothing of probability distribution을 이용한 바이그램 언어 모형을 적용하였다. (cf. e.g. [3])
우리의 필기 인식 시스템을 평가하기 위해 단일 저자식, 다저자식, 저자 독립식 인식 이렇게 세 가지 실험을 수행했다. 표 1에 이들 실험의 글자 오류율이 있다. 처음 두 열은 실험 종류, 3열은 언어 모형을 적용하지 않은 오류율, 4열은 바이그램 언어 모형을 글자 수준에서 적용한 결과다. 언어 모형은 IAM 데이터베이스의 [a..d] 범주의 모든 글을 사용하여 생성하였고 실험 내내 일정하다. 표 2에는 어휘-free 단어 인식과 어휘 기반 단어 인식이 나타나있다.
단일 저자식 실험은 Senior 데이터베이스에서 훈련에 282줄, 검정에 141줄을 써서 수행했는데, 글자 수준에서 검정 집합의 바이그램 perplexity는 15.3이다. 베이스라인 시스템의 오류율 13.3%는 바이그램 언어 모형을 채택하여 12.1%로 감소했다. LDA 변환한 특징 공간의 차원이 12로 내려갔지만 오류율은 그다지 커지지 않았다. 단일 저자 시스템의 단어 오류율(표 2)은 어휘 없이 28.5%, 1.5k 어휘가 있으면 10.5%다. 이 결과들은 우리가 같은 데이터베이스를 이용하여 literature(문학 작품은 아닌 것 같다)에서 얻은 오류율과 비교되긴 하지만, 훈련 집합과 검정 집합의 크기가 달라 비교하긴 어렵다. [17]에서 오류율은 글자의 경우 28.3%, 어휘 없는 단어의 경우 84.1%, 1.3k 어휘가 있는 단어의 경우 16.5%다. [15]의 보고에서 단어 오류율은 어휘가 있는 경우 6.6%, 어휘 free인 경우 41.1%다. [9]에서 최고의 어휘 기반 단어 오류율은 15.0%다.
다저자 필기 인식 작업의 경우 IAM 데이터베이스의 하위집합 c03에서 훈련에 440줄, 검정에 109줄을 사용하였다. 이 줄들은 글씨체가 확연히 다른 저자 여섯이서 작성하였다. 이 작업에서 LDA(12차원으로 경감)를 쓴 글자 오류율 14.2%는 이서체 모형(각 소문자에 이서체 6개)을 추가로 사용하여 13.3%로 더 크게 감소했다. 바이그램 언어 모형을 채택한 결과 오류율은 11.1%로 더욱 감소했다(검정 집합 perplexity는 12.0). 어휘 없는 단어 오류율은 39.0%로, 단어 421개(구두점 포함)를 포함한 어휘를 적용하여 오류율은 13.9%로 줄어들었는데 [11]에 나온 20.5%와 많이 비교된다.
이 결과들에 고무하여 우리는 더 어려운 작업인 저자 독립 인식 실험을 수행했다. IAM 데이터베이스의 하위 집합 [a- f](저자 약 250명)을 입력 자료로 썼는데, 훈련에 4321줄(양식 [a-d]), 검정에 1097줄(양식 [e-f])을 사용했다. 베이스라인 시스템의 글자 오류율은 31.3%다. 저자 독립의 경우 이서체 모형은 다저자 실험에 비해 별다른 향상을 이루지 못했다. 오류율 31.3%는 글자당 이서체 3개를 써서 얻은 것이며 글자당 이서체 10개를 써서 실험했을 때 오류율(34.8%)과 인식 속도 모두 하락하였다. 하지만 오류율은 LDA 변환한 특징을 썼을 때 29.1%로 크게 감소했다. 언어 모형을 추가로 통합하여 글자 오류율은 22.2%로 더욱 개선되었다(검정 집합의 perplexity는 12.0). 이는 어휘를 쓰지 않았을 때 단어 오류율 60.6%와 대응된다.
우리는 분할 없는 오프라인 필기 글자 인식을 위한 시스템을 소개하고 단일 저자, 다저자, 저자 독립식에 관해 실험을 몇 개 수행해다. 어휘를 쓰지 않는 단어 기반 뿐 아니라 글자 수준에서도 유망한 인식 결과를 이루었다. 인식 정확도는 베이스라인 시스템과 비교해 상당히 개선되었는데, 글자 수준에서 통계적 언어 모형을 적용하고 다저자/저자 독립식 인식에서 특징 공간의 LDA를 수행한 결과다.
- 데블스캠프2010/셋째날/후기 . . . . 14 matches
또 팀장으로써 팀에게 일을 분배할때나 의견을 규합할 때 모두 '목적을 달성하기 위해 필요한 전략'을 제대로 설정하지 않고 막무가내 식으로 하다보니 단순하게 'J언어의 특징, J언어의 장점, J언어 예제'라는 완전히 가르치는 사람 입장에서의 내용들을 선택하게 되었습니다. 실제 청자의 특징을 고려하지 않은 이러한 선택으로 인해, 결과가 신구조화팀 보다 좋지 않았던 것 같습니다.
* 러플과 함께 또다른 언어를 배웠네요! 근데 정말 재밌습니다 ㅋ 문법이 어렵지 않아서이그런건지... 또 그림을 그릴 수 있다는 새로운 방식에 재미를 많이 느꼈어요. 일단.. C와 C++을 마스터 한 후에...?!!! 파이썬도 열심히 해봐야겠네요 ^^ 감사합니다! - [이충현]
* python...새로운 언어를 배웠네요ㅎㅎ제가 프로그래밍 한 것이 그래픽으로 나온다는 것이 참 재미잇고 신기한 것 같아요 -[박정근]
* Python이라는 언어의 특징에 대해서 알아보고 사용법에 대해 배웠다어요 C에 비해서 편한점이 많은 것 같았고, 개발자 분이 만드실 때 참 재밌게 만든 것 같다는 느낌이 들었어요ㅋㅋ. 거북이를 이용해서 여러 그림도 그려보고 재미있었어요~_~. 설명도 잘 해주셔서 이해하기 쉬웠고 코딩도 생각보다 잘 되서 좋았어요~ㅋPython에대해 좀더 알아보고 싶고 더 재밌는 그림도 그려보려고요~! [박재홍]
* Python, 개인적으로 참 배워보고 싶었던 언어였습니다. 왜냐면 ZP가 사랑하는 언어잖아요... ㅋㅋㅋㅋ 한번 들어보니 새롭긴 했습니다. 작년에 루아를 잠깐 공부해본적이 있었는데 자료형에 대해선 같은 특징을 가지고 있더라고요. 역시 '스크립트 언어는 인터프리터를 사용해서 자료형을 지정하는 것이 유연성이 없어서 그런가보다'라는 생각이 들었습니다. 재미지네요. 그런데 제가 스크립트 언어 하나 정돈 제대로 배워볼 생각인데 파이썬 한번 해봐야겠네요. - [박성현]
* 리버스 엔지니어링 흥미롭네요. 예전에 리버스 엔지니어링이 뭔지 궁금해서 한번 해보려고 했었는데, 어셈블리언어를 몰라서 GG 쳤던 기억이 있었는데... ㅋㅋ 오늘 보니까 어셈블리언어를 배워서 그런지 이해가 되더라고요 -_-ㅋㅋㅋ 그리고 Decompiler 부분도 흥미로웠습니다. "아니 어떤 원리로 소스를 복원시킨거죠?" 라고 물어보고 싶었어요. 그리고 가상화에 대한 내용도 좋았습니다. 가상화의 개념과 하는 이유에 대해서 잘 알 수 있었습니다. 가상화 참 안 쉽죠잉? - [박성현]
* 디버거 짱 신기해요!!! 옛~~~~~~~날에 잠시 암호화, 복호화 쪽 했었는데..ㅋㅋㅋ 어려워서 지지 치고ㅠㅠ 보안이랑 해킹 이쪽으로 흥미가 있었는데 완전 재미있었어요!! 2학년때 어셈블리언어 좀 더 이해할 수 는 있겟쬬?!ㅠㅠㅠㅠㅠㅠ 난중에 쫌 더 잘 이해할수있고 그럴때 기회가 된다면 또 해보고, 이쪽으로 좀 더 해보고싶어요!!히히-[박소연]
* 리버스 엔지니어링이 현재도 많이 쓰는(?) crack, 과 keygen 에 쓴다는 것을 알았고, 가상화 라는 것을 통해 리버스 엔지니어링을 매우 힘들게 할 수 있다는 것을 알았습니다. 입력 노가다로는 절대 풀 수 없는 비밀번호 찾기를 디버거를 통해서 비교적 간단히 찾을 수 있다는 것이 신기했고, 원래 관심있던 부분이라서 되게 흥미로웠어요~ㅋ 어셈블리 언어를 배우고나서 더 알아보고 싶어요! [박재홍]
- ZeroWiki에서 언어습관 . . . . 13 matches
NeoCoin은 ZeroWiki 항해를 하면서 ZeroPage 가 [노스모크]와 다른 방향으로 위키의 언어 습관이 관습화 되어 가는 것을 관찰할수 있었습니다. ([노스모크]는 일상어보다 좀더 공개 석상에서 쓰이는 분위기, 어휘로 언어 습관이 형성되어 온것 같습니다.)
이 예제는 이모티콘이나, 자음, 모음만 사용한 예제 중 양호한 편입니다. 이러한 언어 습관은 작년(2003) 보다 올해(2004)가 두드러 지는것 같은데, 이런 현상에 대하여 어떻게 생각하시나요?
''과거 [노스모크]의 전례를 보았을때, 기존 회원들은 자연계처럼 자정작용이 언어습관에 적용되기를 바란것이 아닐까요? 제가 읽는 대부분의 커뮤니티에 저런 패턴의 글들이 자연 소멸했습니다. 지금 저 글을 읽기 힘들다는 느낌 자체가 신기한 경험입니다. 마치 "그놈은 멋있었다."를 읽다가 눈이 피곤한 느낌이라고 할까요? ''--NeoCoin
[제로위키]에서 쓰는 어떠한 언어습관이 관습화되고 있는건가요? 아니면 [제로페이지]에 새로 들어온 회원들이 원래 쓰던 언어습관과 '''다르게''' 자꾸 글을 써서 아직 관습화되진 않았는데 '''관습화 처럼''' 느껴지는 건가요? 로마에 가면 로마법을 따르라지만, [제로위키]에는 어떠한 법이 있나요? --[Leonardong]
지적하신 내용에 공감합니다. 기존 사용자 층의 글이 자연스럽게 줄어들고, 새로운 사용자 층이 증가하면서, 형성되는 언어습관이 재미있어서 주목하고 있는것 이지요.
[제로위키]에는 말씀처럼 특별한 법이 없습니다. 마찬가지로, 어떠한 위키에도 어법에 관한 법은 없습니다. 그렇지만 타 위키들은 언어습관의 진행 방향이 서술 형식의 표준어 분위기로 진행하는 것에 비하여 [제로위키]는 다른 방향으로 진행되어 가는 것 같아서 주목할만한 점이 아닐까요?
이것이 지켜진다면, 당연히 [제로위키]의 글도 표준어, 서술형식으로 수렴할 것입니다. 두 가지 이유 가운데서도 과거 글을 - 오래되면 오래 될 수록(?) - 타인이 잘 안 고치는 경향이 있습니다. 건드릴 엄두가 나지 않지요. 따라서 새로 만드는 페이지에 주로 글을 쓰고, 새로 만드는 페이지가 주로 생기기 때문에 새로운 언어습관이 관습화된 것 처럼 보인다고 생각합니다. --[Leonardong]
위의 [위키요정], 위키철학 공유에 대한 문제를 감안해도 앞으로는 새로운 ZeroWikian과 [위키요정]들이 활동하면서 이들이 공유하는 언어습관이 변화할 것을 기대합니다. 99, 00..년의 사용자들의 개인 페이지나 프로젝트 페이지, 게시판에 작성하는 글의 언어습관은 다릅니다.
이를 주목해 보니, 타 위키가 새로운 사용자 계층 유입이 한꺼번에 일어나지 않는다는 공통점이 보이군요. 그래서 타 위키는 언어습관이나 문화가 급격히 변화하는 것은 없습니다. 새사용자 들도 기존 위키에 분위기에 따르니까요. 마치 메일링 리스트 사용하는 것 처럼 말이죠.
그러나 [제로위키]는 새사용자 상당수가 연례적으로 유입됩니다. 생각해보니 정말 재미있는 차이군요. 더불어 우리는 첫 위키 교육에서 항상, 새 사용자의 새로운 글쓰기를 적극 권장합니다. (SeeAlso [위키의진입장벽낮추기] ) 그래서 가장 익숙한 평소에 타 게시판에서 작성하는 습관을 그대로 가지고 옵니다. 이것이 반복되면서 언어 습관이 바뀌어 나가는 것 같군요. [제로위키]는 급격한 변화상이 보이는 재미있는 실험실 같군요.
- nilath개인페이지처음화면 . . . . 13 matches
회사에 들어가보면 알게 되겠지... 쓰이진 않지만 결코 사장되지 않는 언어...
C언어는 다른 언어를 배우는데 있어 내공을 쌓는데 좋지...
C에 대해 깊은 내공의 소유자는 어떤 언어를 배우든지 쉽게 배운다... 지금 생각해보니 맞는말 같아...
어떠한 언어든지... 일주일... C언어는 쓰이는 언어가 아니라 언어의 기본을 가르치는 언어이다...
언어의 세대 차이. C를 제대로 배운 사람(기계어 수준의, 컴퓨터의 기초, C언어의 매우 깊은 분야)이 다른 언어를 배우면 프로그래머가 될 수있고... 그것은 예술이고...
다른 생산성을 기초로한 차세대 언어만을 배운 사람이 될 수 있는 것은 기껏해야 코더뿐... 그것은 기술이다...
- 데블스캠프2005/화요일후기 . . . . 13 matches
느낌: 알고리즘은 정말 중요하고, Python은 부담스럽게 똑똑하다. 그리고 정말 신기한 언어이다.
교훈: 아무리 똑똑한 언어라도 내가 모르면 바보같은 언어다. 그러므로 공부하자.
[남도연]:오늘 크게 2가지를 배우게 되었다. 하나는 알고리즘과 자료구조에 관한 내용이었고 하나는 파이선에 대해 배운 것이었다. 알고리즘과 자료구조는 평소 우리가 수업시간에 들었던 내용이기는 하였지만, 막상 코드로 직접 적용하려니 잘 풀리지 않았다. C코딩을 할때 중요한 것이 알고리즘이라는 것을 또 한번 느끼게 되었다. 아무 생각 없이 코딩을 무작정 하려고 하다가는 크게 낭패를 본다는것을 배웠기 때문이다. 알고리즘은 하나의 계획표라고 볼 수 있다. 하나의 프로그램을 짜기 위한 계획표. 파이선은 C언어와는 사뭇 다른 언어였다. C언어 보다 편리한면이 많아 보이기는 했지만, C언어보다 못한 점도 간혹 보였다. 아직 미숙하기 때문에 딱히 무엇이라 말할 수는 없지만.. ㅋ 오늘 새로운 언어도 배우고 알고리즘의 중요성도 다시금 느끼게 되어 날 샌것이 아깝지 않았지만, 내준 과제 모두를 다 해결 하지 못한 것이 아쉬움이 남는다. 다 해결했으면 더 뿌듯 했을텐데 .. ㅋ
파이썬이라는 것을 어떻게 사용하는지 그리고 언어?를 조금이라도 더 많이 배웠고..
[조현태] : 길찾는 알고리즘, 예제가 15*15가 아니라 고생한 것이 아쉬웠다. 하지만, 알고리즘에 대해 느낀바가 많았고, 새로운 언어 파이썬도 뭔가 독특했다. 인터프리터 언어라니..ㅎㅎ 그렇지만, 역시 고생한 탓인지 왠지 잠이 더 쏟아져 내리는 하루였다. 마지막으로 이런 강의를 준비하느라 고생하신 강의자 분들께 많은 감사를 표한다.
[이동현] : 파이선배운것에서, 파이선이 매우 편리한 언어라는걸 느꼈다. 느낌은 그 편리한 파이선을 배우면서도 계속 C문법과 연관지어서 생각하게 되는걸 보니 너무나 내 자신이 C에 길들여져 있다는걸 느꼈다.
[최경현] : 파이썬과 자료구조에 대해서 배웠다. C이후로 처음으로 접해본 언어인 파이썬이 재밌었다. 그리고 자료구조에서의 알고리즘의 중요성도 배웠다.
- 정모/2011.3.7 . . . . 13 matches
1. XML 코드의 순서때문에. XML은 선언적 언어인데 왜 순서의 영향을 받을까?
* 20분가량 새내기들이 잘 모를법한 언어에 대해 프리젠테이션을 진행
* [http://www.pnakorea.org/ 대안언어축제] 공유
* 루비는 선배들을 통해 이런게 있다라는건 들었었지만, 막상 실제로 접해보지는 못했었는데 이번 세미나를 통해 루비라는 언어에 대해 직접 접해 볼 수 있는 기회가 되어서 좋았습니다. 이제 직접 좀 찾아보면서 루비라는 언어를 좀 더 접해보고 싶다는 생각이 들었습니다. 그리고 폐차쿠차를 통해 알고 있던 영화가 정말 다양하게 해석될 수 있다는 사실이 재미있었습니다. 동영상으로 보여주려 했던 영화는 뭐 저런 사기 캐릭이 있나라고 생각하면서 봤던 영화였는데, 동영상이 재생되었더라면 다시금 그때의 그 황당함을 다시금 느낄 수 있었지 않았을까 아니면 다른 느낌을 받았을까 하는 생각이 듭니다. - [권순의]
* 정모에서 세미나와 페챠쿠챠만 참여하게 되었습니다. OMS할 때는 학교 컴퓨터를 이용했는데, BGM과 동영상이 재생이 안되더군요. 안타까웠습니다. 그리고 루비를 보면서 느낀게 참 신기하더군요. 가장 신기한게 'nil'이었습니다. 보면서 여러가지 질문이 생각나더라고요. ''왜 nil이 라고 용어를 붙여놨어. Null이랑 헷갈리게!'', ''실제로 가볍게 활용을 하려면 어떻게 이용해봐야 할까?'', ''루비의 가장 큰 특징이 뭐지? 왜 좋다고 이야기 할까?'' 블라블라~. 그리고 루비 위키페이지에 적어놓으셨던 문법들이 정상적으로 작동하지 않는 걸 깨달았습니다. '<'로 상속이 안돼! 이 깍쟁이 irb야~ 내가 너를 Some이라 불러줬으니 나에게로 와서 Some2가 되어달란 말이야 ㅜㅜ. 앞으로는 다음에 언어 세미나를 들을 때 ''왜 이 언어와 문법이 등장하였는지''를 좀 생각하면서 들어야겠습니다. 그냥 생각없이 들으니까 금방 까먹어 버리네요. - [박성현]
* 학생회 회의 떄문에 늦어서 루비 세미나 뒷부분부터 참석한 관계로 많은 프로그램을 놓쳐버렸습니다 OTL 아쉽더군요... 우선 새싹의 경우는 나름 담당자 인데 정모에 참여를 못해서 아쉽습니다. 그리고 성현이형의 영화 해석을 보면서 깨달은건데 그렇게 영화가 해석되는지 몰랐습니다. 그리고 JavaScript 스터디에 야매로 참가하면서... 알게된 내용이지만 인터프리터 언어에도 객체지향 언어가 존재하고 종류가 꽤 많다는게 신기하네요. 제가 어디서 주워 듣기로는 Python도 OOP가 가능하다고 하던데;; 아무튼 늦게 들어간게 죄입니다 ㅠ -[윤종하]
* 세미나가 예상외로 긴 시간을 잡아먹고 노트북의 부재로 아쉬운시간을 가졌습니다. 하지만 루비 세미나는 꽤나 유용한 세미나였던것으로 기억합니다. 예전 루비를 혼자 배워볼때랑 달리 친절한 설치도 지원해주고 제가 처음 배웠던 부분과 다른 부분을 배울수 있어 좋았습니다. 후기에 계속 나왔던 말이지만 루비는 불완전한 언어라는 말보다는 현재 루비로 지원해주는 많은 라이브러리가 부족한것이지 언어자체는 굉장히 뛰어나다고 할수있습니다. 루비에 대해 다시 떠올리는것으로 좋은 시간이었습니다. - [김준석]
* 뛰어난 언어인지는 잘 모르겠습니다. 단순히 제 이해도가 낮은것이 아니라 현재 루비에서 펄의 잔재를 제거하는 일명 순수주의 활동이 일어나고 있는데, 개인적인 생각이지만 베껴 만들었다가 표절이야기 듣기 싫어 뜯어 고치는 느낌이라서요.. - [서지혜]
* 제가 "실용적"이라는 단어를 잘못 사용했네요. 이 단어를 사용하는 게 아니었습니다....... 언어가 너무 "중구난방"한 느낌이 들어서, 별로 "제가 쓸 일이" 없을 것 같다는 의미를 전달하려 했어요. - [황현]
- BigBang . . . . 12 matches
* C/C++/Java 모두 다른 언어지만 하나에서 시작했으니...
* ALGOL계 언어라고도 한다고 한다.. [http://hkpark.netholdings.co.kr/web/inform/default/inform_view.asp?menu_id=9730&id=1456&parent_id=1517 궁금해 할 사람을 위해]
* 그러나 비슷한 시기에 탄생한 Fortran, lisp등을 제하고 이후 대부분의 언어에게 영향을 주었으니 ALGOL과 무관한 언어가 있을까..
* C/C++/Java 언어를 공부하고 서로간의 사용상 차이점과 공통적인 패턴 학습
* 서로 다른 세 언어를 마치 한언어처럼 쓸수 있게끔..
==== 프로그래밍 언어의 필수 요소 ====
* C/C++/JAVA은 형을 강제하는 강형언어기 때문에 형이 있다.
* 당연히 강형언어가 더 빠르게 동작할수 있다. CPU에서 어떤 모듈을 쓰는지 알기 때문.
* 세 언어에서 case문 뒤는 "정수" 이다.
==== Chapter 1. C++를 언어들의 연합체로 바라보는 안목 필수 ====
- EffectiveC++ . . . . 12 matches
* 누구나 나름대로의 철학을 가져야 한다. 어떤 이는 불간섭주의 경제학을 믿고 어떤 이는 윤회설을 믿는다. 또 어떤 이는 COBOL이 진짜 프로그래밍 언어라고 믿는다. C++도 나름의 철학을 가지고 있다. C++는 잠재적인 애매모호성은 에러가 아니라고 생각한다. 나는 과학-기술 서적에서도 이러한 충분히 깊은 생각의 이야기도 필요하다고 생각한다.
C++언어는 잠재저인 애매모호성을 가진 언어이다.
만약 C++의 클래스로 C 언어의 배열과 유사한 클래스를 만들고자 한다면
C 언어의 배열과 유사한 성질을 지녀야 한다.
C 언어에서 배열의 치환은 불법이다.
C++언어 클래스 기본 치환 연산자를 멤버의 복사로 정의되어 있으므로
(String형과 같이 C 언어의 특성과 반드시 호환되게 해야할 경우 조금의 예외라고 생각해도 좋을듯 하다;;)
C 언어를 사용할 때는 함수의 첫머리에 변수를 정의하고 시작하였다.
아마 초기의 C 언어에서 변수의 정의가 첫머리에 있어야 함도 있을테고 변수를 쉽게 식별하기 위해서도 사용된 방법이다.
C++은 컴파일되는 언어로 실행시간에는 에러를 탐지하지 않는다.
C++ 언어는 유연하다.
- Java Study2003/첫번째과제/곽세환 . . . . 12 matches
* 자바언어의 특징
자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또한, 자바의 이러한 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
아키텍쳐 중립적(Architecture-neutral)이고 이식성(Portable)이 높다(자바언어의 특징중의 하나지요)
다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
- Java Study2003/첫번째과제/방선희 . . . . 12 matches
* C 언어의 포인터처럼 메모리를 직접 access할 수 없다.
* Object Oriented Language (객체지향언어)
-- 기존의 compile/link/load방식의 언어에 비해 source를 compile만 하면 최종 수행코드가 생성됨으로 개발시간을 단축할 수 있다.
* VM이란? : 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로 프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다.
* 자바가 왜 요새 각광을 받는 언어가 되었을까요?
* 자바가 가지는 단점이 하나도 없군요..;; 단점도 같이 조사해 주세요. 언어가 가지는 특징이 꼭 장점만 가지라는 법은 없구요 그 단점을 알아서 그것을 극복하여 프로그래밍 하는 것도 필요하답니다.
* 자바가 각광받는 언어가 된 이유
* Java란 프로그램언어는 enterprise 급 기업의 web시스템에서부터 작은 핸드폰에 이르기까지어디든지 사용할 수 있다. 다시 말해 Java를 할 줄 알면 어느 곳에나 적용 가능한 프로그램을 개발 할 수 있다는 말이다. 그 뿐만 아니라, Java로 개발된 시스템은 다른 언어로 개발된 시스템보다도 훨씬 쉽게 확장이 가능하다.
예를 들어 Java로 인사시스템을 개발하여 운영하고 있다가, 새로운 급여 시스템을 개발하고자 한다고 가정하자. 이때 Java는 다른 언어에 비해 기존 시스템과 쉽게 연동가능하며, 혹 기존 시스템이 Java가 아니더라도 그 일은 가능하다.
-- 자바의 장점에 포함된 특징들이 다른 언어에 비해 독자적이고 두드러지기 때문인 것 같습니다.
* 모호한 언어적 특성, 비결정적 자바 가상머신, 표준화된 실시간 API가 없는 문제 때문에 실시간 응용이 어렵습니다.
- 논문번역/2012년스터디/서민관 . . . . 12 matches
특히, 선형 판별 해석(linear discriminant analysis)과 allograph 문자 모델, 통계적 언어 지식을 결합한 방법을 살펴볼 것이다.
전처리와 특징 추출을 위한 방법들을 기술할 것인데, 추가적으로 선형 판별 해석, allograph 문자 모델, 통계적 언어 지식 등의 더 정교한 방법도 살펴볼 것이다.
이 시스템은 단일 작성자로 테스트 되었고, 통계적 언어 지식과의 결합으로 전망이 있는 인식 결과를 달성하였다.
추가적으로, 각 문자 종류에 따라 HMMs나 통계적 언어 모델을 사용하는 등의 allograph 문자 모델을 사용하는 것 뿐 아니라 특징 벡터들에 대해 선형 판별 해석을 적용한 효과에 대해서도 살펴보았다.
추가적으로, 문자 배열에 대한 추정을 제공할 것 같은 인식 과정에 통계적 언어 모델이 통합되었다.
우리의 경우에는 absolute discounting 을 이용한 bi-gram언어 모델과 backing-off for smoothing of probability distributions가 적용되었다.
이 실험들의 문자 오류율은 table 1에 나타나있다. 실험의 타입은 첫 두 열에 나와 있고, 언어 모델을 적용하지 않은 에러율은 세 번째 열에, bi-gram 언어 모델을 문자 수준에서 사용한 결과는 네 번째 열에서 찾을 수 있다.
언어 모델은 IAM 데이터베이스의 [a..d] 카테고리의 모든 텍스트를 이용하여 생성되었고, 나머지 실험들에서도 동일하다.
bi-gram 언어 모델을 도입하는 것으로 13.3%인 기준선 시스템의 오류율은 12.1%까지 감소하는 결과를 이루었다.
bi-gram 언어 모델의 응용은 추가적으로 오류율을 11.1%(테스트 셋 perplexity 12.0)까지 더 낮춰준다.
추가적으로 언어 모델을 포함시키자 문자 오류율은 훨씬 향상되어 22.2%가 되었다.(테스트 셋 perplexity 12.0)
- 데블스캠프2003/셋째날/후기 . . . . 12 matches
* 오늘은 많은 언어를 접해볼 수 있어서 좋았다.. python 과 scheme 글구.. squeete? 암튼 색다른 경험이었다... 모든 프로그램에 있어 창의적인 생각으로 문제를 해결할 수 있었으면 좋겠다.... 6분 남았다.. 아~ 얼른 축구보러 가고 싶다... -- 손동일
* 그동안 C언어에만 제한되어있던 사고의 범위를 다른 여러 언어를 접해보면서 넓히는 계기가 되었다...그 후에 짰던 ramdomwalk는 알고리즘에 확신이 섰는데도 불구하고 다 완성하지 못해 아쉬웠다...나중에 꼭 완성해야지.. --[문원명]
* 현재 램덤워크를 해보는중 풀릴듯 한데 이상하네 리턴값이 문제인거 같은데 어떠케 잡아야 할지 모르겠군;; 오늘 접한 많은 언어들 식상한표현이겠지만 너무나 좋았다. 씨뿔뿔과는 다른 언어들.. 오늘까지 하면서 이번 방학동안에 멀 해야 하는지를 깨달았다 마냥 놀아서는 도저히 남을 따라가지 못함을 남을 따라간다기 보다는 더욱 발전해야할 그리고 앞으로 발전 되있을 나의 모습을 보기 위해서. 더욱 힘을내자. 지금의 어려움은 아무것도 아니다. 아자!! -- [변준원]
* 여러가지 언어를 접하고 보니 사고를 넓혀야 겠다는 생각과 언어적 개념이 중요하다는 사실을 깨달았다. [RandomWalk]는 [마방진],[EightQueenProblem]에 이어 다시금 좌절을 안겨 주었다. 다음엔 무엇에 좌절할 것인가.. --황재선[aekae]
* 나 역시 새로운 언어들을 보면서 오길 잘 했다는 생각이 들었다. 앞으로 종종 사용할 수 있는 언어들은 사용할만한 기회가 오면 좋겠다. --[snowflower]
* 어제 이번 1학년들이 C 와는 다른 언어들을 봤는데 그냥 구경에서 그치지 말길 바란다. 직접 다른 언어도 공부 해보고 많은 걸 배웠으면 한다. --재동
* 넷째날 시작하기 몇시간 전에 쓰는 후기 -ㅂ-; 새로운 언어 배운것 정말 재밌었구요^^ OOP에 대해 조금이나마 감이 잡힌것 같습니다. 개인적으로 python을 공부해보고 싶은 생각이..^^ scheme 이랑 squeak도 재밌었어요 ^^ 우물안 개구리가 되지 않도록 노력하겠습니당! 아..그리고 랜덤워크 거의 다짠거같은데 뭐가 문제지 ㅠ_ㅠ--[방선희]
- 데블스캠프2010/넷째날/후기 . . . . 12 matches
* 자바스크립트라는말을 많이 들어봐서 뭔가 했는데 이제야 어떤건지 조금은 알았네요. 자바와 자바스크립트가 다른거라는것도 오늘알았고 자바스크립트가 C언어와 이렇게 비슷한걸 보니까 언어 하나를 배우면 다른건 쉽게 배운다고하는말이 뭔지 알것같습니다. 그리고 역시나 감동의 쓰나미였다 또 C언어처럼 컴파일러 같은게 필요한것도 아니고 코딩한 파일을 웹브라우저로 실행하기만 하면 결과가 나온다는것도 신기하네요 - [경세준]
* 자바스크립트가 C언어와 많이 닮은것 같아서 매우 인상깊었습니다. 하지만 저의 C언어 실력이 미숙하여 하는데에 많은 어려움을 겪으면서 많은 생각을 하게 되었습니다. 일단 기본적인 C언어의 문법과 선언하는 함수 등을 자세히 공부하고, 자바스크립트에서의 C언어의 활용 방법을 좀더 연구해야겠다고 생각했습니다. 그리고 자바스크립트를 통해 비쥬얼 스튜디오보다 좀더 편리한 프로그래밍을 할수있어 더 좋은 내용의 프로그램을 만들수있다는 것에 대하여 생각해 보았습니다. 앞으로 좀더 열심히 공부해야겠다고 생각합니다. - [양아석]
* HTML의 문법은 별로 관심이 없지만, java script는 흥미로웠습니다. 얼른 sciprt 언어 하나를 배워봐야겠네요. - [박성현]
* 참 재밌었습니다. "쿠키와 세션"에 대한 내용도 조금 알 수 있었고 웹의 작동 원리를 알 수 있어서 좋았습니다. AJAX가 등장한 이유도 재밌었구요 ㅋㅋ 또 하나의 웹 페이지처럼 보이지만 실상은 여러 페이지를 include 한 것을 보고, "아 이런 원리였구나" 하고 깨닫게 되었습니다. 참 신기하고 재밌네요 ㅋㅋ C++0x도 역시 흥미로웠습니다. 새로운 문법들 중 &&를 이용한 우측값 참조, 이걸 들어보니깐 점점 C++은 접근하기 어려운 언어가 되어가는 듯한 느낌을 받았습니다... 하지만 저는 성능을 더욱 개선시킬 수 있다는 점에서 새로운 것을 알아 좋았습니다. - [박성현]
* auto형이 스크립트언어나 vb의 varient처럼 무적(?)인줄알고 좋아했다가 직접 컴파일해보고 절망했... ㅋㅋㅋㅋㅋ 그리고 gcc 4.x에서 아직 c++0x를 제대로 지원하지 않는것 같아서 직접 써볼 기회는 안된게 아쉽네요 ㅋㅋ - [남상혁]
* C++0x에 대하여 자세히 알았고 C언어를 더더욱 이해하기 쉬운 계기가 된것 같습니다. 다만.. 마지막쯤에 순간 졸아버려서.. ㅠㅠ - [양아석]
* C++0x라는건 처음들어봤는데 프로그래밍 언어도 계속 발전하고있다는 사실을 알았고 콘솔프로그래밍이 모든것의 기초라는것도 다시한번 느낄 수 있었고 C++0x에 대한건 자세히 이해하지는 못했지만 대충 어떤거라는거는 알수있었던 뜻깊고 감동적인 시간이었습니다. - [경세준]
- 새싹교실/2011/쉬운것같지만쉬운반/2011.3.23 . . . . 12 matches
2. 컴퓨터 언어로 변환
* C언어 진도를 나간 첫 수업이었다. 내가 생각보다 수업을 빠르게 진행을 한건지 수업을 반정도 진행하니까 준비해간 내용을 전부 진도를 빼버렸다; 1시간을 가르치려면 1시간을 준비해야한다더니, 그 말이 맞는 것 같다. 다음 화요일 수업에는 더 많이 준비해야겠다. C언어 말고도, 간단하게 다른 새로운거 접해보라는 의미로 tryhaskell홈페이지를 알려주었다. 애들이 재밌게 해봤으려나?ㅋㅋ - [박성현]
* 새싹교실에서 컴퓨터는 무엇인가, 프로그램은 무엇인가, 프로그램은 어떻게 만드는가 등을 배우고 직접 코딩도 해보았다. C언어는 정말 흥미로웠다. 새싹 선생님이 알려주신 tryhaskell홈페이지에 들어가서 haskell이란 언어도 체험해봤는데 뭔가 C언어보다 고급 언어라는 느낌이 들었다(맞나....) 다음주에 배우게 될 것이 궁금하고 기대가 된다. - [송치완]
* 후후 하스켈은 순수 함수형 C는 절차형으로 종류가 다른 언어에요~ - [서지혜]
* C언어 프로그래밍을 시작하기 위해 필요한 컴퓨터와 프로그램에 대한 지식을 공부하였다. C언어는 역시 멋진 언어인 것 같다. haskell을 해 보고 싶었는데 사이트가 이상했다 ㅠㅠ.. 프로그래밍 언어는 너무 많은 것 같다. 다 배우려고 하진 말아야지... - [장용운]
- 새싹교실/2012/개차반 . . . . 12 matches
* C언어를 low-level의 관점에서부터 접근하기 위해 폰노이만 아키텍쳐부터 수업
* C언어는 UNIX 개발을 목적으로 만들어진 언어이기 때문에 OS의 기초가 되는 기초적인 컴퓨터시스템은 이해할 필요가 있다고 판단
* C언어의 특징 설명
* c 언어의 특징
* High-Level 언어의 특징과 Low-Level 언어의 특징을 모두 지니고 있다
* High-Level 언어에 가까울수록 사람이 이해하기 쉬워진다 (Human Friendly)
* Low-Level 언어에 가까울수록 기계가 이해하기 쉬워진다 (Machine Friendly)
* High-Level 언어를 Low-Level 언어로 변환해주는 역할을 한다
* C 언어에는 29 개의 키워드가 존재
- 이영호/개인공부일기장 . . . . 12 matches
☆ 앞으로 공부해야할 책들(사둔것) - Effective C++, More Effective C++, Exeptional C++ Style, Modern C++ Design, TCP/IP 네트워크 관리(출판사:O'Reilly), C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Physics for Game Developers(출판사:O'Reilly), 알고리즘(출판사:O'Reilly), Hacking Howto(Matt 저), Windows 시스템 실행 파일의 구조와 원리, C언어로 배우는 알고리즘 입문
☆ 레퍼런스 - 리눅스 공동체 세미나 강의록, C언어 함수의 사용법(함수 모음), 데비안 GNU/LINUX, C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Secure Coding 핵심원리
2005년 7월 4일~7월20 완벽히 끝낸책 : 안녕하세요 터보 C, Teach Yourself C, C언어 입문 중,고급, C언어 펀더멘탈, 쉽게 배우는 C프로그래밍 테크닉
4일 - 공부 계획 새로 세움. 아래의 계획은 2학기와 겨울을 거쳐 수행할 것들이다. 또한 임베디드에 관해 공부해야 할것이 생길 것 같다. 리눅스 커널과 C언어를 다시 한번 Guru 수준으로 끌어 올리는 공부를 하자.
21 (목) - Compilers, C++공부 시작(C++자체가 쉬워 7일만에 끝낼거 같음. -> C언어를 안다고 가정하고 C++를 가르쳐 주는 책을 보기 시작.), 기본문법, namespace, function overloading, class 추상화, 은닉성까지 완벽하게 정리.
20 (수) - C언어 복습(정렬과 검색 -> 몇몇개의 일반적인 알고리즘), Compliers(울만 저) 공부 시작함.
- 20 (수) - C언어 책 6권 복습 끝냄. (안녕하세요 터보 C, Teach Yourself C, C언어 입문 중,고급, C언어 펀더멘탈, 쉽게 배우는 C프로그래밍 테크닉)
19 (화) - C언어 복습(메모리구조 & 비디오 입출력 -> Assembly기반)
18 (월) - C언어 복습(파일 입출력 & 스트림), 카네기 행복론
- 코바용어정리 . . . . 12 matches
객체의 참조를 유지함으로써 원격 객체를 액세스할 수 있는 node(단어 선택이 부적절한 것 같군 --;;)이다. 즉 객체 레퍼런스를 사용하여 클라이언트는 객체의 오퍼레이션을 수행할 수 있게 된다. 원격 객체를 액세스 하는 과정에 대해 구체적으로 기술하면 다음과 같다. 클라이언트는 언어 맵핑을 통해 객체와 ORB 인터페이스에 액세스할 수 있다. ORB는 구현 객체와 클라이언트 사이의 커트롤 전달 및 데이터 전달 관리를 책임지고 있다. 결국 클라이언트는 언어 맵핑을 통해서 ORB와 상호 작용할 수 있고, ORB는 원격 객체에 대한 레퍼런스를 얻을 수 있게 된다. 이런 방식으로 클라이언트는 분산 환경하에서 객체를 이름과 인터페이스만으로 마음대로 참조할 수 있는 것이다. ORB를 버스라고 생각하면 쉽게 이해할 수 있을 것이다.
CORBA는 C++과 Java 같은 객체 지향 언어와 C와 같은 절차적 언어 양쪽 모두에서 사용될 수 있다. 객체 지향 언어에서는 사용자가 객체의 특성을 정의하고 그 프로퍼티에 액세스할 수 있게 해주는 메소드와 인터페이스를 제공한다. 이것은 비객체 지향 언어에는 없는 기능인데, 이것들은 각각
의 인터페이스 타입에 대해 스텁에 대한 프로그래밍 인터페이스를 필요로 한다. 보통 스텁은 OMG-IDL로 정의되어 있는 객체 오퍼레이션에 대한 액세를 하게 해주는데, 일단 프로그래머가 OMG-IDL 및 특정 프로그래밍 언어에 대한 언어 매핑에 친숙해지면 손쉽게 예상이 가능한 방식으로 액세르를 하게 해준다. 해당 스텁은 ORB 코어에 전용이며 최적화된 인터페이스를 사용해서 나머지 ORB들을 호출하게 될 것이다. 만약 여러 개의 ORB를 사용하게 된다면 각각의 스텁은 제 각기 해당하는 ORB를 호출하게 될 것이다. 이 경우에 ORB와 언어 맵핑은 공조하여 각각의 스텁이 특정 객체 레퍼런스와 제대로 연결될 수 있도록 해야 할 것이다.
각각의 언어 매핑에 대해(아마도 객체 어댑터에의 의존하게 되겠지만) 각각의 타입의 객체를 구현하도록 해주는 메소드에 대한 인터페이스가 존재할 것이다. 이 인터페이스는 일반적으로 업콜(up-call) 인터페이스일 것이다. 구현 객체의 개발자는 그 인터페이스에 따라 루틴을 작성하게 되고 ORB는 스켈레톤을 통해서 그 루틴을 호출하게 될 것이다. 그러나 스켈레톤의 존재가 그에 사응하는 클라이언트 스텁의 조재를 의미하지는 않는다는 것이다. 이말은 클라이언트가 DII를 통해서 리퀘스트를 만들 수도 있다는 것이다. 또한, 어떤 언어 맵핑은 스켈레톤을 사용하지 않는데, 이것은 Smalltalk에시는 대체적으로 맞는 말이다.
동적 스켈레톤 인터페이스는 IDL에 기초하지 않는 스켈레톤/스텁을 가진 객체의 메소드 호출을 처리해야 하는 서버에 대해 런타임 바인딩 메커니즘을 제공한다. 동적 스켈레톤은 수신된 메시지의 파라미터값을 참조하여 어떤 객체가 호출되었는지 어떤 메소드가 호출되었는지를 알게 된다. 이것은 일반적으로 컴파일된 스켈레톤을 사용하는 것과는 비교되는데 이러한 스켈레톤에서는 메소드의 구현이 IDL로 정의된다. 구현 코드는 모든 오퍼레이션 파라미터에 대한 상세한 설명을 ORB에 제공해야 하며, ORB는 오퍼레이션을 수행할 때 사용되는 입력 파라미터값을 제공한다. 오퍼레이션이 수행된 후, 구현 코드는 출력 파라미터 또는 익셉션을 ORB에게 넘겨준다. 동적 스켈레톤 인터페이스의 특성은 프로그래밍 언어 맵핑에 따라 또는 객체 어댑터에 따라 실질적으로 달라질 수 있지만, 일반적으로는 업콜 인터페이스이다. 동적 스켈레톤은 클라이언트 스텁 또는 DII를 통해서 호출될 수 있다. 이 두 가지 방식의 클라이너트 리퀘스트 생성 인터페이스는 동일한 결과를 제공한다.
- 데블스캠프2009/월요일후기 . . . . 11 matches
* [송지원] - HTML, CSS라고 해서 단순히 웹 프로그래밍 언어인 태그들만을 생각했었는데 웹 표준의 개념과 기존 웹의 문제점에 대해 지적했다. 표준 웹은 두리뭉실하게만 알았던 개념이었는데 더 확실히 배울 수 있었던거 같다. 다만 도입부에서 기존 웹의 문제점과 웹 표준에 대해 설명하는 과정에서 말이 좀 어려웠던것 같다;;
* [김준석] - 단순하지만 있을건 있는 프로그램. Easy, Enjoy라는 개념이 어울린다. 프로그래머가 아닌 일반인(유치원생)도 이런 프로그램을 사용해봄으로서 나와 같은 프로그래머의 입장이 되어 쉽게(Easy) 즐길수(Enjoy) 있는 기회를 준것이다. 내가 1학년때 송기원교수님이 한 말이 떠오른다 "언젠가는 일반인도 쉽게 만들수 있는 프로그램 언어가 나올꺼다. 전화 프로그램 만들고 싶으면 사람하고 사람 그림 두개 따서 전화기 그림을 가운데 놓고 연결하면 이게 전화 프로그램이 되는. 그럼 너희들은 뭐 먹고 살래? 사람들이 머리만 조금 굴리면 알아서 딱딱 만드는 세상이 될텐데 아이디어랑 생각이 중요한거야." 딱, 이거 아닌가? 물론 프로그램 언어의 현상황에서 프로그래밍에 업을 달고 사는 사람에게 쉽고 즐긴다는 말은 저기 저 먼 안드메다에 있는 개념만큼 멀게 느껴지지만 마지막에 송지원학우님이 얘기해주신것처럼 프로그래밍이 단순히 어렵고 복잡한것을 뜻하는것만이 아니라 새로운 아이디어로 생각해 그 시각으로 바라보는것으로 개발자의 입장이되는 우리도 더 쉽고 재밌게 즐길수 있을것이다. 그렇지만 기본은 먹고 살아야지.
* [김수경] - 대안언어축제에서 Scratch를 접했을 때도 느낀 점이지만, 프로그래밍 언어를 처음 접한 사람에게 코딩을 친숙하게 해주는 정도로는 좋은 것 같아요. 그런데 이미 다른 언어를 어느 정도 쓸 줄 아는 사람에겐 제약이 많다는 것과 일일히 찾아서 드래그해야 한다는 점이 오히려 귀찮게 느껴지는 것 같아요. 누구나 쉽게 쓸 수 있는 툴은 기능이 아쉽고, 강력한 기능을 제공하는 툴은 복잡해서 쓰기 어렵고.. 이런 문제는 도대체 어떻게 해결할 수 있을까요ㅋㅋ 이건 Scratch에만 국한된 문제는 아니지만요;
* '''서민관''' - 사실 09학번이 1학기 때 로보랩을 하지 않았더라면 월요일 수업 중에서 가장 괜찮은 수업이 되지 않았을까 싶다. 문자로 된 프로그램 언어를 시각적으로 접하게 하는 것이 목적인 것 같은데, 조작 또한 간단한 드래드 정도로 쉽게 할 수 있는 것도 굉장히 괜찮았다. 다만 몇몇 필요한 기능들이 없는 건지 못 찾은 건지 해서 괜찮은 물건을 만들지 못 한 것은 너무 안타까운 점이었다. 아. 정말 아쉽네요.
* '''강소현''' - c언어에서 쓰이던 거를 블럭으로 쉽게 나타내, 프로그래밍하는 방법을 전혀 몰라도 활용할 수 있어 좋았어요. 게다가 그림을 이용해 간단한 애니메이션이나 게임을 만들 수 있어, 이번 수업 이후에도 자주 애용할 거 같아요.
* '''박준호''' - 새로운 프로그래밍언어를 배워봐서 재미있었다. 로보랩을 할때와 비슷한 느낌이라 더 좋았고 만약 C 언어의 함수를 다 모르고 그런 상태라면 이런 사람에게 친근한 고급언어가 더욱 쉽고 유용한거 같다.
- JavaScript/2011년스터디 . . . . 10 matches
* 명령형 구조적 프로그래밍 언어로서의 자바스크립트
* 함수형 선언적 프로그래밍 언어로서의 자바스크립트
* 프로토타입 기반 객체지향 프로그래밍 언어로서의 자바스크립트
* 웹 브라우저 기반 클라이언트 측 동적 스크립트 언어로서의 자바스크립트
* [박정근] - javascript에 관한 전반적인 내용들을 배웠습니다. 지난 시간동안 javascript를 공부하면서 배웠던 내용들을 정리하는시간이 되었던것 같습니다. 게다가 이론으로는 알고잇던 프로토타입같은 내용은 실제로 구글개발자 툴의 콘솔을 이용하여 직접 보면서 설명을 들으니 확실히 이해되기도 하였구요ㅋ 관심가는 부분에는 함수형 선언적 프로그래밍인데 함수형 언어를 사용한 적이 없어서 그런 방식으로 프로그래밍 하는 것에 대해 신선함을 느끼고 더 알고 싶어졌습니다. 또 자바스크립트를 하면서 DOM에 관해서도 알아야 겠다는 생각이 들었습니다. 하아.. 공부할게 많네요ㅋ
* [정진경] - 약 3시간 넘게 특강을 들었습니다.프로토타입에 대해서는 처음 접해본거 같은데 익숙치가 않아서 개념 이해가 버거운 것 같기도 하고-_-;깔짝깔짝 써본 자바스크립트가 이렇게 심오한 언어일 줄은 몰랐습니다. 더글락스 어쩌구 아저씨의 책을 정독해봐야 겠네요. 그전에 기초부터 다져야 하겠지만, 오늘 배운 부분들이 꽤 많은 핵심들을 짚었다고 생각합니다.하지만 자바스크립트로 원하는 기능을 다 구현해보더라도 오늘 배운 것들을 응용할만한 끈기가 저한테 있을지는.. 모르겠습니다;;
* 네 줄 가지고 세시간 넘게 진행할만큼 중요한 내용이라고 생각한다. 그게 언어든 뭐든 쓰는 법을 익히는 것에만 집중하는 사람들을 많이 봤다. 그게 뭔지 확실히 알지도 못하면서 쓰는 법만 익히려한다. 어떻게 쓰는지를 배우는 건 그렇게 어렵지 않은데 뭔지도 모르고 문법에만 집중하면 쓸 줄은 알아도 잘 쓰지는 못하는 것 같다.
* [김태진] - 다른분들은 오지못해서 거의 제 수준에 맞추어 형진이형이 설명해주셨어요. 일단 오늘 느낀건 함수형 언어의 위대함. + 괄호의 헷깔림 이에요. 한줄에 쓰다보니 헷깔리던.... 자바스크립트가 함수형 언어의 특징을 가지고 있는지라 피보나치를 쉽게 나타낼 수 있고, 그걸 배열에도 어렵지 않게 나타낼 수 있었던거 같네요. 그렇게 함수형언어에 초점맞춰진 코딩은 처음 보는데 절차적이 아니라 뭐랄까 좀 단편적으로 생각해도 된다는 점이 있을것이란 말이 무척 공감이 되었던거 같아요. 요즈음 뭔가 하나를 배우면 그 앞에 3개의 새로운 배울것이 생기는 느낌이네요. 더 열심히..
- JavaStudy2004/자바따라잡기 . . . . 10 matches
그런데 언제부터인지, 네트워크의 대명사인 인터넷에서 이 자바 커피가 하나밖에 없는 독특한 향기를 뿌리고 있다. 인터넷을 좀 아는 사람이라면 자바를 들어보지 못한 사람은 거의 없을 것이다. 자바는 월드와이드웹 상에서 프로그램을 실행할 수 있게 하는, 네트워크를 기반으로하는 언어로, 인터넷 프로그래밍 언어의 표준이 되었다.
요약해서 말하면 자바는 인터넷의 기반인 웹의 프로그램 언어(Language)라고 이해하면 된다.
자바의 탄생 배경을 알면 자바 언어의 특성에 대한 이해가 쉬워질 것이다.
자바는 가전 제품에 들어갈 소프트웨어를 만들기 위해 탄생했다. 자바를 개발한 사람은 선 마이크로시스템즈 사의 제임즈 고슬링(James Gosling)이라는 사람이다. 그는 특정한 컴퓨터 칩에 대해 컴파일하여야 하는 널리 알려진 컴퓨터 언어인 C 언어의 문제점, 또 가전 제품의 긴 수명으로 인한 완벽한 호환을 가진 소프트웨어의 개발 요구, 가전 제품에 사용될 소프트웨어의 높은 신뢰성 필요 등의 문제에 대한 해결방안을 모색 해야만 됬다.
이 문제를 해결하기 위하여 고슬링은 C와 C++를 개조해서 해결을 해보려고 시도를 했던 것이다.그래서 C언어의 불필요한 부분이나 문제가 될 부분들을 제거한 새로운 언어를 개발하게 되였는데, 이것이 바로 자바인 것이다. 최초로 자바를 이용한 프로젝트는 가전 제품과 전기 기기들을 통합하여 가정 환경에 새로운 인터페이스를 제공하는 소위 그린 프로젝트(Green Project)라는 것 이였다. 그러던 1993년, 그래픽 기반의 월드와이드웹이 발표되고 자바의 개발자들은 곧 이러한 웹 기반의 응용 프로그램에는 자바와 같은 기기(컴퓨터 및 그 운영체제)로부터 독립된 언어가 이상적이라는 것을 발견하였다. 그리하여 그들이 개발한 것이 나중에 핫자바(HotJava)로 이름이 바뀐 웹러너(WebRunner)라는 웹 브라우저였다. 이것이 최초로 자바를 지원한 웹 브라우저가 되었다. 자바라는 이름은 지역의 어느 커피점 안에서 얻었다. 그래서 지금은 웹 페이지에서 항상 끓고 있는 커피의 상징을 볼 수 있다.
*1. 최근의 컴퓨터 분야의 용례에서, 가상머신은 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다. 자바 가상머신이 일단 한 플랫폼에 제공되면, 바이트코드라고 불리는 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다. 자바는, 응용프로그램들이 각각의 플랫폼에 맞게 재작성 되거나, 다시 컴파일하지 않아도 모든 플랫폼에서 실행되는 것을 허용하도록 설계되었다. 자바 가상머신이 이를 가능하게 한다. 자바 가상머신의 규격은 실제 "머신"(프로세서)이 아닌 추상적인 머신을 정의하고, 명령어 집합, 레지스터들의 집합, 스택, 가배지를 모은 heap, 그리고 메쏘드 영역 등을 지정한다. 이러한 추상적, 혹은 논리적으로 정의된 프로세서의 실제 구현은, 실제 프로세서에 의해 인식되는 다른 코드, 혹은 마이크로프로세서 그 자체에 내장될 수도 있다. 자바 소스 프로그램을 컴파일한 결과를 바이트코드라고 부른다. 자바 가상머신은, 실제 마이크로프로세서의 명령어에 그것을 대응시키면서 한번에 한 명령어씩 바이트코드를 해석하거나, 또는 그 바이트코드는 실제 마이크로프로세서에 맞게 JIT 컴파일러라고 불리는 것을 이용해 나중에 컴파일될 수도 있다.
- 데블스캠프2006/월요일/연습문제/웹서버작성/변형진 . . . . 10 matches
형진이 다 만들었네. ㅋㅋ 잘했다. 한가지 부탁할건 컴공으로 먹고 살라면 도메인 언어를 C나 Java로 바꾸는 게 필요할 것 같다. - [eternalbleu]
* PHP로 짜면 스크립트 언어 특성상 프로그래밍이 즐겁다고나 할까요? 그런 느낌이 좋아서 PHP를 선호하긴 하지만, UI를 제외한 코어 루틴만큼은 레퍼런스와 샘플을 함께하면 대부분의 언어로 같은 루틴을 만들 수 있을 거라고 생각해요. 그래도 어느정도는 비 웹언어에 익숙해져야 하지않을까 싶어 C++, Java, C#을 고민하다 C#을 선택해서 해봤는데, C#이 클라이언트단 어플리케이션에서도 효용성을 가지려면 Windows Vista가 출시된 후의 상황을 지켜봐야 할 것 같고, 아직은 C/C++이 더 대세인건 분명해보이네요. 사실 저같은 경우에는 아직은 연구하고 싶은 관심사가 '대용량 데이터베이스 기반 검색 엔진'과 '형태소 분석 기반 자연어 처리'로 DB와 문자열 처리에 관한 부분인데, DB 처리는 일단 RDBMS에서만큼은 PHP처럼 수월한 언어가 없고, 문자열 처리는 Perl이 다른 언어들에 비해 월등하다보니 그런 언어를 도메인 언어로 해오지 않았나 싶네요. ㅋㅋ - [변형진]
* 내가 PHP 도 약간 해보고, JSP 나 Java 도 약간 해봤서 대충 심정을 알듯.. 나도 JSP랑 Java 써서 이번에 DB 프로젝트 개발 해보기전에는 웹에서는 PHP로 짜는게 가장 편하게 느껴졌었거든. 그래서 DB 프로젝트도 웹은 PHP 응용은 Java 이렇게 해 나갈려고 했는데 PHP가 Oracle 지원은 버전 5.x 부터 되서 걍 Jsp로 하게 됐지. 둘다 해본 소감은 언어적인 면에서는 뭐 PHP로 하나 Jsp로 하나 별 상관이 없는거 같고, 다만 결정 적인것은 개발환경및 Jsp 에서는 java 클래스를 가져다가 사용할수 있다는 점이었스. Jsp에서 하면 Junit 을 사용하여 Unit 테스트를 하면서 작성하기 수월했고, 또한 디버깅 환경도 Visual Studio 에서 디버깅 하듯이 웹을 한다는게 정말 좋았지. 또 java 클래스를 가져다가 사용할 수 있어서 여러 오픈 소스를 활용하기에도 좋고.(예를 들면 Lucene 같은 자바로 만든 오픈소스 검색 엔진..). 특히 Eclipse 라는 강력한 개발 환경이 있어서 Visual Studio 보다 더 개발이 수월할 정도..
* 내가 아무리 이렇게 말해도 귀에 안들어 올거라고 생각은 하고.. 다만 한번 경험을 해보길 바래. 내가 지금 와서 조금 후회되는것은 위키를 Jsp,Java 로 안짜고 PHP로 짠것이니 만큼.. 그리고 컴공에서 제일 중요한 것은 특정한 언어 하나를 잘하는 것도 좋긴 한데, 나는 어떠한 것이 눈앞에 와도 금방 적응하고 배워서 써먹을수 있는 능력도 중요하다고 생각해. 그리고 검색 엔진에 관심이 있다면 오픈소스 검색엔진인 Lucene 을 한번 갖고 놀아봐. 그리고 실제로 간단한 것을 짜보고 싶으면 [MemeHarvester] 이 프로젝트 이어서 해도 되고. - [namsang]
- FocusOnFundamentals . . . . 9 matches
어떻게 특정한 플랫폼에서, 특정한 언어로, 화면을 빨리 리프래쉬하는지 테크닉을 가르쳐주는 책에 관심있는 사람은 많아도 모든 플랫폼에서, 모든 언어로, 특정 문제에 어떤 패러다임을 적용해야 할 지 관심있는 사람은 드물다.
소프트웨어 필드에 익숙한 독자들은 오늘날의 '중요한' 주제들은 언급되지 않음을 지적한다. ["Java"], "웹 기술", "컴포넌트 지향", 그리고 "프레임워크" 는 나타나지 않았다. 이러한 접근법과 툴들에 기반한 많은 좋은 아이디어들은 반드시 가르쳐야 한다. 연구실 숙제들과 다른 프로젝트들은 학생들에게 가장 대중적이고 유명한 툴들을 이용할 기회를 제공해야 하며, 또한 뭔가 새로운 것을 경험할 기호를 제공해야 한다. 하지만, 우리는 이러한 주제들은 오늘날의 이른 변덕을 위한 교체품들 이며 만병통치약이며 곧 교체될 것들임을 기억해야 한다. 교육자들에게는 오늘날의 학생들의 성공이 40년은 지속할 수 있어야 함을 기억해야 할 책임이 있다. 우리는 이 기간동안효과적이고 유용한 근본들을 알고, 그리고 수업시간에 이 원리들을 강조해야 한다. 많은 프로그래머들은 특정 시스템이나 프로그래밍 언어를 배우는 것이 뭔가 다른 것을 배우는 것일 뿐, 그 그거 자체의 목표가 아니라는 사실에 대해 시야를 잃곤 한다.
학생들은 일반적으로 가장 많이 이용될 것 같은 언어들 (FORTRAN 이나 C)을 가르치기를 요구한다. 이는 잘못이다. 훌륭하게 학습받은 학생들 (즉, 바꿔 말하면, clean language(?)를 가르침받은 학생)은 쉽게 언어를 선택할 수 있고, 더 좋은 위치에 있거나, 그들이 부딪치게 되는 해당 언어들의 잘못된 특징들에 대해 더 잘 인식한다.
저는 주변에서 자바만 공부한 사람을 봤습니다. 그 사람은 자바가 아닌 다른 언어를 보면 이건 나랑 상관없는 거라고 생각하며 고개를 돌립니다. 어느 하나의 OOP 언어에 한계를 두지 않고 공부하는 사람을 봤습니다. 그 사람은 다른 것간의 관계를 찾고 연결짓고, 더 큰 그림을 만들어 나갑니다. 둘 중에 후자가 OOP(심지어는 자바 자체)에 대한 이해가 더 깊고 본질적이었습니다. 저는 점점 더 이와 비슷한 사례를 접하게 됩니다.
세상에는 참 다양한 사람이 있습니다. 귀납식의 공부를 해야 잘되는 사람, 연역식의 공부를 해야 잘되는 사람.. 자바를 죽도록 공부했더니 OOP의 근본만을 후벼판 사람보다 더 OOP를 잘 꿰는 사람도 있을 수 있습니다. RDB가 아닌 오라클만이 RDB의 전부라고 생각하는 사람이 오히려 더 빨리 RDB의 근본을 깨칠 수도 있습니다. 컴파일러학문이 나오고 포트란 언어가 나온 것은 아닙니다. 어느 하나의 방법만이 옳다고 생각하지는 않습니다. 그리고 그 어떤 것도 잡다하지는 않다고 생각합니다. 사람마다 너무나 다양한 개성이 있겠지요. --["아무개"]
- HolubOnPatterns/밑줄긋기 . . . . 9 matches
* 1980년대 초 C언어가 왕이었을 무렵 상속은 하나의 디자인 패턴이었다.
* 지금은 이디엄이 되어 누구나 아무 생각 없이 사용하는 상속이 패턴이었다는 사실도 재미있고 C언어가 왕이었다는 표현도 재미있네요. - [김수경]
* 요즘은 상속과 인터페이스 같은 기능이 많은 언어에 내장되어 있다. 이들은 이디엄이 된 것이다.
==== 자바를 C언어 스타일로 프로그래밍하기 ====
* 어떤 언어의 기능 혹은 이디엄이 초래할 수 있는 폐해를 이해하면 해당 기능과 이디엄을 사용하는 것이 적절한지 아닌지 좀 더 현명하게 결정할 수 있다.
* 중요한 것은 원리이지 사용하고 있는 언어가 아니다.
* 잘못된 마인드를 가진 프로그래머는 모든 언어를 이용해서 쓰레기 코드를 작성해 내는 마법을 부릴 수 있다.
* 자바 프로그래머들은 종종 extends와 같은 언어의 기능을 객체 지향 자체와 혼동하곤 한다.
* extends와 implements 간의 유사성은 C++ 언어에서는 명확하다. C++는 이 둘을 구분하지 않기 때문이다.
- MoreEffectiveC++/Efficiency . . . . 9 matches
많은 사람들이 병목현상(bottleneck)에 관한 해결책에 고심한다. 경험에 따른 방법, 직관력, tarot 카드이용(운에 맏기기) 그리고 Ouija(점괘를 나타내는 널판지의 상표명, 즉 점보기) 보드를 사용 하기도 하고, 소문이나 잘못, 올바르지 않은 메모리 할당, 충분하지 않은 최적화를 한 컴파일러, 혹은 치명적인 순환 구문을 만들어내기 위해 어셈블리 언어를 사용한 돌대가리 메니저들의 메니저들. 이러한 사정들은 일반적으로 멸시의 비웃음을 동반하고, 그들의 예언은 솔직히 잘못된 것이다.
C++에 알맞는 lazy evaluation은 없다. 그러한 기술은 어떠한 프로그래밍 언어에도 적용 될수 있다. 그리고 몇몇 언어들-APL, 몇몇 특성화된 Lisp, 가상적으로 데이터 흐름을 나타내는 모든 언어들-는 언어의 한 중요한 부분이다. 그렇지만 주요 프로그래밍, C++같은 언어들은 eager evaluation를 기본으로 채용한다. C++에서는 사용자가 lazy evaluation의 적용을 위해 매우 적합하다. 왜냐하면 캡슐화는 클라이언트들을 꼭 알지 못해도 lazy evaluation의 적용을 가능하게 만들어 주기 때문이다.
임시인자(temporary)가 만들어 졌다고 가정해 보자. 임시인자는 uppercasify로 전달되고 해당 함수내에서 대문자 변환 과정을 거친다. 하지만 활성화된, 필요한 자료가 들어있는 부분-subtleBookPlug-에는 정작 영향을 끼치지 못한다.;오직 subtleBookPulg에서 만들어진 임시 객체인 string 객체만이 바뀌었던 것이다. 물론 이것은 프로그래머가 의도했던 봐도 아니다. 프로그래머의 의도는 subtleBookPlug가 uppercasify에 영향을 받기를 원하고, 프로그래머는 subtleBookPlug가 수정되기를 바랬던 것이다. 상수 객체의 참조가 아닌 것(reference-to-non-const)에 대한 암시적(implicit) 형변환은 프로그래머가 임시가 아닌 객체들에 대한 변화를 예측할때 임시 객체만을 변경 시킨다. 그것이 언어상에서 non-const reference 인자들을 위하여 임시물들(temporaries)의 생성을 막는 이유이다. Reference-to-const 인자는 그런 문제에 대한 걱정이 없다. 왜냐하면 그런 인자들은 const의 원리에 따라 변화되지 않기 때문이다.
C++컴파일러는 언어상에서 각 특징을 적용할수 있는 방법을 찾아야만 한다. 물론 그런 적용 방법은 컴파일러 의존적이고, 다른 컴파일러는 다른 방법으로 언어의 특성을 적용할 것이다. 이러한 대부분의 부분에서 당신은 아마 그런 걱정은 필요 없을 것이다. 하지만 몇가지 특징의 적용에서 실행프로그램의 객체와 속도의 크기 큰영향을 준다. 그래서 이러한 영향을 주는 특징들에 관하여 기본적 이해를 하고 있는것이 중요하다. 이러한 것중 가장 앞선 특징이 가상함수(virtual function)이 될것이다.
- Ruby/2011년스터디/세미나 . . . . 9 matches
* 루비는 진정한 객체지향 언어다?!
|| [권순의] || 우아하다 ||성현이가 Ruby를 우아한 언어라고 소개함. 지혜가 책에서 $_가 우아하다는 표현을 봤다고 말함. || ||
* "우아한" 언어인 루비를 다운받아 irb를 사용해 실습을 해보았다. 처음에 irb를 눌렀을 때, 무슨 dll파일이 없어서 실행이 안된다는 팝업창이 떴는데 확인 누르니까 알아서 잘 켜졌다. Ctrl+C를 눌렀더니 끌지 말지 여부가 떴는데 N을 눌러도 꺼졌다. irb보다는 넷빈즈를 이용하는게 좋다는 말이 와닿았다. 1+2를 치면 알아서 3이 나오는 것과 리턴 값이 항상 표시되는 것이 신기했다(없을 경우도 =>nil 로!). 루비의 블록 넘기기는 #define이랑 비슷한 느낌이 들었다. 새로운 언어임에도 쉽게 익힐 수 있어 좋았다. 하지만, 페어로 하는 만큼 실습 시간도 반감되지 않았을까 죄송스러웠다. 세미나 공지가 뜨면 노트북을 가져가도록 해야겠다. - [강소현]
* 우선 늦게가서 if-else 밖에 못 들어먹었습니다 ㅠ 상당히 아쉬웠어요. 근데 if구문을 사용해도 의도가 명확하다면 괄호가 필요없다게 참 신기하더라구요. 제가 약간이라도 다뤄본 C, C++, Java, JavaScript, Python에서는 괄호를 반드시 사용해야만 하는 걸로 알고있었는데 말이죠. 근데 여기서 "의도가 명확하다는 것"이 무슨말인지.. 솔직히 이해가 안 가요. ㅠ 저가형 두뇌... 그리고 루비 개발도구가 참 많더군요. aptana... 루비를 위해 만들어졌지만 루비를 쓰지 못한다는게 참 인상적이었습니다. 그리고 irb의 개발환경을 보니 수정을 할 수가 없어 참 불편하더군요. Python Shell의 개발환경이 보다 더 우수한 것 같습니다. 그리고 회고할 때 주워들은 "우아하며 불완전한 언어"라는 말... 왜 그런지 궁금하네요. - [윤종하]
* Ruby 라는 언어를 처음으로 접하게 되었습니다. irb를 이용하여 Ruby 코딩을 연습해 보았습니다. 코드 수정이 일단 한번 해놨으면 다시 정의를 해야되서 매우 불편하였으나 c같이 문법이 딱딱하지 않고 생략해도 구문 자체의 의미가 명확하다면 알아서 해주는 모습이 매우 신기했습니다. 나중에 lua도 공부해서 wow 에드온을 어찌해봐야겠습니다. - [임상현]
* 진짜 한번쯤 건드려보고 싶은 언어였는데 차일피일 미루다가 드디어 해봤습니다. 루비의 문제점도 많이 보였지만 그래도 (제 입장에서는) 직관적인거 같아서 좋았습니다. 시간이 된다면 irb로가 아닌 editor를 이용해서 편집한 소스코드를 컴파일하고 돌려보는 방법도 해보면 좋겠어요. - [지원]
* "중구난방"에 헉-했네요ㅋㅋ 저도 그 생각했습니다. 좋게말하면 장점들을 모아 만든것. 나쁘게 말하면 잡종... 현재 루비는 순혈주의(펄의 잔재지우기)운동중이랍니다. Martz가 필두라지요:-) 루비의 시작이 좀 근본없어뵈는(..)건 사실이지만 언어들의 장점을 모은것에는 분명 좋은점도 있어요:) - [서지혜]
1. CodeRace를 준비하며 간단한 코드를 짜보았는데 생각보다 어려워서 역시 책만 읽어서는 안 되겠다는 생각이 들었습니다. 그냥 돌아가게 짜라면 짤 수 있겠는데 언어의 특성을 살려 ''우아하게'' 짜려니 어렵네요.
- 데블스캠프2011/다섯째날/후기 . . . . 9 matches
* 옛날에 c로 TCP/IP 프로그래밍 책을 본 적이 있었는데 그쪽에서 소켓을 이용하는 부분을 생각해보면 c에 비해서 파이썬쪽에서는 참 쉽게 되는구나 싶었습니다. 그리고 개인적으로 좀 신기했던게 리턴 값이 하나 이상 있을 수 있는 함수도 있다고 한 부분이었습니다. 이건 파이썬쪽의 특성인지 아니면 다른 인터프리터쪽 언어도 이렇게 될 수 있는지 궁금하네요. 네트워크쪽에 대한 기본적인 설명도 좋았습니다. 와이어샤크쪽에 대해서는 제대로 알려면 공부가 더 필요할 듯. -_-
* 4년만에 정직 선배의 세미나를 들을 수 있었습니다. 선배님의 수준에서 설명하지 않고 1학년 학우들도 알아들을 수 있도록 하나하나 차근차근 설명해주시는 걸 보면서 '나도 정직 선배처럼 세미나를 하고 싶다'고 느꼈습니다. 이전 후기에도 언급했지만 정말 스크립트 언어 하나쯤은 공부할 필요를 느꼈어요ㅠㅠ
* 루아는 설명을 약간 짧게 하셨죠. 가장 기억에 남는건 와우의 베이스에 루아가 있다!!! 라는... 루아 특징이 저용량으로 쉽게 돌릴 수 있다라는것인지라 저한테는 아직 와닿지 않았던거 같아요. 하지만 문법은 결국 파이썬과 비슷했던거 같기도... 처음 들어본 언어라는 점에서 흥미롭게 들었던거 같네요.
* 루아에 대한 간단한 소개와 문법의 설명. 사실 바쁘실텐데 와서 짧은 세미나라도 하고 가신 것만 해도 참 대단하시다는 생각이 듭니다. 사실 루아에 대한 이미지는 세미나 때 전체적인 분위기도 그렇듯이 와우 UI에 사용하는 언어라는 정도만 알고 있었는데 조금 더 자세한 설명을 들을 수 있었습니다. 개인적으로 세미나를 듣고 든 생각은 두 가지군요. 하나는 객체가 없다니??? 하는 것과 다른 하나는 크기가 작다는 게 그렇게까지 큰 메리트가 될 수 있는가? 하는 점이었습니다. 사실 요즘 이런저런 곳에서 게임 로직을 루아로 만든다는 얘기를 들었는데, 특정 작업에서 쓰는 사람들이 있다는 것은 그 부분에서 인정할 만한 뭔가가 있다는 뜻이겠지요. 하지만 개인적으로는 아직도 조금 더 손을 대 봐야 할 언어들이 있어서 당장은 건드려 볼 일이 없을 것 같다는 느낌이 좀...
* 루아에 대해서 찾아보니까 주목받는 이유는 역시 용량이 작기 때문인 것 같은데 폰쪽에서 일하셨다는 부분도 그렇고 역시 임베디드쪽인가 싶었습니다. 임베디드에서 루아로 프로그래밍을 하기 위한게 따로 있다고 하신 부분이 좀 궁금했습니다. 이번에 파이썬에 루비, 루아까지 스크립트 언어쪽을 많이 본 것 같습니다. 다들 문법적으로는 비슷한 느낌인데 어떤걸 쓰는지는 용도 나름인 것 같습니다.
* 개인적으로 항상 고민하는 부분 중의 하나입니다. 어떻게 하면 코드를 잘 짤 수 있을까. 그리고 회고 때에도 말했듯이 제가 작년 데블스 마지막 때 세미나를 하고 싶다고 했던 주제이기도 합니다. 변명삼아 말하자면 아직도 스스로가 남에게 이야기 할 수 있을 만큼의 능력과 자신감이 없어서 세미나를 피한 것도 있습니다 ;;; 사실 제가 한다고 하면 생각을 코드로 만드는 법(형진 선배의 말하듯이 코딩하기 부분) + 남이 만들어 둔 라이브러리의 사용 으로 하려고 했는데 과연 그게 괜찮은 방법인가에 대한 확신은 역시 좀 부족하군요... 하지만 모르긴 몰라도 언어에 사로잡히지 말고 로직이 우선해야 한다는 생각은 기본에 둬도 괜찮을 것 같습니다.
* 시간 빠듯했던 것 같은데 예를 들어서 알기 쉽게 설명해주시느라 고생하신 것 같습니다. 개념적으로는 보면서 참 신기하다는 생각이 들었습니다. 하지만 실제 구현 부분의 얘기를 하면서 이런 저런 연산을 한다는 부분에서는 갑자기 흥미가 -_- 연산 부분의 실제 구현에 대한 것도 나쁘지 않긴 했지만 C나 자바 등의 주요 언어에서의 라이브러리 사용 등의 설명도 있었으면 더 좋았을 것 같습니다.
* 개인적으로는 오면서 발표 주제들도 그렇고 내가 이거 알아들을 수 있을까 하는 생각이나 처음 보는 언어들에 대한 걱정같은 것도 있었는데 설명도 잘 해주시고 하셔서 그렇게까지 어려웠던건 조금 -_- 빼고는 없었던 것 같습니다. 일반적인 학교 수업시간에서는 배우기 어려운 실전적인 부분이나 기본 지식, 그리고 이런 저런 툴들에 대한 설명까지 5일 동안에 참 많은 부분들을 배운 것 같습니다. 그리고 마지막에 세미나를 정리하는 회고 부분의 진행 방식이나 분위기에 대해서도 좋았습니다. 말하신대로 이걸 다 기억하지는 못할테고 잊어버리는 부분도 많겠지만 그래도 다시 생각해보면서 배운 것들을 적용해보기 위해서 노력해볼 생각입니다. - [서영주]
- 작은자바이야기 . . . . 9 matches
* Java 프로그래밍 언어
* 언어에 관한 것 뿐만 아니라 유용한 라이브러리, 자바 개발 환경 등 개발을 더 빠르고 편리하게 할 수 있는 방법을 배우기 위해서.
* 단순히 자바 언어에 대해서가 아니라 더 다양한 주제를 다루는 스터디이기 때문에 흥미가 있어서.
* 자바 언어에 대해서 심도있게 공부해보고 싶어서.
* Python 은 PEP에 절대 권한을 가진 귀도가 그냥 의견을 모아서 정한겁니다. 원숙한 언어일수록 스펙 자체가 '원래 그런 것'은 없고, '사람간의 약속'입니다. 이하 참고자료. --NeoCoin
* 전체적으로 다른 언어에서는 볼 수 없는 자바의 문법 + 객체지향 원칙을 중점적으로 다룬 시간이었습니다. 중간중간 다른 이야기들(builder 패턴, 저작권)이 들어갔지만 그래도 다룬 주제는 명확하다고 생각합니다. 다만 그걸 어떻게 쓰느냐는 흐릿한 느낌입니다. 그건 아마도 각 원칙들이나 interface, 객체 등에 대한 느낌을 잡기 위해서는 경험이 좀 필요하기 때문이 아닌가 싶습니다 ;;; 수경이가 말한 대로 한 번이라도 해 본 사람은 알기 쉽다는 말이 맞지 않을까 싶네요. 그리고 전체적으로 이야기를 들으면서 현재 프로젝트 중인 코드가 자꾸 생각나서 영 느낌이 찝찝했습니다. 세미나를 들으면서 코드를 생각하니까 고쳐야 될 부분이 계속 보이는군요. 그래도 나름대로 코드를 깔끔하게 해 보려고 클래스 구조도 정리를 좀 하고 했는데 더 해야 할 게 많은 느낌입니다. ㅠㅠ 그 외에도 이번 시간에 들었던 메소드의 책임이 어디에 나타나야 하는가(객체 or 메소드) 라거나 상속을 너무 겁내지 말라는 이야기는 상당히 뚜렷하게 와 닿아서 좋았습니다. 아. DIP에서 Logic과 native API 사이에 추상화 레이어를 두는 것도 상당히 좋았는데 기회가 되면 꼭 코드로 보고 싶습니다. 아마 다음에 보게 되겠지만. - [서민관]
* javaSE : JLS(java language specification) + java api를 가리킴. 자바의 실제 문법과 언어에 필요한 기본적인 기능들. 참조 구현체로는 hotspot JVM이 있다.
* Java에서 다른 언어(C언어)로 된 라이브러리를 동적으로 호출해서 사용할 수 있도록 해 주는 방법.
- 정모/2011.5.23 . . . . 9 matches
* 먼저 자바스크립트 스터디에 관심이 생겼어요(진경이도 어제 뭐더라.. 어떤 언어가 알고리듬이 아주 달라서 배울만한 가치가 있다고 하더라구요. 같은 맥락이지 싶어요). 내일 몇시인지 알아낸 다음에 어떻게 진행되고 있는지 살펴보고, 적합하다 판단되면 저도 동참해야겠어요. 또 세미나를 보면서, 와.. 저런걸 여기서도 구현하는구나.. 라는 생각이 들었어요. TrustModel과 비슷한걸 만들고자 하는 사람들을 아는데, 저런식으로 아예 수치화 시키는게 역시 효율적인가.. 라는 생각도 들었구요, 후에 연구실(다른데인가?)에 들어간다면 저런걸 하는걸 보게/혹은 후에는 직접 하게될 수 있다는 사실에 나름 다시 감탄(?)했어요. ..아니면 빨리 이 길을 뜨는게 답인가요?ㅋㅋㅋㅋ 아, 또 성현이형이 동아리에서 프로젝트같은거 하신다고 하셨는데, 어떤걸 누구와 어떻게하였는지(그러니까 그 전반)도 한번 들어볼 기회가 있으면 좋겠어요. 여기서 잘 복붙해서 세미나 글에도 후기를 올려야겠네요...ㅎㅎ -[김태진]
* 지난 정모때 사람이 많았어서 상대적 박탈감(?)이 느껴지는 정모였습니다. 기말이 다가오니 바쁘신지 안오신 분들도 많았고ㅜㅜ 내 OMS가 있던 날인데.. 흙흙 그래도 매번 참석하는 11이 있어 기특합니다. 사람은 빈곤했지만 내용은 학술적인 내용으로 풍요로웠네요. 세미나도 하고. 연구실에서 무슨일을 하고있는지 알수 있는 좋은 기회였습니다. 연구실도 트렌드를 따르는군요ㅋㅋ 친구추천이랑 약간 비슷한거 같아요. 나의 OMS 잘 들으셨는지ㅠㅠ 아 스크립트 소개를 위한 스크립트도 썼는데 눈이 침침해서 잘 안보여서 횡설수설했네.. 자료실에 ppt랑 스크립트 같이 올려뒀어요 비교해 보세요.. 컴파일 언어가 전부인줄 알았다면 다른 종류의 언어도 익혀보세요! 전 루비와 얼랭을 해볼 생각입니다ㅋㅋ 구루가 되어보아요:> - [서지혜]
* 이때까지 자바스크립트를 C랑 비슷한 언어라고 생각하질 않았어요. 그냥 쓰면 되는구나.. 정도. 근데 정말이지 C같은 문법(?)을 가진 언어더군요! 신기한 언어의 세계였어요 -[김태진]
* 아아 일주일 뒤에 후기를 쓰는 군요. 요즘 이런것에 신경을 덜쓰는것 같아요. 홍기형의 세미나 잘 봤습니다. 스크립트에 관한 OMS도 잘 봤습니다. 스크립트언어는 java말고는 아무것도 몰랐는데.. 그래서 자바==스크립트 라고 생각한적도 있었는데 좋은 지식을 얻게 되어 기쁩니다. 커스 공연덕에 1시간으로 짧게 끝난 정모라 조금 아쉽습니다. 너무 서둘러서 끝난 기분이 드네요. - [고한종]
* 자바와 자바스크립트는 서로 다른 언어입니다. 자바는 스크립트 언어가 아니예요. - [김수경]
- 프로그래밍잔치/첫째날 . . . . 9 matches
* '''Think Difference 낯선 언어와의 조우'''
* 다양한 언어 혹은 Frameworks로 문제 풀기
* 우리가 졸업을 하면서 접하는 언어의 수가 얼마나 되는가? 10손가락에 꼽을수 있지 않을까? 프로그래밍 경력이 짧은 사람이라면, 많은 경험을, 많은 사람이라면 색다른 경험을 접해 보자.
1. 제시되는 여러가지 종류의 언어중 하나를 고른다.
* 언어를 이용하면서 중간중간 해당언어의 특징, 개발환경 등에 대해 이야기 나누기.
* 언어를 이용하면서 문제 풀기. & 해당 언어에 대해서 위키에 Thread - Document 작성
=== 시간 - Think Different! 낯선언어와의 조우! ===
- 허아영/Cpp연습 . . . . 9 matches
C언어도 많이 부족하지만, C++는 저한테 더욱 새롭기 때문에 실수도 많이 범할 것 같아요.
그러므로 C++언어를 많이 접해 보신 선배님이나 동기. 많이 충고, 조언 부탁드립니다 ^^
이에 대한 나름대로의 생각을 키워가면서, 다시 말하면 그 C++에 깔려있는 철학(이라고 하면 너무 거창해질 소지가 있지만 마땅한 단어가 떠오르지 않으므로)을 이해하려는 시도와 더불어 C++, 아니 다른 언어를 공부하면 기존에 예상했던 것 이상의 것들을 얻을 수 있으리라 생각합니다. - [아무개]
- C언어는 기초적 설명, 원리 등 철학?이 있는 책을 봤으나, C++는 아직 안봐서 잘 모르는데, 차차 공부해 나갈 생각입니다.
C언어에 젖어있는 제 상황에서는 아무래도, 비슷하지만 다른 C++언어로 코딩하는데에 C언어 모양이 날 것같군요. (지금은!)
앞으로 C언어와 C++언어의 차이점을 잘 생각하면서 코딩하겠습니다 ^^ - [허아영]
- 02_Python . . . . 8 matches
* 02 학번 후배들에게 언어의 기초. 어떻게 생각하면 C 보다는 기초를 잡기는 더 쉽고 더 친숙하게 언어를 배울수 있다는 취지하에 선택
* 그들이 언어 문법에 어려움을 느끼지 않았으면 좋겠다는 바램
* 가장 정확하게 말하자면 객체 지향 스크립 언어이다. (see also Ousterhout's IEEE Computer article ''Scripting: Higher Level Programming for the 21st Century'' at http://home.pacbell.net/ouster/scripting.html )
* 사용하기 쉽고 , 배우기 쉬우며 여러 방향으로 이용할수 있는 언어이다.
* GUI , 시스템 유틸리티 , AI , 인터넷 스크립팅 등에 사용할수 있는 언어이다.
* (RCM이 차세대 언어의 특징으로 꼽는) 동적자료형 객체지향 언어
- DPSCChapter1 . . . . 8 matches
''The Design Patterns Smalltalk Companion'' 의 세계에 오신걸 환영합니다. 이 책은 ''Design Patterns Elements of Reusable Object-Oriented Software''(이하 DP) Erich Gamma, Richard Helm, Ralph Johnson, and Jogn Vlissides(Gamma, 1995). 의 편람(companion, 보기에 편리하도록 간명하게 만든 책) 입니다. 앞서 출간된 책(DP)이 디자인 패턴에 관련한 책에 최초의 책은 아니지만, DP는 소프트웨어 엔지니어링의 세계에 작은 혁명을 일으켰습니다. 이제 디자이너들은 디자인 패턴의 언어로 이야기 하며, 우리는 디자인 패턴과 관련한 수많은 workshop, 출판물, 그리고 웹사이트들이 폭팔적으로 늘어나는걸 보아왔습니다. 디자인 패턴은 객체지향 프로그래밍의 연구와 개발에 있어서 중요한 위치를 가지며, 그에 따라 새로운 디자인 패턴 커뮤니티들이 등장하고 있습니다.(emerge 를 come up or out into view 또는 come to light 정도로 해석하는게 맞지 않을까. ''이제 디자인 패턴은 객체지향 프로그래밍의 연구와 개발에 있어서 중요한 위치를 가지고 있으며, 디자인 패턴 커뮤니티들이 새로이 등장하고 있는 추세입니다.'' 그래도 좀 어색하군. -_-; -- 석천 바꿔봤는데 어때? -상민 -- DeleteMe)gogo..~ 나중에 정리시 현재 부연 붙은 글 삭제하던지, 따로 밑에 빼놓도록 합시다.
''디자인 패턴''은 객체지향 언어로 제작된 프로그램에 23개의 패턴을 제시합니다. 물론, 23개의 패턴이 객체지향 디자이너들이 필요로 할 모든 디자인의 난제들을 전부 잡아내지는 못합니다. 그럼에도 불구하고 "Gang of Four"(Gamma et al.)에서 제시한 23개의 패턴은 좋은 디자인의 든든한 출발을 보장합니다. 이 23개의 패턴은 Smalltalk class libraries에 기반을한 디자인 수준(design-level) 분석(analog)입니다. 이 패턴을 이용해서 모든 문제를 해결할 수는 없지만, 전반적이고, 실제 디자인의 다양한 문제들을 위한 해결책을 위한 유용한 지식들의 기반을 제공할것입니다. 또, 이 패턴을 통해서 전문가 수준의 디자인 지식을 취득하고, 우아하고, 사후 관리가 편하고, 확장하기 쉬운 객체지향 프로그램 개발에 기초 지식을 제공하는데 톡톡한 역할을 할것입니다.
다른 이론적인 테두리안에서 프로그램(''전통적인 절차식 스타일'')을 한 후 객체 지향 언어를 배우는 것은 어렵다. Smalltalk 안에서 복합된 응용 프로그램 하는 것을 배우는 것은 복잡한 새로운 기술과 문제에 대한 새로운 사고 방식을 요구한다.(" e.g Rosson & Carroll, 1990; Singley, & Alpert, 1991") "Smalltalk" 라는 산을 오르는 것은 확실히 사소한 것이 아니다. 일단 당신이 간단한 Smalltalk 응용 프로그램을 만드는 데 자신이 있는 경지에 닿았다고 해도, 아직 전문가의 경지와는 분명한 차이가 있다.
* Smalltalk의 문법과 언어기호적인 저급단계 (컴퓨터에서의 low-level 단계)적인 항목에 대해
Christopher Alexander와 그의 친구, 동료들은 디자인 패턴이 공간활용과, 건축, 공동체의 구성방법 까지 확장되는 것에 관한 글을 써왔다. 여기에서 그들이 추구하는 바는 이런 분야에 적용을 통하여, 소프트웨어 디자인 패턴을 위한 또 다른 새로운 창조적 생각 즉, 영감을 얻기위한 일련의 작업(궁리)이다. ''The Timeless Way of Building''(1979) 에?? Alexander는 "때로는 서로다른 문화권에서 아주 약간은 다르게 같은 패턴의 버전들이 존재하걸 볼수 있다"(p.276) 라고 언급한다. C++과 Samlltalk는 비록 같은 기본적인 패턴에서의 출발을 해도 다른 언어, 다른 개발환경, 다른 문화로 말미암아 각자 다른 모양새를 보여준다.
Gang of Four의 ''Design Patterns'' 은 C++의 관점에서 디자인의 이슈와 해결책들을 제시한다. Design Patterns는 대부분 C++을 이용한 패턴들과, C++의 적용(implementation)과 관련있는 이슈들에 관한 견해를 다루고 있다. 그러한 이슈들은 C++ 개발자들에게는 매우 중요할지 모르지만, 다른 언어들을 이용하고 있는 개발자들에게는 자칫 이해하고 패턴의 적용에 어려움을 가지고 온다.
이책은 ''Design Patterns'' 에 대한 지침서, 편람으로 제작되었다. 하지만 관점은 ''Design Pattern''이 C++인것에 반하여 이 책은 Smalltalk에 기인한다. 그냥, 이 책 ''Smalltalk Companion''에 대해서 하나의 주제(design pattern)에 관한 다양한 자료 정도로 생각해 줬으면 한다. 우리는 Gang of Four book에서의 같은 패턴을 제공하지만, Smalltalk라는 안경을 통해서 바라볼것이다. (사실, 우리가 이름에 ''Samlltalk Companion''을 넣을때 어떤이는 "DesignPattern asSmalltalkCompanion" 을-역자주 Smalltalk언어상에서의 표현법 때문인것 같습니다.- 제안하기도 했다. 하지만 그런 이름은 hard-core Smalltalkers들만이 그 이름을 받아들일꺼라고 생각했다.)
하지만 ''Smalltalk Companion''은 ''Design Patterns'' 문서를 단순하게 반복 하는것 이상이고 C++ 코드가 있을 경우 Smalltalk 예로 바꾼다. 결과적으로, 우리가 추가적인 분석, 분류, 혹은 기존의 패턴에 대한 약간의 불일치하다고 느끼는 많은 상황이 있다. 그러므로, 우리의 많은 토의가 다른 객체 지향 언어에 잘 적용되야 할 것이다.
- PythonLanguage . . . . 8 matches
객체지향 스크립트 언어
'~을 하기에 적합한' 언어는 있어도 '~을 하기 위한' 것이란 없다. -_-; ('~을 하기 위한 API'는 존재할 수 있겠다.) 이녀석도 프로그래밍 언어이므로 프로그래밍을 하기 위한 언어이다. ^^; (PHP도 사람들이 웹프로그래밍으로만 접근해서 그렇지 원래는 shell script programming 도 가능하다. perl 보다 편하게 쓰는 사람들이 많다.)
1991년도에 태어났으므로 1995년에 태어난 자바보다 형이다. 국내에서 인기있는 스크립트 언어중 하나이다.
* FeedBack 이 빠른 언어는 배우기 쉽다.
이미 다른 언어들을 한번쯤 접해본 사람들은 'QuickPythonBook' 을 추천한다. 예제위주와 잘 짜여진 편집으로 접근하기 쉽다. (두께도 별로 안두껍다!) Reference 스타일의 책으로는 bible 의 성격인 'Learning Python' 과 Library Reference 인 'Python Essential Reference' 이 있다.
[언어분류]
- 데블스캠프/2013 . . . . 8 matches
|| 1 |||| [Opening] |||| [새내기의,새내기에의한,새내기를위한C언어] |||| [http://zeropage.org/seminar/91465#0, GUI 다뤄보기] |||| |||| [Clean Code with Pair Programming] |||| OOP || 8 ||
|| 2 |||| [http://zeropage.org/seminar/91479#0 페이스북 게임 기획] |||| [새내기의,새내기에의한,새내기를위한C언어] |||| [http://zeropage.org/seminar/91465#0, GUI 다뤄보기] |||| |||| [Clean Code with Pair Programming] |||| OOP || 9 ||
|| 3 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [새내기의,새내기에의한,새내기를위한C언어] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] |||| |||| [Clean Code with Pair Programming] |||| [:WebKitGTK WebKitGTK+] || 10 ||
|| 4 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [http://zeropage.org/seminar/91448 로우레벨로 보는 Physical MAC Cross Layer] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] |||| |||| [진격의안드로이드&Java] |||| [:WebKitGTK WebKitGTK+] || 11 ||
|| 5 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [http://zeropage.org/seminar/91448 로우레벨로 보는 Physical MAC Cross Layer] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] |||| |||| [진격의안드로이드&Java] |||| 밥 or 야식시간! || 12 ||
|| 김민재(22기) || 새내기의, 새내기에 의한, 새내기를 위한 C언어 ||
|| 서민관(19기) || [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] ||
- 데블스캠프2010/둘째날/후기 . . . . 8 matches
* 1등! C언어나 이런거에비해 뭔가 특이하고 재밌었는데 문제푸는걸 하나도 못해서 아쉽네요 하지만 역시 감동적이었습니다. - [경세준]
* PROLOG..C언어만 하다가 새로운 걸 접하니 신기하고 재미있어요.ㅋ 다른 예제도 하고싶네요 - [박정근]
* 일반적으로 C 프로그래밍은 자신이 아는 출력(또는 원하는 출력)을 위해서 구조를 짜는데 PROLOG는 중간만 만들어 놓으면 답이 알아서 나온다는 상당히 특이한 구조를 가지고 있어서 꽤 신기했습니다. 근데 이건 좀 편견일지도 모르겠지만 어째 이건 뭘 만들기보다는 연구하기 위한 언어가 아닌가 싶네요. - [서민관]
* PROLOG... 제가 워낙에 로직같은덴 약하다보니 ㅋㅋ 영화배우 문제까지밖에 못풀겠더군요 ㅇㅅㅇ;; 그래도 새로운 언어에대해서 알수있어서 좋은 경험이 되었습니다 - [남상혁]
* 아 안타깝다..... 준비도 좀 부족했고 놋북도 하필 이런 때 망가져서 들어준 학우들에게 미안하네요. 개떡같이 알려줘서 그렇지 사실 Prolog는 정말 재밌는 언어입니다ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ - [김수경]
* 신기하네요 이런 언어는 누가 만드는 걸까요 ㅇ_ㅇ [김상호]
* 예전부터 세뇌시키셨던 '단일 변화가 발생했을 때 수정사항은 예측 가능한 곳에 있도록 해라' 라는 주제를 다시 한번 접했는데, 들을 때 마다 느낀거지만 제가 너무 사고방식이 절차지향적으로 굳어진 것 같아서 '얼른 다른 새로운 패러다임의 언어를 접해봐야겠어'라는 생각을 하게 됩니다. 세미나를 듣고도 실제로 적용해볼만한 프로젝트를 하지 않으니 제대로 된 피드백이 되지 않는 것 같아서 안타까웠는데 요번엔 꼭 개인프로젝트라도 진행시켜보겠습니다! - [박성현]
* 코딩을 하면서 프로그래밍 언어에 맞춰서 생각을 하고 있지는 않은가. 확실히 이런 부분은 조금씩 배움이 커져가면서 자신도 모르게 생기는 나쁜 습관이 아닌가 합니다. 그리고 생각해보면 스스로도 조금 그런 경향이 강해지지 않았나 합니다. 그런 것들은 바깥에서 말해주지 않으면 스스로 깨닫기는 힘든 만큼 자기 자신의 코딩 습관을 다시 돌아볼 수 있는 기회가 되었다고 생각합니다. 다만 후반의 코딩은 분위기가 좀 가라앉은 느낌이 있어서 너무 안타까웠어요. - [서민관]
- 데블스캠프2012/둘째날/후기 . . . . 8 matches
* [서영주] - 웹 개발을 위해 필요한 전반적인 지식에 대해서 알 수 있어서 좋았습니다. DB관련해서 어떤 것이 있는지, 주 언어에는 어떤 것들이 있는지. 어떤 것들을 공부해야 하는지 방향성을 알 수 있었던게 컸던 것 같습니다. 그리고 개인적으로는 개인 서버 구축이나 취미로 하는 공부도 나중에 현업에 나가서 도움이 되는 것이 많다는 얘기에는 상당히 끌리는 부분이 있었습니다. 나중에 개인 서버를 만들어서 유용하게 써봐야겠습니다. 감사합니다.
* [정진경] - 웹 서비스를 하고 싶을 때 기반이 되는 옵션이 쭉 정리된 느낌입니다. 각 언어별 프레임워크에 대해서는 잘 와닿지가 않았던 것 같네요. 아마도 아무 것도 안만져봐서 그런 것 같습니다. 하나 골라서 써봐야겠습니다. 새로운 것에 대한 도전으로는 루비온레일스가 끌리네요.
* [김태진] - JavaScript를 많이 쓰던 때는 1학년 방학때랑 동문네트워크 만들 때 뿐이었는데, 그때는 좀 객체에 관해서 따지진 않고 했습니다. 그에비해 이번엔 엄청난 추상화를 할 수 있다는걸 다시 한번 생각해보고, 음.. 재밌는 언어네요. 방학중에 여행갔다오거든 Canvas로 뭔가 해보고싶기도 하고, 그렇네요. 작년에 피보나치를 함수형으로 짜라고 할땐 멘붕했는데, 이번엔 한글 문제를 그냥 for문으로 쓴지라 쉬웠달까요..
* [권영기] - C랑 문법이 비슷한 것 같아서 쉽게 잘 이해하나 싶었는데, 클로져부터 뭔가 잘 적응이 안되기 시작하더니 맵리듀스부터는 멘탈이 붕괴되었습니다. 하지만 첫술에 배가 부르겠습니까? 이번 데블스캠프를 통하여 자바스크립트를 입문하게 되었으니 관심을 가지고 공부한다면 잘 써먹을 수 있겠지요? 새로운 언어를 접해볼 수 있는 즐거운 체험이었습니다.
* [변형진] - 현업 JavaScript 개발자 중에서도 이 정도로 언어를 설명할 수 있는 사람이 많지 않은데 꽤나 훌륭하게 설명했네요. 본격 JavaScript 공부를 원한다면 언제든 저를 호출하세요.
* [서영주] - 자바스크립트는 그냥 단순하게 예제만 보면 그렇게 안어려워 보이는데 제대로 코드를 짠걸 보거나 오픈API관련을 보고 쓰려고 하면 그런건 예제처럼 코드가 예쁘지가 않더라고요. -_- 틀림없이 현실은 오늘 본 것의 이상이겠죠. 게다가 클래스에 나중에 변수를 추가한다거나 .prototype은 뭔지 등등... 그래도 웹 이외에도 많이 쓰이기도 하니까 피해갈 수 없는 언어 중의 하나겠죠. 언젠가 제대로 공부해보고 싶긴 하네요.
* [정종록] - 자바스크립트에 대해 아는게 별로 없어서 편견이 없기에 편견을 깨지 않고 그대로 받아들이는 시간. 다른언어 c나 자바 같은데서 못하던게 가능해서 신기했고 재미있었음. 문제는 새내기들이 피보나치를 못해서 당황스러웠지... 왜 피보나치하는데 다이나믹프로그래밍이 생각나는거냐 알고리즘 ㅋㅋㅋㅋ
* [김수경] - 난이도를 많이 낮추어 설명했다고 하는데 그럼에도 너무 가볍게만 다루고 지나간 세션이 아니라 좋았습니다. 자바스크립트가 새내기에게 은근 접근성이 좋은 언어가 아닐까 싶은데 데블스캠프를 계기로 많은 새내기들이 자바스크립트에 관심을 가지고 스터디를 진행할 수 있다면 좋겠네요.
- 새싹교실/2012/주먹밥 . . . . 8 matches
* [김준석] : 기존 기획했던 커리큘럼 프로젝트 결과물 3개 이상. 그리고 C언어의 파일입출력 및 네트워크 프로그래밍까지 가르치겠다. 그외 잡식은 +@
* [용상훈] : 기본적인 c언어와 안드로이드,아이폰 어플을 만들기 프로그래밍 사용법 습득.
* 변수타입 - C언어는 고급언어이다. 왜냐. 사람이 쓰기 좋게 만들기때문이다. 편하게 만들어주는 것중 하나가 변수 타입이다. int는 정수, char는 문자, float는 실수. 참 편하지 않은가? 사람을 위해 만들어진것이다. 언제까지 0과 1로 대화할텐가?
* 질문 : 박도건, 용상훈 -> 저급 언어는 왜 필요한가요?
* 답변 : 플래시 프로그래머가 1억개가 넘는 배열을 선언하는 미친짓을 한다고 해봅시다. 이 사람이 1억개가 넘는 배열을 선언하고 돌리면 컴퓨터가 감당을 할수 있을까요? 이게 왜 뻗는지 이해를 못하죠? 여러분도 마찬가집니다. 지금 C는 저급언어에 조금 가까운 편이라 메모리 관리가 보이지만 스크립트만 개발해본 개발자나 방금 말한 플래시 프로그래머는 이해를 못하죠. 메모리의 효율적인 관리와 최적화를 위해 필요하다고 간단하게 요약할수 있겠네요.
* 스크립트 언어가 나오는 이유 c언어 asam
- 졸업논문/결론 . . . . 8 matches
이때까지 살펴본 바, django는 데이터베이스를 이용하는 패턴을 대부분 추상화하여 사용할 수 있도록 지원한다. 모델과 데이터베이스를 연동하여, 주언어인 python으로 모델만 수정하더라도 데이터베이스에 이를 반영할 수 있다. 또한 데이터베이스를 객체로 생각하고, 삽입과 갱신은 객체를 저장하는 것으로, 조회를 객체의 인스턴스를 얻어오는 것으로, 삭제를 인스턴스를 삭제하는 것으로 추상화하였다. 이러한 추상화로 모자란 부분은 사용자가 직접 SQL을 작성할 수 있도록 지원하고 있다.
RoR와 django 같은 경량 프로그래밍 기법이 힘을 얻는 또 다은 이유는, 강력한 표현력을 가진 주언어를 사용할 수 있기 때문이다. Ruby와 python은 스크립트 언어의 성격을 가지고 있으며, 객체 지향 개념과 함수형 프로그래밍 언어의 패러다임을 포함한다. 비록 느려서 시스템 프로그래밍에 사용하기에는 적당하지 않지만, 동적으로 빠르게 변하는 웹 환경에서는 ruby와 python같은 언어가 변화를 손쉽게 따라갈 수 있어 적당하다.
웹2.0은 웹을 플랫폼으로 생각한다. 플랫폼이 바뀌면 언어도 바뀐다. 웹 2.0이후에는 변화가 더욱 빨라질 것이고, 변화에 알맞는 새로운 개념과 기술과 언어가 생겨날 것이다. 하지만 기존에 널리 사용하던 기술은 변화를 맞더라도 쉽게 자리를 내주지는 않을 것이다. 따라서 변화를 만들어가는 입장에서는 기존 플랫폼, 기술, 언어와 연동할 수 있는 연결고리를 만들어서 기존의 것은 그대로 사용하면서 더 나은 것을 보여주어야 한다. Django의 사례는 기존 데이터베이스를 그대로 사용하면서도 사용자에게는 추상화된 데이터 저장고를 제공하는 변화의 연결고리를 보여주고 있다.
- ComponentObjectModel . . . . 7 matches
COM은 소프트웨어 컴포넌트를 위해 만들어진 Microsoft 사의 기술이다. 이는 수많은 MS사의 프로그래밍 언어에서 소프트웨어간 통신과 동적 객체생성을 가능케한다. 비록 이 기술이 다수의 플랫폼상에서 구현이 되기는 하였지만 MS Windows 운영체제에 주로 이용된다. 사람들은 .Net 프레임워크가 COM을 어느정도까지는 대체하리라고 기대한다. COM 은 1993년에 소개되고 1997즈음해서 MS가 강조한 기술이다.
90년대 마이크로소프트가 내놓은 가장 핵심적인 기술로 차후 ActiveX 를 이루는 기반기술이 된다. COM은 언어가 아니라 객체지향을 지향하는 바이너리를 만들어 내는 표준을 지정해놓은 것이다. 따라서 어떤 언어이던지 COM 표준에 부합하는 바이너리 형태를 생성할 수 있다면 그 언어로 작성한 바이너리는 언어 독립적으로 COM을 지워하는 곳에서 컴포넌트로서 사용이 가능하다. 고질적으로 진입장벽이 업청나게 높은 기술로 유명하지만... -_-; .NET 이 나오면서 어떻게 쓰이게 될런지는 미지수가 되어버린 기술이다. Vista 가 나오면 완전히 legacy 로 취급되게 될 것인지... -_-;; 이제 MFC는 사장의 길로 걸어가는 것 같고... 당장이야 워낙에 기반이 이 기술이다보니 어쩔 수 없겠지만 .net 사용이 궤도에 오르면 아마도 COM 도 머지않아 그렇게 되지 않을까 싶다.
COM 은 '언어'가 아닌 '기술'이다. 이는 ASP 가 VBScript 언어를 의미하지 않는 것과 같다.
- LUA_1 . . . . 7 matches
스크립트 언어는 이제 단순히 유행을 넘어서 개발자가 알아야 할 덕목에 가까워진 것 같습니다. 저 같은 경우 아직 C/C++/Java로 개발을 하지만 보조적인 역할에서는 스크립트 언어(Python)만큼 유용한 게 없는 것 같습니다.
그리고 이제 Python은 스크립트 언어를 넘어 Stand-alone 언어로 혼자 독자적인 플랫폼을 구축하는 것 처럼 보입니다.
Python 언어를 한 동안 사용하다가 최근에는 루아에 관심을 갖게 되었는데, 의외로 루아에 대한 정리 된 자료를 찾는게 쉽지 않았습니다. 또한 오랫동안 C/C++/C#에 얽메여 있으면서 뭔가 새로운 것을 배우고자 하는 욕망에 강좌를 시작하게 되었습니다. 부족한 점이 있지만 저도 배우는 입장에서 루아에 대해 정리해 나가도록 하겠습니다.
둘째는 빠르다는 점입니다. 빠르다는 말은 상대적일 수 있는데, 다른 스크립트 언어에 비해서 빠르다는 뜻입니다. 예를 들면 Python 이겠죠. 자세한 내용은 http://lua-users.org/wiki/LuaVersusPython 페이지에서 Python 과 비교한 부분에서 확인 하실 수 있습니다.
그리고 세번째는 많은 게임의 스크립트 언어로 검증이 되었다는 점입니다. 대표적으로 World of Warcraft(WOW)가 있겠죠. 많은 사람들이 루아를 WOW을 통해서 알게 되었죠. 간략하게 루아의 특징에 대해서 알아 보았습니다. 좀 더 자세한 루아의 역사는 http://en.wikipedia.org/wiki/Lua_(programming_language) 에서 확인할 수 있습니다. 한글 위키 페이지가 내용이 좀 부족하네요.
- 데블스캠프2005/월요일후기 . . . . 7 matches
교훈 : 언어의 다양성, 각각의 장단점이 있음을 인식. 고정관념을 버리자.
교훈 : 내가 모르는 언어는 많다. 그러므로 정복하자.
최정빈 - 사실 : OOP 와 플래쉬, 언어 만들기 했다. 느낌 : 어렵다..힘들다.. 교훈 : 공부하자ㅠ
사실 : OOP의 개념과 플래시, 프로그래밍 언어 만들기,로보코드를 했다
교훈 : 언어의 특징과 개념을 이해할 수 있었다.
사실: 새로운 언어 만들기, OOP, 플래시에 대해서 공부했다.
사실: 새로운 언어 만들기 및 실습, OOP 와 게임, 플래시와 실습을 했다.
- 데블스캠프2005/주제 . . . . 7 matches
|| 수 || ASP&PHP&JSP || 승한, 성만 || ? || 각 웹언어의 비슷한 점과 차이점 IIS, APM의 차이점과 비슷한점 설치법 ||
언어를 가르칠 때는 그 언어의 문법 보다는 이 언어의 특징을 가르치는데 중점을 둬야 합니다. 언어의 특징을 가르치는 데 방해되는 요소가 있다면 모두 안보이게 하는 게 특징에만 집중 할 수 있게 도와줍니다. --재동
금요일에 제가 한 타임을 맡겠습니다. 네트워크 사용한 간단한 프로그램을 만들 예정입니다. 언어는 파이썬으로 하려합니다. 그러므로 파이썬 배운 후에 몇 개의 토이프로블램은 파이썬으로 연습 시켜주셔야 합니다. --재동
프로그래밍을 경험한 기간에는 차이가 있겠지만 오히려 이 점이 이 토의를 더 영양가 있게 만들수 있다고 생각합니다. 신입생이 대학에 입학해서 처음으로 프로그래밍을 접했다고 했을 때, 대부분이 프로그래밍을 공부한 방법은 수업시간에 특정 언어에 대해 수업을 들은 것이 대부분이고 코딩경험도 수업시간에 내준 레포트를 작성하는 것이 전부일 것입니다. (물론 개인적으로 열심히 한 사람들도 있겠지요) 재학생의 경우에는 자신이 그동안 어떠한 방법으로 공부를 했으며, 어떻게 했으면 더 좋았겠다. 라는 생각을 분명히 갖고 있을 것입니다.
- 새싹교실/2011/Pixar/3월 . . . . 7 matches
* Keywords : 컴파일러, 프로그래밍 언어, printf 함수, main 함수, #include, assert 함수, 변수, 자료형
* C언어를 처음으로 공부했어요 ㅎㅎ 고급언어 저급언어?? 에 대해서 배웠고 다른 언어들에대해서도 간단히 들었다. 그리고 변수와 자료형에대해서도 배웠어요. 너무 신기했어요 처음으로 C를 공부해봐서 ㅠㅠ.,... 자랑은아니지만.. 앞으로 배울거 생각하면 너무기대되요 ㅎㅎ 제가 복습을 잘 안해서 ㅠㅠ 걱정이 되지만 앞으로 최선을다해!! 복습 해올께요 - [이승열]
* 새싹교실을 처음들었는데 대학생활 한달만에 제대로 된 수업을 들은 느낌입니다. 오늘 많은 것을 배운 것 같습니다. 2시간동안 수업들었는데 딱히 수업이 긴거 같진 않았고요 재밌었어요 printf랑 assert 도 처음 배웠고 C언어 시간에 하나도 알아듣지 못한 것을 여기서 많이 배우고 가네요 앞으로 복습도하고 예습?은 쫌힘들어도 복습은 철저히 해서 C언어를 잘하고싶어요~~~~~~-오상준-
- 새싹교실/2012/AClass . . . . 7 matches
--> 프로그래밍 언어를 어셈블리어로 변환하고 그 어셈블리언어를 기계가 읽을 수 있는 언어로 변환 시켜주는 것
저번 학기에 배운 c언어를 복습했다. 포인터를 복습했는데 다시 공부해야 겠다.
복습했는데 하나도 기억이 안난다! C언어 책을 다시 펴봐야겠다.
c언어에서 배웠다 '\n'는 c++에서는 endl로 쓴다는 것도 배웠다.
* c언어와 c++의 다른 문법과 cin,cout class,std없애는 using namespace std를 배웠다
- 새싹교실/2013/라이히스아우토반/1회차 . . . . 7 matches
* 중간자 역할 (소프트웨어-운영체제-하드웨어, 고급언어-컴파일러-저급언어) 이란 점에서도 연관이 있습니다.
1. 컴파일러란 것이 있는데, 우리가 만든 소스(코드가 들어가있는 텍스트파일)를 저급언어(사람은 이해하기 힘들고, 기계가 이해하긴 쉬운)인 어셈블리어로 바꾸어 준다.
*컴파일러는 저급언어를 만들고, 인터프리터는 실행명령을 만듭니다. 이 만들어논 실행명령을 프로그램에 넣으면 실행이 되는거죠. 대표적인 인터프리터인 JVM을 가지고 와서 설명해야 할것 같은데.. 허허
오늘 C언어를 배우지 않고 그 주변에 있는 것들을 배웠습니다.
C언어를 잘 몰라서 상당히 걱정을 했었지만 ㅠ 선배님 께서 상세히 설명 해주셔서 좋았고, 공부도 오랫만에 해서 엄청 뿌듯했어요ㅎㅎ
오늘은 기본적인 컴퓨터 구조와 운영체제(os)에 대해서, 그리고 c언어가 기계어까지 번역되고 실행되는 원리에 대해서 배웠다. 그냥 주입식으로 외워서 할 수 있었던 것들의 원리를 조금이나마 알게되 재밌었고 더욱 흥미가 생겼다. 앞으로도 그냥 막 외우지 말고 원리를 이해하면서 공부하면 좋겠다는 생각이 들었다.
- 스터디그룹패턴언어 . . . . 7 matches
기념비적인 책, ''A Pattern Language'' 와 ''A Timeless Way Of Building''에서 크리스토퍼 알렉산더와 그의 동료들이 패턴언어에 대한 아이디어를 세상에 소개했다. 패턴언어는 어떤 주제에 대해 포괄적인 방안을 제공하는, 중요한 관련 아이디어의 실질적인 네트워크이다. 그러나 패턴언어가 포괄적이긴 하지만, 전문가를 위해 작성되지 않았다. 패턴은 개개인의 독특한 방식으로 양질의 성과를 얻을 수 있도록 힘을 줌으로서 전문적 해법을 비전문가에게 전해준다.
본 패턴언어는 사람들이 스터디 그룹을 만들거나 개선하는 걸 돕기 위한 것이다.
본 패턴언어에는 21가지 패턴이 있다. '정신', '분위기', '역할' 그리고 '맞춤'(Custom)이라고 부르는 네 섹션으로 구분된다. 해당 섹션의 패턴을 공부할 때, 이 언어의 구조를 고려하라. 본 언어의 앞 부분인 '정신' 섹션의 패턴은 스터디 그룹의 핵심 즉, 배움의 정신(spirit of learning)을 정의하는 것을 도와 줄 것이다. 다음 섹션 '분위기', '역할', '맞춤'은 앞선 핵심 패턴과 깊이 얽혀있으며 그것들을 상기시켜줄 것이다.
- CToAssembly . . . . 6 matches
고급언어 변환기, 어셈블러, 편집기, 다른 프로그램을 만드는 작업을 돕는 프로그램들이 시스템 소프트웨어에 속한다. 우리는 이미 프로그래밍에는 기계어, 어셈블리어, 고급언어 세 단계가 있음을 안다.
기계어 프로그램은 컴퓨터가 이해하고 직접 실행할 수 있는 프로그램이다. 어셈블리어 명령어는 기계어 명령어와 보통 일대일 관계로 대응하지만, 우리가 쉽게 이해할 수 있는 문자열을 사용한다. 고급언어 명령어는 영어에 매우 가까워서 프로그래머가 생각하는 방식과 자연스럽게 대응한다. 결국 어셈블리어나 고급언어 프로그램은 변환기라는 프로그램에 의해 기계어로 변환되야 한다. 이 변환기를 각각 어셈블러(assembler), 컴파일러(compiler) 혹은 인터프리터(interpreter)라고 한다.
C/C++같은 고급언어의 컴파일러는 고급언어를 어셈블리코드로 변환할 수 있다. GNU C/C++ 컴파일러의 -S 옵션은 프로그램 소스에 해당하는 어셈블리코드를 생성한다. 반복, 함수 호출, 변수 선언과 같은 기본적인 구조가 어셈블리어로 어떻게 대응하는지 알면 C 내부를 이해하기 쉽다. 이 글을 이해하기위해서는 컴퓨터구조와 Intel x86 어셈블리어에 익숙해야 한다.
- C언어정복 . . . . 6 matches
== 제로페이지 새싹스터디 모임 C언어정복 ==
[C언어정복/3월30일]
[C언어정복/4월6일]
[C언어정복/3월30일-내용정리]
[C언어정복/4월60일-내용정리]
[C언어정복/3월30일-숙제]
- TeachYourselfProgrammingInTenYears . . . . 6 matches
Pascal:3일간으로, Pascal 의 문법을 배우는 것은 가능할지도 모르는(유사한 언어를 이미 알고 있으면)가, 그 문법의 이용법까지는 충분히는 배울 수 없다.즉, 예를 들면 당신이 Basic 프로그래머이다고 하여, Basic 스타일로 Pascal 의 문법을 이용한 프로그램의 쓰는 법을 배울 수 있을지도 모르지만, Pascal 가 실제의 곳, 무엇에 향하고 있을까(향하지 않은가)를 배울 수 없다.그런데 여기서의 포인트는 무엇일까? Alan Perlis(역주1) 은 일찌기, 「프로그래밍에 대한 생각에 영향을 주지 않는 것 같은 언어는, 아는 가치는 없다」라고 말했다.여기서 생각되는 포인트는, 당신이 Pascal(그것보다 어느 쪽일까하고 말하면 Visual Basic 나 JavaScript 등의 (분)편이 현실에는 많을 것이다)를 그저 조금 배우지 않으면 안 된다고 하면(자), 그것은 특정의 업무를 실시하기 위해서(때문에), 기존의 툴을 사용할 필요가 있기 때문일 것이다.그러나, 그러면 프로그래밍을 배우는 것으로는 되지 않는다.그 업무의 방식을 배우고 있을 뿐이다.
적어도 반다스의 프로그램 언어를 배우는 것.그 중의 하나는 클래스 추상을 서포트하는 것(예를 들면 Java 나 C++), 하나는 함수 추상을 서포트하는 것(예를 들면 Lisp 나 ML), 하나는 구문 추상을 서포트하는 것(예를 들면 Lisp), 하나는 선언적 기술을 서포트하는 것(예를 들면 Prolog 나 C++ 템플릿), 하나는 coroutine 를 서포트하는 것(Icon 나 Scheme), 그리고 하나는 병렬처리를 서포트하는 것(예를 들면 Sisal)인 것.
언어 표준화의 시도에 참가하는 것.ANSI C++ 위원회라면 그것이 생길 것이고, 가족에서의 코딩·스타일에 대해, 인덴트의 공백을 2 문자로 할까 4 문자로 하는가 한 레벨에서도, 결정하게 될 수 있다.어쨌건 간에, 다른 사람이 프로그램 언어의 어떤 곳을 좋아하는가, 얼마나 깊고 좋아하는가, 그리고 아마, 왜 그렇게 좋아하는가는 일도 조금, 배우게 된다.
가능한 한 빨리, 언어 표준화로부터 멀어지는 분별을 가지는 것.
- 가독성 . . . . 6 matches
간단하게 C언어에 대한 문제와 답을 올리는 페이지에서 다음과 같은 내용이 있었다.
이 글을 쓰고 저 문제에 대한 이의 제기가 들어올줄 예상은 하고 있었습니다. 그에 따른 제 변명은 이렇습니다. 여러 언어의 특성상 언어마다의 코딩 스타일은 엄연히 존재합니다. C언어의 특성에 따라 하나의 함수는 한 화면에 모두 출력되게 하는 것이 중요합니다. (물론 요즘과 같은 큰 터미널에서는 문제가 되지 않겠습니다만,..) 때문에 코드의 가독성을 높히며 많은 코드들을 짜는 것은 불가분의 관계라고도 할 수 있겠죠.(함수를 붙여쓰면 코드들은 많이 들어가나 가독성이 매우 떨어지죠.) 하지만 C언어에서 저것과 같은 방식의 코드는 코드의 라인만 늘리는 결과를 초래하게 됩니다. 예를 들어 24라인만 쓸 수 있는데 for문과 while문의 갯수가 4개라고 하면 4줄을 낭비하는 꼴이 됩니다. 즉, for문과 while문의 가독성을 위해 전체적인 함수 가독성을 떨어뜨리게 되는 것이죠. (또한 for문과 while문의 {를 아래로 내리는 것과 위로 올리는 것의 차이점은 얼마되지 않습니다.) 제가 강조한 것은 이 전체적인 모듈의 가독성을 뜻한 것입니다. (딴지를 걸자면 80x24 화면에 저러한 코딩 방식을 사용하는 것은 죽음을 자초하는 길일것입니다. 토발즈 또한 강조한 것이기도 하구요. :) ) - 이영호
''Python 과 같은 언어의 경우 {} 자체를 쓰지 않고 아에 들여쓰기로 블록를 표현합니다. 우리가 코드를 볼때 해당 블록 범위를 읽을때에는 { } 의 위치보다는 들여쓰기로 블록 범위를 파악하는 일이 더 많다는 점에 대해서도 생각해 볼 필요가 있을 것 같습니다. --[1002]''
- 데블스캠프2010/첫째날/후기 . . . . 6 matches
* 새롭게 경험해보지 못한 Rur-ple이라는 파이썬을 이용한 프로그래밍 언어 환경을 사용해보았습니다. 평소에 프로그래밍 언어에 대해 머리아프다고만 생각했었는데 이렇게 로봇을 이용해 움직이는것을 보니 좀더 재미있게 프로그래밍을 할 수 있었습니다. 머리를 많이 사용해서 그런지 좀 어지럽긴 하지만 평소에 C나 자바 대신 이것으로 프로그래밍을 한다면 코딩도 잘하고 성적도 잘 받을수 있을것만 같네요ㅎㅎ - [허준]
* 머리가 너무 나뻐서 고생했어요. C언어가 파이썬보다 편해요 - [윤종하]
* 러플을 처음 접해보았는데 흠 역시 일반적인 프로그래밍 언어와는 달랐습니다. 그리고 작년에 했던 NXT가 생각나더군요. 교육용 언어에 대해 별 생각이 없었는데 오늘 해보고 나니 새로운걸 배워본다는 취지로는 좋았습니다. 언어 자체의 문법도 간단할뿐더러, 결과를 바로바로 확인해볼 수 있더라구요. 한가지 아쉬운 점이 있었다면 러플을 해본적도 없는 제가 도우미로 나섰던 점... ㅋㅋㅋㅋ 그래서 파이썬과 러플이 무슨 관계인지 확인을 못해봤습니다. 궁금했었는데... ㅋㅋㅋ - [박성현]
- 새싹교실/2011/무전취식/레벨1 . . . . 6 matches
* C 동작 설명 : C는 고급언어다. 사람이 이해하기 쉬운언어. 프로그램을 짜고 컴퓨터에게 시키면 컴퓨터가 이해하기 쉬운 저급언어로 바꾸어 실행시키다.
* 첨으로 VS2008을 써보았슴다. 표준입출력 연습?? 언어에 관해서는 그다지 어려운 점이 없었는데, 내컴에 깔린 VS2008과 실습실에 깔린 VS2008 환경설정이 달라서 조금 걱정ㅠㅠ.. 사실 C언어 코딩을 반년 넘게 안하고, 중간에 C99 표준 내용을 아주 쪼오금 본 뒤 다시 표준입출력으로 돌아오니, C언어가 참 어렵다는 생각이 들기도 했습니당. 저도 갈길이 멀지만 저보다 한발짝 뒤에 있는 동기들을 보면 조금 걱정입니다. ㅜㅜ 화이팅 -[정진경]
- 새싹교실/2011/씨언어발전 . . . . 6 matches
[새싹교실/2011/씨언어발전/1회차] 3월 16일
[새싹교실/2011/씨언어발전/2회차] 3월 30일
[새싹교실/2011/씨언어발전/3회차] 4월 13일
[새싹교실/2011/씨언어발전/4회차] 5월 4일
[새싹교실/2011/씨언어발전/5회차] 5월 11일
[새싹교실/2011/씨언어발전/6회차] 6월 1일
- 새싹교실/2012/우리반 . . . . 6 matches
C (high level 언어)
(추가 : 인간이 쓰는 언어에 가까운 언어로 짠 프로그램을 기계어로 된 프로그램으로 변환시키는 것이라고 생각합니다.)
(추가 : 인간이 쓰는언어를 기계어로 번역하는 것이라고 생각합니다.) -[장윤화]
(추가 compile이란 High level language , 즉 인간이 구분하기 쉬운 언어로 작성된 프로그램을 Machine language(기계어)로 번역하여 처리하는 작업이라고 생각합니다.-[권도현]
* 오늘은 태진이형이 내주신 과제를 같이 해보면서 printf와 scanf 자료형 temp if else if를 섞어가며 각각의 함수를 알아보았다. 헷갈리는건 아직 마찬가지지만, 훈련하면 나아질거라고 생각한다. c언어는 정말 규칙이 많은것 같다. 집에서 코딩연습이 필요하다고 생각했고, 여러 규칙지키면서 해야하겠다 ㅋㅋ -[권도현]
- 실시간멀티플레이어게임프로젝트 . . . . 6 matches
* 파이썬 언어에 대한 스킬, 지식 등
* 특정 언어와 플랫폼을 떠나 얻을 수 있는 것:
등입니다. 여기에서 파이썬이라는 언어에 대해 얻는 것은 다른 것들에 비해 상대적으로 그다지 크지 않을 것입니다. 이번 경험은 어떤 언어이냐가 중요하지 않습니다. C++이나 자바를 사용할 수도 있다는 말입니다. 하지만 그렇게 하지 않은 이유는, 그런 언어들을 사용하면 "언어(혹은 라이브러리 API)"라는 문제가 더 커져서 소위 배보다 배꼽이 커지는 현상이 생기기 쉽기 때문입니다.
- 졸업논문/본론 . . . . 6 matches
관계형 데이터베이스는 관계형 모델에 따라 논리적으로 연관이 있는 데이터를 모아놓은 것이다. 관계란 n-tuple이 한 줄 씩 배열된 것으로, 줄이 배열된 순서는 관계없고, 모든 줄은 구별할 수 있어야 한다.[11] 데이터베이스 관리 시스템(DBMS)는 데이터베이스를 구성, 변경, 조회하는 프로그램을 모아 놓은 것이다.[12] 현재까지 관계형 DBMS가 많이 쓰이고 있는데, 이는 관계를 테이블로 나타내고 키를 이용해 정보를 연결하는 특징을 가진다.[11] SQL은 관계형 데이터베이스의 데이터를 생성,조회,변경하는 언어로 ANSI/ISO표준이다.[13] SQL을 이용하면 데이터베이스 테이블 생성에서부터 데이터 추가, 삭제, 변경, 조회는 물론이고 여러 건에 대한 트랜잭션처리까지 가능하다.
Django는 도메인 언어인 python의 영향을 많이 받는다. Python은 "동적인 객체지향"[10] 언어로 많은 소프트웨어르 만드는 데 사용할 수 있으며, django와 같이 소프트웨어를 만드는 프레임워크로도 널리 쓰인다. 이미 NASA에서 python을 사용하고 있으며, Google에서는 python을 java와 더불어 주류언어로 사용하고 있다. Django가 데이터베이스를 추상화하고, 개발 도중에 변경 사항을 자동화하여 처리할 수 있는 까닭도 python에 있다.
Django의 설계 철학은 한 마디로 DRY(Don't Repeat Yourself)이다. 확연히 구분할 수있는 데이터는 분리하고, 그렇지 않은 경우 중복을 줄이고 일반화한다. 데이터 뿐 아니라 개발에 있어서도 웹 프로그래밍 전반부와 후반부를 두 번 작업하지 않는다. 즉 웹 애플리케이션 개발자는 SQL을 사용하는 방식이 도메인 언어에 제공하는 프레임워크에 숨어 보이지 않기 때문에 프로그램을 동적으로 쉽게 바뀔 수록 빠르게 개발할 수 있다. 또한 후반부 데이터 모델이 바뀌면 프레임워크에서 전반부에 사용자에게 보이는 부분을 자동으로 바꾸어준다. 이러한 설계 철학을 바탕으로 기민하게 웹 애플리케이션을 개발할 수 있다.
다행히 django에서는 CLI와 마찬가지로 직접 SQL문장을 수행할 수 있는 인터페이스를 제공한다. 또한 도메인 언어인 python을 이용하면 CLI를 이용해 데이터베이스와 연동할 수도 있다. 종합적으로 기능적으로 지원이 불가능한 면은 없지만, 검색 측면에서 좀더 많은 추상화가 필요하다고 평가할 수 있다.
- 타도코코아CppStudy/0724/선희발표_객체지향 . . . . 6 matches
설계 모형을 특정 프로그램 언어로 번역하는 작업이다. 객체, 클래스, 상속의 개념을 다 포용하는 객체지향 언어(object-oriented programming language : C++, Smalltalk 등)가 가장 좋지만 객체의 개념만 인정하고 클래스, 상속 등은 고려하지 않은 객체기반 언어(object-oriented based programming language : Ada 등)도 좋다.
또한, 일반적인 구조적 프로그래밍 언어(structured programming language : C, Pascal 등)도 객체지향 개발에 활용될 수 있는가 하면 객체 지향 데이타베이스 관리시스템(OODBMS)이 개발의 도구로 이용될 수도 있다.
객체지향의 초기개념은 프로그래밍 언어로부터 시작됐으나, 이젠 실세계를 바라보는 새로운 시각으로 그 중요성이 변화하고 있으며, 개발언어에 너무 종속될 필요는 없다.
- 타도코코아CppStudy/객체지향발표 . . . . 6 matches
설계 모형을 특정 프로그램 언어로 번역하는 작업이다. 객체, 클래스, 상속의 개념을 다 포용하는 객체지향 언어(object-oriented programming language : C++, Smalltalk 등)가 가장 좋지만 객체의 개념만 인정하고 클래스, 상속 등은 고려하지 않은 객체기반 언어(object-oriented based programming language : Ada 등)도 좋다.
또한, 일반적인 구조적 프로그래밍 언어(structured programming language : C, Pascal 등)도 객체지향 개발에 활용될 수 있는가 하면 객체 지향 데이타베이스 관리시스템(OODBMS)이 개발의 도구로 이용될 수도 있다.
객체지향의 초기개념은 프로그래밍 언어로부터 시작됐으나, 이젠 실세계를 바라보는 새로운 시각으로 그 중요성이 변화하고 있으며, 개발언어에 너무 종속될 필요는 없다.
- 프로그래밍잔치/둘째날후기 . . . . 6 matches
전자수첩을 하기로 하고.. 샌드위치를 먹으며 각자의 역할과 작은 팀을 나누었고 칠피에 올라가서 시작.. 언어는 C++, MFC 툴킷을 사용하기로 했다. 그러나.. 총 개발시간의 절반을 MFC 와 싸우다가.. 인수군의 제안과 창섭군과 은지누나의 동의로 JAVA 로 언어를 바꾸고.. 인수군은 전자계산기를 기웅군, 은지누나와 페어를 하며 짜고 창섭군은 상욱군과 함께 전화번호부를 짜던 중 창섭군의 JAVA 실력 부재와 swing 경험 부족으로 인해(ㅜ.ㅜ) 은지누나와 상욱은 페어를 바꾸고.. 결국 어설픈 틀의 전화번호부와 계산기를 합치고 C++ 로 짜여진 상욱군의 만년달력을 끝으로 시간종료.
* 오늘 하면서도 느꼈던 것은 고정관념을 버려야 한다는 것!! 어제 역시 새로운 언어를 해보면서 이전까지의 언어에서의 고정관념에 사로잡혀 허우적되는 나를 발견했었는데... 오늘도 또다시 고정관념을 버려야한다는 것을 느끼게 했다. 프로그래밍에서 디자인이 시간낭비라는 고정관념, 코딩이 가장 중요하다는 고정관념, 프로그램 개발에서 가장 많은 시간을 소비하는 부분은 코딩이라는 고정관념.... 반드시 버려야겠다. 디자인은 절대로 시간낭비가 아니라는것... 가장 중요한 것이 코딩이 아니라것... 프로그램 개발에서 가장 많은 시간을 소비해야 할 부분이 코딩이 아니라는것.... 꼭 기억해야 겠다. --["상규"]
* 팀프로그래밍을 하면서, 대화가 중요하단 생각을 했다. 형식적이지 않은 이런 저런 의사소통도 많이 필요하겠지만 어느정도의 형식이 갖춰진 대화를 하는 것이 필요할 것 같다. 예를 들면, 언어선택의 문제에 있어서 대충 한 두명이 이걸로 짤까?? .. 그럴까?? 이런 대화보다는 정식으로 사람들한테 자신이 아는 언어와 생각을 물어서 종합적인 결론을 도출하는 과정이 필요했던거 같다..그리고 자신이 알고 있는 것과 모르고 있는 것에 대해서 스스로 잘 알필요가 있을듯..;; 또 다른 사람의 입장을 한번더 생각하는 맘도 필요한 것 같다. --은지
- 프로그램내에서의주석 . . . . 6 matches
하지만, "확실히 설명할때 {{{~cpp JavaDoc}}}뽑아서 그거가지고 설명하는게 편하긴 편하더라."라고 한말 풀어쓰는 건데, 만약 디자인 이해 후에 코드의 이해라면 {{{~cpp JavaDoc}}} 없고 소스만으로 이해는 너무 어렵다.(최소한 나에게는 그랬다.) 일단 코드 분석시 {{{~cpp JavaDoc}}}이 나올 정도라면, "긴장 완화"의 효과로 먹고 들어 간다. 그리고 우리가 코드를 읽는 시점은 jdk를 쓸때 {{{~cpp JavaDoc}}}을 보지 소스를 보지는 않는 것처럼, 해당 메소드가 library처럼 느껴지지 않을까? 그것이 메소드의 이름이나 필드의 이름만으로 완벽한 표현은 불가능하다고 생각한다. 완벽히 표현했다면 너무나 심한 세분화가 아닐까? 전에 정말 난해한 소스를 분석한 적이 있다. 그때도 가끔 보이는 실낱같은 주석들이 너무나 도움이 된것이 기억난다. 우리가 제출한 Report를 대학원 생들이 분석할때 역시 마찬가지 일것이다. 이건 궁극의 Refactoring문제가 아니다. 프로그래밍 언어가 그 셰익스피어 언어와 같았으면 하기도 하는 생각을 해본다. 생각의 언어를 프로그래밍 언어 대입할수만 있다면야.. --["상민"]
주석이 실행될 수 있는 코드가 아니기 때문에, 반드시 코드가 주석대로 수행된다고 볼 수는 없지만 없는것 보다는 낳은 경우도 많다. 코드 자체는 언어의 subset 이기 때문에 아무리 ''코드가 이야기한다(code tells)''라 할지라도 우리가 쓰는 언어의 이해도에 미치기가 어렵다. 이는 마치, 어떤 일을 함에 있어서 메뉴얼이 존재함에도 불구하고 경험자에게 이야기를 듣고 메뉴얼을 볼 경우, 그 이해가 쉽고 빠르게 되는것과 비슷하다.
- 1thPCinCAUCSE . . . . 5 matches
* 사용언어: C/C++ with Visual C++ 6.0
아쉬운 점이라면, 국내 대학생 프로그램 경진 대회와 acm의 icpc를 모델로 하는 듯 한데, 그렇다면 사용언어와 플랫폼 역시 좀 선택의 폭 을 넓게 해주는 게 좋지 않을까 하군요.
이제까지 제가 봐온 대학생 수준의 경진대회 중에서 개발환경과 언어 모두 를 이렇게 한정한 경우는, 특정 회사에서 스폰서를 하는 경우 빼고는 본 적이 없습니다. (최근 정보처리 자격증 실기 시험에서도 모든 언어를 허용하도록 바뀌었다고 합니다) 더 많은 배움의 기회가 될 것인데 참 아쉽군요.
혹시 여러가지 언어를 수용하는 경진대회가 궁금한 사람은 ICFP 프로그래밍 경진 대회(http://icfpcontest.cse.ogi.edu/ )를 한번 둘러보시기 바랍니다. 눈이 확 뜨일 겁니다. 특히 올해 주제는 로봇 프로그래밍입니다. 무척 흥미로운 주제지요.
- C언어시험 . . . . 5 matches
우연히 동문네트워크에 들어갔다가 2005년도 1학기 중간고사 C언어 시험에 대한 이야기를 보게 되었습니다. 익게에 말이 엄청 많더군요.
누가 C언어 시험 문제를 정리해 올린 것을 보았는데, 시험 그 자체로는 큰 문제가 없어보입니다. 수업시간이 어떤지가 더 궁금합니다. 교수님이 학생과 눈높이를 맞추는지 등.
처음에 문제를 보고 조금 당황하기는 했는데 저도 큰 문제는 없다고 생각합니다. 문제에 '''정답''' 이란 것도 없을 것 같고.. 단지 '''배우지 않은 내용이 문제로 나왔다'''라는 이유만으로 말이 많은것 같네요. (물론 새내기의 입장은 충분히 이해합니다). 시험 문제로 인해 기분상한 새내기들께는 교수님께서 문제를 그런 스타일로 내신 의도를 파악해 보라고 말씀드리고 싶네요. 마침 내일 zp정모가 있으니 새내기들에게 C수업방식에 대한 이야기를 들어보고 내용을 이곳에 정리해서 올려보도록 하겠습니다. 제 생각도 전해주고요. 이전에, 첫 번째 과제에 대한 이야기를 듣고 (SeeAlso CodeYourself) 김승욱 교수님의 C언어 수업을 반드시 청강해 봐야겠다는 생각을 했는데.. 연구실 일정과 조교일이 겹처서.. ㅠㅠ 내년에는 반드시 청강해 볼 생각입니다. 이번일로 인해 그 의지가 더 강해지는군요. - [임인택]
제가 내린 결론부터 말씀드리자면, 새내기들의 불만을 터뜨리게 한 가장 큰 원인이 '예상하지 못한 문제가 출제되었다' 인것 같습니다(학생들은 C언어에 대한 문제가 주를 이룰 것이다라는 생각을 하고 있었을 테니까요). 사람들의 이야기를 들어보니 ''교수님의 속도와 학생들이 받아들이는 속도가 맞지 않았다.'' 라는 생각이 들었습니다. 교수님께서 ''책에 있는 내용은 스스로 공부할수 있으니 저는 책에 나오지 않는 내용을 강의하겠습니다.'' 와 비슷한 말씀을 하셨다고 합니다. (새내기가 아닌) 한 학생이 교수님께 찾아가 강의의 난이도를 높여 달라는 말도 했다고 하구요(이 일 이후에는 C언어에 대한 내용을 skip하는 경우가 많았다고 하네요).
- DevOn . . . . 5 matches
=== 미니 대안언어 축제 ===
* [난해한 언어] 개론과 [Befunge]
* 개발자를 위한 자연언어 이해하기: 개발자가 비개발자의 말을 더 잘 이해하기 위해
* 개발자를 위한 자연언어 이해하기: 생명의 언어 해독하기
- HowToStudyDataStructureAndAlgorithms . . . . 5 matches
제가 생각컨데, 교육적인 목적에서는, 자료구조나 알고리즘을 처음 공부할 때는 우선은 특정 언어로 구현된 것을 보지 않는 것이 좋은 경우가 많습니다 -- 대신 pseudo-code 등으로 그 개념까지만 이해하는 것이죠. 그 아이디어를 Procedural(C, 어셈블리어)이나 Functional(LISP,Scheme,Haskel), OOP(Java,Smalltalk) 언어 등으로 직접 구현해 보는 겁니다. 이 다음에는 다른 사람(책)의 코드와 비교를 합니다. 이 경험을 애초에 박탈 당한 사람은 귀중한 배움과 깨달음의 기회를 잃은 셈입니다. 참고로 알고리즘 교재로는 10년에 한 번 나올까 말까한 CLR(''Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest'')을 적극 추천합니다(이와 함께 혹은 이전에 Jon Bentley의 ''Programming Pearls''도 강력 추천합니다. 전세계의 짱짱한 프로그래머/전산학자들이 함께 꼽은 "위대한 책" 리스트에서 몇 손가락 안에 드는 책입니다. 아마 우리 학교 도서관에 있을 것인데, 아직 이 책을 본 적 없는 사람은 축하드립니다. 아마 몇 주 간은 감동 속에 하루하루를 보내게 될 겁니다.). 만약 함께 스터디를 한다면, 각자 동일한 아이디어를 (같은 언어로 혹은 다른 언어로) 어떻게 다르게 표현했는지를 서로 비교해 보면 또 배우는 것이 매우 많습니다. 우리가 자료구조나 알고리즘을 공부하는 이유는, 특정 "실세계의 문제"를 어떠한 "수학적 아이디어"로 매핑을 시켜서 해결하는 것이 가능하고 또 효율적이고, 또 이를 컴퓨터에 어떻게 구현하는 것이 가능하고 효율적인지를 따지기 위해서이며, 이 과정에 있어 수학적 개념을 프로그래밍 언어로 표현해 내는 것은 아주 중요한 능력이 됩니다. 개별 알고리즘의 카탈로그를 이해, 암기하며 익히는 것도 중요하지만 더 중요한 것은 알고리즘을 생각해 낼 수 있는 능력과 이 알고리즘의 효율을 비교할 수 있는 능력, 그리고 이를 표현할 수 있는 능력입니다.
- KAIST전산대학원면접/06전기 . . . . 5 matches
"X^nY^nZ^n 이 촘스키 4언어중에서 어떤언어야?"
강죠하셨고, 거기에 가장 적합한 언어로써의 객체지향언어의
중요성을 강조하셨습니다. 즉 객체지향언어의 상속, 캡슐, 다형성을
- PNA2011/서지혜 . . . . 5 matches
* 대안언어 축제 공유 [정모/2011.3.14]
== 대안언어 소개 ==
* Erlang은 함수형 언어. 분산처리 능력이 뛰어나다. 리스트의 재귀처리가 용이하다
* 9 NINES를 가진 전설적인 언어?
* 대안언어 축제에 대한 회고가 하나뿐이었다. 조금 아쉬웠음
- ProgrammingLanguageClass/Exam2002_1 . . . . 5 matches
* 대부분 우리가 쓰는 언어는 imperative language 이다. 왜 그럴까?
* FORTRAN, PL/1, BASIC, Perl 이 언어들의 변수 선언시의 공통점은?
* Perl 은 변수에 대해서 위의 언어들과 다른 점이 있다. 어떤 점인가?
공부할때 각 요소들에 대한 비교 할때마다 Ada 를 빼놓지 않기에 (늘 책에서의 비교언어는 C/C++, Pascal, Ada, Java 이다) 주로 언급된 언어들만 공부했건만, 왜 뜬금없이 PL/1 을 내신걸까; 그밖에 다른 문제들은 평이해서 그다지 별 감흥(?)없었고, 마지막 문제가 괜찮았던듯.
- PythonIDE . . . . 5 matches
파이선은 나온지 상당히 오래된 언어이며, 대안언어중에서 사용자가 가장 많은 상당히 비중이 높은 언어이다. 비록 어처구니 없는 상황하에서 발생하는 에러가 무시하지 못할 수준이기는 하지만 언어의 특징인 최대의 간격함과 빠른 개발을 위한 다양한 특징이 언어자체에 내포되어있다.
- ZP도서관 . . . . 5 matches
|| 어셈블리 언어(가장 좋은 어셈책) || IRVINE || 교보문고 || 정직 || 한서||
|| C언어 프로그래밍(원서명: The C Programming Language) || Brian W.Kernighan, Dennis M.Ritchie || Prentice-Hall || 도서관 소장(대영사 번역판본) || 프로그래밍언어 ||
|| The Art of Assembly 2nd Edition || Randall Hyde || Not printed yet || http://webster.cs.ucr.edu/ || 프로그래밍언어 ||
|| Quick Python Book || Daryl Harms, Kenneth McDonald || Manning || 도서관 소장 || 프로그래밍언어 ||
- ZeroPage_200_OK/note . . . . 5 matches
=== Prototype 기반 언어 ===
* prototype언어?
=== 함수형 언어 ===
* 함수를 일급객체로 다루는 언어
* 함수를 마치 일반적인 인스턴스처럼 다루는 언어
- 데블스캠프2012/넷째날/후기 . . . . 5 matches
* [서민관] - 현재 이런저런 사정으로 Unity 엔진을 공부하고 있는데 그쪽에서 C#을 스크립트 언어로 쓰는 바람에 최근에 C#을 좀 공부하게 되었습니다. 그래서 그런지 뭔가 반가운 느낌이 있네요. 근데 원래는 지원 선배가 1학년 대상으로 기획한 시간이었는데, 개인적인 생각으로는 자바와는 또 다른 C#만의 이런저런 특이한 점들이나 강력한 기능들을 보여주거나 했으면 그것도 또 좋았을 것 같은 느낌이 듭니다. 약간이나마 공부한 지금 보면 어쨌든 C#이 그렇게 나쁜 언어는 아니라고 생각하는데 말이죠.
* [안혁준] - C#은 학과 과정중 다룰일이 그닥 많이 없는 언어라 C#을 배우는 계기가 되었다는 점에서 좋은것 같습니다. 어렵지 않은 예제들로 잘 풀어주신것 같아요.
* [서민관] - 이번 데블스캠프에 fundamental한 내용이 적다고 형진 선배가 얘기를 하셨는데 이번 시간이 그런 fundamental한 부분에 대한 요구를 좀 충족시켜준 시간이 아닌가 싶습니다. 다만 개인적으로 아쉬운 점은 1학년들이 C 언어 사용에 그렇게까지 익숙하지 않은지 파일 입출력 함수들의 사용이 그렇게 익숙하지 않았다는 점이었습니다. 분명 익혀두면 2학기에 도움이 될 기술이라고 생각하는 만큼 좀 아쉽긴 하네요. 그래도 아마 2학기 되면 인터넷에서 찾아가면서 하겠지만.
*[안혁준] - 파일 입출력은 사실 이렇게 하는 경우는 이제는 거희 없지만, 알아두는게 좋은 내용이었습니다. 나중에 다른 언어들의 파일 입출력을 이해하는데 큰도움이 되거든요. 리틀 엔디안과 빅 엔디안의 차이라던가 사용문법의 차이같은것이 있지만 사실 모두 C의 출력을 예쁘게 만들어논거에 지나지 않으니까요. 새내기 분들은 함수를 다외우지는 못하더라도 "아! 파일 입출력은 어떤어떤 방식이 있구나"정도는 숙지하는게 좋을 껍니다. 어찌보면 어려운 내용을 잘 이끌어갔다고 봅니다.
- 데블스캠프2013/셋째날/후기 . . . . 5 matches
= 서민관 / HTTP 프로토콜, C언어를 이용한 웹 서버 만들기 =
* 소켓이라는 개념을 처음 들었는데도 굉장히 잘 설명해주신 덕분에 충분히 이해했고, 친숙한 언어로 짜다보니 더욱 인상깊었습니다! - [원준연]
* 역시 명불허전 머신러닝! C언어 입출력에서 이렇게 나를 괴롭힐줄이야.. 코딩하면 코딩할수록 '내가 지금 펜을 잡고 생각을 정리해야하는데, 왜 타자기만 잡고 있는 것인가'라는 생각을 하게 되었습니다. 페어 프로그래밍이어서 더 떨렸습니다... 멍청한거 들킴; 제출된 코드 중 파이썬 코드가 있었는데 참 맘에 들더군요. 로직에만 집중할 수 있도록 해주는 언어! 파이썬! - [박성현]
* 맨붕...c++을 주력언어로 삼아야하는 입장에서 파일입출력도 기억이 안나고 자바 문법이랑도 햇갈려버리는 상황을 당해서 "아 c++님... 이러시면 안됩니다.. 내 머리에서 떠나시면 안되요,."라는 생각밖에 안들어서 혼란속에서 코딩을 한 기억이 남는 세션이였습니다. 흑... 그래도 이렇게 어느정도 많은 데이터를 가지고 놀 기회가 있었으면 좋겠네.. 하는 생각만 하고 있던차에서 이런 기회를 얻게 되서 의의가 있었던 세션이었습니다. - [김윤환]
- 만세삼창VS디아더스1차전 . . . . 5 matches
니머리는 무슨 언어로 이해하뉘?
바보 언어 에 있든 없든 먼상관이냐. 혹시 니 언 는 사용자 정의 타입이 없는거 아니냐 후진 것 같으니라고
언어가 이상하군
울트라한 언어지
흠.. MSN에서 있었던 영창이와 인수의 신경전 - 일종의 언어유희 - 을 공개한다. 일단 1차전은 비긴 걸로 끝났다. 추후 다른 팀원들이 알아서 싸울 거라 믿어 의심치 않는다.
- 서지혜 . . . . 5 matches
* 대안언어 축제 공유
* [튜터링/2011/어셈블리언어]
* 컴퓨터 시스템 및 어셈블리 언어 튜터링
* [튜터링/2011/어셈블리언어]
* 계산기니까 역시 함수형 언어를 쓰면 좋겠네!
- 지도분류 . . . . 5 matches
=== 프로그래밍 언어 ===
||["Java"]|| Sun사에서 태어나고, 여러 업체들에 의하여 발전하는 프로그래밍 언어이자 플렛폼 ||
||["Python"]|| 객체지향 스크립트 언어 ||
||["Jython"]|| ["Java"] 플렛폼에서 구현된 ["Python"] 언어 ||
||["Scheme"]|| MIT에서 가르치는, 함수형 프로그래밍 언어이다 ||
- 튜터링/2011/어셈블리언어 . . . . 5 matches
= 시스템 프로그램 및 어셈블리언어 튜터링 =
* 11주차 : 정수 산술, 어셈블리언어의 정수&상수 계산
* 14주차 : 고급언어 인터페이스
* 언어 입문의 첫단계
* 상위 언어 인터페이스
- Android/WallpaperChanger . . . . 4 matches
일반적으로, 빠르거나 효율적인 코드라는 것은 메모리 할당을 최소화 하고, 꽉 짜인 코드를 작성하고, 특정 프로그래밍 언어나 잠재적으로 성능상 문제가 될만한 프로그래밍 어법들을 피하는 것을 말합니다. 객체지향 용어로 말하자면, 이러한 일이 가장 빈번히 일어나는 곳은 메소드 레벨이며, 이와 비슷하게 실제 코드 라인들과 반복문 등에서 발생합니다 .
C++와 같은 네이티브 언어에서 필드에 직접적으로 접근하는 것 (예. i = mCount) 보다 getter를 사용하는 것 (i = getCount())은 일반적인 관습입니다. 이 방법은 C++에서는 훌륭한 습관입니다. 왜냐하면 항상 접근을 inline화 할 수 있는 컴파일러를 사용하고 있고, 필드에 접근을 제한하거나 디버그 해야 한다면 언제나 코드를 추가할 수 있기 때문입니다.
two() 는 자바 언어의 1.5버전에서 소개된 향상된 반복문 구문을 사용합니다. 컴파일러에 의해 생성된 코드는 배열 참조와 배열의 길이를 지역 변수로 복사해주어, 배열의 모든 원소를 탐색하는데 좋은 선택이 될 수 있습니다. 주 루프 내에 추가적인 지역 읽기/저장이 만들어지고(명백하게 "a"에 저장), one()보다 쪼금 느리고 4 바이트 길어지게 하긴 합니다.
내부 클래스 코드는 외부 클래스에 있는 "mValue" 필드에 접근하거나 "doStuff" 메소드를 부르기 위해 이 정적 메소드를 부릅니다. 이것은 이 코드가 결국은 직접적인 방법 대신 접근자 메소드를 통해 멤버 필드에 접근하고 있다는 것을 뜻합니다. 이전에 우리는 어째서 접근자가 직접적인 필드 접근보다 느린지에 대해 이야기 했었는데, 이 문제로서 "보이지 않는" 성능 타격 측면에서 특정 언어의 어법이 야기하게 되는 문제에 대한 예제가 될 수 있겠습니다.
- C++ . . . . 4 matches
C++은 범용성을 가진 컴퓨터 언어이다. 이는 정적으로 분류된(?) 다중 패라다임을 지원하는 언어이다. ( [:절차적프로그래밍 절차적 프로그래밍], [:GenericProgramming 제네릭 프로그래밍]을 지원한다.) 1990년대에 C++은 가장 상업적으로 인기가 있는 언어중의 하나가 되었다.
벨 연구소의 [http://www.research.att.com/~bs/homepage.html Bjarne Stroustrup]은 1980년대에 당시의 [C]를 개선해 C++을 개발하였다. (본디 C with Classes라고 명명했다고 한다.) 개선된 부분은 클래스의 지원으로 시작된다. (수많은 특징들 중에서 [가상함수], [:연산자오버로딩 연산자 오버로딩], [:다중상속 다중 상속], [템플릿], [예외처리]의 개념을 지원하는) C++ 표준은 1998년에 ISO/IEC 14882:1998로 재정되었다. 그 표준안의 최신판은 현재 ISO/IEC 14882:2003로서 2003년도 버전이다. 새 버전의 표준안(비공식 명칭 [C++0x])이 현재 개발중이다. [C]와 C++에서 ++이라는 표현은 특정 변수에 1의 값을 증가시키는 것이다. (incrementing이라 함). C++이라는 명칭을 이와 동일한 의미를 갖는데, [C]라는 언어에 증가적인 발전이 있음을 암시하는 것이다.
- CNight2011/고한종 . . . . 4 matches
이게 11학년도 수능 언어영역에 출제되었다니
하지만 난 맞았겠지 언어에서 비문학은 하나도 안 틀렸었으니!
C언어에 ->이런 연산자가 있다는건 알아냄.. 뭔가 상당히 직관적임.
C언어에서 int a[ 2]={1,2} 선언후 printf("%d",a[2]); 같은 경우도 허용하므로 언제 터지는지 알 수가 없었다..
- C언어정복/3월30일 . . . . 4 matches
1. C언어의 탄생과 장단점
2. 컴퓨터 언어와 컴파일러 (인터프리터도 같이)
3. C언어의 표준화
[C언어정복]
- HelpOnUserPreferences . . . . 4 matches
* '''[[GetText(Preferred language)]]''': 기본 언어 바꾸기 ( <!> 모니위키에서 미지원) 기본 값은 브라우져 세팅에서 가져오며, 이 설정을 바꾸면 위키위키의 여러 메시지가 언어 설정에 맞게 보여집니다. 이 설정을 바꾸면 메일로 날아오는 알림 메일의 언어도 언어설정에 맞게끔 날아오게 됩니다.
- IDL . . . . 4 matches
[CORBA] 의 경우 분산된 네트워크상에 따로 위치한 객체 간의 투명한 접근을 제공하는 서로 간의 약속이 필요하다. 이런 약속을 정의할 때 특정 언어([C], [C++], [Java] 등)에 의존하지 않는 인터페이스 정의 언어가 필요하게 되었는데, 그것이 바로 IDL(Interface Definition Language)이다. 서버와 클라이언트가 서로 통신을 하기 위해서 서버는 클라이언트에게 제공하는 서비스 인터페이스를 IDL 로 정의하게 되며, 클라이언트는 이런 인터페이스 정보를 활용하여 서비스를 활용하게 되는 것이다. CORBA 프로그램을 개발하기 위해서는 가장 먼저 IDL 을 정의해야 하는데, IDL 은 구현에 대한 정보는 포함하고 있지 않아 정의된 IDL 을 원하는 언어로
물론, 인터페이스를 정의하는 방법이 IDL 만 있는 것은 아니다. [Visibroker] 의 경우 [Caffeine] 이라는 것을 이용하면 IDL 을 사용하지 않아도 되며, Java 의 RMI 나 RMI-IIOP 를 이용해면 IDL 을 몰라도 인터페이스를 정의할 수 있다. 하지만, IDL 은 OMG에서 규정하고 있는 인터페이스 정의 언어의 표준이고 개발자가 익히기에 어렵지 않은 만큼 CORBA 프로그램을 할 때는 꼭 IDL 을 사용하도록 하자.
- JavaStudy2003/첫번째과제 . . . . 4 matches
* 언어를 배우는데 있어서 그 언어가 가지는 특징을 알아야 공부를 할 마음이 생기겠죠? 첫번째 과제는 대부분 자바라는 언어의 특징을 알아오는 것입니다.
* 자바라는 언어의 특징을 알아보시기 바랍니다.
- NotToolsButConcepts . . . . 4 matches
- ''이 언어 보고 난 다음에는 무얼 보아야 좋을까요?''
지금 이 순간에 후배들이 같은 질문을 한다면 NotToolsButConcepts 라는 대답을 해주고 싶다(단, 언어도 하나의 툴이라고 가정할 경우). 1, 2년 후배를 받을 때까지는 잘 몰랐지만, [데블스캠프]나 새내기가 참가하는 세미나를 찾아갈 때마다 매번 들리는 소리였다.
SICP를 책을 보면 예제 코드가 SchemeLanguage로 나온다. SchemeLanguage에 대해서는 잘 모르지만, 이 언어를 사용하면 개념 전달을 쉽게 할수 있어서인듯 싶다. 툴이야 몇번 쓰면 자동적으로 익혀지게 되지만(더군다나 요즈음에 나오는 툴들은 더하다) 하나의 개념, 패러다임을 자기 것으로 만드는 데에는 얼마나 오랜 시간이 걸리는가. (ToyProblems 때도, 간단한 문제를 가지고 여러 가지 방법으로 접근하였던 기억이 난다). 밥을 짓는 법을 안다면, 가스불로 만들던, 전기밥솥에 하던 상관이 없다.
NeoCoin 은 이렇게만 생각했지만, 2년 전 즈음에 생각을 바꾸었다. 구지 영어로 비슷하게 표현하면 UseToolAndLearnConcepts 이랄까? 돌이켜 보면 이런 상황을 더 많이 접하였다. 언어를 떠나 같은 시기 동안에 같은 일에 대하여, 같은 도구를 사용하는데, 한달뒤의 사용 정도와 이해도가 다른 사람들을 자주 보게 된다. 도구의 사용 능력 차이가 재미와 맞물려서 도메인의 사용 폭의 이해도 역시 비슷하게 따라오는 모습을 느낄수 있었다. 멋진 도구에 감탄하고, 사용하려는 노력 반대로 멋지지 않은 도구에서 멋진 면을 찾아내고 사용하려는 노력 이둘은 근본적인 Concept을 배우는 것과 멀리 떨어진것은 아닌것 같다.
- OpenGL스터디 . . . . 4 matches
컴퓨터는 기계어라는 언어라는 이진적인 표현(이진법적인 표현)을 사용한다. 한마디로 1011001과 같은 표현을 예시로 들 수 있는데, 이 때문에 연속적인 표현을 실질적으로 표현
* 들어가기전에 openGL은 프로그래밍 언어가 아닌 ''그래픽 하드웨어 제어를 위한 소프트웨어 인터페이스''이다. 그리고 높은 이식성을 지닌 그래픽&모델링 라이브러리이다. 다시말해, OpenGL은 언어가 아닌 API이다.
|| <openGL데이터 타입> || <설명> || <대응 c언어 데이터 타입> || <변수 접두어 규칙> ||
- PracticeNewProgrammingLanguage . . . . 4 matches
새로운 프로그래밍 언어를 배울때 작성하면 도움이 될문한 문제를 제시하는 페이지.
문제의 난이도, 흥미도를 중시한 문제제시가 아닌 언어가 제공하는 폭넓은 기능을
즉!!! 이것만 해보면 이 언어로 프로젝트를 진행할 만하다 싶을 정도의 레벨을 만들기위한 프로그램 작성.
7. 2인 오목 작성 : 언어의 기능을 최대한 이용한 오목을 작성한다. (텍스트, 그래픽 무관)
- ProgrammingLanguageClass/2006/EndTermExamination . . . . 4 matches
02, 05 년에 언어 디자인시 고려해야할 점에 대한 문제가 출제되어서 그쪽으로 공부를 많이 했지만 나오지 않았다는 점에서 의외였음. 디자인 이슈를 공부할 생각이라면 Pointer, Array, Abstraction, Subprogram 의 디자인 이슈에 대해서 공부하는 것이 좋을 듯함.
a) c언어에서, switch문의 조건 넣는 부분에 모든 ordinal type이 들어갈 수 있는가?
c) C언어가 독립 컴파일을 지원하는지 유무.
b) 언어 개발자들이 Static-Chain 에 비해서 display 기법을 채택하게 되는 이유를 제시하시오.
- PythonForStatement . . . . 4 matches
여기까지 알아 보시려면, Python Language Reference에서 sequence, for statement로 열심히 찾아 보시면 됩니다. 열혈강의 파이썬에도 잘 나와있습니다. 그리고 다음의 이야기들은 다른 언어를 좀 아시면 이해가실 겁니다.
C / Java 1.4 이하버전 의 for 제어문은 객체의 특성을 따라 동작하지 않습니다. 이 언어들에서 for문은 정해진 조건문을 검사하면서, 탈출합니다. 즉, while문을 사람이 읽기 쉽게 약간 고차원으로 추상화된 형태에 불과합니다.
Java 1.5 에 advanced for statement 라는 이름으로 비슷한 것이 추가되었고, C#에는 언어가 탄생 될때 부터 있었습니다. Java 1.5에서는 수년간 논의 끝에 도입을 했는데, 언어에 녹이기 위해서는 Autoboxing/Unboxing과 편리성을 위해 Template과 같은 여러 필수불가결하고 복잡다난(?)한 개념이 함께 추가되었습니다.
- SchemeLanguage . . . . 4 matches
MIT에서 가르치는 프로그래밍 언어로, 흔히 우리가 알고 있는 C/C++, Java 등과는 완전히 다른 개념의 함수형 언어이다.
* http://zeropage.org/pub/language/scheme/intro.txt - Scheme 이라는 언어가 무엇인지 소개하고있는 자료
[언어분류]
- SmallTalk/강좌FromHitel/강의2 . . . . 4 matches
1.1. 프로그램과 프로그래밍 언어
수의 결과가 산출되었습니다. 대단하지 않습니까? 아마 C++나 Java 언어에서
다음 명령은 이미 프로그래밍 언어를 접해본 사람들에게 의미가 있을지도 모
밍 언어를 공부해 본 사람이라면 여기서 <Debug> 단추를 누름으로써
- ZeroPageHistory . . . . 4 matches
||2학기 ||7피 점거의 시작. 제 1회 대안언어축제 자봉단 참가. ACM 예선 통과(본선 18위) ||
||2학기 ||제 2회 대안언어축제 자봉단 참가. ACM 예선 통과(본선 11위) 동상 입상, 한양대 학술동아리 자람과 학회교류 행사 ||
||2학기 ||대안언어축제 참가, 공개 소프트웨어 개발자대회 참가, ZeroPage 책장 부활 ||
* 스크립트 언어의 날 취소
- ZeroPage성년식/거의모든ZP의역사 . . . . 4 matches
||2학기 ||7피 점거의 시작. 제 1회 대안언어축제 자봉단 참가. ACM 예선 통과(본선 18위) ||
||2학기 ||제 2회 대안언어축제 자봉단 참가. ACM 예선 통과(본선 11위) 동상 입상, 한양대 학술동아리 자람과 학회교류 행사 ||
||2학기 ||대안언어축제 참가, 공개 소프트웨어 개발자대회 참가, ZeroPage 책장 부활 ||
* 스크립트 언어의 날 취소
- 데블스캠프2002/진행상황 . . . . 4 matches
꼭 생소하다의 문제를 떠나서, 전반적인 컴퓨터 동작원리 보다 구체적 용어들 (어떻게 보면, 이미 공부하여 알고 있는 사람들의 경우 일상어화 되어버린 언어들)이 먼저 나와버렸기 때문이다. 컴퓨터가 하드웨어와 소프트웨어로 구분되어지기 이전엔 어떠했는지, 그게 하드웨어와 소프트웨어로서 구분하는 방법으로서 폰 노이만 아키텍쳐가 나온 이야기라던지, 그러하기 때문에 PC 카운터가 필요하며 메모리로부터 명령어를 읽어온 뒤, CPU에서 명령을 해석하고 처리한다라던지 등등. 그러한 이야기가 나오기전에 어드레스/세그먼트/옵셋/디코딩 이 나와버렸기 때문에 어려운 세미나가 되어버렸다고 생각한다. 후에 상민이가 다시 동작원리부터 상대적으로 쉬운 용어로 설명을 해주면서 사람들의 반응을 유도한점에 대해서는 사람들이 한번 생각을 해볼 필요가 있다. 우리와 대화하는 사람은 어느정도의 지식수준을 가지고 있는가에 대해서. 정말 이해 안가는 부분에 대해서는 질문 자체를 만들어내기 힘들다. --석천
* 불필요한 스레드일지도 모르겠으나, 일단 완벽히 어셈쪽 이야기를 하는 것이 아니라, 단순히 C 언어같은 하이레벨 언어에서의 관점으로 얘기하는 것이라면, 포인터란 '가르키는 것' 이라는 추상적인 개념일 뿐입니다. 오히려 어설프게 메모리의 주소라는 개념을 알게 된다면 나중에 더욱 큰 혼돈을 불러일으킬 수 있습니다.. 저처럼요.. -["zennith"]
* 불필요한 스레드란 없으니 걱정말고. ^^; 개인적으로 C 와 어셈과의 포인터관계를 어디서 찾았냐면, 해당 주소값이란 것이 무엇인가에서 찾았다. (단, 내가 정직이나 남훈이보단 하드웨어 관련지식이 깊지 않다) '포인터 값을 화면에 찍었을 경우에 나오는 엄청나게 큰 숫자(윈도우의 경우 32비트) 의 의미는 무엇인가?' 라는 질문을 하게 되었고. 그 이후 메모리가 16메가바이트라는 건 메모리에 0번부터 16메가바이트-1 이라는 번호를 부여하고, 해당 번호에 값을 대입하는 것이라는 접근을 하게 되었지. (물론, 이것도 물리적 주소는 아니겠지. 결국 우리가 이용하는 주소란 OS 에 의해 한번 걸러진 논리적 주소겠지.) 추상화의 정도를 이야기하라는 건 꼭 해당 언어 기준으로 이야기하라는 게 아니라, 경험에 대한 연결고리(여기서는 'C에서 포인터 변수를 화면에 찍어보니 이상하게 큰 숫자가 나왔다' 정도)를 찾아보자라고 한다면 정말 이야기가 '추상적'이려나; --석천
- 새싹교실/2012/AClass/1회차 . . . . 4 matches
-컴파일 : 프로그래밍언어로 코딩한 것을 컴퓨터가 이해할 수 있는 기계어 코드로 변환하는 작업
- 함수형 프로그래밍은 프로그래밍의 주된 구조가 함수 호출에 기반을 둔 프로그래밍을 말한다. 기존 명령형 언어로 작성한 프로그램보다 간결하고 더 추상적이며 이해하기 쉽고 형식적인 분석과 조작이 용이하다는 특징이 있다.
- 고급언어로 작성된 프로그램을 기계어로 번역하는 것
? : 는 C언어의 유일한 삼항연산자이다. 피연산자가 세개가 필요한 연산자이다.
- 새싹교실/2012/startLine . . . . 4 matches
* 처음에 간단하게 재현, 성훈이의 함수에 대한 지식을 확인했다. 그 후에 swap 함수를 만들어 보고 실행시의 문제점에 대해서 이야기를 했다. 함수가 실제로 인자를 그대로 전달하지 않고 값을 복사한다는 것을 이야기 한 후에 포인터에 대한 이야기로 들어갔다. 개인적으로 새싹을 시작하기 전에 가장 고민했던 부분이 포인터를 어떤 타이밍에 넣는가였는데, 아무래도 call-by-value의 문제점에 대해서 이야기를 하면서 포인터를 꺼내는 것이 가장 효과적이지 않을까 싶다. 그 후에는 주로 그림을 통해서 프로그램 실행시 메모리 구조가 어떻게 되는지에 대해서 설명을 하고 포인터 변수를 통해 주소값을 넘기는 방법(call-by-reference)을 이야기했다. 그리고 malloc을 이용해서 메모리를 할당하는 것과 배열과 포인터의 관계에 대해서도 다루었다. 개인적인 느낌으로는 재현이는 약간 표현이 소극적인 것 같아서 정확히 어느 정도 내용을 이해했는지 알기가 어려운 느낌이 있다. 최대한 메모리 구조를 그림으로 알기 쉽게 표현했다고 생각하는데, 그래도 정확한 이해도를 알기 위해서는 연습문제 등이 필요하지 않을까 싶다. 성훈이는 C언어 자체 외에도 이런저런 부분에서 질문이 많았는데 아무래도 C언어 아래 부분쪽에 흥미가 좀 있는 것 같다. 그리고 아무래도 예제를 좀 더 구해야 하지 않을까 하는 생각이 든다. - [서민관]
점점 C언어가 function 위주의 프로그래밍이라는 걸 더 깊이 이해하게 된다.
* 전체적으로 문자열과 문자열을 다루는 함수만에 초점을 맞춰서 수업을 진행했습니다. 그런데 아무래도 첫 시간에 못지 않게 진행이 늘어졌던 시간이 아니었나 싶습니다. 사실 문자열 함수들은 단순 함수니만큼 인자들을 보고 쓰는 것에 익숙하다면 알아서도 보고 쓸 수준이긴 한데, 그래도 다들 그런 것을 찾아서 써 보거나 한 경험이 별로 없는 만큼 한 번쯤 그런 함수들을 찾아서 쓰는 시간을 가지는 것도 나쁘지 않지 않을까 싶었는데 생각보다 좀 진행이 늘어졌군요. 단순히 설명만 이어졌기 때문인가. 그래도 이번 시간에 굳이 문자열과 관련 함수를 다룬 것은 C언어에서 문자열을 단순한 char의 *가 아닌 하나의 타입으로 보고 그와 관련된 연산(함수)을 제공했다는 것을 한 번쯤 생각해봤으면 합니다. - [서민관]
- 새싹교실/2012/설명회 . . . . 4 matches
* 월드카페와 OST는 아마 최선의 선택이었던 것 같다. 작년의 새싹교실때보다 열기있는 모습이고 프로그래밍에 대한 경험은 아니지만 언어를 ''맛보고'' 온 신입생들이 전보다 더 많아서 놀람. 다만 이 '''선행학습'''이 독이될지 약이될지는 개인의 바탕에 달려있을 것이다. 슈퍼 슈퍼 프로그래머로서의 자질이 없는 보통은 자신의 선지식에 안주하게 될 가능성이 높아보인다(잘난척 하는 몇몇이 있었음).
* 다른 언어를 가르치는 반은없나? C는 문법에 너무 신경이 쏠리자나.. 얼랭 공부할 사람 없나요? - [서지혜]
* 스크립트 언어도 괜찮지만 함수형 언어가 프로그래머적 기반을 다지는데 더 좋을지도.. 내가얼랭하고싶어서그런건아니고 - [서지혜]
- 세벌식 . . . . 4 matches
원래 한글은 초성, 중성, 종성을 갖는 3성구조로 이루어져있다(중국어는 4성, 베트남에는 6성언어인데 이것이 글자에도 반영되는지는 모르겠다). 우리가 보통 쓰는 키보드의 한글자판배열은 두벌식이고 이것이 지금의 국가표준이다. 두벌이라 함은 왼쪽에 자음, 오른쪽으로 모음. 이렇게 두개의 벌로 구성되었다는 것을 의미한다. 이는 한글의 구조에 역행하는 자판배열이다. 앞서 설명한 한글의 3성구조가 그 이유이다.
* [임인택]의 경우 어떤 치과에서 키보드 키캡에 붙이는 스티커를 나눠주는 페이지를 보면서 처음 세벌식을 접하게 되었다. 그때가 2005 년 2월경이었는데 처음에는 무척 힘들었지만 6개월정도 지나니 익숙해졌다. 세벌로 전환하기 이전인지 이후인지 기억은 잘 나지 않는데, 스펀지라는 프로그램에서 공병우 박사님을 추모하면서 세벌식과 관련된 지식을 알아본 적이 있었다. 카이스트인지 포항공대인지에 다니는 한 학생이 실험을 했는데, 두벌, 세벌 모두 엄청난 속도로 타이핑하는 장면을 봤다. 충격이었다. 어떻게 각각을 저렇게 빨리 칠 수 있는지. 나도 예전에 타이핑이라면 한가닥 했었는데 10년이상 쓰던 두벌을 버리고 세벌로 전환한 이후 두벌속도가 급격하게 줄었다. 처음 세벌로 바꿨을때 세벌보다 두벌을 약 20배 정도 빨리 칠수 있었는데, 지금은 오히려 두벌이 더 느리다. 이걸 가지고 생각해 볼 수 있는 문제는 사고의 전환이다. 스펀지에 나왔던 학생은 두벌로 타자할때 두벌식으로 사고하고, 세벌로 타자할때 세벌식으로 사고했을 것이다. 조금 생각해보면 이는 우리가 공부하는데 빗대어 설명할 수 있을 것이다. 가령 함수형 언어를 쓸때는 함수형 언어의 패러다임으로만 생각하고, 객체지향 언어를 쓸때는 객체지향 패러다임만을 생각한다던지 하는 것이다. 지금 생각하건데, 그 학생은 두벌/세벌 타자에 있어서 구루인것 같다. 나도 두벌/세벌을 모두 쓰지만 두벌식을 쓸때 세벌식으로 생각하고 키를 누른다던지, 세벌식을 쓸때 두벌식으로 생각하고 키를 누르는 경우가 많다. 프로그래밍을 할때도 마찬지. 내가 배제하려고 하는것을 완전히 배제하지 못한다.
- 정모/2004.5.21 . . . . 4 matches
* C++ 언어
* 파이선 언어
- 모바일 기반 언어
- 여러가지 언어체험
- 정모/2011.4.4 . . . . 4 matches
* (이걸 말하려다 시간상으로 말 못했었던거 같은데 -_-) 송지원 학우의 튜터링과 강성현 학우의 튜터링을 듣는 사람으로서 한마디 하자면, 송지원 학우의 자구 튜터링에 비해서 (C언어를 배웠기 때문에) 기본적인 것들은 이해하기가 쉬운게 사실인데다, (이거는 수업 중에 이야기를 했던건데) 직접 자기가 어느 정도 해 보고 막히는 부분에서 튜터의 역할이 더 빛이 나는 것이고, 이 튜터링이라는 것도 하나의 스터디인데 그 스터디에서 아는 것을 (표현을 빌자면) 날로 먹듯이 하는 거 보다는 심화된 부분을 가르쳐 줌과 동시에 수업과 관련한 필수적으로 알아야 할 것들을 집어 주는 것이 좋을 것 같습니다. 뭐 송지원 학우의 자구 튜터링은 제가 따로 공부좀 해야겠는데 요즘 뭘 한건지 -_-;; 송지원 학우가 만들어 봐 이러면 좀 멍해져서 말이죠 -ㅅ-;;;;;;;;;; ([권순의])
* 도와줘요 ZeroPage에서 무언가 영감을 받았습니다. 다음 새싹 때 이를 활용하여 설명을 해야겠습니다. OMS를 보며 SE시간에 배웠던 waterfall, 애자일, TDD 등을 되집어보는 시간이 되어 좋았습니다. 그리고 팀플을 할 때 완벽하게 이뤄졌던 예로 창설을 들었었는데, 다시 생각해보니 아니라는 걸 깨달았어요. 한명은 새로운 방식으로 하는 걸 좋아해서 교수님이 언뜻 알려주신 C언어 비슷한 언어를 사용해 혼자 따로 하고, 한명은 놀고, 저랑 다른 팀원은 기존 방식인 그림 아이콘을 사용해서 작업했었습니다 ㄷㄷ 그리고, 기존 방식과 새로운 방식 중 잘 돌아가는 방식을 사용했던 기억이.. 완성도가 높았던 다른 교양 발표 팀플은 한 선배가 중심이 되서 PPT를 만들고, 나머지들은 자료와 사진을 모아서 드렸던 기억이.. 으으.. 제대로 된 팀플을 한 기억이 없네요 ㅠㅠ 코드레이스는 페어로 진행했는데, 자바는 이클립스가 없다고 해서, C언어를 선택했습니다. 도구에 의존하던 폐해가 이렇게..ㅠㅠ 진도가 느려서 망한줄 알았는데, 막판에 현이의 아이디어가 돋보였어요. 메인함수는 급할 때 모든 것을 포용해주나 봅니다 ㄷㄷㄷ 제가 잘 몰라서 파트너가 고생이 많았습니다. 미안ㅠㅠ [http://en.wikipedia.org/wiki/Professor_Layton 레이튼 교수]가 실제로 게임으로 있었군요!! 철자를 다 틀렸네, R이 아니었어 ㅠㅠ- [강소현]
- 정모/2012.5.14 . . . . 4 matches
* 함수형 언어 스터디 제안
* SICP 책으로 스터디 혼자 시작할 생각입니다. 공부할 언어는 아마도 scheme이 될 것이고 할 사람은 오든지 말든지 흥. 공부하고 싶은 다른 언어가 있다면 모여서 자기 공부를 하는 것도 좋겠네요. 요즘 스터디를 하기가 조금 빠듯한 상황이라 모여서 각자 공부하고 회고겸 알게된 것 10분안에 가르쳐주기 정도(적게도 많게도 아니고)...? - [서지혜]
* 조금 늦어서 중간부터 들었지만 OMS 재미있게 들었습니다. 키보드 할 때 들어와서 키보드에 대한 이야기인가 했더니 한글에 대한 발표였네요. 사실 저는 Windows를 항상 주로 사용해왔기 때문에 한글 사용 관련하여 크게 불편함을 느낀 적은 없었는데 이번 OMS를 들으며 다양한 언어를 지원하기 위해 고려해야하는 점에 대해 생각해보게 됐습니다. PC실 관리는 사용하는 사람들이 불편할 때 학회실로 오게 하는 것이 좋다고 생각합니다. 그게 관리하는 쪽에서도, PC실 이용하는 쪽에서도 편한 방법이죠. - [김수경]
- 최소정수의합 . . . . 4 matches
- 이거.. 꼭 이 조건을 만족해야만 하는건지.. 루프를 사용하면 꼭 while 이나 do .. while 을..? for 는 안되고요..? 그럼 for loop 가 없는 언어로는.. 못푸는건가.. -_-. 글고 루프를 쓰지 않으면 안되는건가요..? ^^; - [아무개]
- 괜찮습니다. 사용하는 언어에서 만족될 함수 등등..을 써서 알아서 프로그래밍 하시면 됩니다. 하지만 처리조건을 만족할 수 있는 언어는 그렇게 프로그래밍 해주시길 바랍니다.
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 행사 . . . . 4 matches
=== 대안언어축제 ===
1. 대안언어축제 1회 (2005) 자봉단 & 참가자
2. 대안언어축제 2회 (2006) 자봉단 & 참가자
[http://altlang.org 대안언어축제]
- 02_C++세미나 . . . . 3 matches
그렇다면 대체 왜 이다지도 복잡한 포인터를 쓰는가? 내가 알기로는 포인터는 C 와 C++ 언어에서만 존재하는 기능이다. 동시에 사람들이 C 와 C++ 를 어려워하는 이유이기도 하다. 왜 사람들은 C 에만 있는 기능인 포인터를 어려워 하는가. 그건 포인터를 써야만 하는 어떤 '이유' 가 있는게 아닐까? 재미있게도, 사람들이 C 언어를 좋아하는 이유가 '포인터의 강력함' 때문인 경우가 많다.
여러가지로 말이 많았는데 이쯤에서 포인터의 쓰임에 대해 간략하게나마 설명하겠다. 포인터의 이론적인 정의는 무엇인가. 바로 '메모리의 주소를 가지고있는 변수'란 것이다. 그건, 동시에 포인터를 이용하면 그 해당하는 메모리로의 직접적인 접근과 제어가 가능하다는 뜻이다. 그렇다면 포인터의 역활은 메모리로의 직접적인 억세스가 되는것이고, 여기에 포인터의 연산을 통해 거의 어셈블리언어에 가까운정도의 저수준 메모리 제어를 가능케 한다. 바로 그것이 포인터의 존재이유이며 쓰임이다. 이런 이론적인 포인터의 쓰임 말고, 직접적인 강함의 체험을 원한다면, 여러분이 직접 사용해볼것을 권한다.
- 2012년독서모임 . . . . 3 matches
* 인류가 다른 생명체와 다른 점은 표현할 수 있는 언어가 있어서이다 라는 말은 많이들 들어보았을 것입니다. 그래서 인류가 발명한 발명 중 가장 위대한 발명으로 언어를 선택했는데.. 책이 정말 학술적인 내용이네요.. 사실 지루해서 힘들었습니다. 영어에서의 불규칙 과거형 단어들이랄지.. 인간의 사고가 언어에 투영되는 것 등이 나왔는데.. 그냥 그러려니 하는 내용들.. 관심이 없으니 힘드네요a - [권순의]
- AdvancedJS . . . . 3 matches
* 여름방학동안 JavaScript 스터디를 하는데 문법 익히고 사용하는 건 혼자 공부하기 쉽지만 이런 내용은 혼자 알기 어려웠을 것 같다. 익숙한 다른 언어들이랑 다른 면이 많아서 흥미가 간다. - [김수경]
* 혼자공부하는 것보다 세미나를 통해 더 효율적으로 공부할 수 있던것같다. 다른 언어와 달리 자유로워서 프로토타입 이해가 힘들었지만 책을 보며 다시 공부해보면 이해가 더 잘 될것같다 - [서지혜]
* 개인적으로 자바스크립트에 관심도 있고 해서 세미나를 들으러 왔다. 근데 가끔 웹페이지에서 자바스크립트 소스를 보면 C++이랑 비슷하게 쓰길래 그냥 비슷한 언어인가 싶었는데, 이번에 들어보면서 오히려 다른 점이 크게 부각된 느낌이다. C++이랑 비교해서 상속 방식도 다르고(프로토타입 상속) this의 개념도 좀 다르고 함수가 객체로 취급되고 등등. 물론 나중에 따로 책을 보면서 공부를 하긴 하겠지만 아마 이번에 배운 내용은 책에서 쉽게 찾아볼 수 없지 않을까 싶다. - [서민관]
- C/Assembly . . . . 3 matches
이 페이지는 C언어의 함수들을 Assembly 어로 번역해 두는 곳이자,
C언어의 특징들을 살펴보고자 함이다.
(C언어의 특징이라고 하였지만, 번역하는 컴파일러의 특징이라고 해야 옳다.)
- CNight2011 . . . . 3 matches
* C언어의 포인터, 구조체에 대해서 다시 잘 정리했던 기회였습니다. 밤을 새면서 정신은 제 곁을 떠났지만 C언어 문법에 대해서 잘 알게되었습니다. 11학번이 얻어가는 것이 있는지 궁금하네요. - [윤종하]
* 12시 30분쯤, 도중에 참여했습니다. 피곤피곤.. 뭔가 C언어와 관련된 활동을 했었어야했는데. 백트래킹, DP를 설명만 하고 구현을 안했네요-_-; 다음에 기회가 된다면 재귀함수를 실제로 응용하는 방법에 대해 알아볼 시간이 있으면 좋겠네용 - [정진경]
- CodeYourself . . . . 3 matches
요즈음, 신입생들이 숙제때문에 고민을 많이 하는 것으로 알고있다. 프로그래밍, 조금 더 구체적으로 말하자면 C언어, 에 대해서 전혀 모르는 상태에서 일기를 프로그래밍 형식으로 써 보라니. 신입생의 입장에서는 어이가 없겠지만, 나의 생각은 조금 다르다. 오히려 이러한 과제를 내 주신 교수님이 어떤 분인지 궁금할 정도로 흥미있고 유익한 과제라고 생각한다.
모두 같지는 않겠지만 전산학과에 입학한 신입생들이 언어를 배우는 단계를 보자면, ''처음엔 뭘 배우고 그다음엔 뭘 배우고 그다음엔 OS, SE'' 등등등, 정해진 순서와 틀 안에서 전산학의 이모저모를 접하게 된다. 이렇게 짜여진 순서에서 그리고 판에 박힌 수업안에 있다보면 자연히 그 안에 있는 학생들도 경직되어 있을 수 밖에 없다(다행이 중앙대학교 컴퓨터공학과에는 ZeroPage가 있다). 이렇게 느끼고 있는 상황에서 이 과제는 나에게 신선한 충격을 주었다. 신입생들은 전혀 감을 잡지 못하고 이것을 어떻게 해야 할지 선배들에게 많은 조언을 구하곤 했지만(자문요청을 받은 대부분의 선배는 ''이러이러한 방식으로 해라'' 라고 하면서 거의 C 문법에 가깝게 일기를 작성했다), 나는 이번 과제만큼은 선배들의 도움을 얻지 말고 자기 '''스스로''' 결과물을 만들었으면 하는 바램을 갖고 있다. 이번에 작성했던 자신의 프로그램 (그렇다. 일기가 아니고 프로그램이다)과 앞으로 자신이 배우게 될 프로그램을 비교해보았으면 좋을 것 같다. 그리고 순수하게 신입생의 사고로 만들어진 그 코드를 보고싶은 마음도 간절하다. - [임인택]
C언어로 일기를 쓰라는 숙제가 있었나요? 재미있네요. 그런데 이건 좀 어려운 과제 같습니다. 왜냐하면, 프로그래밍의 일상적 시간 흐름과 정반대가 되기 때문입니다. 무슨 말이냐면, 프로그래밍이라는 행위는 시간의 순방향입니다. 내가 작성한 프로그램은 미래에 일어날 사건(실행)에 대한 청사진이죠. 하지만 일기는 주로 시간의 역방향입니다. 과거에 일어났던 일들을 정리, 기록하는 성격이 강하죠. 프로그램으로 과거의 일을 기록한다는 것은 어찌보면 쉽지만 또 어찌보면 매우 어려운 문제일수도 있습니다. 신입생 입장에서는 시간의 흐름에 따라 일어났던 과거의 이벤트 연속을 적는 수준이면 될 것 같습니다. 아쉬운 것은, 이렇게 되면 조건 분기문을 활용하기가 어렵다는 점입니다. 힌트를 준다면, 리팩토링을 하면 가능합니다(내 하루의 중복을 어떻게 제거할지 생각해 보세요 -- higher-order function이 나올 정도면 상당히 진전된 것입니다). 어차피 과거의 기록 역시 "기술"(description)의 일종이고, 미래의 계획도 "기술"이니까요.
- DylanProgrammingLanguage . . . . 3 matches
* 보통 '약형 언어'를 dynamic languages 라고 하던데. 런타임에서 동적으로 타입을 처리하니까. 처음 들어봤는데, 97년에 태어난 언어네... --[이덕준]
[언어분류]
- EightQueenProblem . . . . 3 matches
이 문제를 프로그래밍을 해서 풀어보세요. 어느 언어를 사용하든 상관없습니다. 가장 자신있는 언어를 사용하세요. 그리고, 맞는 결과를 구했다면 다음 칸을 채워주세요. 비교적 간단한 문제이지만, 문제를 해결해 나가는 중에 자신의 실력과 사용하는 도구, 프로그래밍 과정, 디자인 방법 등에 대해 생각해 볼 기회가 될 것입니다. 모든 후배들에게 꼭 한번 시도해 볼 것을 권합니다. 이 경험에 대해 스스로 분석해 보고, 남들과 경험을 공유하고 차이를 살피고(AnalyzeMary), 또 토론하면서 '''아주 많은 것을 배우게 될 것입니다.''' 어쩌면 이제까지의 프로그래밍 경험에서보다 더 많은 것을 말이죠. 사실 이 실험의 진정한 가치는 문제 자체보다 이 문제가 가능케 하는 자기 관찰/반성과, 타인과의 논의에 있는 것인지도 모릅니다. --김창준
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
- GarbageCollection . . . . 3 matches
컴퓨터 환경에서 가비지 컬렉션은 자동화된 메모리 관리의 한가지 형태이다. 가비지 컬렉터는 애플리케이션이 다시는 접근하지 않는 객체가 사용한 메모르 공간을 회수하려고 한다. 가비지 컬렉션은 John McCarthy 가 1959년 Lisp 언어에서 수동적인 메모리 관리로 인한 문제를 해결하기 위해서 제안한 개념이다.
현재에는 기본적으로 Java, Dylan 과 같은 언어에서는 기본 명세로서 제공되는 기능이며, C++, C와 같이 수동적 메모리 할당으로 디자인되었지만 가비지 컬렉션 구현을 지원하는 언어들도 존재한다.
- HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/변준원 . . . . 3 matches
정보 은폐란 캡슐속에 쌓여진 항목에 대한 정보를 외부에 감추는 것을 의미한다. 즉, 처리하려는 데이타 구조와 함수에 사용된 알고리즘 들을 외부에서 직접 접근하지 못하도록 하고 캡슐 내부의 함수들만이 접근하게 된다. 객체지향에 관한 서적이나 논문에서 이 두가지 개념이 중요시 소개되는 것은 바로 객체라는 것이 캡슐화와 정보 은폐의 원리를 실제의 프로그래밍 언어에서 실현한 것이기때문이다.
이 Public Interface는 언어에 따라 표현 양식이 다른데, C++에서는 "public"이란 특별 구문을 두어 "public"란에 들어간 항목들만 외부에 공개된다. Effel이란 언어에서는 "export"라는 란에 지정된 항목들만 외부에 공개된다. 앞에서 정의한 POINT라는 객체 정의를 보면 move와 setcolor의 함수들이 외부에서 관찰될 수 있는 public interface임을 알 수 있다. 여기서 한가지 유의할 점은 move와 setcolor라는 함수들이 외부에 보여져 불리워질 수 있는 함수들이라는 것이며 각 함수가 가지고 있는 코드나 알고리즘까지 보여지는 것은 아니라는 것이다. 한 함수가 외부에 보여지는 부분을 signature라고 하며 하나의 signature는 함수의 이름, 입력 매개변수(input parameter)와 출력 매개변수(output parameter)로 구성되어 있다.
- HelloWorld . . . . 3 matches
'''Hello, World!''' 라는 문자열을 출력하는 프로그램은 대부분의 언어를 배우는 첫걸음이 되어준다.
누가 제일 처음 HelloWorld 를 만들었을까. 어떻게 모든 언어의 입문서에 빠지지 않는 예제가 된것일까.
== 언어별 Hello World 예제 ==
- HowToStudyDesignPatterns . . . . 3 matches
기본적으로는 제 교육철학과 언어교습론, 그리고 공부론에서 크게 벗어나지 않으므로 저번 영어(및 기타) 강의를 들으셨던 분들에겐 익숙한 이야기가 많을 겁니다.
''최소한 언어 교육에 있어서는 피교육자의 "기쁨에 찬" 동의가 없으면 별로 효과를 볼 수 없다는 게 제 생각입니다. 모르는 사람은 아예 모르기 때문에 아직 공부할 필요가 없으며 아는 사람은 이미 알기 때문에 다시 공부할 필요가 없습니다. 아는 것도 모르는 것도 아니고 어중간한 상태에서 나름의 문제의식을 갖고 있는 경우, 이 사람에게 누군가가 "제대로 된" 한두마디만 던져줘도 그는 열가지 스무가지 일사천리로 소화하고 이해하며 자발적인 학습을 하게 됩니다.
이런 식의 "사례 중심"의 공부를 위해서는 스터디 그룹을 조직하는 것이 좋습니다. 혼자 공부를 하건, 그룹으로 하건 조슈아 커리프스키의 유명한 A Learning Guide To Design Patterns (http://www.industriallogic.com/papers/learning.html'''''')을 꼭 참고하세요. 그리고 스터디 그룹을 효과적으로 꾸려 나가는 데에는 스터디 그룹의 패턴 언어를 서술한 Knowledge Hydrant (http://www.industriallogic.com/papers/khdraft.pdf'''''') 를 참고하면 많은 도움이 될 겁니다 -- 이 문서는 뭐든지 간에 그룹 스터디를 한다면 적용할 수 있습니다.
- JTDStudy/첫번째과제/상욱 . . . . 3 matches
* ㅋ... Python... 요새 조금씩 보고 있지만 쓰기 괜찮은 언어라고 생각이 들더군요^^ - [상욱]
* 나는 Python이든, Perl이든 반드시 학습 해야된다고 생각한다. 그래야 다른 언어들을 잘 쓸수 있었다. 예를들어 Java Collection Framework를 알고는 있었지만 잘 손이 안나갔는데, STL과 Python을 익히고 나니까 아주 손쉽게 쓰게 되더구나.
* 이 언어들의 시작점으로는 간단한 계산이 필요할때 계산기보다 열기보다 늘 IDLE나 rib(ruby)를 열어서 계산을 하지. 예를들어서 [http://neocoin.cafe24.com/cs/moin.cgi/ET-house_%ED%99%98%EA%B8%89%EC%BD%94%EC%8A%A4?highlight=%28et%29 et-house환급코드 in CenterStage] 같은 경우도 그래. 아 그리고 저 코드 군에 있을때 심심풀이 땅콩으로 짜논거. SeeAlso [http://neocoin.cafe24.com/cs/moin.cgi/%EC%95%BC%EA%B5%AC%EA%B2%8C%EC%9E%84 숫자야구 in CenterStage]
- Java/문서/참조 . . . . 3 matches
함수는 C에서만 존재 하는것이며 자바나 기타 OOP언어에서는
Java이전에 태어난 상업용 언어들은 대다수 char까지를 하나의 기본 자료형으로 많이 차용했고
많은 언어에서 string형도 기본자료로 쓸려는 노력을 많이 해두었다. (이유는 많이 쓰이기 때문이다.)
- MoreEffectiveC++/Operator . . . . 3 matches
결론은 overload로 언어상의 이녀석들 원래의 능력 발휘하기가 힘들다. 이런 위험은 감수할 필요 없지 않은가? 참고로 다음을 알자
이 코드는 new operator를 사용한 것이다. new operator는 sizeof 처럼 언어 상에 포함되어 있으며, 개발자가 더 이상 그 의미의 변경이 불가능하다. 이건 두가지의 역할을 하는데, 첫째로 해당 객체가 들어갈 만한 메모리를 할당하는 것이고, 둘째로 해당 객체의 생성자를 불러주는 역할이다. new operator는 항상 이 두가지의 의미라 작동하며 앞에서 언급한듯 변경은 불가능하다.
마지막으로 여기서 보다 시피 new와 delete를 만드는 자체는 당신이 조정 할수 없는 영역에 존재하지만 메모리 할당은 당신의 손아래 있다. new와 delete를 최적화나 수정 할때 꼭 기억해라 당신이 정말로 그걸 할수 없는가에 관해서 말이다. 당신은 그것들의 방법(new,delete메모리 할당 방법)은 변경할수 있다. 그러나 그들은 언어에 의해서 규정되어 져 있는 영역이다.
- MoreEffectiveC++/Techniques2of3 . . . . 3 matches
보통 우리는 일차원 배열을 사용한다. 하지만 일반적으로 실제로 자료의 표현에는 그러지가 못하다. 불행히도 C++는 이차원 이상의 자료구조를 잘 취급하지 못한다. 최소한 배열에 대한 지원은 언어가 가져야하는 최소한의 배려이다.(작성자주:멋대로 의역) FORTRAN이나 BASIC, COBOL에서 일차원, 이차원, ... 다차원 배열을 만들수 있다. (그래, FORTRAN은 7차원 까지밖에 안된다. 이거 딴지다. 넘어가자) 하지만 C++에서 할수 있나? 때론 오직 정렬을 위해서만 일것이다.
다차원의 배열은 C++에 뿐아니라. 다른 언어에서도 유용하다. 그래서 다차원 배열은 최근에 이것들에 지원하는 방법에 대한 중요성이 대두되고 있다. 보통의 방법은 C++에서 표준 중에 하나이다.(필요로한 객체를 표현하기 위해 클래스를 만든다. 하지만 알맞게 구현하기가 어렵다. ) 바로 이차원 배열에 대한 템플릿을 정의할수 있다.
만약 문법 때문에 골머리가 아프다면, 배열을 지원하는 많은 언어에서 사용하고 있는 방법을 따라서, ()를 이용하는 인텍스의 접근을 만들어 볼수도 있다. ()의 이용은 단지 operator()를 오버로드(overload)하면 된다.
- PHP . . . . 3 matches
* 웹에서 쓰는 스크립트 언어이다.
* [http://blog.dahlia.kr/post/21044381028 언어 커뮤니티의 문제]
[언어분류]
- PairProgramming . . . . 3 matches
* 해당 시간 내 집중도의 상승, Pair Pressure - 평소 프로그래밍 외의 것(프로그래밍 중 음악듣기, 쓸데없는 웹서핑, 메일 읽기)에 대한 잡음을 없앤다. 작업 자체에만 몰두하게 해준다. ["TestDrivenDevelopment"] 와 상호작용이 빠른 언어(["Python"] 등..)를 이용하면 Feedback 이 빠르므로 집중도가 더 높아진다.
* 집중 - 이번 경우에는 '시간제한' 이라는 것까지 있어서인지; 석천은 더더욱 프로그래밍 자체에 집중했다. (스크립트 언어 스타일의 접근방법과 이전의 TDD 연습도 한몫 거든듯. 조금씩 만들고 결과 확인해보고 조금 또 만들어보고 결과 확인을 했다. 단, 이번엔 Test Code 를 안만들어서, 뒤에가서 버그가 났을때 대체를 못했다는.-_-; 잘될때는 문제가 아니다. 잘 안될때, 문제상황에 대한 대처가 중요하다고 생각.)
* 언어 : PHP
- PowerOfCryptography/조현태 . . . . 3 matches
한번 공부하고 만들어봐... C언어에서 인라인 어셈 써서 함수 만들어두 좋구. 아래 참고. - [이영호]
-----------c언어 소스-------
;;ㅁ;; 음.. 영호선배는 넘흐 마니 알고이쩡..>ㅃ<;; C언어 소스 봐도 모르게떠용..ㅎㅎ 64비트형의 인트형의 변수를 두개 지정하고 a에다가 최대값을..(아마 부호가 있기 때문에 -1저장됬을듯한..)넣고 b에는 a-1을.. 그럼 -2가 저장..;; 음.. 이게 아니라 혹시 b가 포인터라서 메모리 한칸 앞쪽을 잡아주는 건가요? 음.. 그러면 할당되지않은 메모리를 건드는 사태가..;;ㅁ;; 이것도 아닌가.. 연구를..;;ㅁ;; - [조현태]
- ProjectEazy . . . . 3 matches
NoSmok:언어학책추천
[TheChild'sAcquisitionOfLanguage], [아동언어습득이론] - 아동이 언어를 습득해서 문장을 만드는 과정
- SmallTalk/강좌FromHitel/강의3 . . . . 3 matches
1.1. 프로그램과 프로그래밍 언어
Smalltalk에서는 모든 것이 객체(object)입니다. 우리는 Smalltalk언어를 객
체지향적 언어라고 말합니다. 따라서 Smalltalk에서 모든 것은 객체라는 사
- SmallTalk/강좌FromHitel/강의4 . . . . 3 matches
1.1. 프로그램과 프로그래밍 언어
지금까지 우리는 Smalltalk란 대체 어떤 언어이고, 어떻게 동작하며, 또한
이런 것들을 바탕으로 다음 가름[章]에서부터는 Smalltalk 언어와 객체지향
- WebGL . . . . 3 matches
쉐이더는 쉐이더 언어로 따로 짜주고 컴파일 해야하며 심지어 링크까지 시켜주어야 한다. GPU의 강력한 [행렬]연산 능력을 가져다 쓰기 위해서인것으로 보이는데 이것을 사용하지 않고서는 예제파일도 돌려볼수가 없다. 다행이 언어는 C언어와 매우 유사하고 행렬연산이 모두 있기 때문에 딱히 어렵거나 하진 않다. 다만 어느부분에서 어디와 연결되는지 이해하는데 시간이 걸린다.
- XMLStudy_2002/XML+CSS . . . . 3 matches
*CSS는 폰트,색깔,여백등과 같은 외형적인 스트일을 기술하는 언어이다.
<PA>XML의 스타일시트 언어는 XSL로, XSL로 기술된 스타일시트를 이용하여,
IE5.0에는 XML Parser와 XSL Processor가 포함되어져 있어, XSL을 스타일시트 언어로
- ZeroPage_200_OK . . . . 3 matches
* 자바스크립트의 언어 특성에 따라서 배우고 기본적인 사용 문법에 대해서 배웠습니다. 명령형 구조적 프로그래밍 언어적인 부분에 대해서는 그렇게 어려운건 없었는데 그 뒤의 함수형 선언적 프로그래밍 언어 부분에서 클로저랑 함수에 함수를 인자로 주는 부분이 같이 쓰이니까 좀 복잡했었습니다. 조금 더 공부해야 할 것 같습니다. var Person = function(){}; 같은 부분나 this가 new를 했을 때에만 제대로 동작한다는 부분도 특이했습니다. 문법적인 부분 자체는 그렇게 어려운 것 같지 않은데 함수를 중첩해서 쓰거나 그런 부분이 약간 알아보기 힘든 것 같습니다. - [서영주]
- intI . . . . 3 matches
C언어에서 변수를 배우고 순환문을 처음 배우기 시작할때 가장 처음 배우는 변수 i-_-
integer의 i 인거지?? 그럼 언제부터 int i 라는 변수가 사용된 것일까?? 80년대의 C언어 책에서도 int i 를 사용하고 있었을까??
포트란인가 코볼인가 파스칼인가.. 아무튼 이 셋중의 한 언어에서 그렇게 쓰던것이, 하나의 관용이 된 것이라고 들은 기억이 있음 - 임인택
- 간단한C언어문제 . . . . 3 matches
영호가 내는 간단한 C언어 문제.
C언어 기초를 *제대로* 배웠다면 아주 쉬운 문제가 될 것이다.
C언어의 컴파일러에 따라 메인함수는 저렇게 쓰일 수가 있어요;;; 특정 컴파일러는 return형이 int형이 아니라고 warnning을 내기도 하죠;; - [이영호]
- 공개선언 . . . . 3 matches
그러고 보니 [대안언어축제]에서도 마지막에 이런 시간을 가졌더랬죠.
언어 능력 기르기.(언어 능력은 나의 활동 무대를 넓혀줄 것이다. 최대한 늘리자. 깊고 넓게.)
- 데블스캠프2005/RUR-PLE . . . . 3 matches
* 프로그래밍 언어를 배우는것은 재밌어야 한다는 취지에서 만들어진 환경이다. 실제로 해보면 재밌다. 도움도 많이 된다.
* Python 언어를 사용하여 컴퓨터 프로그래밍 언어를 배울수 있는 환경이다.
- 데블스캠프2011 . . . . 3 matches
|| 7 || [송지원] || [:데블스캠프2011/첫째날/Java Play with Java] || [:상협 남상협] || [:데블스캠프2011/둘째날/Machine-Learning Machine-Learning] || [윤종하], [황현] || [:데블스캠프2011/셋째날/Esolang 난해한 프로그래밍 언어] || [이승한] || [:데블스캠프2011/넷째날/Git Git-분산 버전 관리 시스템] || [변형진] || [:데블스캠프2011/다섯째날/HowToWriteCodeWell How To Write Code Well] || 2 ||
|| 8 || [송지원] || [:데블스캠프2011/첫째날/Java Play with Java] || [:상협 남상협] || [:데블스캠프2011/둘째날/Machine-Learning Machine-Learning] || [윤종하], [황현] || [:데블스캠프2011/셋째날/Esolang 난해한 프로그래밍 언어] || [서지혜] || [:데블스캠프2011/넷째날/루비 루비] || [변형진] || [:데블스캠프2011/다섯째날/HowToWriteCodeWell How To Write Code Well] || 3 ||
|| 9 || [송지원] || [:데블스캠프2011/첫째날/Java Play with Java] || [:상협 남상협] || [:데블스캠프2011/둘째날/Machine-Learning Machine-Learning] || [윤종하], [황현] || [:데블스캠프2011/셋째날/Esolang 난해한 프로그래밍 언어] || [서지혜] || [:데블스캠프2011/넷째날/루비 루비] || [김수경] || [:데블스캠프2011/다섯째날/Cryptography Cryptography], 회고 || 4 ||
- 데블스캠프2011/둘째날/후기 . . . . 3 matches
* 사실 스크래치를 접해보는 건 이번이 두 번째군요. 2009년 데블스캠프에서도 한 번 다루었던 걸로 기억합니다. 스크래치는 원래 아동 교육용으로 만들어진 프로그래밍 언어라고 들었습니다. 그런데 아동용이라고 대충 넘기기에는 기능도 생각보다 훨씬 다양하고 능력도 강력한 것 같아요. 1학년 떄는 이래저래 미숙한 부분이 많아서 그런 부분을 볼 여유도 없었는데 다시 보면서 약간 여유가 있어서 그런지 잘 만들었다는 느낌이 새삼 들었습니다. 그리고 이번에도 2009년 때처럼 게임을 만들기로 했었는데, 이번에는 다행히도! 제대로 돌아가는 게임을 만들었습니다. 사람이 그래도 발전이 있긴 하군요. 앞으로도 열심히 해야겠습니다.
* 겉모습에서 일단 코드가 나오지 않으니 확실히 잘 모르는 사람도 생각하기 쉬울 것 같습니다. 다만 반복문 구문 블록이 여러개로 나뉘어 있는데 비슷비슷해 보여서 좀 불편하기도 하더군요. 하지만 중요한건 언어의 사용법이나 형태가 아니라 만드는 사람의 실력에 달렸다는걸 만들면서, 그리고 다른 분들이 만든 물건들을 보면서 다시 한 번 느꼈습니다. 어릴 때부터 이런걸로 교육받고 자라면 코딩 잘하려나 -_-
* Scratch참 재밌었습니다 ㅋㅋ. 하다보니까 로보랩느낌도 나고 코딩도 미리 만들어져있는 명령어 끌어다하니까 다른 언어보다 쉽게 느껴지구요. 고양이 움직이는 것도 귀여웠고 생각보다 꽤 다양한 것을 구현할 수 있어 놀랐습니다. 마지막에 핑퐁게임을 만들었는데 생각보다 버그가 많아서 아쉬웠네요 ㅜㅜ.
- 데블스캠프2012/다섯째날/후기 . . . . 3 matches
* [서영주] - 저학년을 위한 C++개념 설명일줄 알았는데 생각보다 고학년한테 반응이 좋았습니다. 저도 pl시간에 개념으로 대충 배웠던게 실제로는 이렇게 되어있구나 하는걸 알 수 있어서 좋았습니다. 언어를 쓰더라도 그런게 실제로 어떻게 구현되어있나를 생각해본 일은 별로 없었어서 내가 쓰는 언어에 대해서 다시 한 번 생각해볼 기회가 된 것 같습니다.
* [서영주] - 정말로 CSE한 인생을 사셨구나 하는 생각이 들었습니다. 중고등학교 때 벌써 언어공부라니... 근데 인생 얘기하시면서도 맵 리듀스나 gba의 파일을 수정했던 얘기 등 중간중간에 들어있는 얘기들이 신기했습니다. 어떻게 그런걸 다 아시는지도 궁금하고. -_- 후기때도 했던 얘기지만 언젠가는 더이상 할 얘기가 없으실 때까지 얘기하시는걸 들어보고 싶습니다.
- 데블스캠프2012/셋째날/후기 . . . . 3 matches
* [김윤환] - 설명을 정말 잘하시고 말하시는 능력이 매우 탁월하신 분같습니다. 언어 전달능력이나 발음이랄까 여러가지 지식이랄까 여러가지로 뛰어나신분 같아요. 덕분에 듣는 저도 재미있게 들을 수 있엇습니다. ㅎㅎㅎ
* [정종록] - 아나 오랜만에 하는 물리.... 아 기억안나.... 하지만 포뮬선 운동하게 만드는것 나름 재미있었음... 물리2도 했는데 한참 생각했네.... 자바스크립트 괜찮은 언어인듯..
* [김해천] - 크아아아. 각도조절 구현했어요. 상당히 재미있는 언어인 것 같습니다. 어제부터 자바스크립트에서 왠지모를 자유스러움(?)과 마력을 느꼈는데, 오늘 집에 오면서 책 하나 질렀습니다. 방학때 할 것이 엄청 많기는 하지만, 그래도 해볼렵니다. http://haechoen0.hosting.paran.com/ex.html
- 데블스캠프2013/둘째날/후기 . . . . 3 matches
= 김민재 / 새내기의, 새내기에 의한, 새내기를 위한 C언어 =
* 으아아아아ㅏㅇ PHP라니.. 최건우님께서 말했던 그 공약은 지켜지지 않았습니다. 웹언어를 나름대로 다른 것을 공부했던 입장으로써 재밌었습니다. 다른 설명을 추가해 준 것도 괜찮았고요. - [김해천]
* 로우레벨이 고난이도라니 언어적 아이러니 - [서지혜]
- 병역문제어떻게해결할것인가 . . . . 3 matches
* 언어논리력: 맞춤법, 어휘력 등을 테스트합니다. 수능 언어영역의 쓰기,어휘,어법 파트와 상당히 유사합니다.(난이도는 그 이상)
* 자료해석력: 말 그대로 데이터를 분석하는 능력을 테스트합니다. 수능 언어영역의 자료해석 파트와 상당히 유사합니다.(난이도는 그 이상)
- 새싹교실/2011/學高/1회차 . . . . 3 matches
* C언어의 진짜 기초적인 내용
* 프로그래밍 언어 : high level language (ex : C, java, C++, C#..), low level language (ex : 어셈블리언어, 기계어)
- 새싹교실/2012/부부동반 . . . . 3 matches
* C 언어의 탄생
* C 언어의 구성
C 언어에서 데이터형을 다양하게 제공하고 있는 이유는?
- 새싹교실/2013/라이히스아우토반 . . . . 3 matches
* 새싹을 통해 정말로 유용한 측면에서의 언어를 배우고 컴퓨터언어를 최대한 마스터 하는 쪽으로 노력하겠습니다.!!-[박경준]
* 일단 수요조사 조차 못 했으니 정말 기본적인 C언어를 가르칠겁니다.
- 새싹교실/2013/라이히스아우토반/3회차 . . . . 3 matches
* 입력을 위한 함수를 써야 합니다. C언어의 콘솔을 위한 입력용 함수는 이런것들이 있습니다.
C언어란 언어구나...
- 새싹배움터05 . . . . 3 matches
|| 3_4/25 || [C언어포인터특강] ([상규]) || 포인터 || 포인터를 알려주마! ||
C, 발표잘하는법, PPT제작 기법, [Python], [PHP], [ExtremeProgramming], ToyProblems, Linux, Internetworking(TCP/IP), Ghost(demonstration), OS(abstraction), OS+Windows, Embedded System, 다양한 언어들(Scheme, Haskell, Ruby, ...), 보안(본안의 기본과 기초, 인터넷 뱅킹의 인증서에 대해..), C언어 포인터 특강(?), 정보검색(검색 엔진의 원리와 구현), 컴퓨터 구조(컴퓨터는 도대체 어떻게 일을 하는가), 자바 가상머신 소스 분석
- 서지혜/2011 . . . . 3 matches
* '''대안언어 축제'''에 다녀왔습니다.
* 집에 오는길에 창준 선배님과 이야기를 나누었습니다. 대안언어 축제에서 만난걸 기억하시네요 //_//
* 엑스퍼 정모에 조한나와 레베카가 왔었다. 시간과 언어의 장벽으로 인해 겉핥기만 했다..
- 송지원 . . . . 3 matches
웹언어를 공부하고 싶었는데 상협오빠가 제안하셔서 시작했던 프로젝트.
나박사님께서 대안언어축제 후 진행해주셨어요. 많이 습득은 하지 못했지만 접해본 몇 안되는 새로운 언어라 신기했습니다.
- 숫자를한글로바꾸기/조현태 . . . . 3 matches
음;; 그런게 존재하는건 아니구... C언어면 C언어답게 하는 것이 좋구 C++이면 C++답게 코딩하는게 좋은데.. malloc은 C언어에서 쓰이잖아. 물론 C++에서도 쓰이겠지만 C와의 호환성 때문이지 정말로 쓰이는것은 new니까 new를 쓰는게 좋다는거지. 클래스를 malloc으로는 할당 못하거든.
- 우리가나아갈방향 . . . . 3 matches
시대의 흐름을 바로 읽어 우리가 해야 할 것들에 대한 명확한 목표를 제시하고 서로 도와가며 공부할 수 있는 분위기를 조성하는데 주도적인 역할을 하길 바랍니다. 낯선 학문에 대한 설레임과 막연한 두려움 때문에 어느 곳부터 손을 대야 할 지 몰라 고민하는 신입생들이 많이 있습니다. 또 프로그래밍 언어 1~2가지를 익혔으나 그 다음에는 무엇을 해야하는지 내가 이 도구를 공부해서 무엇에 써야하는지 몰라 일관성 없는 학습만을 반복하여 제자리를 맴돌고 있는 친구들도 많이 있습니다. 우리 학회에는 훌륭한 선배님도 많이 계시고 능력있는 회원님들도 많이 있다고 자부하고 있습니다. 이런 분들이 배우고자 하는 회원들에게 방향을 제시하고 또 배우는 사람들은 자발적으로 학습하며 자신의 능력을 개발해 나가는 것이 중요합니다.
이번 방학에도 어김없이 프로젝트나 스터디가 열리고 있습니다. 프로그래밍 언어를 좀더 잘 다루려고, 공부나 프로젝트를 같이 해보는 경험을 쌓으려고, 자신이 공부해서 알고 있는 내용을 다른 사람에게 설명해주려고, 아니면 그냥 재미로 참여하는 분들이 많으리라 생각합니다. 그러는 가운데서 지식과 경험을 쌓을 수 있기에 제로페이지 활동은 현재로도 분명 값어치가 있습니다.
우리나라의 기업은 인턴쉽 제도가 발달되어 있지 않기 때문에, 대학생들이 방학이 되어도 자신의 전공과 관련된 경험을 쌓은 기회를 잡기가 쉽지 않아 보입니다. 그나마 아르바이트를 구하는 경우에는 프로그래밍 언어를 다루는 능력이 뛰어나고 경력이 있는 사람을 선호합니다. 그렇기 때문에 경력도 없고 프로그래밍 실력이 뛰어나지도 않은 대다수의 학부생이 방학 때 경력을 쌓기란 어렵습니다.
- 정모/2012.3.19 . . . . 3 matches
* 함수형언어 스터디
* 자기 언어에 대한 이해가 충분해서 새로운 패러다임의 언어와 섞일 수준 아니면 차라리 아무것도 모르는 백지상태가 추천 대상(추천일 뿐)ㅋㅋ - [서지혜]
- 제로Wiki . . . . 3 matches
* 프로그래밍 카페 : 규모가 커질 경우 너무 다양한 주제 대한 글들이 올라 올 수 있다. 이때 자신이 관심 있는 언어를 분류어로 설정하여 그 언어에 대한 글들만 볼 수 있다.
* 소스 코드를 각 언어별로 그에 맞게 보여준다. 아래와 같은 식으로..
- 졸업논문/요약본 . . . . 3 matches
웹 환경은 이제 하나의 플랫폼으로 자리 잡고 있다. 빠르게 변하는 웹 환경에는 python같은 객체지향 언어가 적당하다. Django는 python으로 만들어진 웹 애플리케이션 프레임워크로, 데이터베이스를 추상화하여 개발자가 기민하게 웹 애플리케이션을 작성하도록 돕는다. Django에서는 기존에 ODBC등을 이용하는 CLI 보다 한 단계 더 높은 수준에서 데이터베이스를 사용할 수 있다. 예를 들어 주언어 python에 클래스를 정의하면 데이터베이스 테이블을 자동으로 생성해주며, 클래스가 변경되면 데이터베이스 테이블도 자동으로 수정해준다. 그 밖에 삽입, 삭제, 수정, 조회 기능을 클래스가 가진 메소드로 추상화하여 주언어 수준에서 데이터베이스를 사용할 수 있도록 한다. 이러한 지원을 바탕으로 웹 애플리캐이션 개발자는 기민하게 프로그램을 작성할 수 있다.
- 지금그때/OpeningQuestion . . . . 3 matches
최소를 고려한다면, 다이나믹 랭귀지 하나, 스태틱 랭귀지 하나. 여력이 있다면 여기에 펑셔널 랭귀지와 환경과 언어가 결합된 언어(e.g. 스몰토크) 추가. --JuNe
* 프로그래밍 언어 : C, C++, Java 정도를 배웁니다. 하지만 직접 가르쳐주는 것은 문법 수준이고, 대부분은 숙제를 하면서 직접 익혀야 합니다.
- 컴퓨터공부지도 . . . . 3 matches
해당 분야를 공부하기 위해선 어떠한 순서로 보는 것이 더 효율적일까? (또는 커리큘럼 작성?) 해당 언어에 대해서는 어느정도 언제쯤 적당한 깊이를 가져야 할까?
Windows 에서 GUI Programming 을 하는 방법은 여러가지이다. 언어별로는 Python 의 Tkinter, wxPython 이 있고, Java 로는 Swing 이 있다. C++ 로는 MFC Framework 를 이용하거나 Windows API, wxWindows 를 이용할 수 있으며, MFC 의 경우 Visual Studio 와 연동이 잘 되어서 프로그래밍 하기 편하다. C++ 의 다른 GUI Programming 을 하기위한 툴로서는 Borland C++ Builder 가 있다. (C++ 중급 이상 프로그래머들에게서 오히려 더 선호되는 툴)
이를 위해 Interactive Shell이 지원되는 인터프리터 언어(e.g. Python)와 패킷 스니퍼(e.g. tcpdump, ethereal, etherpeek, ...), 웹 브라우져, FTP, TELNET 클라이언트 등을 이용할 수 있다.
- 컴퓨터를전공하면서꼭알아야할세가지 . . . . 3 matches
1. 모국어로서의 프로그래밍 언어 최소 하나
첫번째는 "언어"적 훈련을 말합니다. "필로로기"의 수련이 되어 있지 않으면 모든 공부를 허술하게 할 수 있습니다. 최소 하나를 습득하고, 매 년(혹은 격 년) 전혀 다른 패러다임의 언어를 하나씩 공부합니다.
- 코드레이스/2007/RUR_PLE . . . . 3 matches
* 프로그래밍 언어를 배우는것은 재밌어야 한다는 취지에서 만들어진 환경이다. 실제로 해보면 재밌다. 도움도 많이 된다.
* Python 언어를 사용하여 컴퓨터 프로그래밍 언어를 배울수 있는 환경이다.
- 튜터링/2013/Assembly . . . . 3 matches
* 이 과목에서 가장 주로 다루는 어셈블리 언어를 사용하는 이유와 현재 어떤 곳에 사용되는지, 특징은 무엇이며 장단점은 무엇인지 알아보자.
* 어셈블리 언어란 무엇이며, 왜 쓰고 장단점은 무엇인지 써보자.(서술식으로 자신이 아는 내용/책에서 찾아본 내용을 써내려가보자.)
* 어셈블리언어의 기본문법을 보고, 어떤 프로그램이든 컴파일시키고 실행시켜보자.
- 페이지제목띄어쓰기토론 . . . . 3 matches
저는 위에서도 언급했지만, 공백을 넣는것은 한글에서는 반드시 필요하다고 생각합니다. 띄어쓰기의 배제는 언어 자체의 특성을 제한을 제공한다고 생각합니다. --상민
조금 다른 이야기인데, 특수문자를 페이지이름에 사용하는 문제입니다. 제가 특수문자를 사용하지 말자는 규칙을 만든 이유는, 그것이 발음하기 어렵기 때문입니다. 발음하기 힘든 단어를 한 사회의 언어에 사용하지 않는 것에는 언어학적, 심리학적, 사회학적, 조직학적, 문화적 문제가 중층적으로 연계되어 있습니다. 한마디로 말한다면 해당 위키 커뮤니티가 더 발전하기 위한 겁니다. 이건 다음에 기회가 되면 자세히 설명을 하죠. 아주 작은 차이 같고, 별 이유가 없고 오히려 더 불편한 것 같지만 사실은 상당한 차이를 불러오는 것들이 많습니다. 페이지이름 띄어쓰기 문제도 직접 실험도 해보고 그 결과에 대해 여러가지 분석, 논의도 해보면서 신중한 결정을 하길 바랍니다. --김창준
- 포항공대전산대학원ReadigList . . . . 3 matches
③ 운영체계 및 프로그래밍 언어
♣ 분야 3 (운영체제 및 프로그래밍 언어)
◊ 프로그래밍 언어
- 프로그래밍잔치/ErrorMessage . . . . 3 matches
* 올라와서 언어를 정했다. 공통으로 다 아는 언어는 C++, GUI로 할것이므로 MFC가 낙찰되었다. 다이얼로그 가지고 놀던중 달력이 보인다.--; 달력 없애기로 함. 시계도 없애기로 함
* 1차 정리 시간 가까워질 무렵, 우리는 좌절을 느꼈다. MFC 그나마 좀 해본 인수군과 창섭군이 MFC에서 다뤄본건 다이얼로그 박스에 비트맵 뿌리는것 말곤 없었던 것이다.--; 그래서 다같이 어설픈 언어로 하느니, MFC로 하는 GUI보다는 JAVA로 하는 GUI에 익숙한 인수군이 자바로 하자고 운을 뜸. 창섭군 적극-_-동의. 그래서 자바로 바꿨음. 한 2시간 날렸다.
- 1002/Journal . . . . 2 matches
* 2학년, 3학년들에 대해 좀 더 실용적인 RT로 한다면, 해당 프로그래밍 언어에 대한 RT를 할 수 있을것도 같다. (노트북 2대정도 이용, 사람들이 다같이 둘러서 보는..)
즉, OOP 식 사고에서의 장점이 아닌, 기존 개인스타일의 프로그래밍중에서의 장점이였다. 스스로 생각하기엔 OOP라 생각했던 것들도, 알고보면 OO의 언어를 쓸 뿐, OOP가 아니였었던 것이다. 세미나중 'OOP 로 하면 뭐가 좋아요?' 라고 질문할때 저렇게 답할 수는 없겠지.
- 2학기파이선스터디/if문, for문, while문, 수치형 . . . . 2 matches
때로는 사전을 이용하는 것이 더 좋을 때도 있는데, C언어의 switch, case문과 같은 맥락에서 이해하면 된다. 다음은 위와 동일한 결과를 가져온다.
실수형 상수는 소수점을 포함하거나 e, E로 지수를 포함하는 상수이며, C언어의 double형과 동일해서 8바이트로 표현된다. 수치 표현 범위는 유효자리 17이며, 지수는 10의 -308~308 범위에서 표현된다.
- 3N+1Problem . . . . 2 matches
|| 작성자 || 사용언어 || 개발시간 || 코드 || 실행시간(i=1,j=999999 기준 4초 통과) ||
|| 작성자 || 사용언어 || 개발(수정)시간 || 코드 ||
- AKnight'sJourney . . . . 2 matches
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
|| [강소현] || 사용언어 || 개발시간 || [AKnight's Journey/강소현] ||
- AcceleratedC++/Chapter9 . . . . 2 matches
|| 기본 타입 || char, int, double 등 기본언어의 일부 ||
|| 클래스 타입 || string, vector, istream 등 기본언어를 가지고 구현된 타입 ||
- BasicJAVA2005 . . . . 2 matches
- JAVA라는 언어를 가지고 어느정도의 프로그램을 짤 수있게 '''기초를 다지기!!'''
- 자바언어에 대한 Tip - 자바 소스코드는 유니코드체계를 따르도록 설계되어있습니다. 그러므로 코드를 영어로만 구현해야하는 C/C++보다 매우 큰 융통성을 발휘하죠.
- CppUnit . . . . 2 matches
Visual C++ 6.0 기준으로 설명한다. 다른 언어들에 비해 환경설정을 위해 해야 할 부분이 많으므로 인내심을 가지고 따라해야 한다.
코드를 보면 알겠지만, ASSERT 문들에 대해서 전부 매크로를 이용한다. 만일 이를 다른 언어들의 UnitTest Framework 처럼 assertEqual 이나 assert 문으로 쓰고 싶다면, 다음의 문장을 cppunit library 를 include 하기전에 추가해준다.
- CxxTest . . . . 2 matches
C++ 의 경우는 언어차원에서의 리플랙션을 지원하지 않기 때문에 테스트를 추가하는 부분이 자바나 파이썬 등에 비해 상당히 귀찮다. 그에 대한 대안으로 [CUT] 등의 C UnitTestFramework 의 경우 외부에서 Perl 등으로 작성한 스크립트언어로 테스트실행과 관련한 Runner 를 코드제너레이팅하는 방법을 쓰고 있다.
- C언어정복/3월30일-내용정리 . . . . 2 matches
==== C언어정복 3월30일 - 내용정리 ====
[C언어정복]
- C언어정복/3월30일-숙제 . . . . 2 matches
==== C언어정복 3월30일 - 숙제 ====
[C언어정복]
- DecomposingMessage . . . . 2 matches
메세지를 다루는 또 다른 방법은 여러 개의 조각으로 나누는 것이다. 리팩토링의 ExtractMethod이다. 스몰토크는 잘게 쪼개는 것을 좀 더 공격적으로 한다. 그래서 한 메소드의 길이가 3-4줄정도밖에 안된다고 한다. 이것이 가능한 이유는 스몰토크는 다른 언어에 비해 높은 수준의 추상화를 제공해주기 때문이다. self 에게로 메세지를 보내자.
지금 느끼는 거지만 파이썬의 self가 smalltalk에서부터 온 것이 아닐까 하는 생각이 든다. 두 언어가 생긴게 참 비슷한거 같다.
- Django스터디2006 . . . . 2 matches
* [http://altlang.org/fest/EnglishStudyWithDjango 대안언어축제에서실습한장고] 이것 참고~. 오 지훈이 열심히 하네 ㅎㅎ, 또 하다가 모르는것 있으면 메신저 namsangboy골뱅이hotmail.com 으로 물어 봐도 돼 ㅎ
|| 이름 || 사용 언어 || 소요 시간 || 제목 ||
- EclipsePlugin . . . . 2 matches
여러 언어의 소스의 Highlight 해주는 라이브러리인데 여기에 Eclipse Plug-in 도 있습니다. JSP, C/C++, HTML, XML 등등 여러 타입이 지원됩니다. [http://colorer.sourceforge.net/lang-list.html 지원 언어 목록]
- Erlang . . . . 2 matches
* 함수형 언어를 체험해 볼 수 있다
[언어분류]
- Gof/FactoryMethod . . . . 2 matches
3. ''언어 규칙에서의 변수와 이슈''(''Language-specific variants and issues'') 다른 언어사에서는 좀더 다른 방식으로 다른 절차로 구현될 것이다.
- Gof/Visitor . . . . 2 matches
이러한 operations들의 대부분들은 [variable]들이나 [arithmetic expression]들을 표현하는 node들과 다르게 [assignment statement]들을 표현하는 node를 취급할 필요가 있다. 따라서, 각각 assignment statement 를 위한 클래스와, variable 에 접근 하기 위한 클래스, arithmetic expression을 위한 클래스들이 있어야 할 것이다. 이러한 node class들은 컴파일 될 언어에 의존적이며, 또한 주어진 언어를 위해 바뀌지 않는다.
- HanoiProblem . . . . 2 matches
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
||임영동||이틀 걸림|| 100라인 초과|| 어셈블리 언어||["HanoiProblem/영동"]||
- HowToStudyXp . . . . 2 matches
어찌되었건, XP에는 무술이나 춤, 혹은 악기 연주 등과 유사한 면이 많습니다. 따라서, 글을 보고 그것을 익히기는 쉽지 않습니다. 그나마 메일링 리스트 같은 "대화"를 보면 훨씬 더 많은 것을 얻을 수 있기는 하지만, 태권도 정권 찌르기를 말로 설명해 내는 것이 불가능에 가깝듯이 XP를 언어를 통해 익히기는 정말 어렵습니다. 우리의 언어는 너무도 성글은 미디어입니다. (XP는 매 초, 매 순간 벌어지는 "일상적" 장면 장면의 연속들이 매우 중요합니다.)
- JavaScript/2011년스터디/3월이전 . . . . 2 matches
* 프로토타입의 정의와 사용 상속부분이 다른 언어와는 다르다.
* 자바스크립트의 상속이 기존 객체지향 언어와 다름을 알게되었다
- JavaScript/2011년스터디/7월이전 . . . . 2 matches
* 저는 자바스크립트 파일이 로드가 안되었는데 로드가 안되는게 아니라 자바스크립트에 에러가 있었던 거란걸 알게되었습니다. 개발자 도구 좋군요.. 자바스크립트 로드하는 법을 알았으니 이제 키보드 이벤트를 받아야겠습니다. 마우스 이벤트까지는 성공했어요*-_-* 참 사소한것에 기뻐하게 되네요ㅋㅋ 새로운 언어를 배우니 초심자로 돌아간 기분입니다. 헬로월드를 처음 띄웠을 때의 그 시절로.....''아련'' 다음시간까지 키보드 이벤트를 받는 코드를 작성하겠다고 했었나?요? 해야겠네..요.. - [서지혜]
* 합류한 두명 중 한명입니다. javascript랑 html이랑 차이를 생각해보는데 살짝 시간이 걸린거 같기도 하네요. ..으아니! 진짜로 그냥 저장만 했는데 실행이 되네!! 라는 생각도 들었어요. 얘내도 참 재미있는 언어인거 같네요. 빨리 배워서 제대로 스터디 궤도에 오를 수 있도록 해야겠어요. -[김태진]
- JavaStudy2003/두번째과제/노수민 . . . . 2 matches
자바 언어는 객체지향 프로그래밍을 할 수 있도록 문법을 제공해 준다.
자바 언어를 이용하여 객체를 생성하고 필요에 따라 값을 초기화 해 주어야 하는 경우
- JavaStudy2004 . . . . 2 matches
* 새 언어를 배우면서 너무 툴에 의존하는 것 같다. 툴을 배우는게 언어를 배운다는 것을 잊지말자. 메모장으로 하는 것도 나쁘지 않고 --[강희경]
- Jython . . . . 2 matches
[Python] 과 [Java] 의 만남. Java OS (?) 에서 단일언어라는 말은 사라진건가;
[언어분류]
- Komodo . . . . 2 matches
다중언어 IDE. PHP, Python, Perl, Tcl 등 주로 스크립트 언어 지원.
- Linux/필수명령어/용법 . . . . 2 matches
오프셋을 지정하면 파일의 어느 부분부터 비교할 것인지를 정할 수 있다. -s 옵션이 왜 필요한 지를 이해하지 못할 테지만, cmp 명령이 보이지 않게 리턴값을 들려준다는 점을 알면 이해할 수 있을 것이다. cmp는 비교 후 두 파일이 일치한다고 판단하면 0을 리턴하며, 그렇지 않으면 1을 리턴한다. 셸 스크립트 상에서 비교 결과만을 원하고 화면에 메시지가 출력되는 것을 원치 않을 때에는 이러한 옵션을 사용할 수 있을 것이다. C 언어를 아는 사람이라면 금방 이해할 수 있었으리라 생각된다.
일반적으로 echo 명령은 프롬프트 상에서 사용되는 일은 없다. 하지만 스크립트 작성시 번번히 사용된다. 셸 스크립트 상에서 echo 명령은 BASIC의 PRINT 명령이나 C 언어의 printf() 함수와 같이 메시지를 출력하는 데에 자주 사용된다. 또한 전혀 필요없을 것 같은 echo의 -n 옵션도 스크립트 상에서는 유용하게 사용될 수 있다.
- LispLanguage . . . . 2 matches
[1002]의 경우 XLISP 라는 윈도우용 프로그램 사용했었다. 언어 자체를 익히는데 최소한의 기능을 제공하는 인터프리터.
[언어분류]
- MockObjects . . . . 2 matches
실제의 객체역할을 흉내내는 일을 하는 객체이다. 보통 MockObject라는 클래스를 상속받아서 (구현은 각 언어별로 '알아서'이다. ^^; 처음 Mock 의 개념이 나온 컬럼은 Java 소스였다.) 만들어준다. 테스트를 위해서는 처음에 해당 객체에 초기설정을 해 둔다. 그리고 Test를 돌리게 된다.
본래 MockObjects 관련 글은 Java 소스이지만 각 언어에 따라 나름대로 구현할 방법이 있겠다.
- MoreEffectiveC++/C++이 어렵다? . . . . 2 matches
* 표준 개발 환경의 부재 ( vs Java 언어, C# )
* 다른 언어 : Java는 공통의 플랫폼 차원([http://java.sun.com/j2se/1.3/docs/guide/serialization/ Serialization]), C#은 .NET Specification에서 명시된 attribute 이용, 직렬화 인자 구분, 역시 플랫폼에서 지원
- MoreEffectiveC++/Exception . . . . 2 matches
게다가 catch-by-pointer(포인터를 통한 예외 전달)은 언어상에서 사람들의 대립을 유도 한다. 네가지의 표준 예외 객체들들( bad_alloc(Item 8:operator new에서 불충분한 메모리 반환), bad_cast(Item 2:dynamic_cast에서 참조 실패), bad_typeid(dynamic_cast일때 null포인터로 변환), bad_exception(Item 14:예측 못하는 예외로 빠지는 것 unexpected exception 문제) 가 예외 객체들의 모든 것인데, 이들을 향한 기본적인 포인터는 존재하지 않는다. 그래서 당신은 예외를 값으로(by value)혹은 참조로(by reference) 밖에는 대안이 없다.
unexpected에 관련한 기본적인 행동은 terminate를 호출해서 terminate내에서 abort를 호출로 강제로 프그램을 멈추게 한다. 이 의미는 바로 abort는 프로그램을 종료할때 깨끗이 지우는 과정을 생략하기 때문에 활성화된 스택 프레임내의 지역 변수는 파괴되지 않는다.(즉, 프로그램이 멈추고 디버그시 그 상황에 현재의 자료 값을 조사할수 있다는 의미). 그래서 예외 처리의 명세을 어긴 문제는 상당히 심각한 상황이나, 거의 발생하지 않은 상황이다. 불행히도 그런 심각한 상황을 이르게 하는 함수 작성이 용이하다는게 문제이다. 컴파일러는 오직 예외 명세에 입각한대로 부분적으로 예외 사용에 관한 검사를 한다. 예외가 잡을수 없는것-언어 표준 상에서 거부하는(비록 주의(wanning)일지라도) ''금지하는'' 것- 은 함수를 호출할때 예외 명세에서 벗어나는 함수일것이다.
- MoreEffectiveC++/Techniques1of3 . . . . 2 matches
자, 이런걸로 한가지 재미있는 것을 만들수 있다. 만약 당신이 C++상에서 더이상 상속 되지 않는 클래스를 만들고 싶을때 어떻게 해야 할까?(주:참고로 Java나 C#의 경우 언어 설계 때부터 아예 해당 기능을 수행을 위한 키워드를 제공한다. 하지만 C++는 제공하지 않는다. 이런 방법을 설계자가 생각한건지, 차후 C++의 개발자들이 생각한건지 놀라울 뿐이다. 바로 이전에 나온 가상 복사 생성자의 아이디어와 비슷하다고 해야 할까)
그렇지만 C++언어 상에서 이런 보장에 대한 스펙이 정의 되어 있지 않다 그래서 어떤 컴파일러는 다음과 같이 부를수도 있다.
- NextEvent . . . . 2 matches
자신이 쓰는 언어의 개발자 중에서 자기는 어떤 위치인지 궁금합니까? 다른 언어를 사용하는 개발자가 만든 프로그램과 자신이 만든 프로그램의 수행 시간, 개발 시간, 코드 크기 등의 비교 결과가 궁금합니까?
- NumericalExpressionOnComputer . . . . 2 matches
컴퓨터 언어에서 사용하는 수치표현은 크게보아서 2진수, 8진수, 10진수, 16진수 이렇게 4가지로 구분함. 전류 시그널을 이용하는 컴퓨터의 특성상 2진수의 사용은 필수적인 것이고, 8진수를 사용하는 이유는 과거 12bit, 36bit와 같이 3의 배수 bit를 기반으로한 컴퓨터 archi가 존재했기 때문이다. (현재에서는 거의 쓰이지 않지만, 아직 C/C++ 등 많은 언어에서 제공한다.) 10진수는 인간이 사고하기 편하기 때문에 의미가 있는수. 16진수는 2진수의 표현을 바로 바꿀 수 잇다는 장점으로 표현공간의 절약을 위해서 만이 사용한다.
- PatternOrientedSoftwareArchitecture . . . . 2 matches
* 예제 : 여기서는 프로그래밍 언어를 예로 들어서 설명했다.
* 예제 : 여기서는 음성인식 시스템을 예로 들었다. 음성인식 프로그램은 단지 하나의 단어를 받아들일 뿐만 아니라 구문과 단어가 특정한 application에 필요한 단어나 구문론에 맞는 것으로 제한된 문장 전체를 받아 들인다. 원하는 output은 그 음성 인식한것에 맞는 기계적인 표현으로 바꾸는 것인데 이 변환 과정에는 음성을 음파적으로 인식하는 것과, 언어학적인 면에서 인식하는것과, 통계적인 전문성에서 인식하는 것이 필요하다.
- PrivateHomepageMaking . . . . 2 matches
여러가지 언어를 아파치에 붙여서 웹 페이지를 운영가능하다.
워낙에 위키 클론이 많이 존재하고 다양한 언어로 만들어 졌기 때문에 일일이 나열하기 힘들정도다.
- ProgrammingContest . . . . 2 matches
나이나 학력 제한이 전혀 없습니다(Open경우). 팀은 세명까지 가능하고, 혼자서도 참가 가능합니다. 사용 가능 언어는 Java, C++, Pascal, Python 등 입니다. 제한 조건은 한 팀은 프로그램 개발을 위해서는 하나의 컴퓨터만 사용해야 한다는 것입니다. 이번 금요일(2002/5/10)에 한국 시간으로는 오후 9시부터 5시간 동안입니다. 온라인(이메일)으로 진행합니다. (see also .http://ipsc.ksp.sk/rules.php )
만약 팀을 짠다면 두사람은 PairProgramming으로 코딩을 하고(이 때 Interactive Shell이 지원되는 인터프리터식 언어라면 엄청난 플러스가 될 것임), 나머지 하나는 다른 문제를 읽고 이해하고, (가능하면 단순한) 알고리즘을 생각하고 SpikeSolution을 종이 위에서 실험한 뒤에 현재 커플이 완료를 하면 그 중 한 명과 Pair Switch를 하고 기존에 코딩을 하던 친구 중 하나는 혼자 다른 문제를 읽고 실험을 하는 역할을 맡으면 효율적일 겁니다. 즉, 두 명의 코더와 한 명의 실험자로 이루어지되 지속적으로 짝 바꾸기를 하는 것이죠.
- ProjectZephyrus/ClientJourney . . . . 2 matches
* 작업상황이 막바지인것을 실감할 거 같다. 엄청나게 길어진 코드를 보면 알 수 있다. 내가 없는 사이에 엄청나게 많은 변화가 있었다. 주석이 없는 코드라서 그런지 해석하는 데 애먹었다. 이궁...CVS 사용을 며칠 안해봤다고 또 잊어먹었다. 바부..도움말 뒤지는 중이다. 아마 이번 프로젝트에서 내가 가장 크게 느끼는 것은 영서와 비슷할 것 같다. 자바 언어에 대한 공부보다는 프로젝트 진행 방법, 팀프로젝트에서 개인과 팀의 역할 등을 가장 크게 배우는 것 같다. 예전에 친구와 함께 뭐 하나 하다가 어설프게 끝난 적이 있는데 아마 내가 그만큼 어설프게 진행했던 것 같다. 아무튼 이번에 가장 크게 느낀 점이다. 또 하나 느낀점이 있다면 형하고 pair 하려면 이정도로 공부하고 노력해서는 부족할 것 같다는 생각이다. 아직 내가 갈 길은 멀었다는 생각이... -_-;; 이번에 확실히 늘어난 실력은 아마도 소켓의 개념이 아닐까...-_-;;
중반 어느정도 대부분의 목표 코드가 나와서 나머지를 채워넣는 과정에 대해서는 Solo 로 영서에게 시켰는데, 아직까진 프로그래밍에 익숙하지 않은 듯 싶다. 자꾸 해당 부분을 플밍하려는데에서 같은 부분이 구현된 소스코드가 있음에도 불구하고 자꾸 책을 찾아보려고 한다. 자신감의 차이였을까. 해당 부분에 대해 꼭 코드를 외워서 플밍하려 하지 않았으면 한다. '하려는 일' -> '각 언어별 구현 방법 순서 잡아보기' -> '구현' 의 과정을 거치거나, 해당 부분에 대해서 응용할 수 있는 이전에 만들어진 코드 (책의 코드 말고 현재 '작성된' 코드)를 들춰보고 생각해봤으면 하는 생각이 든다. [[BR]]
- QuestionsAboutMultiProcessAndThread . . . . 2 matches
* A) processor라고 쓰신 것이 아마도 process를 의미하는 것 같군요? scheduling 기법이나, time slice 정책, preemption 여부 등은 아키텍처와 운영체제 커널 구현 등 시스템에 따라 서로 다르게 최적화되어 설계합니다. thread 등의 개념도 운영체제와 개발 언어 런타임 등 플랫폼에 따라 다를 수 있습니다. 일반적으로 process의 context switching은 PCB 등 복잡한 context의 전환을 다루므로 단순한 thread 스케줄링보다 좀더 복잡할 수는 있으나 반드시 그런 것은 아닙니다. - [변형진]
* 아키텍처, 운영체제, 개발 언어 런타임 등 해당 플랫폼 환경에서의 thread 구현 방식에 따라 다를 수 있습니다. - [변형진]
- Ruby/2011년스터디 . . . . 2 matches
* C기반 언어와 다른 구문: else if->elsif, try-catch-finally -> begin-rescue-ensure
* 루비는 진화중인 언어. 루비의 많은 부분들이 논쟁의 중심에 있다.
- ServerBackup . . . . 2 matches
1. 언어 선택
1. 해당 언어로 ftp접속
- Squeak . . . . 2 matches
스퀵은 스몰토크(Smalltalk)입니다. 일반적으로 스몰토크라 그러면 국내에서는 컴퓨터 역사의 한 부분으로 과거의 언어정도로 생각하고 있습니다. 그래서인지 국내에서는 일부 취미 생활로 공부하는 사람, 극(극극극극)히 적은 특정 분야의 회사를 제외하고는 쓰이지 않습니다. 그러나 스몰토크는 진보적이라면 진보적이지 결코! 절대로! 과거의 고리타분한 언어가 아닙니다. 무엇보다도 스몰토크는 무척! 즐겁습니다. 특히 '스퀵'은 더 즐겁습니다. ;) (소개글은 http://squeak.or.kr 에서 퍼왔습니다)
- VisualBasicClass . . . . 2 matches
언어같지 않은 언어 -_-;; 비베를 배운다. OCU 과목으로 흔히들 많이 듣는 과목이다.
- VisualBasicClass/2006/Exam1 . . . . 2 matches
③ 대표적인 언어로서는 Visual, C+ +, Visual Basic등이 있다.
⑤ 객체 지향적인 언어이다.
- WhatToProgram . . . . 2 matches
자기 삶에서 의미가 있는 프로그램을 만들게 되면 스스로가 사용자가 된다. 목적이 분명해 진다. 자기가 편한 프로그램을 만드는 것이다. 이 프로그램은 꼭, "내가 쓸 마음이 나는 프로그램"이어야 한다(그 프로그램을 만들고 싶은 열정이 생기고, 그걸 생각하면 가슴이 두근거린다면 더더욱 좋다 -- 이런 호기가 있을 때 그것을 충분히 누리도록 하라). 아무리 간단한 프로그램일지라도 나에게 가치있는 프로그램은 존재한다. 특정 언어에 대한 경험이 한 두 달일지라도 분명 그런 프로그램을 만들 수 있다. 대부분은 다른 프로그램들을 엮어주는 것일지도 모른다. 만약 난관에 부딪혔다면 책을 읽고, 사람에 묻고 자료를 검색해서 기술과 도구를 배우면 된다.
사실 이 단계에서는 꼭 어떤 사용을 전제로 하지 않더라도 열정을 갖게 해주는 프로그램이라면 괜찮다. 어떤 것에 대해 호기심이 생기는가? 컴퓨터로 실험을 해보고 싶은가? 그 생각이 밥을 먹거나, 잠을 자거나 떠나지 않는다면 프로그램 하라. 그냥 이걸 프로그램하면 공부가 될 것 같다든가, 혹은 남들이 다 하길래 한다든지 하는 것과는 질적으로 다른 경험을 할 것이다. 열정을 가진 것은 대부분 가슴 속에 그 모양이 이미 형성이 되어 있다. 조각가는 조각품의 형상을 이미 가슴 속에 품고 있다. NoSmok:최한기 는 이것을 강조한다. 일이 제대로 이루어지려면 그 일을 흉중에 품고 있어야 한다고. 머리 속에서, 정말 손끝에 잡힐 것만 같고, 그 프로그램이 살아있는 것 같이 느껴진다면 프로그램 하라. 자신의 아이디어를 컴퓨터가 이해하는 언어로 표현해 내는, 그리고 그 프로그램이 자신의 아이디어를 더 발전시키게 하는 능력을 갖게 될 것이다.
- XMLStudy_2002/Encoding . . . . 2 matches
*단순한 텍스트 형태의 XML문서를 다양한 언어로 작성하기위해 각 언어에서 사용하는 인코딩 방식을 사용한다.
- XUL . . . . 2 matches
모질라 계열 브라우저에서 실행 가능한 [XML] 기반의 프로그래밍 언어.
[언어분류]
- XpQuestion . . . . 2 matches
각 Practice 를 공부를 하다보면, 저것들이 이루어지기 위해서 공부해야 할 것들이 더 있음을 알게 된다. (의식적으로 알아낼 수 있어야 한다고 생각한다.) Refactoring 을 잘하기 위해선 OOP 와 해당 언어들을 더 깊이있게 이해할 필요가 있으며 (언어에 대해 깊은 이해가 있으면 똑같은 일에 대해서도 코드를 더 명확하고 간결하게 작성할 수 있다.) CrcCard 를 하다보면 역시 OOP 와 ResponsibilityDrivenDesign 에 대해 공부하게 될 것이다. Planning 을 하다보면 시간관리책이나 일거리 관리책들을 보게 될 것이다. Pair 를 하다보면 다른 사람들에게 자신의 생각을 명확하게 표현하는 방법도 '공부'해야 할 것이다. 이는 결국 사람이 하는 일이기에. 같이 병행할 수 있고, 더 중요한 것을 개인적으로 순위를 정해서 공부할 수 있겠다.
- ZeroPageServer/old . . . . 2 matches
* 헉, webalizer 가 지워져 있었다. 새로 설치하니 언어문제로 충돌난다. 그래서 /etc/cron.daily 에 있는 webalizer 스크립트에 언어 설정 추가했다.
- ZeroPage성년식/회의 . . . . 2 matches
01. 요즘 대세인 언어? (내가 제일 잘 나가)
02. 많은 언어를 배우면 어떤 장점이 있는가?
- django . . . . 2 matches
* 대안언어 축제 튜토리얼 실습을 따라서 해본 결과 이것을 익히면 되게 효율이 높아질것 같다.
* [http://altlang.org/fest/EnglishStudyWithDjango 대안언어축제에서실습한장고] : 실제로 웹 개발을 따라서 해본다.
- html5/문제점 . . . . 2 matches
* HTML5는 마크업 언어(프로그래밍 언어X)로서 브라우저에만 해당 되지만
- naneunji/Diary . . . . 2 matches
프로그래밍파티 첫날..생소한 언어를 고르라구 했는데 내가 고른 python은 생각해보니..한번은 본 언어였음.
- neocoin/Log . . . . 2 matches
* 프로그래밍 언어론 4th 한서 ( Concepts of Programming Language ) : PL 수업
* 프로그래밍 언어론 한서 : p200
- pragma . . . . 2 matches
C 와 C++ 을 구현한 각각의 컴파일러에는 포팅된 하드웨어나 OS 에 의존적인 몇몇가지들의 기능을 가지고 있다. 일례로 몇몇의 프로그램들은 메모리에 데이터가 어떠한 방식으로 자리잡을 것인지 에 관한 문제나 함수가 파라미터들을 조작하는 방법들에 대한 세밀한 조작이 요구된다. #pragma 지시어들은 C 와 C++ 언어 안에서 최소한의 호환성을 유지시키며 그러한 시스템 의존적인 명령어들을 언어의 기능으로서 포함시키는 일을 한다. Pragma 지시어들은 일반적으로 '''컴파일러들 마다 서로 다르다'''.
- 강희경/메모장 . . . . 2 matches
=== 언어 ===
[http://gukgang.hihome.com/]이강일의 언어영역
- 경세준 . . . . 2 matches
새싹교실 '''씨'''언어'''발'''전 능력없는 강사
* 제로페이지 새싹교실 강사 - 강사 경세준 / 학생 - 권원, 하수영, 이상태 (씨언어발전)
- 구구단/유상욱-Scheme . . . . 2 matches
음... 굉장히 괄호 사용이 많은 언어군요... 이런 언어 싫어하는데...ㅠ.ㅠ
- 구글을지탱하는기술 . . . . 2 matches
* [Sawzall] : 분산처리용 프로그래밍 언어. 스크립트 언어
- 나를만든책장관리시스템 . . . . 2 matches
= 개발 언어 & 환경 기타등등 =
* 언어 - PHP, Javascript, HTML
- 논문번역/2012년스터디/신형준 . . . . 2 matches
특히, 선형판별인식, 이서 문자 모델, 그리고 통계적 언어 지식의 설립에 내용이 조사되어 있다. 어휘가 자유로운 자필인식에 대한 평가 결과들은 제안된 방법들이 효과적임을 보여준다.
전처리 과정과 특징추출에 대한 방법이 묘사되었다. 그리고 게다가 선형 판별 해석, 이서 특징 모델들의 사용, 그리고 통계적인 언어 모델들과 같은 더 세련된 기술들을 살피게 될 것이다.
- 데블스캠프2003/다루어볼문제와관련세미나 . . . . 2 matches
* 회의 때 나왔던 주제들 입니다. OOP, Computer System, 다양한 프로그램 언어 체험, 네트워크
* 작년 프로그램 잔치때 했던 여러 언어 중 하나를 골라서 뭔가를 짜보는 것도 괜찮을듯.. 여러가지 패러다임을 익히는 게 중요하다는 것을 알아서리.. --인수
- 데블스캠프2004/목요일후기 . . . . 2 matches
희경이는 잠이 많다. C는 최근 나온 언어들에 비해 문법들이 쓰기 불편하다. 그리고 데블스캠프는 힘들다고 느꼈다. 프로그래밍의 세계는 무궁무진하다. 여러 언어들을 접해보면 프로그래밍에 도움이 많이 된다는 교훈을 얻었다 --[노수민]
- 데블스캠프2004/세미나주제 . . . . 2 matches
* C** 제외한 다른 언어 SeeAlso [언어분류]
- 데블스캠프2010 . . . . 2 matches
|| 15 || 이덕준 || [스터디그룹패턴언어] || 토 저녁 식사 후 ||
|| 6시 ~ 8시 || [김준석] || [RUR-PLE] || [남상혁] || [게임 프로그래밍] || [조현태] || [wiki:PythonLanguage Python] || [김홍기] || [PHP-방명록만들기] || [이덕준] || [스터디그룹패턴언어] ||
- 데블스캠프2010/다섯째날/후기 . . . . 2 matches
= 스터디그룹패턴언어 (강사: 이덕준) =
* [스터디그룹패턴언어]의 몇 가지 패턴을 짝을 지어 (독해 수준으로만)번역해보는 시간을 가졌습니다. 주제에 대한 흥미 유발에 실패한 것 같은데, 제 책임이 큰 것 같습니다. 두어 개 패턴만 골라서 깊이 생각하고 의견을 서로 나누는 기회를 가졌다면 어땠을까 싶습니다. 긍정적인 사이드 이펙트로 "번역 재미있는데?"라는 반응을 얻은 건 다행이라고 생각합니다. 번역한 결과물의 품질이 만족스러워 질 때까지 지속적으로 다듬어질 수 있길 바랍니다. -- [이덕준] [[DateTime(2010-06-28T00:27:09)]]
- 데블스캠프2010/회의록 . . . . 2 matches
== 스터디 그룹 패턴 언어 (강사 : [이덕준]) ==
* 파이썬 - 파이썬 언어에 대해 관심을 가지게 한 강의였음. -[김준영] 학우
- 무엇을공부할것인가 . . . . 2 matches
SeparationOfConcerns로 유명한 데이비드 파르나스(David L. Parnas)는 FocusOnFundamentals를 말합니다. (see also ["컴퓨터고전스터디"]) 최근 작고한 다익스트라(NoSmok:EdsgerDijkstra )는 수학과 언어적 능력을 말합니다. ''Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer. -- NoSmok:EdsgerDijkstra '' 참고로 다익스트라는 자기 밑에 학생을 받을 때에 전산학 전공자보다 수학 전공자에게 더 믿음이 간다고 합니다.
최근 17세의 소년이 파이썬 메일링 리스트에 파이썬 언어를 배우는 것이 나중에 취직을 할 때 얼마나 도움이 될까를 물었습니다. 이에 대해 다음과 같은 답이 올라왔습니다.
- 반복문자열 . . . . 2 matches
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- for loop가 없는 언어로 작성하면 요구조건을 충족하지 못하는건가요? - 아무개
- 새싹C스터디2005 . . . . 2 matches
2005년 제로페이지 신입회원들의 C언어프로그래밍 능력 향상을 목표로 기존 회원 1명에 신입회원 다수가 각기 그룹을 이루는 스터디
언어 공부 전에 교양을 쌓고 싶다면 주제 토론을 해보는 것도 괜찮을 것입니다. [ExploringWorld]에서 그렇게 했다고 알고 있습니다.--[Leonardong]
- 새싹C스터디2005/선생님페이지 . . . . 2 matches
지난번 세미나를 잠깐 듣고 느낀것은 한번에 너무 많은것을 알려주려고 하는 것 같았습니다. 몇번의 세미나를 통해 프로그래밍 언어 한가지를 가르쳐주는 것은 불가능합니다. 주제를 더 줄이고 보다 확실하게 이해할 수 있도록 가르쳐 주는 것이 더 좋을 것 같습니다. 모든 부분을 설명하지 못해도 상관 없습니다. 어차피 언어는 스스로 익히는 것입니다. 우리가 할 일은 스스로 익히는 일에 보다 빨리 다가갈 수 있도록 조금씩 이해의 폭을 넓혀주기만 하면 되는 것입니다.
- 새싹교실/2011 . . . . 2 matches
* [새싹교실/2011/씨언어발전]
C언어의 기초적인 내용:
- 새싹교실/2011/무전취식/레벨10 . . . . 2 matches
* C언어의 과제 1과 2를 했습니다.
* 오랜만에 참여해서 C 과제를 풀었습니다. 어느새 1학기가 끝나가네요. C수업도 구조체, 파일입출력만 들으면 끝나는 것 같고, C언어에 익숙해질 수 있었던 1학기가 되었기를ㅋㅋ c 과제 저는 밤 새서 구현 다 했지만, 새로 다시 짜봐야할 것 같습니다. ㅋㅋ 4, 5번 문제는 꽤 소스가 길어지는 것 같네요. 스스로 직접 짜본다면 실력이 많이 늘듯... - [정진경]
- 새싹교실/2011/무전취식/레벨2 . . . . 2 matches
* 0과 1은 컴퓨터에서 주요한 소통 언어이다.
* 형 머리는 너무 신경쓰지 마세요....(;;;) 근데 왠지 수업보다 롤과 폴짝폴짝들이 머리속에 남는것같은 이기분은 뭘까요 ;; . 이번주에 한것도 복습조금~~(?) 하고 예습도 조금~~(?) 해서 C언어에 대해서 좀더 빨리 배워보고 싶네요 ㅠ 다음주에는 또 뭘할까요.. 내일 봉봉수업시간인데 내일은 뭘할까요.. 노트북가져가서 왠지 피카츄배구만 안하면 될거같은데.. 우걱우걱 - [강원석]
- 새싹교실/2011/무전취식/레벨3 . . . . 2 matches
* 0과 1은 컴퓨터에서 주요한 소통 언어이다.
* 이번 주 수업은 짧았습니다 약 한시간정도ㅎㅎ 제가 모르는것을 되짚어 주셔서 감사했어요 이히히 근데 숙제안해갈뻔 했네여..ㅋㅋㅋㅋ까먹고 있었어요 앞으로 위키를 자주 확인 해야겠습니당.ㅇ...C공부를 더 하기 위해 C언어 입문서를 오늘구입했습니당...ㅎㅎ 잘해지고 싶어욧~! -[이진영]
- 새싹교실/2012/AClass/4회차 . . . . 2 matches
- c언어에서는 char,int,float 와 같은 많은 수의 기본 데이터 형과 배열, 포인터, 구조체 등의 유도된 데이터형으로부터 새로운 데이터형을 만들 수 있는데, 사용자 측면에서 새로운 데이터 형을 정의 할 수 있도록 typedef선언을 제공한다. typedef은 #define과 달리 이미 존재하는 c언어의 데이터 형만을 취하여 정의하고 typedef은 프리프로세서에 의해 처리되는 것이 아니라 c컴파일러에 의해 처리된다. 또한 #define보다 다양한 형태의 치환이 가능하다.
- 새싹교실/2012/도자기반 . . . . 2 matches
* 정종민 - 아침7시에 수업, 처음에는 wiki사용법을 배웠고 먼가 처음하는 거라 생소한 wiki? 그 다음에는 요즘 C언어 시간에 배우는 수업에 대해 복습을 했다. 처음하는 c언어라 하나도 몰라 헤맸는데 복습하니 이제야 먼지 좀 알겠다는... ㅋㅋㅋ
- 새싹교실/2013/케로로반 . . . . 2 matches
* C언어의 유래와 C언어를 배워하는 이유, Hello World를 출력하는 소스를 짜고, 이것에 대한 설명과 함께 함수를 곁들이기... 하다가 return 설명하는데 30분을 버리고 ~_~
- 선희 . . . . 2 matches
깊고 넓게 언어 배우기 -ㅂ-)/
깊고 넓게 언어 배우기 -ㅂ-)/
- 손동일 . . . . 2 matches
언어마스터되기
언어공부하기
- 수학의정석 . . . . 2 matches
목적 : 이 페이지는 고등학교 때 배운 수학을 컴퓨터 언어로 구현하기 위해 만든 페이지이다. (존칭 생략)
취지 : 컴퓨터를 배우는 입장에서 컴퓨터 언어와 컴퓨터 구조만을 알고 우리들이 배운 수학이나 과학의 배경지식을 접목시키지 못하는 것은 정말 바보 같은 행동이다. 결국 그 사람은 코더밖에 될 수 없으며 결코 프로그래머는 되지 못한다. 때문에 이러한 페이지를 만들어 수학을 컴퓨터에 접목시켜 배우고자 한다.
- 쉽게Rpg게임만들기 . . . . 2 matches
* 루비란 언어를 RPG에서 쓰다니... 이게 초딩스러운게 아니었구나;; - [윤종하]
* 게임만들기 .. 만들어보구싶어지네요ㅋㅋ 안에들어간 언어들도 보면 재밌을거같구ㅎ - [박정근]
- 시간맞추기 . . . . 2 matches
(단, 프로그래밍 하는 언어에서 지원하는 범위에서 처리조건을 만족하시오.)
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 양아석 . . . . 2 matches
뭐하나라도 언어 마스터하기
C언어 마스타
- 우리홈만들기 . . . . 2 matches
* DeleteMe) 개인적으로 cgi를 위한 언어로 파이썬을 추천합니다. 물론 펄도 문자열 처리가 쉬워서 cgi에 아주 좋은 언어이지만 cgi에 써먹는 것으로 끝날 확률이 높아 보입니다. --["이덕준"]
- 이성의기능 . . . . 2 matches
책을 번역한 사람이 한동안 방송가를 떠들썩하게 한 '김용옥' 씨인데. 방송에서의 김용옥씨에 대한 느낌은 별로 안좋았었는데 최근 그 사람이 건드린 책을 보면서 김용옥씨에 대한 나의 시각을 다르게 한 책이기도 하다. 단순히 번역이 아닌 '역안'. 즉, 본래의 영어 원문을 실은뒤, 그 밑에 번역을 놓고, 그 밑에는 책을 읽으면서 자기 나름대로의 해석을 실는 방식을 취하고 있다. (한편으로는 김용옥씨가 주장하는 '기철학'을 설명하기위해 화이트헤드의 글을 끌어왔다라는 생각도 들긴 했지만) 이로 인해서 이해가 더 잘 되었다는 점과, 한편으로는 번역자의 번역중의 생각을 앎으로서 번역자의 사상에 끌러가지 않고 거리감을 두면서 읽을 수 있게 하는 장치가 된다. (번역은 제 2의 창조라고 할때, 원문에 번역자의 의도가 들어간다. 또한 언어가 다른 언어로 번역되면서 그에 따른 내용의 차이가 생길 수 있다고 할때 한편으로는 용기있는, 한편으로는 자신감 넘치는 방법이라 하겠다.)
- 이영호/기술문서 . . . . 2 matches
[간단한C언어문제]
[C99표준에추가된C언어의엄청좋은기능]
- 정모/2005.2.16 . . . . 2 matches
* eazy : 많은이야기, cse외의 지식 습득으로 cse에 도움이 되었다(유아심리학, 언어학), 예외덩어리 자연어처리는 매우 어려웠다. 결정적 좌절.
* xpweek : 과정은 좋았다. 결과가 없었다. 시간이 지켜지지 않았다. 제작물 난이도가 높았다. 성만曰, "xp에 적절치 못한 주제였다" ↔ 휘동曰, "xp 반대론자가 흔히하는 말이다" java언어의 장벽, 완성에 근접하지 않았나?? 8시간 연속코딩에 익숙치 않았다. 휘동曰, "안맞는 건 빼고 필요한 것만 넣어야 한다는 것을 배웠다."
- 정모/2011.10.5 . . . . 2 matches
* 다다음주에는 정모를 아주 간단히 진행합니다. [김수경]의 오토마타와 형식 언어 간단 세미나가 있을 예정입니다.
* 지난 주에 발표 과제를 했다가 엄청 까인지라 세미나도 좋았지만, 지원 언니의 발표 능력에 감탄했습니다. 저런 실력이 나한테도 있어야 할텐데 하면서 퀴즈 문제도 비슷하게 언어적 능력으로 갔지요. 퀴즈 하면서 중고딩 때의 기억이 새록새록 났던거같아요ㅋㅋ OMS는 그냥 쓱 하면 딱 하고 뭔가 나와서 신기했습니다. 밥 아저씨가 생각나요ㅋㅋ 재밌었어요. -[강소현]
- 정모/2012.1.27 . . . . 2 matches
* 이외에 대안언어축제, 단체 세미나 참여, Script언어의 날, 외부 학회간 교류, CNight, LETS(뭐더라;;?), 공모전 참여, ACM출전(행사..는 아니지만) 등 여러가지 회고에서 모집된 사항들을 최대한 반영해보도록 하겠습니다.
- 정모/2012.3.12 . . . . 2 matches
* 생각해보니 ZeroPage에서 세미나 형식으로 공유되는 내용들의 많은 부분이 언어에 편향되어 있는 것 같아요. 저는 아키텍처와 프레임워크, 프로젝트에 관해서도 논의가 이루어지는 것이 바람직할 것이라 생각합니다. 코드와 기술적 이슈는 구하고자 하면 반드시 구할 수 있는 문제이지만 프로젝트는 '프로그래밍과 사람'에 걸쳐있는 문제라 잘 보이지 않고 답이 정해져 있지도 않아 헤메기 쉽다고 생각해요. 답을 구하지 못하고 평생을 사는 사람도 많고
* ZP에서 애자일 얘기를 하기 조심스러운가? 난 가끔 더 조심해야할 것 같다는 생각을 해 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 그리고 너 말 보고 작년이랑 올해 OMS 쭉 봤는데 이거저거 많던데?? 근데 넌 확실히 언어 얘길 많이 했음 ㅋㅋㅋㅋㅋ - [김수경]
- 제12회 한국자바개발자 컨퍼런스 후기/유상민의후기 . . . . 2 matches
* 집에 돌아와 stan4j 돌려보고 있는데 정말 최고다. 당장 13개의 순환 의존성에 문제가 있는 지점을 찾아준다. Java 언어가 매크로가 없고 매타 프로그래밍 요소가 적다는 언어의 특성으로 이런 멋진 도구가 만들어 진다는건 정말 좋다. 특히 손영수씨가 500개 클래스 안쪽에서는 무료라고 했는데, 이런 대단한 도구가 시간 제약이 아니라 규모 제약으로 무료라니 정말 놀랍다.
- 제로페이지의장점 . . . . 2 matches
학풍이라는 것이 있다. 집단마다 공부하는 태도나 분위기가 어느 정도 고유하고, 이는 또 전승되기 마련이다. 내가 1학년 때('93) ZeroPage에서 접했던 언어들만 보면, C 언어, 어셈블리어, 파스칼, C++ 등 경계가 없었다. 친구들을 모아서 같이 ''Tao of Objects''라는 당시 구하기도 힘든 "전문" OOP 서적을 공부하기도 했다. 가르쳐줄 사람이 있었고 구하는 사람이 있었으며 함께할 사람이 있었다. 이 학풍을 이어 나갔으면 한다. --JuNe
- 조영준/CodeRace/130506 . . . . 2 matches
* 언어 : C#
* C#은 이런 저런 일을 하는데 편안한 기능이 많다보니 다른 언어로 짠 다른 분들의 코드를 보니 게을러지는 느낌이 살짝.
- 주민등록번호확인하기 . . . . 2 matches
|| 작성자 || 작성언어 || 개발시간 || 코드&변수테이블 ||
J라는 언어로 저렇게 간단하게 만들수 있다니 !!!!! 놀랍습니다..
- 책거꾸로읽기 . . . . 2 matches
인도는 하나의 나라라고 보기 어려울 정도로 다양한 인종과 종교와 언어가 버무려져 있다. 이런 다양함이 묘한 균형을 이루며 살아가는 게 인도인데 하나의 종파, 하나의 인종, 하나의 언어만을 이야기한다면 이런 균형은 깨지기 쉽다.
- 최대공약수 . . . . 2 matches
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
C언어시간에 배웠는데, 이 문제에서는 아마 값을 넘기는 함수를 만들어서 사용하라는 것인듯 -- 아영
- 최연웅 . . . . 2 matches
* 할줄 아는 언어 : 한국어, 영어, C언어
- 코바예제/시계 . . . . 2 matches
CORBA 애플리케이션이 어떤 것인지를 설정하기 위한 단순한 예제이다. 그렇기 때문에 이 코드를 그대로 사용해서는 올바르게 동작하지 않는다. 구체적인 코드는 필요에 따라서 추가해야한다. 자신이 사용할 ORB의 종류에 따라 혹은 사용할 언어에 따라서 다르게 구성될 것이다.
시간 객체에 대한 인터페이스는 ObjTimeServer이며 getTime()이라는 메소드를 가지고 있는데 getTime()는 문자 형식으로 현재의 시간을 반환해 준다. CORBA 객체를 작성하는 첫번째 단계는 인터페이스를 만드는 것이다. 인터페이스는 IDL로 작성되며 인터페이스는 IDL 컴파일러로 컴파일된다. 이 IDL 컴파일러는 기본적으로 사용자가 이용하는(예를들면 VisiBroker) ORB에 포함되어 있는 것이다. IDL로 작성된 인터페이스를 컴파일하면 컴파일러는 두 개의 코드 파일을 생성해 준다. 이 코드 파일들은 각 IDL 컴파일러가 사용하도록 약정된 프로그래밍 언어로 되어 있다. 여기에서 사용하는 ORB는 Java ORB이므로 코드 파일은 Java(Stub, Skeleton)로 되어 있을 것이다. IDL 컴파일러에 의해 생성되는 코드는 프록시 객체(proxy object) 및 스켈레톤 코드이다. 클라이언트는 프록시 객체를 사용하여 IDL로 표현된 인터페이스 타입의 객체 레퍼런스에 대한 호출을 생성한다. 바꾸어 말하녀 프록시 객체는 클라이언트가 작업을 위해 사용하는 대리("stand-in") 객체인데 원격 객체가 마치 지역 객체처럼 보이게 해준다는 것이다. 스켈레톤 코드는 이러한 인터페이스를 지원하는 객체에 액세스하기 위해 사용된다. 생성되는 코드는 위치 투명성을 구현한다. 위치 투명성을 통해 객체 레퍼런스를 변환하여 네트웍 연결을 퉁해 원격 서버로 보내며, 객체 레퍼런스에 대한 오퍼레이션에 따르붙는 파라미터를 ["마샬링"]하고, 이를 객체 레퍼런스가 지시하는 객체의 현재 메소드에 전달하여 메소드를 수행하고 그 결과를 반환하려고 하는 것이다. 바꾸어 말하면 클라이언트는 IDL 컴파일러에 의해 생성된 프록시 객체를 가지고 작업을 하는데, 그것이 마치 지역 객체로 작업하는 것처럼 보일 것이라는 의미이다. ORB와 통신하는 것이 프록시 객체의 임무이며 ORB는 네트웍 연결을 관리하고 파라미터를 실제 서버 함수에 넘겨주며 결과를 리턴한다. 이런 식으로 수행에 대한 투명성을 유지한다.
- 파스칼삼각형/김수경 . . . . 2 matches
간단하게 만들 수 있어서 여러 언어로 짜서 올리면 좋았을텐데
조금이라도 쓸 줄 아는 언어가 C, C++, Java.. 죄다 비슷한 것들뿐이라 gg.
- 프로그래머의편식 . . . . 2 matches
이처럼 편식하는 것을 마치 guru인척 하는 것을 프로그래머들 사이에선 흔하게 볼 수 있다. OS나 에디터 뿐만 아니라 프로그래밍 언어, 패러다임, 라이브러리, 심지어는 키보드나 마우스에 이르기까지 자기가 선호하는 것만을 고집하며 그외의 것에 대해 베타적인 태도를 보인다.
해피 해킹 키보드를 쓴다고 다 guru가 되는게 아니다. vim을 화려하게 쓴다고 코딩을 잘하는 것도 아니다. 중요한 것은 프로그래밍의 본질에 대한 것이며, 그것은 플랫폼이나 언어를 뛰어넘는 것이다. 그것은 알고리즘이기도 하고 패턴이기도 하고 경험이기도 하다. 때론 수학이기도 하다.
- 프로그래밍파티 . . . . 2 matches
* 개발언어 : 자유선택 (OOPL 언어로 해둡니다)
- 05학번만의C++Study/숙제제출1/조현태 . . . . 1 match
너는 C++언어를 많이 써봤겠지만, 대다수는 안그렇거든.. iostream에 대한 정보도 익숙치 않아.
- 1thPCinCAUCSE/ProblemA/Solution . . . . 1 match
|| 답안 || 누구의 || 무슨 언어로의 || 몇시간 걸린 ||
- 2005리눅스프로젝트<설치> . . . . 1 match
* 데비안 밀었다가 다시 설치하고 싶은데.. 그나저나 이번주 월요일은 스터디 쉬는거지?? 학교도 안가는데..그렇담 여유가 좀 있군... 아님 낭패..ㅋㅋ [[BR]]그리고 질문!! Fedora로 통일해야하는거야?? 아님 Fedora 를 중심으로 돈다는건가? ...<< 그게 그말인가?? 요즘언어의 장벽을 느끼는 형노.;;;;;; [(laciel)형노]
- 2010Python . . . . 1 match
* [윤종하] - 지난 시간에 했던 Pascal's Triangle의 알고리즘을 수정하여 C++, python의 속도비교. 인터프리터 언어가 확실히 느림. 아마도 작동 원리의 차이인 듯
- 2thPCinCAUCSE . . . . 1 match
* 사용언어: C/C++ with Visual C++ 6.0
- 2thPCinCAUCSE/ProblemA/Solution . . . . 1 match
|| 답안 || 누구의 || 무슨 언어로의 || 몇시간 걸린 ||
- 2thPCinCAUCSE/ProblemB/Solution . . . . 1 match
|| 답안 || 누구의 || 무슨 언어로의 || 몇시간 걸린 ||
- 2thPCinCAUCSE/ProblemC/Solution . . . . 1 match
|| 답안 || 누구의 || 무슨 언어로의 || 몇시간 걸린 ||
- 2학기파이선스터디/함수 . . . . 1 match
* 내장 영역(built-in scope) - 파이썬 언어 자체에서 정의한 내용
- 3rdPCinCAUCSE . . . . 1 match
사용언어: C/C++ with Visual C++ 6.0
- 5인용C++스터디/후기 . . . . 1 match
중간에 빠졌던 날이 좀 부담됐지만 ! 결국 끝까지 4번 결석 압박을 견뎌내며 스터디를 마무리해서 기쁘네요.ㅋㅋ MFC를 했으니 이제 부담은 많이 줄었고요. 더불어 새 언어를 배우는데도 부담스럽지 않을 거라는 생각도 드네요. 자. 다음 스터디를 향해 전진~!
- ACM_ICPC/2011년스터디 . . . . 1 match
* 한 사람 : 다른 언어 혹은 다른 방법으로 JollyJumpers 다시 짜오기
- AOI . . . . 1 match
* 기존 [AOI] 경우는 쉬운 문제 위주여서 언어실력의 기초를 다지는 효과가 컸지만 앞으로는 심도있는 문제를 풀어보며 알고리즘과 문제해결능력향상 위주의 공부를 하도록 하겠습니다.
- AOI/2004 . . . . 1 match
오늘은 오래간만에 C++로 코딩해 봤다. 속도 최우선 프로그래밍으로... 다음에 할 때는 다른 언어로, 또는 OOP로, 또는 TDD로 코딩해봐야겠다. --재동
- APatternLanguageForStudyGroups . . . . 1 match
[스터디그룹패턴언어]로 [페이지이름바꾸기]했습니다. --[이덕준]
- AcceleratedC++/Chapter10 . . . . 1 match
표준 라이브러리가 아닌 기본언어의 일부로서 하나 이상의 같은 타입의 객체들로 이루어진 시퀀스입니다. 단 배열 요소의 갯수는 컴파일 시에 알 수 있어야합니다.
- AcceleratedC++/Chapter11 . . . . 1 match
사실 이렇게 상세한 객체의 행동양식을 규제할 수 잇는 언어로는 C++이 유일하다. (그만큼 클래스를 작성할때 많은 것들이 고려되어야한다.)
- AcceleratedC++/Chapter13 . . . . 1 match
delete cp; // 언어적으로 널포인터를 해제하는 것은 문제가 없으므로 체크하는 코드를 넣지 않아도 된다.
- AcceleratedC++/Chapter4 . . . . 1 match
3장까지 봤던 것은 첫번째것만 있고, 나머지 것은 없다. 프로그램이 작을때는 별로 상관없지만, 커지기 시작하면서부터 2,3번째 것이 결여되면, 나중엔 제어가 불가능해진다. C++에서는 다른 언어와 마찬가지로 함수 + 자료구조를 제공함으로써, 프로그램을 구조화시킬수 있는 방법을 제공한다. 또한 함수 + 자료구조를 묶어서 가지고 놀 수 있는 class라는 도구를 제공해준다.(Chapter9부터 자세히 살펴본다.)
- AcceleratedC++/Chapter6 . . . . 1 match
* isspace는 표준 라이브러리에서 지원하는 함수임에다 불구하고, 왜 따로 만들었을까? 바로 isspace는 여러 언어 버젼으로 오버로딩 되어 있기 때문이다. 템플릿 함수의 인자로 오버로딩된 함수를 넘겨주는 것은 쉽지 않다. 어떤 버젼인지 알수가 없기 때문이다. 이것이 우리가 isspace역할을 하는 함수를 새로 만든 이유다.
- ActiveXDataObjects . . . . 1 match
마이크로소프트 ADO(ActiveX Data Objects)는 데이터 소스에 접근하려고 고안된 COM객체이다. 이것은 프로그래밍 언어와 데이터 베이스 사이의 층을 만들어준다. 이 층은 개발자들이 DB의 구현부에 신경쓰지 않고 데이터를 다루는 프로그램을 작성하도록 해준다. ADO 를 이용할 경우, 데이터베이스에 접근하기 위해서 SQL 을 알 필요는 없다. 물론, SQL 커맨드를 수행하기 위해 ADO 를 이용할 수 있다. 하지만, SQL 커맨드를 직접 이용하는 방법은 데이터베이스에 대한 의존성을 가져온다는 단점이 있다.
- AdventuresInMoving:PartIV . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- AnEasyProblem . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- AntOnAChessboard . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- AppletVSApplication/상욱 . . . . 1 match
자바가 일약 웹 프로그래밍 언어의 표준으로 등장하게 된 데에는 무엇보다 자바 애플릿의 매력이 큰 영향을 미쳤다.
- AppletVSApplication/영동 . . . . 1 match
* 잘못된 코드로 시스템의 다른 부분이 영향을 받지 않는다. 자바 언어와 애플릿 구조에서 갖고 있는 보안성 때문이다. 이런 점 때문에 회사 내부에서만 사용하는 소위 인트라넷 클라이언트/서버 시스템에 자바가 널리 사용되고 있다.
- ArtificialIntelligenceClass . . . . 1 match
요새 궁리하는건, othello team 들끼리 OpenSpaceTechnology 로 토론을 하는 시간을 가지는 건 어떨까 하는 생각을 해본다. 다양한 주제들이 나올 수 있을것 같은데.. 작게는 책에서의 knowledge representation 부분을 어떻게 실제 코드로 구현할 것인가부터 시작해서, minimax 나 alpha-beta Cutoff 의 실제 구현 모습, 알고리즘을 좀 더 빠르고 쉬우면서 정확하게 구현하는 방법 (나라면 당연히 스크립트 언어로 먼저 Prototyping 해보기) 등. 이에 대해서 교수님까지 참여하셔서 실제 우리가 당면한 컨텍스트에서부터 시작해서 끌어올려주시면 어떨까 하는 상상을 해보곤 한다.
- AsemblC++ . . . . 1 match
== 어셈블을 이용한 [고급언어디버깅] ==
- AustralianVoting . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- AutomatedJudgeScript . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Basic알고리즘/63빌딩 . . . . 1 match
|| 이름 || 사용언어 || 코딩 ||
- Basic알고리즘/빨간눈스님 . . . . 1 match
|| 이름 || 언어 || 코드 ||
- BeeMaja . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- BirthdayCake . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- BookShelf/Past . . . . 1 match
1. 유아언어발달과교육(주명희) - 20050110
- BusSimulation . . . . 1 match
* 원래 대안언어 축제 코드 첼린지에 6단계까지 해서 내려던 문제인데(답 검증을 못한 관계로 2단계로 축소후 일부 문제로만 냄) 이왕 만든거 아까워서 이렇게 올림 - [상협]
- B급좌파 . . . . 1 match
맨날 '학연이네 지연이네 지역감정이 어쩌네' 하면서, 무심코 나는 그 사람에게 폭력을 행사한 것이리라. 차라리 그냥 'ZeroPage 에서 활동중 누구입니다' 라고 할걸. 온라인 모임이름이라면 그래도 1년에 10만 이상 못들어가는 대학교보단 그래도 덜 폭력적이련만. (하긴 결국 중대모임이므로 똑같으려나..) 나의 언어에선 당연한 세상이 다른 사람들에겐 당연할 수 없는 세상인 경우가 있다. 순간에 대해서 민감할 수 있었더라면. 깨어있었다면. -- ["1002"]
- CNight2011/윤종하 . . . . 1 match
* 지원 누나의 C언어로의 구조 설명
- CORBA . . . . 1 match
CORBA(Common Object Request Broker Architecture)는 소프트웨어 객체가 분산 환경에서 협력하여 작동하는 방식에 대한 일단의 명세서이다. 이 명세서에 대한 책임 기관은 OMG이며, 소프트웨어 업계를 대표하는 수 백 개의 회원 업체로 이루어져 있다. CORBA의 핵심부분은 ORB이다. ORB는 객체의 소비자인 클라이언트와 객체 생산자인 서버 사이에서 객체를 전달하는 일종의 버스로 생각될 수 있다. 객체의 소비자에게는 IDL이라는 언어를 이용한 객체 인터페이스가 제공되며, 객체의 생상자에 의해 제공되는 객체의 자세한 구현사항은 객체의 소비자에게는 완전히 숨겨진다.
- CarmichaelNumbers . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- ChainsawMassacre . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- ChartDirector . . . . 1 match
Python 뿐만 아니라 다양한 언어들을 지원. Documentation 또한 잘 되어있고 사용도 간단.
- CheckTheCheck . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- ChocolateChipCookies . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Chopsticks . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- CleanCodeWithPairProgramming . . . . 1 match
1. 기준 언어 : Java
- CodeConvention . . . . 1 match
* 각 언어마다, Code Convention or Style, Notation, Naming 제각각이지만 일단은 Convention으로 해두었음 --["neocoin"]
- CodeRace/20060105 . . . . 1 match
* 창준이형 저것이 무슨 언어에요? 되게 짧게 가능하네요,, - [(namsang)]
- CollectiveOwnership . . . . 1 match
Wiki:RefactorLowHangingFruit . 고쳐야 할 것이 많다면 오히려 조금씩 고치도록 한다(그리고 고치는 작업을 엔지니어링 태스크로 혹은 유저 스토리로 명시화해서 관리한다). 고치는 중에, 5분 정도의 단위로 테스트를 해봐서 하나도 문제가 없도록 고쳐 나가야 한다. 섬과 육지를 연결하는 다리가 있을 때, 이걸 새 다리로 교체하려면 헌 다리를 부수고 새 다리를 만드는 것이 아니고, 새 다리를 만든 다음 헌 다리를 부수어야 하는 것이다. {{{~cpp formatText(String data)}}}을 {{{~cpp formatText(String data,boolean shouldBeVeryFancy)}}}로 바꾸어야 한다면, {{{~cpp fancibleFormatText}}}를 만들고, 기존의 {{{~cpp formatText}}}를 호출하는 곳을 {{{~cpp fancibleFormatText(data,false)}}}로 하나씩 바꿔나가면서 계속 테스트를 돌려보면 된다. 이게 완전히 다 되었다고 생각이 들면 {{{~cpp formatText}}} 정의를 지워본다. 문제가 없으면 {{{~cpp fancibleFormatText}}}를 {{{~cpp formatText}}}로 rename method 리팩토링을 해준다. 하지만 만약 이 작업이 너무 단순 반복적인 경우에, 충분히 용기가 생기고, 또 확신이 들면 이 작업을 자동화할 수 있다(OAOO). 예컨대 IDE에서 지원하는 자동 리팩토링을 사용하거나, 정규식을 통한 바꾸기(replace) 기능을 쓰거나, 해당 언어 파서를 이용하는 간단한 스크립트를 작성해서 쓰는 방법 등이 있다. 이렇게 큰 걸음을 디디는 경우에는 자동화 테스트가 필수적이다.
- CommonPermutation . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- CommonState . . . . 1 match
초기 컴퓨터는 용량이 너무 적어서, 프로그램 짧게 만들기 이런걸 많이 해야만 했다. 당연하지만 그걸 알아볼 수 있으리라는 기대는 하지 않았다. 그러다가 용량이 커지니까 이제는 많고 많은 state들을 사용하는 많고 많은 함수들을 많이 사용하게 되었다. 하나 고칠라면 전체를 뜯어 고쳐야 했다. state로서의 프로그램은 안좋다. 그러니 state도 안좋다(??) 이런 상황에서 state가 없고, 프로그램만 있는 함수형 언어가 나오게 되었다. 개념적인 우아함과 수학적인 우아함을 갖추고 있음에도 불구하고, 상업적인 소프트웨어를 만드는데에는 전혀 쓰이지 않았다. 이유는 사람들은 state를 기반으로 생각하고 모델링하기 때문이었다. state는 실세계에 대해 생각하는 좋은 방법이다. 객체는 두 가지의 중간이다.(?이렇게 해석해야하나..--;) state는 잘 다뤄질때만 좋다. 작은 조각으로 나누면 다루기 쉬워진다. 이렇게 하면 변화를 어느 한 곳만 국한시킬 수 있게 된다.
- CompleteTreeLabeling . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- ConstructorMethod . . . . 1 match
하지만 이 패턴은 C++/Java에서는 별로 필요가 없을듯하다. 생성자의 오버로딩을 언어 차원에서 지원해주는데 굳이 쓸 필요가 있나 하는 생각이 든다. 하지만 스몰토크에서는 new를 오버로딩하는걸 그리 반겨하는것 같지는 않다.
- ContestScoreBoard . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Counting . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Cpp에서의가변인자 . . . . 1 match
[Java] 1.5 언어 스펙에서 가변인자 관련 문법이 추가되었다. 자바에 곧 printf 가 추가될 것이다.; --[1002]
- Cpp에서의멤버함수구현메커니즘 . . . . 1 match
C++에서는 NULL 이 키워드로 존재하지 않고, 0 이라고 확실히 약속되어 있지 않기 때문에 검사자체가 불가능합니다.그러나 vm상의 언어들은 그래서 모두 null에 해당하는 키워드가 존재하고 검사가 가능합니다.
- CryptKicker . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- CryptKicker2 . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Curl . . . . 1 match
Curl은 미국 MIT(매사츄세츠 공과대학)의 연구 프로젝트에서 시작된 새로운 Web 언어입니다. 서버에 대부분의 처리가 집중되는 기존의 웹 어플리케이션과는 달리 클라이언트측에서 대부분의 처리를 실행하는 「리치·클라이언트」를 실현할 수 있는 점이 최대의 특징입니다. 실현 가능한 어플리케이션을 중심으로 Curl의 전모를 알아 보도록 하겠습니다.
- CuttingSticks . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- C언어정복/4월6일 . . . . 1 match
[C언어정복]
- DataCommunicationSummaryProject/Chapter4 . . . . 1 match
* 예: 같은 말을 여러 나라 언어로 보내도 모국어만 알아들음
- DermubaTriangle . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- DesignPattern2006 . . . . 1 match
* Java 언어로 배우는 디자인 패턴 입문
- DesignPatterns/2011년스터디/1학기 . . . . 1 match
1. CRC 모델링에 대해 설명하는 부분에 '''도메인 영역의 언어로 문제를 기술하라'''는 말이 인상적이었다. get과 set을 사용할 필요가 없다는 걸 와닿게 하는 말이었다. 언젠가 정모에서 ''체험 OO 현장''같은 활동을 해보고 싶음. 우리 모두 객체가 되어보아Yo :)
- DevCppInstallationGuide . . . . 1 match
└'''기본언어로 설정'''을 해주면 선택사항이 고정됩니다. 프로젝트 이름은 프로그램 이름이라고 생각하면 됩니다.
- DocumentObjectModel . . . . 1 match
DOM은 HTML, XML문서를 다루는 API이다. 이것은 프로그래밍 언어와 플랫폼에 비종속적이다. 인터페이스의 뒷쪽에서 이 문서는 객체지향 모델로 다루어진다.
- Doublets . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- DrawingToy . . . . 1 match
사용언어: MFC
- EightQueenProblem2 . . . . 1 match
||도전자||총수정시간||최종 소스라인수(주석제외)||사용언어||
- EightQueenProblemSecondTry . . . . 1 match
|| ||||||총개발시간||||||LOC|||||| 언어 ||소스||
- EnglishSpeaking/2011년스터디 . . . . 1 match
* [송지원] - 말하기를 할 때마다 느끼지만 자신이 하고자 하는 말을 다른 언어로 표현하는게 참 쉽지가 않아요. 쉬운 말이라고 해도 안써버릇 하면 단어라던가 어휘가 생각이 나지 않고, 처음에 6피에서 영어로 입을 트자니 어찌나 부끄럽던지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 해외경험도 있는 주제에 이렇게 허접한 영어 실력이라니 막막해지네요ㅠㅠ 그래도 열심히 해야겠다는 생각에 지금 심슨 영상도 뽑아내고 있고 그래요-_-; 앞으로 우리 울렁증을 극복해보아요 화이팅 ㅠㅠ
- ErdosNumbers . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- EuclidProblem . . . . 1 match
|| 이름 || 언어 || 시간 || 링크 ||
- ExploringWorld/20040412-세상읽기 . . . . 1 match
"영문학의 대작을 읽은 적이 없다는 과학자들의 뉴스를 듣고 이들은 동정어린 쓴웃음을 던진다. 그들은 과학자들을 무지한 전문가라면서 무시한다. 하지만 그들 자신의 무지와 '전문적인 바보' 모습도 사람들을 놀라게 한다. 나는 전통적인 문화의 기준에서 높은 수준의 교육을 받았다는 사람들의 모임에 참석한 적이 있는데, 그들은 과학자들의 무지에 불신을 표명하는 데 상당히 재미를 붙인 사람들이었다. 내가 도저히 참을 수 없어서, 당신들 가운데 열역학의 제 2 법칙을 설명할수 있는 사람이 몇이나 되느냐고 물었다. 대답은 냉랭하고 부정적인 것이었다. 나는 '당신은 셰익스피어 작품을 읽은 일이 있소?'라는 질문과 맞먹는 과학의 질문을 던졌던 것이다. 그보다 더 쉬운 질문, 이를테면 '질량 혹은 가속도란 무엇인가?'(이는 '당신은 읽을 줄 압니까?'라는 것과 동등한 과학상의 질문이다.)라고 물었다면 ... 열 명에 하나가 내가 그들과 같은 언어를 사용한 것 정도는 느꼈으리라고 믿는다....가장 현명하다는 사람들 대부분은 물리학에 관한 한 말하자면 신석기 시대 선조들과 거의 같은 수준의 통찰력 밖에 가지고 있지 않는 것이다."...
- FactorialFactors . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Fmt . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- FoundationOfUNIX . . . . 1 match
* 마지막 과제로 쉘 스크립트 언어로 쓰레기통 만들기 (고려중.. 안할지도 모름.)
- FreechalAlbumSpider . . . . 1 match
주로 제로보드 데이터로 변환하기 위한 데이터베이스 저장 부분인데, 첫번째 이유로는 제로보드 DB 의 스키마를 제대로 파악하지 못한것이 문제였다. 이 문제는 프리첼->제로보드 컨버터 PHP 소스를 보고 이를 Python 으로 포팅하였다. 이전에 PHP 프로그래밍을 많이 했기 때문에 익숙했고, 어차피 같은 어족군(?)의 언어이므로 별다른 어려움이 없었다. 하지만, 테스트 경우를 명확하게 하지 않았기 때문에, 작동이 제대로 되지 않는지에 대해서는 게시판 변환뒤 매번 웹에서 나온 결과를 확인해야 했다.
- Freemarker . . . . 1 match
프리마커는 자바 서블릿을 위한 오픈소스 HTML 템플릿 엔진이다. 프리마커에서는 HTML을 템플릿으로 저장하는데 이들은 결국 템플릿 객체로 컴파일 된다. 이 템플릿 객체들은 서블리셍서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커 객체들은 서블릿에서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커는 고유의 템플릿 언어를 사용하고, 정적인 HTML페이지에 근접한 속도를 자랑한다. ..하략
- FromDuskTillDawn . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- FunctionalLanguage . . . . 1 match
[언어분류]
- FundamentalDesignPattern . . . . 1 match
근데, 지금 보면 저건 Patterns in Java 의 관점인 것 같고.. 그렇게 '필수적 패턴' 이란 느낌이 안든다. (Proxy 패턴이 과연 필수개념일까. RPC 구현 원리를 이해한다던지 등등이라면 몰라도.) Patterns in Java 에 있는건 빼버리는 것이 좋을 것 같다는 생각. (DoubleDispatch 는 잘 안이용해서 모르겠고 언어 독립적으로 생각해볼때는 일단은 Delegation 정도만?) --["1002"]
- Gof/Facade . . . . 1 match
Compiler 서브시스템은 BytecodeStream 클래스를 정의한다. 이 클래스는 Bytecode 객체의 스트림부를 구현한다. Bytecode 객체는 머신코드를 구체화하는 bytecode를 캡슐화한다. 서브시스템은 또한 Token 클래스를 정의하는데, Token 객체는 프로그램 언어내의 token들을 캡슐화한다.
- Gof/Singleton . . . . 1 match
5. class operation 보다 더 유연하다. 패키지에서 Singleton의 기능을 수행하기위한 또다른 방법은 class operation들을 사용하는 것이다. (C++에서의 static 함수나 Smalltalk에서의 class method 등등) 하지만, 이러한 언어적인 테크닉들은 여러개의 인스턴스를 허용하는 디자인으로 바꾸기 힘들어진다. 게다가 C++에서의 static method는 virtual이 될 수 없으므로, subclass들이 override 할 수 없다.
- HanoiProblem/영동 . . . . 1 match
* 음... 어셈블리 언어로 짜니 줄 수가 엄청나게 나오는 군요...
- HanoiTowerTroublesAgain! . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- HardcoreCppStudy/첫숙제/ValueVsReference/변준원 . . . . 1 match
C 언어에서 가장 기본적인 인수 전달 방법.
- Hartals . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- HaskellLanguage . . . . 1 match
[언어분류], [FunctionalLanguage]
- HerdingFrosh . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- HotterColder . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- HowBigIsIt? . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- HowManyFibs? . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- HowManyFibs?/1002 . . . . 1 match
* bigint 를 지원하는 python 이나 matlab 같은 언어에서는 더 할일이 없는 문제. 내가 공식 궁리하는 동안 옆의 분이 matlab 으로 10분만에 풀어버리다. 흑.
- HowManyPiecesOfLand? . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- HowManyZerosAndDigits . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- HowToStudyInGroups . . . . 1 match
see also [스터디그룹패턴언어]
- Ieee754Standard . . . . 1 match
부동소수점 연산/표현에 대한 IEEE 표준. 대부분의 현대 언어(Java, C++, ...)가 따르고(최소한 따른다고 광고하고) 있다.
- ImmediateDecodability . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- IsBiggerSmarter? . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- IsThisIntegration? . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- ItNews . . . . 1 match
* Lambda the Ultimate http://lambda.weblogs.com/ : 프로그래밍 언어 weblog
- JUnit . . . . 1 match
Java 언어를 위한 UnitTest Framework.
- JavaScript/2011년스터디/서지혜 . . . . 1 match
* 자바스크립트의 상속은 객체지향언어의 상속과 다르다.
- JavaStudy2003/첫번째수업 . . . . 1 match
* 자바 언어의 탄생배경
- JollyJumpers . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- JollyJumpers/남훈 . . . . 1 match
* 언어는 상관없을걸요?? 짱+_+b - [지원]
- LC-Display . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Leonardong . . . . 1 match
현재는 포항공과대학교 정보통신연구소 323호 지식 및 언어공학 연구실에서 대학원 생활을 하고 있습니다. 아직 학기는 시작하지 않았지만, 2007년 1월 2일부터 대학원 생활을 시작했습니다. 많은 격려와 지지 보내주셔서 너무 고맙습니다. [연구실메모]
- LightMoreLight . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- LinkedList . . . . 1 match
|| 작성자 || 소스 || 사용 언어 ||
- LinkedList/StackQueue . . . . 1 match
|| 작성자 || 소스 || 언어 ||
- Linux/RegularExpression . . . . 1 match
이에 대한 자세한 내용은 C언어의 <ctype.h>를 참조하면 된다.
- LionsCommentaryOnUnix . . . . 1 match
이 책의 소스코드와 주석을 읽으면서 리치와 톰슨의 머리속을 들여다 보는 느낌, 과거 베이직 언어 인터프리터를 기계어와 어셈블리어 코드를 보고 분석할 때 느꼈던 감동, 애매했던 것이 좌아악 풀려나가는 느낌... 모든 것이 물밀듯이 밀려왔다.
- LoadBalancingProblem . . . . 1 match
|| 해결자 || 개발시간 || 사용언어 || Source ||
- LoveCalculator . . . . 1 match
|| 작성자 || 언어 || 코딩시간 || 코드 ||
- LuaLanguage . . . . 1 match
게임 프로그래머들이 embedding language 로 많이 선호하는 언어. (embedding 시 용량이 작고 문법이 간편하다는점에서)
- MFC/Serialize . . . . 1 match
Introspection 기능이 있는 다른 언어들에서의 Serialize 하는 모습에 대해서는 반드시 관찰해볼 필요가 있음.~ --[1002]
- Marbles . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Memo . . . . 1 match
이 밖에도 여러가지 언어로 만든 위키가 있다. 매크로를 하나 추가하는 방법이 모두 다르다. 여러 위키에 적용할 수 있는 플러그인을 만들 수 있을까?
- MindMapConceptMap . . . . 1 match
'''마인드맵은 지극히 개인적인 도구이다.''' ["데기"]가 마인드맵에 기록하는 것들은 주로 연상 작용을 일으켜 이미 알고있는 것을 쉽게 떠오르게 할 수 있는 열쇠들이다. 마인드맵에 적힌 내용들이 그 열쇠가 되기도 하지만 그보다 마인드맵을 그리는 과정이 그 열쇠가 되어준다. 잉크가 말라 잘 안나오는 파란색 펜을 선택해서 굵은 줄로 가지를 치고 조금 삐딱한 글씨체로 ''겨울 바다''라고 썼던 일이 나중에 그 마인드맵을 다시볼때 기억의 실마리가 되어준다. 그 실마리는 언어가 될 수도 있겠지만 이미지적인 요소도 무시할 수 없다. 굴림체 ''겨울 바다''와 ["데기"]체 ''겨울 바다''를 통해 연상되는 기억에는 분명히 차이가 있을것이다.
- MineSweeper . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- MoniWikiOptions . . . . 1 match
* 언어를 설정한다. 기본값 'auto'로 브라우져 설정을 따르며, 강제로 한국어로 하고자 하면 'ko_KR'로 지정한다.
- Monocycle . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- MoreEffectiveC++ . . . . 1 match
* Item 35: Familiarize yourself with °the language standard. - 언어 표준에 친해져라.
- MoreEffectiveC++/Basic . . . . 1 match
오해의 소지가 있도록 글을 적어 놨군요. in, out 접두어를 이용해서 reference로 넘길 인자들에서는 in에 한하여 reference, out은 pointer로 new, delete로 동적으로 관리하는것을 의도한 말이었습니다. 전에 프로젝트에 이런식의 프로그래밍을 적용 시켰는데, 함수 내부에서 포인터로 사용하는 것보다 in에 해당하는 객체 사용 코딩이 편하더군요. 그리고 말씀하신대로, MEC++ 전반에 지역객체로 생성한 Refernece문제에 관한 언급이 있는데, 이것의 관리가 C++의 가장 큰 벽으로 작용하는 것이 아닐까 생각이 됩니다. OOP 적이려면 반환을 객체로 해야 하는데, 이를 포인터로 넘기는 것은 원칙적으로 객체를 넘긴다고 볼수 없고, 해제 문제가 발생하며, reference로 넘기면 말씀하신데로, 해당 scope가 벗어나면 언어상의 lifetime이 끝난 것이므로 영역에 대한 메모리 접근을 OS에서 막을지도 모릅니다. 단, inline에 한하여는 이야기가 달라집니다. (inline의 코드 교체가 compiler에 의하여 결정되므로 이것도 역시 모호해 집니다.) 아예 COM에서는 OOP에서 벗어 나더라도, 범용적으로 쓰일수 있도록 C스펙의 함수와 같이 in, out 의 접두어와 해당 접두어는 pointer로 하는 규칙을 세워놓았지요. 이 설계가 C#에서 buil-in type의 scalar형에 해당하는 것까지 반영된 것이 인상적이 었습니다.(MS가 초기 .net세미나에서 이 때문에 String 연산 차이가 10~20배 정도 난다고 광고하고 다녔었는데, 지금 생각해 보면 다 부질없는 이야기 같습니다.) -상민
- MultiplyingByRotation . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- NUnit . . . . 1 match
[http://nunit.org/ NUnit] 은 .Net 언어들을 위한 UnitTest Frameworks 이다.
- NiceMilk . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- NumberBaseballGame . . . . 1 match
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
- ObjectOrientedDatabaseManagementSystem . . . . 1 match
객체지향형 데이터베이스 시스템은 두 개의 조건을 만족시켜야만 한다 : 그것은 DBMS이어야 하며, 또한 객체지향형 시스템이어야 한다. 즉, 가능한 범위까지 OODBMS는 객체지향형 프로그래밍 언어의 현재 작업과 함께 일관되어야만 한다. 첫 번째 기준은 영속성, 2차 저장관리, 동시성, 회복, 그리고 특별한 편의 등 다섯 개의 특질로 해석된다. 두 번째 것은 복잡한 객체들, 객체 동일성, 캡슐화, 형 또는 클래스, 상속, 지연 바인딩과 결합된 오버라이딩, 확장성과 계산 결과의 완성도 등 여덟 개의 특질로 해석된다.
- ObjectProgrammingInC . . . . 1 match
attrib을 찍는다는 문제를 주셨는데... attrib가 private라 가정하고, 따라서 method1의 함수가 구조체(클래스)의 attrib을 고친다는 뜻으로 판단하고 생각해본다면... C++의 this란 예약어가 없다면 C언어에서 C++과 같은 class의 표현은 어려울 듯. 메모리주소로 가능을 할 수도 있으나, 코드 조작을 어셈블리 차원으로 내려가 하나하나 손봐야함... (이 답이 아니라면 낭패)
- Ones . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- OpenCamp . . . . 1 match
* 주제: Programming Language and its Application(프로그래밍 언어와 그 응용)
- OpenCamp/첫번째 . . . . 1 match
* 1시간 늦게 왔는데 데블스 캠프를 한번도 겪어보지 못 한 저는 참 좋은 경험을 한 것 같습니다. node.js 영상 볼때 우리도 빨리 저런거(아두이노 같은거) 만지고 놀았으면 좋겠다는 생각을 했어요. 웹언어에 좀 더 능숙했다면 더 많이 감탄했을텐데 그러지 못해서 아쉬웠습니다. jQueryUI 십습해볼땐 정말 재밌었어요 간결함에 감탄. - [고한종]
- OpenGL . . . . 1 match
http://nehe.gamedev.net - OpenGL Tutorial 로 유명하다. 각 언어 & 플랫폼별로(C++ - Visual C++ Project, C++ Builder , Java, Java/SWT, Linux SDL, Python 등) 튜토리얼 코드들을 정리해놓았다. 예전부터 OpenGL을 처음 공부하는 사람들에게 늘 추천되었던 사이트.
- OurMajorLangIsCAndCPlusPlus . . . . 1 match
==== 언어 ====
- PNA2011 . . . . 1 match
= 대안언어축제 =
- ParametricPolymorphism . . . . 1 match
에러는 피했다. 하지만 우리가 그리도 바라마지 않던 품격의 객체지향 언어가 너덜너덜한 표현법을 쓴다.
- Plugin/Chrome/네이버사전 . . . . 1 match
Ajax는 비동기식으로 데이터를 주고받기 위해 (A는 Asyncronous) HTML과 CSS 동적 정보 표시를 위한 동적 언어와 DOM문서형 구조를 가진 XML, json만이 Ajax를 뜻하는 것이 아니라 이런 조합으로 이루어진 비동기 웹 어플리케이션 기법을 뜻한다.
- PolynomialCoefficients . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- PowerOfCryptography . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- PowerOfCryptography/허아영 . . . . 1 match
sqrt함수.처음들어보는 ㅜㅡ 하핫,, C++언어 아직 몰라요 ^^;;;; 가르쳐 주세요! --아영
- PrimaryArithmetic . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- PrimaryArithmetic/sun . . . . 1 match
언어 특성상 라인수가 길어지는걸 느끼며 (PrimaryArithmeticApp.java)
- Profiling . . . . 1 match
|| 언어 || 관련 페이지 ||
- ProgrammingLanguageClass/2006/Report3 . . . . 1 match
thunks 는 두가지 의미로 해석됩니다. 첫번째, 함수형 언어에서 말하는 지연형 계산 두번째, 호환성의 이유로 서로다른 데이터형 간의 매핑을 행하는 행위
- ProgrammingPearls/Column1 . . . . 1 match
대부분의 언어에는 소트가 이미 구현되어 있다. 그런데 꼭 새로운 나만의 소트를 만들어야 될때가 있다. 레코드가 한 천만개쯤 된다고 하자.이것을 우리가 알고 있는 버블소트, 퀵소트 같은 것으로 하기에는 메모리가 많이 든다. 32bit(4byte)의 정수라고 한다면, 40메가바이트가 필요하다. 하지만 어떤 작업을 할때에, 우리가 소트에 할당할 수 있는 공간은 1메가 남짓이라고 가정하자. 시간이 많이 걸려서도 안된다. 어떻게 해야 할 것인가? 이 레코드들은 7자리 전화번호이기 때문에 같은 것이 없다고 한다.
- ProjectPrometheus/Journey . . . . 1 match
* AcceptanceTest 에 대해서는 Customer 가 이해할 수 있도록 코드를 작성한다. 가급적이면 High-Level 로. 간단한 스크립트언어를 작성하는것도 방법이 되겠다.
- ProjectVirush/Idea . . . . 1 match
저 생물에 관심많아용!! 어떤언어로 만드실건가요? - [허아영]
- Project메모장 . . . . 1 match
* 언어: MFC
- Prolog . . . . 1 match
[언어분류]
- PyUnit . . . . 1 match
* PyUnit는 Python 에 기본적으로 포함되어있는 UnitTest Framework library이다. 하지만, UnitTest작성에 대한 기본적인 개념들을 쉽게 담고 있다고 생각하여 공부중. (솔직히 C++로 UnitTest할 엄두 안나서. --; Python으로 먼저 프로토타입이 되는 부분을 작성하고 다른 언어로 포팅하는 식으로 할까 생각중)
- REFACTORING . . . . 1 match
- VC용 Refactoring 도구는 없나요? C++ 이라는 언어에서 Refactoring 이라는 개념을 적용시키려면 TDD in VC++ 처럼 약간 복잡한 과정이 필요하겠지만요;; - [임인택]
- RandomWalk . . . . 1 match
||도전자||사용언어|| Source ||
- RandomWalk2 . . . . 1 match
||해결자 ||개발시간 ||사용언어||Source ||
- RedThon . . . . 1 match
많은 프로그래머들은 특정 시스템이나 프로그래밍 언어를 배우는 것이 뭔가 다른 것을 배우는 것일 뿐,
- RefactoringDiscussion . . . . 1 match
우리에겐 프로그램의 옳음(correctness)이 일차적입니다. 이것은 ["UnitTest"]나 Eiffel 같은 DBC 언어로 상당한 정도까지 보장 가능 합니다.
- ReverseAndAdd . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- ReverseEngineering/책장사 . . . . 1 match
1. C언어에 관한 실력은 충분히 있으리라 본다.
- RoboCode . . . . 1 match
각 로보코드 참가자는 자바 언어의 요소를 사용하여 자신의 로봇을 만들면서 자바가 갖고 있는 상속성, 다형성, 이벤트 처리 및 내부 클래스 다루는 방법을 배우게 됩니다
- RubyLanguage/Expression . . . . 1 match
* 배열이나 범위의 요소를 하나씩 실행 (다른 언어의 foreach)
- RubyOnRails . . . . 1 match
* [http://beyond.daesan.com/articles/2006/07/28/learning-rails-1 대안언어축제황대산씨튜토리얼]
- STL . . . . 1 match
C++ 의 [GenericProgramming] 기법인 Template 을 이용, container (["DataStructure"] class. 다른 언어에서의 Collection class 들에 해당) 와 [Algorithm|algorithm] 에 대해 구축해놓은 라이브러리.
- STL/map . . . . 1 match
* 이 구조는 각 언어마다 다양한 이름을 가진다.
- Score/1002 . . . . 1 match
J언어로 해봤다.
- SearchAndReplaceTool . . . . 1 match
자동 리팩토링 툴이 지원되지 않는 언어들(C/C++, HTML 등) 을 위한 텍스트 일괄검색 & 치환 툴.
- Self-describingSequence . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- SeminarHowToProgramItAfterwords . . . . 1 match
* 그리고 관찰하던 중 PairProgramming에서 Leading에 관한 사항을 언급하고 싶습입니다. 사용하는 언어와 도구에 대한 이해는 확실하다는 전제하에서는 서로가 Pair에 대한 배려가 있으면 좀더 효율을 낼 수 있을꺼라 생각합니다. 배려라는 것은 자신의 상대가 좀 적극적이지 못하다면 더 적극적인 활동을 이끌어 내려는 노력을 기울어야 할 것 같습니다. 실습을 하던 두팀에서 제 느낌에 지도형식으로 이끄는 팀과 PP를 하고 있다는 생각이 드는 팀이 있었는데. 지도형식으로 이끄는 팀은 한 명이 너무 주도적으로 이끌다 보니 다른 pair들은 주의가 집중되지 못하는 모습을 보인 반면, PP를 수행하고 있는 듯한 팀은 두 명 모두 집중도가 매우 훌륭한 것 같아서 이런 것이 정말 장점이 아닌가 하는 생각이 들었습니다. 결국 PP라는 것도 혼자가 아닌 둘이다 보니 프로그래밍 실력 못지 않게 개인의 ''사회성''이 얼마나 뛰어냐는 점도 중요한 점으로 작용한다는 생각을 했습니다. (제가 서로 프로그래밍중에 촬영을 한 것은 PP를 전혀 모르는 사람들에게 이런 형식으로 하는 것이 PP라는 것을 보여주고 싶어서였습니다. 촬영이 너무 오래 비추었는지 .. 죄송합니다.)
- ShellSort . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- SibichiSeminar/TrustModel . . . . 1 match
* 세미나 주제가 참 놀라웠습니다. 페이스북을 이용해 관심사가 같은 사람들을 엮어주는 앱은 이미 나와있지만, 이건 일일히 사용자가 입력을 해야하는데, TrustModel은 프로그램이 알아서 다해주는것 같더군요. 지식이 얇아서 여기까지밖에 이해 못했습니다. 꺼이꺼이. 세미나 막간에 넣은 M-16인용 개발자-기획자-디자이너의... 뭐라고 해야하나요. 암튼 재밌게 잘 봤습니다. 삼위일체가 답이군요. 하하하하.. 정확한 커뮤니케이션은 정말 힘든것 같아요. 새내기 다운 새내기가 없다는 말씀을 자꾸 하셨는데.. 저 새내기 맞아요 ㅜㅠ C언어도 학교 오고나서야 처음으로 알았어요 ㅜㅠ - [고한종]
- Slurpys . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- SmallTalk/강좌FromHitel/Index . . . . 1 match
| 1.1. 프로그램과 프로그래밍 언어 <#1>
- SmallTalk/강좌FromHitel/차례 . . . . 1 match
| 1.1. 프로그램과 프로그래밍 언어 <#1>
- SmallTalk_Index . . . . 1 match
| 1.1. 프로그램과 프로그래밍 언어 <#1>
- Spring/탐험스터디/2011 . . . . 1 match
1.1. 전략 패턴 : 전략(알고리즘)의 분리를 한다는 의미. 언어에 따라 패턴을 적용하는 방법이 조금씩 다를 수도 있다. 책에서는 interface를 사용해서 전략을 분리하였는데, 이것은 자바에 어울리는 전략의 분리라고 한다.
- Spring/탐험스터디/wiki만들기 . . . . 1 match
* 위키의 문법을 구현하기로 하였는데 직접 파서를 구현하기보다 Markdown의 파서를 사용하면(Markdown 문법을 사용해야 하지만) 편리할 것 같아(명백해서 증명할 필요가 없다!) Markdown 파서중 pegdown을 쓰기로 경정. Java 언어 기반의 파서중 그나마 문서화(GitHub의 소개페이지)가 잘되어있어서....
- StackAndQueue . . . . 1 match
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
- StacksOfFlapjacks . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Star . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- Steps . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- StructureAndInterpretationOfComputerPrograms . . . . 1 match
그리고 전산학쪽 커리큘럼과 관련하여 쓸만한 예제들이 돋보인다. (좀 어렵긴 하겠지만.) 그리고 중간에 Scheme 코드를 일반언어로 읽는 방법에 대해 이야기한다. (이 또한 Abstraction 의 관점이랄까.)
- SummationOfFourPrimes . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 || 실행시간(10000000 값 기준 4초 이내 통과 여부) ||
- TAOCP . . . . 1 match
1.3.1 이거 그냥 어셈블리 언어 같은 느낌이야. --[Leonardong]
- TAOCP/BasicConcepts . . . . 1 match
이 책의 수많은 부분에서 MIX언어가 등장한다. 따라서 독자는 이 절을 주의 깊게 공부해야 한다.
- TCP/IP . . . . 1 match
* Interactive Shell이 지원되는 언어(e.g. Python, Ruby, ...)를 사용하면 TCP/IP의 개념을 아주 빠른 시간 안에 배울 수 있음. (Python은 내부적으로 C 라이브러리를 그대로 사용) 또, 현재 개발된/개발중인 시스템을 테스트 하는 데에도 매우 편리함. 예컨대, 리코에서는 XMLRPC 서버 접속을 파이썬 쉘에서 하고(import xmlrpc 한 다음에...), 거기서 사용자 등록 등의 서비스를 직접 사용하게 한다.
- TFP예제/WikiPageGather . . . . 1 match
* Python 이라는 툴이 참 재미있는 녀석이라 생각한다. 방식이야 basic에서의 그것이겠지만, '인터프리터언어라는 것이 쉽고 편하다' 의 이유를 다시 생각하게 해준 계기가 되었다. 일반적으로 우리가 프로그래밍을 할 때는 (여기서는 C++이라 하자) Visual C++ 을 하나만 띄어놓고 프로그래밍 하는 경우가 별로 없다. 보통 product code 를 위한 하나, 해당 함수 기능의 부분구현 (임시코드 구현)을 위한 하나. 서버-클라이언트 프로그래밍인 경우에는 3개를 띄우는 경우도 다반사이다. Python 의 shell 은 임시코드를 구현하는데 매우 편리한 도구이다. (한편 이쯤되면 검문이 필요하다. VS 2-3개 띄우는 거랑 python IDLE을 2-3개 띄우는 거랑 다를바가 뭐냐.. --; 내가 말하고 싶은 것은 C++이나 PHP에 파이썬처럼 공통 인터프리터 쉘이 있었으면 하는 것. -_a 흐흐..) 암튼. 나는 모인모인소스를 보면서 제목 검색 관련 일부 코드를 짤라서 쉘에서 간단히 실행해보고 검토하고 실제 소스에 적용해볼 수 있었다.
- TddRecursiveDescentParsing . . . . 1 match
* 아. 이번 레포트에서 요구하는 것이 계산기는 아니고, 간단한 언어에 대한 파싱 유도과정을 보여주고 에러처리하는 것이다보니, 구체적인 결과를 얻는 부분이 모호하다 판단이 들어서요. 그래서 조금 더 명시적으로 보이는 DOM 형태의 AST를 구하는 형태로 접근했습니다. --석천
- TestDrivenDatabaseDevelopment . . . . 1 match
즉, MockRepository 에서는 Exception 을 던질 필요가 없는데, 메소드마다 전부 throw 를 던져줘야 한다. (한편으로는, 다른 언어에서는 상관없는데 Java 에서의 Checked Exception 의 문제일런지도 모르겠다.
- TestFirstProgramming . . . . 1 match
어떻게 보면 질답법과도 같다. 프로그래머는 일단 자신이 만들려고 하는 부분에 대해 질문을 내리고, TestCase를 먼저 만들어 냄으로서 의도를 표현한다. 이렇게 UnitTest Code를 먼저 만듬으로서 UnitTest FrameWork와 컴파일러에게 내가 본래 만들고자 하는 기능과 현재 만들어지고 있는 코드가 하는일이 일치하는지에 대해 어느정도 디버깅될 정보를 등록해놓는다. 이로서 컴파일러는 언어의 문법에러 검증뿐만 아니라 알고리즘 자체에 대한 디버깅기능을 어느정도 수행해주게 된다.
- TheGrandDinner . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- TheKnightsOfTheRoundTable . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- TheOthers . . . . 1 match
== 언어 ==
- ThePragmaticProgrammer . . . . 1 match
이들의 프로그램학은 구체적이며, 그 구현에 이르는 경로는 간결하다. 이들은 예를들어,하나의 텍스트 편집기를 배우게 되면 그것을 모든 것에 활용하라고 독자들에게 조언하고 있다. 또한 권고하고 있는 것은, 심지어 가장 작은 프로젝트에 대해서도 버전트래킹 소프트웨어를 사용하라는 것이며, 규칙적인 수식구문과 텍스트 처리언어 학습의 장점을 계도하고 있다.
- ThePriestMathematician . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- TowerOfCubes . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- ToyProblems . . . . 1 match
* 자신이 원하는 언어 (python recommended)
- TugOfWar . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- UDK/2012년스터디 . . . . 1 match
* 스크립트 언어 수정을 이용한 Hello World 찍어보기
- UML서적관련추천 . . . . 1 match
참고로 UML 은 'Modeling Language' 입니다. 모델링 서술을 위한 언어일 뿐, 모델링이나 디자인 방법 자체에 대한 설명을 하진 않습니다. 디자인 관련 서적은 따로 서술하겠습니다.
- UglyNumbers . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 || 실행시간(4초 통과여부) ||
- Unicode . . . . 1 match
어떤 언어에도 상관없이
- UselessTilePackers . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- ViImproved . . . . 1 match
사실 다들 오해하고 있는 것 중의 한가지로는 vim은 불편하다는 것이다. 최근의 vim은 플러그인을 통해 여러가지 기능을 지원하며 그 중에는 단어 자동완성을 물론 문맥 자동완성뿐만 아니라 대부분 언어에 대한 syntax highlight를 지원한다. 요즘에는 흔히 볼수있는 탭기능도 지원하기 시작한지 오래되었으며 좌측에 파일 트리를 띄워두고 작업할수도 있다. 또한 .vimrc파일을 통한 강력한 커스텀마이징이 가능하며 이를 이용하여 이클립스를 능가하는 편의성을 지니기도 한다.
- VisualStudio . . . . 1 match
VisualStudio 는 Microsoft 에서 개발한 Windows용 IDE 환경이다. 이 환경에서는 Visual C++, Visual Basic, Visual C# 등 여러 언어의 개발환경이 함께하며, 최신 버전은 [Visual Studio] 2012이다.
- VonNeumannAirport/1002 . . . . 1 match
언어는 C++ 로 할 것이고 중간에 STL 중 vector 를 간단하게 이용할겁니다. (자세한 이용법은 나도 모르는 관계로 -_-;) 일단 저는 이 문제를 한번 풀어본 적이 있습니다. 연습삼아서 새로 풀어봅니다.
- WERTYU . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- WOWAddOn/2011년프로젝트/초성퀴즈 . . . . 1 match
WOW의 애드온은 Lua나 Ruby와 같은 스크립트 언어를 사용하는것으로 알고있다.
- WeightsAndMeasures . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- WhenJuniorsAsk . . . . 1 match
저는 다른 말을 해보겠습니다. 우선은 위에서 좋은 말씀을 들려주셨으면 더 좋았을꺼라는 생각을 가져봅니다. 물론 선배님의 말씀을 주의 깊게 듣는 학생은 더물겠죠. 하지만, '자바는 배우기 쉽고 잘 짜여진 OOP언어이다.'라고 대학 2년차 학부생들이 말하는 것보다는 SUN의 노련한 자바 프로그래머를 초빙해서 그런말을 듣는게 더욱 많은 사람의 강동을 얻을 수 있다고 생각합니다.
- WinCVS . . . . 1 match
WinCVS 1.3을 실행하기 위해서는 Python언어가 필요하다. Python이 없이는 WinCVS는 동작하지 않는다.[[BR]]
- XMLStudy_2002/Start . . . . 1 match
5. 그다음 슬래쉬 두개 다음에 나오는것은 어떤 언어를 사용했는지 나오는것 EN은 영어 KO는 한글
- XOR삼각형 . . . . 1 match
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
- ZPHomePage/20041228 . . . . 1 match
* 공부할 툴 또는 언어 - jsp, html, css, 파이썬, 드림위버, 포토샵, flash
- ZeroWiki . . . . 1 match
kesarr: 포크라고 볼 순 없지 언어부터 다른데...ㅋㅋ 호환 플랫폼
- ZeroWiki/Mobile . . . . 1 match
=== 개발 언어 ===
- [Lovely]boy^_^/Diary/7/8_14 . . . . 1 match
* 파이썬이 첨에는 문법도 생소하고 좀 이상했는데.. 이제는 쉬운 언어라고 하는 이유를 알듯 말듯하다.
- [Lovely]boy^_^/영작교정 . . . . 1 match
=== David는 언어에 상당한 재능을 발휘했다. ===
- callusedHand/projects/fileManager . . . . 1 match
* 사용 언어: C
- callusedHand/projects/messenger . . . . 1 match
* 사용언어: Java
- html5/overview . . . . 1 match
* etc. MathML, SVG등 외부 마크업언어 HTML에 직접 삽입가능 (책 범위 밖)
- iPhoneProgramming/2012년프로젝트 . . . . 1 match
* 하지만 나는 그 이전에 언어에 대한 좀 더 상세한 이해라던가, 정확히 어떻게 동작하는지를 알아야 자유로운 프로그래밍을 할 수 있다고 충돌중.
- mantis . . . . 1 match
* administrator , 암호는 root 로 로그인 후에 계정관리에서 preference 부분에 가서 제일 하단 부에 있는 언어 선택을 한글로 해야 한글로 메뉴를 보고 한글을 사용할 수 있습니다.
- neocoin/Education . . . . 1 match
* 프로그래밍 언어론에 대한 접근 방법 분류 필요, 기타 여러 배우는, 가르치는 법 필요.
- neocoin/SnakeBite . . . . 1 match
* STL in C++ 언어의 장점을 써먹었는가?
- programmer . . . . 1 match
제가 표현하고자했던 말은 누구를 프로그래머라고 부를 수 있냐는 것이였습니다. 초보/중급/ 이런건 생각해보지 않았는데, 그렇게도 여길 수 있겠군요. 너무 막막하죠. "프로그래밍 언어를 이용하여서 현재 프로그램을 만들고 있거나 가까운 시일내에 만들 사람" 먼저 간략히 이정도만 정의해놓죠.
- 가위바위보 . . . . 1 match
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
- 객체지향용어한글화토론 . . . . 1 match
* [이승한]이 처음 C언어를 접했을때 가장 답답했던 점은 용어를 한글로 적어 놓긴 했지만 발음 그대로 옮겨 놓은것에 불과해서 그것이 어떤 뜻을 담고 있는지, 어떤 의미로 쓰이고 있는지 전혀 못 알아 보았던 점이다.
- 걸스패닉 . . . . 1 match
=== 언어 ===
- 검색에이전시_temp . . . . 1 match
= 사용 언어 =
- 겨울과프로젝트 . . . . 1 match
[JavaStudy2004] ([노수민]) : JAVA언어를 익히면서 OOP에 대한 이해.
- 겨울방학프로젝트/2005 . . . . 1 match
|| [OurMajorLangIsCAndCPlusPlus] || C/C++을 자신의 주 언어로 삼고 싶은 사람들의 스터디-_- || 현태 민경 도현 수생 끝 ||
- 고한종 . . . . 1 match
>주력 언어는 JavaScript 입니다.
- 공개선언/메세지 . . . . 1 match
무엇보다 건강~! 저도 꾸준히 운동해서 체력 키우기가 점점 중요하다는 생각이 들어요. 그 밖에 책, 패션감각, 피부관리, 언어능력, 프로그래밍에 대한 바람을 모두 이루실 거에요~ [나를만든책장관리시스템]도 성공하세요~
- 구구단 . . . . 1 match
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
- 금고 . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- 기본데이터베이스 . . . . 1 match
|| 작성자 || 작성시간 || 언어 || 코드 ||
- 기억 . . . . 1 match
i. 어문적 체제 - 언어 저장, 추상 정보 적절
- 김동준/Project/Data_Structure_Overview/Chapter1 . . . . 1 match
C 언어에서의 배열 선언방법
- 김민재 . . . . 1 match
* [데블스캠프/2013] Speaker - "Opening", "새내기의,새내기에의한,새내기를위한C언어"
- 김정현 . . . . 1 match
2019년 새싹교실(C언어) 참여
- 김준호 . . . . 1 match
# 3월 17일에는 Microsoft Visual Studio 2008 프로그램을 이용하여 기초적인 c언어를 배웠습니다.
- 김태진 . . . . 1 match
* 서울어코드사업 컴퓨터 시스템 및 어셈블리언어 튜터링 튜터
- 김희성 . . . . 1 match
== 사용 언어 ==
- 김희성/ShortCoding . . . . 1 match
= 언어 =
- 김희성/ShortCoding/최대공약수 . . . . 1 match
* 언어 : C
- 날아라병아리 . . . . 1 match
C언어를 공부하는, 마지막에는 최강의 팀이 될 스터디!
- 데블스캠프2003/셋째날 . . . . 1 match
[데블스캠프2003/셋째날/여러가지언어들]
- 데블스캠프2003/셋째날/여러가지언어들 . . . . 1 match
=== 여러 가지 언어들 ===
- 데블스캠프2005/수요일후기 . . . . 1 match
박경태 : JAVA와 SOCKET, JSP를 배웠다. 역시 언어는 매우 신기하다+_+, 매우 어렵다...-_-; 열심히 노력을 해야될 필요성이 있다.-_-;
- 데블스캠프2005/언어디자인/그까이꺼 . . . . 1 match
언어를 만듭니다 -_-
- 데블스캠프2006 . . . . 1 match
"선언적 프로그래밍(Declarative Programming)과 J 언어"를 주제로 강의해 드릴 수 있습니다. 혹시 생각이 있으면 연락하세요. --JuNe
- 데블스캠프2006/금요일후기 . . . . 1 match
오늘은 j언어라는 새로운 세계를 접해서 뿌듯합니다. 5일동안 배운게 기억은 잘 나지 않지만 끝까지
- 데블스캠프2006/월요일 . . . . 1 match
언어 선택: C++
- 데블스캠프2006/준비/목요일 . . . . 1 match
* 목표 : C언어와 Win32API를 이용, 기초적인 윈도우 프로그래밍을 배워본다.
- 데블스캠프2006/준비/월요일 . . . . 1 match
언어 선택: C++
- 데블스캠프2006/화요일/pointer/문제3/정승희 . . . . 1 match
//c언어////a=(int*)malloc(sizeof(int))
- 데블스캠프2009/수요일후기 . . . . 1 match
* '''서민관''' - kernal이나 어셈블러 언어 등 전까지 별로 접할 일이 없던 생소한 개념들이 많이 나와서 솔직히 쉽지는 않았습니다. 그래도 OS의 구조나 Ring system 같은 것들은 개념적으로라도 알아두면 괜찮을 것 같네요. 그리고 전날 혁준 선배가 설명해준 dll에 대해 잠깐 다시 복습할 수 있었던 것도 좋았고요. 아쉬웠던 점은 역시 수업이 너무 고수준이라서 대략적인 이해만 하고 넘어가야 했던 것입니다. 그리고 수업 이후에 개인적으로 VMware의 사용법을 가르쳐 주신 것은 정말 감사합니다. 선배가 제 구세주입니다.
- 데블스캠프2009/화요일후기 . . . . 1 match
* [김준석] - 같은 것을 반복하기 위해 우리는 자주 copy &paste를 사용한다. 단순히 키보드 두번만 누르면 똑같은 것이 한번더 만들어지는 좋은 단축키 이다. 하지만 사실 이 반복되는것을 우리는 단순히 단축키를 누름으로서 만들어지는것은 과거의 저급언어를 사용할때나 만들어지는 반복의 숙달이다. 평소 자주 알고리즘을 연구하자는 말을 들을것이다. 문제를 푸는것 만에는 사실 극히 특별한 알고리즘이 필요없다고 생각한다. 살면서 어떻게든 간단반복으로 대부분은 풀수 있을테니까. 알고리즘을 연구하는것은 우리가 사용하는 컴퓨터의 부담을 줄이기 위해 만들며 이는 단순 반복되는 계산과정을 줄여줘 자원의 낭비를 줄여준다. 이렇듯 컴퓨터의 반복은 줄이면서 직접 키보드를 치며 반복하고있는 나의 자원소비량은 어떤가? 나는 왜 반복을 하고 있는가? 이 긴 코드를 줄일수 있는 방법은 정녕 없는것인가?라는 컴퓨터 알고리즘을 생각하듯 나를 위한 알고리즘을 생각을 해보았나? 대부분의 문서를 한장으로 줄여서 요약할수 있다는것을 가르쳐주는 One Page Proposal이라는 책에서는 "온갖 미사여구를 넣어 50page나 100page가 넘어가는 문서는 문서를 받은 사람의 책상에서 쌓이고 쌓여 결국에는 보여지지도 못하고 세절기에 들어가 버린다. 정말 자신이 있다면 알짜배기만 모아서 1Page로 보기 좋게 만들어라." 맞는 말이다. 아무리 길게 만든 프로그램이라도 20줄도 안되는 프로그램과 성능이 똑같다면 당연히 보기도 좋고 관리하기도 좋은 20줄 프로그램을 쓰겠지.이 20줄 프로그램을 쉽게 만들기위해 사람은 자신이 편리하게 개발과 연구를 했다. 그렇게 편리하도록 발달하는 과정. 그 생각을 잘보여준 세미나였다고 생각한다. 과연 네이버에서 자동완성됬던 Kesarr.
- 데블스캠프2011/넷째날/루비 . . . . 1 match
* [:RubyLanguage 루비 언어 소개]
- 데블스캠프2011/셋째날/String만들기 . . . . 1 match
* 사용 언어 : C++
- 데블스캠프2011/셋째날/난해한프로그래밍언어 . . . . 1 match
[데블스캠프2011/셋째날/난해한프로그래밍언어/김준석]
- 데블스캠프2011/셋째날/난해한프로그래밍언어/김준석 . . . . 1 match
[데블스캠프2011/셋째날/난해한프로그래밍언어] [데블스캠프2011]
- 데블스캠프2011/첫째날/후기 . . . . 1 match
* 새내기들과 tool을 접해보지 않은 학생들이 듣기에 적합했던 세미나였다고 생각합니다. 새내기에게는 C가 아닌 언어의 문법을, 다른 학생들에게는 JUnit과 Subversion실습을 할 수 있었던게 좋았습니다. 개인적으로는 태진이와 PP를 해서 좋았습니다. 그리고 농담식으로 나왔던 "선 커밋을 해라." 라는 말이 정말 인상이 깊었습니다. 왜일까요. 이 말을 들었을 때 '신뢰를 보낸다'는 메시지처럼 느껴지기도 하고, '내 책임은 아니야'라는 메시지처럼 느껴지기도 했습니다. VCS을 사용하다보면 '커밋분쟁, 커밋갈등'이 일어날 수 있다는 걸 깨닫게 되기도 했습니다.
- 데블스캠프2012/첫째날/후기 . . . . 1 match
* 첫날이라 나름 쉬운내용을 한것 같긴한데 새내기들은 c언어 하는데도 어려워 한것 같네요. 전 할만했는데 1학년때를 생각하면 머.... 나도 정말 어려웠으니까.... 페차쿠차 역시나 주제 정하는게 어렵지 주제만 정하면 정말 쉬운듯......페차쿠차가 오늘 내용중 제일 재미있네요. 내일 내용도 기대댐.
- 데블스캠프계획백업 . . . . 1 match
* 스크립트 언어를 가르친다면 제일 익숙하고 쉬운 자바스크립트는 어떨지... ^^ (사실.. 내가 자바스크립트를 아~주 약간 봐서..ㅋㄷ) --창섭
- 디자인패턴 . . . . 1 match
그리고 디자인패턴이 하나의 설계언어가 되지요. '이클래스를 어떻게 연결하고 이 부분은 어떻게 구성하고...' 를 '~패턴으로 구현하고' 라는 한마디로 줄일 수도 있죠. (단, 이정도가 진행되려면 거의 PM쯤이 아닐까 하는..)
- 땅콩이보육프로젝트2005 . . . . 1 match
* 언어처리
- 로마숫자바꾸기 . . . . 1 match
|| 작성자 || 언어 || 작성시간 || 코드 ||
- 마름모출력 . . . . 1 match
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
- 만년달력 . . . . 1 match
||이름|| 사용언어 || 링크||
- 문자반대출력 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 문자반대출력/변형진 . . . . 1 match
preg_split()는 문자열 처리 능력이 탁월한 언어인 Perl에서 사용하는 Perl 호환 정규 표현식(Regular Expressions)을 차용하여 문자열을 분리하여 배열에 담는 함수.
- 문자반대출력/임인택2 . . . . 1 match
J도 재미있는 언어이다. 잠시 [HaskellLanguage]를 접고 J에 관심을 가져야겠다.
- 문자열검색 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 문자열연결 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 문제풀이/제안 . . . . 1 match
* 단순한 프로그래밍 언어 지식 획득 이상의 무언가의 공부가 필요하다고 생각하여 시작.
- 문제풀이게시판 . . . . 1 match
* 언어 등의 제한은 없으며 자신이 하고싶은 스타일로 문제를 풀어나가면 된다. see also ["제로페이지의장점"]
- 미로찾기 . . . . 1 match
|| 작성자 || 작성언어 || 코드 ||
- 상협/감상 . . . . 1 match
|| [프로그래밍언어론] || 원유헌 || 1 || 아주 굿 || 정말 쉽게 잘 나온 책!!, 정말 좋은책을 고르는게 중요하다는걸 알게해준책! ||
- 새싹교실/2011/GGT/L1&L2 . . . . 1 match
* 선형대수학에 시간을 너무 할애한것 같다. C언어를 메인으로 할수있도록 해야겠다.
- 새싹교실/2011/Pixar/4월 . . . . 1 match
그러나 배우면 배울수록 알기힘든 씨언어의길.....아직 많은 것을 공부하지 않아서
- 새싹교실/2011/學高 . . . . 1 match
* 직역하면 배움을 높인다는 뜻이고, 컴퓨터공학을 전공하는 공학도로서 기초가 되는 C언어를 보다 더 잘 학습하겠다는 의지를 담고있습니다.
- 새싹교실/2011/무전취식 . . . . 1 match
C언어 수업시간 내용 복습 및 보강
- 새싹교실/2011/무전취식/레벨4 . . . . 1 match
* 수업이 길긴 했는데ㅋㅋ 많은 것들을 배웠고 제어문을 활용해서 간단한 게임을 만드는 과정이 참 재미있었어요. 게임 만드는게 어려워보이긴 했지만 그래도 익숙해지면 편할 것 같아요. 요즘 중간고사 기간이라 시간에 쫒기기 시작했어요 ㅜㅜ 게임 만들기가 숙제인데 중간고사 공부 하느라 만들 시간이 좀 없을 것 같지만 중간중간 비는 시간을 활용해서 C언어 중간고사 준비와 간단한 게임 만들기를 할 계획입니다~! -[서원태]
- 새싹교실/2011/무전취식/레벨6 . . . . 1 match
서원태 : 선대 망. C언어 보고 정통부 애들끼리 모여서 술먹음. 그리고 PC방가서 게임하고 집에가서 또 게임함 4시까지 하고 그것때문에 다음 영어시험은 아예 못봐서 침울함. 그래서 교수님께서 한번더 기회주셔서 다음주 월욜 10시까지 오라했는데 그날도 못옴. 그래서 중간고사 F.
- 새싹교실/2011/쉬운것같지만쉬운반/2011.3.29 . . . . 1 match
* 오늘은 표준 입출력 함수, 상수&변수의 의미와 각종 연산자들에 대해서 배웠다. 역시 배우면 배울수록 흥미롭다. 그런데 용운이는 다 알고있고 형준이는 안오고 뭔가 나만 배우고 있는 듯한 느낌이...... ㅜㅜ. 아무튼 지금은 무식해도 올해가 끝나갈 쯤엔 나도 C언어 마스터가 되야지. - 송치완
- 새싹교실/2011/쉬운것같지만쉬운반/2011.4.6 . . . . 1 match
* 하나의 언어에 얶매이지 않는 다양한 접근 방법이 돋보인다 ㅋㅋ 굉장히 잘했음!! - [박성현]
- 새싹교실/2011/쉬운것같지만쉬운반/2011.5.17 . . . . 1 match
* C 언어의 주요한 특징인 포인터를 배웠습니다!! 역시 포인터를 보면 반갑기도 하지만 반갑지 않기도 했습니다 ㅜㅜ. 역시 포인터는 사랑할 수 없는 대상이군요... 요태까지 날 미행한고야? ㅜㅜ
- 새싹교실/2011/쉬운것같지만쉬운반/2011.5.3 . . . . 1 match
4. 루비 언어처럼 명령문을 한 줄 입력하면 그 결과를 출력하는 방식?
- 새싹교실/2012/AClass/3회차 . . . . 1 match
큐(Queue) : 프로그램 언어에서 보면 자료 구조의 한 형태로 순차 목록의 한 형태를 뜻합니다. 원소의 삽입은 뒤(rear)에서 이루어지고 삭제는 앞(front)에서 이루어지는 자료 구조를 뜻합니다. 메모리에 적용할 경우 큐는 선입선출 방식을 뜻합니다.
- 새싹교실/2012/강력반 . . . . 1 match
* 황현제 - 우선 c언어에서 쓰이는 기본적인 연산자가 무엇이 있는지에 대해서 배웠다. 또한 함수 4가지에 대해서 배웠는데, printf, scanf,switch, if에 대해서 배웠고 그리고 새싹강사님께 C를 이용해 작성하신 프로그램을 구경하기도 했는데, C로 이런것도 할 수 있다는 것을 알았다. 새싹 강사님께서 우선적으로 설명을 해주신다음 새싹들이 실습하는 방식으로 수업이 진행됬는데, 옆에서 강사님이 지속적인 피드백을 해주셔서 이해하기가 편했다. 다음에는 반복문에 대해서 배우고, 실습도 해봐야겠다.
- 새싹교실/2012/벽돌쌓기 . . . . 1 match
* 허나 1회차의 내용을 제대로 복습하지 않아 1회차 내용을 다시 설명하는 데 시간이 조금 걸렸고, C언어를 배우는 데 있어서 필요로 되는 프로그래밍 능력 또한 키워주어야 한다고 판단 되었다.
- 새싹교실/2012/아우토반/뒷반/3.30 . . . . 1 match
* 오늘은 C언어의 기초를 배운 것 같다. 오늘은 너무 피곤해서 수업시간 내내 졸았던 것 같아서 용운이 형한테 너무 죄송스러웠다. 그래도 이번 수업에서 한 내용은 C프로그래밍 수업 때 조금 들었던 것이었기 때문에 내용을 이해하기가 조금 수월했던 것 같다. 오늘 너무 많이 졸았기 때문에 다음 시간부터는 수업전에 컨디션 조절을 해야겠다. 그리고 앞으로 내용이 많이 어려워질것 같은데..... 열심히 해야겠다. - [김태헌]
- 새싹교실/2012/아우토반/앞반/3.22 . . . . 1 match
* 1학년 전공기초이며, 프로그래밍언어의 기본이 되는것이라고 생각하는 c를 다시 처음부터 배워서 더 자세하게 알수 있어서 좋았습니다. 자신이 아는것이라고 자만하지말고 확실하게 알수있도록 복습을 열심히 하겠습니다.~~쌤~~쭌~~ㅋㅋㅋ키키ㅡ.ㅡ [안혜진]
- 새싹교실/2012/앞부분만본반 . . . . 1 match
1. C언어의 개론적인 이야기
- 새싹교실/2012/열반 . . . . 1 match
* 목표 : C언어 및 기초적인 자료구조와 알고리즘 학습
- 새싹교실/2012/열반/120319 . . . . 1 match
* C언어에는 boolean 타입이 없습니다. 보통 int로 참과 거짓을 표현하고, 모든 비트가 0일 경우에만 거짓이고, 그 외는 참입니다.
- 새싹교실/2012/열반/120326 . . . . 1 match
* C언어에서 x²를 표현하기 위해서는 x*x 라고 해야합니다.
- 새싹교실/2012/열반/120507 . . . . 1 match
=== C언어에서의 배열 ===
- 새싹교실/2012/클러그 . . . . 1 match
* 프로그래밍 언어로서의 C
- 새싹교실/2012/해보자 . . . . 1 match
* 목적: C언어를 다양한 프로그래밍 실습을 통해 재미있게 배운다.
- 새싹교실/2012/햇반 . . . . 1 match
민형:: 제가 C언어 시간때 공부를 열심히 하지 않아서 바로바로 진도를 따라가지 못하고 버벅댓지만, 앞으로 열심히 하겠습니다.
- 새싹교실/2013/록구록구/1회차 . . . . 1 match
* 전반적인 C언어에 대한 설명, 그외 etc..
- 새싹교실/2013/록구록구/5회차 . . . . 1 match
아무리 C언어가 쉽다고 해도 얕보면 안되겠다고 생각했다
- 새싹교실/2013/양반 . . . . 1 match
* C언어를 가르칩니다.
- 새싹교실/2013/이게컴공과에게 참좋은데 말로설명할 길이 없네반 . . . . 1 match
- 진도 : 컴퓨터 역사, 컴퓨터 언어의 역사, 컴퓨터 구조(미약하게.. 운영체제가 뭔지, 메모리가 뭔지, 컴퓨터가 뭔지.), 자료형, main함수(기본 구조)
- 새싹스터디2006 . . . . 1 match
== [C언어정복] ==
- 새싹스터디2006/의견 . . . . 1 match
이번 2006년은 신입생을 위주로 돌아가는 건 절대 아니라는건 알지않습니까? 신입생 C스터디 이외에도 지금 프로젝트가 다양하게 있습니다. 재학생은 재학생 프로젝트를 해 나갈 것이고 우리는 '자원' 하에서 신입생의 C 언어 공부에 자그나마 도움을 주자고 하는 것입니다. 여기서 조심스럽게 바라봐야 할 것은, '얼마나 치중할까' 인데.그건 선생님 마음 아닌가요? 여기서 잘 따라와 주는 신입생이 많기를.. 간곡히 바랍니다.
- 생각하는프로그래밍 . . . . 1 match
아, 여태 열심히 프로그래밍 언어를 배운 건, 다 알고리즘 구현하는데 쓰려고 그랬던 거구나. 프로그래밍은 단순히 키보드 두드리는 게 아니구나. 생각을 잘 하고 프로그래밍 해야겠구나.
- 수업평가 . . . . 1 match
||지식인의언어생활_김유미 || 1 || 1 || 1 || 1 || 4 || 1 || 4 ||
- 숫자를한글로바꾸기 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 스터디그룹패턴분류 . . . . 1 match
see also [스터디그룹패턴언어]
- 신기호 . . . . 1 match
||C,C++,API언어를 배운다||
- 안혁준 . . . . 1 match
* C++를 기본으로 각종언어 가능.
- 알카노이드 . . . . 1 match
* 언어가 MFC 에서 JAVA 로 바뀌었습니다.
- 언어분류 . . . . 1 match
한국어, 일본어, C++ 등 각종 언어(?) 분류
- 영어학습방법론 . . . . 1 match
* 이것은 원어민들이 언어습득을 하기 용이한 방법. 따라서 Toeic 500도 안되는 사람들이 하는건 말이 안됨.
- 위시리스트/130511 . . . . 1 match
* ASP / PHP / JSP 같은 웹 개발 언어 서적 (조사중) - [김민재]
- 위키설명회2005/PPT준비 . . . . 1 match
각 위키마다 언어습과이나 문화가 틀리고 사용법도 틀리고... 처음에는 쉽게 시작할지라도 조금만 깊히 알려고 들면 너무나 복잡해져버리 더군요.
- 위키에대한생각 . . . . 1 match
* 익숙한 사람에게는 편리하나, 처음 컴퓨터를 쓰는 사람에게는 복잡해 보일 수도 있다고 생각합니다. 글 쓸때 각종 효과를 특수 문자(들)을 써서 나타내므로, 일종의 컴퓨터 언어같은 면이 있다고 보입니다. 따라서 우리같이 연관 있는 사람은 금방 배우지만, 아닌 사람들에겐 쓰기 힘들다는 인상을 줄 수 있습니다. -[Leonardong]
- 윤정훈 . . . . 1 match
위키공부! C언어 정복!
- 윤종하/지뢰찾기 . . . . 1 match
언어: C
- 이동현 . . . . 1 match
자바라는 언어도 그렇다. 프로그램 만드는데 이처럼 간단할수가
- 이병윤 . . . . 1 match
- 사용 언어 : Python
- 이영호/숫자를한글로바꾸기 . . . . 1 match
C언어의 장점인 효율적 함수 구성까지 떨어짐.
- 이영호/시스템프로그래밍과어셈블리어 . . . . 1 match
프로그래밍을 처음 접하는 사람으로서는 Assembly어는 무리가 있을지도 모르나, 약간의 지식을 갖춘 사람은 Assembly어를 꼭 배워야한다. Assembly어는 결코 사라질 수 없는 언어이다. 이것은 매우 중요하며, 이 때문에 대학에서도 정규 과정속에 포함되어 사라지지 않는 것이다.
- 이영호/지뢰찾기 . . . . 1 match
아래 소스는 지뢰찾기 분석한 것을 coder가 제작한 게임 소스 그대로 C언어로 완벽하게 구현한 것이다. (아마 M$에 있는 소스와 완벽히 똑같을 것이다.)
- 이차함수그리기 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 이태양 . . . . 1 match
* 모든 게임. 모든 언어. 모든 컴퓨터
- 이학 . . . . 1 match
그런데, 이런 "가당찮아 보이는" 질문에 제대로 답변을 해주려면 그 사람이 "대가"여야 합니다. 대가가 아니고서는 이런 질문에 모든 것을 통섭하여 쉽고 간략한 답변을 내어놓지 못합니다. (여러분 중에 "알고리즘이 뭐에요?"라고 묻는 문외한에게 자신의 언어로, 쉽고 명료한 -- 그러나 조금도 어긋남 없는 -- 설명을 해줄 수 있는 사람이 몇이나 될까요) 그래서 "최적의 사람"을 골라 물어야 하는 것입니다. (질문을 잘하는 사람은 상대가 유명한 대가라고 해도 겸손할지언정 절대 주눅들지 않습니다. 다짜고짜 그 대가를 찾아가서는 도움을 청하는 것이죠.)
- 임다찬 . . . . 1 match
|| 날짜 || 언어 ||문제명 ||비고||
- 자료병합하기 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 자리수알아내기 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드&변수테이블 ||
- 정렬 . . . . 1 match
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
- 정모/2002.11.13 . . . . 1 match
||앞으로 알아두면 좋은 언어에 대해서||2명||
- 정모/2005.5.23 . . . . 1 match
* 내용 : 개념과 언어를 2-3가지 정도씩 알아봄 (Ex) 구조적 프로그래밍, 익스트림, 객체지향)
- 정모/2006.12.20 . . . . 1 match
* 대안언어 세미나 모임(아영)
- 정모/2006.9.7 . . . . 1 match
언어교환 - 정현,
- 정모/2007.3.13 . . . . 1 match
@ 세미나(C언어) :
- 정모/2007.3.6 . . . . 1 match
- 예전방식 : 중간고사 기간에 C언어 세미나를 통해 제로페이지를 알림. 방학이 가까워 오면 데블스 캠프를 알리고 참여를 유도. 열정을 가지고 받은 많큼 후배들에게 줄려고 했던 사람들을 받아들이는 것이 목표였음.
- 정모/2011.10.12 . . . . 1 match
* 간단하게 오토마타와 형식언어 세미나가 진행됩니다.
- 정모/2011.4.4/CodeRace/김수경 . . . . 1 match
* 사용 언어는 [RubyLanguage]
- 정모/2011.5.2 . . . . 1 match
* 원하는 인재상 : 언어 구사가 자유로우면서 프로그래밍 스킬이 뛰어난 사람... 이라고 홈페이지에도 쓰여 있습니다.
- 정모/2012.12.10 . . . . 1 match
* 난이도는 오는 사람 봐서 조정 할 생각. 언어가 뭐가 되든 GUI 구조를 멋들어지게 만들수 있는 수준까지 올리는게 목표입니다.
- 정모/2012.5.21 . . . . 1 match
1학년 + 고학년 해서 1학년 발표, 둘이서 같이 준비하면 20명이 되겠죠. 주제는 어느거라도 할수 있을 것 같습니다. 새 언어 소개, 새 기술 소개, 지난주에 인상깊은 교훈 소개 등등. 주제 결정하는 시간도 아깝기 때문에, CSE 학과 과정 전체의 키워드를 모아서 골라서 하라고 해도 좋을 것 같습니다.
- 정모/2012.5.7 . . . . 1 match
* 함수형 언어 스터디 제안
- 정모/2012.7.18 . . . . 1 match
* 자바 스터디 - Generic에 대해서 다루었는데, 평소에 써 본 일이 없었던 만큼 언어 차원에서 타입 제한등을 해 주는 것이 편했다. batch라는 개념에 대해 이야기를 들을 수 있어서 좋았다.
- 정모/2013.2.19 . . . . 1 match
* 새싹교실에 교습할 내용은 c언어를 중심으로 하되, 다른분야는 강사의 재량에 맞게 추가하는 방식으로 진행할 예정.
- 정모/2013.7.8 . . . . 1 match
* 언어간의 차이점이라던가 내부구조라던가에 대해서 공부하는 스터디.
- 조금더빠른형변환사용 . . . . 1 match
// C언어 함수
- 조재화 . . . . 1 match
*여러가지 언어체험 (노트필기)
- 졸업논문/서론 . . . . 1 match
이러한 맥락에서 python언어로 만든 django라는 프레임워크가 존재한다. RoR과 마찬가지로 django를 이용하면 기민하게 동적으로 웹 사이트를 만들 수 있다.[4] Django에서는 모델, 뷰, 템플릿, 세팅 등을 이용하여 웹 사이트를 구축할 수 있는 특징과 함께, 관리자 인터페이스를 자동으로 제공해주는 장점을 가진다. 또한 모델과 데이터베이스를 자동으로 동기화 해주고, 데이터를 삽입, 변경, 삭제할 때 웹 개발자가 직접 데이터베이스에 질의를 던지지 않아도 되도록 데이터베이스 접근을 추상화하였다.
- 중위수구하기 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드&변수테이블 ||
- 중위수구하기/김태훈zyint . . . . 1 match
* 오+_+ 이 언어가 PHP구나.. 해석 불가능 ㅋㅋ;; ㅠㅠ --아영
- 중위수구하기/문보창 . . . . 1 match
C언어에서 파일을 여러개 만들 때 전역 변수를 쓰는 것..처럼. java도 가능한가요?--아영
- 지금그때2003/선전문 . . . . 1 match
ex) 어떻게 프로그래밍 언어를 배워 나갈것인가. 무엇이 우선인가?
- 지금그때2005/자료집 . . . . 1 match
프로그래밍 언어가 컴퓨터공학을 공부하는데 얼마나 중요한가? 다른 중요한것은 무엇인가?
- 진법바꾸기 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 최소정수의합/임인택2 . . . . 1 match
HaskellLanguage 에서는 다른 언어와 달리 형 변환이 잘 안된다. 왜 이렇게 만들어놓았을까?
- 캠이랑놀자 . . . . 1 match
= 관련 기술 & 언어 =
- 코드레이스출동 . . . . 1 match
[http://altlang.org/fest/CodeRace 대안언어에서의 코드레이스 페이지]
- 큰수찾아저장하기 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 큰수찾아저장하기/허아영 . . . . 1 match
또 더 좀더 효율적인 프로그램을 만들기 위해선 어떻게 해야할까 ? 그리고 C언어의 장점을 살리는 방법이 뭘까?
- 토이/메일주소셀렉터 . . . . 1 match
||이름|| 사용언어 || 링크||완료||
- 토이/메일주소셀렉터/김남훈 . . . . 1 match
사용언어 lex
- 파스칼삼각형 . . . . 1 match
|| 도전자 || 총개발시간 || 소스라인수('''주석제외''') || 사용언어 || Source ||
- 프로그래머의길 . . . . 1 match
프로그램은 컴퓨터가 이해할 수 있는 기계어를 사람이 좀더 쉽게 알아볼 수 있도록 만든것에 불과하다 이를 다시 표현하자면, 기계와 언어소통하기 위해 프로그램을 배운다는 것이다. 우리는 외국어를 공부하면서 문화적 이질감으로 인해 단어의 의미를 파악하기 힘들때가 종종 있다. 이는 그 나라의 풍습과 역사를 이해하지 못하기 문이다. 컴퓨터도 마찬가지 이다. 컴퓨터를 이해하지 못하면 프로그램 역시 서투른 번역이 돼버린다. 다시 한번 논하지만, 프로그램을 배우는 과정을 컴퓨터를 이해한다는의미로 받아들이면 좀더 쉽게 중급자의 길로 도약할 수 있을 것이다.
- 프로그래밍/ACM . . . . 1 match
Java 언어 사용시
- 프로그래밍은습관이다 . . . . 1 match
프로그래밍은 습관이다. 그래서 학습과 반(反)학습 모두 쉽지 않다. 특히 NoSmok:UnlearnTheLearned 가 어렵다. 세살 버릇 여든 가기에, 나쁜 프로그래밍 습관은 프로그래밍 언어가 바뀌어도 유지된다.
- 피보나치 . . . . 1 match
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
- 피보나치/SSS . . . . 1 match
[데블스캠프2005/월요일]에서 만든 [C언어] 피보나치 예제
- 하노이탑 . . . . 1 match
|| 작성자 || 작성언어 || 코드 ||
- 호너의법칙 . . . . 1 match
|| 작성자 || 작성언어 || 개발시간 || 코드 ||
- 후각발달특별세미나 . . . . 1 match
정말 재밌었어요. 수업중에 질문을 못한게 있는데요, 주석은 되도록이면 안써주는건가요?? c언어 수업시간에 교수님이 주석은 많이 쓸 수록 좋다고하셨는데... --[최경현]
Found 649 matching pages out of 7555 total pages (5000 pages are searched)
You can also click here to search title.