반응형

카카오맵 API를 연동해서 웹서비스를 개발하다 보면

f12 개발자도구 콘솔창에서 맞닥뜨리게되는 워닝이 있는데

 

그냥 궁금해서 찾아본 파서 블로킹 경고창에 대한 위험도를 기록해봄

 

 

 

sdk.js?appkey=AppKey&libraries=services:4 A parser-blocking,
cross site (i.e. different eTLD+1) script,
http://t1.daumcdn.net/mapjsapi/js/main/4.4.1/kakao.js, is invoked via document.write.
The network request for this script MAY be blocked by the browser in this or
a future page load due to poor network connectivity.
If blocked in this page load, it will be confirmed in a subsequent console message.
See https://www.chromestatus.com/feature/5718547946799104 for more details.

(가독성을 위해 줄바꿈으로 출력함)

 

 

 

 

 

 

카카오 답변

- 지도가 로드되지 않는게 아니라면, 무시해도 됨

- document.write로 스크립트를 생성하는것은 피하는게 좋다

 

 

 

참고 :

 

 

 

https://devtalk.kakao.com/t/gatsby-map/103810/2

 

Kakao DevTalk

카카오 데브톡. 카카오 플랫폼 서비스 관련 질문 및 답변을 올리는 개발자 커뮤니티 사이트입니다.

devtalk.kakao.com

 

 

https://devtalk.kakao.com/t/parser-blocking/115430

 

Kakao DevTalk

카카오 데브톡. 카카오 플랫폼 서비스 관련 질문 및 답변을 올리는 개발자 커뮤니티 사이트입니다.

devtalk.kakao.com

 

 

document.write로 스크립트 렌더링 시 발생하는 문제 관련

https://www.cosmosfarm.com/threads/document/21729

 

parser-blocking via document.writhe 관련 문제 해결 방법 - Cosmosfarm

안녕하세요. 워드프레스에서 코스모스 회원관리 플러그인을 사용합니다. 인 앱 브라우저를 통하여 홈페이지로 접속하여 결제 창에서 주문을 할 때 주소 창이 뜨질 않습니다. console 에는 이런 문

www.cosmosfarm.com

 

반응형
반응형

버튼 ui를 수정하려는 참에 기존에 퍼블리싱을 외주로 맡겼던 곳에서 버튼을 a태그로 사용하길래

궁금해서 찾아본 내용

 

버튼과 a 태그 중 어느것을 클릭용 버튼으로 사용하는게 더 나을까?

 

w3schools 사이트의 html 튜토리얼과 다른 사이트를 참고한 내용 간단 정리

 

 

<a> a태그의 경우 anchor(앵커, 닻)의 a로,

현재 페이지에서 다른 페이지로의 이동이 있을 경우, 외부 요소에 접근하는 경우 사용하는걸 추천

 

<div> 간단한 컨테이너 태그로, 특별한 기능을 사용하는게 아닌

스타일적으로 커스터마이징이 필요할 때 주로 사용 (애니메이션, 모달, 트랜지션)

 

<button> 버튼 태그의 경우, html 페이지에 버튼을 만드는 가장 기본적인 사용법으로,

onClick 액션을 사용하고자 할때 사용하면 된다

 

<input type="button"> 인풋 타입 버튼 태그, 위의 버튼 태그와 동일한 버튼 태그이지만,

일반적으로 폼 데이터 제출 시, 사용하는것이 좋다

 

 

 

 

 

 

참고 : 

w3schools

 

stackoverflow

 

 

 

정독하기 좋은 내용

 

 

The Difference Between Anchors, Inputs and Buttons

One of the things I love about CSS is how easy it is to make one element look like another. In the example above, the first element is an anchor, the

davidwalsh.name

 

반응형
반응형

Uncaught DOMException: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.

 

현재 크롬 쿠키 설정이 쿠키차단이라 그런지

도메인으로 접속하면 localstorage 기능이 차단되어 에러가 발생하는 문제가 생겼다

 

 

모바일 사파리에서는 자동으로 쿠키를 허용해줘서 그런지 이러한 문제가 발생하지않았고,

