bbaktaeho-95의 등록된 링크

 bbaktaeho-95로 등록된 티스토리 포스트 수는 96건입니다.

[DB/DocumentDB] 도큐먼트 데이터베이스와 MongoDB [내부링크]

들어가며 방대한 양의 데이터가 생성되면서 기존의 데이터베이스들의 데이터를 쪼개서 저장하게 되었습니다. 여기서 기존 데이터베이스들은 관계형 데이터베이스를 의미하며 이들은 태생적으로 분산 처리에 어려움이 있었습니다. 이로 인해 새로운 NoSQL이라는 DBMS들이 개발되었고 많은 기업들에서 도입하기 시작되었다고 하네요. NoSQL 중에서 서비스의 주축 데이터베이스로 가장 많이 선택되는 게 DocumentDB입니다. 가장 사용량이 많은 MongoDB를 중심으로 공식 문서를 통해 DocumentDB를 알아보도록 하겠습니다. Document database (Document-oriented database) 도큐먼트 데이터베이스는 도큐먼트 지향 데이터베이스로 불리기도 합니다. 도큐먼트 데이터베이스는 스키마가 없는 ..

[DB/TSDB] 시계열 데이터베이스와 influxDB [내부링크]

들어가며 최근 데이터베이스의 여러 종류를 찾아보다가 시계열(time series) 데이터베이스를 처음 접하게 되었습니다. 가장 대표적인 데이터베이스로 influxDB가 있었는데요, 전체 데이터베이스에선 29위이지만 시계열 부분에선 1위입니다. 생소한 데이터베이스라 내가 앞으로 적용시킬 수 있는 부분이 있는지 조사해보도록 하겠습니다. 시계열 데이터베이스 (TSDB) 위키백과에서 시계열 데이터베이스는 하나 이상의 시간과 하나 이상의 값 쌍을 통해 시계열을 저장하고 서비스하는데 최적화된 데이터베이스라고 합니다. 여기서 시계열은 일정 시간 간격으로 배치된 데이터들의 수열을 뜻합니다. 시계열 데이터베이스는 시간이 지남에 따라 만들어진 데이터들로 구성되므로 시간 경과에 따른 변화를 추적하는데 용이하며 분석에 특화되..

[Go/Concurrency] goroutine에서 slice에 append하는 여러가지 방법 (동시성 프로그래밍에서 주의할 점) [내부링크]

들어가며 동시성 프로그래밍을 할 때 독립적인 로직이 아니라면 예기치 못한 오작동을 맛볼 수 있습니다. 심하면 에러를 추적하기도 어려운데요. 특히 여러 고루틴을 수행 후 결과를 slice로 가져올 때 바로 문제..

[BlockChain/Ethereum] Contract의 Revert reason 분석하기 (Solidity, Ethers.js, Hardhat) [내부링크]

들어가며 Ethereum 네트워크에 배포된 컨트랙트로 트랜잭션을 전송할 때 트랜잭션이 실패하는 경우가 있습니다. 일반적인 Gas, Nonce의 문제가 아닌 컨트랙트에서 작성된 코드(require, error, revert 등)에서 에..

[Blockchain] #1 블록체인이란? (What is Blockchain?) [내부링크]

들어가며 이 글은 블록체인에 대해 아무것도 몰랐던 내가 블록체인 개발자로 취업하게 되어 뛰어난 일원들과 함께 하기 위해 1주일간 공부했던 내용을 바탕으로 작성되었습니다. 따라서 오타가 많거나 설명이 부족..

[Programming] SOLID 원칙 (객체지향 5대 원칙, SRP, OCP, LSP, ISP, DIP) [내부링크]

들어가며 좋은 소프트웨어는 깔끔한 코드로부터 시작한다. - 로버트 C. 마틴 건물을 지을 때 좋은 벽돌을 사용하지 않으면 건물의 구조가 좋고 나쁨은 큰 의미가 없다고 합니다. 반대로 좋은 벽돌을 사용하더라도..

[Programming] Python vs JavaScript (파이썬과 자바스크립트 기본 API 비교, 문법 비교) [내부링크]

언젠가 업데이트 예정. 들어가며 두 언어로 알고리즘 문제 풀이를 하면서 둘의 기본 제공 API를 다뤄보고 정리해보려고 합니다. 아주 주관적(?)으로 두 언어가 제공하는 API에 대해 비교해보겠습니다. 보시고 아!..

[JavaScript] Object.assign 그리고 Spread (Object, 객체, 속성 복사, spread) [내부링크]

들어가며 최근, NestJS 프레임워크로 개발하다가 공식 문서에서 assign 메서드의 예제 코드를 봤다. Serialization 문서를 보니 생성자에 Object.assign() 메서드를 사용하고 있다. 여태 이런 꿀팁을 모르고 있어..

[Go/Ethereum] Ethereum JSON RPC Batch Call 직접 만들기 (Golang, Ethereum, RPC, net/http) [내부링크]

