본문 바로가기
관리자

Programming-[Backend]

(421)
파이썬 기본 - 3. 조건문, 제어문, 함수 1. 조건문 기본적인 조건문은 다른 언어와 같다. 다만 파이썬은 기본적인 조건문 뒤에 콜론(:)을 작성하여 조건문을 구분한다. 그리고 파이썬의 특성상 들여쓰기를 주의해서 작성해줘야한다. money = True if money: print("택시를 탄다") else: print("걸어 간다") in 조건문 중, 집합에 원소가 포함되어있는지 여부를 검사하는 것은 in 절을 통해서 실행한다. 자바에서의 contains와 동일한 로직이다. 부정은 not in 으로 사용하면 된다. list = [1,2,3] if 1 in list: print("There is One") elif 다른 조건은 else if를 줄인 elif를 사용한다. money = 1000 if money < 1000: print("걸어간다") ..
파이썬 기본 - 2. 리스트, 튜플, 딕셔너리, 집합, 불, 인스턴스 복사 1. 리스트 리스트 지정 및 조회 리스트는 여러 개의 값을 한 번에 관리하기 위해서 사용한다. 대괄호 [...]의 형태로 사용한다. 리스트 안에 리스트를 넣을 수도 있으며, 문자열에서처럼 index를 통해 원소를 조회할 수 있다. slicing, 덧셈, 곱셈도 문자열과 같은 문법으로 사용 가능하다. 리스트 변형 원소의 교체, 삭제 정렬 sort, reverse 함수가 있다. reverse는 내림차순으로 정렬하는 것이 아니라 원래 상태에서 순서를 뒤바꾸는 것을 의미한다. 추가, 삽입, 제거 append, insert, remove 함수를 사용한다. append는 맨 뒤에 추가, insert는 특정 index에 추가한다. remove는 특정 원소를 찾아서 제거하며, 맨 처음 조회된 원소만 제거한다. pop,..
파이썬 기본 - 1. 파이썬의 특징, 설치, 숫자 및 문자 자료형 1. 파이썬의 특징 파이썬은 다른 언어들에 비해서 상대적으로 배우기가 쉽다. 그러나 속도가 느린 편이기 때문에, 배우기는 어려우나 속도가 빠른 C언어와 함께 쓰는 경우가 종종 있다. C언어는 컴파일 언어이고, 파이썬은 인터프리터 언어이기 때문이다. 파이썬 라이브러리 중에는 C언어로 작성된 것들도 많다. 대표적으로 numPy라는 라이브러리는 C 언어의 라이브러리를 파이썬에서 쓸 수 있도록 래핑해준다. 파이썬은 모바일 프로그래밍이나 운영 체제 프로그래밍에는 적합하지 않다. 모바일 앱을 만들고 싶다면 Java/Kotlin 또는 Swift를 사용하는 것이 일반적이고, 운영 체제를 만들기 위해서는 C언어 등의 로우 레벨 언어들을 이용하는 것이 보편적이다. 2. 파이썬 설치 및 기본 환경 설정 intelliJ Py..
자바 입력 : InputStream, InputStreamReader, BufferedStream, Scanner 자바의 기본 입력 API인 InputStream 등에 대해서 학습한다. 참조1의 설명이 잘 나와있어서, 그대로 따라해보며 기록 하였다. 1. Stream Stream은 마치 물이 연속적으로 흐르는 것과 같이 데이터가 연속적으로 존재한다는 것을 표현한 객체이다. 컴퓨터는 이진수로 이루어진 비트로 정보를 주고 받으며, 일반적으로 바이트코드(byte)로 데이터를 전달하기 때문에 스트림도 byte의 연속된 집합이라고 할 수 있다. 사용자의 키보드 입력, 파일 데이터, HTTP 송수신 데이터 등이 모두 스트림으로 간주되어 스트림 관련 API를 통해서 데이터를 처리하게 된다. 2. InputStream InputStream은 1996년 JDK 1.0에서 도입되었다. java.io 패키지에 속해 있다. InputSt..
@SpringBootApplication 이해하기 1. @SpringBootApplication 소개 IntelliJ IDE에서 Spring Initializr를 통해 프로젝트를 새로 생성하면, 따로 Spring 관련 라이브러리들(ex. Spring Web 등)을 추가해주지 않더라도 java/main 메서드의 최상위 클래스 위에 @SpringBootApplication 어노테이션이 설정된다. 이 글에서는 해당 어노테이션의 기능에 대해서 정리해보고자 한다. 2. @SpringBootApplication의 기능 @SpringBootApplication은 Spring Bean 설정 기능과 라이브러리들의 의존성 추가 작업을 해준다. 즉 @EnableAutoConfiguration, @Configuration, @ComponentScan 어노테이션이 주 기능이라..
[탐험][자바 스프링 Http 통신하기] 1. URL Connection Java/Spring을 활용하여 외부 Http 서버에 요청을 보내고, REST 통신을 하기 위한 방법들을 정리한다. 오래된 기술 순으로 나열하면 다음과 같다. URLConnection HttpClient RestTemplate WebClient 실제 Spring 프로젝트를 만들어서 Http 요청/응답 처리를 해보며 각 라이브러리의 사용법 및 장단점 등을 공부해본다. 그 외 부수적으로 초보 개발자가 얻어갈 수 있는 내용들을 정리할 것이다. project stack : java 17, spring boot 2.7.0, maven 4.0.0 / IDE : intellij Ultimate 1. URLConnection 소개 jdk 1.2부터 내장되었다. jdk 1.2는 1998년 Jave SE 1.2로 발표되었..
에러 발생 시 특정 기능을 하도록 만들기 : 정적 팩토리 메서드 1. 필요성 에러가 발생했을 때, 에러 객체를 만들면서 동시에 메시지를 쏘는 기능을 하도록 만들어야했다. 에러 객체를 new 키워드를 써서 생성자를 통해 만들어주고, 이후에 메시지를 쏴야하는데 이미 에러는 throw 되어 그 다음 코드는 실행하지 않게 되었다. if(error) { throw new MessageException("에러 발생"); sendMessage(); //실행되지 않음 } 2. 해결방법 MessageException 객체의 생성자 자체에 sendMessage 로직을 넣어주면 된다! 그러나 이런 경우에는 의미를 명확하게 하기 위해서 MessageException 객체가 정적 팩토리 메서드로 만들어지도록 하는 것이 추천된다. public static MessageException get..
[TIL][링크] 자바 리스트 stream split 처리 - groupingBy Java8 Collectors groupingBy Map groups = testList.stream().collect(Collectors.groupingBy(i -> i / 3)); List listByCollectors = new ArrayList(groups.values()); //will be.. listByCollectors = {ArrayList@1058} size = 4 0 = {ArrayList@1093} size = 3 1 = {ArrayList@1094} size = 3 2 = {ArrayList@1095} size = 3 3 = {ArrayList@1096} size = 1 출처: https://jinseongsoft.tistory.com/312 [진성 소프트]