반응형

[코딩교육]  닭키우기 게임 버그판




...

반응형
반응형
국립중앙도서관 다녀옴.

찾는 책이 절판이라, 복사하러 다녀옴.

회원가입을 미리 하고 가는것이 좋음.
디지털도서관 1층에서 신분증 보여주고, 로그인해서 정기이용권 받음.
처음은 무료고 추가 발급시 2천원 내고 재발급받아야함.

도서관 본관 1층 열람실에서 미리 사이트에서 찾아  바구니에 담아둔 책을 열람신청하고 대기.
전광판에 이름이 나오면 책 받으러 가면됨. 이용권이 어디에나 사용됨.
복사실이 바로 옆에 있어서 이용권에 미리 복사가능하게 금액 충전. 1만원 함.
현금만 충전 가능하니 많이 복사하려면 미리 현금 준비하시오.
책 받아서 복사하는데, 용지가 잘못 선택되서 몇장 날려먹음. 완전 돈아깝다고나할까...

그렇게 복사하고 다시 회사로.

용지선택을 잘 하시오.

반응형
반응형

스크래치 배우기 - 선생님용


https://opentutorials.org/module/1056


수업소개

본 수업은 스크래치 배우기 수업의 선생님 버전입니다. 본 수업에서는 아이들이나 스크래치의 초심자가 접근하기 어려운 개념들을 다루게 됩니다. 또한 스크래치에서 구현한 내용이 전문 프로그래밍에서는 어떻게 코드로 표현되는지도 함께 알려드립니다. 이러한 내용이 다소 난이도가 있을 수 있습니다. 또 아이들을 지도하는 요령이나 주의사항도 함께 다루고 있습니다. 

수업의 대상

스크래치를 가르치려는 선생님을 대상으로 합니다. 여기서 선생님이란 교사, 강사, 학부모, 이모, 삼촌 모두를 모두 포함합니다. 프로그래밍에 대한 교양은 필요하지 않습니다. 프로그래밍에 대한 지식이 전혀 없어도 이해할 수 있게 자세하고 친절하게 진행할 예정입니다. 

수업의 한계

본 수업은 필자의 지극히 주관적인 생각들이 포함되어 있습니다. 따라서 필자의 의견을 선생님의 성향이나 학생들의 상황에 따라서 선별해서 수용하셔야 합니다. 긍극적으로는 선생님과 학생의 상황에 맞는 수업방법을 개발하도록 돕는 것이 이 수업이 추구하는 목표라고 할 수 있습니다.

토픽 목록




수업준비

스크래치는 웹을 통해서 프로그래밍을 할 수 있는 도구입니다. 그런 이유로 컴퓨터가 바뀌어도 자신이 하던 작업을 계속 이어서 할 수 있는 장점이 있습니다. 하지만 인터넷이 원활하지 않은 환경에서는 수업을 진행할 수가 없습니다. 선생님은 이런 상황에 대비를 해야 합니다. 아래 링크를 클릭하시면 스크래치 오프라인 버전을 다운 받을 수 있습니다. 

http://scratch.mit.edu/scratch2download/

영어로 되어 있어서 간단하게 번역을 해서 옮기면 아래와 같습니다.

1. 스크래치를 사용하기 위해서는 어도브 에어가 필요합니다. 어도브 에어는 아래 링크를 통해서 다운받을 수 있습니다. 

http://get.adobe.com/kr/air/otherversions/

2. 스크래치를 설치합니다. 스크래치는 아래 링크에서 다운받을 수 있습니다.

http://download.scratch.mit.edu/Scratch.air

위의 파일을 운영체제별로 다운받고 USB 메모리와 같은 외장 저장 장치에 보관해서 준비해주세요. 인터넷이 작동하지 않는 환경에서는 큰 도움이 될 것입니다. 


...

반응형
반응형

처음 만나는 스크래치 

https://opentutorials.org/module/964/6951



스크래치 그림 카드 : https://resources.scratch.mit.edu/www/cards/en/ScratchCardsAll.pdf



