[자바스크립트] 배열에서 최댓값/최솟값 구하기
IT/JavaScript 2021. 1. 18. 20:34

MDN에 따르면 Math.max() 함수는 입력값으로 받은 0개 이상의 숫자 중 가장 큰 숫자를 반환한다. 인수 중 하나라도 숫자로 변환하지 못한다면 NaN을 반환한다. 아무 요소도 주어지지 않았다면 -Infinity를 반환한다. 문법 형태는 이러하다. Math.max([value1[, value2[, ...]]]) [예시] 다섯 개의 수 중에 최댓값을 구하는 예시이다. Math.max(1, 2, 3, 4, 5); 결과는 5가 나온다. 이번에는 배열을 하나 선언하고 이 배열의 원소들 중 최댓값을 구하려 한다. const numbers = [1,2,3,4,5]; Math.max(numbers); 결과는 NaN이 뜬다. [해결방법] apply() 메서드를 사용하면 된다. const numbers = [1,2..

[리액트] firebase로 로그인 기능 구현하기
IT/React 2021. 1. 14. 21:11

현재 나는 로그인 기능을 구현하고 있다. 이메일로 회원가입과 로그인 기능, 그리고 깃허브, 구글로 로그인 기능. ​ ​ firebase를 이용하여 apiKey를 비롯한 항목들을 불러왔다. ​ const firebaseConfig = { apiKey: "", authDomain: "", databaseURL: "", projectId: "", storageBucket: "", messagingSenderId: "", appId: "" }; 그리고 루트 디렉토리에 .env 파일을 생성하여 값들을 붙여 넣었다. REACT_APP_API_KEY="", REACT_APP_AUTH_DOMAIN="", REACT_APP_DATABASE_URL="", REACT_APP_PROJECT_ID="", REACT_APP_ST..

[리액트] VSCode 익스텐션/컴포넌트 import 간단하게 하기 (Auto Import)
IT/React 2021. 1. 13. 12:30

리액트를 사용하며 직접 만든 component를 직접 import 하기가 상당히 귀찮다 (특히 속한 폴더가 다르다면 더더욱..) ​ 이럴 때 Auto Import를 사용하면 간단히 해결할 수 있다. 비주얼 스튜디오 코드에서 Extensions 탭을 들어가서 검색창에 Auto Import를 검색하면 바로 나온다! 사용 방법 ​ 예시 폴더 - src - components - Router.js가 있고 예시 폴더 - src - routes - Auth.js가 있다. Router.js에서 Auth 컴포넌트를 불러오고 싶을 때 Auth를 입력하면 자동으로 import가 생성된다!! ​ ​ 생성된 경로인데.. 이 익스텐션은 정말 유용한 것 같다. ​

[리액트] Font Awesome(폰트 어썸) 사용 방법
IT/React 2021. 1. 13. 11:11

나는 페이스북 로고가 필요했다. 그래서 font awesome을 사용하려 했는데 리액트로는 어떻게 해야할지 몰랐지만 구글링하면 역시 다 나온다. (완벽하게 이해하고 적은게 아니라 적으면서 정리한 글이기에 정확한 정보는 공식 페이지를 참고 바람) @fortawesome/react-fontawesome Official React component for Font Awesome 5 www.npmjs.com 1. 우선 npm Installation에 따라 설치를 진행한다. $ npm i --save @fortawesome/fontawesome-svg-core $ npm i --save @fortawesome/free-solid-svg-icons $ npm i --save @fortawesome/react-fon..

[리액트] 구글 로그인 API
IT/React 2021. 1. 11. 15:23

구글 로그인 기능을 만들고 싶어서 구글링을 열심히 했다.. 하지만 최신 자료는 없었고 리액트 구글 API 연동은 더욱 찾기 힘들었다. 그러다 발견한 영상. React로 하니까 정말 간단하게 되는 것 같다. npm 구글 로그인 설치하고, 컴포넌트 만들고, 생성해둔 client id 값 넣으니 끝이다. 잘 동작한다! 물론 css로 조금 더 다듬어야겠지만 작동하는 게 어디야..ㅠㅠ

OAuth란?
IT 2021. 1. 11. 14:12

OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다 OAuth - 위키백과 ​ 프로젝트를 하다가 로그인 기능을 수행하는 페이지를 만들어야 한다. 실제로 사용자에게서 정보를 받고.. 관리하는 것이 꽤나 번거로울 거라는 생각이 들었고, 아직 어떻게 구현하는지 또한 정확히 알지 못한다. 또한, 나도 이곳저곳 가입할 때 구글, 페이스북을 통한 로그인을 항상 사용하기에 이 기능은 꼭 필요하다는 생각이 들었다. OAuth는 핵심 용어 세개가 있다. 어느 페이지를 가입할 때 그 서비스 내에 구축되어있는 회원가입이 아닌 ~를 통한 로그인 기능(SNS, 구글 ..

[리액트] React hook 간단하게 알아보기
IT/React 2021. 1. 10. 01:14

참고) 한국어 버전 공식 문서이다. Hook의 개요 – React A JavaScript library for building user interfaces ko.reactjs.org 이는 단순히 리액트 hook을 공부한 지 얼마 안 된 나의 생각을 정리하고자 쓴 글이다. 틀린 부분이 있을 수도 있으니 항상 공부는 공식 문서로! React hook은 16.8 버전에 새로 추가되었다. 콘퍼런스 영상을 보니 한 2년 전이다. ​ 우선 리액트 훅을 배운지 정말 얼마 안 되었지만 벌써 이렇게 좋아진 이유는 코드가 간단하다. (아주아주 심플해짐) ​ class App extends React.Component에서 드디어 탈출이 가능하다. state는 간단히 useState를 사용하여 나타낼 수 있게 되었다. ​ 말..

[Node.js] 악성스크립트 방지 sanitize-html 보안 모듈
IT/Node.js 2021. 1. 9. 15:00

html의 input이나 textarea 와 같은 인풋에 와 같이 정보를 입력한다면, 텍스트가 아닌 스크립트로 받아들인다. 즉, 누군가가 악용하여 악성스크립트를 넣을 수 있다는 것이다. ​ sanitize-html은 이런 기법을 막기 위해 나온 모듈이다. 정말 html을 sanitize하는 기술이구나! ​ 설치는 npm install -S sanitize-html ​ 불러오는 방법은 var sanitizeHtml = require("sanitize-html"); 참고: sanitize Input sanitizing library for node.js www.npmjs.com 사용방법이 조금 바뀐건가..?

[리액트] 중괄호는 언제 사용하나요
IT/React 2021. 1. 9. 12:43

For instance, because JSX is a syntactic extension of JavaScript, you can actually write JavaScript directly within JSX. To do this, you simply include the code you want to be treated as JavaScript within curly braces: { 'this is treated as JavaScript code' }. Keep this in mind, since it's used in several future challenges. 출처: freecodecamp.org ​ JSX는 JavaScript + HTML이다. JSX에서 자바스크립트 코드는 {} (cu..

[리액트] 클래스형, 함수형 컴포넌트 차이 간단 정리
IT/React 2021. 1. 8. 14:28

리액트 컴포넌트를 만드는 두가지 방식이 있다. - 클래스 컴포넌트와 함수 컴포넌트. 생김새 - 클래스 컴포넌트 class Welcome extends React.Component { render() { return Hello, {this.props.name}; } } - 함수 컴포넌트 function Welcome(props) { return Hello, {props.name}; } 함수형 컴포넌트가 클래스형보다 더 간단하다. 하지만 함수형이 클래스형보다 뒤늦게 나온거라 클래스형으로 작성 된 프로젝트가 많이 존재한다. -> 유지보수를 위해서 클래스 컴포넌트를 알아둬야 한다. 특징 - 클래스 컴포넌트 Component로부터 상속을 받아야한다. class 키워드가 필요하다. render()가 필수적이다. s..