hanjunt57의 등록된 링크

 hanjunt57로 등록된 네이버 블로그 포스트 수는 118건입니다.

[리액트] 하이어오더 컴포넌트 [내부링크]

하이어오더 컴포넌트는 함수나 클래스 형태의 컴포넌트를 모두 반환할 수 있다.하이어오더 컴포넌트는 기존...

차딕 중국어 일기 첨삭 체험단 [내부링크]

새해부터 중국어 같이 공부하실 체험단을 모집합니다~체험단으로 선정되신 분께는 3회 일기 첨삭권이 제공...

[스토리북] 데코레이터 & 애드온 [내부링크]

Decorator우리가 만든 Button과 Input을 모두 중앙에 위치 시키려고 한다.Center.js 파일과 Center....

[스토리북/react] sass 적용 [내부링크]

스토리 파일 만들어서 사용하려고 한다.Input 컴포넌트로 sass를 적용한 Input 스토리를 만들려고 한다....

[리액트] react-with-styles [내부링크]

react-with-styles 사용해 보기react-with-styles는 에어비앤비에서 공개한 스타일 컴포넌트 라이브라리...

스토리북 설치 및 애드온 적용 [내부링크]

명령어를 입력해 스토리북을 다운받자.설치가 완료되면,새로운 디렉토리와 관련 내용들이 생성됬다.이제 스...

[스토리북] 기본 사용법 & 네이밍 & 버전 6 [내부링크]

컴포넌트를 스토리라고 하는 것 같다.그리고 스토리가 모여서 스토리 북이 되어서,이름을 스토리 북이라고 ...

네이버 부스트코스 CS50 [내부링크]

메일에 edwith에서 새로운 코스를 런치 했다고 해서,오랜만에 홈페이지에 들어가서 돌아보다가,부스트코스 ...

[리액트/Redux] 애플리케이션 상태 관리하기 2 [내부링크]

액션 타입 정의하기가장 먼저 액션 타입을 정의하자.액션 생성 함수 만들기다음으로 액션 생성 함수를 만든다. 조금 전과 달리 이번에는 액션 생성 함수에서 파라미터가 필요하다. 전달받은 파라미터는 액션 객체 안에 추가 필드로 들어가게 된다.위 액션 생성 함수 중에서 insert 함수는 액션 객체를 만들 때 파라미터 외에 사전에 이미 선언되어 있는 id라는 값에도 의존한다. 이 액션 생성 함수는 호출될 때마다 id 값에 1씩 더해 준다. 이 id 값은 각 todo 객체가 들고 있게 될 고윳값이다. 여기서 id 값이 3인 이유는 다음 절에서 초기 상태를 작성할 때 todo 객체 두 개를 사전에 미리 넣어 둘 것이므로 그다음에 새로 추가될 항목의 id가.......

[리액트/Redux] 애플리케이션 상태 관리하기 3 [내부링크]

컨테이너 컴포넌트 만들기이제는 컴포넌트에서 리덕스 스토어에 접근하여 원하는 상태를 받아 오고, 또 액션도 디스패치해 줄 차례다. 리덕스 스토어와 연동된 컴포넌트를 컨테이너 컴포넌트라고 부른다.CounterContainer 만들기src 디렉터리에 containers 디렉터리를 생성하고, 그 안에 CounterContainer 컴포넌트를 만들자.위 컴포넌트를 리덕스와 연동하려면 react-redux에서 제공하는 connect 함수를 사용해야 한다.여기서 mapStateToProps는 리덕스 스토어 안의 상태를 컴포넌트의 props로 넘겨주기 위해 설정하는 함수이고, mapDispatchToProps는 액션 생성 함수를 컴포넌트의 props로 넘겨주기 위해 사용하는 함수다.connect 함수를 호.......

[블랙미러] 미움받는 사람들 (스포 포함) [내부링크]

비호감인 사람들에게 #To Death 해시태그를 걸어서,인터넷에서 투표가 진행된다.투표로 제일 비호감으로 뽑힌 사람이 죽게 되면서 이야기가 시작된다.그러다 드론 곤충이 관련 있다는 것을 알게 된다.벌이 사람의 뇌에 들어가서 고통을 주면서,죽음에 이르게 했다.이 드론 곤충 프로젝트는 정부 지원으로 사업이 진행되었고,사람들은 벌의 용도에 대해 의심을 하고 있었다.하지만 회사 측에선 생태계라는 이유로 펀딩을 받았고,중요한 역할을 하고 있다고 형사에게 소개하고 있다.이 드론들은 개인적으로 조정은 할 수 없고,특정한 알고리듬에 의해 움직이고 있다고 형사에게 설명해 주고 있다.이 드론은 군사 등급 보안이 돼 있어서,해킹이 불가.......

[react/프로젝트] react로 slack 만들기 [내부링크]

일단 slack-clone이라는 프로젝트를 만들어 주자.아웃라인대략적인 구도는 이렇다.헤더, 사이드바, 리액트 라우터를 이용한 채팅 스크린아이콘 사용을 위한 라이드러리를 다운받아 주자.이 홈페이지에 들어가서 키워드를 치면,아이콘을 클릭하고 코드를 가져다 사용할 수 있다.Header헤더 아웃라인을 먼저 잡아보자.아웃라인에 맞게 임시적으로 필요한 것들을 채워준다.이제 css를 변경해서, 아웃라인을 잡아주자.아이콘에 css를 적용하려면,.MuiSvgIcon-root 클래스에 접근해서 변경해야 하는 것 같다.아래 문서 참고하면 좋을것 같다.기초적인 css작업이 끝났다.Sidebar이제 사이드 바를 만들어 주자.이제 css를 적용해 보자.Sidebar에 Optio.......

[Firebase] 프로젝트 생성 및 firestore 사용법 [내부링크]

구글에서 제공하는 Firebase를 사용해 보자.로그인 후에 프로젝트를 생성하자.웹앱을 등록해 준다.데이터 베이스를 설정해 주자.Cloud Firestore를 시작해 준다.이제 리액트에서 DB설정을 해주자.프로젝트 설정에 들어가서,해당 Config 내용을 복붙하면 된다.아래내용을 복사해서,src디렉토리에 firebase.js 파일을 만들어 복붙을 해준다.firebase라이브러리도 인스톨 해준다.

[react/프로젝트] react로 slack 만들기2 [내부링크]

