TIL💡(277)
-
Openzeppelin이 제공하는 Token 표준
회사에서 NFT 과제를 하면서 개발 기술로 구현하기 이전에 배경 지식이 상당히 많이 필요했다. Ethereum 튜토리얼과 가이드, Nethereum 도큐먼트, Github의 example project 등 여러 영문 자료들을 찾아보며 공부를 한 결과 일주일 동안 간단하게 블록체인 작동 방식을 익힐 수 있었다. 하지만 아직 Solidity의 언어에 대한 이해와 토큰의 구조를 이해하지 못했다고 생각하여 Openzeppelin에 존재하는 표준 양식을 시작으로 공부해보고자 한다. Openzeppelin은 4가지의 토큰 표준을 제공한다. ERC20(대체 가능 토큰) ERC721(대체 불가 토큰) ERC777(ERC20 기능 보강, ERC20과 호환) ERC1155(다수의 대체 가능 토큰과 대체 불가 토큰을 하나의..
2021.12.23 -
Apple M1 개발환경 구축
주말동안 개발 환경을 깔면서 그동안 소문으로만 접했던 M1의 불편함을 직접 경험하고 있다. 인텔 칩이 아닌 출시된 지 얼마되지 않은 M1 칩은 환경 구성할 때 신경 쓸 게 한 두 가지가 아녔다. 우선 가장 필수템인 카카오톡 설치부터 안되는 것이었다!!!!!! 카톡은 제 생명줄이에여... 카톡 이즈 마이 라이프!! 근데 알고보니 Rosetta 설치하는 것을 까먹었다. 이건 Intel Chip 기반에서만 구동되는 프로그램을 M1 Chip에서도 구동되게 하는 프로그램이다. 자세한 건 Apple 공홈을 참고하세요. 설치한 후 터미널이랑 iTerm에도 Rosetta를 이용하는 옵션 적용하는 거 잊지 않긔~ 카카오톡 외에도 현재 회사에서 쓰이는 ASP.NET Core 공부를 위해서 설치하던 도중 .NET SDK가 ..
2021.12.05 -
비동기 처리가 효율적일까?
운영체제 같은 시스템 관련 수업이나, 웹 프로그래밍 실습에서나 비동기는 동기 프로그래밍보다 절대적인 우위는 아니나 보통 리소스의 유휴시간을 줄이면서 효율적이라고 하는 편이다. 이를 철썩 같이 믿고 이번에 회사에서 FIFA Open API를 활용한 개인 과제에서 파이썬 비동기 라이브러리인 asyncio로 API를 만들다가 의문이 들었다. 정말로 비동기처리가 효율적일까? 실제로 팀원님들도 리뷰 시간에 내 코드를 보고 그러한 의문을 남겨주셨고, 궁금한 마음에 이에 대한 테스트와 분석을 시작해보았다. 지금까지 비동기의 효율성을 보여주는 건 단순히 sleep을 하면서 로그가 찍히는 수준의 확인만 해본 게 다였다. 아직 큰 프로젝트를 구조적으로 접근한 적이 없어서 야매의 기운이 솔솔 날 것 같지만 최대한 자료조사를..
2021.12.05 -
[백준] 14466 소가 길을 건너간 이유6
문제 : 백준 14466번: 소가 길을 건너간 이유 6 첫 줄에 N, K, R이 주어진다. 다음 R줄에는 한 줄에 하나씩 길이 주어진다. 길은 상하좌우로 인접한 두 목초지를 잇고, r c r′ c′의 형태 (행, 열, 행, 열)로 주어진다. 각 수는 1 이상 N 이하이다. www.acmicpc.net 흔한 BFS문제이나 생각보다 시간 초과가 계속 발생해서 고전한 문제이다. 효율적인 문제 접근을 위해서 방문 여부 처리와 소들간의 만남 여부 처리가 중요하다. 점차 발전해나가면서 시도한 결과는 아래와 같다. - BFS를 소를 일대일 대응시키고 연결되면 BFS 탐색 종료한다. - 일대일 대응은 비효율적. 소들간에 경로가 겹치는 경우에는 중복적인 작업이 많이 이루어진다. 그래서 일대다 대응으로 소들간의 연결 가능..
2021.11.22 -
[백준] 1800번 인터넷 설치
백준: 1800: 인터넷 설치 1800번: 인터넷 설치 첫 번째 줄에 N(1 ≤ N ≤ 1,000), 케이블선의 개수 P(1 ≤ P ≤ 10,000), 공짜로 제공하는 케이블선의 개수 K(0 ≤ K < N)이 주어진다. 다음 P개의 줄에는 케이블이 연결하는 두 컴퓨터 번호와 그 가격이 차 www.acmicpc.net 상당히 오랫동안 블로그 업로드나 알고리즘 풀이를 오랫동안 쉬었다. 아무래도 직장에 들어가면서 자연스레 나태해진 탓일까... 사실 회사 내 보안이 철저해서 사진 하나 찍는 것도 조심스러워서 블로그 자체도 쉬게 되었다. 이러면 안되는데... 그래서 반성하고 최대한 하루에 하나씩 백준 문제풀이를 하고자 나만의 위클리 챌린지를 시작해보려고 한다..! 그런데 우선 첫 문제 골드부터 막혀서 너무 슬펐다..
2021.11.17 -
[프로그래머스] 아이템 줍기
프로그래머스: 링크 코딩테스트 연습 - 11주차_아이템 줍기 [[1,1,7,4],[3,2,5,5],[4,3,6,9],[2,6,8,8]] 1 3 7 8 17 [[1,1,8,4],[2,2,4,9],[3,6,9,8],[6,3,7,7]] 9 7 6 1 11 [[2,2,5,5],[1,3,6,4],[3,1,4,6]] 1 4 6 3 10 programmers.co.kr 사실 최단 거리를 구하는 문제라서 BFS를 썼어야 이론상 조금 더 효율적인데, 그냥 DFS 재귀가 손에 익어서 DFS의 형식으로 문제를 풀었다. 그것보다 더욱 중대한 문제가 풀이 과정 중에 발생했다. 생각보다 문제는 빠르게 이해한 편이었으나, 문제의 함정을 파악하고 이를 해결하는 데 상당히 오래걸렸다. 상하좌우로 단순히 이동하면 되는 문제가 아니라, ..
2021.10.31