들어가며 Ethereum 클라이언트 앱을 개발하다 보면 INFURA를 많이 이용하게 됩니다. INFURA는 하루 10만 건의 요청을 무료로 제공해주며 유료로 사용할 땐 더 많은 요청 횟수를 제공받습니다. 개발할 때 요청 횟수..

[Go/DB] Go언어에서 MYSQL connection 다루기 (MYSQL, GORM, Connection pool) [내부링크]

들어가기 전에 Web 서비스에서 Database는 데이터 저장소뿐만 아니라 서비스 성능에도 중요한 부분입니다. DML 쿼리 작성, Table 용량 및 Index등의 여러 요소가 있지만 이번 글에서 다룰 내용은 Connection입니다..

[Blockchain] 블록체인의 종류 (번역, public, private, permissioned blockchain) [내부링크]

이 글은 https://www.investopedia.com/news/public-private-permissioned-blockchains-compared/ 번역 및 정리한 글임을 밝힙니다. 들어가며 블록체인에는 여러 종류의 블록체인이 있습니다. 각자의 비즈니스 모..

[Git/Github] Repository의 Deploy key 사용하기 (ssh-keygen, 공개키, 비밀키) [내부링크]

왜 사용하는가? 로컬이 아닌 공용 서버, 새로 구축한 서버에서 private repository를 가져올 때마다 인증을 해야 하는 번거로움이 있습니다. 이럴 때 repository에 public key(공개키)를 등록하고 클론할 서버에 p..

[Golang/Go] 실행 시간 측정하기 (time, Since, Sub) [내부링크]

Golang 실행 시간 측정 go 언어의 time package를 사용하여 간단하게 실행 시간을 측정할 수 있습니다. import "time" time 모듈은 builtin package이므로 따로 설치할 필요가 없습니다. go 언어의 코드 실행 시간..

[Node.js] Node.js에 관한 고찰 (지극히 개인적인 궁금증 해결하기) [내부링크]

가끔 코딩이 지루해질 때 온갖 잡생각을 하면서 멍 때리곤 합니다. 역시 이번에도 어김없이 찾아온 지루함 때문에 딴생각을 하다가 궁금한 점이 생겼습니다. Node.js의 네트워크 I/O를 느껴보고 싶다.. 공식 문서..

맥북 프로 청소하기 (MacBook Pro 15, 노트북 청소, 서멀구리스 재도포, 먼지 청소) [내부링크]

맥북이 14년형인데 한 번도 청소를 하지 않아서 이번 기회에 청소를 해보려고 합니다. 찾아보니 자주 사용하는 컴퓨터의 서멀구리스도 1~2년에 한 번씩 재도포를 해주는 것이 좋다고 하네요. 준비 위 사진처럼 준..

버려지는 부품으로 데스크톱 조립하기 (컴퓨터 조립, 조립 PC, 사무용 PC, 중고 PC) [내부링크]

2020년 8월 12일에 작성된 글입니다. 아버지가 문서 작업용 컴퓨터가 필요하다고 하셔서 예전부터 버리지 않고 모아둔 컴퓨터 부품들을 사용해서 조립해보기로 했습니다. 부품 설명 CPU 인텔 펜티엄 2세대입니다...

레노버 노트북 모니터 교체 후기 (Lenovo 씽크패드 T14, ThinkPad T14, HD, FHD, 패널 교체, 커스텀 노트북) [내부링크]

2020년 8월 8일에 작성된 글입니다. 친구한테 다급한 연락을 받았습니다. 아쉽게도 서비스센터에서 해주지 못한다고 연락 와서 직접 교체하기로 했습니다. 어쩔 수 없는 친구의 실수다. 실제 커스텀으로 구매할..

침수 노트북 모니터 수리, 교체 후기 (HP EliteBook 850 G5, 노트북 침수, 디스플레이 패널, 업그레이드, 모니터 교체) [내부링크]

2019년 11월 12일에 작성된 글입니다. 19년 11월 10일 일요일 늦은 저녁에 사고가 발생했습니다. 가방 안에 있던 물병에서 물이 새는 바람에 일어난 사고입니다. 하필 가방은 방수 재질로 되어있어서 가방 안에 물..

오리코 외장케이스 사용 후기 (ORICO 2139C3, 외장하드, 외장SDD) [내부링크]

2019년 5월 14일에 작성된 글입니다. 노트북을 사용하시는 분들에게 저장 장치 용량이 부족하거나 집에 HDD, SSD가 남는 분들에게 추천드립니다. 굳이 따로 저장 장치 구매하고 케이스를 사는 건 비추입니다. 일체..

노트북 메모리 추가하기 (노트북 램 추가, 분해, 업그레이드, RAM, HP EliteBook 850 G5) [내부링크]

2019년 3월 5일에 작성된 글입니다. 컴퓨터가 필수인 시대에 살고 있는 여러분들은 간단한 업그레이드 정도는 할 수 있어야 한다고 봅니다. 모른다면 아는 자에게 대가를 지불하고 맡길 수밖에 없습니다. 그분들은..

