SOLID BASIC
CS50 | 배열 Array (1) - 컴파일링, 디버깅, 코드의 디자인
main 이라는 함수는 프로그램의 시작점으로써 실행 버튼을 클릭하는 것과 같다. printf는 출력을 담당하는 함수이다. printf 함수를 사용하기 위해서는 stdio.h 라이브러리가 필요하다. 정확히 말하면 stdio.h는 헤더 파일로 C언어로 작성되어 있으며 파일명이 .h로 끝나는 파일이다. 이 파일에는 printf 함수의 프로토타입이 있어서 Clang 컴파일러가 프로그램을 컴파일할때 printf가 무엇인지 알려주는 역할을 한다. 코드를 clang hello.c로 컴파일하고 ./a.out 명령으로 프로그램을 실행할 때 이 과정은 컴퓨터가 이해하는 0과 1로 가득찬 파일 a.out을 생성하여 실행 가능하게 한다. 만약 a.out과 다른 이름(hello)으로 컴파일을 하고 싶다면 아래와 같이 명령행 인..
JAVA | Java 프로그래밍 구성 - 데이터와 문자열
오늘은 자바 프로그래밍 구성에 대해 공부했고 그 과정을 기록으로 남기려 한다. 기록하면서 또 복습하고 그런거지 뭐... public class Datatype{ public static void main(String[] args) { System.out.println(6); // Number System.out.println("six"); // String System.out.println("6"); // String 6 System.out.println(6+6); // 12 System.out.println("6"+"6"); // 66 System.out.println(6*6); // 36 // System.out.println("6"*"6"); System.out.println("1111".lengt..
이클립스 Eclipse 에러 해결 방법: "The compiler compliance specified is 17 but a JRE 1.8 is used"
이클립스에서 파일을 실행하는데 다음과 같은 오류가 발생했다. 두 번째 오류인 "The compiler compliance specified is 17 but a JRE 1.8 is used"를 해석해보니 컴파일러 버전을 바꿔주어야한다는 생각이 들었다. 그래서 이것을 바꿔주어 문제를 해결하고자 했다. 프로젝트 파일 위에서 마우스 오른쪽을 클릭하면 위와 같은 팝업창이 뜬다. 맨 아래 보이는 Properties를 클릭하면, 이렇게 화면이 뜬다. 버전을 바꿔주어야 하니까 'Java Compiler' 탭을 누르자. 위에 세팅을 변경할 수 있도록 한다는 체크박스를 누르면 컴파일러 레벨 변경이 가능해진다. 이렇게 말이다. 각자에게 맞는 버전을 택한 뒤 Apply and Close 버튼을 누르면 오류가 해결되어 정상 ..
CS50 | C 언어 - (2)
사용자 정의 함수 “cough”라고 세 번 말하는 C 프로그램을 작성하고 싶다면 아래처럼 작성하면 된다. #include int main(void) { printf("cough\n"); printf("cough\n"); printf("cough\n"); } printf 를 세 번 반복하면 되지만, 동일한 작업을 반복하는 것이기 때문에 사용자 정의 함수를 이용하면 아래 코드와 같이 더 단순화 할 수 있다. 루프 중에서 For을 사용하여 코드를 다시 짜보면, #include int main(void) { for (int i = 0; i < 3; i++) { printf("cough\n") } } 어렵지 않게 cough을 3번 출력해보았다. #include void cough(void) { printf("co..
CS50 | C 언어 - (1)
1) C언어 C언어에서 int main(void) 는 스크래치의 “초록색 깃발을 클릭했을 때” 블록과 같은 역할을 한다. 즉 '시작한다'의 의미를 가지고 있다고 보면 된다. 앞으로 작성할 코드는 모두 이 int main(void) { }의 중괄호 사이에 작성하게 될 것이다. C에서는 스크래치에서의 say라는 함수는 없고 printf라는 함수가 있다. printf(“hello, world\n”) 은 스크래치의 “‘hello, world’라고 말하기” 블록과 같은 역할을 한다. 글자나 단어, 문장을 적을 때는 언제나 텍스트에 " " 쌍따옴표로 감싸야 한다. 그리고 우리가 일상에서 문장의 끝에 마침표(.)를 붙이는 것 처럼 C에서는 세미콜론(;)을 붙여야 한다. \n은 줄바꿈의 기능을 합니다. 키보드에서 EN..
JAVA | Android Studio 안드로이드 애플리케이션 만들기
안드로이드 스튜디오를 공부해보았다. 우선, Android Studio에서 새로운 프로젝트를 생성하고 사용할 언어를 선택한다. 나는 자바를 언어로 사용할 것이므로 자바를 선택했다. 프로젝트를 생성하면 MainActivity.java 파일이 자동적으로 생성된다. onCreate 메소드에서 setContentView를 통해 안드로이드 앱의 메인 화면을 구성하면된다. 안드로이드 스튜디오를 이용한 정말 정말 간단한 앱 만들기 성공! 이렇게해서 퀴즈까지 다 풀어보았다. 결과는 아래 사진 참조
JAVA | 자바의 응용분야 - 데스크탑 애플리케이션 만들기, 사물 제어 라즈베리파이 커널
자바를 이용하면 우리가 원하는 무언가를 화면에 출력할 수 있다. 나는 오늘 자바로 간단한 데스크탑 앱 만들기를 공부해보았다. Eclipse에서 HelloWorldGUI 프로젝트를 생성하고 HelloWorldGUIApp.java를 만들었다. 내가 만들 작고 귀여운... 프로그램은 작은 데스크탑 창이 뜨고 그 안에 Hello World!가 나오는 기능을 수행할 것이다. 만든 이클립스 프로젝트에 아래의 코드를 입력한다. import javax.swing.*; import java.awt.Dimension; import java.awt.Toolkit; public class HelloWorldGUIApp{ public static void main(String[] args){ javax.swing.SwingUt..
JAVA | Hello Java World, JAVA의 동작원리
Create a Java Project를 눌러 자바 프로젝트를 생성한다. 위와 같이 프로젝트 이름은 HelloWorld로, Location에는 앞으로 실습을 진행할 작업 공간에 같은 이름의 폴더를 입력한다. Project layout은 첫 번째 옵션, 소스와 클래스 파일을 같은 프로젝트 폴더에 두는 옵션을 선택한다. Finish를 눌러 프로젝트를 생성한다. Navigator 뷰에서 HelloWorld 프로젝트를 마우스 오른쪽 버튼으로 클릭한 후, New - File을 클릭하여 새로운 파일을 생성한다. 파일 명에 HelloWorldApp.java를 입력하고 Finish를 눌러 자바 파일을 생성한다. HelloWorldApp에 아래 코드를 입력한다. public class HelloWorldApp{ publ..
1. 컴퓨팅 사고 Computational Thinking, Scratch
*CS50 컴퓨터 과학을 공부하며 정리한 글입니다. (edwith X CS50을 참조하였음을 밝힙니다.) 문제 해결은 입력을 전달받아 출력을 만들어내는 과정이다. 컴퓨터 과학은 이 중간 과정에 있다. 이를 간단히 표현해보면, input - 컴퓨터 과학 - output 이렇게 정리할 수 있다. 입력과 출력을 표현하기 위해서 모든 사람이 동의할 표준 약속이 필요하다. 그 표현 방법에 대해 공부해보자. 1) 2진법 일상 속에서 사용하는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 총 10개의 기호로 표현하는 방법이 '10진법'이다. 하지만 컴퓨터는 오직 0과 1을 가지고 데이터를 표현한다. 이 표현 방법을 '2진법'이라고 한다. 컴퓨터는 0과 1만으로 글, 사진, 영상 그리고 소리 등을 저장할 수 있다..