콘솔 출력하기 Java에서는 콘솔을 출력할 때 System.out.println() 메소드를 사용한다. 문자열을 표현할 때는 쌍 따옴표("")를 사용한다. 코드의 맨 마지막에는 세미콜론(;)을 사용한다. public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } 윈도우 인텔리제이 기준으로 Ctrl + Shift + F10을 누르면 실행된다. 맥 인텔리제이는 command + Shift + r을 누르면 실행됨 자바의 실행 순서 1. 프로그래머가 코드를 작성한다. 2. 컴파일한다. (컴파일을 하면, 바이트코드가 생성됨, HelloWorld.java -> HelloWorld.c..
파이썬의 특징 문법이 쉽고 간결하여, 비교적 쉽게 배울 수 있음 상대적으로 쉽다는 뜻으로 프로그래밍을 처음 접하는 사람한테는 어려울 수 도 있음 foo = 1 print(foo) # 1 foo = "Hello Python" print(foo) # Hello Python 다른 언어에 비해 개발속도가 상당히 빨라서, 나는 프로토 타입을 만들때 파이썬을 주로 사용한다 // Java로 Hello World 찍기 public class Main { public static void main(String[] args) { System.out.println("Hello, World"); } } # Python으로 Hello World 찍기 print("Hello, World"); 무료로 제공해주기 때문에 개발하는데 ..
문자와 문자열 파이썬에서는 문자와 문자열을 따로 구분하지 않는다. 문자와 문자열을 사용할 때는 홑 따옴표(') 또는 쌍 따옴표 (") 둘 다 사용 가능하다. 문자 위에서 말했듯이 문자와 문자열을 따로 구분하지 않지만, 굳이 문자를 표현하면 문자 한 글자를 따옴표로 감싼다 alphabet_a = 'a' print(alphabet_a) # a alphabet_b = "b" print(alphabet_b) # b print('c') # c print("d") # d 홑 따옴표(')와 쌍 따옴표(") 둘 다 사용 가능하다 문자열 여러 개의 문자를 따옴표로 감싼다. 마찬가지로 홑 따옴표(')와 쌍 따옴표(") 둘 다 사용 가능하다 greet = "Hello, Python!" print(greet) language..
더하기 연산 + num1과 num2라는 변수를 생성하여, 2개의 변수를 더한 값을 print() 함수로 출력한다 수학에서 사용하는 더하기(+)와 동일하다 num1 = 10 num2 = 6 print(num1 + num2) # 16 빼기 연산 - num1 = 10 num2 = 6 print(num1 - num2) # 4 곱하기 연산 * 프로그래밍에서는 곱하기를 x 기호 대신에 * 를 사용한다. 읽을때는 *를 '에스테르크'라고 읽음 num1 = 10 num2 = 6 print(num1 * num2) # 60 제곱 연산 (**) * 1개를 사용하면 단순히 곱하기 연산이지만, ** 2개를 사용하면 제곱(pow) 연산이된다. print(2 ** 4) # 16 2^4 = 2 * 2 * 2 * 2 = 16 나누기 연..
MacOSX에서 설치하려면 아래 글 참고해주세요 2020/11/26 - [Language/Python] - MacOS에 Python 3.7.9 버전으로 설치하기 MacOS에 Python 3.7.9 버전으로 설치하기 Python을 사용하려면 설치를 먼저 해야하기 때문에, 우선 설치부터 진행해본다. Python3 설치 파일 다운로드 파이썬을 설치하는 방법은 여러가지 방법이 있다. (본 글에서는 파이썬 공식 페이지에서 memostack.tistory.com 윈도우에서 Python 설치하기 아래 사이트에 접속 www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org .msi 인스톨..
Python을 사용하려면 설치를 먼저 해야하기 때문에, 우선 설치부터 진행해본다. 윈도우에서 파이썬을 설치하고 싶은 경우 아래글 참고해주세요. 2020/11/26 - [Language/Python] - Windows에 Python 3.7.9 설치하기 Windows에 Python 3.7.9 설치하기 MacOSX 에서 설치하려면 아래 글 참고해주세요 2020/11/26 - [Language/Python] - MacOS에 Python 3.7.9 버전으로 설치하기 MacOS에 Python 3.7.9 버전으로 설치하기 Python을 사용하려면 설치를 먼저 해야하기 때.. memostack.tistory.com Python3 설치 파일 다운로드 파이썬을 설치하는 방법은 여러가지 방법이 있다. (본 글에서는 파이썬 ..
Homebrew를 사용하면, openjdk를 설치하는 건 굉장히 쉽다. jdk 뿐만 아니라 다른 패키지 설치하거나 삭제할때도 매우 편리함 JDK 11 설치 (adoptopenjdk11) 본 글에서는 adoptopenjdk11을 설치한다. $ brew cask install adoptopenjdk11 ==> Downloading https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.9%2B11.1/OpenJDK11U-jdk_x64_mac_hotspot_11.0.9_11.pkg ...중략... install-time: 1604066415 🍺 adoptopenjdk11 was successfully installed! 설치 ..
파일이 존재하는지 확인 Java에서 파일이 존재하는지 확인하기 위해서는 File 오브젝트의 exists() 메소드를 사용한다. import java.io.File; public class App { public static void main( String[] args ) { // 파일의 경로 final File driverFile = new File("src/resources/bin/chromedriver.exe"); final String driverFilePath = driverFile.getAbsolutePath(); // 파일이 존재하는지 확인 if(!driverFile.exists()) { // 파일이 존재하지 않는다면, 오류 발생. throw new RuntimeException("Not fo..
목표 Java와 Selenium을 가지고 웹 크롤러를 만든다. 환경 Maven 기반의 Java 프로젝트 Java 버전 OpenJDK 1.8.0_242 Selenium 라이브러리 편의를 위해 Maven 프로젝트로 생성했다. Selenium 라이브러리를 가져온다. mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java Maven Repository: org.seleniumhq.selenium » selenium-java Selenium automates browsers. That's it! What you do with that power is entirely up to you. VersionRepositoryUsagesDate4.0.x4.0.0-..
Maven 설치 본 글에서는 MacOS 환경에서 Maven을 설치하고, Homebrew를 이용한다. # MacOSX brew install maven 설치 완료 후 버전 확인 $ mvn --version Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec Java version: 14.0.1, vendor: N/A, runtime: /usr/local/Cellar/openjdk/14.0.1/libexec/openjdk.jdk/Contents/Home Default locale: ko_KR, platform encoding: UTF-8 OS name: "m..
목표 Integer.parseInt()와 Integer.valueOf()의 차이를 알아본다. 차이점 문자열로 된 숫자를 parseInt와 valueOf를 사용하여 타입 변환을 해보고 출력해보면 같은 결과가 나온다. public class Main { public static void main(String[] args) { String angel = "1004"; // 출력 System.out.println(Integer.parseInt(angel)); // 1004 System.out.println(Integer.valueOf(angel)); // 1004 } } 1004 1004 타입을 찍어보면, parseInt의 경우는 getClass()라는 메소드가 없어서 오류가 발생한다. 반면, valueOf는 ..
Default Import 아래 패키지는 기본으로 import 되어 있기 때문에 바로 사용 가능하다. java.io.* java.lang.* java.math.BigDecimal java.math.BigInteger java.net.* java.util.* groovy.lang.* groovy.util.* Multi-Methods 그루비는 런타임시의 인수 유형에 따라 적절한 메소드를 선택하여 실행 함. 이렇게 호출하는 방식을 디스패치(Dispatch) 또는 다중메소드(Multi-Methods)라고 함. int method(String arg) { return 1; } int method(Object arg) { return 2; } Object o = "Object"; int result = method..
Groovy 란? Groovy는 자바에 파이썬, 루비와 같은 동적 언어의 특징을 넣은 스크립트 언어 JVM 위에서 동작하는 동적 스크립트 언어 Jython, JRuby, Jacl, Rhino, LuaJava 등에 비해 손색이 없으며, 빠르게 성장 중 방법 1. brew 를 이용하여 Groovy 다운로드 주의할 점 '방법 1'은 Mac OSX에서만 가능한 방법이므로, 다른 OS인 경우 '방법 2'를 참고. brew를 이용하여 설치하기 때문에, brew 설치가 우선적으로 되어 있어야 함. hong@TaehongKimui-MacBookPro ~ % brew install groovy Updating Homebrew... ... ==> groovy You should set GROOVY_HOME: export ..
모듈 다운로드 python 3.4버전 이상 pip install --upgrade pip pip install qrcode Pillow 설치 확인 hong@TaehongcBookPro ~ % python3 Python 3.7.7 (v3.7.7:d7c567b08f, Mar 10 2020, 02:56:16) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import qrcode 코딩 # -*- coding: utf-8 -*- import os import qrcode url = r"https://memostack.tistory.com/" img_form..
자바의 주석 주석은 코드에 영향을 미치지 않는 코드를 말한다. (즉, 컴파일러가 컴파일하지 않고 무시하고 넘어감) Java의 주석에는 3종류가 있다. 한 줄 주석 // 를 이용한다. public class HelloWorld { public static void main(String[] args) { String comment = "Hello, Java!"; // 이건 한줄 주석 } } 여러 줄 주석 /* */ 를 이용한다. public class HelloWorld { public static void main(String[] args) { /* 이건 여러줄 주석 String greet = "Hello, World!"; System.out.println(greet); System.out.println(..
프로그래밍이란? 프로그래밍: 컴퓨터에게 일을 시키기 위해 프로그램을 만드는 행위 컴파일: 사람이 이해할 수 있는 고급 언어를 컴퓨터가 이해할 수 있는 기계어로 바꿔주는 일을 뜻 함 컴파일러: 컴파일을 할 수 있는 프로그램 자바의 탄생 1995년 썬 마이크로시스템즈에서 개발한 객체지향 언어 C/C++ 문법을 기본으로하여 개발함 JAVA의 특징 플랫폼에 독립적이다. 컴파일된 동일한 코드는 JVM만 설치되어 있다면, 운영체제에 상관없이 실행할 수 있다 객체지향 프로그램으로 유지보수와 확장성이 좋다. 풍부한 라이브러리가 제공되어 오픈소스와 연동이 쉽다. JVM의 GC(Garbage Collector)에 의해 사용되지 않는 메모리를 자동으로 정리해준다.
문자열 개수 찾기 문자열의 개수를 찾을 때는 str 의 count() 메소드를 이용한다. greet = "Hello, World!" print("`o` count:", greet.count("o")) print("`l` count:", greet.count("l")) `o` count: 2 `l` count: 3 문자열이 있는지 확인 str 의 find() 메소드를 이용한다. find() 메소드는 찾는 문자열이 있는 경우, 찾은 문자열의 첫번째 인덱스 값을 반환한다. 찾은 문자열이 여러개인 경우 첫번째 문자열의 첫번째 인덱스를 반환한다. 찾는 문자열이 없는 경우, -1 을 반환한다. greet = "Hello, Python" print(greet.find("Python")) # 찾은 문자열의 첫번째 인덱..
파이썬의 정책에 의해 멀티 스레드 방식으로 프로그램을 구현하더라도, (번갈아가면서) 하나의 스레드만 실행하게된다. 그래서, 파이썬에서는 멀티 스레드를 통해 원하던 효과를 제대로 볼 수 없다. 아래 GIL에 의해서 하나의 스레드만 실행이 된다. GIL(Global Interpreter Lock)? 파이썬은 모든 자원을 하나의 스레드에서 컨트롤할 수 있게 글로벌 락(Global Lock)을 걸어둔다. GIL 은 하나의 스레드(Thread)에게 모든 자원(Resource)을 점유할 수 있게 해준다. (다른 스레드는 Acquire 할 수 없음) 그렇다고 스레드가 쓸모없는 것은 아니다. 하나의 스레드가 I/O 작업을 하는 동안은 다른 스레드가 점유할 수 있다. I/O 작업이 없는 프로그램이라면, 멀티 스레드 방식..
1. 파일 다루기 파이썬에서는 파일을 다룰때, open() 메소드를 사용한다. 1.1. 파일 쓰기 파일을 쓸 때는 "w" (Write) 를 사용한다. (아래 코드 참고) dest = "/Users/taehongkim/Desktop/test.txt" try: f = open(dest, "w") # 파일을 쓸 때는 "w" 옵션을 사용한다. f.write("Hello, World!") # 파일의 내용 finally: f.close() # 작업이 끝나면 `close()` 를 통해 리소스를 해제해준다. close() 메소드를 통해 파일 리소스를 해제해준다. 파일을 작성하는 도중 오류가 발생할 가능성이 있기 때문에 try-finally 를 이용하여 close() 가 반드시 실행될 수 있도록 한다. 위 방법처럼 작성..
파이썬 정렬 메소드 파이썬에서는 정렬을 할때 sort() 와 sorted() 메소드를 사용한다. sort() sort() 메소드는 리스트를 오른차순으로 정렬해준다. >>> data = [3, 6, 12, 7, 10, 99, 23, 5, 9] >>> data.sort() >>> data [3, 5, 6, 7, 9, 10, 12, 23, 99] sorted() sorted() 메소드는 오름차순으로 정렬 후 새로운 리스트를 반환해준다. >>> data = [3, 6, 12, 7, 10, 99, 23, 5, 9] >>> sorted(data) [3, 5, 6, 7, 9, 10, 12, 23, 99] 파이썬에서는 어떤 정렬 알고리즘을 사용할까? 흔히 알고리즘을 배우면 아래 5가지 정렬 알고리즘을 배운다. 선택 정..