베오플레이 E8 사용 후기 (BANG & OLUFSEN Beoplay E8) [내부링크]

2019년 2월 16일에 작성된 글입니다. 드디어 선이 없어 편안한 무선 블루투스 이어폰으로 갈아탔습니다. 타임스퀘어에서 할인하길래 30분 고민하다가 구매했네요. 인터넷에서 찾아봐도 병행 수입 말고 공식 수입..

HP 도킹스테이션 사용 후기 (HP USB-C dock G4, 독 스테이션 추천, 도킹 스테이션 추천) [내부링크]

2019년 2월 2일에 작성된 글입니다. hp 엘리트북을 구매하면서 한 세트로 오게 된 도킹스테이션입니다. (노트북이 비싸진 원인임) 제품 제품의 구성품은 본체와 어댑터, USB-C to USB-C 썬더볼트 케이블입니다...

HP 엘리트북 사용 후기 (HP EliteBook 850 G5, 노트북 추천) [내부링크]

2019년 1월 26일에 작성된 글입니다. 2018년 4월부터 2019년 1월까지 사용한 후기입니다. 사양 운영체제 windows 10 pro 64 프로세서 i5-8250U 메모리 DDR4 8GB 저장소 NVMe SSD 256GB 그래픽 카드 AMD Radeon RX..

[Data Structure] 더블 링크드 리스트 (이중 연결 리스트, Doubly Linked List, Javascript, python) [내부링크]

더블 링크드 리스트 (Doubly Linked List) 이중 연결 리스트, 양방향 링크드 리스트라고 불립니다. 더블 링크드 리스트는 기존 단반향 리스트의 단점을 보완한 자료구조입니다. 노드 (Node) 더블 링크드 리스트는..

[Data Structure] 링크드 리스트 (연결 리스트, Linked List, Javascript, Python) [내부링크]

링크드 리스트 (Linked List) 우리말로 연결 리스트라고 부르기도 합니다. 링크드 리스트는 기본적인 배열처럼 데이터가 연결되어 나열하는 구조입니다. 하지만 우리가 아는 배열은 하나의 타입으로만 나열할 수..

[Reading] Clean Architecture [내부링크]

www.notion.so/bbaktaeho/clean-architecture-9b123b394f00469fbe993e01c1f969d2 clean architecture A new tool for teams & individuals that blends everyday work apps into one. www.notion.so

[Javascript] 기본 제공 API (자바스크립트 팁) [내부링크]

Javascript 팁 제곱근 구하기 Math.pow(3, 3) // 3의 3승 Math.pow(2, 10) // 2의 10승 2**3 // 2의 3승....! 10진법으로 변환 parseInt('1200', 3) // 1200이 3진법 이라면 10진법으로 나오는 수 parseInt('1011'..

[Javascript] Generator 활용과 장점 (iterable, iterator, lazy evaluation) [내부링크]

들어가며 generator, iterator, iterable의 상세한 설명은 없습니다. 궁금하신 분들은 아래의 포스팅을 먼저 읽고 보는 것을 추천드립니다. bbaktaeho-95.tistory.com/79 [Javascript] Generator, Iterator, Itera..

[Javascript] Generator, Iterator, Iterable (제너레이터, 이터레이터, function*) [내부링크]

들어가며 ※ FxJS 라이브러리를 개발하신 유인동 강사님의 함수형 프로그래밍 강의를 듣고 정리한 글임을 밝힙니다. 함수형 프로그래밍 자바스크립트 페이스북 커뮤니티입니다. ko-kr.facebook.com/groups/5399836..

[Android] Dialog 띄우기 (Kotlin, Alert, DatePicker, TimePicker 팝업창) [내부링크]

들어가며 안드로이드 기본 Dialog들 중 AlertDialog와 DatePickerDialog 그리고 TimePickerDialog를 사용해보겠습니다. AlertDialog는 보통 경고창으로 사용됩니다. 확인과 취소를 통해서 작업을 수행하기 전에 한..

[Android] ListView 에서 ViewHolder 패턴 적용하기 (Kotlin, 리스트뷰, Adapter, ViewHolder) [내부링크]

