일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- jdk
- post
- 허브
- 액세스회선
- Spring
- Java
- STREAM
- Pipeline
- IntelliJ
- mybatis
- docker
- ansible
- Jenkins
- tomcat
- cloud
- JPA
- 소켓
- 캐시서버
- map
- sonarQube
- Set
- DevOps
- 방화벽
- gradle
- AOP
- 라우터
- container
- Linux
- Collection
- LAN어댑터
- Today
- Total
목록Java (14)
거북이-https://velog.io/@violet_evgadn 이전완료
함수 호출 우리는 흔히 함수를 사용할 때 "함수이름()" 문구를 활용한다. 이렇게 함수 이름을 통해 특정 함수를 활용하는 것을 "함수의 호출"이라고 한다. 만약 호출한 함수가 Parameter를 가지고 있다면 우리는 함수를 호출하는 과정에서 인자를 전달해줘야 한다. 이때 인자를 전달하는 대표적인 방법이 Call by Value와 Call by Reference 방식인 것이다. 프로그래밍 언어별로 인자 전달 방식에도 약간 차이가 존재한다. Python에서는 Passed by assignment라고 불리는 Call by Value와 Call by Reference의 혼합 방식을 사용하며, Java는 Call by Value만 사용하지만 C 언어의 Call by Value와는 다른 동작 방식을 가진다. 일단 ..
Java 설치 Jenkins나 SonarQube처럼 Java가 설치되어 있지 않으면 아예 동작되지 않는 Tool들도 있다. Python과 달리 Java는 Instance에 필수적으로 설치되는 것이 아니므로 직접 깔아주도록 하자. 0. Java 설치 여부 확인 java -version Java Version 확인 명령을 내렸을 경우 정상적으로 버전이 출력된다면 이미 자바가 설치되어 있는 것이다. 하지만 AWS Instance를 처음 만들었을 경우 아래와 같이 뜰 것이다. 그럼 Instance에 Java를 설치해보자. 1. Amazon Corretto jdk11 다운로드 sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-lin..
IoC ◎ IoC란? Spring Container와 Spring Bean을 제대로 공부했다면 이제는 IoC가 무엇인지 바로 설명할 수 있을 것이다. IoC는 Inversion of Control(제어의 역전)의 약자로써 메소드나 객체 호출 및 생성 작업을 개발자가 직접 하지 않고, 외부(특별한 객체)가 수행하도록 하는 것이다. 즉, 기존에는 개발자가 객체를 생성했다면 IoC에서는 개발자는 어떤 객체를 활용할지만 (Spring에게) 알려주면 제어권을 가진 주체(Spring Container)가 알아서 의존성 객체(Spring Bean)을 주입해주는 것을 의미한다. IoC를 통해 사용자가 제어의 흐름을 컨트롤하지 않고 스프링이 대신 작업을 처리함으로써 개발자는 로직에만 신경쓰면 되기 때문에 효율적인 개발이..
Spring Container ◎ Spring Conatiner란? 스프링 컨테이너는 스프링에서 자바 객체들을 관리하는 공간을 말한다. 앞에 IoC를 설명할 때 짧게 말했듯, Spring에서는 개발자가 직접 객체를 관리하지 않고 특별한 객체가 모든 객체들을 관리하게 된다. Spring Container는 개발자가 활용했던 new 연산자, 인터페이스 호출, 팩토리 호출 방식으로 객체를 생성하고 소멸시켰던 행위를 개발자 대신해주는 주체가 된다. 즉, Spring Container는 Spring의 IoC 역할을 수행하는 특수 공간이라고 생각하면 된다. Spring Container는 내부에 Spring Bean 저장소를 가지고 있으며, Spring Bean 저장소에 Bean 이름 및 객체가 저장되는 것이다. ..
IntelliJ 단축키 먼저 Windows와 Mac에서의 명령어가 다르다는 것을 알고 가자. 아래 설명은 Windows 기준 단축키로써 Mac 기준 단축키와 다를 수 있다. 프로젝트 내 특정 구문 검색 : Ctrl + Shift + f 모든 구문 변경하기 : Ctrl + Shift + r 검색창 : Shift 2번 연속 클릭 파일 이름 변경 : Shift + F6 어노테이션 or 클래스 소스 코드 : Ctrl + Shift + i Alt + Insert 클래스 내부에서 사용 : Generator, Getter/Setter, toString 등 자동 생성 폴더나 패키지에 사용 : 새로운 파일 추가 추천 코딩 방법 일반적으로 현업에서 Package 명은 웹 사이트 주소의 역순으로 설정함 (ex) naver...
Github 연동 설정 1. File → Settings 클릭 2. Git을 입력하고 설치했었던 Git의 실행 파일 경로 지정 IntelliJ 측면에서 Auto-Detected를 통해 Path를 찾아주므로 큰 문제는 없다. 단지 자동 탐색이 안 될 경우만 직접 설정해주자 3. Github Section을 클릭하여 Github 계정 연동 Login via Github를 클릭하면 Github에 로그인되어 있는 계정으로 연동된다. 원하는 Github 계정이 있다면 Login with Token을 통해 로그인하자 Github와 연동하기 ◎ 방법 1 : 프로젝트명으로 Repsitory를 생성하여 Github와 연동 1. VCS → Share Project on Github 클릭 2. 최초 Commit 수행 3. ..
Spring Initializr를 활용한 Gradle Project 생성 1. https://start.spring.io/ 접속 2. 아래와 같이 선택하기 Project : Gradle Project Maven Project로 만들어도 되기는 하지만 Gradle이 Maven보다 시기적으로 늦게 나왔으며 비교적 뛰어난 스펙을 가지므로 Gradle을 추천한다 나중에 Gradle과 Maven의 차이에 대해 심도 있게 비교해 보자 Language : Java Spring Boot : SNAPSHOT이 붙지 않은 버전 중 1개를 선택. SNAPSHOT 버전은 "개발 중인 버전"을 의미하기 때문에 안정성이 떨어진다. 따라서 SNAPSHOT 버전이 아닌 것을 활용하는 것이 좋다. Dependencies : Sprin..
IntelliJ란? IntelliJ는 JetBrains사에서 개발한 JAVA 통합 개발 환경이다. IDEA라고도 부른다. 대표적인 JAVA 통합 개발 환경인 Eclipse 보다 여러 면에서 뛰어나다고 평가되며 2020년에는 62%의 사용자가 IntelliJ를 사용할만큼 유명해졌다. IntelliJ 큰 장점은 코드 컴플리션과 뛰어난 리팩토링 기능이라고 할 수 있다. 코드 컴플리션 같은 경우 클래스나 메서드 일부분만 입력해도 IntelliJ 측면에서 이와 매칭되는 예상 단어를 자동으로 띄워줘 잘 활용한다면 정말 빠른 개발이 가능하다. 또한 클래스 이름이나 메서드 이름을 변경할 때 존재하는 모든 클래스와 메서드 명을 변경하는 기능을 가지고 있어 완벽한 리팩토링을 제공하기도 한다. 이외에도 중복 코드를 찾아 알..
자바 프로그램 구조 ◎ 클래스 JAVA의 모든 프로그램 소스는 클래스 단위로 시작한다. 일반적으로 클래스 이름과 소스파일명은 동일하며, 실행을 위해서는 main() 메서드가 필요하다. 객체(인스턴스) 설계도를 담당한다. 클래스를 선언하고 인스턴스를 만들면 클래스 형태를 가진 인스턴스가 만들어지는 것이다 ◎ 인스턴스 클래스의 형태로 생성된 객체이다. 클래스가 설계도라면 인스턴스는 실제 목자재 등의 재료로써 이런 인스턴스들을 쌓아서 전체 프로그램을 구성하게 된다. 인스턴스의 목적은 멤버 변수를 통한 정보 보관 및 멤버 메서드를 통한 행위이다. 인스턴스의 주솟값을 레퍼런스라고 하며, 레퍼런스 값을 저장한 변수를 레퍼런스 변수라고 한다. ◎ 예시를 통해서 본 클래스와 인스턴스 class Class_Example..
Garbage Collection이란? ◎ GC(Garbage Collection) 시작하기 이전에 말했던 내용을 간단히 정리하면, GC란 "메모리를 알아서 정리해주는 기능"이라고 한다. 그렇다면 왜 Garbage Collection이라고 하는 걸까? 먼저 "Garbage"라는 용어에 대해 알아볼 필요가 있다. Garbage의 사전적 의미는 "쓰레기"라는 의미를 가진다. 그렇다면, 컴퓨터 과학 측면에서 Garbage라는 의미는 무엇을 의미할까? ◎ Garbage(쓰레기 값)이란? Garbage를 한 마디로 정의하자면, "유효하지 않은 메모리 주소"를 말한다. Garbage를 Unreachable Object(사용하지 않을 객체)라고 정의하는 사람들도 있지만, 사용을 하고 싶더라도 메모리 주소를 잘못 설정..