목록분류 전체보기 (168)
회고록 블로그
원래 참고하고 있는 책이 너무 노잼이라 공부를 이어갈 수가 없다. 그래서 윤성우 선생님 강의를 들으면서 필요한 부분만 정리하기로 했다. 윤성우 선생님의 강의는 카페 가입 시 들을 수 있다. (자바 뿐만 아니라 파이썬이나 디자인패턴 강의도 있는 듯 하다) https://cafe.naver.com/cstudyjava 윤성우의 프로그래밍 스터디그룹 [C/... : 네이버 카페 윤성우의 스터디 공간입니다. C와 JAVA를 공부하시는 분들은 모두 들어오세요. ^^ cafe.naver.com 1. javac → JDK에 있는 java 컴파일러 2. 명령 프롬프트로 javac.exe와 java.exe 이용한 자바 코드 실행 → 참고로 java.exe(자바 런처)는 JVM을 실행시키고 그 곳에 클래스 파일을 얹어놓는 ..
1.1. Java 소스 코드 구조 - 주요 → 클래스 정의하기 public class Sample { ...... } #1. 클래스를 만들고 그 안에 코드를 작성해야함 #2. 클래스를 선언할 땐 반드시 class 키워드를 사용해야함 #3. public은 "접근 지정자"라고 하며, 다른 클래스에서 자유롭게 Sample 클래스(class)를 참조할 수 있다는 의미임 → main() 메소드 작성하기 public class Sample { public static void main(String[] args) { ...... } } #1. main() 메소드부터 실행이 됨 즉, Java 소스 코드가 처음 실행될 때 main() 메소드를 먼저 찾고 실행함 #2. 1개의 클래스(class)에는 1개의 main 메소드..
Java 공부하다가 자꾸 다른 생각에 빠져서 잠시 쉬어가려고 한다..ㅠ 학부시절, 컴퓨터 구조를 배웠는데 그때 자주 들었던 말은 "컴퓨터에서는 정보가 0과 1로 표현된다"는 말이었다. 그리고 그 정보의 가장 작은 단위는 비트(bit)이고, 컴퓨터가 정보를 처리할 때 사용하는 가장 기본적인 단위는 바이트(단위로는 'B'로 표현한다)인데 비트가 8개 모이면 바이트이다. 등등. 그러면서 '1킬로바이트(단위로는 'KB'), 1메가바이트(단위로는 'MB'), 1기가바이트(단위로는 'GB')를 바이트로 표현하시오'와 같은 문제를 풀기 위해 항상 암기를 하고, 손으로 1024*1024를 계산하려고 했던 (ㅜㅜ) 기억이 남아있다. (참고로, 1킬로바이트는 1024바이트이며 1메가바이트는 1024*1024바이트이다) C..
※ Java에 대해 공부하는 학생(?)의 입장이므로, 틀린 내용이 있을 수 있습니다. # Java 이전의 프로그래밍 언어(C, C++ 등)는 플랫폼 종속성의 특징이 있음 → 플랫폼 종속성? e.g.) Intel CPU + 리눅스 환경에서 개발된 프로그램 ===> 동일한 환경에서만 실행됨 → 발생 원인은 (1)CPU마다 기계어 상이, (2)OS마다 API 상이, (3)OS마다 실행파일 형식 상이 등의 이유 때문임 → C언어만 해도, 컴파일되면 플랫폼에 종속적인 코드가 되어버림 # Java는 개발 단계에서부터 플랫폼에 독립적임 → 이는 Java가 가지고 있는 자바 가상 머신(JVM) 덕분임 → 즉, OS나 하드웨어(CPU 등)에 관계없이(=동일한 환경이 아니라도) 동일한 실행 결과를 기대할 수 있음 (= W..
블로그에 글을 정말 오랜만에 쓰는 것 같다. 좀 긴 시간 동안 진로에 대해 고민을 하며, 다양한 경험을 해보고 싶어서 갑작스럽게 떠났었다. 그러고서 여러 경험을 하고 돌아오니, 역시 그나마 내가 상대적으로 잘하는 것은 프로그래밍이라는 것을 깨달았다. '그나마 잘' 하는 것.. 그래서 다시 독하게 독학을 해보려고 마음을 굳게 먹었다. 사담이지만, 떠나기 전에 HTML, CSS, JavaScript를 아주 기초적으로 공부했었다. 공부하면서 느꼈지만 정말 나랑 안맞는 언어 같다. 그 자유로움(?)이 뭔가 익숙하지가 않다. 가령, JavaScript에서 변수에 숫자, 문자를 저장할 때에는 아래와 같이 데이터 타입 없이 사용하지만 var num = 1; var alphabet = 'c'; document.writ..
정말 오랜만에 글을 쓰는 것 같다. 개인 사정으로 다른 일을 하고 오느라 계속 블로그를 방치하고 있었다. 프로그래밍 공부도 하지 못하고 있었는데, 다시 열심히 해야겠다. 공부하기에 앞서 블로그 글 정리가 필요해 보였다. 현재 관리하고 있는 블로그가 두개 인데 하나는 공부 목적의 기록 블로그(이 블로그)이고, 하나는 잡담용 블로그이다. 잡담용 블로그가 생기기 전에 잡담 글은 모두 이 블로그에 적고 있었는데, 분리하는게 맞는 것 같아서 현재 블로그의 컨셉과 맞지 않는 글들은 모두 잡담용 블로그로 옮겨버렸다. 공부 목적의 기록 블로그(현재 블로그) : https://cinnamonc.tistory.com 회고록 블로그 인생 기록 블로그/ 특징: 쓸데없는데 호기심이 많음, 꾸미는데 소질없음 cinnamonc.t..
코딩을 누구나 금전적 제한없이 배울 수 있도록 만들어 주신 이고잉님은 정말 대단하신 분 같다. 강의를 준비하고, 가르치고, 어떻게 더 쉽게 알려줄 수 있을까 고민하는 그 노력들을 금전적 보상 없이 하시는 것이니까 말이다. 마침 초등학생의 소프트웨어 교육이 의무화 되면서 프로그래밍적 사고의 중요성도 알고 있겠다, 이고잉님께서 '교육 발전에 이바지'하고 있는 것에 대해 교육부 장관표창이라도 받을 수 있다면 좋을텐데.. 슬슬 더 많고 유용한 정보를 얻고, 함께 공유하기 위해서 git에 대해서 공부를 해야겠다는 생각이 들었다. 그래서 오늘도 생활코딩 강의를 보며 한 단계 진화(?) 해보려고 한다. ※ 본 글은 추후 필자가 복습하기 위해서 필기해놓은 글입니다. 오리엔테이션 * git? 버전관리시스템 * 파일의 이..
생활코딩 JavaScript 공부를 하다가 재귀함수를 공부하게 되었는데 반복문이 있음에도 불구하고 왜 재귀함수를 사용하는지 이해를 할 수가 없었다. 그래서, 구글신의 도움을 받아 찾아보았다. 이 글은 개인적으로 정리해놓고 필요할 때 찾아보기 위해 작성하는 글이다. 아래 코드는 recurse 라는 함수를 recurse라는 함수 안에서 다시 호출해서 사용하는 코드이다. 반복문 두고 왜 굳이 이런 식으로 사용하는지 이해를 할 수 없었다. 물론 이 코드는 단지 '재귀함수'에 대해서 학습하기 위한 코드이기 때문에 재귀함수를 쓰기에는 비효율적인 코드일 수 있지만('어? 이 코드에서는 반복문을 쓰는게 덜 복잡하지 않나?'라는 생각이 들 수 있음) 대충 이 코드가 반드시 '재귀함수를 사용해야만 하는 코드'라고 가정하자..
이전 필기 : https://cinnamonc.tistory.com/185 [공부 필기] 생활코딩 웹브라우저 자바스크립트 강의 필기 (1) 1. 웹브라우저에서의 자바스크립트 * 프로그래밍의 본질적인 요소인 조건문, 함수 등을 배우고 * 자바스크립트의 고유 요소인 DOM에 대해서 학습함 * [참고] 자바스크립트가 HTML, CSS를 어떻게 제어 cinnamonc.tistory.com DOM * 단수와 복수 - 객체의 프로퍼티를 이용해서 색상, 이미지 변경 등을 하기 위해서는 객체에 대해 이해할 필요가 있음 - getElementById와 getElementsByTagName => getElementById가 리턴한 값(단수의 값)은 "HTMLLIElement"이라는 객체이고, (조회한 엘리먼트가 이기 때문..
1. 웹브라우저에서의 자바스크립트 * 프로그래밍의 본질적인 요소인 조건문, 함수 등을 배우고 * 자바스크립트의 고유 요소인 DOM에 대해서 학습함 * [참고] 자바스크립트가 HTML, CSS를 어떻게 제어하는지 유의해서 학습할 것 2. 오리엔테이션 * 본 수업은 웹브라우저, 웹브라우저에서 표시되는 문서 등을 제어하는 방법에 집중하고 있음 (자바스크립트 라는 언어 자체에 대해서는 얘기하지 않음) * 오늘날에는 DOM을 잘 사용하지 않음 (DOM을 직접 사용하기 보다는 더 적은 코드로 강력한 효과를 주는 jQuery와 같은 라이브러리를 사용함) * 라이브러리에만 의존하지 않도록, 라이브러리의 사용성에 갇히지 않도록 브라우저에서 기본 제공하는 DOM 등을 이해하여야 함 * 자바스크립트라는 언어 자체의 대한 지..