반응형

아리니의 삶 87

URI와 URL, URN

URI 리소스를 식별하는 것! URL과 URN으로 분류된다. Uniform : 리소스 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것 Identifier : 다른 항목과 구분하는 데 필요한 정보 URL : 리소스가 있는 위치를 지정한다. URN : 리소스에 하나하나 이름을 부여한다. URL scheme://[userinfo@]host[:port][/path][?query][#fragment] * scheme : 보통은 프로토콜을 사용 * userinfo : 보통 생략 * host : ip주소나 도메인 * port : 일반적으로 생략 * path : 리소스 경로 * query : key - value 형태. * fragment : html내부 북마크 정보 등. 자주 사용되..

HTTP 기본 2022.01.09

인터넷 네트워크 기초

인터넷 프로토콜 스택의 4계층 애플리케이션 계층 - HTTP, FTP (인터넷 브라우저, 기타 프로그램들) 전송 계층 - TCP, UDP 인터넷 계층 - IP 네트워크 인터페이스 계층 (LAN카드, LAN장비 등등) IP (인터넷 프로토콜) * 역할 : 지정한 주소에 패킷 단위로 데이터 전달 * IP 패킷에 들어있는 정보 : 출발지 IP, 목적지 IP, 데이터... * IP 프로토콜의 한계 1) 패킷을 받을 대상이 없거나, 서비스 불능이어도 패킷을 전송한다. 2) 비신뢰성 - 중간에 패킷이 사라진다? 여러 패킷을 보냈는데 순서대로 안온다면? 3) 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면? TCP (전송 제어 프로토콜) * TCP/IP 패킷 정보 : 출발지 PORT, 목적지 PO..

HTTP 기본 2022.01.09

[Node.js, GCP 앱엔진 배포] The project property must be set to a valid project ID, [%npm_package_deploy_project%] is not a valid project ID.

기이한 일이 일어났다. 매일 잘 되던 배포가 안되는 것...... 변경된 것이 없는데 도대체 왜 그런 것일까???? * 현상 (package.json) 위의 package.json을 보면 5번째 줄에 "project" : "프로젝트ID 값" 이 있다. 이건 GCP 프로젝트 이름이다. 17번째줄에 %npm_package_deploy_project% 부분이 있는데, 여기에 "프로젝트ID값"이 대입(치환)되어야 한다. 그래야 명령어가 올바로 써진 것이니까! 제대로 실행이 된다면 deploy.bat dev && rollup --config rollup.config.js && gcloud app deploy --project (프로젝트ID) --version 0-1-3 -q 이렇게 실행되어야 한다. 그런데 갑자기..

프론트엔드 2021.12.22

안드로이드 + 웹뷰 웹앱에서 외부 인터넷창 띄우기

제가 개발하고 있는 앱은 웹앱입니다. 안드로이드 소스는 거의 껍데기만 있을 뿐. 내용물은 모두 svelte 프레임워크로 이루어져 있습니다. 그래서 뭔가 어려운 점이 있을 때 검색이 잘 안되는 점이 아쉽습니다... 모두 네이티브만 쓰는건가! 이번에 아주 간단한 새로운 기능을 추가하는데, 어려움에 봉착했습니다. 버튼을 누르면 어떤 웹페이지로 이동해야하는데, 웹뷰 내에서가 아니라 외부 브라우저로 띄우고 싶었거든요. 그냥 window.open() 등의 함수를 사용하면 웹뷰 내에서 이동하는 문제가 있었습니다. 안드로이드 소스를 수정해야했습니다. (안드로이드 안배워봄...ㅎ) * 안드로이드 소스에 함수 추가 @JavascriptInterface public boolean shouldOverrideUrlLoading..

프론트엔드 2021.12.22

Svelte 프로젝트 시작하기 (기본 템플릿으로 프로젝트 생성))

Svelte 프로젝트를 시작할 때에 기본적으로 템플릿을 받아 시작하면 편리하다. 기본적인 파일구조나 서버 등의 세팅이 되어있기 때문이다. node를 깔았다면 아래와같이 명령어를 차례로 입력하면 된다. npm install -g degit npx degit sveltejs/template 프로젝트이름 cd 프로젝트이름 npm install npm run dev 그럼 터미널에 아래와 같은 결과가 뜬다. 크롬에 localhost:5000 을 치고 들어가면 기본 화면이 뜬다! 이 화면이 시작화면! App.svelte에 구현되어있다. 이제 여러 컴포넌트들을 추가하여 svelte 프로젝트를 시작해봅시다!

프론트엔드 2021.12.18

on:click 이벤트 대상, 요소 가져오기 (currentTarget vs target)

꽤나 중요한 내용인데 또 막상 외워지지 않는 그것. 온클릭 이벤트를 어떤 요소에 걸었을 때, 그 html 요소를 가져오고 싶을 때가 있다. 자바스크립트에는 버블링과 캡쳐링이라는 개념이 있다. 버블링은 한 요소에 이벤트가 발생하면 핸들러가 동작하고 그 다음 부모 요소의 핸들러가 동작하고.. 더이상 부모가 없을 때까지 이벤트 핸들러가 동작하는 것이다. 사실 버블링은 너무 자연스럽기 때문에 딱히 느껴지지 않기도 하다. 지금 술 계산기를 만들고 있는데, 카드를 누르면 그 요소를 가져와서 class를 추가해주고 싶다. {title} {emoji} card 클래스를 가진 요소에 on:click 함수를 걸어주었다. 하지만 사실상 emoji 클래스를 클릭하거나, title을 클릭해도 card 클래스에 걸려있는 on:c..

프론트엔드 2021.12.16

[LeetCode 리트코드] Max Number of K-Sum Pairs, python

문제 You are given an integer array nums and an integer k. In one operation, you can pick two numbers from the array whose sum equals k and remove them from the array. Return the maximum number of operations you can perform on the array. (해설) int배열 nums와 int k가 주어진다. nums의 두 숫자를 골라 더해서 k가 되면 nums에서 삭제한다. 이렇게 k를 만들 수 있는 쌍의 최대값을 구하여라. 예 Input: nums = [1,2,3,4], k = 5 Output: 2 1,4 그리고 2, 3 추가사항 1

[LeetCode 리트코드] Add Two Numbers, python 파이썬

문제 You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. 0이상의 정수로 이루어진 linked list 두 개가 주어진다. 각 노드의 값은 한 자리 숫자이다. linked list는 거꾸로된 방..

반응형