목록All Contents (170)
Code&Data Insights
What is Hash? (해시란 무엇인가 ) key : value 를 갖는 데이터를 관리하고 유지하는 자료구조 (Data Structure) 중 하나이다. 해시는 배열과 달리 String 타입이나 다른 어떤 데이터형을 기반으로 자료구조를 접근하고 데이터를 관리할 수 있게 해준다. 특히, String을 기반으로 정보를 기록하고 관리해야 할 때 (단순 배열 사용 X) Hash Function : 키 값을 수치( > 0 )로 변환하는 함수 : the method/function performing the conversion is referred to as "hash function" h(x) = x mod N ( for integer keys ) Hash Table : 자료를 해시함수의 결과를 사용해 위치(..
What is Pointer? => A pointer is a variable whose value is the address of another variable. Like any variable or constant, you must declare a pointer before you can work with it. The general form of a pointer variable declaration is − ( 포인터란 다른 변수의 주소를 가진 변수이다. 다른 변수나 상수와 같이, 반드시 포인터를 사용하기 전에 선언되어야 한다. ) type *var-name; * the pointer's base type int *ip; // pointer to an intege..
[ Exception ]- Exception(예외)란 프로그램이 핸들링 할 수 있는 오류를 말한다. - When something does not go as planned (프로그램이 원하는 방향으로 작동하지 않을때 사용) - Exception(예외처리) 하는 방법 : - 오류, 그 중 런타임 에러는 Error와 Exception으로 나뉜다. => 오류의 경우 컴파일에러/런타임에러/논리적에러로 나뉜다. 예외처리를 할 수 있는 에러는 런타임에러, 그 중에서 exception만이 가능하다. => Error의 경우에는 예외처리가 불가능하다. => (ex) OutOfMemory와 같은 심각한 에러는 예외처리로 다룰 수 없다 - Exception의 종류 : checked / unchecked excepti..
분명 자바 수업인데, 교수님은 자꾸 C++이랑 비교하면서 설명해서 헷갈려 돌아버리는 줄 알았다 ㅋㅋㅋ 저번 교수님은 걍 간단하게 상속이랑 access modifier 표기만 짚고 넘어갔는데 이 교수님은 아예 과제도 class diagram 그려오라 그러고 aggregation, compostion 등등 첨 듣는 개념... 근데 어차피 프로그래밍 언어를 막론하고, UML은 소프트웨어 설계를 하는데 필요하므로 이참에 정리해보려고 한다. What is UML? - Unified Modeling Language - 소프트웨어 시스템을 설계하는 standardized modeling language [ UML Class Diagrams ] - Basic UML Class Diagram은 Classes / Comp..
[ Static Variables & Static Methods ] 계속 헷갈렸던 Static, What does "Static" mean? => 자바에서는 객체를 필요할 때마다 메모리에 올려 사용한다. Static은 프로그램의 객체 생성 이전 JVM에 의해 클래스가 load되는 순간에 자동으로 메모리에 올라간다. => 객체 생성 이전에 이미 로딩되는 메모리이기 때문에, non-static 영역(객체 영역)으로는 접근이 불가능하다. Variables(변수)에는 instance variables(iv)과 class variables(cv)- static 이 존재한다. => instance variables은 개별 속성(객체마다 다르게 가..
Git 기본 컨셉 Working Directory : 작업하는 파일이 있는 디렉토리Staging Area : Git에 등록할(커밋) 파일들이 올라가는 여역Local Repository : 로컬 git 프로젝트의 메타데이터와 데이터 정보가 저장되는 영역Remote Respository : Github 등의 서비스를 통한 온라인 상의 저장소 Git의 동작 원리** Github상에서 만들어진 것은 Remote Repository / 내 PC에 저장되있는 것은 Local Repository Git 명령어Local Repository: 내 PC에 파일이 저장되는 개인 전용 저장 공간 저장소(Repository)?- 파일이나 폴더를 저장하는 곳 - Git 저장소는 파일 변경 이력 별로 구분되어 저장 Local..
Git 이란?? - 형상관리도구(Configuration Management Tool) 중 하나이다. => 형상관리도구 = 버전관리 시스템 - 프로젝트 소스코드를 효과적으로 관리할 수 있는 시스템- 여럿이 작업하더라도 문제가 없게 함- 소프트웨어의 여러 버전을 동시에 관리 할 수 있다.- 프로젝트 진행의 모든 로그를 볼 수 있으며 해당 시점으로 되돌리는 것도 가능하다. Git을 사용하는 이유- 프로젝트 시 어떤 기능을 빼고 더하고 고치고 수정하는 과정은 필수이다.기능을 되돌리게 될 수도 있고, 서로 다른 기능의 버전을 유지해야 하는 경우도 있다. 1. 코드 관리 측면- 변경된 이력 확인 / 이전 이력으로 되돌리기 / 현재 최종이 어느 시점인지 표현할 수 있음 2. 협업의 측면 - 각 기능별로 분업 후..
오늘 강의 듣는 중에 레거시 시스템이라는 말을 처음 들었다. 레거시 시스템이란 뭘까?? * What is a Legacy System? - 레거시 시스템이란?? => 레거시 시스템이란 아직도 쓰이고 있는 구식의 소프트웨어/하드웨어를 말한다. 그 시스템은 여전히 설계된 대로의 기능을 충족시킬수 있지만, 어떠한 성장도 용납되지 않는다. 구식의(오래된) 기술의 레거시 시스템은 현재 새로운 시스템과 상호작용 할 수 도 없다. * Problems caused by legacy systems - 레거시 시스템으로 인해 발생하는 문제들 1. Maintenance is costly (and futile) -> 유지비용이 많이 든다. 데이터 사일로로 인한 불필요한 저장공간이 발생되어, 이에 따른 비용이 부가적인 비용이 ..