프로그래머스 코딩테스트 / 나머지가 1이 되는 수
·
Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { fun solution(n: Int): Int { for (x in 1..n - 1) { if (n % x == 1) return x } return 0 } }
내일배움캠프 팀 프로젝트 - 뉴스피드 프로젝트 (1)
·
내일배움캠프 프로젝트
뉴스피드 프로젝트 프로젝트 소개 프로젝트 명: 리뷰어스 (reviewus, reviewers) 소비자들이 사용한 제품, 장소, 서비스 등에 리뷰하여 정보를 공유하는 뉴스피드 웹 서비스이다. 댓글 알바 없는 순수 리뷰 실 사용자 서비스를 만들고자 하여 계획하게 되었다. 필수 구현 기능 게시물 CRUD 뉴스피드 기능 (메인페이지, 전체 조회페이지) 상세보기 (디테일 페이지) 댓글 CRUD 사용자 인증/인가 (회원가입, 로그인/로그아웃, 인가) 프로필 관리 추가 구현 기능 이메일 가입 및 인증 기능 사진 추가기 기능(S3) 좋아요 기능 와이어 프레임 ERD API 명세 팀 프로젝트가 시작됐다. 컨디션 관리를 못해 집중도 안되고 몸도 별로 안좋았어서 (핑계) 학습량이 많이 부족했다. 그래서 내 실력에 자신이 없..
Spring 에러 (please set 'javax.persistence.jdbc.url')
·
TroubleShooting
'please set 'javax.persistence.jdbc.url 'hibernate.connection.url' 'hibernate.dialect' - 에러 이미지 하이버네이트 (Hibernate)의 설정이 잘 못 되어 나온 오류같은데.. 에러를 극복하는 건 좋지만 지금 하이버네이트고 컨테이너 어쩌고 하면 난 졸도할지도 모른다.. 간략하게 표현하자면 스프링에서 Dialect 설정을 찾지 못해서 생긴 에러이다. 해결방법 application.properties에 spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQLDialect 를 추가해서 해결...! 참고: https://velog.io/@rockstar/Docker-MySQL-..
Spring 입문 - DI (의존성 주입), IoC (제어의 역전), Bean
·
Spring
Dependency Injection (의존성 주입) 객체가 자체적으로 필요로 하는 의존성을 생성하는 것이 아니라, 외부에서 주입받는 디자인 패턴입니다. 객체간의 결합도를 낮추기 위해 사용합니다. 주로 Contructor 기반 주입, Field 기반 주입, Setter 기반 주입이 있습니다. DI를 사용하지 않을 경우 package org.example.ChickenStore class ChickenStoreWithoutDI { private val chicken: Chicken = FriedChicken() fun getCookedChicken(): Chicken { chicken.cook() return chicken } } class ChickenStoreWithoutDI2 { private val..
제네릭
·
Kotlin
제네릭 (Generic) 이란 클래스 내부에서 사용할 자료형을 나중에 인스턴스를 생성할 때 확정한다. 자료형의 객체들을 다루는 메서드나 클래스에서 컴파일 시간에 자료형을 검사해 적당한 자료형으로 선택할 수 있게 하기 위해 사용한다. 제네릭을 사용하면 객체의 자료형을 컴파일할 때 체크하기 때문에, 객체 자료형의 안전성을 높이고 형 변환의 번거로움이 줄어든다. 제네릭 사용방법 앵글브라켓() 사이에 형식 매개변수를 넣어 선언한다. 이때 형식 매개변수는 하나 이상 지정 가능하다. 형식 매개변수는 자료형을 대표하는 용어로 T와 같이 특정 영문 대문자를 사용한다. 제네릭을 사용하면서 얻을 수 있는 장점은 의도하지 않은 자료형의 객체를 지정하는것을 막고 객체를 사용할 때 원래의 자료형에서 다른 자료형으로 형 변환시 ..
인터페이스
·
Kotlin
인터페이스 (Interface) 란 인터페이스에는 abstract로 정의된 추상메서드나 일반메서드가 포함된다. 추상클래스처럼 프로퍼티를 통해 상태를 저장할 수 없고 선언만 가능하다. 인터페이스도 마찬가지로 객체를 생성할 수 없고 하위 클래스를 통해 구현 및 생성해야한다. 인터페이스를 사용하는 이유? 추상클래스를 사용할 때의 제한을 생각해보자. 하위클래스는 상속을 하나만 허용한다는 단점이 있다. 또한 상위클래스와 하위클래스의 강한 연관이 생기면서 상위클래스의 영향을 그대로 받게된다. 그래서 상위클래스가 수정되었을 때 하위 클래스를 일일이 확인하기 어려운 경우 부작용이 발생할 수 있는것이다. 인터페이스는 클래스가 아니다. 그래서 상속의 개념이 아닌 구현의 개념이라 구현클래스 (하위클래스)와 강한 연관을 가지..