반응형

전체 글 175

데이터베이스(데이터베이스의 기본 기능)

* 데이터베이스(DB)의 기본 기능 1. 데이터의 검색과 갱신 - DB의 가장 중요한 기능은 '검색'이다. - DB는 새로운 데이터를 등록하고 기존 데이터를 수정하며 불필요해진 데이터를 제거하는 것이 가능해야함. ( 등록, 수정, 제거 - 3가지 기능을 통틀어 '갱신'이라고 한다. ) - 데이터 포맷에 유의해야한다. ( 나중에 다시 정리할 예정 ) - 처리 성능에 유의해야한다. 2. 동시성 제어 - DB 사용자가 2명인 경우를 생각해보자. A라는 사람이 주소록 파일을 열고 있을 때 B라는 사람이 그 파일을 연다고 하면 다음과 같은 3가지 상황으로 동시에 파일에 접근하는 것을 제어할 수 있다. 1) 최초로 파일을 연 사람(A)이 파일을 열고 있을 때 그다음으로 파일을 열려고 한 사람(B)은 파일을 열 수 ..

Git(stash 정리)

Q. stash 란? : stash는 '감추다', '숨겨두다'라는 뜻. -> 브랜치를 활발하게 사용할 경우 사용 Q. stash하기 좋은 경우는 언제인가? 1. 브랜치에서 작업하던 내용이 다 끝나지 않았는데 다른 브랜치로 checkout해서 다른 일을 해야 하는 경우. 2. 끝나지 않은 작업을 커밋할 수는 없고 또한 커밋을 하지 않으면 체크아웃할 수 없는 경우. -> 작업했던 내용을 어딘가 숨겨 놓을 수 있다. 브랜치의 가장 최신 커밋(헤드의 버전)으로 이동해서 현재 브랜치의 상태를 깔끔하게 만들고 다른 브랜치로 체크아웃할 수 있다. * 들어가기 전 설정 1. git init > vim f1.txt (text : "a") > git add f1.txt > git commit -m "1"2. git che..

IT 용어 정리(6일차)

* IT 용어 정리(6일차) 1. 오픈소스(open source): 소스코드를 공개하고 누구가 열람, 수정할 수 있으며 수정 버전을 재배포할 수 있는 소프트웨어와 오픈소스 라이센스의 통칭이다. 리눅스와 FreeBSD는 잘 알려진 오픈소스 운영체제다. 2. 이식가능한(portable): 새로운 하드웨어로 옮기는 것이 가능한, 기계어로 작성된 프로그램과 달리 고급수준 언어로 작성된 프로그램은 하드웨어와 상관없이 동작하여 이식성이 높은 편이다. 본문에서는 이식성으로 번역했다. 3. 인공지능 AI(artificial intelligence): 컴퓨터가 생각하도록 만들기 위한 여러 가지 시도를 지칭하는 일반 용어. 4. 인스트루먼트(instrument): 프로그램이 수행하는 일을 파악하기 위해서 프로그램을 수정하..

Java(초기화 블록)