데스크탑 크롬으로 접속 시, 도메인이 아닌 아이피로 접속한 경우에도 문제는 없었다

 

 

이런 경우, 코드에서의 수정이 아니라

쿠키차단이 되어있어서 자바스크립트에서 사용한 스토리지 API기능을 블락 당한것이므로

크롬 설정에서 바꾸어주고 테스트를 진행하면 된다

 

 

 

크롬 설정 > 개인정보 및 보안 > 쿠키 및 기타 사이트 데이터 > 모든쿠키허용 하면 해결됨

 

 

 

 

 

 

 

 

 

참고 : 

https://www.chromium.org/for-testers/bug-reporting-guidelines/uncaught-securityerror-failed-to-read-the-localstorage-property-from-window-access-is-denied-for-this-document

 

Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': Access is denied for this document. - The Chro

Home of the Chromium Open Source Project

www.chromium.org

 

반응형
반응형

학교다닐때는 putty를 사용해서 접속했는데

생활코딩에서 본 aws 강의에서는 xshell을 사용하길래 xshell을 이용한 접속방법을 기록해봄

 

확실히 기록이 좋은게 기초 환경을 세팅하고난 다음에 개발을 하면 되지만

기본 세팅하는법을 자주안하면 까먹다보니 기록으로 남겨둬야됨

 

aws EC2 우분투 터미널 접속을 위한 세팅

 

그림대로 하나하나 따라하면 바로 연결이 저장되며 접속이 가능하다

 

 

위 또는 아래처럼 세션에서 새로만들기를 눌러 새로운 ssh 등록을 시작한다

 

 

 

 

 

이름은 자유롭게 정하면됨

 

 

 

호스트에는 aws에 나와있는 퍼블릭 IP 주소를 입력한다

 

aws ec2 퍼블릭 도메인

aws의 퍼블릭 IP주소는

위 사진처럼 생성한 인스턴스를 클릭하면 알수있다

 

 

 

그러고 세션 등록 왼쪽 탭에서

사용자 인증으로 넘어감

 

그럼 기본으로 사용자인증 방식이 Password로 지정되어 있는데

 

 

 

이때, public key를 더블클릭하여 활성화 시키고 옆에있는 설정을 눌러준다

 

 

아직 퍼블릭 키를 설정한게 아니라 현재 사용자 키가 없다고 뜨는데

 

aws EC2 인스턴스를 생성하면 마지막단계에서 저장한 .pem 키가 있다

이 키를 저장한 위치로 가서 추가해주면 되는것

 

 

 

가져오기를 누르고 .pem 키를 선택해주면됨

 

 

키가 잘 불러와진 모습

 

 

 

 

 

그러면 이렇게 세션이 추가된것을 확인할수있다

 

 

 

 

연결을 누르면 위와같은 화면이 나오며

한번 수락할것인지 수락과 동시에 키를 저장할것인지 물어본다

 

 

해당 키를 xshell에 저장하여

앞으로 확인절차를 묻지않는다는 뜻인것과 같은듯하다

 

 

수락 및 저장을 누르면 연결이 완료되며

생성한 EC2 인스턴스의 우분투 터미널로 접속이 가능해서 개발을 시작할수있다

 

 

 

 

 

 

 

윈도우에서 리눅스 인스턴스 접속하는법 끝

 

 

 

 

 

참고 : https://opentutorials.org/course/2717/11280

 

EC2 리눅스 인스턴스 접속 - 생활코딩

EC2 리눅스 인스턴스 접속 2015-12-28 18:22:35 OSX에서 리눅스 인스턴스로 접속 Windows에서 리눅스 인스턴스로 접속 리눅스 인스턴스에서 웹서버 사용

opentutorials.org

https://www.netsarang.com/ko/xshell-download/

 

Xshell 다운로드

다운로드 구매하기 개요 라이선스 종류를 선택하세요 기재하신 정보 중 이름, 회사(기관), 이메일 정보는 제품 출시나, 업데이트 정보 등을 신속하게 제공하기 위해 사용합니다. 이 정보는 서비