포스트에 나와있는 것 처럼, 파이어 베이스에 연동한 후 프로젝트를 진행하자.DB 연동설정을 한 후, Cloud Firebase에서 컬랙션을 추가해 주자.기존 Sidebar.js파일에 db연동을 해보자.DB가 연동된 것을 확인할 수 있다.Route라우터 라이브러리를 인스톨 하자.route를 적용해주자.사이드 바를 조금 동적으로 바꿔보자.history를 사용하면 원하는 페이지로 리디렉트 해 줄 수 있다.Add Channel을 클릭하고 프롬프트에 instagram을 추가하니,DB에 동적으로 추가가 되고,페이지에도 바로 반영이 된다.chat.js파일을 생성해 주자.chat창을 동적으로 바꿔주자.각 세션에 맞게 동적으로 추가되고, 변경되는것을 확인 할 수 있다.MessageDB에서 가져온.......

[ES6] 전개 연산자 & 확장 & 구조 분해 및 할당 [내부링크]

배열 전개 연산자1번 : 전개 연산자(...)를 사용해, 쉽게 배열을 복사할 수 있다.2번 : 배열에 원하는 변수를 지정하고, 각 위치에 있는 요소를 추출할 수 있다.3번 : 2번을 활용해서, 여러개의 arguments를 파라미터로 받을 경우, 변수에 지정해서 사용할 수 있다.객체 전개 연산자1번 & 2번 : 중복되는 키값이 있으면 이후에 전달된 객체의 값을 덮어쓴다.3번 : 객체에서 특정값(other)을 추출 하려면, 키 이름을 쓰고, 나머지는 전개 연산자로 선언된 변수(others)에 할당 가능하다.객체 확장 표현식1번 : obj에 키 이름만 입력해도, 키값이 자동으로 입력된다.2번 : []을 사용하면, 계산식을 사용한 키값을 생성할 수 있다. 숫자도 사용.......

[ES6] forEach & map &reduce [내부링크]

forEach()forEach()를 사용하면, 반복문의 크기 및 순번(i++)등을 생략할 수 있다.map()map() 함수도 마찬가지로, chunks 안에 있는 내용을 하나씩 반복을 한 후에,변환을 해서 새 배열을 만들어 준다.리액트에서 정말 많이 사용한다.reduce()배열. reduce((누적값, 현재 값, 인덱스,요소)=>{return,초깃값})실무에서는 보통 배열을 특정 자료형으로 변환하는데 사용한다.배열의 총합을 구하는 예제는 배열을 숫자로 변환한 예제로 이해해야 한다.이 예제는 배열을 객체를 변환한 것이다.초기값으로 {}을 주고, reduce를 통해 객체로 변환시켜 주었다.source:

[react/프로젝트] react로 slack 만들기3 [내부링크]

로그인 페이지로그인 하지 않았을 경우,첫 페이지 부터 로그인 을 할수 있도록,Login 컴포넌트를 만들자.첫 화면에 로그인 페이지가 렌더링 된다.구글아이디로 로그인하기파이어 베이스에서 로그인 설정을 해주자.로그인한 후,콘솔을 보면유저관련된 내용이 쭉 나온다.Context Api 사용리듀서를 설정해주자.StateProvider를 전역으로 사용할수 있게,index.js 파일 수정reducer.js에서 initialState를 user로 설정했으니,state도 변경한다.Context API 적용하기적용을 하게 되면,구글에서 사용하는 이름과 사진등등을 가져다가 사용할 수 있다.Message 기능 구현동적으로 추가된 것을 볼 수 있다.firebase에서 배포최상위 폴더에서 아래 명령.......

[리액트 / API] API를 연동하여 뉴스 뷰어 만들기 3 [내부링크]

이제 NewsList 컴포넌트에서 API를 호출해 보자. 컴포넌트가 화면에 보이는 시점에 API를 요청하려고 한다. 이때 useEffect를 사용하여 컴포넌트가 처음 렌더링되는 시점에 API를 요청하면 된다. 여기서 주의할 점은 useEffect에 등록하는 함수에 async를 붙이면 안 된다는 것이다. useEffect에서 반환해야 하는 값은 뒷정리 함수이기 때문에, useEffect 내부에서 async/await를 사용하고 싶다면, 함수 내부에 async 키워드가 붙은 또 다른 함수를 만들어서 사용해 줘야 한다. 추가로 loading이라는 상태도 관리하여 API 요청이 대기 중인지 판별하려고 한다.. 요청이 대기 중일 때는 loading 값이 true가 되고, 요청이 끝나면 loading 값이 fa.......

[리액트 / API] API를 연동하여 뉴스 뷰어 만들기 4 [내부링크]

리액트 라우터 적용하기방금 진행한 뉴스 뷰어 프로젝트에 리액트 라우터를 적용해 보자. 기존에는 카테고리 값을 useState로 관리했는데,이번에는 이 값을 리액트 라우터의 URL 파라미터를 사용하여 관리해 보자.리액트 라이브러리를 추가해 주자.index.js파일도 수정해 주자.리액트 라우터를 적용할 때 만들어야 할 페이지는 단 하나다. src 디렉터리에 pages라는 디렉터리를 생성하고, 그 안에 NewsPage.js 파일을 만들어서 다음과 같이 작성해 보자.현재 선택된 category 값을 URL 파라미터를 통해 사용할 것이므로 Categories 컴포넌트에서 현재 선택된 카테고리 값을 알려 줄 필요도 없고, onSelect 함수를 따로 전달해 줄 필요도 없다.......

[리액트 / Context API] 전역 상태 관리 [내부링크]

프로젝트 내에서 환경 설정, 사용자 정보와 같은 전역적으로 필요한 상태를 관리해야 할때는,컴포넌트 간에 데이터를 props로 전달하기 때문에 컴포넌트 여기저기서 필요한 데이터가 있을 때는 주로 최상위 컴포넌트인 App의 state에 넣어서 관리한다.예를 들어 이렇게 복잡한 구조라면, G 컴포넌트에 상태 업데이트 함수를 전달할 때도 App → A → B → E → G와 같이 복잡하게 여러 번 거쳐서 전달해야 한다.최상위 컴포넌트에서 여러 컴포넌트를 거쳐 props로 원하는 상태와 함수를 전달했지만, Context API를 사용하면 Context를 만들어 단 한 번에 원하는 값을 받아 와서 사용할 수 있다.일단 프로젝트를 새로 생성하자.src 디렉터리에.......

[리액트]Consumer 대신 Hook 또는 static contextType 사용하기 [내부링크]

