목록전체 글 (153)
Dazzling 개발 노트
기본 연산 강제로 여러 줄의 코드를 한 줄로 몰지 않는 이상, 한 줄에는 하나의 명령이 올 것 입니다. 가장 간단한 연산은 역시 대입일 것입니다. set a = 10 실제로 a라는 변수를 만들고, 10이라는 값을 할당하는 과정에서 컴퓨터는 많은 연산을 하지만, 우리는 단순하게 O(1)의 연산을 수행했다고 볼 것입니다. 조건문도 비슷합니다. set a = 5 if a != 10 print('hello') print 같은 메서드를 O(1)이라고 가정한다면, 대입도 O(1)이고 print도 O(1)이니 if a != 10 만 정확하게 알면 될 것 입니다. 그러나 결국 단순히 두 값을 비교하는 연산을 수행하기 때문에, 결과적으로 조건문도 O(1)의 시간복잡도를 보여주게 됩니다. 따라서 위 코드의 시간복잡도는 O..
본래 점근적 표기법은 수학적인 개념이기 때문에 엄밀한 정의를 설명하기엔 수학적 지식이 약간 필요하지만, 우리는 간단하게 개념을 이해할 수 있는 수준으로 설명하도록 하겠습니다. 점근적 표기법에는 크게 O, Ω, Θ가 있습니다. 각각 빅-오, 빅-오메가, 빅-세타라고 부릅니다. 간단한 다항식 n3+n2+n−1이라는 식이 있다고 가정하겠습니다. O는 가장 높은 차수 보다 같거나 높은 식을 뜻합니다. 즉, n3+n2+n−1에서 가장 높은 차수는 n3 이므로 O(n3), O(n5), O(n100) 모두 맞는 말이지만, 우리는 앞으로 이 식을 보게 되었을 때 좀 tight하게 O(n3) 라고 부르게 될 것이며, 이것이 바로 시간복잡도를 재는 척도로 쓰이게 됩니다. 이때 표현은 n3+n2+n−1=O(n5) 와 같이 ..
AWS Jam 이벤트가 끝난지 벌써 3주가 지났다. 프로젝트를 하다보니 시간이 정말 빨리 흐르는 것 같다..ㅎ Jam에 대한 추억이 가물가물해질 때 쯤 이번주에 멀티클라우드 특강을 듣게 되었다. 11일 월요일부터 14일 목요일까지 진행된 멀티클라우드 특강에 대한 후기도 적어보고자 한다~.~ 특강은 크게 이론 1~2시간, 실습 2~3시간으로 구성되어 총 4시간에 걸쳐 진행되었다. 이론 시간에는 현재 트렌드나 왜 멀티클라우드를 사용하는지, 왜 알아야 하는지 같은 기본적인 내용을 들을 수 있었다. 실습 시간에는 Packer와 Terraform 교육 환경에서 실습을 진행했다. 덕분에 이론도 알고, 직접 Terraform을 사용도 해보고, Azure도 슬쩍 맛볼 수도 있었다. 멀티클라우드 특강이 무엇인지, 왜 필..
CI/CD? CI/CD는 Continuous Integration/ Continuous Delivery(Deployment)의 약자이다. 소프트웨어의 변경 사항이 지속적으로 통합되고 동시에 배포함으로써 개발 주기를 단축하고 서비스의 품질을 향상시킨다. CI/CD는 크게 3단계로 나누어 진다. - 지속적인 통합 ( Continuous Integration ) - 지속적인 전달 ( Continuous Delivery ) - 지속적인 배포 ( Continuous Deployment ) Continuous Integration 지속적으로 코드의 통합을 진행하면서 코드의 품질을 유지한다. 이 과정에서 이루어지는 주된 작업은 빌드, 테스트, 병합이다. 빌드, 테스트, 병합을 자동화된 프로세스로 최대한 자주 통합한다..
데브옵스에 대한 설명과 말은 정말 많이 들었지만, 정확하게 나한테 와닿지는 않았다. 그래서 내가 이해한대로 적어보았다. 데브옵스 : DevOps 개발(Development)와 운영(Operation)의 합성어 소프트웨어 개발과 IT 운영을 더 효과적으로 통합하고자 하는 문화, 철학, 방법론 의미 소프트웨어의 개발 단계와 운영 단계 간의 협업을 강조 자동화, 지속적 통합, 지속적 배포 등의 개념을 포함 이를 위해 소프트웨어를 빠르게 개발하고 안정적으로 운영하도록 지원 데브옵스의 주요 특징 자동화 지속적 통합 지속적 배포 컨테이너 기술 모니터링 및 로깅 협업과 문화 데브옵스의 기술 예시 Jenkins Docker Kubernetes Git Ansible, Puppet, Chef Prometheus: Graf..
지난 25일 토요일에는 AWS의 Jam 이벤트에 참가했다. AWS Jam은 다양한 주제로 주어지는 실제 AWS 사용 사례에 대한 문제를 해결하는 일종의 놀이 이벤트라고 한다. 이 행사는 보통 AWS를 사용하는 실무자들을 대상으로 하는 행사인데, KEA와 AWS에서 학부생들을 대상으로 참여할 수 있도록 기회를 만들어주셨다..ㅎㅎ(우리 학교 정말 대단해..!!) 걱정이 많았지만, 생각보다 너무 재밌고 유익한 시간을 보내고 왔다! 이 재미와 감동이 사라지기 전에 포스팅으로 후기를 남겨보고자 한다. AWS 한국 본사에 방문하다..! 역삼에 위치한 왕 큰 건물을 보니 들어가기 전부터 두근두근했당..>
Frontend & Backend [ Presentation Layer - Logic Layer - Data Layer ] Frontend (Presentation Layer) 개발언어 HTML/CSS JavaScript 프레임워크 앵귤러(Angular) 리액트(React) 뷰(Vue.js) 제이쿼리(JQuery) 관련기술 Apache Nginx Backend (Data Layer) 개발언어 Java Python JavaScript(Node.js) 프레임워크 스프링(Spring) - Java 장고(Django), 플라스크(Flask) - Python 익스프레스(Express) - JS 라라벨(Laravel) 레일즈(Rails) 관련기술 Tomcat Spring Framework Spring Boot DB..