www.netsarang.com

 

 

 

반응형

' > AWS' 카테고리의 다른 글

[aws] EC2 서버에 HTTP(80), HTTPS(443) 외부접속 허용하기  (0) 2021.03.27
반응형

웹에서 가볍게 사용해보려고 이용한 MongoDB

nosql의 대표주자이며 json을 데이터베이스로 취급할수있어서 사용해보았다

 

맨땅에 헤딩하듯 기초 명령어를 찾아가며 적용해본거라

굉장히 단순하게 이용해봄

 

 

Express 모듈을 사용하여 Node.js와 MongoDB를 연동하는 법과

DB에 컬렉션 추가하는법, 저장된 DB를 조회하는법과 컬렉션을 제거하는법을 기록해본다

 

 

 

※ mongoDB 버전 확인하는법

 

커맨드 창에 아래의 명령어 입력

 

mongod --version

 

아래 예시는 몽고디비 v5.0.2를 기준으로 작성되었다

버전별로 명령어가 조금 다를수있어서 본인의 버전을 숙지하는게 좋다

 

 

 

Node.js MongoDB 연결

var fs = require('fs');
var express = require('express')
var app = express()

//인덱스 페이지
app.get('/', function(request, response) { 	
	fs.readFile('index.html', function (error, data) {
		response.writeHead(200, { 'Content-Type': 'text/html' });
		response.end(data);
		console.log('메인페이지');
    });	
});

//===== 데이터베이스 연결 =====//

var MongoClient = require('mongodb').MongoClient;

//데이터베이스 객체를 위한 변수 선언
var database;

//데이터베이스에 연결
function connectDB() {
	
	var databaseUrl = 'mongodb://localhost:27017/DB';
	
	MongoClient.connect(databaseUrl, function(err, db) {
		if (err) throw err;
		
		console.log('데이터베이스에 연결되었습니다. : ' + databaseUrl);
		
		// database 변수에 할당
		database = db;
		
		//database.collection is not a function 오류나서 추가해봄
		database = db.db('DB');

	});
}


app.listen(80, function() {
  console.log('Example app listening on port 80!')
  connectDB();
});

 

처음 디비 연동할 때, connectDB함수에서 database.collection is not a function이라는 오류를 맞닥뜨려서

추가한 내용 :  database = db.db('DB');

 

몽고디비 버전마다 디비 연결 시 방법 차이가 있는것같은데 일단 나는 저방식으로 해결이 됐다

다른 방식은 나에게 적용되지않았음

 

여기까지가 서버실행 시, 몽고디비 연동하는 법

 

 

아래에는 연동후 데이터를 저장하고 조회, 삭제하는법을 기록해본다

 

 

 

Node.js MongoDB에 데이터베이스 컬렉션 추가 (일회성)

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  database = db.db("gansik");
  database.createCollection("gansik", function(err, res) {
    if (err) throw err;
    console.log("Collection created!");
    db.close();
  });
});

처음은 이렇게 컬렉션을 만들어주고

그다음부터 컬렉션에 데이터를 넣어야 조회가 되는 과정인듯하다

 

같은 이름의 컬렉션을 반복해서 추가할 경우, 에러가 발생하니 한번 생성한 컬렉션 이름은 잘 숙지하고

컬렉션을 추가할경우, 겹치지 않게 지정하자

 

 

 

Node.js MongoDB 컬렉션에 데이터 추가 (1개 일 때)

//DB에 등록
app.post('/register',function(request, response){	

	var body = request.body;
	
	console.log('saveDB 호출');
	saveDB(body.gansik);
	
	response.end();
});

//데이터베이스 등록
function saveDB(body){
	var databaseUrl = 'mongodb://localhost:27017/DB';
	MongoClient.connect(databaseUrl, function(err, db) {
	if (err) throw err;

	database = db.db("gansik");

	database.collection("gansik").insertOne(body, function(err, res) {
			if (err) throw err;
			console.log("등록이 완료되었습니다.");
			db.close();
		});
	});	
}

아직 1개씩만 저장하는 단계라 insertOne을 사용함