유튜브 영상 : https://www.youtube.com/watch?v=eHSy3xrqsm4&list=PLuHgQVnccGMBd0CNqmTIODanruhVm_zEx



스크래치란?

스크래치는 청소년들이 재미있게 프로그래밍을 익힐 수 있도록 고안된 프로그래밍 언어입니다. 일반적인 프로그래밍 언어와는 다르게 명령이 블럭으로 만들어져 있어서 마우스를 이용해서 프로그램을 만들게 됩니다. 특히 게임이나 애니메이션과 같은 것을 쉽게 만들 수 있도록 고안되어 있기 때문에 어렵지 않게 프로그래밍 기법들을 익힐 수 있습니다.

스크래치로 만든 게임

스크래치로 만든 게임입니다. 스크래치를 이용하면 이렇게 복잡한 게임도 만들 수 있습니다. 수업 시작하기 전에 게임 한판하고 시작하시죠!


스크래치 홈페이지

scratch.mit.edu

아래와 같은 메뉴들이 준비되어 있습니다. 이 중에서 스크래치 가입을 눌러서 회원가입을 먼저 합니다. 회원가입을 하고 싶지 않다면 TRY IT OUT이라는 첫번째 항목을 선택하시면 됩니다.



...

반응형
반응형
유치원까지 코딩 사교육 열풍… 초등학교엔 전문 교사 없어


http://news.donga.com/3/all/20160929/80534447/1#csidx8aaef400db0676ea54dd857cd9cc2d2



이미 일년전 기사이다. 



○ 유치원생도 코딩 교육 


 서울 강남구 신아유치원은 올해 3월부터 만 4, 5세 아이들을 대상으로 코딩 교육을 하고 있다. 코딩은 컴퓨터 명령어를 조합해 소프트웨어를 만드는 것. 


 이 유치원이 코딩 교육을 도입한 건 지난해 7월 교육부와 미래창조과학부가 “2018년 중학교, 2019년 초등학교에서 소프트웨어(SW) 교육을 필수로 하겠다”고 발표해서다. 일부 학부모들은 이 발표 이후 “코딩 교육을 해야 하는 것 아니냐”고 물었다. 최경숙 원장은 “너무 이른 것 아니냐고 할 수도 있지만 모든 걸 잘 받아들이는 유아기 때 코딩을 경험해 본 아이와 그러지 못한 아이는 나중에 분명 다를 거라고 생각했다”고 말했다. 


교육부와 미래부가 지난해 ‘SW 중심 사회를 위한 인재 양성 추진 계획’을 발표한 지 1년 만에 사교육 시장에서 코딩 교육 열풍이 불고 있다. 특히 정부가 “‘스크래치’ 같은 블록형 코딩 프로그램을 개발하겠다”고 밝혀 영유아 사교육 시장에서 게임형 코딩 교육이 유행이다. 스크래치는 미국 매사추세츠공과대(MIT)에서 2006년 개발한 아동용 코딩 프로그램으로 명령어가 적힌 블록을 끼워 맞추며 놀이하듯 즐길 수 있다. 


 신아유치원이 사용하는 코딩 프로그램 ‘키즈코딩’도 이와 유사한 것으로 지난달 외국어 교육 업체 YBM의 계열사로 편입된 유아 코딩 교육 프로그램 개발사 토이코드가 만들었다. 강남·서초구 등에 있는 24개 유치원과 어린이집에서 사용 중이다. 박웅 토이코드 연구소장은 “게임하듯 순차나 반복 같은 코딩의 기본 개념을 익힐 수 있다”며 “학부모들의 관심이 많아 내년에는 학습지 형태로도 출시할 예정이다”라고 말했다. 



 올해 서초구에는 유치원 및 초등학생 아이들을 대상으로 하는 코딩영재스쿨이 문을 열었다. 비용은 방과 후 과정을 제외하고 한 달에 135만 원. 학원 측은 “코딩 전문가가 컴퓨팅 사고력을 몸으로 체험할 수 있도록 가르친다”고 설명했다. 방학을 이용한 코딩 캠프 외에도 코딩을 가르치는 학원이 우후죽순으로 생기고 있다. 


