전체 글

문제 풀이 List를 만들어 파라미터로 받은 int배열의 숫자를 하나씩 넣을 건데 만약 앞에 숫자와 같은 숫자라면 추가하지 않을 것이다. 배열의 원소의 크기는 0보다 크거나 같고 9보다 작은 수라고 하였으니 맨 처음 값은 10으로 초기화를 한다. 그리고 배열에서 숫자를 하나씩 꺼내 앞에 값과 다르다면 추가해준 뒤 앞의 값(변수 X)을 추가해준 값으로 초기화한다. import java.util.*; public class Solution { public List solution(int[] arr) { List list = new ArrayList(); int X = 10; for (int i : arr) { if (i!=X) { list.add(i); X=i; } } return list; } }
· BE/Java
SOLID란? SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Opne Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Interface Segregation Priciple) : 인터페이스 분리 원칙 DIP(Dependency Inversion Principle) : 의존 역전 원칙 1.SRP(Single Responsibility Principle) : 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. - 로버트 C.마틴 위에서 남자 클래스는 역할과 책임이 너무 많다. 남자라는 클래스의 책임범위를 너무 방대하게 잡았기 때문에 하나의 클..
SK 기술 블로그인 데보션에서 진행한 온라인 세미나 Goodbye Passwords! Hello Passkey! 의 후기를 작성해보려 한다. 세미나의 제목에서도 알 수 있듯이 이번 세미나의 내용은 SKT 뿐만 아니라 구글, 애플, 마이크로소프트 등의 글로벌 테크 기업에서 도입 준비 중인 기술인 Passkey에 대해 기술에 발표가 있었다. 발표는 SK텔레콤에서 인증, 디지털 자산, 신원확인 서비스 등의 기술 개발을 담당하고 있으신 신기은 님이 발표해주셨다 사실 나는 기술 블로그를 찾아서 보거나 하는 편은 아니지만 데보션은 출석이나 퀴즈를 통해 마일리지를 부여하고 그 마일리지로 마우스나 키보드 같은 장비로 교환하거나 데보션의 전문가 분과 식사권으로 교환도 가능하다는 걸 알고 꾸준히 출석하고 있었다. 또 나는..
· BE/Spring
1.1 스프링이란? 스프링이란? 스프링은 자바 언어 기반의 웹 서비스를 만들 수 있는 프레임워크입니다. 스프링의 공식문서에서는 스프링은 엔터프라이즈 어플리케이션을 위한 프로그래밍 및 Confifuration Model을 제공한다.라고 언급되어 있습니다. 스프링은 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있고, 전자정부 표준프레임워크의 기반 기술로 사용되고 있습니다. 1.2 스프링 부트란? 스프링 부트는 스프링을 쉽게 사용하기 위한 도구라고 보면 된다. 스프링은 기본적으로 프로젝트를 시작할 때 기본적으로 세팅해야 될 요소들이 많았고 불편함을 줄이기 위해 스프링 부트가 나왔다 스프링 부트는 Spring Framework을 설정하는데 필요한 설정을 알아서 해주는 Spring Framewo..
문제 풀이 어떤 수의 십의 자리를 q, 일의 자리를 w이라고 할 때, q + w을 한 sum을 구한 뒤 x = w* 10 + sum % 10으로 초기화해 주며 x와 N이 같아질 때까지 반복하면 됩니다. q = 26 / 10 = 2, w = 26 % 10 = 6으로 구한뒤, 이 두 개를 합한 sum = 2 + 6 = 8 이 됩니다. 이제, x를 w * 10 + sum % 10한 값인 68로 새롭게 초기화를 해 줍니다. 다시, 68은 q = 6, w= 8로 쪼갤 수 있고, sum = 14 이므로, x = 8 * 10 + 14 % 10 = 80 + 4 = 84가 됩니다. 84는 q = 8, w = 4로 쪼갤 수 있고, sum = 12이므로, x = 4 * 10 + 12 % 10 = 42가 됩니다. 42는 q ..
람다 표현식이란? 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있다. 람다의 특징 익명 보통의 메서드와 달리 이름이 없으므로 익명이라 표현한다. 구현해야 할 코드와 메서드명의 대한 걱정거리가 줄어든다. 함수 람다는 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메서드처럼 파라미터, 바디, 반환, 예외를 포함 할 수 있다. 전달 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할 수 있다. 간결성 익명 클래스처럼 많은 코드를 구현하는게 아닌 축약된 코드를 사용한다. 람다 예제 불리언 표현식 - (List list) -> list.isEmpty() 객체 생성 - () -> new Apple(10) 객체에서 소비 - (Apple a) -> { System..
· BE/Java
빌드 관리 도구란 프로젝트에서 필요한 xml,properties,jar 파일등을 자동으로 인식하여 빌드해주는 도구 소스 코드를 컴파일, 테스트, 정적분석 등을 하여 실행가능한 앱으로 빌드해줌 프로젝트 정보 관리, 테스트 빌드, 배포 등의 작업을 진행해줌 외부 라이브러리를 참조하여 자동으로 다운로드 및 업데이트를 관리해줌 자바의 대표적인 빌드 도구 : Ant, Maven, Gradle 메이븐(Maven) 메이븐(Maven)이란? 자바의 대표적인 관리 도구였던 Ant를 대체하기 위해 개발된것으로 프로젝트의 외부 라이브러리를 쉽게 참조할 수 있게 pom.xml파일로 명시하여 관리함. 참조한 외부 라이브러리에 연관된 다른 라이브러리도 자동으로 관리됨 메이븐(Maven)을 사용하는 이유 - 기존에 사용하던 Ant..
· BE/Java
class Car{ Name name; Position position; } 최근에 박재성(포비)님이 운영하시는 넥스트스텝에 과정을 들으며 "일급 컬렉션을 쓴다"라는 요구사항에 맞춰서 프로그래밍하기 위해 일급 컬렉션이 무엇인지 알아보았다. 우선 일급 컬렉션이 무엇이고 언제 써야 하며 썼을 때 얻는 이점이 무엇인지 궁금했다. 우선 일급 컬렉션이란? 규칙 8: 일급 컬렉션 사용 이 규칙의 적용은 간단하다. 컬렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다. 각 컬렉션은 그 자체로 포장돼 있으므로 이제 컬렉션과 관련된 동작은 근거지가 마련된 셈이다. 필터가 이 새 클래스의 일부가 됨을 알 수 있다. 필터는 또한 스스로 함수 객체가 될 수 있다...
E@st
학습 기록