2개 이상의 데이터를 한번에 저장할 경우, insertMany 메서드를 사용한다

 

 

2개이상 저장 예시는 아래 사이트 참고

 

 

 

Node.js MongoDB 컬렉션에 저장된 DB 조회하기

//DB에서 가져오기
app.post('/find',function(request, response){		
	var body = request.body;
	
	console.log('findDB 호출');
	
	findDB();
});


function findDB(){	
	var url = "mongodb://localhost:27017/DB";

	MongoClient.connect(url, function(err, db) {
		if (err) throw err;
		  
		database = db.db("gansik");
		
		//모든 db 조회 가능
		database.collection("gansik").find({}).toArray(function(err, result) {
			if (err) throw err;
			console.log('DB에서 가져온 결과 : ');
			console.log(result);
			db.close();
		});
	});
	
}

콜백으로 받은 result를 출력해보면 여태까지 DB에 저장된 모든값들이 find().pretty() 양식으로 출력된다

 

 

 

Node.js 특정 키의 값만 출력하고 싶은 경우

MongoClient.connect(url, function(err, db) {
		if (err) throw err;
		  
		database = db.db("gansik");		
     
		//특정 db 조회 가능 - 이 예시는 _id랑 price값 출력 - find.pretty 양식으로 출력안되고 그냥 출력됨
		database.collection("gansik").find({}, { projection: { price:1} }).toArray(function(err, result) {
			if (err) throw err;
			console.log('DB에서 가져온 결과 : lat long menu');
			// console.log(' : '+result.lat_ +', '+result.long_+', '+result.menu);
			console.log(result);
			response.send(JSON.stringify(result));
			
			db.close();
            });
	});

price 키에 해당하는 값과 디폴트로 정해진 _id의 값만이 출력됨

만약 price에 0 값을 주거나 아예 입력을 하지 않는다면 price의 값은 출력이 되지않는다

 

따라서 특정 필드를 unique로 정해준 상태가 아니어서

_id가 디폴트로 정해진 경우{projection:{ _id: 0} } 을 입력한다면 _id 값은 출력되지 않음

 

특정 필드에 해당하는 값만 출력하고 싶을 때 사용하면 유용하겠다

 

 

 

Node.js 특정 키의 값만 출력하는 법 적용 예제

MongoClient.connect(url, function(err, db) {
		if (err) throw err;
		  
		database = db.db("gansik");		
     
		//0이면 그 필드값은 안보이고 필드 값이 1일경우의 값만 보임
		// _id 제외, name, menu, loc, price 출력 가능 - find.pretty 양식으로 출력됨
		database.collection("gansik").find({}, { projection: { _id:0, name:1, menu:1, loc:1, price:1} }).toArray(function(err, result) {
			if (err) throw err;
			console.log(result);
			response.send(JSON.stringify(result));
			
			db.close();
		});
	});

_id는 출력되지 않으며 저장된 디비에서 모든 name, menu, loc, price의 값들만 출력이 가능하다

 

 

 

 

 

Node.js MongoDB 특정 값을 가진 데이터 조회하기

MongoClient.connect(url, function(err, db) {
		if (err) throw err;
		  
		database = db.db("gansik");
		
		var findDB_ = menu;

		//쿼리 = 필터 사용해서 특정 값 조회 price가 2000원인 값의 모든 필드 조회 가능
		var query = { menu: findDB_ };
		
		database.collection("gansik").find(query).toArray(function(err, result) {
			if (err) throw err;

			console.log(result);
			response.send(JSON.stringify(result));
			
			db.close();
		});
	});

query에는 위에 적힌것처럼 저장된 DB에서

menu라는 키(key) 중에서 findDB_의 값을 가진 메뉴를 찾도록 한다

 

문자열을 검색해도 되고 나의 경우는 클라이언트가 요청한 정보를 검색하는걸 해보고싶어서

파라미터로 전달받은 변수 findDB_를 사용했다

 

 

 

