분류 전체보기 495

[HTTP] 인터넷 네트워크

목차 1. IP(인터넷 프로토콜) 2. TCP 3. UDP 4. PORT 5. DNS 6. URL 7. 웹 브라우저 요청 흐름 1. IP(인터넷 프로토콜) 1) 역할 지정한 IP주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 2) 통신과정 클라이언트에서 출발지, 목적지 등의 정보를 패킷에 담아 서버로 전송한다. 서버에서 출발지, 목적지 등의 정보를 패킷에 담아 클라이언트로 전송한다. 이 과정에서 지나치는 노드는 일정하지 않다. 3) 한계 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송한다. 비신뢰성: 패킷이 오다가 사라지거나 순서대로 오지 않을 수 있다. 프로그램 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 구분할 ..

IT/HTTP 2022.06.01

[Android] 카카오링크 앱 연결시 앱실행 안되는 문제 해결하기

카카오링크 앱 연결시 앱실행 안되는 문제 해결하기 카카오 링크에서 앱 실행하기 버튼을 클릭했을 경우, 앱이 다운로드 되어있을 때에는 어플이 실행되어야하는데 다음과 같이 플레이스토어만 나오게 됩니다. 데브톡을 찾아보니 SCHEME 등록 문제일 가능성이 굉장히 높다고 하는데.. 잘 등록이 되어있는데 왜일까요?? 답은 외부 스키마 에 있습니다. 모바일 환경에서 위와 같은 링크(스킴)를 눌렀을 때 해당 앱이 설치 되어 있다면 실행되는 적이 있었습니다. 혹은 문자메시지에서 링크를 누르면 앱이 자동으로 실행되거 했었습니다. 이렇게 외부에서 앱을 실행시킬 수 있는 방법을 외부 스키마 라고 합니다. 주황색 박스와 빨간색 박스를 잘 봐주세요 주황색 박스의 코드는 제 어플리케이션이 처음 동작하는 Activity이고 빨간색..

IT/디버깅 2022.06.01

[운영체제] cpu스케줄링, 메모리 관리, 디스크 스케줄링

목차 1. cpu 스케줄링 2. 메모리 관리 3. 디스크 스케줄링 운영 체제 기능: 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 1. cpu 스케줄링 개념 운영 체제는 프로세스들에게 CPU 등의 자원 배정을 적절히 함으로써 시스템의 성능을 개선할 수 있는데, 이를 cpu 스케쥴링이라고 한다. 1. cpu 큐에 프로세스가 p1,p2,p3를 들어온 순서대로 스케쥴링 하는 경우 p1가 24초를 사용하여 cpu를 사용하고, p2가 뒤를 이어 3초(24-27) p3가 뒤를 이어 3초(27-30)을 사용한다. average waiting = 17 2. 짧은 프로세스 순서대로 스케쥴링 하는 경우(SJF Short-Job-First) p1 = 6, p2 = 0, p3 = 3 average waiting = 3..

CS/운영체제 2022.05.31

[Spring] @RequestMapping 에 대하여

목차 1. @RequestMapping이란 무엇일까? 2. @RequestMapping의 종류 3. Get방식과 Post방식의 차이 1. @RequestMapping이란 무엇일까? 사용자의 url 요청을 Controller의 메소드에 맵핑해주는 어노테이션 예를 들어 아래의 코드를 보며 이해해보자. 클라이언트가 localhost:8080/ url에 요청을 하면 @RequestMapping이 붙은 @Controller 클래스의 메소드인 home()에 url 요청을 맵핑해주게 된다. 2. @RequestMapping의 종류 url 요청방식에는 get, post, delete, patch 가 있는데 아래와 같다. 이는 아래와 같이 더 편한 어노테이션을 통해 똑같이 구현할 수 있다. 3. GET방식과 POST방식..

백엔드/Spring 2022.05.30

InvalidDataAccessApiUsageException: id to load is required for loading에러 해결