○ 시작도 늦었는데 제대로 될지 우려 


 전문가들은 코딩 공교육이 너무 늦어지고 있는 가운데 실시 방침만 발표하고 명확한 가이드라인이 없어서 사교육만 커지고 있다고 지적한다. 주요 선진국들은 이미 정규 교육과정에서 코딩 교육을 하고 있다. 이스라엘은 1994년, 영국은 2014년 9월, 프랑스와 핀란드는 올해부터 시작했다. 미국은 워싱턴 텍사스 켄터키 등에 있는 고교에서 제2외국어 대신 코딩을 선택한다.


 유명인들도 코딩을 강조한다. 버락 오바마 미국 대통령은 2013년 말 “휴대전화를 갖고 놀지만 말고 직접 프로그램을 만들라”라고 강조했다. 스티브 잡스 애플 창업자도 생전에 “모든 사람은 코딩을 배워야 한다. 생각하는 방법을 알려 주기 때문이다”라고 말했다.


 이들이 코딩을 강조하는 건 논리적 사고력과 문제 해결력을 키울 수 있어서다. 안성진 성균관대 컴퓨터교육과 교수(입학처장)는 “초중고교생 대상의 코딩은 대학생이 배우는 어려운 프로그래밍이 아니고, 복잡한 문제도 작은 단위로 잘라 해결 능력을 키우는 데 목적이 있다”라고 했다. 디지털 시대에는 전공을 불문하고 코딩이 제2의 공용어라는 이야기도 있다.


 정부 발표에 따르면 2018년 중학교에서는 현재 선택인 정보 과목을 필수(34시간)로 지정하고, 고등학교는 기존처럼 선택으로 하되 코딩 교육과정을 보강한다. 2019년부터는 초교 5, 6학년 실과 시간에 SW 기초교육을 17시간 이상 실시한다. 



 학교에서 코딩 교육이 제대로 이뤄질 거라고 기대하는 학부모는 별로 없다. 가장 큰 문제는 가르칠 교사가 부족하다는 것. 중고교는 정보 과목 교사라도 있지만, 초교는 이런 인력이 없다. 교육부는 2018년까지 초등 교사의 30%(6만 명)에게 SW 직무교육을 실시할 계획이다. 


 그러나 교사들 사이에서는 “이런 것까지 배워야 하나”, “잘 모르겠다”는 인식이 있다. 한 학부모는 “전문 교사도 없고 교육 시간도 부족한 데다 컴퓨터와 통신망도 완벽히 갖춰져 있지 않으면 진도 나가기에만 급급해 암기 과목처럼 될 것 같다”고 말했다.


...

반응형
반응형

어도비, ‘포토샵 라이트룸 CC’ 클라우드 포토그래피 출시

어도비가 10월23일 새로운 어도비 포토샵 라이트룸 CC 포토그래피 서비스를 출시했다. 새 라이트룸 CC는 클라우드 기반으로 접근성이 향상돼 앞으로 사용자는 언제, 어디서든 사진을 편집, 정리, 저장 및 공유할 수 있다.


새로운 라이트룸 CC는 포토샵 CC와 클래식 라이트룸 CC(구 라이트룸 CC)의 이미징 기술을 모두 적용했다. 사진 색감 및 밝기를 조절하는 슬라이더는 사용이 보다 쉬워졌고 프리셋, 빠른 수정 도구도 좀더 간편해졌다.



모바일, 데스크톱 그리고 웹상에서 풀 해상도 화질로 편집할 수 있다. 사용자가 한 기기에서 사진을 편집하면 라이트룸 CC에 연결된 모든 기기 및 온라인상에서 변경사항이 자동 적용된다. 사진 공유도 가능하다. 또 확장 가능한 클라우드 스토리지를 제공해 모든 해상도 사진 백업을 지원한다.


인공지능으로 사진 정리 돕는다