Node.js DB에 있는 컬렉션 제거하기

	var databaseUrl = 'mongodb://localhost:27017/gansikDB';
	
	console.log('drop the db');
	
	MongoClient.connect(databaseUrl, function(err, db) {
		if (err) throw err;
		database = db.db("gansik");
		database.collection("gansik").drop(function(err, delOK) {
			if (err) throw err;
			if (delOK) console.log("Collection deleted");
			db.close();
		});
	});

 

 

 

이미 적용해본 코드와 추가해본 코드가 있어서

오타가 있을수있으니 혹시라도 에러가 발생한다면 알려주세요

 

 

 

참고 :

https://www.w3schools.com/nodejs/nodejs_mongodb_create_db.asp

 

Node.js MongoDB Create Database

Node.js MongoDB Create Database Creating a Database To create a database in MongoDB, start by creating a MongoClient object, then specify a connection URL with the correct ip address and the name of the database you want to create. MongoDB will create the

www.w3schools.com

 

 

 

반응형
반응형

자바스크립트 json 데이터 서버로 보내는법

 

Node.js express 모듈과 fetch 방식을 사용하면

POST 방식으로 보낸 데이터를 처리하는 방법이 기존의 ajax, xhr과 차이가 있다

 

 

 

fetch API

xhr, ajax 방식과 유사한데 가장 최근에 생겼고 최근 추세는 fetch api를 사용하는 듯함

아래는 사용 예시와 적용해본 방법

 

 

 

 

HTML

 

<form method="post" action="/">
    <input type="text" name="user[name]">
    <input type="text" name="user[email]">
    <input type="submit" value="Submit">
</form>

 

Javascript

 

function postTest(){
  fetch('/', {
      method: 'POST',
      headers: {
          'Content-Type': 'application/json'
      },
      body: JSON.stringify({
          user: {
              name: "John",
              email: "john@example.com"
          }
      })
  });
}

 

Node.js Express v4.16 이후

 

// Parse URL-encoded bodies (as sent by HTML forms)
app.use(express.urlencoded());

// Parse JSON bodies (as sent by API clients)
app.use(express.json());

// Access the parse results as request.body
app.post('/', function(request, response){
    console.log(request.body.user.name);
    console.log(request.body.user.email);
});

 

 

 

 

자바스크립트 JSON 데이터 POST로 서버에 전달해본 사용예시

 

function register(){
	var menu = document.getElementById("menu").value;
	var price = document.getElementById("price").value;
	var pay = document.getElementById("pay").value;
	
    var obj={"menu":menu,"price":price,"pay":pay};
    
    //POST 데이터를 보낼 url - ex) localhost/register
	fetch('/register', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json'
		},
		body: JSON.stringify({
			data:obj			
		})
	});
}

이렇게하면 json 구조는 { data : {"menu": menu, "price": price, "pay": pay} }가 된다

 

 

app.post('/registerAddr',function(request, response){	
	var body = request.body;
	
	console.log('body : ' + body.data.menu);
    //input으로 받은 menu 값 출력 확인
});

클라이언트에서 보낸 menu의 값을 확인할 수 있다

 

 

 

 

 

출처 : 

https://stackoverflow.com/questions/4295782/how-to-process-post-data-in-node-js

 

How to process POST data in Node.js?

How do you extract form data (form[method="post"]) and file uploads sent from the HTTP POST method in Node.js? I've read the documentation, googled and found nothing. function (request, response)...

stackoverflow.com

 

반응형
반응형

클라이언트에서 서버로 이미지를 보낼때 방법이 몇가지 있는데 그중 base64로 인코딩하여

이미지를 보내는 방법을 사용해본 내용이다

 

 

※ base64란?

8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식

 

전자 메일을 통한 이진 데이터 전송 등에 많이 쓰이고 있다. 모두 처음 62개는 알파벳 A-Z, a-z와 0-9를 사용하고 있으며 마지막 두 개를 어떤 기호를 쓰느냐의 차이만 있다.

 

인코딩된 문자열은 알파벳 대소문자와 숫자, 그리고 "+", "/" 기호 64개로 이루어지며, "="는 끝을 알리는 코드로 쓴다.

 

 

 

 

