분류 전체보기 562

Redownload Unavailable with This Apple ID 오류 해결

brew, mas 설치를 모두 하고 드디어 kakaoTalk을 깔려고 mas install (kakaotalk ID)를 입력해줬더니 이렇게 오류가 떠!버!렸!다! 이걸로 한참 헤매고 있을 무렵.. 갑자기 이런 알림이 떴다 Redownload Unavailable with This Apple ID. This redownload is not available for this Apple ID either because it was bought by a different user or the item was refunded or cancelled. 음 대충 읽어보니 이 애플 아이디로는 다시 재다운을 할 수 없다는 뜻 같다. 다른 유저에 의해 이미 구입했었거나 또는 환불이나 취소를 했거나...? 하지만 나는 그런..

[맥북프로 개발자 초기세팅 Part1] Homebrew 설치, Java 11 설치

https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh Homebrew 홈페이지에 나와있는 명령어들을 그대로 복사하여 터미널에 붙여넣기 했다. zsh: command not found: brew 그러나 brew가 설치되어 있지 않다는 메세지가 떴다..! 오잉 이것은 어떻게 된건가..했는데 내가 쓰고 있는 맥북은 m1 맥북 프로라서 공식 사이트에서 제공해주는 걸로 설치하게 되면 이전과 달리 경로가 설정되기 때문에 약간의 수정이 필요하다고 .. 원래는 /user/local가 homebrew의 기본 디렉토리였으나 /opt/homebrew로 변경되었다! 터미널을 다시 열어서 아래에 나와있는 걸 복붙해주면..

[스프링부트] 객체 지향 설계와 스프링

- 다형성 + OCP, DIP를 가능하게 지원해준다. - DI 컨테이너 제공 - 클라이언트의 코드 변경 없이 기능을 확장할 수 있다. - 쉽게 부품 교체하듯이 개발할 수 있다. 모든 설계에 역할과 구현을 분리하자! - 인터페이스를 도입하면 추상화라는 비용이 발생한다. - 기능 확장 가능성이 없다면 구체 클래스를 사용하고, 향후 필요할 때 리팩터링해서 인터페이스를 도입하는 방법이 있다. 객체지향 책 추천 : 객체지향의 사실과 오해 스프링 책 추천 : 토비의 스프링 JPA 책 추천 : 자바 ORM 표준 JPA 프로그래밍 출처 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B..

[스프링부트] 객체 지향 설계 SOLID 원칙

> : 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리! (1) SRP (Single Responsibility Principle) : 단일 책임 원칙 - 한 클래스는 하나의 책임만을 가져야한다. - 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면? 단일 책임 원칙을 잘 따른 것! ex) UI 변경, 객체의 생성과 사용을 분리 (2) OCP (Open/Closed Principle) : 개방-폐쇄 원칙 *** - 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀있여야한다. - 다형성을 활용 - 인터페이스를 구현한 새로운 클래스를 하나 만들어서 새로운 기능을 구현 - 지금까지 배운 역할과 구현의 분리를 생각해보자 - 객체를 생성하고, 연관관계를 맺어주는 별도의 조..

[Java] 객체 지향 프로그램, 객체 지향 특징 (+오버라이딩 및 오버로딩)

목차 1. 클래스 : 객체를 정의해놓은 것으로 객체를 생성할 때 사용한다. 즉 객체의 설계도를 의미한다. 2. 객체 : 객체의 사전적인 정의는 "실제로 존재하는 것"이다. 프로그래밍에서의 객체는 클래스에 정의된 내용처럼 클래스를 데이터 타입으로 메모리에 생성된 것을 의미한다. - 객체의 구성요소 객체는 속성과 기능, 두 종류의 구성 요소로 이루어져있다. 객체는 다수의 속성, 기능으로 이루어져있어서 속성과 기능의 집합이라고 할 수 있다. 속성 == 멤버변수 기능 == 메서드 인스턴스와 객체는 같은 의미이지만 문맥에 따라 사용된다. 책상은 객체다. 책상 클래스의 인스턴스는 책상이다. 인스턴스화 : 클래스로부터 객체를 만드는 과정을 의미한다. 어떤 클래스로부터 만들..

[스프링부트] Spring의 역사, 생태계, Spring의 개념

Spring : EJB라는 겨울을 넘어 새로운 시작이라는 뜻! EJB의 단점 1. 테스트가 어렵다. : EJB 외부에서 실행하는 것이 어려웠기에 컨테이너에 배포를 해야만 했다. 그러나 스프링 프레임워크는 의존성 주입이라는 개념을 도입하여 테스트 과정을 간소화할 수 있게 되었다. 테스트 과정을 간소화하게 되면 얻게 되는 이점은? > 생산성이 향상된다. > 빠른 결함을 발견하게 되고 이로 인해 수정 비용이 적게 들어간다. > 지속적인 통합 시 자동화된 단위 테스트로 향후 결함을 예방한다. 의존성 주입 (DI : Dependency Injection) >> 의존 객체를 생성하지 않고 주입 받아 사용한다. new 연산자를 이용해 객체를 생성하는 것 - 배포과정이 불편하다. - 불필요한 메서드를 구현해야 한다. ..

[n11899] 괄호 끼워넣기 in python

HTML 삽입 미리보기할 수 없는 소스 array=list(input()) stack=[] answer=0 for i in range(len(array)): if array[i]=='(': stack.append("(") continue if len(stack)!=0 and stack[-1]=="(": stack.pop() else: answer+=1 print(answer+len(stack)) 스택의 성질을 이용하여 푼 문제! ( 괄호면 stack에 넣고 ) 괄호면 짝이 있는지 없는지 stack을 살펴봐야한다. 짝이 없으면 answer+=1 있으면 stack.pop()

[n1531] 투명 in python

왼쪽 아래 모서리, 오른쪽 위 모서리 좌표라고 해서 오른쪽 위 모서리 y좌표의 값이 왼쪽 아래 모서리 y좌표의 값보다 항상 작은 줄 알았으나 그게 아니었다! x,y 그래프를 생각했어야했다 n, m = map(int, input().split()) array = [[0 for _ in range(101)] for _ in range(101)] for _ in range(n): x1, y1, x2, y2 = map(int, input().split()) # 왼쪽 아래 모서리, 오른쪽 위 모서리 좌표 for i in range(y1, y2 + 1): for j in range(x1, x2 + 1): array[j][i] += 1 answer = 0 for i in range(101): for j in rang..

카테고리 없음 2021.11.25

[n1822] 차집합 in python

set() 말고 list로 해서 시간초과가 났었지만 해결! 실행시간은 약 1000ms a,b=map(int,input().split()) aArray=set(list(map(int,input().split()))) bArray=set(list(map(int,input().split()))) temp=set() for i in aArray: if i not in bArray: temp.add(i) print(len(temp)) print(*sorted(temp)) - 연산자를 이용하면 차집합 결과를 쉽게 도출해낼 수 있었다...! 띠용 a,b=map(int,input().split()) aArray=set(list(map(int,input().split()))) bArray=set(list(map(int,..