어도비의 이미지 처리 인공지능, ‘어도비 센세이’의 활용도도 높아졌다. 원하는 키워드를 검색하면 사진에 있는 사물이 무엇인지 파악해 알아서 검색해준다. 원래 태그를 달아 검색이 가능했지만 센세이가 자동으로 태그를 달아주기 때문에 사진 정리가 한층 편해졌다. 예를 들어 풍경 사진을 찍었을 때 ‘공원’이나 ‘하늘’ 등으로 검색하면 관련 사진을 다 찾아볼 수 있다.


소셜 미디어 공유도 가능하다. 트위터, 페이스북, 어도비 디자이너 커뮤니티 비핸스 등과 라이트룸 CC와 새롭게 통합된 어도비 포트폴리오에 사진을 공유할 수 있다.

모바일·웹 업데이트하고 데스크톱 기능은 보강

iOS 및 안드로이드 라이트룸 앱도 업데이트됐다. 웹용 라이트룸 CC는 어도비 포트폴리오와의 연계가 향상돼 몇 번의 클릭만으로 사진을 개인 포트폴리오에 게시할 수 있게 됐다. 또 어도비 포토샵 라이트룸 클래식 CC는 데스크톱 중심 워크플로우에 초점을 맞춰 업데이트됐다.


새로운 라이트룸 CC 플랜은 새로운 라이트룸 CC 플랜(월 1만1천원), 크리에이티브 클라우드 포토그래피 플랜(월 1만1천원), 1TB 크리에이티브 클라우드 포토그래피 플랜(월 2만3100원) 중 선택할 수 있으며 100GB를 사용할 수 있는 라이트룸 모바일 플랜은 iOS에서 월 5.49달러, 안드로이드에서는 월 5500원에 이용 가능하다.


https://www.adobe.com/kr/creativecloud/plans.html






...

반응형
반응형





不知礼,无以立也
bú zhī lǐ ,wú yǐ lì yě





...

반응형
반응형

12가지 필수적인 소프트웨어 개발 원칙과 개념

 


업계에 처음 발을 들여놓는 젊은 개발자들은 한꺼번에 많은 원칙과 개념에 대한 이야기를 듣게 된다. 관리자로 올라서는 경력 개발자는 그동안 피해 왔지만, 기술적인 측면에 폭넓은 영향을 미치는 비즈니스 개념에 대한 이야기를 듣게 된다.


다음은 지난 20년 동안 소프트웨어, 그리고 소프트웨어 비즈니스에 있어 가장 중요한 12가지 개념이다.

 

1. 권한 없는 책임

경력이 어느 정도 된다면 권한 없는 책임을 접해봤을 것이다.


극단적인 사례를 들면 경비원에게 분기별 수익 책임을 지우는 것이다. 경비원이 아무리 노력해도 회사의 수익성을 높일 수는 없다. 경비원이 영업 회의에 참석한다 해도 신참 영업 사원이 전화를 더 많이 걸도록 유도할 수는 없다. 영업 사원을 움직일 영향력이 없기 때문이다. 마케팅 회의에 참석해봤자 마케팅 부서에서 새로운 캠페인을 구상하도록 이끌 수도 없다.


물론 극단적인 예다. 그러나 짊어지는 책임과 실제 행사할 수 있는 영향력 사이의 격차는 그 정도가 얼만큼이든 스트레스의 원천이다. 권한 없는 책임은 조직적인 기능 장애를 나타내는 징후이며(모든 조직에 어느 정도는 있음), 해결책은 권한을 높이거나 책임을 낮추는 것밖에 없다.


2. 반복하지 말 것

 “반복하지 말 것” 원칙은 시스템에서 표현은 명확하게, 한 번만 해야 한다는 것이다. 코드 한 블록을 잘라내서 여러 곳에 붙여 넣을 경우 그 설계에는 결함이 발생한다. 그 결함을 가장 먼저 수정해야 한다.


이 원칙을 위반할 경우 시간을 낭비할 뿐만 아니라 유지보수 문제도 발생한다. 여러 지점에서 잘라내서 붙여넣기한 버그를 모두 찾아 수정해야 한다. 또한 보안 결함이 복제되는 경우를 상상해 보라.


