반응형

IT 237

[HTTP] 상태 코드 (Status Code)

HTTP 상태 코드1XX~5XX 설명 1XX : Information 서버가 요청을 받았으며, 처리 중인 경우 현재 거의 사용하지 않음 2XX : Successful 200 OK 요청 성공 201 Created 요청 성공하여 새로운 리소스가 생성됨 202 Accepted 요청을 수신했지만 응하여 처리하지 못함 203 Non-Authoritative Information 돌려받은 메타 정보 세트가 오리진 서버의 것과 일치하지 않지만 로컬이나 서드파티 복사본에 모아졌음을 의미 204 No Content 요청 성공했지만, 응답 페이로드 분몬에 보낼 데이터가 없음. 헤더는 의미 있을 수 있음 3XX : Redirection 3XX 응답의 결과에 Location 헤더가 있으면 Location 위치로 자동 이동함(..

IT/HTTP 웹 2022.06.22

[SQLite] SQLite 주요 API

SQLite 주요 API Objective-C에서 사용하는 API 위주로 설명한다. sqlite3_open() 데이터베이스 파일이 있다면 파일을 열고, 없다면 생성 후 연다. 성공 시 SQLITE_OK 리턴한다. int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); * 데이터베이스 파일 open, close의 경우는 상황에 따라 처리한다. - 많은 양을 빠르게 작업할 때 작업 시작 시 open, 완료 후 close 진행 - 적은 양을 처리할 때, 작업 별로 open, close 진행 sqlite3_close() 데이터베이스 파일을 닫는다. 성공 시 ..

IT/기타 2022.06.16

[HTTP] HTTP 메서드 - GET, POST, PUT, PATCH, DELETE

목차 1. HTTP 메서드 2. HTTP 메서드 속성 1. HTTP 메서드 HTTP 메서드란? 클라이언트가 웹 서버에게 사용자 요청의 목적을 알리는 수단 1) 주요 메서드 • GET: 리소스 조회 • POST: 요청 데이터 처리, 주로 등록에 사용 • PUT: 리소스를 대체(삭제 후 등록), 해당 리소스가 없으면 생성 • PATCH: 리소스 부분 변경 • DELETE: 리소스 삭제 (1) GET GET /user/100 HTTP/1.1 Host: localhost:8080 • 리소스 조회 • 데이터를 받기만 함 • 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달 • 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많아서 권장하지 않음 (2) P..

IT/HTTP 웹 2022.06.14

[HTTP] HTTP 기본 & 특징 (stateless, connectionless, ...)

HTTP 기본 & 특징 목차 1. HTTP? 2. 클라이언트 서버 구조 3. 무상태 프로토콜 - (Stateless) 4. 비 연결성(connectionless) 5. HTTP 메시지 1. HTTP? HyperText Transfer Protocol ◾ 하이퍼 텍스트 전송 프로토콜(규약, 규격) ◾ 월드 와이드 웹(WWW)에 내재된 프로토콜 ◾ 인터넷에서 데이터를 주고받을 때 사용되는 프로토콜이며 서버 간 데이터를 주고받을때도 대부분 HTTP 사용 ◾ HTTP 메시지에 JSON, XML, HTML, TEXT, 이미지, 음성 등 거의 모든 형태의 데이터 전송 가능 ◾ HTTP/1.1을 기준으로 가장 많이 사용하며, 최근 HTTP/2, HTTP/3도 증가하는 추세 2. 클라이언트 서버 구조 ◾ 클라이언트(R..

IT/HTTP 웹 2022.06.10

[HTTP] 웹 브라우저 요청 흐름

HTTP 웹 브라우저 요청 흐름 1. DNS 조회해서 IP 조회 후 PORT 가져옴 2. HTTP 요청 메시지 생성 HTTP 요청 메시지에는 GET, path, HTTP 버전 정보, HOST 정보 등 있음 3. HTTP 요청 메시지 전송 1) 웹 브라우저가 HTTP 메시지 생성 2) SOCKET 라이브러리를 통해 TCP/IP 연결(IP, PORT) (SYN, ACK 진행) 3) 데이터 전달 4) TCP/IP 패킷 생성, HTTP 메시지 포함 5) HTTP 메시지 전송 * 패킷 구성 4. 웹 브라우저에서 요청 패킷 전달 -> 서버에 요청 패킷 도착 5. 서버 HTTP 메시지 조회 전달받은 TCP/IP 패킷에서 HTTP 메시지 조회 후 해석 및 요청 작업 진행 6. HTTP 응답 메시지 생성 HTTP 버전,..

IT/HTTP 웹 2022.06.09

[HTTP] URI, URL, URN 뜻 구조 문법

URI? URL? URN? 뜻 구조 문법 목차 1. 단어 뜻 2. 특징 3. 문법 1. 단어 뜻 ◾ Uniform: 리소스 식별하는 통일된 방식 ◾ Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) ◾ Identifier: 다른 항목과 구분하는데 필요한 정보 (URI) ◾ Locator: 리소스가 있는 위치를 지정 (URL) ◾ Name: 리소스에 이름을 부여 (URN) 2. 특징 ◾ 위치는 변할 수 있지만, 이름은 변하지 않는다. ◾ URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않아 거의 사용되지 않음 3. 문법 A. 전체 문법 ◾ scheme://[userinfo@]host[:port][/path][?query][#fragment] ◾ https://www.g..

