[학습] 자바 - 2. 자바 프로그래밍이란
- 처음 프로그램을 접하는 초보 개발자
1. 계획적인 사고방식 : 일정, 품질관리, 위험 대응
2. 팀원과 무조건 사이가 좋아야함.
3. 타 조직과의 업무에서 상대방을 존중하는 자세
4. 프로젝트 일정을 개인의 입장이 아닌, 팀원의 입장에서 생각할 것
5. 타인의 지적을 긍정적으로 받아들일 것
6. 100% 완벽한 프로그램은 없으니 꾸준히 리펙토링하고, 프로젝트 종료 후 개인적으로 최적화 된 구조에 대해서 연구하자.
7. 회사에서 시키는 것에 무조건 순응하지 말고, 일정- 인력- 개발자 수준을 정확히 파악하여 프로젝트 진행 중 리스크의 최소화를 꾀한다.
8. 클라이언트의 요구 사항이 개발 도중 늘어날 경우, 팀리더와 의논하고 도움을 받자.
- 토끼와 거북이 중 거북이가 되자. 정말 느릿느릿 그러나 꾸준히 공부해야한다.
1) 자바언어의 탄생과 특징
1990년대 초에 제임스 고슬링이 가전제품의 효율적인 사용을 위한 프로그램 언어로 개발하였다.
대표적으로 3가지의 플랫폼이 존재
-JAVA SE: 자바 어플리케이션 개발 - 일반적 앱 개발
-JAVA ME: 휴대 가능한 소형 디바이스에 사용을 목적으로 개발 - 현재의 스마트폰 등장으로 쇠퇴
-JAVA EE: 기업 솔루션 개발 - 가장 핵심
특징: 운영체제의 영향을 받지 않는다. 가비지 콜렉션으로 개발자는 메모리 관리를 하지 않는다.
객체지향 언어로 개발과 유지보수를 효율적으로 진행 할 수 있다.
2) 셋팅
JDK (자바 개발 키트) 설치 및 IDE (통합 개발툴, 편집기) 설치
컴파일안된 파일(.JAVA) -> 컴파일된 파일(.CLASS) -> 각 운영체제용 JVM -> 컴퓨터
[ 개발영역 [ 실행영역
JDK - 개발을 필요하는데 모든 것
JRE - 자바 런타임, 실행 해주는 것. 개발을 하지 않고 남이 개발한 것을 실행만 하고 싶다.
IDE - 이클립스
JDK 와 IDE를 설치하고 원하는 폴더를 잘 지정해주면 끝.
[학습] 자바 - 1. 오리엔테이션
예상 학습 소요시간- 기초 수준을 배우는데 최소 20시간- 최대 100시간 예상
1. 컴퓨터 프로그래밍
컴퓨터와 언어를 이용하여 프로그램을 만드는 행위.
언어: C, C++, 자바, 파이썬 등의 다양한 언어가 있으며 그마다 각기다른 특성을 갖고 있다.
프로그램: 채팅, 이미지, 등등 다양한 목적을 위한 프로그램이 있다.
2. 연산, 메모리
연산은 CPU가 진행, 일은 메모리가 진행한다.
사람이 하는 연산을 컴퓨터가 하도록 한다.
메모리가 전달한 데이터 (A, B)를 갖고 CPU가 연산 (+, -)을 실시한다.
3. 번역기
10, 100 이라는 숫자는 사람이 사용하는 십진법이다.
즉 컴퓨터는 못 알아듣는다.
따라서 컴퓨터가 이해할 수 있는 형태(바이너리)로 변경해야하는데 이를 수행하는 것이
컴파일러이다.
각 언어마다 컴파일러가 따로 있다.
4. 어떤 언어를 해야하는가
자바, C++, 파이썬 다 알면 좋겠지만 안드로이드 앱 개발이 목적이면 자바를 배우는 것이 좋다.
인공지능이나 타이머, 자동화 등이 목적이면 파이썬을 배우는 것이 좋다.
현존하는 언어 중 개발자들이 가장 많이 사용하는 언어는 자바이다.
자바를 공부한 이후에는 웹페이지 개발을 위해서는 JSP 및 spring struts,
앱 개발을 위해서는 Android를 학습하는 것이 좋다.
'자음' 카테고리의 다른 글
[학습] 안드로이드 스튜디오 2. 화면 그리기, 레이아웃 (0) | 2021.04.10 |
---|---|
1인 기업, 창업, 무자본 스타트업 (0) | 2021.03.28 |
[팁] 의자 교체, 의자 가스, 의자 높낮이 조절 고장, 눌러도 안 올라올 때. (0) | 2021.03.27 |
인터넷 부업- 쿠팡 파트너스- 현재 역대급 커미션 10% 이벤트 중! (0) | 2021.03.27 |
[일기] connecting dots, step by step
1. 스티브잡스의 일생을 보면, 그의 삶은 의도했건 의도치않았건 여러가지 무작위 현상들이 상호작용을 일으켜 스티브 잡스라는 사람의 내용물을 구성한 것으로 보인다.
입양아라는 사실, 다른 무엇도 아닌 캘리그라피 수업을 들었던 사실, 그리고 대학 자퇴 후 본인이 재밌는 수업만 청강할 수 있는 그의 일반적이지 않은 성격은 그래픽 유저 인터페이스를 개발하고 애플을 성공시킨 과정으로 이어진다.
스탠포드 대학 연설에서 그는 그 유명한 connecting the dots를 말했다.
you can't connect the dots looking forward.
you can only connect them looking backwards.
대학교를 자퇴했을 때, 캘리그라피 수업을 들을 때가 내 인생의 전환점이라는 것을 당시엔 알지 못했다.
그러나 10년이 지난 후에서야 그 때의 경험이 지금의 결과를 만들어냈다는 것을 알 수 있었다.
우리는 미래를 알 수 없다. 현재와 과거의 사건을 연결지을 수 있을 뿐.
따라서 지금은 깨닫지 못하겠지만 현재가 미래로 연결된다는 믿음을 가져야한다.
그것이야말로 삶의 위험한 험로를 지나갈 수 있게 만드는 자신감의 원동력이 되며,
시간이 지난 후 인생의 모든 차이를 만들어낼 것이다.
2. 그가 말한 의도와는 다르게 나는 새로운 관점으로 바라보기 시작했다.
사람은 어느정도 자신의 미래를 예측할 수 있다.
작은 그리고 무수한 디테일이 달라지겠지만 큰 방향은 얼추 유추할 수 있다.
주식에서 오늘 내일의 등락은 알 수 없겠으나, 결국 장기적으로 우상향한다는 것을 알 수 있듯
사람도 성격, 추구하는 것, 평소의 습관, 부모님의 자산, 능력 등등의 특성을 통해서 완전히 미래를 예측할 수는 없으나 적어도 어떤 소득 분위에 위치해있을지, 어떤 교육 수준을 갖을지 정도는 대략적으로 알 수 있다.
결과가 어디에 위치해있을지는 모르겠으나 우상향하는 점들을 찍고 차근차근 점들을 향해 나아가면 된다.
의미없이 시간을 죽이고 있을 때, 잠시나마 내 꿈에 다가갈 수 있는 것들을 조금씩 배우고 수행해나가면 언젠가는 결과물로서 내 손 안에 남아있을 것이다.
단, 남들과는 비교하지 말고 오로지 나와 비교해야한다.
남들과의 비교를 통해 그런 결정들이 올바른 판단인지 고민이 될 수 있다.
가령 누군가 유튜브를 통해서 우연히 주식 방송을 보게 되었고, 거기서 얻은 정보로 꽤 좋은 소득을 얻었다던지하면
과연 내가 그만큼의 소득을 이 판단으로서 얻어낼 수 있냐는 의문이 들 때말이다.
그러한 무작위적인 행운은 삶이 주는 씁쓸함이며 언젠가 나에게는 달콤함이 되어 돌아오기도 하는 주사위 놀음이다.
오직 내가 비교해야할 것은 무언가를 실행한 나와, 실행하지 않고 가만히 있었던 나를 비교해보는 것이다.
3. 그래서 결론적으로 미래를 향해 점을 찍어 나가기로 했다.
내 종착점보다 높을 수도 있고, 낮을 수도 있다.
그러나 높은 목표와 실행력을 바탕으로 추진해나간다면 분명 결실을 맺을 것이다.
(스티브 잡스가 말했듯, 이러한 믿음이야말로 인생의 험난한 시기를 견딜 수 있게 하는 원동력이 될 것이다)
변화하는 세계의 모습을 보며 깨달은 것은, 이젠 코딩과 it 관련 기술은 누구에게나 강력한 힘이 될 수 있다는 것이다.
과거에는 이해 못할 취미의 한 종류였으나, 이 힘은 배달 전단지를 모아 배달의 민족을 만들게 하고 택시 전화번호를 모아서 우버와 카카오택시를 만들게 했다.
그 무엇이던 IT 기술과 결합시키면 폭발적인 결과물을 만들어낼 수 있다.
다음 결론에 따라, 자바 언어를 학습하고 - 안드로이드 스튜디오를 남는 시간 동안 학습할 것이다.
의학이 내게 준 교훈이라면 어떤 지식이든 바깥에서 보기엔 범접할 수 없어보이나 결국 배우다보면 별 것 없고
꾸준함과 익숙해짐만으로 해결할 수 있다는 것이다.