이번에는 Context에 있는 값을 사용할 때 Consumer 대신 다른 방식을 사용하여 값을 받아 오는 방법을 알아보자.리액트에 내장되어 있는 Hooks 중에서 useContext라는 Hook을 사용하면, 함수형 컴포넌트에서 Context를 아주 편하게 사용할 수 있다. ColorBox 컴포넌트의 코드를 다음과 같이 수정해 보자.만약 children에 함수를 전달하는 Render Props 패턴이 불편하다면,useContext Hook을 사용하여 훨씬 편하게 Context 값을 조회할 수 있다.그러나 Hook은 함수형 컴포넌트에서만 사용할 수 있다는 점에 주의하자. 클래스형 컴포넌트에서는 Hook을 사용할 수 없다.이렇게 해 주면 this.context를 조회했을 때 현재 Context의 value를 가리.......

[프로그래머스/python/카카오2018] 비밀지도 [내부링크]

문제설명네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다.- 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 공백("") 또는벽("#") 두 종류로 이루어져 있다. - 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 지도 1과 지도 2라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. - 지도 1과 지도.......

[리액트/Redux] 리덕스 개념 [내부링크]

Redux를 그림으로 설명한 내용이다.이 글을 읽고 다시 보게 되면, 도움이 될 거 같다.액션상태에 어떠한 변화가 필요하면 액션(action)이란 것이 발생한다. 이는 하나의 객체로 표현되는데,액션 객체는 다음과 같은 형식으로 이루어져 있다.액션 객체는 type 필드를 반드시 가지고 있어야 한다. 이 값을 액션의 이름이라고 생각하면 된다. 그리고 그 외의 값들은 나중에 상태 업데이트를 할 때 참고해야 할 값이며, 작성자 마음대로 넣을 수 있다.액션 생성 함수액션 생성 함수(action creator)는 액션 객체를 만들어 주는 함수다.어떤 변화를 일으켜야 할 때마다 액션 객체를 만들어야 하는데 매번 액션 객체를 직접 작성하기 번거로울 수 있고.......

[리액트/Redux] 프로젝트 만들어서 사용해보기 [내부링크]

