목록분류 전체보기 (291)
빙응의 공부 블로그
📝 1차 심사 합격먼저 이번 프리코스는 많은 시간을 투자하며 고민해본 시간이 된 것 같습니다.오픈 미션 도전을 통해 많은 문제들을 직면 했기 때문입니다. quddaz/Stockify: 가상 주식 투자 시뮬레이터 Stockify GitHub - quddaz/Stockify: 가상 주식 투자 시뮬레이터 Stockify가상 주식 투자 시뮬레이터 Stockify. Contribute to quddaz/Stockify development by creating an account on GitHub.github.com(프리티어 끝나서 배포는 하지 않았습니다... 돈이 업성요) 그래서 프리코스에서 많은 것을 얻어가 만족하고 있었고 합격 예감 또한 들었지만 불안감은 많았어요.통과 이메일을 딱 3시에 받았는데 그 때 ..
이번에 우아한 테크코스 1~3주차를 하고 오픈미션을 받게 되면서 작성하는 회고록입니다. 우테코를 신청한 계기?저는 지난 8월에 대학교를 졸업했습니다. 학교를 다니는 동안 백엔드 개발자가 되고 싶다는 꿈을 꾸며, 여러 대회에 나가고 팀 프로젝트도 하면서 나름 열심히 달려왔어요.그런데 이상하게도, 항상 마음 한켠엔 ‘내가 잘하고 있는 걸까?’, ‘지금 이 정도면 충분할까?’ 하는 불안함이 있었습니다.코드를 짜고 프로젝트를 만들긴 했지만, 막상 제 실력이 어느 정도인지, 어떤 부분이 부족한지 스스로 판단하기가 참 어려웠어요.그러다 졸업하고 한 달쯤 지났을 때, 우아한테크코스 모집 공고를 보게 됐습니다.“아, 이거다.” 싶었어요.단순히 코드를 잘 짜는 것보다 같이 성장하는 법을 배우고, 제 한계를 정확히 마주..
5. 람다5-1 람다Kotlin의 람다식은 자바보다 더 간결합니다. 파라미터가 하나일 경우 it 키워드로 암시적 참조가 가능하며, 람다가 마지막 인자이면 괄호 밖으로 뺄 수 있습니다.(Trailing Lambda)val list = listOf("a", "b", "c")// 1. 기본list.forEach({ s -> println(s) })// 2. Trailing Lambdalist.forEach { s -> println(s) }// 3. 'it' 사용list.forEach { println(it) } Java는 it과 같은 암시적 파라미터나 Trailing Lambda 문법은 없습니다.List list = List.of("a", "b", "c");// 1. 기본 람다list.forEach(s ->..
저는 평소 자바를 중심으로 개발해왔습니다. 이번에 코틀린을 배우고 활용할 기회가 생겨, 새로운 언어로의 도전을 통해 개발 역량을 넓혀가고자 합니다.1. 변수 1-1 변수 선언Kotlin은 변수 선언 때 val(불변), var(가변) 키워드를 통해 타입 추론을 지원합니다.아래처럼 가변, 불변을 정하고 타입 추론 기능이 기본 탑재되어 있습니다. val name: String = "김병웅" // 읽기만 가능var age: Int = 20 // 읽기/쓰기 가능var address = "충북" // 타입 추론 (String) Java는 final 키워드를 직접 적어 변수의 불변성을 지정해줘야 하며, 타입을 항상 명시해야 합니다.final String name = "김병웅"; //..
📝서론 분산 시스템은 전세계의 구조를 바꿨습니다. 웹 브라우저가 지구 상 어딘가에 있는 웹 서버에 접속하면 클라이언트/서버 분산 시스템이라는 구조에 한 구성원이 되는 것이다. 분산 시스템을 개발할 때 몇 가지 새로운 도전거리가 생겨난다. 우리는 그 중 "실패"에 관해서 알아보자. 핵심 질문 : 구성 요소가 실패하더라도 동작하는 시스템을 어떻게 만들까? 분산 시스템의 핵심 사안은 여러 개가 존재한다.실패와 고장의 극복시스템 성능보안📝통신의 기본최신 네트워킹의 핵심 가정은 통신은 신뢰할 수 없다는 것이다. 이것에는 여러개의 이유가 있다. 패킷 손실네트워크는 패킷 단위로 데이터를 전송하는데, 중간 유실이 가능하다.지연, 재정렬, 중복패킷이 전송 순서와 다르게 도착하거나, 중복되거나, 지연될 수 있다.중간..
📝서론 저번 포스팅에서 우리는 크래시 방지를 위해서 저널링을 하였다.시간이 지나 컴퓨터의 성능이 좋아지며 저널링에서 더 나아가 로그 기반 파일 시스템(LFS)이 등장하였다.해당 파일 시스템 설계 배경은 다음과 같다.메모리 크기 증가대부분의 읽기는 메모리 캐시에서 처리됨 → 디스크는 주로 쓰기 위주 I/O 발생순차 I/O 성능 향상 > 랜덤 I/O디스크는 순차적으로 쓸 때 훨씬 빠름 → 랜덤 I/O는 탐색/회전 지연으로 매우 느림기존 파일 시스템의 비효율성FFS 같은 기존 파일 시스템은 쓰기마다 여러 I/O → 블럭 그룹 최적화로도 한계RAID 환경의 쓰기 병목RAID는 작은 쓰기(small write)에서 읽기-수정-쓰기 반복 필요 → 기존 FS들은 고려하지 않음 이상적인 파일 시스템은 쓰기 성능에 초..