전체 글(53)
-
재귀함수 (recursion)
| 재귀함수란? 함수가 자기자신을 다시 호출하는 구조로 만들어진 함수이다. 반드시 종료시점 (return 문) 이 존재해야 한다. 종료점이 없다면 계속해서 스택에 함수가 추가 된다. 그로 인해 메모리 사용량이 불필요하게 많이 소모되며 스택오버플로우가 발생할 수 있다. 두가지를 이해하고 넘어가면 재귀함수를 조금 더 쉽게 이해 할 수 있다. - base case (재귀의 탈출 조건) - recursive case (자기 자신을 호출) | 기본적인 재귀 함수 예시 recursionTest 함수에 인자로 넘어온 num을 하나씩 줄여가는 함수이다. 여기서 base case 조건은 num이 0보다 작거나 같을 때 return 으로 0을 뱉어준다. | for문으로 동일한 기능 구현 모든 재귀함수는 반복문으로 동일한 ..
2023.10.09 -
REMIX IDE 사용법
| Remix https://remix.ethereum.org/ 브라우저에서 솔리디티 (이더리움에서 제공하는 스마트 컨트랙트 개발언어) 를 이용하여 스마트 컨트랙트를 개발하도록 도와주는 IDE이다. 테스트를 진행 하려면 순서대로 하면 된다. | abi 생성 abi 확장자 파일을 하나 생성하고 abi 를 넣는다. abi 란 컨트랙트 함수와 매개변수들을 JSON 형식으로 나타낸 리스트 이다. | Deploy & run transaction 탭 으로 이동 후 메타마스크 지갑 연동 Injected Provider로 메타마스크의 지갑을 연동한다. | 컨트랙 주소 입력 컨트랙 주소를 입력하고 At Address를 클릭한다. 입력 이후 Deployed Contracts 에 연동 된 컨트랙이 나온다. 컨트랙 내부에는 ..
2023.09.20 -
간단한 블록체인 용어 정리 (업데이트 예정)
| 블록체인 - 데이터를 ‘블록’에 담아서 체인형태로 연결하여 여러 대의 컴퓨터에 복제해서 분산형 데이터에 저장한다. - 모든 사용자가 거래기록을 공유/대조하도록 하여, 데이터 위조나 변조를 할 수 없다. | 메인 네트워크 - 안전성이 검증된 독립적인 플랫폼으로 새로운 생태계를 구성하고 자체 지갑을 생성 - 예) 이더리움 | 테스트 네트워크 - 비트코인, 이더리움으로 개발자가 테스트하기에는 비용이 많이 들어서 메인넷을 구축하기 위한 작업이다. - 베타서비스로 안전성을 키워 메인넷으로 출시한다 | 트랜잭션 - 암호화폐를 송금하는 이체 거래 과정에서 전송되는 서명된 정보를 의미하며 하나의 문자열로 생성됨 | 수수료 (Gas fee) - 이더리움 네트워크에서 특정 작업을 실행하는데 필요한 계산 노력의 양 - ..
2023.09.20 -
빅오 표기법 (big O notation)
요즘 알고리즘 스터디도 하고 프로그래머스 코딩테스트를 풀고있다. 문제를 마주쳤을 때 문제에 대해 이해도 못했을 뿐만 아니라 그 문제를 어떻게 풀어야되지 라는 막막함도 있었다. 그리고 문제가 해결했을 때 모든 코드의 분석과 해답은 프로그래머스에서 정답이냐 탈락이냐 거기에만 맡겼다. 하지만 내 넘겨 받는 데이터의 갯수가 예시에서는 5개지만 최대 100,000개 까지 넘어온다고 했을 때 나의 코드는 100,000번 연산을 해서 값을 리턴하게 된다. 이러한 점에서 Big O 표기법을 지키며 코드를 작성해야겠다 라고 마음 먹었다. | 빅오 표기법 이란? 알골리즘의 효율성을 의미한다. 효율성은 데이터의 갯수에 따라 기본 연산의 횟수를 의미한다. 예를 들어서 택배 트럭에 택배상자가 3개만 있고 트럭에는 총 500개 ..
2023.09.13 -
React-native 기본 세팅 템플릿 만들기
| 만든 이유 항상 프로젝트를 진행하다보면 초기에 세팅하고 여러가지 npm 모듈을 받는데에 많은 시간을 쏟는다. 모듈을 미리 받아놓고 자주 사용하는 것들을 컴포넌트로 빼놓으면 어떠한 프로젝트를 진행할 때 git에서 클론을 받아서 사용하면 초기 설정의 시간을 줄일 수 있다고 생각했다. Button이나 Input은 매번 디자인에 따라 달라지기 때문에 따로 만들어 놓지는 않았지만 앞으로 더 좋은 방안을 찾아가며 업데이트를 해야될거같다 또한 타입스크립트도 추가 할 생각이다. | 프로젝트 구조 |____recoil | |____control.js | |____test.js |____asset | |____asset.js | |____icon | | |____logo.png |____components | |___..
2023.07.22 -
[JS] 추억 점수
| 문제 설명 사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 합니다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 됩니다. 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 됩니다. 다른 사진 속 인물의 이름이 ["kali", "mari", "don", "tony"]이고 ["kali", "mari", "don"]의 그리움 점수가 각각 [11점, 1점, 55점]]이고, "tony"는 그리움 점수가 없을 때, 이 사진의 추억 점수는 3명의 그리움 점수를 합한 67(11 + 1 + 55)점입니다. 그리워하는 사람..
2023.07.19