CS

    [CS] Main Memory

    [CS] Main Memory

    메인 메모리(main memory) == 주기억장치 == Random Access Memory(RAM) CPU가 직접 접근할 수 있는 기억 장치 프로세스가 실행되려면 프로그램이 메모리에 올라와야 한다 RAM은 DRAM(주기억장치), SRAM(캐시, 레지스트리)가 있음 CPU는 레지스터가 지시하는대로 메모리에 접근하여 다음에 수행할 명령어를 가져옴 명령어 수행 시 메모리에 필요한 데이터가 없으면 해당 데이터를 우선 가져와야 함 이 역할을 하는 것이 바로 MMU. MMU (Memory Management Unit, 메모리 관리 장치) CPU 코어안에 탑재되어 가상 주소를 물리주소로 변환해 준다. 메모리 보호나 캐시 관리 등 CPU가 메모리에 접근하는 것을 총 관리해주는 하드웨어 메모리의 공간이 한정적이기 때..

    [CS] UI & UX에 대해

    개발에 대해 배우고 프로젝트를 시작하면 가장 많이 듣고 경험하는 개념인 UI & UX에 대해 알아보려고 한다 UI & UX 디자이너라는 직군이 따로 있을정도로 쉽지만 중요한 개념이다 Why? 우리가 개발을 하는 이유는 사용자를 위한 개발을 하기 때문 UI (USER INTERFACE) UI는 사용자가 제품/서비스를 사용할 때, 마주하게 되는 것, 화면 즉, 사용자가 제품/서비스와 상호작용할 수 있도록 만들어진 매개체 따라서 UI 디자인은 폰트, 칼라, 레이아웃과 같이 사용자가 마주하게될 시각적인 디자인 UX (USER EXPERIENCE) UX는 사용자 경험의 약자로, 사용자가 어떠한 서비스/ 제품을 직간접적으로 이용하면서 느끼는 종합적인 만족을 의미 UX 디자인이란 사용자에게 만족스러운 경험을 제공하는..

    [CS] 웹에서 일어나는 Push, Pull, Polling, WebSocket에 대해

    Push 클라이언트의 요청이 오면 응답해주는 방식이 아닌 서버가 클라이언트에게 공지사항과 같은 무엇인가 통지해주기 위한 방법이다 다시 말해 클라이언트의 요청이 없이도 서버는 클라이언트에게 응답하는 방식이다 웹 푸시(Web Push): 웹사이트 방문자에게 ‘웹 브라우저‘를 통해 푸시 알림을 수신하는 기능 앱 푸시(App Push): 스마트 기기에 설치된 ‘앱‘을 통해 운영자가 제공하는 정보를 수신하는 알림 기능 Pull 반대로 서버의 데이터를 주기적으로 클라이언트가 가저가는 것 혹은 달라고 서버에 요청하는 것을 말한다. Polling Real-Time Web을 위한 기법으로 특정 주기적으로 서버와 응답을 주고 받는 방식 클라이언트가 평범한 http request를 서버로 계속 날려서 이벤트 내용을 전달받는..

    [CS]CSRF & XSS & CORS에 대해

    스프링 시큐리티에 대해 공부하던 중 CSRF & XSS에 대한 개념이 많이 언급되서 정리를 해보려고 한다 사실 여러번 들어보고 개념정도는 말할 수 있지만 좀 더 자세히 공부를 해보는게 좋을 것 같다 CSRF(Cross-Site Request Forgery), 사이트 간 요청 위조 말 그대로 사용자가 자신의 의지와는 무관하게 사이트 간의 통신이 일어나는 중에 요청(Request)를 위조해서 공격한다는 의미 대표적으로 2008년에 옥션에서 CSRF로 인한 해킹사건이 일어났었다 옥션 관리자 중 한명이 관리 권한을 가지고 있는 상태에서 회사 내에서 작업하던 중 메일이 날라왔는데 그 메일을 열어볼 때 해킹을 하여 시원하게 털린 기록이 있음 ** 여기어때는 2017년에 SQL Injection으로 털림 대처방법 S..

    [CS] HashTable & Set & Map에 대해

    [CS] HashTable & Set & Map에 대해

    Set 집합 순서가 없다. 집합이므로 중복된 데이터가 들어갈 수 없다. 중복되지 않는 숫자(데이터)를 구할 때 사용하면 유용하다. 순서가 없고, 중복을 허용하지 않는다 HashSet 순서를 보장 하지 않는 set TreeSet Binary Search Tree 구조 추가와 삭제에는 시간이 좀 더 걸리지만, 정렬 및 탐색에 성능이 좋음 오름차순으로 데이터를 저장 TreeSet set1 = new TreeSet();//TreeSet생성 Map Key와 Value로 이뤄진 데이터의 집합 Key의 중복은 허용되지 않고, Value의 중복은 가능하다. HashMap 순서를 보장하지 않는 map, Key와 Value로 null이 허용된다. HashTable 동기화를 지원하는 map, Key와 Value로 null이..

    Git Flow 전략에 대해

    Git Flow 전략에 대해

    # 브랜치 확인 git branch # 브랜치 전환하기 git checkout # 브랜치 작성과 체크아웃을 한번에 git checkout -b # 브랜치 삭제 git checkout -d git branch -d # 원격저장소의 브랜치 삭제하기 명령어 git push origin -d # 생성한 branch를 origin Repository에 push하기(이래야 완전한 브랜치 완성) git push --set-upstream origin # 특정 branch의 내용만 로컬로 clone 하기 git clone -b 현재 위치해있는 로컬 디렉터리에서 브랜치를 만들고 push를 하게되면 현재 값들이 branch에 저장된다Ex) master - test1.txt, develop - test2.txt가 있는데 현..