728x90 java24 REST API REST API란? REST API는 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 말한다. 웹 애플리케이션에서는 HTTP 메서드를 이용해 서버와 통신한다. GET을 통해 웹 페이지나 데이터를 요청하고, POST로 새로운 글이나 데이터를 전송하거나 DELETE로 저장된 글이나 데이터를 삭제할 수 있다. 이처럼 클라이언트와 서버가 HTTP 통신을 할 때는 어떤 요청을 보내고 받는냐에 따라 메서드의 사용이 달라진다. 클라이언트와 서버 사이에도 데이터와 리소스를 요청하고 요청에 따른 응답을 전달하기 위한 메뉴판이 필요하다. 이 메뉴판을 보고 클라이언트는 식당에서 식사를 주문하듯 서버에 요청하고, 이에 대한 응답을 메뉴판에 .. 2023. 5. 23. 시간 복잡도(Time Complexity) 알고리즘 문제를 풀다 보면 문제에대한 해답을 찾는 것이 가장 중요하다. 그러나 그에 못지 않게, 효율적인 방법으로 문제를 해결했는지도 중요하다. 효율적인 방법을 고민하는 것은 시간 복잡도를 고민한다는 것과 같은말이다. 시간 복잡도와 Big-O(빅-오) 표기법을 알아보자. 시간 복잡도 문제 해결을 위한 알고리즘 로직을 코드로 구현할 때, 시간복잡도를 고려한다는 것을 한 문장으로 정리하자면 다음과 같다. 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 효율적인 알고리즘을 구현한다는 것은 바꾸어 말해 입력값이 커짐에 따라 증가하는 시간의 비율을 최소화한 알고리즘을 구성하는 것을 말한다. 그리고 이 시간 복잡도는 주로 빅-오 표기법을 사용해 나타낸다. Big-O 표기법 시간.. 2023. 5. 17. 의사코드(psedocode) 작성법 의사코드(psedocode) 의사코드는 간단히 말해 프로그래밍 언어로 코드를 작성하기전에 우리가 쓰는 일상 언어로 프로그램이 작동하는 논리를 먼저 작성하는 것을 말한다. 의사코드를 작성하기 전, 문제를 이해하고 논리 문제를 풀듯이 풀 수 있어야 한다. 그 이후, 컴퓨팅 사고로 전환하여 의사코드를 작성하고 개발 언어로 코드를 작성한다. 의사코드의 장점 1. 시간이 단축된다. 수도 코드 작성없이 코딩을 시작하면 시간이 단축되는 것 같은 느낌이 든다. 하지만 문제가 복잡해지고, 코드가 길어진다면 시간이 지나면서 구체적이고 세세한 로직은 기억이 나지 않을 수 있다. 결국 작성하는 시간보다 헤매는 시간이 더 길어질 가능성이 크다. 그러나 본인이 생각한 코드를 수도 코드로 남겨 놓는다면 지표가 되어 헤메는 시간이 .. 2023. 5. 17. 코드 스테이츠 - 자료 구조 2(Tree/BST/Graph) Tree Tree란? 자료 구조에서 Tree는 나무의 형태를 가지고 있다. 정확히는 나무를 거꾸로 뒤집어 놓은 듯한 모습을 가지고 있다. 그래프의 여러 구조 중 단방향 그래프의 한 구조로, 하나의 뿌리로부터 가지가 사방으로 뻗은 형태가 나무와 닮아 있다고 해서 트리 구조라고 부른다. 가계도와 흡사해 보이는 이 트리 구조는 데이터가 바로 아래에 있는 하나 이상의 데이터에 무방향으로 연결된 계층적 자료 구조다. 데이터를 순차적으로 나열시킨 선형 구조가 아니라, 하나의 데이터 아래에 여러 개의 데이터가 존재할 수 있는 비선형 구조다. 트리 구조는 계층적으로 표현이 되고, 아래로만 뻗어나가기 때문에 사이클이 없다. Tree의 구조와 특징 트리 구조는 루트(Root)라는 하나의 꼭짓점 데이터를 시작으로 여러 개의.. 2023. 5. 15. 코드 스테이츠 - 자료구조 1(Stack/ Queue) 자료 구조 자료 구조란? 여러 데이터의 묶음을 저장하고, 사용하는 방법을 정의한 것이다. 데이터는 필요에 따라 데이터의 특징을 잘 파악(분석)하여 정리하고, 활용하는 것이 중요하다. 데이터를 정해진 규칙 없이 저장하거나, 하나의 구조로만 정리하고 활용하는 것보다 데이터를 체계적으로 정리하여 저장해 두는 것이, 데이터를 활용하는데 있어 훨씬 유리하다. 수많은 개발자들이 무수한 상황에서 데이터를 효율적으로 다룰 수 있는 여러 방법을 연구했다. 대부분의 자료 구조는 특정한 상황에 놓인 문제를 해결하는 데에 특화되어 있다. 많은 자료 구조를 알아두면, 어떠한 상황이 닥쳤을 때 적합한 자료 구조를 빠르고 정확하게 적용해 문제를 해결할 수 있다. Stack Stack이란? Stack은 사전적으로 쌓다, 쌓이다, 포.. 2023. 5. 15. 코드 스테이츠 - JSON 학습 목표 Java에서 제공하는 데이터 타입을 JSON으로 변경하는 기능 구현 null을 입력받을 경우, 알맞은 형태의 JSON으로 변환 Boolean 타입을 입력받을 경우, 알맞은 형태의 JSON으로 변환 String 타입을 입력받을 경우, 알맞은 형태의 JSON으로 변환 배열을 입력받을 경우, 알맞은 형태의 JSON으로 변환 HashMap을 입력받을 경우, 알맞은 형태의 JSON으로 변환 배열, Map 타입의 요소를 가진 배열이나 Map을 입력받을 경우, 알맞은 형태의 JSON으로 변환 JSON JSON이란? JavaScript Object Notation의 줄임말로, 데이터 교환을 위해 만들어진 객체 형태의 포맷이다. 네트워크를 통해, 어떤 객체 내용을 다른 프로그램에게 전송할때 운영체제와 프로그램.. 2023. 5. 11. 이전 1 2 3 4 다음 728x90