본문 바로가기

전체 글142

데이터 보관의 변천 메인메모리 메인 메모리는 저장공간으로써의 한계가 있다 - 휘발성 - 비싸다 보조 기억 장치 File Pile file Record File Sequential File - 사람이 생각하는 순서와 물리적 순서가 맞을때 시퀀셜이라는 말을 쓴다. 장점 검색 속도가 빠르다. 바이너리 검색이 가능하다. 미리 정렬되어 있다. 성능을 위한 다른 공간 필요가 없다. 단점 정렬 한 것으로만 검색이 가능하다 Indexed file 검색이 많은 경우, 갱신이 많을 경우 비율을 보아서 색인을 한다. 별도의 인덱스 파일을 만든다. 정렬된 데이터 뭉치를 따로 만드는 행위이다. 장점 검색이 빠르다. 인덱스 파일을 만들어 빠르게 찾을 수 있다. 단점 갱신 시간이 느리다. 갱신할 때 재 정렬 발생함. 새로 추가할때도 인덱스 추가하고 .. 2021. 4. 4.
Database 정의: Definition of Database 정의 데이터베이스를 간단히 정의하면 아래와 같다. 한 조직의 여러 응용 시스템들이 공용(Shared)하기 위해 통합(Integrated), 저장(Stored)한 운영(Operational) 데이터의 집합 그 외에 다양한 의미로 정의할 수 있다. - 통합된 대규모 데이터 집단 - 실세계의 조직체를 모델링한 결과물 구조 데이터베이스는 크게 논리적(logical organization) 구조와 물리적 구조(phsical organiztion)로 나눌 수 있다. 논리적 구조는 사용자 관점에서 본 데이타의 개념적 구조이다. 피지컬 구조는 저장 관점에서 본 데이타의 물리적 배치이다. 저장장치에 저장된 데이타의 실제구조가 여기에 해당하며 추가 정보(인덱스, 포인트 체인, 오버플로우 등)도 여기에 속한다. 특징 통합되.. 2021. 4. 3.
Data in Programing A program is a combination of algorithms and data. 프로그램은 알고리즘과 데이터의 조합이며, 데이터는 상태로 관리되게 된다. 2021. 4. 3.
정보 시스템과 응용 시스템 : Information System and Application System 다듬지 않은 글입니다. 1. 정보와 시스템 시스템이라 여러가지가 연결되어 하나의 무언가를 하는 것을 의미한다. (ex 출결 강의 시스템, 강의 시스템) 시스템은 하드웨어, 소프트웨어, 네트워크 등으로 구성될 수 있다. 정보의 관점에서 시스템은 언제든지 대체가 가능하다. 하드웨어, 소프트웨어는 도구에 불가능하다. 하지만 정보는 대체가 불가능하다. 떄문에 정보는 굉장히 중요하다. 2. 정보 시스템 한 기관을 위해 데이타를 수집, 조직, 저장하고 정보를 생성, 분배하는 수단 3. 응용 시스템 - 한 부서를 위한 서브 시스템 - 응용 프로그램(application program)으로 구성 2021. 4. 3.
정보와 데이터: Information and Data 서론 정보의 중요성은 꾸준히 제기되어 왔다. 정보화시대에 살고 있는 우리는 원하는 정보를 굉장히 빠르게 또 손쉽게 얻을 수 있다. 지구 반대편 소식 및 기술을 쉽게 접할 수 있음이 증명한다. 시간이 흐를 수록 데이터의 양은 방대해지고 독점 될 것이며 중요해질 것이다. 자연스레 데이터를 정보로 바꾸는 기술과 능력은 더 중요해질 것이다. 근간이 되는 데이터 그리고 정보를 이해하기 위해 관련 내용을 정리해보고자 한다. Data 데이터란 무엇일까? 위키 백과 설명에 따르면 아래와 같다. 더보기 자료는 문자, 숫자, 소리, 그림, 영상, 단어 등의 형태로 된 의미 단위이다. 보통 연구나 조사 등의 바탕이 되는 재료를 말하며, 자료를 의미있게 정리하면 정보가 된다. 즉, 자료는 또한 "주어진" 자료의 정신에 반대하.. 2021. 4. 3.
2-1 웹 브라우저의 작동 방식 (기본 동작) 이전 글에서 웹에 대한 기본 개념들에 대해서 알아보았다. 이번엔 사용자가 웹 브라우저를 통해 웹 페이지 요청을 보낼 경우 어떤식으로 브라우저가 작동하는지 알아보겠다. TL;DR - 브라우저의 작동방식이 왜 프론트 성능에 중요한지 2-2 에서 다루겠다. 2021. 3. 14.
1. 웹에 대한 기본 개념(브라우저, 서버, 클라이언트) 웹에 대한 기본적인 내용들이다. 하이퍼텍스트(Hyper Text) 란? - 참조(하이퍼링크)를 통해 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트이다. - 주로 컴퓨터나 다른 전자기기들을 통해 표시된다. - 웹이라는 것은 컨텐츠들이 하이퍼텍스트로 묶인 집합이라고 볼 수 있다. 웹 브라우저(Web Browser)란? - 웹 서버와 통신(쌍방향으로)하여 HTML 문서나 파일을 출력하는 GUI(그래픽 사용자 인터페이스) 기반의 응용 소프트웨어이다. 웹 서버란(Web Server) - 인터넷을 통해 웹 서비스를 제공하는 컴퓨터의 하드웨어 또는 소프트웨어를 의미한다. 클라이언트(Client)란? - 인터넷에 연결된 컴퓨터나 모바일 기기 등을 이용해 웹 서비스를 이용하는 컴퓨터 또는 이용자를 의미한다.. 2021. 3. 14.
Xcode iOS Device 목록 표시안되는 문제 Xcode 를 업데이트 한 상태이면 Component 를 설치했는지 먼저 확인해보자 ----- 1. 우선 XCode를 종료합니다. 2. 파인더에서 프로젝트 파일(.xcodeproj)을 가르키고 마우스 오른쪽 클릭을 합니다. 3. 팝업 메뉴에서 '패키지 내용 보기'를 클릭합니다. (.xcodeproj 파일은 사실상 폴더입니다. 맥에서는 특정 폴더를 패키지라는 파일 형식으로 사용합니다.) 4. 그러면 파인더에서 .xcodeproj 패키지 내부의 'xcuserdata' 라는 폴더를 볼수 있습니다. 그 폴더로 들어갑니다. 5. 한개 이상의 .xcuserdatad 파일들이 보일 겁니다. 모두 삭제하여 xcuserdata 폴더를 빈폴더로 만듭니다. 6. 파인더를 닫고 다시 XCode를 실행하여 해당 프로젝트를 엽니다. 2020. 11. 6.
테이블 뷰 최적화 방법 버스트 트래픽이 발생할 경우 테이블 뷰를 최적화 하지 않으면 앱의 성능이 약화될 수 있다. 1. 테이블뷰 성능을 낮추는 행위를 피해라! 테이블 뷰를 느려지게 하는 것들이 여러개 있다. 셀 크기가 동적인데 추정 높이와 너무 다를 경우 오퍼레이션큐를 사용하면 됩니다! 2. 비동기 네트워크에 대한 처리 셀이 불러와지면 이미지 다운로드나 API 호출과 같은 비동기 작업 해야 하는 셀들이 있다. 이 상태에서 스크롤을 빠르게 할 경우 한번에 너무 많은 작업을 실행하게 되며 앱 사용성이 극도록 낮아진다. 여러가지 해결 책이 있는데 한번 확인해보자 Prefetching https://developer.apple.com/documentation/uikit/uicollectionviewdatasourceprefetchin.. 2020. 10. 20.
Golang 유닛 테스트 코드 작성 Go 는 테스트 프레임워크를 내장(build-in)하고 있다. testing페키지를 이용해서 유닛 테스트 코드를 만들고 go test명령으로 테스트를 수행하면 된다. 유닛 테스트 파일의 이름은 반드시 _test.go로 끝나야 한다. 설명은 아래 문서로 대체한다. 꼭 한번 읽어보는 걸 추천한다 golang.org/pkg/testing/ 테스트 코드는 대충 아래와 같은 패턴을 갖는다 package storage import ( "testing" ) func Test_Add(t *testing.T) { result := add(1, 2) if result != 3 { t.Fatal("this is impossible!") } } 본인은 Gorm 도입 중이여서 하나하나 테스트 코드를 작성하면서 기능을 구현하고 .. 2020. 10. 20.