분류 전체보기 461

[알고리즘] 탐욕법 - 스케쥴링 (Greedy Approach - Scheduling)

1. 스케쥴링이란? The time in the system이란 기다리고, 수행하는 시간을 합친 시간이다. 시스템에서의 중요한 점은 이러한 시간의 합인 total time을 minimize 하는 것이 목표이다. 만약 deadline이 있는 스케쥴링이고, 각 작업은 동일한 complete time을 가진다고 가정합니다. 또한 데드라인 안에 끝내는 작업은 이익을 얻습니다. 만약 어떤 작업을 해당 작업의 데드라인 이후에 스케쥴링된다면 이 스케줄을 impossible이라고 합니다. 이때 impossible한 스케줄은 고려하지 않는데, 이유는 데드라인 이후에 실행되는 작업에 대해서는 이익을 얻지 못하기 때문입니다. 따라서 목표는 이익의 총합이 극대화되게 하는 것입니다. Job Deadline Profit 1 2 ..

[확률과 통계] The Uniform Distribution

1. Uniform Distribution이란? Uniform Distribution(연속 균등 분포)는 연속 확률 분포로, 분포가 특정 범위 내에서 균등하게 나타나 있을 경우를 말한다. 어떤 확률 분포 X가 Uniform Distribution을 따를 때, X~U(a, b)라고 표현한다. 범위는 보통 \(a \leq x \leq b\)이며, 해당 범위 안에서 일정한 확률 분포를 가진다. 이때 Probability Density function \(f(x) = \frac{1}{b-a}\) 라고 표현한다. 위의 pdf에서 Cumulative Distribution Function을 구할 수 있는데, 수식은 아래와 같다. \(F(x) = \int_{a}^{x}f(y)dy = \frac{1}{b-a}\left..

[회계와 사회생활] 3장

재무 제표 분석의 개요 기업의 안전, 사업의 진행도, 사업의 강약점, 장래에 사업의 개선 여부, 사업전망 -> 재무제표에서 정보를 체계적으로 추출하는 과정 따라서 재무제표는 일반 목적(범용)의 재무제표를 낸다. 이해 관계자에 따른 정보 단기 채권자 : 외상 매입 채권에 대한 단기 지급 능력 장기 채권자 : 부채 원금과 이자 지불 능력, 장기적인 이자와 원금 지불 능력 투자자 : 미래의 수익, 위험에 관심, 재무분석에 근거해 주식을 평가 경영자 : 자원 조달을 위해 모든 관심사를 만족 재무제표 분석의 종류 추세 분석법 : 과거 연도와 비교 분석 구조 분석법 : 항목을 기준 항목의 구성 비율로 분석 (100% 기준으로) 공통형 재무상태표, 공통형 손익계산서, 공통형 제조원가보고서 관계비율 분석법 : 다른 범..

[회계와 사회생활] 2장

재무제표의 종류와 제공정보 이익 결정에 관한 정보 일정 기간 중의 활동에 관한 정보 손익 계산서 : 회계기간 중의 경영성과 (발생 기준) -> 영업성과 아님 (수익 - 비용 = 순이익) 현금 흐름표 : 회계기간 중의 현금의 흐름 (현금 기준) (현금 유입 - 현금 유출 = 현금 증가액) 일정 시점의 재정 상태에 관한 정보 재무 상태표 : 회계기말 현재의 재정 상태 (부채 + 자본 = 자산), (당기말 순자산 - 전기말 순자산 = 순이익) 자본 변동에 관한 정보 자본 변동표 : 회계기간 동안 자본의구성항목들의 변동을 보고하는 재무제표 손익계산서의 기본 구조 영업활동 (본업) 매출액 - 매출원가 = 매출 총이익 - 판매비와 관리비 = 영업이익 영업 외활동 (? 는 더할지 뺄지 모르는 것), 부수적인 것(투자..

[회계와 사회 생활] 1장

기업의 목적 물건을 만들고, 일자리를 만들고, 돈을 버는 것 이익을 극대화 (법적, 윤리적 범위 내에서) 시장이 원하는 물건을 제대로 만들어내는 것 이때 Q, C, T에 맞춰서 만든다 매출과 이익에서 대박 이익의 사회적 환원은 기업의 목적이 아닌 부수적인 목적이다. 따라서 기업은 모든 의사 결정에서 이익을 고려한다! 공학 회계에 대한 소개 회계에 대한 지식을 얻기 위해서는 재무제표를 읽을 줄 알아야 한다. 생산자 접근법 : 작성, 원가계산에 대한 지식 이용자 접근법 : 재무제표를 읽고, 원가를 이해하여 의사결정에 활용 -> 공돌이가 해야 하는 것 회계의 본질과 역할 회계의 정의 : 기업의 재무적 거래 등을 측정, 기록, 분석하는 과정으로, 이용자가 기업과 관련된 경제적 의사 결정에 유용한 정보를 제공하는..

[오픈 소스 프로그래밍] Git

OSS의 관리를 위해 개발자는 수천 명이 있고, 수십 만개의 파일, 그리고 다른 시차에서 전 세계로 퍼져있는 사람들이 있습니다. 심지어 다양한 프로세서를 사용하고, 이전의 버전들이 필요하기도 합니다. 이러한 관리를 vcs를 통해서 합니다. vcs는 code base를 관리합니다. 이때 code base는 코드, 문서, 빌드 tool, 설정 파일 등을 모두 포함합니다. 1. VCS (version control system) VCS는 아래와 같은 점들을 도와줍니다. 소스코드의 변경을 관리 수정의 흔적을 보관함 필요하다면 이전 버전으로 Roll back 팀이 동시에 작업할 수 있게 해줌 테스트 및 배포 프로세스를 자동화 해줌 Benefits 이식성 Branching and mergin Manual mergi..

[오픈 소스 프로그래밍] 쉘 스크립트 (Shell Script)

Shell은 Unix/Linux를 위한 명령어 인터프리터입니다. 번역을 위한 과정이 없으며, unix/linux 시스템과 소통하기위한 인터페이스입니다. 또한 명령어, 프로그램, shell script를 실행할 수 있는 환경입니다. Shell Prompt는 Shell 명령어를 입력할 수 있는 창이며 '$'로 시작합니다. Shell Script는 텍스트 파일안에 있는 정렬된 명령어의 리스트이며, shell environment에 의해 실행됩니다. 명령어는 Shell 변수, 제어 문구 등을 넣을 수 있습니다. 참고로 알아야할 부분들이 있는데, 확장자는 .sh입니다. 그리고 파일의 맨 앞에 #!/bin/bash를 써야합니다. 그래야 시스템에 shell script를 쓴다는 사실을 알려주고, bash shell로..

[오픈소스 프로그래밍] Unix, Linux에 대한 소개

Linux에 대해 알기 전에 Unix OS에 대해 먼저 알아야 합니다. Unix의 특징으로는 다양한 종류의 시스템 사이에서 서로 이식할 수 있음 다중 사용자 및 다중 작업을 지원 Unix 시스템의 개념으로는 일반 텍스트 파일 명령줄 인터프리터 계층적인 파일 시스템 (트리 구조) 장치 및 특정한 형식의 프로세스 간 통신을 파일로 취급 -> 통일을 시킴으로써 개발하기 좋음 초기의 Unix는 서버에 쓰는 OS였습니다. 이러한 유닉스는 아래와 같은 형태로 발전되어 왔습니다. 이처럼 유닉스는 처음에는 서버 같은 중형 컴퓨터에 사용하도록 고안이 되었으며, 여러 가지 유틸리티가 공개되면서 일반 사용자들에게 확산되었습니다. 다중 사용자, 다중 작업이 가능하고 프로그램 개발이 쉬운 운영체제인 덕분에 대부분의 통신 서비스..

[오픈 소스 프로그래밍] OSS (Open Source Software)

1. 오픈 소스란? 일반적인 정의 : 누구나 쉽게 배포할 수 있고, 변형할 수 있는 소스코드가 있는 소프트웨어 이때 소스코드는 저작권 소유자가 사용자에게 권한을 부여하는 라이선스를 통해 연구, 변형, 배포를 할 수 있습니다. 즉, 누구도 오픈 소스에 대한 독점적인 권한을 가질 수 없고, 특허나 저작권을 얻을 수 없습니다. 1.1 Free Software OSS는 free software과 유사하며, 더 넓은 의미의 free and open-source software입니다. 이때 Free software는 다음과 같은 특징을 가지고 있습니다. 소프트웨어에 대한 실행, 복제, 배포, 연구, 변형, 성능 향상이 자유 어떤 목적이든 프로그램을 실행할 수 있다. 프로그램이 어떻게 작동되는지 연구할 수 있고, 이..