분류 전체보기 201

[JavaScript] 숫자인지 문자인지 판단 정규식(+소수점 판단 정규식)

1. 입력된 데이터가 숫자인지 문자인지 판단 static IsNumber = (value: any) => { const reg = /^[0-9\s]*$/; if (reg.test(value)) { return true; //숫자 } else { return false; //문자 } }; 2. 입력된 데이터가 숫자(소수점 포함)인지 문자인지 판단 static IsNumber = (value: any) => { const reg = /^-?\d*(\.\d*)?$/; if (reg.test(value)) { return true; //숫자(소수점 포함) } else { return false; //문자 } };

JavaScript 2021.10.14

[JavaScript] 비밀번호 유효성 검사 정규식(숫자, 영문, 특수문자 체크)

//숫자,영문,특수문자 3개 이상 사용했는지 체크 const pwdValidationChk = (password: string) => { const regPwd = /^.*(?=.*\d)(?=.*\W)(?=.*[a-zA-Z])/; if (!regPwd.test(password)) { return false; //3개이상 사용x } else { return true; //3개이상 사용함 } }; password를 받아서 숫자, 영문, 특수문자를 3종류 이상 사용했는지 체크한다. (?=.*\d)는 숫자, (?=.*\W)는 특수문자, (?=.*[a-zA-Z])는 영문을 체크한다. 만약 특수문자 체크가 필요 없다면 특수문자 체크 부분을 빼고 const regPwd = /^.*(?=.*\d)(?=.*[a-zA-Z..

JavaScript 2021.10.14

[Python] 프로그래머스 문제: 타겟 넘버

https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 처음부터 하나씩 더하고 빼는 경우의 수를 다 구하는 건 비효율적이란 생각이 들어서 반대로 생각해보았다. 숫자들을 전부 더한 다음 거기서 타겟이 되도록 빼는 것이다. 숫자들의 총합은 (타겟이 되기 위한 숫자들 + 잉여 숫자들)이기 때문에 잉여 숫자들의 조합 경우의 수를 구하는 게 답을 구하는 거나 마찬가지이다...

알고리즘 2021.10.01

[React/Node.js] 리액트 node.js서버 폴더에 파일 업로드 하기

[React] 1 먼저 type="file"인 인풋 태그를 만들어서 파일을 선택할 수 있도록 해준다. 2 파일을 선택하면 그 정보를 state에 저장해준다. const [selectedFile, setSelectedFile] = React.useState(null); //업로드할 파일 정보 const handleFileChange = (event: any) => { setSelectedFile(event.target.files[0]); }; // JSX 부분 3 업로드 기능을 수행할 버튼을 만들어 클릭 이벤트로 파일을 서버로 전달해준다. - formData를 생성해 여기에 선택 파일 정보와 이름을 담는다. * 정보를 담을 때 사용한 userfile은 node.js 서버에서 받을 때 사용할 이름이다. - ..

React 2021.09.30

React가 돌아가는 Node.js는 무엇일까?

Nods.js 확장성 있는 네트워크 애플리케이션을 만들 수 있도록 설계된 자바스크립트 런타임 환경이다. 자바스크립트를 브라우저 밖에서 사용할 수 있게 도와준다고 생각하면 된다. * 런타임 : 프로그램이 실행되는 상태를 뜻함 Node.js 환경에 express 등의 프레임워크를 구동하면 서버가 되고 Node.js 환경으로 React를 제작하면 프론트엔드가 된다. 바벨이라는 컴파일러 도구를 가지고 있어 JSX문법을 사용할 수 있다. Nods.js 특징 이벤트 기반 : 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식 논 블로킹 I/O 모델 : 이전 작업이 완료될 때까지 대기하지 않고 다음 작업을 수행 (=비동기) 싱글 스레드 : 싱글 스레드를 사용하지만 child_process.fork() API를 사..

React 2021.09.17

#5 MAC 계층

01 MAC 계층과 IEEE 802 시리즈 - LAN환경은 자원 효율적으로 이용하려고 데이터링크 계층 LLC랑 MAC으로 나누어 처리함 1. MAC 계층의 이해 ① MAC 계층 : 전송 선로 물리적 특성 반영. 대표적 예)이더넷과 토큰 링 ② LLC 계층 : WAN의 데이터 링크 계층과 유사. 슬라이딩 윈도우 프로토콜 불필요 2. IEEE 802 시리즈 - LAN 표준안. 802.3부터는 물리계층과 MAC계층 주로 다룸 ① CSMA/CD : 다중 접근 채널 - 충돌 가능성 존재 -> 해결방법1: 충돌 허용 ex) CSMA/CD -> 해결방법2: 충돌 차단 ex) 타임슬롯 배정 ② 토큰 버스 : 물리적으론 버스지만 논리적은 링 구조. 제어 프레임 [토큰] 사용 ③ 토큰 링 : 돌면서 특정 위치에 수신했다고..