이 문제를 수정하는 방법은 전체 아키텍처를 수정하는 것부터 코드 생성기, 종속성 주입에 이르기까지 많지만 어떤 방법을 사용하든 일단 수정해야 한다!


3. 필요할 일이 없다

앞으로 필요할 것 같아서가 아니라, 지금 필요한 기능을 구현하라. 앞으로 필요할 것 같다면 십중팔구 필요할 일이 없다. 나중에 정말 필요해지면 그때 가서 넣으면 된다.


모듈을 설계하면서 그 모듈이 이번 릴리스와 앞으로의 릴리스에서 해야 할 모든 작업을 미리 생각하고 반영하려 한다면 앞으로 일어나지 않을지도 모르는 기능까지 지원하는 쓸데없이 복잡한 소프트웨어를 만들게 된다.


미래를 예측하는 것보다 현실을 이해하는 편이 훨씬 더 정확하다. 현재에 집중하라.


4. 최소 실행 가능 제품

새로운 무언가를 만들 때 최선은 *할 수 있는* 모든 일을 시원찮게 하는 것보다 정말 잘 할 수 있는 최소한의 일을 하도록 하는 것이다. 이것을 최소 실행 가능 제품(Minimum Viable Product, MVP)이라고 한다.


MVP를 하면 사용자나 고객에게 유용성을 시연하기가 더 쉬워진다. 또한 잘못될 경우 고쳐야 할 부분도 더 적고 실패할 경우 잃을 투자도 더 적다.


5. 좁고 깊게

이 개념은 MVP와 관련된다. 모든 사람에게 모든 것을 줄 수는 없다.


제품이나 기업이 더 많은 일을 하려고 노력할수록 잘 할 수 있는 가능성은 낮아지고 비용과 복잡성은 높아진다. 넓고 얕은 것은 바람직하지 않다.


집중의 문제다. 규모가 큰 조직이나 성숙한 소프트웨어는 “플랫폼”과 사업부를 만들어 더 많은 리소스를 적용할 수 있지만 작은 회사는 한꺼번에 너무 많은 것을 하면 안 된다.


그러나 대규모 조직에도 “좁고 깊게” 원칙은 필요하다. 조직 또는 플랫폼의 각 부분에 대한 원칙으로 두어야 한다. 개별적인 폭이 모여 넓게 될 수는 있지만 각각의 요소는 깊어야 한다.


6a. 최소 비용(운영의 탁월성)

6b. 최고의 제품(제품 리더십)

6c. 최고의 토털 솔루션(고객 친밀성)

 “최고의” 또는 가장 효과적인 조직은 이 세 가지 전략 중 하나를 추구하는 조직이다. 결과적으로 이러한 조직은 가장 비용이 낮은 조직, 최고의 조직, 또는 최고의 서비스를 제공하는 조직이다.


가장 낮은 비용에 초점을 맞출 경우 그 분야에서 최고의 제품이 될 수 있는 최신 기능 일부를 구현하지 못하게 된다.


최고의 서비스(고객 친밀)를 제공하는 데 초점을 맞출 경우 일반적으로 제품이 여러 방향으로 분산되어 각 고객에 따라 대폭 맞춤 제작된다. 이 경우 혁신과 사용 편의성 측면에서 대가를 치르게 된다.


이 목표 중 규모의 확장이 용이한 것은 두 개뿐이다. 가장 낮은 비용 또는 최고의 제품이다. 원하는 검색 결과를 얻지 못할 때 구글 고객 서비스에 전화를 걸 수 없는 이유가 여기에 있다.


7. 테스트 먼저

현대 IDE에서는 테스트를 가장 먼저 해야 한다. 이는 단위 테스트를 먼저 작성한 다음 여기서 클래스 등을 생성해야 함을 의미한다. 결과적으로 테스트가 용이한 소프트웨어가 되므로 더 높은 품질의 소프트웨어가 만들어진다. 또한 계약에 의한 설계와 같은 다른 설계 원칙을 따르도록 유도하는 효과도 있다.


