O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

2021년 1월 30일 개발자 이야기

유튜브에서 방송한 자료입니다. 오늘자 방송: https://www.youtube.com/watch?v=G3SEJvPPpKs&list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg&index=1

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

2021년 1월 30일 개발자 이야기

  1. 1. CTO 둘이 풀어드리는 주간 뉴스 2021.1.30방송 정말로 당신에게 다른 동영상 강의가 필요할까?
  2. 2. 참고자료 • <컴퓨터vs책> 블로그 http://jhrogue.blogspot.com/ • 오늘자방송 https://www.youtube.com/watch?v=G3SEJvPPpKs&list=PLdntWJk2tJPKvRB0mSqC5ty KUv7HFtcqg&index=1 • 유튜브채널OKdevTV >재미있는개발이야기리스트 https://www.youtube.com/playlist?list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg • 슬라이드셰어 https://www.slideshare.net/jrogue/presentations • 채널박재호(초급개발자를위한...)https://www.youtube.com/c/박재호dev OKdevTV
  3. 3. 오늘의 짤방(1) OKdevTV 이걸 몰랐네 via @dalinaum
  4. 4. 오늘의 짤방(2) OKdevTV I got a perfect picture for it! via @ringoapp
  5. 5. ① timeflake - 어느 정도 정렬된 UUID ② 정말로 당신에게 다른 동영상 강의가 필요할까? ③ 마이크로서비스를 써야할 때, 쓰지 말아야 할 때 ④ 소프트웨어를 구매하기 위해 사용 가능한 네 가지 통화 ⑤ AWS 람다는 왜 그렇게 빠르게 구동될까? ⑥ 30살 비개발자가 3개월만에 풀스택 개발을 하기까지.. ⑦ 맥에서 윈도우로 가져온 파일명이 자모 분리된 경우 해법 오늘의 소개할 내용 OKdevTV
  6. 6. OKdevTV (개발) timeflake - 어느 정도 정렬된 UUID 1 • https://github.com/anthonynsimon/timeflake • 특징 • 트위터의 Snowflake, 인스타그램 ID, Firebase의 PushID와 비슷한 구현 • 빠름 : K-sortable로 어느 정도 정렬(timestamp에 따라) • 충분히 유일성 보장 : 1ms당 5천 만개를 만들어도 충돌 확률이 10억분의 1 • 효율적 : 48비트는 밀리세컨드 단위 timestamp 인코딩 + 80비트는 암호학적으로 유일한 랜덤 숫자 • 유연함 : 128비트 부호없는 정수, URL에 안전한 base62 값으로 UUID 호환 • 왜? • 예측 가능하지 않는 URL에서 UUID가 필요한 경우 • 시간에 따라 대략 정렬되지만 임의의 ID가 필요한 경우(MySQL/PostgreSQL) • 중앙 집중화된 ID 관리 시스템을 유지할 필요가 없음 • 표준 128비트 UUID와 호환(예: 파이썬의 많은 라이브러리들이 uuid.UUID를 기반으로 동작) • 참고 • 기존에 KSUID가 존재하지만(K-sortable), 160비트라서 표준 128비트 UUID와 비호환 • 주의 • 개인 정보 보호(시각 특정, 사용자 특정)
  7. 7. • https://eugeneyan.com/writing/you-dont-need-another-mooc/ • 대부분 MOOC는 페라토 법칙을 따른다 • 비슷한 MOOC에서 얻는 수익 감소 효과 • 새로운 MOOC은 미루거나 자기 불구화 현상(self-handicap)을 낳는 이유가 된다 • 이 MOOC 특화 과정을 끝낼 때까지 만들 수 없어 • 내 이력서가 채택되지 않는 이유는 스파크와 파이토치에 대한 증명서가 없기 때문이야 • 강의 비디오 시청은 학습이 아니라 수동적인 소비 • 아이들은 자전거 타는 법을 비디오로 배우지 않는다 • 행복한 길에서 벗어나기 • 튜토리얼은 실습을 제공하지만… 코드를 복사해서 붙여넣으면 그냥 동작한다. • 디버깅, 준비 작업, 시행 착오를 통한 문제 해결에 시간을 소비할 경우에는 학생들은 인내심을 잃어 이탈한다 • 실제 데이터는 지저분하고 구조화가 되어 있지 않지만, 대다수 MOOC과 유튜브 수업은 깨끗하고 구조화되어 있다 • 우리는 실제 프로젝트, 지저분한 데이터, CUDA 오류 등을 수행함으로써 행복한 길에서 벗어난다 • 프로젝트를 통해 문제 정의, 알고리즘 적용(올바른 또는 잘못된), 오류 메시지를 구글에서 찾고, 작동할 때까지 반복한다 OKdevTV (오늘의 논쟁) 정말로 당신에게 다른 동영상 강의가 필요할까? 2
  8. 8. • https://eugeneyan.com/writing/you-dont-need-another-mooc/ • 적시 학습 • 딱 시작하기에 충분한 지식만 있으면 된다. 나머지는 길을 따라가면서 선택한다. • 프로젝트 진행을 위해 필요한 무엇이든 배운다 • 배운 것을 적용하지 않으면 쇠퇴할 것이다 • YAGNI(You aren't gonna need it): 필요할 때까지 기능을 추가할 필요가 없다 • 하지만 반발이 심하다 • “저는 시간이 매우 제한적이므로 개인 프로젝트를 할 여유가 없습니다. MOOC는 독립적이며 일주일에 2-4 시간만 필요합 니다.” → 지식과 이해가 어느 수준을 넘어서면 실습이 필요함 • “과거에 개인 프로젝트를 해보았습니다. 하지만 많은 오류가 발생하고 구글을 많이 검색해야만 했습니다. MOOC를 더 많이 듣기 전까지는 아직 준비가 되지 않은 것 같습니다.” → 바로 그래서 개인 프로젝트를 해야 함 • “ MOOC를 통해 이력서에 도움이 되는 자격증을 받게 됩니다.” → 자격증이 아니라 실무 능력이 더 중요 • “기술 기술과 지식에 대한 테스트를 받을 것이라는 이야기를 들었습니다. 따라서 더 많은 기술적인 MOOC를 수행해야합니 다.” → MOOC는 특히 지식을 테스트하거나 (읽기 : 기억) 트릭을 알아야하는 질문(예 : 리트코드 유형 질문)에 유용 • "어떤 개인 프로젝트를 해야 합니까?“ → 관심이 있는 프로젝트, 주말 동안 12주 안에 완료할 수 있는 범위가 적합 • "하지만 흥미로운 개인 프로젝트가 생각 나지 않아요!“ → 흥미로운 개인적인 프로젝트를 떠올리지 못하면, 정말 경력을 위 한 준비가 되어 있을까? OKdevTV (오늘의 논쟁) 정말로 당신에게 다른 동영상 강의가 필요할까? 2
  9. 9. • https://containerjournal.com/topics/container-ecosystems/when-to-use-and-not-to-use- microservices/ • 사용 여부 결정 • 마이크로서비스가 무엇이며 개발 작업에 어떤 영향을 미치는지 제대로 이해하고 있습니까? • 마이크로서비스를 채택 할만큼 충분히 비즈니스가 성숙했습니까? • 애플리케이션 인프라는 얼마나 강력합니까? • 애자일 또는 DevOps 연습을 시도하고 테스트했습니까? • 제품이 비즈니스 모델의 중심에 있습니까? • 확장에 대한 목표와 비전은 무엇입니까? 마이크로서비스 아키텍처는 확장성을 고려하여 설계되었으며 제품/서비스와 시장 을 모두 확장하려는 튼튼한 계획이 있는 경우에만 이상적입니다. • 비즈니스 모델이 테스트되고 입증되었습니까? • 마이크로서비스를 써야할 때 • 모놀리식 애플리케이션에서 확장성, 민첩성, 관리 용이성, 배포 속도를 개선하기를 원하는 경우 • 비즈니스 요구 사항을 따라 잡기 위해 현대적인 프로그래밍 언어 또는 기술 스택으로 레거시 애플리케이션을 재작성해야 하 는 경우 • 다양한 채널에서 재사용해야하는 독립형 비즈니스 애플리케이션 또는 모듈 - 로그인 서비스, 검색 옵션, 인증 기능 등이 좋 은 예 • 신속한 제공, 혁신 등을 요구하는 매우 민첩한 애플리케이션(제품 또는 서비스)을 구축하는 경우 OKdevTV (개발) 마이크로서비스를 써야할 때, 쓰지 말아야 할 때 3
  10. 10. • https://containerjournal.com/topics/container-ecosystems/when-to-use-and-not-to-use- microservices/ • 마이크로서비스를 쓰지 말아야할 때 • 마이크로 서비스는 복잡한 문제에 대한 해법이므로, 비즈니스에 복잡한 문제가 없는 경우 마이크로서비스의 복잡성을 처리 할 시스템이 없다는 점을 이해해야 한다. • 마이크로서비스를 사용하면 관련 작업을 처리할 수 없는 팀 규모에 미치지 못할 경우 정 반대의 결과를 얻는다. 이로 인해 배포가 지연될 뿐이다. • 굳이 모든 애플리케이션을 마이크로서비스로 세분화할 필요는 없다. • 마이크로서비스는 공짜 점심이 아니다! • 참고 • <마이크로서비스 도입, 이렇게 한다> 도서 증정 이벤트 • https://jhrogue.blogspot.com/2021/01/blog-post_28.html OKdevTV (개발) 마이크로서비스를 써야할 때, 쓰지 말아야 할 때 3
  11. 11. OKdevTV (개발) 소프트웨어를 구매하기 위해 사용 가능한 네 가지 통화 4 • https://techbeacon.com/enterprise-it/software-ultimate-currency-why-containers-serverless- should-be-your-go • 물건을 사기 위한 통화 • 신용카드, 현찰, 수표, 상품권, 지역 화폐 등등 • 소프트웨어의 구성 요소를 구매하기 위해 사용 가능한 네 가지 통화 • 기술 프로젝트를 위한 소프트웨어가 필요한 경우 서버리스를 찾아라 • 서버리스가 없으면 컨테이너를 찾아라 • 컨테이너가 없으면 오픈소스 라이브러리를 찾아라 • 라이브러리가 없으면 직접 코드를 작성하라 • 통화별 특징 • 서버리스: 가장 사용하기 쉬움. 서비스 카탈로그에서 소비되는 외부 API와 유사하고 렌탈과 비슷한 특성. 서버 락인에 주의 • 컨테이너: 서버리스를 위한 모든 코드를 제공하거나 미리 패키지된 오픈소스 라이브러리를 제공하거나 직접 만든 코드를 포함 • 오픈소스 라이브러리: 컨테이너에 원하는 패키지가 없을 경우 오픈소스를 가져와 직접 만드는 방법. 미리 만들어진 컨테이너보 다는 해야 할 작업이 많음 • 직접 코드 작성: 상기 모든 통화를 사용할 수 없을 경우 • 컨테이너에 주목! • 미리 만들어진 API, 오픈소스 라이브러리, 직접 만든 코드를 담을 수 있는 기반 인프라
  12. 12. OKdevTV (개발) AWS 람다는 왜 그렇게 빠르게 구동될까? 5 • https://jvns.ca/blog/2021/01/23/firecracker--start-a-vm-in-less-than-a-second/ • 1초 이내로 VM 시작하기 • Firecracker 사용(https://firecracker-microvm.github.io/): AWS lambda와 Fargate에서 사용 • 참고: KVM 사용(리눅스 전용) It takes <= 125 ms to go from receiving the Firecracker InstanceStart API call to the start of the Linux guest user- space /sbin/init process.
  13. 13. • https://no900528.tistory.com/2 OKdevTV (경력 관리) 30살 비개발자가 3개월만에 풀스택 개발을 하기까지.. 6
  14. 14. • https://www.sotheb.co.kr/65 • https://wodonggun.github.io/wodonggun.github.io/study/%ED%95%9C%EA%B8%8 0-%EC%9D%B8%EC%BD%94%EB%94%A9%EC%9D%B4%EB%9E%80.html • 유니코드 정규화(UNF, Unicode Normalization Form) 문제 • NFC(Normalization Form Composition): 각을 각이라는 문자 하나로 저장(텍스트 크기가 줄어들지만 옛 한글의 경 우 자소가 분리되어 저장된다), 윈도우와 리눅스에서 사용 • NFD(Normalization Form DeCompositio): 각을 ㄱ ㅏ ㄱ으로 저장(텍스트 크기가 커지지만 현대 한글과 옛 한글을 동일 방식으로 저장), MacOS에서 주로 사용 • 해법 • 한글 자소 교정기(윈도우용) • https://namocom.tistory.com/630 에서 다운로드 • 한글 자모 합치기(맥용) • https://namocom.tistory.com/901 에서 다운로드 OKdevTV (팁) 맥에서 윈도우로 가져온 파일명이 자모 분리된 경우 해법 7

×