들어가며 이전 포스팅에서 연장되는 글입니다. 아래 포스팅을 참고하시고 따라와 주세요. Java로 ListView 맛보기 bbaktaeho-95.tistory.com/66?category=782684 [Android] ListView 사용하기 (안드로이드, 리스트..

[Android] Custom ListView 사용하기 (Kotlin, 리스트뷰, adapter) [내부링크]

들어가며 이전에 ListView를 android 기본 아이템 레이아웃을 활용하여 나타냈습니다. 이번 포스팅은 Java가 아닌 Kotlin으로 직접 아이템 뷰를 만들고 BaseAdapter를 상속받아서 커스텀 어댑터까지 구현하겠습니..

[FIDO] FIDO의 이점 (보안, 생체 인식) [내부링크]

들어가며 우리는 보통 비밀번호를 생성할 때 새로운 비밀번호를 만들지 않고 기존에 사용하던 비밀번호를 재사용해서 온라인 계정을 만들어냅니다. 그 이유는 기억하기도 쉽고 새로 만들어내야 하는 번거로움이 없..

[Samsung Junior SW Cup] 지원부터 부트 위크 까지 (삼성, 주니어, 멘토링) [내부링크]

지원과 면접 IT 연합동아리 CADI에서 삼성 주니어 SW 창작대회 대학생 멘토링 모집을 알게 되었습니다. 내가 배운 지식을 재능 기부하는 것을 좋아하기도 했지만 초, 중, 고 학생들의 관심사와 현재 IT 관련 지식..

[Android] RecyclerView (리사이클러뷰, 뷰홀더, ViewHolder) [내부링크]

RecyclerView 목록을 화면에 출력해주고 동적으로 표현해주는 컨테이너입니다. 리사이클러뷰는 간단한 코드만으로 ListView, GridView로 바꿀 수 있습니다. 가장 복잡한 컨테이너지만 가장 많이 사용되는 것이 바..

[Java] Builder pattern (빌더 패턴, 점층적 생성자 패턴, 자바빈 패턴) [내부링크]

인스턴스화 (Instantiate) 클래스를 인스턴스화(객체 생성)할 때 생성자를 통해서 하게 됩니다. 하지만 생성자로 생성하는데 어려움이 있을 수 있습니다. 자동차 클래스를 예시로 보여드리겠습니다. class Car { p..

[Java] logging 모듈 (log4j, slf4j) [내부링크]

추후 사용하게 된다면 수정할 예정 Logging?  log란? 과거 항해일지를 통나무에 기록했다하여 log(book)이라고 하여 주로 관리가 필요한 여러 직업서 다양하게 사용 중이다. -나무위키- 개발할 때 log를 남기는..

[Java] JUnit 프레임워크 맛보기 (유닛 테스트, TDD) [내부링크]

JUnit? JUnit(제이유닛)은 자바 프로그래밍 언어용 유닛 테스트 프레임워크이다. JUnit은 테스트 주도 개발 면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 이름의 유닛 테스트 프레임워크 계열의 하나이다. -..

[Java] Lombok 라이브러리 맛보기 [내부링크]

Lombok? Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again, with one annotation your..

[Java] 배열과 배열리스트 (Array, ArrayList) [내부링크]

배열 같은 자료형의 딱딱한 모임 가장 기본적인 이터러블한 요소이고 한정된 공간을 가지고 있습니다. 선언 boolean[] bs; byte[] bys; int[] is; float[] fs; double[] ds; char[] cs; String[] ss; 할당 this.bs..

[Android] Selection Widget Adapter에서 사용하는 대표적인 Item layout 알아보기 (simple_list_item_<1/2/checked/single_choice, multiple_choice>) [내부링크]

들어가며 bbaktaeho-95.tistory.com/66 [Android] ListView 사용하기 (안드로이드, 리스트뷰, Adapter) 들어가며 ListView를 사용해서 과일 리스트를 나타내 보겠습니다. 각각의 아이템인 과일을 클릭했을 때 이벤..

[Android] ListView 사용하기 (안드로이드, 리스트뷰, Adapter) [내부링크]

들어가며 ListView를 사용해서 과일 리스트를 나타내 보겠습니다. 각각의 아이템인 과일을 클릭했을 때 이벤트 리스너를 통해서 어떤 아이템이 선택되었는지 TextView에 나타내 보겠습니다. ListView ListView는..

[Android] AlertDialog 사용하기 (안드로이드, 경고창, 팝업창) [내부링크]

들어가며 종료 버튼을 누르면 바로 종료하지 않고 사용자에게 한 번 더 알림 창을 제공하는 앱을 만들어보겠습니다. AlertDialog AlertDialog 클래스는 사용자에게 알림 대화상자를 제공합니다. 경고 또는 알림를..

[Android] 계산기 앱 만들기 (안드로이드, 계산기 애플리케이션, 후위 표기법, Calculator, infix, postfix) [내부링크]

2020-09-14 수정 : (우리가 일상에서 이용하는 수식은 중위 표기법입니다) 들어가며 자바 언어를 검색을 통해서 익히다 보니 어떤 util이 더 좋은지 아직 감이 안 잡혔고 메서드를 만들어 사용하는 것도 많이 부족..

[Programming] 객체 지향 프로그래밍 (Object-Oriented Programming, 캡슐화, 상속, 다형성) [내부링크]

[2021-04-23] 내용 추가 프로그래밍 패러다임 패러다임은 프로그래머에게서 권한을 박탈한다. 어느 패러다임도 새로운 권한을 부여하지 않고, 일종의 추가적인 규칙을 부과한다. 즉, 패러다임은 무엇을 해야 할지..

[Android] 액티비티 생명 주기 (Activity Lifecycle) [내부링크]

생명 주기란? 안드로이드는 앱이 실행된 후 다른 액티비티 화면으로 전환되거나, 스마트폰 화면이 꺼지거나 혹은 앱이 종료될 때와 같이 상태 변화가 있을 때마다 화면에 보이는 액티비티의 생명 주기 메서드를..

[Java] 접근 제어자 비교 (access modifier, public, protected, default, private) [내부링크]

접근 제어자란? 어떠한 클래스나 변수, 메서드 등에서 사용하며, 사용된 것들에게 접근 권한을 설정해주는 역할을 합니다. 접근 제한자의 목적은 보통 특정 데이터로의 직접적인 접근을 막거나, 허용하면서 특정..

[Android] Intent 다뤄보기 (startActivity, getIntent, putExtra, getExtra) [내부링크]

Intent Intent를 해석하면 '의도'라고 표현할 수 있습니다. 어떠한 의도를 가지고 실행할 것인지를 인텐트에 담아서 안드로이드에 전달하면 해당 인텐트를 해석하고 실행합니다. 예시로 실행할 대상의 액티비티 이..

[Android] 기본적인 View 요소들과 역할 [내부링크]

View 화면을 구성하는 최소 단위 컴포넌트 View는 컨트롤이나 위젯으로 불리는 UI 구성 요소입니다. 사용자와 상호작용 하는 요소가 바로 View입니다. 예시로 TextView는 사용자에게 text를 보여줍니다. View가..

[Git/Github] Git 기본 명령어 (Git bash) [내부링크]

Git으로 할 수 있는 것 버전 관리 백업 협업 강력하다... Git 환경 설정하기 먼저 Git Bash 설치부터 해주세요. https://gitforwindows.org/index.html Git for Windows Git for Windows focuses on offering a li..

[Android] 자기소개 앱 만들기 (안드로이드 기초, Splash) [내부링크]

새로운 프로젝트 생성하는 방법은 아래 포스팅에서 확인해주세요. [개발(develop)/안드로이드(android)] - [Android] Click 이벤트로 Toast 생성하기 (setOnclickListener, makeToast) 들어가며 동작하는 기능 없..

[Android] 권한의 유형과 권한 명세하기 (permission, AndroidManifest) [내부링크]

안드로이드 권한 (Permission) 안드로이드 앱이 동작하면서 시스템의 특정 부분을 사용하려면 안드로이드로부터 권한을 위임받아야 합니다. 사용하려는 권한이 개인정보를 요청한다면 위험 권한으로 분류되고 그..

[Android] Java를 Kotlin 변환하기 (Convert Java Filie to Kotlin ) [내부링크]

코틀린으로 변환 안드로이드 스튜디오에서 자바 파일을 코틀린 파일로 자동으로 변환할 수 있는 기능이 있습니다. 상단 탭에 Code -> Convert Java File to Kotlin File을 클릭해줍니다. 검색창을 이용해서 찾아..

[Programming] Method Overloading & Overriding (객체지향, 메서드 중복, 메서드 재정의) [내부링크]

Method 메서드란 객체의 행동을 기술하는 함수입니다. 객체의 상태를 조회하거나 수정하는 작업, 또는 특정 로직을 포함하는 함수입니다. Signature 모든 메소드는 Signature를 가지고 있습니다. 모든 메소드는 Si..

[Android] Click 이벤트로 Toast 생성하기 (setOnclickListener, makeToast) [내부링크]

개발하기 전에 안드로이드 애플리케이션을 개발하려면 IntelliJ IDEA, Android Studio와 같은 통합 개발환경이 필요합니다. 저는 Android 4.0.1 버전으로 진행하겠습니다. 기획한 내용은 버튼과 이미지뷰를 클릭했..

[Network] HTTP란 무엇인가 (Hyper Text Transfer Protocol, method, URL, StatusCode) [내부링크]

HTTP 웹 서버와 클라이언트가 상호 데이터 통신을 하기 위해 사용하는 하이퍼텍스트 전송 규약 Hyper Text Transfer Protocol 의 약자 현재 표준은 HTTP/1.1 특징 HTTP 프로토콜은 TCP/IP 통신 위에서 동작함 비연..

[Android] 안드로이드 버전의 변천사 (디저트, Android 10, Android 11) [내부링크]

※2020-09-05 Android11 추가 수정 10년 차 안드로이드 사용자 제 기억으론 프로요(Froyo) 부터 사용했던 것 같습니다. 첫 스마트폰이 LG의 옵티머스 빅이었는데 이때 빅뱅 이 광고했었고 그 시절 가장 큰 디스플..

[Android] 코틀린과 자바의 차이점 (kotlin, java, 안드로이드) [내부링크]

시작하기에 앞서 필자의 java 언어 수준은 학교 전공 수업인 java언어와 jsp 프로그래밍에서 배운 것으로 멈춰있고 kotlin 언어의 수준은 자바와 마찬가지로 프로젝트 경험 없이 기초만 배운 상황입니다. 따라서..

[Android] Windows10/MacOS 에서 Android Studio 설치 및 초기 설정 (안드로이드, IDE, java, JDK, zulu) [내부링크]

안드로이드 개발하기 안드로이드 플랫폼의 구조는 리눅스 커널과 JAVA API Framework 가 결합된 형태입니다. 따라서 안드로이드는 자바를 기반으로 하기 때문에 JAVA-Development-Kit(JDK)을 설치해야 합니다. JDK..

[Javascript] null 병합 연산자 '??' 와 OR 연산자 '||' 의 차이 (자바스크립트, nullish coalescing, falsy값) [내부링크]

유효성 확인 사용할 변수가 유효한지 확인해야 함 null 또는 undefined 를 참조하게 되면 에러를 발생시킬 것임 코틀린 언어같은 경우 엘비스 연산자(?:) 처럼 확인 후에 다음 동작을 수행하는 연산자가 존재함..

[INU AppCenter] 서버 파트 스터디(멘토링) 안내 [내부링크]

작성자 소개 안녕하세요. 인천대학교 앱센터 12기 서버 파트장 임태호입니다. 저는 앱센터 11기 2학기에 들어오게 되었고 현재까지 하나의 프로젝트만 진행했습니다.(진행 중) 이후 교내 졸업 작품으로 백엔드 개..

[CADI] 카디 7기 프런티어 합격 후기 (컨버전스형 IT 연합동아리) [내부링크]

카디를 알기 전에 작년 2학기 때 주변 사람들이 대외 활동을 하는 모습을 보고 자극받아서 나도 도전해보기로 마음먹었다. 하지만 개발은 한 번도 안 해본 무경험자에 낯가림이 심한 성격 ..

[React/Redux] 자바스크립트 앱 상태관리 (hook, action, reducer, subscribe, store, dispatch) [내부링크]

Redux 자바스크립트 애플리케이션에서 사용하는 상태 관리 라이브러리 전역으로 상태 관리를 하게 될 때 효과적 관심사 분리 원칙(SoC)을 따름 reduxjs/redux install npm install redux yarn add redux cr..

[Javascript/Node.js] 싱글 스레드 프로그래밍 (uncaughtExcetion) [내부링크]

스레드 CPU는 한 번에 하나의 명령만 수행 가능함 CPU 클럭 수에 따라 처리속도가 결정 CPU의 속도는 정해져 있고 한 번에 하나의 명령을 처리하는 단점을 극복하기 위해서 스레드를 도입함 스레드를 도입하여..

[Javascript/Node.js] 비동기 프로그래밍 (자바스크립트, 비동기, 노드, nextTick) [내부링크]

운영체제에서 비동기 일반적으로 파일 I/O나 네트워크 I/O는 메모리 I/O 보다 현저히 느림 파일 입출력에서 입출력을 하나씩 처리하면 처리 시간은 길어지고 CPU의 사용 효율성을 떨어짐 비동기 프로그래밍은..

[Javascript/Array] find, findIndex, indexOf (배열 검색) [내부링크]

find, findIndex, indexOf 자바스크립트 Array.prototype 배열에서 원하는 값 또는 식별자를 찾아내는 메서드 배열을 순차 반복 find 는 인자로 받은 판별 함수를 만족하는 첫 번째 요소를 반환 findIndex 는..

[Javascript/Array] slice, splice (배열 자르기, 배열 복사, 얕은 복사) [내부링크]

slice, splice 자바스크립트 Array.prototype slice 는 배열을 얕은 복사 해서 새로운 배열로 반환 splice 는 배열의 기존 요소를 추가, 변경, 삭제해 원본 배열을 변경 slice 기존 배열에서 새로운 배열로..

[Javascript] undefined, empty, null ( 비어있는 변수, 리턴없는 함수, 배열의 빈 공간) [내부링크]

자바스크립트 빈 공간 undefined, null, empty .. undefined 비어있다는 의미 자바스크립트에서 기본형 데이터 타입에 속함 사용자가 명시적으로 지정하지 않으면 비어있는 요소에 접근했을 시에 자바스크..

[Javascript] 얕은 복사, 깊은 복사 (배열 복사, 객체 복사, shallow copy, deep copy, slice, JSON.parse, JSON.stringify) [내부링크]

복사 먼저 복사란, 원본과 모두 같은 내용으로 사본을 만드는 작업 원본은 따로 존재하고 사본도 따로 존재하게, 즉 원본과 사본은 내용은 같지만 서로 다르게 존재하고 있다는 뜻임 얕은 복사 사본을 만들..

[Javascript] 데이터 타입과 할당 (typeof, var, memory, 기본형, 참조형, 불변성, 가변성) [내부링크]

데이터 타입과 할당 사실상 자바스크립트의 데이터 타입은 모두 참조형이라고 해도 틀린 말은 아니다 자바스크립트는 null 을 Object 타입으로 반환한다 기본형 기본형 데이터는 불변성의 성질을 가짐 unde..

[Javascript/Array] reduce, reduceRight (자바스크립트, 배열 반복, 배열의 합, 누산기, accumulator) [내부링크]

reduce, reduceRight 자바스크립트 Array.prototype 자바스크립트 배열을 반복해서 콜백 함수를 실행 후 하나의 결과 값을 반환 reduce 는 왼쪽 원소부터 콜백 함수를 실행 reduceRight 는 오른쪽 원소부터 콜..

[Javascript/Function] function, inner function, arrow function(자바스크립트, 함수, 내부 함수, 함수 선언식, =>) [내부링크]

function, inner function, arrow function function 키워드는 함수를 생성하는 키워드 자바스크립트에서 함수는 일급 객체(일급 함수) 고차 함수 가능 -> 함수를 인자로 받고 함수를 리턴할 수 있음 funct..

[Javascript/Object/Array] map, filter (자바스크립트, 배열 반복, 객체 반복, 배열 찾기, 객체 찾기, prototype) [내부링크]

map, filter 자바스크립트의 배열 프로토타입 배열의 반복을 통해 콜백 함수를 실행하고 새로운 배열을 리턴 map 배열의 모든 요소를 반복하며 콜백 함수를 실행 후 새로운 배열 리턴 숫자 배열의 숫자들을..

[Javascript] forEach, some, for in, for of (자바스크립트, 반복, 배열 반복, 프로토타입, prototype, 객체 반복) [내부링크]

forEach, some, for in, for of 자바스크립트의 반복을 해주는 함수 또는 문법 배열을 반복하며 원하는 로직을 수행 forEach 배열의 모든 요소를 반복하며 콜백 함수를 실행 기본 for 문에서의 break와 con..

[javascipt] var, let, const (자바스크립트, 변수, 스코프, scope) [내부링크]

var, let, const 자바스크립트 문법에서 변수를 선언할 때 사용하는 키워드 es6에서 추가된 let, const 스코프(scope)란 유효 범위의 영역을 뜻함 즉, 중괄호 속의 영역 var 함수의 스코프에서만 유효 var..

코틀린(Kotlin) 18. 멤버 함수와 오버로딩 [내부링크]

멤버 함수) 클래스에서 생성된 속성과 함수를 멤버라고 한다. 여기서 멤버 함수는 인스턴스가 할 수 있는 기능을 나타낸다. 함수를 정의하는 방법 그대로 클래스 내부에 정의해주면 된다. (함수 정의하는 법) h..

코틀린(Kotlin) 17. 게터와 세터(get, set) [내부링크]

코틀린에서 속성이란) 최상위 변수(함수나 클래스 외부에 정의된 변수)나 클래스의 멤버 변수로 선언하면 속성으로 간주된다. 클래스의 멤버 변수는 모두 private 제한자로 지정된다. 따라서 해당 클래스의 내부의..