내가 구현하고 싶은것

클라이언트는 이미지를 base64 인코딩하여 서버로 전달한다

 

서버는 클라이언트에서 전달받은 base64 이미지에, 특정한 처리를 하고 다시 클라이언트로 결과를 보내준다

이때, 받은 base64 인코딩된 이미지를 웹 페이지에 보여주는 방법을 함께 기록해보았다

 

 

이미지를 base64 방식으로 인코딩 하는법

 

// Select the image
const img = document.querySelector('#testImg');

img.addEventListener('load', function (event) {
   getDataUrl(event.currentTarget);
   //console.log(dataUrl);
});

사용자가 선택한 이미지가 로드 완료되는 순간

getDataUrl을 호출하여 base64 인코딩을 시작한다

 

function getDataUrl(img) {
   // Create canvas
   const canvas = document.createElement('canvas');
   const ctx = canvas.getContext('2d');
   // Set width and height
   canvas.width = img.width;
   canvas.height = img.height;
   // Draw the image
   ctx.drawImage(img, 0, 0);
   
   var base64 = canvas.toDataURL('image/*');
   strImage = base64.replace(/^data:image\/[a-z]+;base64,/, "");
   }

 

 

 

html에서 인코딩된 base64 img 보여주는법

<img src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEVBMTczNDg3QzA5MTFFNjk3ODM5NjQyRjE2RjA3QTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEVBMTczNDk3QzA5MTFFNjk3ODM5NjQyRjE2RjA3QTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowRUExNzM0NjdDMDkxMUU2OTc4Mzk2NDJGMTZGMDdBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowRUExNzM0NzdDMDkxMUU2OTc4Mzk2NDJGMTZGMDdBOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjjUmssAAAGASURBVHjatJaxTsMwEIbpIzDA6FaMMPYJkDKzVYU+QFeEGPIKfYU8AETkCYI6wANkZQwIKRNDB1hA0Jrf0rk6WXZ8BvWkb4kv99vn89kDrfVexBSYgVNwDA7AN+jAK3gEd+AlGMGIBFDgFvzouK3JV/lihQTOwLtOtw9wIRG5pJn91Tbgqk9kSk7GViADrTD4HCyZ0NQnomi51sb0fUyCMQEbp2WpU67IjfNjwcYyoUDhjJVcZBjYBy40j4wXgaobWoe8Z6Y80CJBwFpunepIzt2AUgFjtXXshNXjVmMh+K+zzp/CMs0CqeuzrxSRpbOKfdCkiMTS1VBQ41uxMyQR2qbrXiiwYN3ACh1FDmsdK2Eu4J6Tlo31dYVtCY88h5ELZIJJ+IRMzBHfyJINrigNkt5VsRiub9nXICdsYyVd2NcVvA3ScE5t2rb5JuEeyZnAhmLt9NK63vX1O5Pe8XaPSuGq1uTrfUgMEp9EJ+CQvr+BJ/AAKvAcCiAR+bf9CjAAluzmdX4AEIIAAAAASUVORK5CYII=">

 

 

자바스크립트에서 base64 인코딩 이미지 보여주는법

document.getElementById('img').src = "data:image/;base64,"+data;

html 이미지 태그 중 id가 img인 객체에 base64 인코딩 이미지 넣는법

 

"data:image/;base64," + "실제 base64 인코딩된 이미지 데이터"

 

data:image/;base64, : 이 부분이 base64 인코딩 이미지를 넣어주는 부분이라고 보면 될듯

 

 

 

 

참고 : 

 

base64란

 

https://stackoverflow.com/questions/201479/what-is-base-64-encoding-used-for

 

What is base 64 encoding used for?

I've heard people talking about "base 64 encoding" here and there. What is it used for?

stackoverflow.com

https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464

 

베이스64 - 위키백과, 우리 모두의 백과사전

컴퓨터 분야에서 쓰이는 Base 64 (베이스 육십사)란 8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자

ko.wikipedia.org

 

 

 

base64 이미지 인코딩하는법

 

