전체 글 (37) 썸네일형 리스트형 NFT 를 웹, 앱 서비스에 어떻게 적용 시킬까? 이 글은 NFT 관련 세미나 참석에서 들은 내용 중 핵심을 정리하는 글이다. ( 깊은 이해가 부족하기 때문에, 오류를 범할 수 있으니 읽을 때, 의심을 하고 보길 바랍니다. ) 1. NFT 란 무엇인가? - Non Fungible Token 으로 대체 불가능한 토큰을 (고유한 토큰) 말한다. 현재 이더리움 네트워크 상에서 가장 활발하게 발행되고 있다. ERC-20 표준을 지켜 토큰을 스마트 컨트랙트를 통해 발행하면 나만의 토큰 발행이 가능하다. 자세한 설명은 생략하고 깃헙 레포를 올린다. 가이드를 따라하면 누구나 쉽게? 발행이 가능하다. https://github.com/Knoa0405/GL_NFT 모바일 앱 개발을 하며 배운 점 - 출시 완료, 그렇게 3개월이 흘렀다. https://play.google.com/store/apps/details?id=com.mantto 만또 Mantto - Google Play 앱 대학생 멘토.멘티들이 모이는 곳 - 만또 play.google.com 만또가 어떻게 나오게 되었나? 당시를 회상하며... 이전에 학교를 다니며 활동했던 DSC 동아리에서 2020년 9월 학기 중에 협업 프로젝트를 진행했었다. 재능 공유 플랫폼을 만들어 보자는 얘기가 나와 3개월 동안 프로젝트를 진행했었다. ( 당시 나는 4학년 막학기였다. ) 백엔드 개발자 1명, 프론트 엔드 개발자 2명 ( 나 포함 ) , 디자이너로 구성된 팀이었고, 기획부터 앱 플로우 차트 등을 같이 생각하면서 차근차근 만들어 나갔다. 당시 나는 개발자가 되기로 맘 먹고 시작한 개발 공부.. 데이터 구조 힙 ( Heap ) 힙이란 ? 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리 ( Complete Binary Tree ) 완전 이진 트리 : 노드를 삽입할 때, 최하단 왼쪽 노드부터 차례대로 삽입하는 트리! ) 힙을 사용하는 이유? 배열에 데이터를 넣고, 최대값과 최소값을 찾으려면 0(n) 이 걸린다. 이에 반해서, 힙에 데이터를 넣고, 최대값과 최소값을 찾으면, $ O(log n) $ 이 걸림 O( log n ) : 문제를 해결하는 데 필요한 단계들이 연산마다 줄어듦 O( n ) : 데이터 수와 연산횟수가 비례 우선순위 큐와 같이 최대값 또는 최소값을 빠르게 찾아야 하는 자료구조 및 알고리즘 구현 등에 활용됨 힙(Heap) 구조 힙은 최대값을 구하기 위한 구조 ( 최대 힙, Max Heap ) 와 .. 데이터 구조 - 해쉬 테이블 ( Hash Table ) Hash Table 이란, 키(key) 에 데이터 ( value ) 를 저장하는 데이터 구조이다. 현재 NoSQL에서 사용되는 데이터를 저장하는 구조가 Hash Table 과 같은 구조로 되어 있다. Key 를 통해 바로 데이터를 받아올 수 있으므로, 속도과 획기적으로 빠르다. 파이썬의 경우 딕셔너리 ( Dictionary ) 타입이 해쉬 테이블의 예가 된다. ( key를 가지고 바로 데이터 ( value )를 꺼낸다. 보통 배열로 미리 Hash Table 사이즈 만큼 생성 후 사용한다. ( 단, Python 에서는 해쉬를 별도로 구현할 이유가 없다 - 딕셔너리 타입을 사용하면 된다. ) 용어 해쉬(Hash) : 임의 값을 고정 길이로 변환하는 것 해쉬 테이블(Hash Table) : 키 값의 연산에 의.. 자료구조와 컬렉션 ( collection Framework ) 제네릭이란 무엇인가? ( Generics ) 동적 타이핑이 가능한 Javascript 나 python 을 사용하다보면 항상 하는 생각이 있다. 이 값이 문자인가? 아니면 이 값이 숫자 인가? 정말 헷갈릴 때는 결국 타입 체크를 통해서 해당 타입을 추론하며 코드를 작성했었다. 동적이기 때문에 타입 지정을 하지 않고 막 쓸 수 있어서 편한 점은 있지만, 사용이 편하기 때문에 타입 에러나 런타임 에러 등 다른 문제가 발생하게 된다. ( 세상 이치 인 것 같다 ) 아무튼 이번에 자바를 공부하면서 제네릭이 나오는데 JS 를 많이 하다 보니 타입 스크립트를 공부할 때 도움이 많이 될 것 같다. 보다 보니 언어가 굉장히 많은 부분 비슷하다고 느껴 지고 확실히 좋은 점은 서로 닮아가려는 점 때문에 비슷해지는 것 같다. ( 예를 들면 자바 최신 문법 중 var 동.. 문자열 다루기? 객체지향 언어에서는 클래스 타입을 사용할 수 있습니다. 문자열 역시 별도의 클래스 타입으로 만들어 사용할 수 있습니다. 자바의 경우 String 클래스가 문자열 타입이라고 할 수 있습니다. 자바에서는 문자열 처리가 매우 쉽지만 기본적인 구조와 특징들을 잘 이해하고 사용하지 않으면 생각하지 못한 문제가 발생하거나 성능상에 문제가 발생할 수 있습니다. String 클래스는 불변(immutable)클래스 생성된 String 인스턴스가 갖고 있는 문자열값은 읽어올 수만 있고, 변경할 수는 없다. ’+’ 연산자를 이용해서 문자열을 결합하는 경우 인스턴스내의 문자열이 바뀌는 것이 아니라 새로운 문자열이 담긴 String 인스턴스가 생성됨. 문자열간의 결합등의 작업은 문자열 + 보다는 StringBuffer클래스를 .. java 예외 처리 예외적인 상황을 대비 한 코드를 미리 만들어 두어서 문제 발생시 좀 더 안정적인 구조를 제공하여 문제 해결에 필요한 정보를 제공 받을 수 있다. 일반적으로 프로그램에서 발생하는 에러는 컴파일 과정 중 발생하는 컴파일 에러와 실행 중 발생하는 런타임 에러로 구분된다. 컴파일 에러는 소스 작성과정 중에 대부분 발견된다. 런타임 에러는 프로그램 로직 상에 문제나 실행 중 부적절한 데이터 혹은 자료구조 객체 참조 등으로 발생된다. try~catch 블럭 자바에서 기본적인 예외 처리 방법은 try ~ catch 블럭을 사용하는 것이다. 그렇다면 언제 사용해야할까? 예외상황은 이럴 때 생겨난다고 볼 수 있다. 1. 특정 파일을 로딩하려고 하는 해당 경로에 파일이 없는 경우 2. 네트워크 서버에 접속하는 경우 서버에.. 이전 1 2 3 4 5 다음