코틀린(Kotlin) 16. 클래스와 객체(생성자) [내부링크]

클래스) class 키워드를 사용하여 선언하며 멤버 속성과 멤버 함수를 가질 수 있다. class 클래스이름 {멤버들 구현} 멤버를 가지고 있지 않으면 중괄호를 생략 가능하다. class 클래스이름 기본 생성자) 코..

코틀린(Kotlin) 15. 함수(fun, named argument, vararg) [내부링크]

함수) 코틀린에서 함수를 선언하는 법은 fun 키워드를 사용해서 선언하면 됩니다. fun 함수명(인수1 : 타입, 인수2 : 타입, 인수3 : 타입, ......) : 리턴 타입 코틀린에서 함수는 코틀린 파일에 바로 정의..

코틀린(Kotlin) 14. 스마트 캐스트(smart cast) [내부링크]

스마트 캐스트) 스마트 캐스트는 코틀린 컴파일러가 똑똑하게 자동으로 변환해주는 기능이다. 명시적 타입 변환할 때 사용하는 as와 as?를 사용한다. (as, as? 연산자) https://bbaktaeho-95.tistory.com/21 스마..

코틀린(Kotlin) 13. NULL 처리, NULL 연산자 [내부링크]

자바에서 런타임 시 발생할 수 있는 NullPointerExeption을 코틀린에서 런타임이 아닌 컴파일 시점에서 미리 방지할 수 있게 했다. 여기서 NullPoiinterExeption은 객체를 참조하는 변숫값이 null이라서 해당 객체..

