SlideShare a Scribd company logo
1 of 9
Download to read offline
무한 루프에 빠진 개발자 논쟁 시리즈:
1편 알고리즘과 자료 구조
알도개(알고 보면 도움되는 개발 이야기)
이미지 출처: https://www.flickr.com/photos/75409276@N06/29379427975
CC BY-NC-SA 2.0
알고리즘과 자료구조의유용성논쟁
주기적으로 찾아오는 떡밥
CRUD 처리 가능한 수준에서 API만으로
프로그램 작성이 가능하므로 자료구조/
알고리즘은 중요하지 않거나 후순위다.
소프트웨어 개발에서 기초가 튼튼해야
하며, 그 중에서도 특히 알고리즘과 자
로 구조가 핵심이다.
알고리즘과 자료구조의유용성논쟁
취업을 위한 코테와 기술 인터뷰 vs 실무
알고리즘과 자료구조의유용성논쟁
라떼는 말이야…
• C의 기본 라이브러리에는 알고리즘이라고
부를 만한 구성 요소가 거의 없다. qsort(3)
정도?
• 자료 구조 관점에서 보면 구조체와 배열이
사실상 전부다.
• 클래스 개념도 없기에 모듈 구성을 위해 구
조체 포인터를 인수로 넘기는 식으로
ADT(Abstract Data Type)를 수동으로 구성
해야 한다.
알고리즘과 자료구조의유용성논쟁
하지만 세상은 바뀌고…
• 하드웨어 성능 향상 이면에 병행 프로그램 작성의 어려움
• C++(with STL), 자바, 파이썬, 어서 오고!
• 오픈소스로 필요한 소프트웨어 획득이 손쉬워짐
• 스택오버플로 등장
• 로 코드와 깃헙 코파일럿 등장
알고리즘과 자료구조의유용성논쟁
알고리즘과 자료구조가 중요한 이유
• 내부 동작 원리를 설명할 때 구구절절 동작 방식을 늘어놓아야
하나?
• 정량적으로 지원자를 평가하는 과정에서 모수가 엄청나게 많
을 경우 효과적인 필터 방안이 있을까?
• 소프트웨어 개발 과정에서 문제가 발생할 때 이를 해결하기 위
한 프레임은 무엇일까?
• 참고: FAANG 경력 개발자들이 선호하는 자료 구조는 set/map,
tree, graph, binary search
(https://jhrogue.blogspot.com/2018/04/b-quora.html)
알고리즘과 자료구조의유용성논쟁
생각을 바꿔보자
• 알고리즘과 자료 구조를 문제 해결 관점에서 생각할 필요가
있다
• 주어진 문제를 해결하기 위한 입/출력이 무엇이고 제약이 무
엇이고 이 제약을 풀기 위해 어떤 과정에 필요하고 이런 과
정을 모듈화하기 위한 방법은 무엇일까? → 이게 알고리즘과
자료 구조의 핵심이다
알고리즘과 자료구조의유용성논쟁
결론
• 인공지능이나 현업의 복잡한 시스템을 만들기 위
해서는 알고리즘과 자료 구조를 이해해야 한다
• 알고리즘과 자료 구조는 학계와 업계 선배들이
컴퓨터에서 자주 풀어야 하는 문제를 모아 해법
을 고안하는 과정에서 만들어진 분야라고 생각하
면서 내게 이 문제가 주어지면 어떻게 풀어낼지
를 고민하자.
발표자 소개
기술 배경
전문 검색 엔진, 임베디드 시스템(리눅스 커널 디바이스 드라이버), 빅데이터/인공지능 연구 개발,
고성능 고가용성 데이터베이스
주요활동
IT 전문서 번역 (클린 코드, 피플웨어, 해커: 광기의 랩소디, 게임 엔진 블랙 북 등)
개발강의 (삼성전자, SK C&C, 삼성SDC, 현대자동차 기술 세미나와 교육)
활동채널
블로그: https://jhrogue.blogspot.com
슬라이드 셰어: https://www.slideshare.net/jrogue/presentations
유튜브: https://www.youtube.com/c/박재호dev
문의 jrogue@gmail.com
박재호

More Related Content

What's hot

이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다Jay Park
 
(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략Jay Park
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기Sunghyouk Bae
 
그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기Sangkyoon Nam
 
C++ GUI 라이브러리 소개: Qt & Nana
C++ GUI 라이브러리 소개: Qt & NanaC++ GUI 라이브러리 소개: Qt & Nana
C++ GUI 라이브러리 소개: Qt & NanaLazy Ahasil
 
즐겁게 배우는 SQL 기획 소개
즐겁게 배우는 SQL 기획 소개즐겁게 배우는 SQL 기획 소개
즐겁게 배우는 SQL 기획 소개Jay Park
 
즐겁게 배우는 SQL 11일차 JOIN 설명입니다.
즐겁게 배우는 SQL 11일차 JOIN 설명입니다.즐겁게 배우는 SQL 11일차 JOIN 설명입니다.
즐겁게 배우는 SQL 11일차 JOIN 설명입니다.Jay Park
 
(책 소개) 엘라스틱 스택 개발부터 운영까지
(책 소개) 엘라스틱 스택 개발부터 운영까지(책 소개) 엘라스틱 스택 개발부터 운영까지
(책 소개) 엘라스틱 스택 개발부터 운영까지Jay Park
 
(책 소개) 스프링 부트 실전 활용 마스터
(책 소개) 스프링 부트 실전 활용 마스터(책 소개) 스프링 부트 실전 활용 마스터
(책 소개) 스프링 부트 실전 활용 마스터Jay Park
 
Slipp clojure-1212
Slipp clojure-1212Slipp clojure-1212
Slipp clojure-1212완수 양
 
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드NAVER Engineering
 
The Future of C# and .NET Framework
The Future of C# and .NET FrameworkThe Future of C# and .NET Framework
The Future of C# and .NET Framework명신 김
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainNAVER Engineering
 
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기Minho Lee
 
Uipath Review(Sub ko/kr)
Uipath Review(Sub ko/kr)Uipath Review(Sub ko/kr)
Uipath Review(Sub ko/kr)재연 김
 

What's hot (20)

Shader Driven
Shader DrivenShader Driven
Shader Driven
 
이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다
 
Cloud developer evolution
Cloud developer evolutionCloud developer evolution
Cloud developer evolution
 
(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
 
Dev team chronicles
Dev team chroniclesDev team chronicles
Dev team chronicles
 
그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기
 
C++ GUI 라이브러리 소개: Qt & Nana
C++ GUI 라이브러리 소개: Qt & NanaC++ GUI 라이브러리 소개: Qt & Nana
C++ GUI 라이브러리 소개: Qt & Nana
 
즐겁게 배우는 SQL 기획 소개
즐겁게 배우는 SQL 기획 소개즐겁게 배우는 SQL 기획 소개
즐겁게 배우는 SQL 기획 소개
 
즐겁게 배우는 SQL 11일차 JOIN 설명입니다.
즐겁게 배우는 SQL 11일차 JOIN 설명입니다.즐겁게 배우는 SQL 11일차 JOIN 설명입니다.
즐겁게 배우는 SQL 11일차 JOIN 설명입니다.
 
(책 소개) 엘라스틱 스택 개발부터 운영까지
(책 소개) 엘라스틱 스택 개발부터 운영까지(책 소개) 엘라스틱 스택 개발부터 운영까지
(책 소개) 엘라스틱 스택 개발부터 운영까지
 
(책 소개) 스프링 부트 실전 활용 마스터
(책 소개) 스프링 부트 실전 활용 마스터(책 소개) 스프링 부트 실전 활용 마스터
(책 소개) 스프링 부트 실전 활용 마스터
 
Slipp clojure-1212
Slipp clojure-1212Slipp clojure-1212
Slipp clojure-1212
 
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
 
ecdevday4
ecdevday4ecdevday4
ecdevday4
 
The Future of C# and .NET Framework
The Future of C# and .NET FrameworkThe Future of C# and .NET Framework
The Future of C# and .NET Framework
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
 
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
 
Uipath Review(Sub ko/kr)
Uipath Review(Sub ko/kr)Uipath Review(Sub ko/kr)
Uipath Review(Sub ko/kr)
 
ecdevday7
ecdevday7ecdevday7
ecdevday7
 

Similar to (알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조

Domain driven design ch3
Domain driven design ch3Domain driven design ch3
Domain driven design ch3HyeonSeok Choi
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스Terry Cho
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기수보 김
 
프로그래밍 방식의 변천 과정
프로그래밍 방식의 변천 과정프로그래밍 방식의 변천 과정
프로그래밍 방식의 변천 과정중선 곽
 
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초Jay Park
 
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론Terry Cho
 
알고리즘 중요할까?
알고리즘 중요할까?알고리즘 중요할까?
알고리즘 중요할까?Wonjun Hwang
 
Problem Solving GuideBook
Problem Solving GuideBookProblem Solving GuideBook
Problem Solving GuideBookHongjun Jang
 
Lost practice : Requirement Analysis
Lost practice : Requirement AnalysisLost practice : Requirement Analysis
Lost practice : Requirement Analysisc K
 
Amazon SageMaker와 Athena를 활용한 대용량 자연어 처리 및 머신러닝 기법 (김필호, AWS AI Specialist 솔루...
Amazon SageMaker와 Athena를 활용한 대용량 자연어 처리 및 머신러닝 기법 (김필호, AWS AI Specialist 솔루...Amazon SageMaker와 Athena를 활용한 대용량 자연어 처리 및 머신러닝 기법 (김필호, AWS AI Specialist 솔루...
Amazon SageMaker와 Athena를 활용한 대용량 자연어 처리 및 머신러닝 기법 (김필호, AWS AI Specialist 솔루...Amazon Web Services Korea
 
『클라우드 시스템을 관리하는 기술』 - 맛보기
『클라우드 시스템을 관리하는 기술』 - 맛보기『클라우드 시스템을 관리하는 기술』 - 맛보기
『클라우드 시스템을 관리하는 기술』 - 맛보기복연 이
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksSunuk Park
 
야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)SeongIkKim2
 
Coding interview
Coding interviewCoding interview
Coding interviewSoohan Ahn
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기KwangSeob Jeong
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵중선 곽
 
자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)중선 곽
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)Kee Hoon Lee
 
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Sa-ryong Kang
 

Similar to (알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조 (20)

Domain driven design ch3
Domain driven design ch3Domain driven design ch3
Domain driven design ch3
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 
프로그래밍 방식의 변천 과정
프로그래밍 방식의 변천 과정프로그래밍 방식의 변천 과정
프로그래밍 방식의 변천 과정
 
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
 
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
 
알고리즘 중요할까?
알고리즘 중요할까?알고리즘 중요할까?
알고리즘 중요할까?
 
Problem Solving GuideBook
Problem Solving GuideBookProblem Solving GuideBook
Problem Solving GuideBook
 
Lost practice : Requirement Analysis
Lost practice : Requirement AnalysisLost practice : Requirement Analysis
Lost practice : Requirement Analysis
 
Amazon SageMaker와 Athena를 활용한 대용량 자연어 처리 및 머신러닝 기법 (김필호, AWS AI Specialist 솔루...
Amazon SageMaker와 Athena를 활용한 대용량 자연어 처리 및 머신러닝 기법 (김필호, AWS AI Specialist 솔루...Amazon SageMaker와 Athena를 활용한 대용량 자연어 처리 및 머신러닝 기법 (김필호, AWS AI Specialist 솔루...
Amazon SageMaker와 Athena를 활용한 대용량 자연어 처리 및 머신러닝 기법 (김필호, AWS AI Specialist 솔루...
 
『클라우드 시스템을 관리하는 기술』 - 맛보기
『클라우드 시스템을 관리하는 기술』 - 맛보기『클라우드 시스템을 관리하는 기술』 - 맛보기
『클라우드 시스템을 관리하는 기술』 - 맛보기
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworks
 
야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)
 
Coding interview
Coding interviewCoding interview
Coding interview
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵
 
자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)
 
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
 

More from Jay Park

(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지Jay Park
 
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)Jay Park
 
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)Jay Park
 
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)Jay Park
 
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략Jay Park
 
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학Jay Park
 
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드Jay Park
 
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰Jay Park
 
(독서광) 테니스 이너 게임
(독서광) 테니스 이너 게임(독서광) 테니스 이너 게임
(독서광) 테니스 이너 게임Jay Park
 
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결Jay Park
 
(독서광) 모던 리눅스 교과서
(독서광) 모던 리눅스 교과서(독서광) 모던 리눅스 교과서
(독서광) 모던 리눅스 교과서Jay Park
 
(독서광) 상자 밖에 있는 사람
(독서광) 상자 밖에 있는 사람(독서광) 상자 밖에 있는 사람
(독서광) 상자 밖에 있는 사람Jay Park
 
(독서광) 자바 알고리즘 인터뷰 with 코틀린
(독서광) 자바 알고리즘 인터뷰 with 코틀린(독서광) 자바 알고리즘 인터뷰 with 코틀린
(독서광) 자바 알고리즘 인터뷰 with 코틀린Jay Park
 
(독서광) 리그 오브 레전드 플레이어 중심주의
(독서광) 리그 오브 레전드 플레이어 중심주의(독서광) 리그 오브 레전드 플레이어 중심주의
(독서광) 리그 오브 레전드 플레이어 중심주의Jay Park
 
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트Jay Park
 
(독서광) 오늘날 우리는 컴퓨터라 부른다
(독서광) 오늘날 우리는 컴퓨터라 부른다(독서광) 오늘날 우리는 컴퓨터라 부른다
(독서광) 오늘날 우리는 컴퓨터라 부른다Jay Park
 
(독서광) 사실은 이것도 디자인입니다
(독서광) 사실은 이것도 디자인입니다(독서광) 사실은 이것도 디자인입니다
(독서광) 사실은 이것도 디자인입니다Jay Park
 
(독서광) 프로덕트 매니지먼트
(독서광) 프로덕트 매니지먼트(독서광) 프로덕트 매니지먼트
(독서광) 프로덕트 매니지먼트Jay Park
 
(독서광) 슬기로운 파이썬 트릭
(독서광) 슬기로운 파이썬 트릭(독서광) 슬기로운 파이썬 트릭
(독서광) 슬기로운 파이썬 트릭Jay Park
 

More from Jay Park (20)

(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
(독서광) 쉽고 빠르게 익히는 실전 LLM - ChatGPT 활용부터 LLM 파인튜닝, 임베딩, 고급 프롬프트 엔지니어링까지
 
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
(독서광) LEAN HR - 당신의 스타트업은 안녕하십니까 (한빛미디어 2024)
 
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
(독서광) 구술 문화와 문자 문화: 출간 30주년 기념판 (전후 해제 포함)
 
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
(독서광) 테드 창의 숨 (아홉 가지 단편/중편 SF 과학 소설 모음집)
 
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
(독서광) 이제는 이기는 인생을 살고 싶다 - 적을 만들지 않고 단번에 갈등을 풀어내는 백전백승 변호사의 지혜지략
 
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
(독서광) 프로덕트 매니저 원칙: 10년이 가도 변하지 않을 PM/PO로 살아가는 원칙과 철학
 
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
(독서광) 개발자로 첫 출근했어요 - 사내 개발 도구, 기술, 문화 적응 가이드
 
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
(독서광) 책 vs 책: 코딩 테스트 합격자 되기 vs 파이썬 알고리즘 인터뷰
 
(독서광) 테니스 이너 게임
(독서광) 테니스 이너 게임(독서광) 테니스 이너 게임
(독서광) 테니스 이너 게임
 
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
(독서광) 인간 vs. AI 정규표현식 문제 풀이 대결
 
(독서광) 모던 리눅스 교과서
(독서광) 모던 리눅스 교과서(독서광) 모던 리눅스 교과서
(독서광) 모던 리눅스 교과서
 
(독서광) 상자 밖에 있는 사람
(독서광) 상자 밖에 있는 사람(독서광) 상자 밖에 있는 사람
(독서광) 상자 밖에 있는 사람
 
(독서광) 자바 알고리즘 인터뷰 with 코틀린
(독서광) 자바 알고리즘 인터뷰 with 코틀린(독서광) 자바 알고리즘 인터뷰 with 코틀린
(독서광) 자바 알고리즘 인터뷰 with 코틀린
 
(독서광) 리그 오브 레전드 플레이어 중심주의
(독서광) 리그 오브 레전드 플레이어 중심주의(독서광) 리그 오브 레전드 플레이어 중심주의
(독서광) 리그 오브 레전드 플레이어 중심주의
 
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
(일상다반사) 2023년 구독자 3,000명 돌파 이벤트
 
(독서광) 오늘날 우리는 컴퓨터라 부른다
(독서광) 오늘날 우리는 컴퓨터라 부른다(독서광) 오늘날 우리는 컴퓨터라 부른다
(독서광) 오늘날 우리는 컴퓨터라 부른다
 
(독서광) 사실은 이것도 디자인입니다
(독서광) 사실은 이것도 디자인입니다(독서광) 사실은 이것도 디자인입니다
(독서광) 사실은 이것도 디자인입니다
 
(독서광) 프로덕트 매니지먼트
(독서광) 프로덕트 매니지먼트(독서광) 프로덕트 매니지먼트
(독서광) 프로덕트 매니지먼트
 
(독서광) 슬기로운 파이썬 트릭
(독서광) 슬기로운 파이썬 트릭(독서광) 슬기로운 파이썬 트릭
(독서광) 슬기로운 파이썬 트릭
 

(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조

  • 1. 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조 알도개(알고 보면 도움되는 개발 이야기) 이미지 출처: https://www.flickr.com/photos/75409276@N06/29379427975 CC BY-NC-SA 2.0
  • 2. 알고리즘과 자료구조의유용성논쟁 주기적으로 찾아오는 떡밥 CRUD 처리 가능한 수준에서 API만으로 프로그램 작성이 가능하므로 자료구조/ 알고리즘은 중요하지 않거나 후순위다. 소프트웨어 개발에서 기초가 튼튼해야 하며, 그 중에서도 특히 알고리즘과 자 로 구조가 핵심이다.
  • 4. 알고리즘과 자료구조의유용성논쟁 라떼는 말이야… • C의 기본 라이브러리에는 알고리즘이라고 부를 만한 구성 요소가 거의 없다. qsort(3) 정도? • 자료 구조 관점에서 보면 구조체와 배열이 사실상 전부다. • 클래스 개념도 없기에 모듈 구성을 위해 구 조체 포인터를 인수로 넘기는 식으로 ADT(Abstract Data Type)를 수동으로 구성 해야 한다.
  • 5. 알고리즘과 자료구조의유용성논쟁 하지만 세상은 바뀌고… • 하드웨어 성능 향상 이면에 병행 프로그램 작성의 어려움 • C++(with STL), 자바, 파이썬, 어서 오고! • 오픈소스로 필요한 소프트웨어 획득이 손쉬워짐 • 스택오버플로 등장 • 로 코드와 깃헙 코파일럿 등장
  • 6. 알고리즘과 자료구조의유용성논쟁 알고리즘과 자료구조가 중요한 이유 • 내부 동작 원리를 설명할 때 구구절절 동작 방식을 늘어놓아야 하나? • 정량적으로 지원자를 평가하는 과정에서 모수가 엄청나게 많 을 경우 효과적인 필터 방안이 있을까? • 소프트웨어 개발 과정에서 문제가 발생할 때 이를 해결하기 위 한 프레임은 무엇일까? • 참고: FAANG 경력 개발자들이 선호하는 자료 구조는 set/map, tree, graph, binary search (https://jhrogue.blogspot.com/2018/04/b-quora.html)
  • 7. 알고리즘과 자료구조의유용성논쟁 생각을 바꿔보자 • 알고리즘과 자료 구조를 문제 해결 관점에서 생각할 필요가 있다 • 주어진 문제를 해결하기 위한 입/출력이 무엇이고 제약이 무 엇이고 이 제약을 풀기 위해 어떤 과정에 필요하고 이런 과 정을 모듈화하기 위한 방법은 무엇일까? → 이게 알고리즘과 자료 구조의 핵심이다
  • 8. 알고리즘과 자료구조의유용성논쟁 결론 • 인공지능이나 현업의 복잡한 시스템을 만들기 위 해서는 알고리즘과 자료 구조를 이해해야 한다 • 알고리즘과 자료 구조는 학계와 업계 선배들이 컴퓨터에서 자주 풀어야 하는 문제를 모아 해법 을 고안하는 과정에서 만들어진 분야라고 생각하 면서 내게 이 문제가 주어지면 어떻게 풀어낼지 를 고민하자.
  • 9. 발표자 소개 기술 배경 전문 검색 엔진, 임베디드 시스템(리눅스 커널 디바이스 드라이버), 빅데이터/인공지능 연구 개발, 고성능 고가용성 데이터베이스 주요활동 IT 전문서 번역 (클린 코드, 피플웨어, 해커: 광기의 랩소디, 게임 엔진 블랙 북 등) 개발강의 (삼성전자, SK C&C, 삼성SDC, 현대자동차 기술 세미나와 교육) 활동채널 블로그: https://jhrogue.blogspot.com 슬라이드 셰어: https://www.slideshare.net/jrogue/presentations 유튜브: https://www.youtube.com/c/박재호dev 문의 jrogue@gmail.com 박재호