본문 바로가기

Programming diary

(36)
22. October 23, 2020 깃허브 웹 호스팅 (github pages) 하기 + 404 에러 보통 사람들이 자신의 포트폴리오 사이트? 자신의 웹사이트를 사용할 때 주로 이용하는 깃허브 웹 호스팅 요렇게 1. 자신의 포트폴리오 사이트가 있는 레파지토리 들어가서 Settings 들어가기 2. 세팅에서 Repository name '하고싶은이름'.github.io 으로 이름 맞춰주기 3. 세팅 밑으로 내려서 GitHub Pages 에서 Source - none 에서 master로 변경 4. 그러면 2번에서 생성한 이름이 주소가되어 들어갈 수 있다. 근데 이렇게 404 에러가 뜰 때가 있음 5. 이 경우 해결방법 1) 나의 경우는 1번과 같이 portfolio라는 폴더가 하위에 있었고 이 폴더에 index.html 파일이 있음. 그래서 ..
21. October 22, 2020 토익 점수의 우울함을 뒤로하고.. .... AWS EC2로 서버 연결하기 내 개발환경 1. python + html 파일로 개발 2. Db는 mongoDB / DB 확인하는 프로그램: RoBo 3T 3. Flask로 서비스 배포 4. FTP 클라이언트 소프트웨어: Filezilla 5. Mac OS 1. 서비스 클릭 -> EC2 클릭 2. 스크롤 내리면 인스턴스 시작 (주황색 버튼) 클릭 3. 우분투 서버 18.04 선택 4. 자동으로 프리티어가 선택되는데 동그라미 친 부분으로 선택되어 있는지만 확인 후 시작 버튼 클릭 그리고 또 클릭 5. 팝업창으로 키 페어 창이 뜨는데 키 페어 이름 입력 후 키페어 다운로드 받는데 이 키페어 엄청 중요하니까 잘 보관하세요. 프로젝트 이름으로 저장하는거 추천. 6. 터..
20. October 18, 2020 Deadlock 이란? 다중처리 환경에서 다수의 프로세스가 특정자원의 할당을 무한정 기다리는 상태 예를 들어, 화장실 수리공 김씨와 최씨가 있다. 김씨는 뚫어뻥을 가지고 일을 하고 있지만 이제 최씨가 가지고 있는 스패너가 필요하고, 최씨는 스패너를 가지고 일을 하고 있지만 이제 김씨가 가지고 있는 뚫어뻥이 필요한 상황. 서로 상대방이 가지고 있는 공구가 자기한테 할당되기를 무한정 기다리고 있는 상태를 교착상태. Deadlock이라고 한다. Deadlock 발생 조건 교착상태는 아래 네 가지 조건을 모두 동시에 충족할 때 발생 1. 상호배제 (Mutual Exclusion) : 한 자원에 대한 여러 프로세스의 동시 접근 불가 2. 점유와 대기 (Hold and Wait) : 자원을 가지고 있는 상태에서 다..
19. October 13, 2020 Geolocation API 개념과 사용법 사용자의 현재 위치를 지도에 표시하거나 위치 기반 개인화 정보를 제공하는 등, 웹 앱에서 위치 정보를 가져와야 하는 경우가 종종 있습니다. Geolocation API는 navigator.geolocation을 통해 접근합니다. 이 때, 사용자의 브라우저는 위치 정보 접근 권한을 요청하게 되고, 사용자가 허가할 경우 현재 장치에서 사용 가능한 최선의 방법(GPS, WiFi, ...)을 통해 위치를 알아냅니다. 위의 과정이 끝난 후, 코드에서는 몇 가지 다른 방법으로 위치 정보를 가져올 수 있습니다. Geolocation.getCurrentPosition(): 장치의 현재 위치를 가져옵니다. Geolocation.watchPosition(): 장치의 위치가 바뀔 ..
18. October 11, 2020 싱글톤 패턴 -애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하게 해서 하나의 인스턴스만 생성되게 하고, 그 인스턴스가 필요할 때마다 똑같은 인스턴스를 계속 만들어내는 게 아니라 이미 만들어진 인스턴스를 사용하게 함 싱글톤 패턴을 쓰는 이유? 1. 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리낭비 방지 2. 싱글톤으로 만들어진 인스턴스는 전역인스턴스이기 때문에 다른 인스턴스들의 데이터 공유 용이 3. DBCP(DataBase Connection Pool 의 약자로 DB와 커넥션을 맺고 있는 객체를 관리하는 역할)처럼 공통된 객체를 여러 개 생성해서 사용해야 하는 상황에서 많이 사용 4. 처음 한번만 생성하기 때문에 두번째 호출때부터는 객체로딩시간이 현저..
17. October 7, 2020 가비지 컬렉션(Garbage Collection) :1959년 무렵 리스프의 문제를 해결하기 위해 존 매카시가 개발한 메모리 관리 기법 중 하나. 1) 시스템에서 더 이상 사용하지 않는 동적 할당(new)된 메모리 블록을 찾아 자동으로 다시 사용 가능한 자원으로 회수 하는 것이다. 2) 개발자가 할당된 메모리 공간을 직접 해제시킬 필요가 없다. 3) 따라서, 자바에서는 개발자가 메모리 문제를 신경 쓰지 않아도 된다. 장점: 쓰레기 수집이 지원되는 환경에서는 프로그래머가 동적으로 할당한 메모리 영역의 전체를 완벽하게 관리할 필요가 없어진다. 쓰레기 수집은 다음과 같은 버그를 줄이거나 완전히 막을 수 있다. 유효하지 않은 포인터 접근: 이미 해제된 메모리에 접근하는 버그를 가리킨다. 만약 이 포인터가 해제되..
16. October 4, 2020 웹 브라우저의 HTML문서 렌더링 과정 1. 불러오기 로더(Loader)가 서버로부터 전달 받는 리소스 스트림을 읽는 과정. 읽으면서 어떤 파일인지, 데이터인지 파일을 다운로드할 것인지 등을 결정한다. 2. 파싱 (Phasing) 웹 엔진이 가지고 있는 HTML/XML 파서가 문서를 파싱해서 DOM Tree를 만든다. 3. 렌더링 트리 만들기 DOM Tree는 내용을 저장하는 트리로 자바스크립트에서 접근하는 DOM객체를 쓸 때 이용하는 것이고 별도로 그리기 위한 트리가 만들어져야 하는데 그것이 렌더링 트리다. (그릴 때 필요없는 head, title, body태그등이 없음 + display:none 처럼 DOM에는 있지만 화면에서는 걸러내야할 것들을 걸러냄) 4. CSS 결정 CSS는 선택자에 따라서 적..
15. October 2, 2020 SQL: 관계형 데이터베이스에서 사용하는 언어 관계형 데이터베이스? 데이터베이스의 한 종류로서, 테이블로 이루어져있다. 이 테이블은 다시 키(key)와 값(value)의 관계를 나타낸다. 관계형 데이터베이스는 테이블 간의 관계를 분명하게 설정하고, 제약조건들을 사용하여 정확한 데이터들을 설정하는 것이 중요하다. 정확한 데이터란 메모리 공간을 차지하고 있는 안 쓰이는 데이터를 제외한 개체와 속성간에 밀접한 관련이 있는 데이터를 의미한다. 즉, 관계형 데이터베이스는 불필요한 데이터를 제약조건으로 걸러내고 테이블간에 밀접한 관련이 있는 필요한 데이터들만 남아있는 데이터베이스를 의미한다. 관계형 데이터베이스의 특징 1. 데이터의 분류, 정렬, 탐색 속도가 빠르다. 2. 오랫동안 사용된 만큼 신뢰성이 높고, 어떤..