코틀린(Kotlin) 12. break와 continue [내부링크]

break와 continue 문은 루프의 실행을 제어할 때 사용하며 특히 여려 개의 루프가 중복되어 있을 때 유용하게 사용할 수 있다. break, continue) break나 continue 문을 라벨과 함께 사용하면 중복된 로프 중에..

코틀린(Kotlin) 11. 반복문(for, while, do-while) [내부링크]

for) 코틀린에서 for 루프는 in 연산자를 사용하여 처리한다. 먼저 코틀린 배열을 모르시는 분은 https://bbaktaeho-95.tistory.com/6 참고하시면 된다. 간단한 예제를 보자. 1 2 3 4 fun main(args: Array )..

코틀린(Kotlin) 10. if와 when [내부링크]

코틀린에서는 조건문으로 if와 when을 사용한다. 코틀린에서 if와 when은 명령문이 아닌 표현식으로 간주한다. 다양한 상황에 맞게 간결한 코드를 작성할 수 있도록 해준다. 이렇게 이해해보자. if) 만약 (이게..

코틀린(Kotlin) 9. 연산자와 연산자 오버로딩(3) [내부링크]

인덱스 연산자) 배열은 인덱스를 사용해서 저장된 요소를 불러오거나 변경할 수 있다. 인덱스 연산자인 [] 는 get()과 set() 함수로 오버로딩되므로 우리가 정의하는 컬렉션 클래스에서도 get()과 set()을 정의하..