IT/HTTP 웹 2022.06.08

[HTTP] 인터넷 네트워크

목차 1. IP (인터넷 프로토콜) 2. TCP 3. UDP 4. PORT 5. DNS 1. IP (인터넷 프로토콜) A. 역할 ◾ 지정한 IP 주소(IP Address)에 데이터 전달 ◾ 패킷(Packet)이라는 통신 단위로 데이터 전달 B. 패킷 전달 방식 ◾ 출발지 IP, 목적지 IP, 메시지 등을 넣어 IP 패킷을 만들어 노드를 통해 서버에 전달 ◾ 출발지 IP, 목적지 IP, 메시지 등을 넣어 IP 패킷을 만들어 노드를 통해 클라이언트로 전달 C. 한계 ◾ 비연결성 ◽ 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 ◾ 비신뢰성 ◽ 패킷이 중간에 사라지거나, 순서대로 전달되지 않음 ◾ 프로그램 구분 ◽ 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 구분이 불가능 2..

IT/HTTP 웹 2022.06.07

[Git] Git 기초 (3가지 상태 - committed, Modified, Staged)

Git이 가지고 있는 3가지 상태와 영역에 따른 설명입니다. Committed, Modiffed, Staged 🔸 committed 상태 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미 git commit 명령어를 통해 Commit 한 상태 Git 디렉토리에 있는 파일들은 Committed 상태 🔸 Staged 상태 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미 파일을 수정하고 Staging Area에 추가(git add)했다면 Staged 상태 🔸 Modified 상태 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 의미 Checkout 하고 나서 수정했지만, 아직 Staging Area에 추가하지 않았으면 Modified 상태 영역 🔹 .git directory Gi..

IT/Git 2022.05.13

[Git] Git시작하기 (초기 설정)

Git/Github 시작하기 위해 초기 설정하는 방법을 설명하는 글입니다. Git과 Github이 무엇일까요? 🔸 Git 오픈 소스 버전 관리 프로그램(VCS: Version Control System) 로컬에서 버전 관리 소프트웨어 개발 및 소스 코드 관리에 사용 🔸 Github Git Repository를 위한 웹 기반 호스팅 서비스 (Git을 사용하는 프로젝트 업로드 및 관리) 클라우드 방식으로 관리되는 버전 관리 시스템 오픈소스 공유 및 기여 등 Git은 버전 관리 프로그램이며, GitHub는 버전 관리, 소스 코드 공유 등이 가능한 원격 저장소라고 생각하시면 됩니다. 목차 Git CMD를 설치하는 방법부터, GitHub 연결을 위해 초기 세팅하는 방법을 설명합니다. 해당 내용은 Git 설치 및 ..

IT/Git 2022.05.07

[Android] Foreground, Background 감지 (ActivityLifecycleCallbacks)

안드로이드에서 Foreground, Background를 감지하는 방법 Foreground, Background를 감지하는 방법은 아래 두 가지 경우로 나눌 수 있습니다. 1. Background/Foreground로 변경됐을 때 감지하는 방법 - Background -> Foreground로 변경된 경우 - Foreground -> Background로 변경된 경우 2. 현재 상태가 Background/Foreground인지 체크하는 방법 - 현재 Background 인지 체크하는 경우 - 현재 Foreground 인지 체크하는 경우 Github 샘플 https://github.com/eunsuu1015/AndroidSample/tree/main/ActivityLifecycleCallbacks GitH..

[AndroidStudio] An exception occurred applying plugin request 오류 해결 방법

Android Studio 업그레이드 후 새로운 프로젝트를 생성하고 빌드하였더니 아래와 같은 오류로 컴파일 실패가 발생했다. 오류 텍스트 Build file 'C:\AndroidStudio\workspace\test\MyApplicationTest2\app\build.gradle' line: 2 An exception occurred applying plugin request [id: 'com.android.application'] > Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can tr..

[Android] Database 파일명 변경하기 (rename db filename)

