본문 바로가기

잡학다식

(33)
신경망, 첫걸음을 읽고 "신경망, 첫걸음을 걷고" 첫걸음, 어디를 향하든 첫걸음은 아주 중요하다. 첫걸음에 경사를 만나면 몇 걸음 지나지 않아 돌아서게 되고 너무 평평하면 금세 지루해져 주저 않고 만다. 인공지능 세상으로 가는 첫걸음도 마찬가지이다. 인공지능이라는 단어는 "알파고"의 등장으로 친숙하지만 막상 공부를 하기 위해 시작하고자 하면 막막함이 앞선다. 인공지능이라는 분야의 영역이 넓을 뿐만 아니라 깊이도 상상을 초월하기 때문이다. 그래서인지, 주변을 보면 유행을 따라 안갯속에 가려진 인공지능이라는 산을 등반하고자 하는 많은 사람들이 몇 걸음 가지 않아 되돌아 서는 경우를 쉽게 볼 수 있다. 정상으로 가는 수많은 길을 보며 어디로 가야 할지 모를 뿐만 아니라 아무리 걸어도 높이를 가늠할 수 없을 정도로 높은 정상에 겁을 ..
우리 아이, 소프트웨어 교육 무엇부터 시작해야 하나요? ​ 다가올 미래에 살아갈 우리 아이들에게 소프트웨어 교육이 중요하다는 것은 변해 가는 세상을 보면 더욱 쉽게 이해할 수 있다. 많은 분야에 IT가 융합되고 있는 것을 보고 있으면 더 이상 소프트웨어 교육은 프로그래머만 받아야 할 교육이 아닌 것 같다. 그렇다면 우리 아이의 소프트웨어 교육은 어디서부터 어떻게 시작하는 것이 좋을까? 아무런 정보도 없고 준비도 되지 않은 여행의 하루 전날처럼 막막한 소프트웨어 교육의 시작을 함께 고민해 보자. [소프트웨어 교육에서 우리 아이가 배워야 하는 것!] 인생을 살아갈 때, 가장 중요한 것 중 하나가 인생의 목표라고 생각한다. '나는 어떠한 삶을 살 것인가?'라는 질문은 우리의 삶에 첫걸음을 내딛게 해 주고 '나는 어떠한 삶을 살 것이다&#..
우리 아이, 소프트웨어 교육 왜 해야 하는가? 4차 산업 혁명, 말은 많이 들어 보았지만 도대체 무엇을 말하는 것일까?간략히 말하면 인공 지능, 사물 인터넷, 빅데이터 등 첨단 정보 통신 기술이 사회 다양한 영역에 녹아들어가 융합을 하는 과정에서 혁신적인 변화가 일어나는 것을 말한다. 혁명이라는 단어는 웬만한 변화로 잘 쓰지 않는 단어인 만큼 4차 산업 혁명은 요즘 세상이 엄청난 변화를 하고 있다는 것을 보여준다. 이러한 변화는 환경과 기술의 변화만을 뜻하는 것은 아니다. 환경과 기술의 변화로 그 속에 살아가는 사람들의 변화도 필수적이다. 세상을 살아가는데 인간이 가져야 할 자세가 바뀌게 되는 것이다. 직접적으로 이야기하자면 세상이 필요로 하는 인재상이 바뀐 것이다. 과거의 인류가 발전해 온 진화를 살펴본다면 이러한 인간의 변화도 진화의 일부분이 아..
[IT 첫걸음] JAVA8편 람다(lambda) ​ 1. 람다 표현식(lambda)은 나중에 한번 이상 실행할 수 있도록 전달할 수 있는 코드 블록이다. - 과거에 자바는 어딘가에 코드 블록을 전달하는 일이 쉽지 않았다.(즉, 단순히 코드 블록을 전달할 수 없음.) 자바는 객체지향 언어기 때문에, 원하는 코드가 있는 메서드를 포함하는 클래스의 객체를 생성해야했음. 2. 람다 표현식 문법 - (파라미터, 화살표->,표현식) * 예 : (String first, String second) -> Integer.compare(first.length(), second.length()) * 자바는 타입 결합이 강한 언어기 때문에 타입도 지정해야함. - 표현식 하나로 표현할 수 없는 계산은 중괄호{}를 사용하고 명시적 return문 사용. *예 : (String ..
[IT 책갈피] Spring Framework 3.x -> 4.x Web Application migration Spring Framwork 3.x에서 4.x로 웹어플리케이션 갈아타기 Spring Framework 3.x 기반으로 개발된 웹어플리케이션에서 Servlet 3.0, Spring Framework 4.x 버전으로 갈아타는 법을 함께 해보자. [JAVA8과 만나고 싶다면 피할 수 없는 작업이다. JAVA8은 Spring Framework 4.x에서만 지원되고 있다.] 1. 메이븐 형식의 프로젝트, pom.xml파일에 서블렛 버전 설정하기 2. web.xml파일에 version 업데이트 및 xsd 파일 수정. 3. pom.xml에 Spring Framework의 라이브러리(jar)를 4.x로 설정한다. 4. 스프링 Context설정 파일의 스키마 로케이션 정보 업데이트(spring-servlet.xml 파일..
[IT 첫걸음] 보기 좋은 코드가 고치기도 쉽다. 구성이 잘 짜인 책을 만나면 왠지 모르게 기분이 좋고 한 장 한 장 넘기는 것이 수월하다. 반대로 문장 구조가 엉망인 글을 만나면 몇 번을 다시 봐야 하고 그 후에도 찜찜함이 남는다. 코딩도 마찬가지다. 이 책에서는 구성이 잘 짜인 코딩이 '눈을 편하게' 한다고 표현하고 있다. [편한 소스 코드 작성에 세 가지 원리] *코드를 읽는 사람이 이미 친숙한, 일관성 있는 레이아웃을 사용하라.*비슷한 코드는 서로 비슷해 보이게 만들어라.*서로 연관된 코드는 하나의 블록으로 묶어라. [여러 블록에 담긴 코드가 모두 비슷한 일을 수행하면, 실루엣이 동일해 보이게 만들어라.] 우리는 많은 '추측'들과 함께 살아가고 있다. 길을 지나가다 작고 동그란 원반 모양의 은색척을 본다면 발걸음을 멈출 것이다. 우리는 머릿속으로..
[IT첫걸음] 코딩 작명 비법 "이름으로 소통하기!!" 변수, 함수, 클래스등의 이름을 결정할 때 정보를 담아 보자!변수, 함수, 클래스의 이름이 곳 다른 사람과의 소통이기 때문이다. 1. 아무 생각없이 손에 익은 이름을 타이핑 하기 전에 더 명확하게 의미를 전달 할 수 있는 단어가 없는지 생각해 보자. send => route, announce, deliver...find => search, recover...start=> launch, create ...make -> create, set up, add, new.. 센스 넘치고 은유적인 단어는 시나 편지에 쓰고 프로그램에 쓸 이름은 명확, 간결, 담백하게 쓰자!! 2. 흔해 빠진 고민 없는 이름 피하기 temp, ret 등과 같은 이름으로 변수 혹은 함수의 목적을 자신만 알게 쓰지..
[책책책]The Nature of Software Development을 읽고... ​ The Nature of Software Development 오래전에 보았던 책이나 영화를 다시 찾아 볼때면 익숙함과 새로움이 공존하는 것을 느낄 수 있다. 그시절 내가 느꼈던 감정들을 되집어 볼 수도 있고 그때 미처 보지 못했던 부분을 발견하기도 한다. 이것은 과거의 내가 책이나 영화에 집중을 하지 않았기 때문이 아니다. 내가 시간이 지나면서 변한 만큼 과거에 느끼는 것과 현재에 느끼는 것이 서로 차이가 나는 것이다. 시간의 흐름과 함께 우리는 경험이라는 것을 쌓아 왔다. 아마 시간이 지나감에 경험을 잃어 가는 사람은 없을 것이다. 지우고 싶은 경험이 있을지 몰라도 경험을 지우며 시간을 보내는 것은 특별한 경우가 아니면 불가능하기 때문이다. 이렇게 쌓인 경험에 의해 우리는 세상을 바라보는 관점이 ..