코틀린(Kotlin) 9. 연산자와 연산자 오버로딩(2) [내부링크]

비교 연산자) 표기 코드 설명 a > b a.compareTo(b) > 0 a가 b보다 큰가? a < b a.compareTo(b) < 0 a가 b보다 작은가? a >= b a.compareTo(b) >= 0 a가 b보다 큰 거나 같은가? a <= b a.compareTo(b) <= 0 a가 b..

코틀린(Kotlin) 9. 연산자와 연산자 오버로딩(1) [내부링크]

코틀린 연산자를 사용하는 법은 다른 프로그래밍 언어와 유사하지만 내부적으로 연산자를 오버로딩한 함수를 사용한다. 코틀린에서 A+B는 덧셈 연산자를 오버로딩한 A.plus(B) 가 수행된다. 그래서 피연산자가 어..

2019년 정보처리기사(산업기사) [내부링크]

시 행 처 한국산업인력공단 관련학과 모든 학과 응시가능 시험과목 <필기> 1. 데이터베이스 2. 전자계산기구조 3. 운영체제 4. 소프트웨어공학 5. 데이터통신 <실기> 정보처리 실무 검정방법 필기 : 객관..

코틀린(Kotlin) 8. 입력과 출력 [내부링크]

입력) 코틀린에서 입력은 자바에서 사용한 Scanner 클래스를 이용할 수 있다. 또한 readLine() 함수를 사용하여 입력받을 수 있다. 자바에서 Scanner 사용법은 먼저 Scanner 클래스를 Imprt 시켜주고 객체를 생성..