Database filename 변경하는 방법 renameTo() 사용하여 변경합니다. File dbFile = getDatabasePath("dbfilename"); boolean result = dbFile.renameTo(new File(getDatabasePath("dbfilename").getParent(), "newdbfilename.db")); Log.d("TAG", "" + result); getDatabasePath() 메서드를 찾을 수 없다면 Context에서 조회해보세요. public static void changeDbFileName(Context context) { File dbFile = context.getDatabasePath("dbfilename"); boolean resu..

[Android] 앱 다크 모드 비활성화 방법 (Dark Mode)

안드로이드 앱에서 다크 모드를 비활성화하는 방법 최신 안드로이드 스튜디오에서 프로젝트를 생성하면 다크 모드가 자동으로 지원됩니다. 다크 모드를 지원하지 않으려면 themes.xml 파일을 수정하면 됩니다. themes.xml 파일 위치 AndroidStudio에서 확인 위치 : res\values\themes 파일 탐색기에서 확인 위치 : res\values 또는 res\values-night 수정 방법 themes.xml (night) 파일의 style를 바꿔줍니다. 수정 전 수정 후 수정 후 앱을 빌드해보면 디바이스 다크모드와 상관 없이 Light 모드로 앱이 실행됩니다.

[Android] Handler() deprecated

Handler() deprecated 해결 방법 Deprecated 기존에는 Handler()를 선언할 때 생성자에 아무런 값도 넣지 않았지만 현재는 deprecated 되었다. 그 이유는 핸들러 생성 중에 Lopper를 명시하지 않으면 작업이 자동으로 손실, 충돌 등의 버그가 발생할 수 있다고 한다. 공식 문서 내용 https://developer.android.com/reference/android/os/Handler#Handler() Handler | Android Developers developer.android.com 해결 방법 생성자에 Looper.getMainLopper()를 넣어주면 된다. // Handler handler = new Handler(); // deprecated Handl..

[Android] getDrawable() deprecated

getResources().getDrawable deprecated 해결 방법 Deprecated API 22에서 getDrawable() 이 deprecated 되었다. 공식 문서 내용 https://developer.android.com/reference/android/content/res/Resources#getDrawable(int) Resources | Android Developers developer.android.com 해결 방법 아래와 같이 ContextCompat.getDrawable()을 사용한다. // Drawable drawable = getResources().getDrawable(img);// deprecated Drawable drawable = ContextCompat.ge..

[Android] 앱, 패키지 설치 여부 확인 (App Install Check)

안드로이드에서 디바이스에 앱이 설치되어 잇는지 여부를 조회하는 방법 조회하려면 패키지명을 알아야 한다. 방법 1 String PACKAGE_NAME = "com.kakao.talk"; private boolean isPackageInstalled(String packageName, PackageManager packageManager) { try { packageManager.getPackageInfo(packageName, 0); return true; } catch (PackageManager.NameNotFoundException e) { return false; } } // 사용 방법 PackageManager pm = getPackageManager(); if (isPackageInstalled..

[Android Studio] Installed Build Tools Revision 31.0.0 is corrupted 에러 해결 방법

안드로이드 스튜디오 Installed Build Tools Revision 31.0.0 is corrupted 오류 해결 방법 새 컴퓨터에 안드로이드 스튜디오를 설치하고 빌드를 진행하니 아래와 같은 오류가 발생했다. 오류 Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option..

간단하고 빠른 JSON Parser Online

쉽고 빠르게 JSON을 파싱 할 수 있는 online 웹페이지 http://json.parser.online.fr/ Json Parser Online json.parser.online.fr 기본 Side-by-side 방식이며, 오른쪽에 String parse와 JS eval 두 형식으로 표시됨 옵션 종류 화면 표시 방식, 형식, 색상, 타입 표시 등의 옵션 옵션 - Eval Json 설정 해제 본인은 String aprse와 Eval Json를 모두 볼 필요가 없고, 긴 Json의 경우 자리를 많이 차지하기 때문에 설정 해제하였다. 옵션 - Show JS types 설정 object, array, boolean 등의 타입을 표시 옵션 - Show Array Index 설정 배열의 인덱스를 표시 옵션 -..

IT/팁 2021.08.25

[Sourcetree] authentication failed 오류 해결 (인증 오류)

Sourcetree remote 과정 중 인증 오류가 발생하는 경우, 인증 요청 시 계정 정보를 키체인에 저장을 해서 계속 인증 오류가 발생하는 경우 해결하는 방법! 오류 발생 원인 Sourcetree에서 remote 시 계정 정보를 잘못 입력 + 키체인에 비밀번호 저장 체크 발생 오류 Authentication failed (Invalid username or password.) 해결 방법 SourceTree 폴더로 이동하여 [계정아이디@STAuth-github.com] 파일 삭제 - SourceTree 폴더 경로 : 라이브러리 > Application Support > SourceTree - 라이브러리 폴더 이동 방법 : 파인더 선택 상태에서 화면 상단 메뉴 선택 상태에서 키 누르면 나타남

IT/기타 2021.07.06

[MAC] 소스트리 Github 간단 연동 방법 (Sourcetree)

MAC에서 소스트리를 사용해 Github와 연동하는 방법 준비 Sourcetree 설치 Github 계정 연동 방법 1. Github repository 생성 1.1. Repository name, 공개 여부, 파일 등 설정 1.2. Repository 생성 완료. HTTPS URL 확인 2. 소스트리 실행 및 URL 복제 2.1. 새로 만들기... > URL에서 복제 선택 2.2. 원본 URL 입력 칸: 1.2.에서 확인한 HTTPS URL 입력 2.3. 목적지 경로 입력칸: github repository를 가져올 경로 2.4. 이름 입력칸: 소스트리에서 표시할 프로젝트 이름 2.5. 프로젝트 복제 완료 (생성된 이름 확인 및 프로젝트 창 열림) 3. 프로젝트창 실행 및 사용법 3.1. 목적지에 프로..

IT/Git 2021.06.29
반응형