const str = '주소 : 서울특별시 강남구 삼성동 영동대로 513';
var sl = str.length;
console.log(str.substr(5,sl-5));
// expected output: "서울특별시 강남구 삼성동 영동대로 513"
//str.substr(A,B);
//A: str 문자열 중에서 자를 위치 (배열처럼 0부터 시작)
//B: A에서부터 몇개의 문자를 자를것인지 개수 입력
예를들어, http://a.com?name=egoing&job=programmer 에서 &job=programmer 중 '&'는 하나의 파라미터가 끝나고 다음 파라미터가 온다는 의미이다.
그런데 다음과 같이 job의 값에 &문자가 포함된다면 시스템은 job의 값을 제대로 인식할수 없게 된다. http://a.com?name=egoing&job=programmer&blogger
이런 문제를 회피하기 위해서 다음과 같이 치환해준다. http://a.com?name=egoing&job=programmer%26blogger 그럼 시스템에서는 %26을 &로 해석하여 원래의 의도대로 값을 해석할 수 있게 된다. 이러한 처리를 이스케이핑(escaping)라고 부른다.
encodeURI 사용예시
활용 예시
//주소 url인코딩 네이버 지도 API 응용본
const uri = 'nmap://place?lat='+lat_+'&lng='+long_+'&name='+Addr+'&appname=www.naver.com';
const encoded = encodeURI(uri);
//인코딩 값 테스트용 출력
console.log('주소 url 인코딩 : ' +encoded);
기존에 사용하는 lat_, long_, Addr 변수들을 사용하여 변수 uri에 넣은 다음
//이미지 업로드 파일
//imgUpload.js
const multer = require('multer')
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploadImg')
//이미지 업로드시킬 폴더 위치
},
filename: function (req, file, cb) {
cb(null, file.originalname)
//서버에 저장할 파일 명
}
})
var upload = multer({ storage: storage })
//storage는 업로드 될 폴더 위치
module.exports = {
upload
};
서버에서 post 요청 저리하는 부분
main.js
//server.js
var express = require('express')
//이미지 업로드
var img = require('./imgUpload.js')
//파일 1개를 업로드 하는 경우
app.post('/upload', img.upload.single('file'), function (req, res, next) {
console.log('이미지 업로드 ㅇㅋ');
})
클라이언트에서 post 요청으로 이미지 서버로 넘기기
index.js
//서버에 이미지 업로드 post 요청
//index.js
function imgUpload(){
console.log('이미지 업로드 한 경우');
let formdata = new FormData();
var file = document.getElementById('imgUpload').files[0];
formdata.append('file', file);
fetch("/upload",{
method : "POST",
body: formdata
})
}
그래도 파이썬처럼 cmd에서 바로 실행이 가능하니, C# 간단한 예제를 실행할때 사용하기 좋은듯하다
(대신 경로가 조금 길어서 그냥 비쥬얼 스튜디오 켜는게 정신건강에 이로울수있다)
dir /s %WINDIR%\CSC.EXE
위의 명령어를 cmd창에 입력해주면
기존에 설치한 닷넷 프레임워크 폴더 내에 있는 csc.exe 파일의 위치를 찾아준다
이 중에서 v4.0 버전이 제일 최신 버전의 .net framework 이므로
C:\Windows\Microsoft.NET\Framework64\v4.0.30319 폴더로 이동하여 csc.exe를 돌려주면 된다
//csc.exe 사용법
//컴파일 할 파일이 있는 폴더에서 아래의 명령어를 입력해준다
//'최신 버전의 csc.exe 파일이 있는 위치(폴더 명)\csc' + 컴파일할 파일 명
F:\c# example c:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc Program.cs
위의 컴파일 명령어를 수행하고 나면
기존 Program.cs 파일만 있었던 F:\c# example 폴더에 Program.exe 파일이 생성된것을 알 수 있다
CREATE DATABASE 데이터베이스명;
SHOW DATABASES;
USE 데이터베이스명;
예제
//opentutorials 라는 데이터베이스 테이블 생성
mysql> create database opentutorials;
Query OK, 1 row affected (0.01 sec)
//데이터베이스들 모두 조회
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| bob |
| information_schema |
| mysql |
| opentutorials |
| performance_schema |
| sakila |
+--------------------+
6 rows in set (0.00 sec)
//사용할 데이터베이스 선택 - opentutorials 라는 디비 사용
mysql> use opentutorials;
Database changed
Warning | 1681 | Integer display width is deprecated and will be removed in a future release.
예제를 따라서 SQL문을 작성하다가 마주친 워닝 문구
아마 범위 지정때문에 경고를 받은듯하다
어떤 경고인지 자세하게 보면 좋을것같아 찾아본 MySQL warning 확인하는 명령어
mysql> show warnings
-> ;
+---------+------+------------------------------------------------------------------------------+
| Level | Code | Message |
+---------+------+------------------------------------------------------------------------------+
| Warning | 1681 | Integer display width is deprecated and will be removed in a future release. |
| Warning | 1681 | Integer display width is deprecated and will be removed in a future release. |
| Warning | 1681 | Integer display width is deprecated and will be removed in a future release. |
| Warning | 1681 | Integer display width is deprecated and will be removed in a future release. |
+---------+------+------------------------------------------------------------------------------+
4 rows in set (0.00 sec)
show warnings; 를 입력해주면 받은 경고에 대한 상세 메세지를 확인할수있다
워닝 코드는 1681이며
워닝 메세지는 Integer display width is deprecated and will be removed in a future release. 였다