코틀린(Kotlin) 7. 추론 [내부링크]

추론) 기본 타입 변수를 선언할 때 타입을 지정하지 않으면 초기화되는 값을 기준으로 코틀린 컴파일러가 적합한 타입을 추론해준다. 정수의 경우는 Int 타입, 실수의 경우는 Double 타입으로 추론한다. 1 2 3 4 5..

Kotlin(코틀린) 6. 다차원 배열 [내부링크]

다차원 배열) 2차원 이상의 배열을 다차원 배열이라고 한다. 어떤 배열 요소에 값이 아닌 또 다른 배열을 저장하면 2차원 배열이 된다. 2차원 배열은 행과 열로 구성되는 표라고 생각해도 좋다. 1 2 3 4 5 6 7 8 9..

Kotlin(코틀린) 5. 배열 [내부링크]

배열) 코틀린에는 배열이 Array 클래스로 정의되어 있다. 그리고 Array 처럼 배열에 저장되는 요소의 타입을 제네릭 타입으로 나타낸다. 대괄호는 배열을 선언할 때 사용하지 않고 배열의 각 요소를 읽거나 쓸 때..

Kotlin(코틀린) 4. 변수와 타입 [내부링크]

코틀린 변수) 코틀린의 변수는 지역변수이며 전역변수의 개념이 없다. 변수에는 두 가지 형태가 있는데 초깃값을 변경할 수 없는 불변 변수(val)와 변경 가능한 가변 변수(var) 이다. 불변 변수는 상수이며 value..

Kotlin(코틀린) 3. 기본 구성 요소와 문법 [내부링크]

이제 예제 코드를 보며 설명하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 fun main(args: Array ) {     println(msg1(1))     println(msg1(2))     println(msg2(1))     println(msg2(2)) } fun..

Kotlin(코틀린) 2. IntelliJ IDEA 애플리케이션 작성과 실행하기 [내부링크]

저는 IntelliJ IDEA를 사용하겠습니다. 프로젝트 생성) 1. IntelliJ IDEA를 실행한 후 시작 화면에서 Create New Project를 선택 2. Kotlin->Kotlin/JVM 선택 3. 프로젝트 명과 프로젝트를 저장할 위치를 선택..

Kotlin(코틀린) 1.코틀린 개요, 개발 환경 구축 [내부링크]

코틀린 언어 개요) · JetBrains에서 개발한 프로그래밍 언어 · 코틀린 애플리케이션은 JVM에서 실행(독자적으로 실행되는 네이티브 애플리케이션을 개발할 수 있도록 진화 중) · 안드로이드 애플리케이션의 공..