전체 글
Spring] IoC (1)
Inversion of Control 일반적인 (의존성에 대한) 제어권 : "내가 사용할 의존성은 내가 만든다." class OwnerController{ private OwnerRepository repository = new OwnerRepository(); } IoC : "내가 사용할 의존성을 누군가 알아서 주겠지." 내가 사용할 의존성의 타입(또는 인터페이스)민 맞으면 어떤거든 상관없다. 그래야 내 코드 테스트 하기도 편하지. class OwnerController{ private OwnerRepository repo; public OwnerController(OwnerRepository repo){ this.repo = repo; } //repo를 사용합니다. } class O..
Java] 데이터 타입
기본(원시:Primitive) 타입 정수 byte 타입 1byte 저장되는 값의 범위 : -2^7 ~ (2^-1) (-128~127) 색상 정보 및 파일 또는 이미지 등의 이진(바이너리) 데이터를 저장할 때 주로 사용. 이진수 0과 1의 8개로 이루어진 8bit의 크기를 가지는데, 최상위 비트(MSB:Most Significant Bit)는 정수값의 부호를 결정. MSB가 0이면 양수, 1이면 음수. MSB를 제외한 나머지 7개의 bit로 정수값이 결정. 계산방법은 2진수의 보수 계산법을 참고하기. 저장되는 값을 벗어나게 되면 최소값 또는 최대값으로 다시 시작하게 된다. (-128에서 -1을 빼면 127) char 타입 2byte 저장되는 값의 범위 : 02^16 (유니코드: \u0000\uFFFF, 0..
Android # http 권한 허용하기
Android에서 http 권한 허용하기 Spring boot 프로젝트를 AWS 서버에 올리고, AWS주소로 REST API를 호출하려고 했다. 외부 디바이스를 사용하기 전에는, 주소 접근에 가능했지만 외부 디바이스를 사용해서 REST API를 호출했을 떄는 에러가 발생했다. 에러명은 Cleartext HTTP traffic to ~~ not permitted 이다. 문제의 원인은 안드로이드에서는 기본적으로 Http 접근을 허용하지 않는다는 것 이다. Https로 접근하면 문제가 없지만, Https를 지원하지 않는 다면 예외처리를 해줘야한다. 안드로이드 Pie(API28)부터는 cleartext HTTP를 비활성화한다. 따라서 API28 이후에서 Http에 접근하려면 cleartext HTTP를 활성화 ..
Android # setContentView(+Inflater)
setContentView Class에서 상속하는 AppCompatActivity에는 화면에 필요한 기능(method)가 들어있는데, 그 중 하나가 setContentView 이다. 화면에 표시할 XML 레이아웃을 지정하거나 화면에 표시할 뷰 객체를 지정하는 역할. 이 메서드로 전달할 수 있는 파라미터는 뷰 객체 또는 XML 레이아웃이 정의된 리소스가 될 수 있음. setContentView의 2가지 역할 화면에 나타낼 뷰를 지정 레이아웃 내용을 메모리에 객체화 두 번째 역할에서의, XML 레이아웃의 내용을 메모리에 객체화 되는 과정을 '인플레이션(Inflation)' 이라고 함. XML 레이아웃은 앱이 실행되는 시점에 메모리에 객체화. 즉, XML 레이아웃 파일에 Button태그를 정의해..
Java] 추상클래스와 인터페이스
추상클래스와 인터페이스 이 두가지를 함께 물어본다면, 상속과 다형성에 대해서 묻는 것이다. (다형성이라 함은 간단하게 말한다면, 상속을 통해 기능을 확장하거나 변경하는 것을 의미. 즉, 하나의 메서드가 다양한 방법으로 동작하는 것) 클래스는 일반클래스와 추상클래스로 나뉘는데, 추상클래스는 추상매서드가 하나 이상 포함되거나 abstract로 정의된 클래스를 말한다. 인터페이스는 모든 메서드가 추상메서드로 이루어져 있다. (단, Java 8이후에는 default 키워드로 일반 메서드의 구현도 가능하게 됐다.) 추상클래스를 상속받는 클래스 또는, 인터페이스를 구현하는 클래스는 그 안에 있는 '추상메서드'를 구현하도록 강제한다. 어떻게 보면 의미가 비슷하다고 느낄 수 있으나, 추상클래스와 인터페이..
BOJ] 14502. 연구소
BOJ] 14502. 연구소 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. www.acmicpc.net 2017년 SW역량테스트 기출문제 풀었던 문제지만, 떠올릴 겸 다시 풀어보았다. 생각보다 막힌 부분이 있었지만..
SSAFYcial ] 10번째 이야기
채윤쌤! 안녕하세요! 인터뷰 응해주셔서 정말 감사드립니다 :-) 먼저, 간단하게 소개 부탁드릴게요! 안녕하세요! 광주 SSAFY 취업컨설턴트 류채윤이라고 합니다. 편한 친구이고 싶은 채윤쌤이에요! 첫 번째 질문 드릴게요! 쌤이 컨설턴트 이력이 굉장히 많으신데, SSAFY를 선택하신 이유가 있으실까요? 이전에 대학교와 일본취업 컨설팅 회사에서 주로 이공계 학생들을 취업시키는 일을 했어요. 이 일을 할수록 IT에 대한 전망이 밝고 많은 수요가 있을거라 예상하였습니다. 특히나 삼성이 시작하게된 의미가 깊은 삼성청년소프트웨어아카데미가 생겼다는 소식을 듣고 입사를 열망해왔습니다. 아니, 쌤 너무 면접처럼 답변해주지 않으셔도 돼요!(웃음) (웃음) 너 듣기 쉬우라고! 나 면접보는거같아 지금! 제가 더 당황스럽네요!..