8. 계약에 의한 설계

각 루틴에 대해 그 루틴이 어떤 작업을 하고 그 작업을 위해 무엇이 필요한지를 알아야 한다. 방법은 계약에 의한 설계(Design by Contract)다. 여기서 계약은 소프트웨어의 각 요소를 위한 형식적이고 간결하며 확인 가능한 인터페이스 사양을 말한다. 이 접근 방법을 사용하면 부작용, 전역 변수 및 기타 여러 가지 잘못된 것들을 피할 수 있다.


9. 경합 조건에 주의

일반적으로 경합 조건은 계약에 의한 설계의 다중 쓰레드 위반을 의미한다.


가장 단순한 형태로 보자. 두 개의 쓰레드가 동일한 변수를 변경할 때 한 쓰레드가 먼저 한다면 문제 없다. 그러나 두 번째 쓰레드가 변수를 먼저 변경하는 경우 오류가 발생하고 이것이 경합 조건이다.


이러한 종류의 설계 결함을 탐지하는 것이 불가능할 때도 있다. 간헐적이며 부하가 큰 경우에만 발생하는 경우가 많으므로 단위 테스트로 포착할 수 없다. 고도의 방어적 설계와 쓰레드 간 협업을 피하는 것이 경합 조건을 방지하기 위한 좋은 방법이다. 그러나 메시징 및 이벤트 지향 소프트웨어에서도 다른 버전의 경합 조건이 발생할 가능성은 있다(다만 확률이 낮을 뿐임). 동시성은 어렵다.


10. 콘웨이의 법칙

콘웨이의 법칙(Conway's Law)이란 팀의 커뮤니케이션 구조를 반영하는 소프트웨어를 개발할 수밖에 없다는 법칙이다. 바꿔 말하면 팀의 근본적인 구조를 바꾸지 않고서는(바꾸기는 무척 어려움) 소프트웨어의 근본적인 구조를 바꿀 수 없다.


11. 빠른 실패

 “빠른 실패(Fail Fast)” 원칙은 실리콘 밸리에서 인기 있지만 어디에 적용해도 좋다. 기본적인 개념은 오류가 발생할 경우 소프트웨어는 대놓고, 거침없이 그 오류를 드러내야 한다는 것이다.


아마추어 프로그래머는 모든 변수에서 null을 확인하고, null이 될 수 없는 경우에도 이를 0이나 빈 문자열 등으로 대체한다. 그런 다음 불가능하고 잘못된 상황이 발생했는데도 코드를 계속 실행시킨다. 최고의 개발자는 소프트웨어가 null 포인터 예외를 뱉거나 실제 오류 자체를 내뱉도록 한다.


프로젝트 관리에서 빠른 실패란 존재할 수 있는 정치적 또는 기술적 장벽을 최대한 조기에 찾아내는 것을 의미한다.


비즈니스에서 빠른 실패란 궁극적인 실패를 향해 또는 이른바 ‘라면 수익’을 향해 천천히 투자하기보다 상품이나 비즈니스를 입증하거나 반증하는 대담한 계획을 추진하는 것을 의미한다.


12. 맨먼스 미신

프로젝트 종반에 인력을 추가하면 프로젝트는 더 늦어진다. 고전 ‘맨먼스 미신(The Mythical Man-Month)’은 40년도 넘은 과거의 책임에도 오늘날 소프트웨어 엔지니어링의 많은 오류를 설명한다.


이 용어는 “언제 끝나요?”라는 질문에 냉소적으로 답하는 데도 사용된다. 내 일정은 나도 모른다. 다른 일이 없었다면 신비한 3인일(man-days) 내에 이미 마쳤겠지만, 회의가 6번 더 남았고 그 회의에서도 누군가는 똑 같은 질문을 던질 것이다.


원문보기: 

https://www.infoworld.com/article/3233866/application-development/12-essential-software-development-principles-and-concepts.html




...

반응형

+ Recent posts