무지성 메모

안녕하세요. rkskqksk님 HTTP API와 REST API는 사실 거의 같은 의미로 사용됩니다. 그런데 디테일하게 들어가면 차이가 있습니다. HTTP API는 HTTP를 사용해서 서로 정해둔 스펙으로 데이터를 주고 받으며 통신하는 것으로 이해하시면 됩니다. 그래서 상당히 넓은 의미로 사용됩니다. 반면에 REST API는 HTTP API에 여러가지 제약 조건이 추가됩니다. REST는 다음 4가지 제약조건을 만족해야 합니다. (https://ko.wikipedia.org/wiki/REST) - 자원의 식별 - 메시지를 통한 리소스 조작 - 자기서술적 메서지 - 애플리케이션의 상태에 대한 엔진으로서 하이퍼미디어 여러가지가 있지만 대표적으로 구현하기 어려운 부분이 마지막에 있는 부분인데요. 이것은 HTML..
[작업영역] -(add)> [인덱스(index)영역] -(commit)> [헤드(Head) 영역] 비유 ; 인덱스 - 사진,사진,사진.. / 헤드 - 사진첩 Git은 단순하게 잉야기하면 위의 3가지 박스를 일치시키는 것(동기화)이 Git을 관리하는 방법이다. 3가지 박스를 동기화하는 작업.. [UTF-8은 가장 많이 사용되는 가변 길이 유니코드 인코딩] 옛날에는 a-z/0-9/특문등 1바이트면 충분했음 한글도 2바이트면 충분 근데 중국 문자가 10만자가 넘어서 3바이트가 필요.. // 우선 Unicode = United Codepage Charset? 정도로 할 수 있는데요. 원래 영어는 1byte를 쓰지만, 중국어나 일본어 한국어 경우에는 2byte를 차지 하게 됩니다. 또 영어를 쓰는 codepage..
스프링 IoC (제어의 역전) 너(프로그래머)가 new해서 메모리에 띄우지마 내(SpringFramework)가 할게 싱글톤 패턴 + 레퍼런스 변수 관리 등을 스프링이 한다 스택에서 만든 모든 객체는 전부 지역변수가 관리하기 때문에 이 지역 변수는 다른 스택에서 사용할 수 없다. 사용하려면 메소드의 return값으로 빼주거나 함수 외부에 변수를 미리 선언해야 하는데.. 그렇게 하지말고 SpringFramework인 내가 할게 (이게 제어의 역전) 패키지를 스캔함 ex) com.cos.blog @SpringbootApplication이 속해 있는 패키지내의, 어노테이션이 달려있는 컴포넌트들을 모두 스캔 기본 패키지 이하에 추가 패키지를 만들어야함 ex) 기본 패키지 : com.cos.blog 새로운 패키지..
list.get(i-1)="4"; /Solution.java:13: error: unexpected type list.get(i-1)="4"; ^ required: variable found: value 멍청하게 배열처리하듯이 처리함 list.set(i-1, "4"); 이렇게 해줘야함
좋은 코드란 무엇인가 '좋은 코드란?' 읽기 쉬운 코드(왜 읽기 쉬워야 하지?) 테스트가 용이한 코드(테스트가 용이하다는 것은 무엇을 의미하는 것일까?) 중복이 없는 코드? 더 읽어보기 >https://jbee.io/etc/what-is-good-code/ Object oriented Programming 객체 지향 프로그래밍, 저도 잘 모르고 너무 거대한 부분이라서 넣을지 말지 고민을 했습니다만, 면접에서 이 정도 이야기하면 되지 않을까? 하는 생각에 조심스레 적어봤습니다. 객체 지향 프로그래밍 이전의 프로그래밍 패러다임을 살펴보면, 중심이 컴퓨터에 있었다. 컴퓨터가 사고하는대로 프로그래밍을 하는 것이다. 하지만 객체지향 프로그래밍이란 인간 중심적 프로그래밍 패러다임이라고 할 수 있다. 즉 현실 세계를..
[ CI (Continuous Integration) ] CI란 팀의 구성원들이 작업한 내용을 정기적으로 통합하는 것을 의미한다. 풀어서 이야기하면 소프트웨어가 거대해지고 복잡해지면서 팀 단위로 개발을 하게 되었고 분업과 협업이 필수가 되면서 하나의 프로젝트를 여러 명으로 구성된 한 팀이 작업을 하게 되고 분업과 협업 과정에서 일을 나눠 각각 할당된 부분만 작업을 하게 되었다. 그리고 팀멤버들은 자신이 담당해서 하고 있는 부분의 소스코드를 정기적으로 GIT, SVN과 같은 형상 관리 시스템(Soucr Code Management)에 Submit하는데 이 각각의 팀 멤버들로부터 Submit된 소스코드들을 정기적으로 통합하는 것을 CI라고 하고 이것을 시행해주는 프로그램을 CI tool이라고 한다. CI 시..
// .로 시작하거나 .로 끝나는 경우 .삭제 (문자 양 옆의 .(dot)삭제) kakaoId = kakaoId.replaceAll("^[.]|[.]$", ""); // .이 2개 이상일 경우 하나의 .으로 대체함 kakaoId = kakaoId.replaceAll("[.]{2,}","."); // kakaoId에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. kakaoId = kakaoId.replaceAll("[^a-z0-9-_.]",""); ^[ ] 과 [^ ] 2개가 조금 헷갈렸는데 ^가 안쪽에 있는 [^ ]에서 ^는 not을 의미함
int[] arr = Arrays.copyOfRange(array, i, j); // array배열의 i
Integer.parseInt([string자료형의 숫자], N); System.out.println(Integer.parseInt("10", 3)); -> 3 공식doc 예시 Examples: parseInt("0", 10) returns 0 parseInt("473", 10) returns 473 parseInt("+42", 10) returns 42 parseInt("-0", 10) returns 0 parseInt("-FF", 16) returns -255 parseInt("1100110", 2) returns 102 parseInt("2147483647", 10) returns 2147483647 parseInt("-2147483648", 10) returns -2147483648 parseIn..
import java.util.*; import java.util.stream.*; (Collectors 쓰려면 명시해줘야함) int d = new int[]{}; List list = Arrays.stream(d).sorted().boxed().collect(Collectors.toList()); Arrays.stream(d) -> stream 변환 .sorted() -> 배열의 오름차순을 요구하는 문제라서 sorted() 메서드 사용 .boxed() -> primitive타입을 wrapper클래스로 박싱하여 반환한다 .collect() -> 필터링 또는 매핑된 요소들을 새로운 컬렉션에 수집하고 이를 리턴한다.
배게
'무지성 메모' 카테고리의 글 목록 (2 Page)