https://stackoverflow.com/questions/6150289/how-can-i-convert-an-image-into-base64-string-using-javascript

 

How can I convert an image into Base64 string using JavaScript?

I need to convert my image to a Base64 string so that I can send my image to a server. Is there any JavaScript file for this? Else, how can I convert it?

stackoverflow.com

 

 

base64 이미지 보여주는법

 

https://stackoverflow.com/questions/8499633/how-to-display-base64-images-in-html

 

How to display Base64 images in HTML

I'm having trouble displaying a Base64 image inline. How can I do it?...

stackoverflow.com

 

 

반응형
반응형

웹 개발 때, 크롬에서만 테스트를 진행해보다가 호기심이 생겨서 파이어폭스에서도 돌려보는데

메인페이지 접속부터 에러터지고 순탄치 않아서

 

뭔가했더니 HTML 태그를 끝까지 다 안닫아줘서 발생한 문제였음

 

보통 효율적인 개발툴을 사용한다면 이런 문제가 생기지 않을텐데

노트패드로 급히 수정하다보면 가끔 하게되는 허무한 실수라고 생각된다

 

 

이렇게.. 또 배워갑니다

 

 

 

 

 

심지어 내가 수정해야할 예상태그까지 다 알려준다

크롬은 알아서 해주지만 파이어폭스는 지적을 해줌

 

참 선생인듯 폭스선생

 

반응형
반응형

외부에서의 접속을 위한 기타 포트를 추가해줘야 할 때

인바운드 규칙을 설정해준다고 한다

 

간단하게 보면

인바운드 : 외부로부터 내 PC/서버에 접속이 가능하도록 설정하는 것

아웃바운드는 이의 반대로 이해하자

 

 

 

현재 인바운드 규칙은 22, 443 포트에만 가능하여

80포트에서의 접속도 가능하도록 추가하고자 했다

 

 

 

 

세팅은 간단하지만 위치를 찾는게 어려워서 과정을 적어본다

 

 

먼저, EC2의 인스턴스를 클릭하자

 

 

 

 

인스턴스 우클릭 후 보안 > 보안 그룹변경 클릭

 

 

 

 

우측 하단에 보이는 인바운드 규칙 편집 클릭

 

 

규칙 추가를 누른 뒤

원하는 포트를 지정해준다

 

 

 

 

 

 

출처 : aws.amazon.com/ko/premiumsupport/knowledge-center/connect-http-https-ec2/

 

HTTP 또는 HTTPS 포트에서 Amazon EC2 인스턴스에 연결

기본 네트워크 ACL에서 모든 인바운드 및 아웃바운드 트래픽을 허용합니다. 더욱 제한적인 규칙으로 사용자 지정 네트워크 ACL을 사용할 경우, 포트 80과 443에서 트래픽을 명시적으로 허용해야 합

aws.amazon.com

 

반응형

' > AWS' 카테고리의 다른 글

[aws] 윈도우에서 리눅스 터미널로 ssh 접속하는법  (0) 2021.08.30
반응형

 

자바스크립트로 현재의 연, 월, 일을 출력하는 date() 사용법

딱히 html DOM 요소를 사용하진 않고 그냥 자바스크립트 내 콘솔로 찍어보았다

 

현재 서버에 파일 업로드 시, 새로고침되는 부분에 지연이 발생하여

혼란와서 오늘 날짜 출력해서 업로드 실시간으로 됐는지 인식할 용도로 씀

 

html 페이지가 로드되면 바로 수행되게 함

 

window.onload = function() { 

	var today = new Date();
	var dd = String(today.getDate()).padStart(2, '0');
	var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
	var yyyy = today.getFullYear();

	today = yyyy+ '.' + mm + '.' + dd ;
	
	console.log("오늘은 "+today+" 입니다");
    
    }

 

 

 

출력 예시

"오늘은 2021.01.27 입니다"

 

 

출처 : stackoverflow.com/questions/1531093/how-do-i-get-the-current-date-in-javascript

 

How do I get the current date in JavaScript?

How do I get the current date in JavaScript?

stackoverflow.com

 

반응형

+ Recent posts