API API(Application Programming Interface)는 응용 프로그램에서 사용 할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻합니다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공합니다. WEB API 웹 서버 또는 웹 브라우저를 위한 애플리케이션 프로그래밍 인터페이스입니다. HTTP 서비스이며 다양한 클라이언트에서 접근이 가능하도록 설계되어있습니다. 웹 환경을 통해 제공되는 데이터 CRUD 인터페이스를 제공합니다. REST API 1. REST API란? REST(Representational State Transfer)는 API 작동 방식에 대한 조건을 부여하는 소프트웨어 아키텍처입니다. REST..
개발자 등록 1. 계정 유형 선택 앱을 등록하기 위해 https://play.google.com/apps/publish 로 이동 후 시작하기 버튼을 클릭합니다. 2. 내 정보 입력 내정보를 입력하고 다음 버튼을 클릭합니다. 3. 개발자 계정 정보 입력 개발자 계정 정보를 입력하고 다음 버튼을 클릭합니다. 입력정보 개발자 계정이름 담당자 이름 연락처 이메일 주소 (인증필요) 선호 언어 연락처 주소 연락처 전화번호 (인증필요) ex) +821012341234 4. 앱 정보 입력 앱 정보를 입력하고 다음 버튼을 클릭합니다. 5. 계정 생성 및 결제 약관에 동의 후 계정 생성 및 결제 버튼을 클릭합니다. 6. 결제 완료 신용카드 또는 체크카드 추가 버튼을 클릭하여 카드 등록 후 결제 진행하면 완료됩니다. 앱 만..
프로젝트 생성 Notice : 안드로이드 스튜디오(AndroidStudio)를 먼저 다운로드 해주세요. 1. 프로젝트 생성 안드로이드 스튜디오를 실행 후 왼쪽 상단에 File > New > New Project를 클릭 후 Empty Activity를 선택 하고 Next 버튼을 클릭합니다. 2. 프로젝트 생성 완료 프로젝트 이름을 작성하고 프로젝트가 저장될 경로를 확인 후 Finish 버튼을 클릭해주세요. 스크립트 작성 1. MainActivity.java 경로 : app > java > 패키지이름 > MainActivity package com.example.webview; 이곳부터 작성 --------------------------------------------- import androidx.app..
로그 확인은 tomcat > logs > catalina.날짜 파일을 열어 확인 가능합니다. 404 에러 처리 과정 1. 에러 확인 톰캣 로그를 확인해 보니 아래와 같이 java.lang.ClassNotFoundException 에러가 났습니다. 26-Oct-2022 17:42:08.365 심각 [http-nio-8509-exec-2] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet jsp threw exception java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.views.index_jsp at java.net.URLClassLoader.f..
카페24(Cafe24) 호스팅 신청 Notice: Cafe24 호스팅에 가입해주세요. 1. 호스팅 종류 선택 먼저 https://hosting.cafe24.com/ 으로 접속 하여 로그인 한 후 아래와 같이 호스팅 > 개발 언어별 호스팅 메뉴를 클릭합니다. 2. Tomcat JSP 선택 탭 메뉴에 기본으로 Tomcat JSP가 선택되어있습니다. 선택 되어진 상태로 자신의 프로젝트에 적절한 웹용량과 트래픽 용량을 확인 하고 신청하기 버튼을 클릭합니다. 3. 정보 입력 FTP, SSH, DB 비밀번호를 입력 다음 버튼을 클릭합니다. 설정해준 비밀번호를 잘 기억해두세요! 코드를 수정하여 다시 서버에 올리거나 DB 관리를 관리 하거나 할때 계속 쓰이게 되는 비밀번호 입니다. 카페24 에서 제공하는 무료도메인은 ..
모바일 웹 모바일 웹이란 데스크 탑 브라우저에 실행되는 웹을 모바일 스크린 크기로 줄여 놓은 것을 말합니다. 웹 사이트 개발 방식과 거의 동일하여 별도의 개발방식이 필요하지 않고 인터넷에 접속이 가능하다면, 어떠한 플랫폼으로도 접근이 가능합니다. 웹앱 PC가 아닌 모바일을 기준으로 하여 모바일에 중점을 두고 개발하는 방식입니다. 즉 모바일웹과 차이점이 많지 않지만 겉으로 보이는 모습이나 구동방식을 앱처럼 보이도록 만든 것으로 스토어를 통한 설치가 불가능하고 웹브라우저를 통해서 접속이 가능합니다. 하이브리드앱 네이티브앱과 웹앱의 장점을 합친 앱 개발 방식으로 기본적인 기능은 HTML등의 PC로 작업이 가능한 웹문서로 구현하고 디자인과 같은 패키징은 모바일 운영체제별로 구현하는 방법입니다. 앱을 구동시키면 ..
코예브(Koyeb)란? Koyeb란 안정적이고 확장 가능한 애플리케이션을 전 세계적으로 쉽게 배포할 수 있도록 설계된 개발자 친화적인 플랫폼입니다. Koyeb 에서는 Docker 컨테이너, 기본 코드 및 기능을 원활하게 지원하여 전 세계적으로 애플리케이션을 배포, 실행 및 확장할 수 있는 통합 환경을 제공합니다. Docker : VM(가상 시스템)은 CPU나 기타 자원들을 완전히 가상화 하여 컴퓨터를 새로 만든다고 볼 수 있다면 Docker는 리눅스 컨테이너 기술을 이용하여 가상화 하지 않고 프로세스만 격리하여 빠르게 실행시키는 기술입니다. 즉 운영체제 위에 운영체제를 설치하는 것이 아닌 기존의 운영체제 안에서 프로세스만 격리하는 것으로, 프로세스만 격리할뿐 기존 시스템 자원을 공유하기 때문에 용량을 줄..
도메인(Domain)이란? 도메인이란 사람들이 흔히 알고 있는 인터넷 주소를 말합니다. 예를 들면 도메인 이름 google.com은 ip 주소 142.250.196.124를 가리킵니다. 이처럼 ip 주소는 기억하기 어렵기 때문에 각 IP에 이름을 부여 하고 , 이것을 도메인이라고 합니다. URL과 도메인(Domain)의 차이점 URL은 흔히 웹주소라고 표현하며 프로토콜과 서브 도메인 등의 정보가 포함되어있습니다. 제 블로그 URL https://08genie.tistory.com을 예로 들면 아래와 같이 분리 할 수 있습니다. Protocol : https SubDoamin : www Domain : 08genie.tistory.com DNS(네임서버)란? 도메인을 해당 ip 주소로 변환해주는 서버 입니..
구글맵(Google) 세팅하기 Notice : IDE(개발환경)은 안드로이드스튜디오(Android Studio)를 사용합니다. 1. pub.dev 접속 구글맵을 세팅하기 위해 pub.dev 에서 google_maps_flutter와 geolocator 페이지를 각각 열어 줍니다. 먼저 google_maps_flutter 페이지에서 스크롤을 내려 Getting Started에서 아래와 같이 https://cloud.google.com/maps-platform 을 클릭합니다. pub.dev란 ReactNative와 Flutter의 방대한 오픈소스 패키지 입니다. 2. Google Maps Platform 접속 오른쪽 상단에 Get started 버튼을 클릭합니다. 3. 사용 설정된 API 확인 결제 정보를 ..
프로시저(Procedure) 예제 ex) 고객이 어떤 물건을 구입했습니다. 구매테이블(buy)에 구매정보가 INSERT되면 재고테이블(stock)에 해당 물건 수량을 UPDATE 시킵니다. /*기존에 프로시저가 있으면 삭제*/ DROP PROCEDURE IF EXISTS stockMgmt; DELIMITER $$ CREATE PROCEDURE stockMgmt (IN productNum INT ,IN buyerName VARCHAR(20) ,OUT result INT) BEGIN /*변수 선언*/ DECLARE quantityNum INT DEFAULT 0; /* SQL에러 발생시 ROLLBACK */ DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN ROLLBACK; SET..
Stateless Widget 이란? '상태가 없다' 라는 것을 의미하며, 한번 build 함수가 실행되어 화면에 표시되면 화면을 변경할 수 없습니다. 즉 하나의 Stateless 위젯은 라이프 사이클 동안 단한번의 build 함수를 실행합니다. Stateless Widget 라이프 사이클 Stateful Widget 이란? Stateless와 반대로 '상태가 있다' 라는 것을 의미하며, 위젯이 작동하는 동안 data의 변경이 필요한 경우 화면을 다시 그려서 변경된 부분을 위젯에 반영합니다. 체크 박스에 따라 화면을 변경하거나 색상을 조정하는 등 동적인 화면 변화가 필요한 경우 사용합니다. Stateful Widget 라이프 사이클