네트워크 2021.09.15

[Python] 리트코드 514. Freedom Trail

https://leetcode.com/problems/freedom-trail/ Freedom Trail - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 리스트 ring은 [0]번 요소가 12시 방향에 위치하고 뒤따르는 요소들이 시계방향으로 위치한 다이얼 모양 원이다. 선택해야 하는 알파벳인 key가 주어진다. ring을 시계방향 혹은 반시계 방향으로 돌리면서 key에 해당하는 알파벳을 순서대로 고를 건데 이때 다이얼을 가장 적게 돌리는 경우의 횟수를 구하라...

알고리즘 2021.09.15

#4 데이터 전송의 기초

01 데이터 전송 방식 - 네트워크를 통한 자원 공유, 병렬 처리에 의한 성능 향상, 중복 저장으로 신뢰성 향상(시스템 성능 저하될 수 있음) 등의 효과를 얻을 수 있다. 1. 전송과 교환 - 교환 : 라우팅-어느 방향으로 데이터 전달할지 - 전송 : 일대일로, 라우팅 개념 포함 x * 네트워크 구분 - 지리적 분포로 구분 : LAN, MAN, WAN - 데이터 전송. 교환 기술로 분류 : 점대점 방식, 브로드캐스팅 방식 2. 점대점 방식 - 원거리, WAN에서 주로 사용(ex 스타, 링, 완전, 불규칙, ...) - 연결 개수 많으면 성능은 좋지만 비용 많이 듦, 연결 개수 적으면 혼잡도 증가 스타형 : 반드시 중앙 호스트 거침-> 중앙의 신뢰성이 전체의 신뢰성 링형 : 순환구조, 모든 호스트가 전송과..

네트워크 2021.09.14

#3 네트워크 기술

01 교환 시스템 - 패킷은 전송 경로 중간에서 교환 시스템 거침 : 회선교환 - 고정 대역으로 할당된 연결로 data전송 1. 교환 시스템의 종류 회선교환 : 데이터 전송 전에 미리 경로 설정, 안정적 메시지 교환 : 경로 미리 설정 x 목적지 주소 표시 패킷 교환 : 위의 두 개 장점을 모두 이용. 장점 : 전송대역 효율적 이용, 호스트 무제한 수용, 패킷에 우선순위 부여 단점 : 회선교환보다 더 많은 지연 (지연 분포를 지터라고 함) 2. 패킷 교환 가상 회선: 연결형. 모든 패킷 경로 동일. 패킷 순서 뒤바뀔 수 없음 데이터그램 : 비연결형. 패킷들이 독립적 경로로 전달됨. 정보 양이 적거나 신뢰성 덜 중요한 곳에서 사용됨 3. 프레임 릴레이와 셀 릴레이 - 오류처리 때문에 낭비되는 요소 제거해 ..

네트워크 2021.09.14

#2 네트워크 모델

01 계층 구조의 개념 1. 계층적 모듈 구조 - 모듈화 : 시스템을 [A모듈-B모듈-C모듈]로 관리하는 게 편함. 중간 B모듈만 갈아 끼우기 가능 - 계층 구조 2. 프로토콜 설계 시 고려 사항 주소 표현 : 호스트를 유일하게 구분하는 용도 ex) 브로드캐스팅, 멀티캐스팅 오류 제어 : 전송 과정에서 데이터 분실, 변형 등의 오류 -> 복구 흐름 제어 : 송신자가 데이터를 너무 빨리 보내서 수신자가 미처 처리x -> 해결 데이터 전달 방식 : 단방향, 전이중, 반이중 있음 3. 서비스 프리미티브 - 연결형 서비스(통화 절차와 유사) 1단계:데이터 전달 경로 설정(연결 설정) -> 2단계:데이터 전송 -> 3단계:연결 해제 - 비연결형 서비스(우편 시스템과 비슷) : 연결 설정&해제 불필요. 전송할 데이..

네트워크 2021.09.14