InvalidDataAccessApiUsageException: id to load is required for loading에러 해결 이런식으로 entity 매니저와 관련된 에러가 발생 코드 원인 Id 부분의 값이 load되지 않아서 발생한 에러임 Book Class의 id가 @GeneratedValue로 되어 있기 때문에 id를 생성하려면 엔티티를 DB에 저장해야 하는데 JPA에서 persist를 하지 않았기 때문 해결 코드 em.persist 로 DB에 저장해 Id를 받을수 있게 하여 해결

IT 2022.05.27

[Android ] 카카오 api 링크로 구현한 것에 playstore url 연동하기

카카오 api 링크로 구현한 것에 playstore url 연동하기 구체적으로 카카오 APi를 사용해서 카카오톡 공유를 하고 만들어진 버튼을 누르면 플레이스토어에 연동하게 하는 것을 어떻게 하는지 알아보겠습니다. 이 버튼을 누르면 이런식으로 playstore에 연결되지않는데요.. 어떻게 해야할까요?? 저는 이 링크부분을 수정해줘야하는 줄 알았는데 그것이 아니었습니다.. 해결 https://developers.kakao.com/console/app/679856/config/platform 카카오계정 로그인 여기를 눌러 링크를 확인하세요. accounts.kakao.com 카카오 플랫폼 수정에 들어가 마켓Url을 입력해주면 되는 것이었습니다.

[Spring] 스프링 생명주기와 초기화, 종료 콜백

목차 1.스프링 빈의 이벤트 라이프 사이클 2. Bean 객체 예제 3. 초기화 종료 콜백 1. 스프링 빈의 이벤트 라이프 사이클 1. 스프링 컨테이너 생성 -> 2. 스프링 빈 생성 -> 3. 의존관계 주입 -> 4. 초기화 콜백 -> 5. 소멸전 콜백 -> 6. 스프링 종료 스프링은 빈 객체를 생성하고 의존관계 주입이 다 끝난 뒤에야 필요한 데이터를 사용할 준비가 완료된다. 따라서 개발자는 의존관계 주입이 모두 완료된 시점을 알 수 있어야 한다. 운이 좋게도, 스프링은 초기화, 종료 콜백을 통해 의존관계 주입이완료되었다는 것을 알려준다. 2. Bean 객체 예제 NetworkClient public class NetworkClient { private String url; public NetworkC..

백엔드/Spring 2022.05.18

[Java] 예외 발생 try catch 와 throw 그리고 throws의 비교 정리

목차 1. try-catch 2. throw 3. throws 1. Try-catch 개념: 예외처리 구문 예시 코드를 통한 try-catch 구조의 이해 public class ThrowExample { public static void main(String[] args) { try { // 예외 발생 가능성이 있는 코드 int i = 100; int a = 0; System.out.println(i/a); } catch (Exception e) { // 예외가 발생했을 경우만 실행 System.out.println("예외 종류: " + e); System.out.println("예외가 발생하였습니다."); } finally { // 예외가 있든 없든 무조건 실행됨 System.out.println("..

파이썬 백준 10815번 치킨 배달 풀이(백트레킹으로 풀기)

문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. 임의의 두 칸 (r1, c1)과 (r2, c2) 사이의 거리는 |r1-r2| + |c1-c2|로 구한다. 예를 들어, 아래와 같은 지..

CS/알고리즘 2022.05.12

[Android ] 카카오톡 메시지 링크 보내기 초기 설정하는 방법

카카오톡 메시지 링크 보내기 초기 설정하는 방법 물론 초기 설정에 대한 개발자 문서가 있지만, 전 처음에 바로 이해하지 못했습니다.. 따라서 제가 소화한 내용대로 좀 더 쉽게 설명해드리려고 글을 작성하게 되었습니다. 1.build.gradle(Project) allprojects{ repositories{ google() mavenCentral() jcenter() maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/'} } } 2.setting.gradle dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) reposit..