Parcel 로 프로젝트 만들기프로젝트를 구성하기 위해 Parcel이라는 도구를 사용해보자. 이 도구를 사용하면 아주 쉽고 빠르게 웹 애플리케이션 프로젝트를 구성할 수 있다. 먼저 parcel-bundler를 설치해 보자.index.html과 index.js 파일을 만들어 보자.개발용 서버를 실행해 보자.해당 브라우저(http://localhost:1234)로 들어가 보면 페이지가 랜딩 된다.파일을 저장할 때마다 자동으로 새로 고침 된다.이제 리덕스 모듈을 설치해보자.css 파일을 만들고 해당 내용을 입력하자.index.html 파일도 조금 수정해 주자.이렇게 페이지가 렌더링 됐으면 성공이다!DOM 레퍼런스 만들기이번 프로젝트에서는 UI를 관리할 때 별도의 라이브러리를 사용.......

[리액트/Redux] 애플리케이션 상태 관리하기 1 [내부링크]

작업 환경 설정프로젝트를 생성한 후,react-redux라이브러리를 설치해 주자.리액트 프로젝트에서 리덕스를 사용할 때 가장 많이 사용하는 패턴은 프레젠테이셔널 컴포넌트와 컨테이너 컴포넌트를 분리하는 것이다. 여기서 프레젠테이셔널 컴포넌트란 주로 상태 관리가 이루어지지 않고, 그저 props를 받아 와서 화면에 UI를 보여 주기만 하는 컴포넌트를 말한다. 이와 달리 컨테이너 컴포넌트는 리덕스와 연동되어 있는 컴포넌트로, 리덕스로부터 상태를 받아 오기도 하고 리덕스 스토어에 액션을 디스패치하기도 한다.UI에 관련된 프레젠테이셔널 컴포넌트는 src/components 경로에 저장하고, 리덕스와 연동된 컨테이너 컴포넌트는 src/containe.......

[프로그래머스/python/카카오2018] 다트게임 [내부링크]

문제설명카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다.- 다트 게임은 총 3번의 기회로 구성된다.- 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다.- 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다.- 옵션으로 스타상(*) , 아차상(#)이 존재하며 스.......

[프로그래머스/python/카카오인턴] 키패드 누르기 (다른사람의 풀이) [내부링크]

다른 사람의 풀이key_dict에 다이얼 패드에 딕셔너리와 튜플을 사용해서,해당 좌표를 찍어줬다.다이얼 해당 좌표끼리 뺀 절댓값으로 몇 칸을 이동할지,결정해 주었다.조금 더 간단하게 풀어갈 수도 있겠다는 생각이 들었다.좀 더 좋은 코드를 만들도록 고민을 많이 해봐야겠다.

[리액트/SPA] react-router로 SPA개발 1 [내부링크]

라이브러리를 설치해 준다.index.js파일을 수정해 주자.Home 컨포넌트와 About 컴포넌트 작업을 해주자.이제 Route 로 컴포넌트를 연결 시켜주자path는 도메인 뒤에 특정 주소가 오면, (chadict.net/home path = '/home')컴포넌트를 랜더 하라는 의미이다.App.js 파일을 수정해 주자.서버에 연결을 하고,http://localhost:3000/about 주소를 치면 이런 창이 나온다.흠... 문제가 있다.about페이지는 소개만 나와야 하는데,홈까지 같이나온다./about 주소에 /가 같이 들어가서 홈 페이지도 랜딩이 된 것이다.App.js 파일에서 코드를 추가해 주자.이제 Link 컴포넌트를 사용해 다른 주소로 이동해 보자.html 에서는 a 태그를 사용.......

[리액트/SPA] react-router로 SPA개발 2 [내부링크]

Route 하나에 여러 개의 path 설정하기path props를 사용하면 한 컴포넌트에 여러 주소를 등록할 수 있다.http://localhost:3000/info 에 들어가도, about 페이지와 같은 결과가 렌더링 되는 걸 알 수 있다.URL 파라미터와 쿼리페이지 주소를 정의할 때 가끔은 유동적인 값을 전달해야 할 때도 있다. 보통 파라미터와 쿼리를 사용해 주소를 생성한다.파라미터는 특정 아이디 혹은 이름을 사용하여 조회할 때 사용하고, 쿼리는 우리가 어떤 키워드를 검색하거나 페이지에 필요한 옵션을 전달할 때 사용한다.Profile 파일을 만들고 파라미터를 사용해 보자.이제 App.js에 내용을 추가해 주자.URL 쿼리쿼리는 location 객체에 들어 있는 search .......

[리액트/SPA] react-router로 SPA개발 3 [내부링크]

리액트 라우터 부가 기능historyhistory 객체는 라우트로 사용된 컴포넌트에 match, location과 함께 전달되는 props 중 하나로, 이 객체를 통해 컴포넌트 내에 구현하는 메서드에서 라우터 API를 호출할 수 있다.예를 들어 특정 버튼을 눌렀을 때 뒤로 가거나, 로그인 후 화면을 전환하거나, 다른 페이지로 이탈하는 것을 방지해야 할 때 history를 활용한다.http://localhost:3000/history 에서 확인을 해 보면,버튼이 잘 작동하는 걸 알 수 있다.withRouterwithRouter 함수는 HoC(Higher-order Component)이다. 라우트로 사용된 컴포넌트가 아니어도 match, location, history 객체를 접근할 수 있게 해 준다.withRouter를 사용할 때는 컴.......

[프로그래머스/python/카카오2019] 실패율 [내부링크]

문제 설명슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라.실패율스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현.......

[자바스크립트] 논리연산자 / 병합연산자 [내부링크]

자바스크립트엔 세 종류의 논리 연산자 ||(OR), &&(AND), !(NOT)이 있다.보통 if문에서 자주 쓰는데,글을 읽으면서 생각치 못한 사용법이 있어서 소개하려고 한다.??는 20년에 나온 신상이라고 한다.신기하기도 하고 재밌기도 하니 함 글을 읽어보자.첫 번째 falsy를 찾는 AND 연산자 ‘&&’- 가장 왼쪽 피연산자부터 시작해 오른쪽으로 나아가며 피연산자를 평가한다. - 각 피연산자는 불린형으로 변환됩니다. 변환 후 값이 false이면 평가를 멈추고 해당 피연산자의 변환 전 원래 값을 반환한다. - 피연산자 모두가 평가되는 경우(모든 피연산자가 true로 평가되는 경우)엔 마지막 피연산자가 반환한다.첫 번째 truthy를 찾.......

[리액트 / API] API를 연동하여 뉴스 뷰어 만들기 1 [내부링크]

동기 비동기 작업의 이해웹 앱을 만들때 처리할 때 시간이 걸리는 작업이 있다.예를들어, 우리가 만들 뉴스 API는 서버에 데이터를 요청하고, 데이터를 수신한다.이 과정에서 즉시 처리 되지 않고 시간이 걸리기 때문에, 비동기적으로 처리하게 된다.만약 동기적으로 처리하면,데이터가 수신 될 때 까지 기다렸다가, 다음 작업을 실행하게 된다.그럼 페이지 랜딩도 느려지고 여러가지 일을 한번에 할 수 없게 된다.이런 비동기적 프로그래밍을 하기 위해선,callback함수를 쓰게 된다.결과창을 보게 되면, 순서대로 실행이 되지 않고,시작 => 계산 중 => increase 함수가 실행된 것을 알 수 있다.Promise콜백함수에도 단점.......

[리액트 / API] API를 연동하여 뉴스 뷰어 만들기 2 [내부링크]

프로젝트를 실행해 보자.axios를 사용해 http클라이언트로 부터 데이터를 호출해서 받을 것이다.이 라이브러리는 http요청을 promise 기반으로 처리한다.코드 스타일을 자동으로 정리하기 위해,프로젝트 최상위 디렉토리에 파일하나를 만들자.VS Code에서 파일 자동 불러오기 기능을 잘 활용하고 싶다면 최상위 디렉터리에 jsconfig.json 파일도 만들어 주자.App.js 코드를 다 지우고, 새로 작성해 보자.불러오기를 누르면 JSONPlaceholder(https://jsonplaceholder.typicode.com/)에서 제공하는 가짜 API를 호출하고 이에 대한 응답을 컴포넌트 상태에서 보여주는 예제다.onClick 함수에서는 axios.get 함수를 사용했다. 이 함수는 파라미터로.......

[네이버 서치어드바이저/ flask] robot.txt & sitemap등록 [내부링크]

구글에서는 "차딕"을 치면 링크가 바로 연결되서,홈페이지로 들어가졌는데,네이버에서는 홈페이지 링크가 안떠서,네이버 서치어드바이저에 들어가봤다.사이트 최적화를 보니까,robots.txt 와 사이트맵 설정이 되어 있지 않았다.일단 robots.txt 파일 부터 다운로드를 받아야 한다.사이트 관리 > robots.txt > robots.txt 간단생성에서 모든검색로봇(혹은 네이버검색로봇)을 클릭한 후다운로드를 받아준다.아래 홈페이지에 들어가면 무료로 사이트 맵을 받을 수 있다.홈페이지에 들어간 후,도메인을 입력하고 아래와 같이 설정하고 제출하고조금 기다리면 다운로드 페이지가 나온다.티스토리나 다른 블로그를 하시는 분들은,홈.......

[CSS/Flex] Flexbox Froggy / Flex 연습 [내부링크]

공부를 하다가 재미있는 사이트를 발견했다.요즘에는 css에서 flex로 위치 설정을 많이 하는 것 같다.공부를 하다 우연히 알게 된 사이트이다.설명을 읽고 개구리 위치를 옮기는 게임 같은 건데, fun 하고 설명도 잘 해놨다.총 1단계에서 24단계까지 있는데,마지막이 하이라이트이다.응용해서 개구리들을 다 옮겨야 하는데,생각보다 재미있었다.끝에 보니까 이것 말고도,그리드 연습하는 게 있는 것 같다.나중에 시간이 될 때 찾아봐야겠다.이 블로그에서도 자세히 나와있으니,참고하면 좋을 것 같다.

[리액트/hook] useState, useEffect [내부링크]

useStateuseState는 가장 기본적인 Hook이며, 함수형 컴포넌트에서도 가변적인 상태를 지닐 수 있게 해준다.useState로 초기값을 설정 한 후,setValue를 만들어서 함수를 이용해 값을 변경한 후 저장 할 수 있다.useState를 사용해서 숫자 카운터를 구현해 보자.useState 여러번 사용하기useState를 여려개 만들어서,값들을 저장할 수 있다. eg) name, nickNameonChange핸들러를 만들어,입력된 것이 있으면 (e.target.value 이용), 그 값을 name 혹은 nickName에 저장해 준다.useEffectuseEffect는 리액트 컴포넌트가 렌더링될 때마다 특정 작업을 수행하도록 설정할 수 있는 Hook이다.useEffect를 사용하고,콘솔에 어떻게 출력되는지.......

[리액트/hook] useReducer, useMemo, useCallback, useRef [내부링크]

useReduceruseReducer는 useState보다 더 다양한 컴포넌트 상황에 따라 다양한 상태를 다른 값으로 업데이트해 주고 싶을 때 사용하는 Hook이다.리듀서는 현재 상태, 그리고 업데이트를 위해 필요한 정보를 담은 액션(action) 값을 전달받아 새로운 상태를 반환하는 함수입니다. 리듀서 함수에서 새로운 상태를 만들 때는 반드시 불변성을 지켜 주어야 합니다.useReducer를 사용했을 때의 가장 큰 장점은 컴포넌트 업데이트 로직을 컴포넌트 바깥으로 빼낼 수 있다는 것입니다.useReducer을 이용해,전에 만든 counter을 다시 만들어 보자.useMemouseMemo를 사용하면 함수형 컴포넌트 내부에서 발생하는 연산을 최적화할 수 있다. 먼저 리스트.......

[프로그래머스/python] x만큼 간격이 있는 n개의 숫자 [내부링크]

문제 설명함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.제한 조건- x는 -10000000 이상, 10000000 이하인 정수입니다. - n은 1000 이하인 자연수입니다.입출력 예나의 풀이일단 n 번만큼 반복을 하고,그리고 반복할 때 마다, x를 곱해주면 된다고 생각을 해서,반복문의 range를 1부터 n+1로 정해주었다.0을 곱할 필요는 없기 때문이다.다른사람의 풀이이 코드도 좋다고 생각했다.x부터 x*n+1까지 반복을 하고,간격을 x 만큼 줬다.근데 0일때 애러가 난다고 한다...source:

[프로그래머스/python/카카오인턴] 키패드 누르기 [내부링크]

문제 설명스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다.이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다.1. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다.2. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다.3. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다.4. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는.......

[리액트] immer을 이용한 불변성 관리 [내부링크]

immer리액트에서 배열이나 객체를 변경 해야 할 때에는직접 수정 하면 안되고 불변성을 지켜주면서 업데이트를 해줘야 한다.이렇게 간단한 배열 혹은 객체는 추가하기에 번거롭지 않은데,이중 혹은 삼중배열이 있으면, 좀 복잡해 진다.이제 댓글(comments)를 추가해 보자.흠... 조금 복잡한것 같다.이제 immer을 이용해 좀더 간단하게 변경해 보자.immer을 설치해 준다.변경하는 코드를 작성했다.produce를 사용할 때,처음 파라미터로 수정하고 싶은 상태,두번째 파라미터로 업데이트 하고 싶은 상태를 넣어준다.함수형 업데이트만약에 첫번째 파라미터를 생략하고 바로 업데이트 함수를 넣어주게 된다면,상태를 업데이트 해주는 함수가 된.......

[프로그래머스/python] 정수 내림차순으로 배치하기 [내부링크]

문제 설명함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를 들어 n이 118372면 873211을 리턴하면 됩니다.제한조건n은 1 이상 8000000000 이하인 자연수입니다.입출력 예나의 풀이일단 n이 정수이기 때문에, str으로 바꿔주고,sort(reverse)를 써서 내림차순으로 바꿔주었다.그리고 다시 리스트를 str으로 바꾸고, 다시 int로 바꿔줬다.내가 좀 헤맸던 것은,sort()를 바로 리턴하면 None이 나온다.아래처럼 sort를 하고,아래항에 뭔가 작업을 해야 한다.다른 사람의 풀이sorted 함수를 쓰면 바로 관련 값을 리턴 할 수 있다.sort와 마찬가지로 reverse도.......

[프로그래머스/python] 제일 작은 수 제거하기 [내부링크]

문제설명정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를 들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.제한조건- arr은 길이 1 이상인 배열입니다.- 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.입출력 예나의 풀이리스트에서 제일 작은 수를 찾아준 후,그 요소를 제거했다.그리고 n의 길이가 1보다 크면 리스트를 반환하고,아니면 -1을 반환했다.tip!remove는 해당 값을 찾아 제거하고,del은 인덱스를 제거한다.

[HEROKU/Deploy] 히로쿠에서 앱 배포하기 [내부링크]

우선 히로쿠에 들어가서 아이디를 만든다.그리고 앱을 새로 만들어준다이제 파일 설정을 해야한다Procfile을 만들고 내용을 아래와 같이 적어주자.pip freeze > requirements.txt 로 pip으로 다운받은 리스트를 텍스트 파일로 저장해주자.이제 준비는 끝났다!이제 홈페이지에서 하라는대로 하면 된다!git에다 올려주고, push 까지하면 거의 다 끝났다.push 하고 호스팅 하는데 조금 시간이 걸린다. 이런식으로 pip도 다운받고 빌딩 하는데 시간이 좀 걸리는것 같다.이제 명령어 2개만 치면 웹 호스팅이 된다!짜잔! 나의 두번째 프로젝트가 호스팅 되었다!헤로쿠 무료 버전은 사용하지 않으면, 잠들어버려서 홈페이지에 접속하면 지연이 생긴.......

이벤트 핸들러 [내부링크]

이벤트 핸들러 등록Element.addEventListener('type', 'handler')이벤트 핸들러 삭제Element.removeEventListner('type', 'handler')마우스 이벤트키보드 이벤트포커스 이벤트입력 이벤트스크롤 이벤트윈도우 창 이벤트

이벤트 객체 [내부링크]

이벤트 객체를 사용해서 객체 프로퍼티에 접근할 수 있다.프로퍼티도 변경 해 줄 수 있다.공통 프로퍼티마우스 이벤트키보드 이벤트

마우스 이벤트 [내부링크]

clientX, clientYclient 프로퍼티는 말 그대로 클라이언트 영역 내에서 마우스의 좌표 정보를 담고있는데요.클라이언트 영역이란 이벤트가 발생한 순간에 브라우저가 콘텐츠를 표시할 수 있는 영역을 뜻합니다.clientX : 브라우저가 표시하는 화면 내에서 마우스의 X좌표 위치를 담고 있습니다.clientY : 브라우저가 표시하는 화면 내에서 마우스의 Y좌표 위치를 담고 있습니다.client 값은 그 순간 보여지는 화면을 기준으로 계산하기 때문에 스크롤 위치와는 무관하게 항상 보여지는 화면의 좌측 상단의 모서리 위치를 (0, 0)으로 계산합니다.offsetX, offsetYoffset 프로퍼티는 이벤트가 발생한 target이 기준이 됩니다.offsetX : 이벤트가.......

키보드 이벤트 [내부링크]

KeyboardEvent.type 키보드 이벤트의 타입에는 아래와 같은 타입들이 있습니다.KeyboardEvent.key vs KeyboardEvent.code키보드 이벤트 객체에서는 key와 code 프로퍼티가 자주 사용되는데요.key는 사용자가 누른 키가 가지고 있는 값을 나타내고code는 누른 키의 물리적인 위치를 나타낸다는 점.잘 구분해서 기억해 두시면 좋을 것 같습니다!input태그 input 태그는 말 그대로 입력의 역할을 하는 태그입니다.타입에 따라 조금씩 차이가 있을 수 있지만, input 태그를 다룰 때는 아래와 같은 이벤트 타입들이 활용될 수 있습니다.source:

[리액트] 컴포넌트 반복 [내부링크]

컴포넌트를 반복 할 때, map 함수를 많이 사용하는 것 같다.arr.map(callback,[arr])데이터 배열을 컴포넌트 배열로 map 하기이렇게 하면 랜더링이 되지만, 콘솔에 애러가 뜬다."key" prop가 없다고 경고메세지를 표시했다.리액트에서 key는 컴포넌트 배열을 랜더링 했을 때 어떤 원소에 변동이 있었는지 알아내려고 사용한다.예를 들어 유동적인 데이터를 다룰 때는 원소를 새로 생성, 제거, 수정할 수도 있다.key가 있으면 이 값을 사용하여 어떤 변화가 일어났는지 더욱 빠르게 알아낼 수 있다.key 설정nameList를 index와 key를 추가해 약간 바꿔보자애러가 뜨지 않는 것을 확인할 수 있다.데이터 추가 기능 구현input과 button을.......

[제이쿼리/jQuery] 문서 / 윈도우 관련 기능 [내부링크]

문서 크기 구하기$(document).width()$(document).height()전체 화면 크기 구하기screen.widthscreen.height웹브라우저에서 제공하는 Screen 객체의 width/height 프로퍼티에는 모니터 해상도 정보가 담겨있다.유효한 전체 화면 크기 구하기screen.availWidthscreen.availHeight운영체제의 작업 표시줄 영역이 제외된 크기다.윈도우의 위치 및 크기 관련 기능기본 크기 구하기window.innerWidthwindow.innerHeight기본크기 + 메뉴바 + 툴바$(window).width()$(window).height()기본크기 + 메뉴바 + 툴바 + 스크롤바window.outerWidthwindow.outerHeight윈도우 크기 설정window.resizeTo(width,height)윈도우 리사이징 이벤트 처리.......

[중국어첨삭 차딕] 홈페이지 리뉴얼 이벤트 [내부링크]

안녕하세요! 홈페이지 리뉴얼 기념 이벤트를 진행하려고 합니다.홈페이지에 들어가신 후, 회원가입 후 고객센터로 연락해 주시면 중국어 일기 1회 쿠폰을 발행해 드립니다~https://chadict.net/

차딕 홈페이지 리뉴얼 [내부링크]

홈페이지를 코드를 짜고 웹호스팅 까지 완료했다!처음에 만들었을 때는 금방 만들것 같았는데,막상 만들다 코드를 짜다 보니 애러도 많이 생기고시행착오를 격느라 시간을 많이 썻다.제일 신경을 많이 쓴 첫 페이지이다.요즘은 동영상 배너가 유행인것 같아서배너를 동영상으로 넣어주고약간의 포인트를 주기 위해 커서 효과도 줬다.첨삭을 받는 게시판이다.인스타 스타일로 꾸며봤다.일기는 글이 길지 않아서변경내용을 같이 볼수 있도록 했다.막상 홈페이지를 만들고 보면 별로 많은 기능이 들어간 것 같지 않은데,시간이 생각보다 오래 걸려서 놀랬다.혼자 밤새면서 버그 잡고, 구글에서 찾고 고생 많이 한것 같다.그래도 첫 결과물 치고.......

[제이쿼리/jQuery] 에니메이션 효과 [내부링크]

나타내기$대상.show()$대상.show([duration] [,complete])$대상.show([duration] [,easing] [,complete])duration : 단위는 밀리초 이며, 기본값은 400ms. slow, normal, fast사용 가능easing : 움직임을 구현한 함수 // 라이브러리를 다운받아야 한다complete : 효과가 완료됬을 때 호출할 콜백 함수options : 사라지기$대상.hide()$대상.hide([duration] [,complete])$대상.hide([duration] [,easing] [,complete])페이드 인 효과$대상.fadeIn()$대상.fadeIn([duration] [,complete])$대상.fadeIn([duration] [,easing] [,complete])페이드 아웃 효과$대상.fadeOut()$대상.fadeOut([duration] [,complete])$대상.fadeOut[duration] [,e.......

[리액트] mac 환경설정 [내부링크]

node.js 를 일단 설치해 줘야 한다.설치 후 터미널에서 명령어로 확인해 본다.node.js를 깔면 npm이 같이 깔린다,npm 은 모듈을 설치하고 모듈 버전을 관리하는 도구이다.(python의 pip같은 것 같다)Homebrew로 yarn 도 설치해 준다.디렉토리를 만들고 명령어 하나만 쳐주면 리엑트 프로젝트가 생성된다.이제 개발서버를 실행해 보자해당 디렉토리로 간 후에, 명령어를 치면 페이지가 랜더링 된다.

[리액트] 기초 문법 [내부링크]

src 디렉터리에 있는 App.js를 열어 코드를 확인하자.흠.. 뭔가 html 코드 같으면서 다른 느낌이다.JSX라고 부르는 파일인 것 같다.주의사항1. 태그를 열었으면 태그를 꼭 닫아야 한다.예를 들어, input 같은 경우 html에서 사용할 때 태그를 안 닫아 줘도 되지만,끝에 꺽새 표시를 해서라도 닫아줘야 한다.2. 두 개 이상의 엘리먼트는 무조건 하나의 엘리먼트로 감싸져있어야 한다혹은 Fragment를 사용해야 한다.3. 변수 선언 후 사용이 가능하다{}안에는 변수, 함수 등등 원하는 거의 모든 것이 사용된다고 한다.css 적용className을 사용className = class주석source :

[리액트] props 와 state [내부링크]

Props새 컴포넌트 만들기파일 하나를 만들고 거기에 코드를 짠 후 불러온다.파이썬에서 모듈을 만들고 불러오는 느낌이다.이제 App.js에 컴포넌트를 불러오고 사용하면 된다.코드를 짤 때, name을 생략하했을때를 대비해, default Props를 설정해 줄 수 있다.함수형 컴포넌트로도 사용 할 수 있다.함수형 컴포넌트가 조금 더 빠른데, 크게 차이는 없다고 한다.state초깃값 설정state 값 업데이트 : setState()state 는 setState() 함수를 써서 값을 변경해야 한다.(this.state.number = this.state.number+1) 이렇게 하면 안된다.source:

[리액트] 이벤트 핸들링 [내부링크]

onChange 이벤트 핸들링이번엔 state에 message를 만들고, input한 value를 state에 있는 message의 값으로 설정하자.이제 잘 등록이 됬는지, 버튼을 만들어 확인해 보자.함수로 만들어보기성능은 거의 차이가 없지만, 가독성은 훨씬 높다.Property Initializer Syntax바벨의 transform-class-properties 문법을 사용해화살표 함수 형태로 메서드 정의input 여러개 핸들링onKeyPress 이벤트 핸들링마지막 input에서 enter를 누르면 handleClick 메서드 호출하는 코드 만들기source:

[프로그래머스/python]자연수 뒤집어 배열로 만들기 [내부링크]

문제 설명자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.제한조건n은 10,000,000,000이하인 자연수입니다.입출력 예나의 풀이n이 int 이기 때문에, str으로 바꾸고 for문을 돌렸다.for문에 있는 x 가 str 이기 때문에 다시 int로 바꾸고,뒤에서부터 출력하였다.다른 사람의 풀이reversed 함수를 써서 str(n)을 순서대로 나열한 후,map 함수를 써서 int로 바꿔준다.reversed 는 reversed 객체를 리턴하기 때문에,list로 다시 변환해 준다.

홈페이지 네이버에 등록하기 [내부링크]

저번에 AWS에 도메인도 등록해 주고,ssl도 적용해 줬으니 드디어 배포를 할 수 있게 되었다. 이제 네이...

[제이쿼리/jQuery] 좌표 구하기 및 설정 [내부링크]

부모 좌표 노드 구하기$대상.offsetParent()부모 좌표 노드는 특정 노드의 기준 좌표가 되는 노드를 말한...

[제이쿼리/jQuery] 요소의 크기 / 스크롤 [내부링크]

크기 다루기요소의 크기 구하기$대상.width()$대상.height()기본크기 + padding$대상.innerWidth()$대상...

차딕 홈페이지를 만들다 [내부링크]

차딕 창업을 준비하며, 제일 고민했던 홈페이지! 요즘은 혼자서도 홈페이지를 만들 수 있다는 얘기를 듣고 ...

타이탄의 도구들 [내부링크]

탁월한 사람에게 규칙적인 습관이란, 야망의 또 다른 표현이다. 책에선 성공하고 남들보다 뛰어난 사람들을...

겟 스마트 [내부링크]

우리는 살아가면서 수많은 일들과 정보 속에서 살아가고 있다. 누군가는 시간을 효율적으로 사용하고, 누군...

채권쟁이 서준식의 다시 쓰는 주식 투자자 교과서 [내부링크]

언제 팔고 사야 하는가??경험적으로 분할 매수는 조금 더 천천히 하고 분할 매도는 조금 더 빠르게 하...

에이트 [내부링크]

단 한 번도 경험하지 못한 시대가 오고 있다왜 한국에서 ‘알파고 쇼’를 벌였을까알파고는 21세기 서...

numpy array를 만드는 다양한 방법 [내부링크]

파이썬 리스트를 통한 생성numpy 모듈의 array 메소드에 파라미터로 파이썬 리스트를 넘겨주면 numpy array...

numpy 불린 연산 [내부링크]

불린을 사용하면 True나 False로 return 한다.where을 사용하면 True의 위치를 return 한다.원하는 자료...

numpy 기본통계 [내부링크]

최댓값, 최솟값max 메소드와 min 메소드를 사용하면 numpy array의 최댓값과 최솟값을 구할 수 있습니다.평...

Pandas DataFrame을 만드는 다양한 방법 [내부링크]

From list of lists, array of arrays, list of series2차원 리스트나 2차원 numpy array로 DataFrame을...

pandas 데이터 타입 [내부링크]

pandas DataFrame에는 다양한 종류의 데이터를 담을 수 있습니다. dtypes를 사용해서 각 column이 어떤 ...

pandas 데이터 읽어들이기 [내부링크]

csv파일의 첫줄이 헤더이다. Unnamed: 0 은 값을 지정해 주지 않았기 때문에 자동으로 생성된다.csv에서...

Pandas 인덱싱 [내부링크]

loc 인덱서를 통해 원하는 내용을 인덱싱 할 수 있다.df.loc[행 인덱싱값, 열 인덱싱값]특정 row에 있는 ...

자바스크립트 기초문법 part2 [내부링크]

제어문if 문switch 문if 문과 switch 문 모두 특정한 조건에 따라 다르게 동작하는 코드를 만들 수 있지...

자바스크립트 객체 [내부링크]

객체 / object자바스크립트에서 객체는 파이썬에서 딕셔너리를 말하는것 같다.프로퍼티 네임 주의사항1. ...

배열1 [내부링크]

배열자바 혹은 다른 언어에서는 파이썬의 리스트를 배열(array)라고 사용하는 것 같다.splicesplice 메소드...

[프로그래머스/python] 가운데 글자 가져오기 [내부링크]

문제 설명단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운...

[프로그래머스/python] 2016 [내부링크]

문제설명2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016...

함수 [내부링크]

변수에 함수 저장변수에 함수를 저장해 주면, 쉽게 함수를 호출할 수 있고, 편한 이름으로 변수명을 선언해...

[프로그래머스/python] 3진법 뒤집기 [내부링크]

문제설명자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표...

[프로그래머스/python] 같은 숫자는 싫어 [내부링크]

문제설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열...

숫자 [내부링크]

숫자 표기법e를 사용해서 지수로 표기할 수 있다.진법 표기toFixedtoFixed 메소드를 사용하면, 원하는 소...

Math 객체 [내부링크]

절댓값(Absolute Number)Math.abs()최댓값 (Maximum) / 최솟값 (Minimum)Math.maxMath.min거듭제곱 ...

문자열 정리 [내부링크]

문자열 길이변수.length요소 접근charAt(n)요소 탐색indexOf 앞에서 부터 탐색lastIndexOf 뒤에서 부터...

[프로그래머스/python] 문자열 내 p와 y의 개수 [내부링크]

문제설명대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의...

타이머 함수 1 [내부링크]

setInterval()일정 시간마다 주기적으로 특정 구문을 실행하는 기능예제 1초에 한 번씩 변숫값을 1씩 증가...

타이머 함수2 [내부링크]

setTimeout예제3초 후에 "안녕하세요. 환영합니다." 메세지를 화면에 출력해 주세요.풀이 소스r...

타이머 함수3 [내부링크]

clearInterval()예제1초에 한번씩 숫자 값 출력하기 변수 값을 1초에 한 번 1씩 증가시키고 이 값을 화면...

[프로그래머스/python] 수박수박수박수박수박수? [내부링크]

문제설명길이가 n이고, “수박수박수박수....”와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution...

문자열 연습1 [내부링크]

입력받은 문자열을 1초마다 한 문자씩 출력하기입력받은 문자열을 1초에 한글자씩 #output에 출력해 주세...

문자열 연습2 [내부링크]

세 자릿수마다 콤마(,) 추가하기이번 연습은 세 자릿수마다 콤마를 추가하는 기능을 구현하는 것입니다....

배열 2 [내부링크]

length배열의 갯수를 구할 수 있다.split(seperator)배열을 문자열로 만들어 준다.seperator는 배열의 요소...

태그 선택 / 유사배열 [내부링크]

태그를 선택할 때는 여러가지 방법이 있다.그중 많이 쓰는 것은 id 혹은 class기준으로 찾는다.유사배열...

[Linux / Fedora] DNS 서버 [내부링크]

마스터 서버 네트워크(고정IP) 설정현재 네트워크 확인ifconfig ens32 // ens32 생략 가능서브 서버 네트...

[Linux / Fedora] 웹서버 [내부링크]

웹서버 설치dnf -y install httpd방화벽 포트 열어주기firewall-cmd --permanent --add-service=http...

[Linux / Fedora] FTP [내부링크]

VSFTPvsftp 설치dnf -y install vsftpd방화벽에 ftp 서비스 추가 firewall-cmd --permanent --add-s...

[Linux / Fedora] samba 서버 [내부링크]

samba 서버를 설치dnf -y install samba디렉터리를 공유하도록 설정mkdir /(디렉터리) // 삼바로 공유할 디...

[Linux / Fedora] DHCP 서버 [내부링크]

DHCP 서버 설정DHCP서버를 설치dnf -y install dhcpDHCP서버 설정 파일을 생성하고 편집예시...

[Linux / Fedora] Mail 서버 [내부링크]

설치된 센드메일을 확인dnf -y install sendmailsendmail-cf와 dovecot 패키지를 설치dnf -y install sendm...

[Linux / Fedora] 마리아 DB [내부링크]

MariaDB 관련패키지를 설치dnf -y install php php-mysqlnd mariadb-serverMariaDB의 서비스 이름...

[Linux / Fedora] 워드프레스 DB연동 [내부링크]

우선 마리아DB 설치를 해야 한다.https://blog.naver.com/hanjunt57/222159527283워드프레스에서 사용할 ...

[프로그래머스/python] 자릿수 더하기 [내부링크]

문제 설명자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세...

[AWS/EC2] 웹 호스팅 [내부링크]

일단 아마존 웹 서비스에 회원가입을 하고 로그인을 한다.신용계좌를 등록하고 1$인증을 받아야 하는데, 돈...

[프로그래머스/python] 콜라츠 추측 [내부링크]

문제 설명1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복...

[제이쿼리/jQuery] 기초 [내부링크]

Jquery 사용법$("CSS 선택자").메서드()$()는 jQuery를 쉽게 사용하기 위한 단축키이다....

[제이쿼리/jQuery] 노드 찾기1 [내부링크]

아이디 이름으로 노드 찾기$('#아이디 이름')태그 이름으로 노드 찾기$('태그 이름')...

[제이쿼리/jQuery] 노드 찾기2 [내부링크]

자식 노드 찾기모든 자식 노드 찾기$('대상').children()특정 자식 노드만 찾기$('대상&#...

[AWS/EC2] Flask + Ngnix 연동 [내부링크]

저번에 ssh로 리눅스 서버에 접속을 했다. 오늘은 flask와 ngnix를 연동해서 웹사이트에 호스팅을 하려고 ...

[AWS/EC2] 웹서버 DB 연동 [내부링크]

Flask 와 Ngnix를 이용해 웹 호스팅을 했다.로그인을 하려고 하니 에러가 난다.DB와 연동이 안돼서 그...

[AWS/ROUTE 53] 도메인 등록하기 [내부링크]

Route 53에 들어간다.도메인을 입력해 주고,호스팅 영역을 생성해 준다.도메인을 클릭해 영역 세부사항으...

간헐적 단식을 통해 얻은 믿기지 않는 자유 [내부링크]

평소에 간헐적 단식에 관심이 많아서 읽게 된 책이다.미국의 두 부부는 체중이 많이 나가 고민을 하고,채식...

[AWS/EC2/SSL] ssl 적용해서 암호화 하기 [내부링크]

지난번에 route 53에 도메인을 등록해 주었다.인터넷에서 찾아보니까, 홈페이지를 운영하려면 ssl 설정을 ...

[프로그래머스/python] 핸드폰 번호 가리기 [내부링크]

문제 설명프로그래머스 모바일은 개인 정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가...

[프로그래머스/python] 하샤드 수 [내부링크]

프로그래머스 문제를 풀다보면 수에 관한 신기한 것들이 많다.하샤드 수 라는 것을 처음 봤는데,흥미롭기도...

[제이쿼리/jQuery] 노드 생성 및 추가 [내부링크]

노드 생성$신규노드 = $('신규 DOM');제이쿼리로 한 줄이면 되는 것을,Dom을 이용하면...

[제이쿼리/jQuery] 노드 이동 / 삭제 / 수정 [내부링크]

노드이동첫번째 자식 노드로 이동$부모노드.prepend($이동노드)$이동노드.prependTo($부모노드)마지막...

[제이쿼리/jQuery] 스타일 & 속성 [내부링크]

스타일 값 구하기$대상.css('스타일 속성이름')$대상.css(['스타일 속성이름','...

[제이쿼리/jQuery] 이벤트 [내부링크]

일반 이벤트 등록$대상.on('이벤트이름','이벤트리스너')단축 이벤트 등록$대상.단축...