*이 포스트는 남궁성님의 '자바의 정석'책을 참고하여 작성했습니다. * 클래스 초기화 블록 - 클래스 변수의 복잡한 초기화에 사용된다. * 인스턴스 초기화 블록 - 인스턴스 변수의 복잡한 초기화에 사용된다. * 초기화 블록 예제 class InitBlock {static { /* 클래스 초기화 블럭 */ } { /* 인스턴스 초기화 블럭 */ } // ...} -> 클래스 초기화 블럭은 클래스가 메모리에 처음 로딩될 때 한번만 수행되며, 인스턴스 초기화 블럭은 생성자와 같이 인스턴스를 생성할 때 마다 수행된다. ( 클래스가 처음 로딩될 때 클래스 변수들이 자동적으로 메모리에 만들어지고, 곧바로 클래스 초기화 블럭이 클래스 변수들을 초기화하게 되는 것이다. ) * 인스턴스 초기화 블럭 예제 Car() {c..

Java(인스턴스,this,this())

*이 포스트는 남궁성님의 '자바의 정석'책을 참고하여 작성했습니다. * 인스턴스의 생성 클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수를 선언.변수면 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수의 저장. * 인스턴스 생성 예제 Tv t; // Tv클래스 타입의 참조변수 t를 선언.t = new Tv(); // Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t의 저장. * this : 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다. 인스턴스의 주소가 저장되어 있다. 모든 인스턴스 메서드에 지역변수로 숨겨진 채로 존재한다. * this(), this(매개변수): 생성자, 같은 클래스의 다른 생성자를 호출할 때 사용한다. * th..

IT 용어 정리(5일차)

* IT 용어 정리(5일차) 1. 스파게티: 작성자를 포함해 누구도 이해할 수 없을 만큼 꼬인 코드. 2. 스팸(spam): 원하지 않는 광고를 대량으로 발송하는 메일. 3. 스펙(spec): 요구사항(specification). 프로그램이 수행해야 하는 일에 대한 비공식적인 설명. 4. 시스템 관리자(system administrator): 컴퓨터 하드웨어와 소프트웨어를 설치하고 정상 작동하도록 관리하는 사람. 5. 시스템 관리자병(system administrator disease): 시스템 관리자들이 시스템을 관리하면서 이 시스템이 사용자를 위한 도구가 아니라 그 자체의 의미를 위해서 존재하는 대상이라고 착각하는 증상. 더 일반적으로는 고객이 있기에 자신의 일도 있다고 생각하지 않고 그저 고객을 귀..

Git(branch_merge_conflict 정리)

* 병합(merge)할 때 충돌(conflict)이 일어나는 경우 1) index.html 파일을 만들어서 "function a() {}' 내용을 입력한다. (master branch) * cat index.html 결과 -> git add와 commit을 진행. 2) iss1 브랜치(branch)를 만들어서 이동한다. * git branch iss1* git checkout iss1 3) index.html 파일을 수정한다. ( iss1 branch ) -> git add와 commit을 진행. 4) master 브랜치로 이동하여 index.html의 내용에 function c() {}"를 추가한다. (master branch) -> git add와 commit을 진행. * master 브랜치의 ind..

Java(클래스(static) 메서드와 인스턴스 메서드)

*이 포스트는 남궁성님의 '자바의 정석'책을 참고하여 작성했습니다. * 클래스 메서드(static 메서드)와 인스턴스 메서드 : 클래스 메서드도 클래스 변수처럼, 객체를 생성하지 않고도 '클래스이름.메서드이름(매개변수)'와 같은 식으로 호출이 가능하다. 반면에 인스턴스 메서드는 반드시 객체를 생성해야만 호출할 수 있다. * 인스턴스 메서드 : 인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드이다. * 클래스(static) 메서드 : 인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하지 않는) 메서드를 클래스 메서드(static메서드)로 정의한다. 1) 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을..

Git(branch_merge 정리)

* merge 하는 방법 ( 작업들은 어느 시점에서 병합해야 할 순간이 필요하다. ) * git log --branches --graph --decorate --oneline 명령을 통해 현재 상태를 본다. * 지금까지 exp에서 작업했던 내용을 master로 병합하는 방법을 살펴보겠다. (exp 를 master로 옮기는 방법) -> 3,4라는 커밋의 내용을 master 브랜치도 갖게 하는 것이 첫번째 목표이다.master 브랜치로 체크아웃한 다음에 merge를 한다. * git merge exp Q. 현재 마스터는 어떤 커밋으로 체크아웃됐나? -> 방금 자동으로 작성된 커밋 메세지가 있는 커밋이 마스터의 최신 커밋이 됐다. 그리고 이 커밋은 두 개의 부모 커밋을 갖는다. 1) 원래 마스터가 가지고 있는..

IT 용어 정리(4일차)

* IT 용어 정리(4일차) 1. 사이클(cycle): 기계어 명령을 수행하는 데 필요한 최소 시간. 클럭 속도가 1GHz인 컴퓨터는 1초에 10억 사이클을 수행한다. 즉, 1초에 10억개의 명령을 수행할 수 있다. 2. 상향식 프로그래밍(bottom-up programming): 초기의 하향식 스타일과 정반대의 방향으로 진행하는 프로그래밍 스타일. 일거리를 작은 단위로 쪼개는 대신 필요한 일을 수행하는 '언어'를 만드는 식이다. 두 방법은 서로 결합될 수도 있다. 3. 서브루틴(subroutine): 한 덩어리의 독립적인 코드. 프로그램의 특정 시점에서 이 코드 덩어리를 실행하고 싶으면 호출해서 사용할 수 있다. 서브루틴을 실행한 뒤에는 서브루틴을 호출했던 부분으로 돌아가 다음 코드를 실행한다. 4. ..

반응형