분류 전체보기
-
암호화끄적끄적 2021. 6. 19. 18:52
https://myblog.opendocs.co.kr/archives/907 [암호화] 1. 기본지식 | Opendocs * 사전적 의미 암호화(encryption)는 정보를 노출시키지 않기 위해 특정 알고리즘을 이용하여 암호화된 형태로 변형하는 것을 말하며 이에 역행하는 과정을 복호화(decryption)라고 하며 이로써 암호 myblog.opendocs.co.kr 암호화의 발전 안전성 보완을 위해 임의의 문자열값인 '암호화키'를 활용 평문과 암호화키를 바이너리 형태로 변환한 후 XOR연산에 따라 암호화&복호화 (XOR연산- 같으면0 다르면1) ^-XOR연산 a^b=c, c^b=a 추가적으로 c^a=b, a^c=b 이다. a 0101 0111 평문 b 0000 0101 암호화키 -------------..
-
OAuth 2.0Firebase(Android) 2021. 6. 16. 13:24
(구글 플레이 스토어x) 개발자 콘솔에 앱을 등록하면 앱마다 Client Id, Client Secret이 주어진다. ex) Client Id- 1, Client Secret- 2 앱 등록후 앱 셋팅과정에서 Redirect url을 등록한다. ex) Redirect url- https://client/callback 앱을 등록한 시점에서 서로 알고 있는 정보들 Resource Server 입장- Client Id, Client Secret, Redirect url Client 입장- Client Id, Client Secret, Redirect url 구글 로그인을 예로 들어보자. MyApp- Client(구글 서비스에 대해 클라이언트에 해당) MyApp을 사용하는 구글에 회원가입에 되어있는 사용자- R..
-
Thread(5) synchronized를 이용한 스레드 동기화java/Thread 2021. 6. 8. 22:04
스레드의 작업 내용이 짧으면 우리가 원하는 결과가 나타나지 않을 가능성이 생기게 된다. 일단 이 문제가 다른 결과를 보이는 것은 뒤에 가서 설명하고 먼저 스레드의 동기화 필요성에 대해서 설명한다. 스레드의 동기화 한 스레드가 진행중인 작업을 다른 스레드가 간섭하지 못하게 하는것 동기화의 필요성 스레드간에는 공유하는 자원이 있기 때문에 이 공유자원들에 대하여 여러 스레드에서 동시에 작업하면 문제가 발생할 수 있다. 그렇게 떄문에 스레드의 동기화가 필요하다. 두 스레드에서 하나의 Counter객체를 공유해서 사용해서 발생하는 문제를 봐보자. 하나의 Counter 클래스는 count값과 count값을 1증가시키는 increase메서드가 있다. Counter sharedCounter= new Counter();..
-
[Java] 메모리 stack,heapjava 2021. 5. 31. 18:42
스레드를 공부하면서 공유 객체에 대해 공부할 필요가 생겼다. 인터넷의 자료들을 바탕으로 매우 간단하게 정리하였다. 읽기전에 알아야할 내용들 멤버변수, static변수(클래스 변수), 지역변수 클래스 로딩이 언제 수행되는가. 클래스 로딩시 static변수 초기화 작업 및 static초기화 블럭 수행 참조 값을 저장하는 참조형 변수 , 실제 값을 저장하는 primitive변수 메소드 영역( 클래스 로딩시 static변수가 저장되는 곳) 힙 영역( 모든 객체가 저장되는 곳. 객체내부의 인스턴스 변수또한 힙에 저장됨, 동적 메모리, 주로 긴 시간 존재해야 할 데이터가 저장됨, GC의 대상, 메모리의 낮은 곳에서 높은 곳 방향으로 메모리 할당이 이루어짐) 스택 영역( 메서드 연산시 잠깐 잠깐 올라갈 변수를 올리는..
-
[Thread] Daemon Threadjava/Thread 2021. 5. 27. 22:03
데몬 스레드는 일반 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드 일반 스레드가 모두 종료되면 데몬 스레드는 자동 종료된다. 일반 스레드의 보조역할을 수행하므로 일반 스레드가 없으면 존재의미가 없기 때문이다. 데몬 스레드- 가비지 컬렉터, 워드프로세서의 자동저장, 화면자동갱신 등이 있다. 데몬 스레드는 일반 스레드의 작성방법과 실행방법이 같으며 스레드를 생성한 후 실행전에 setDaemon(true)를 호출하기만 하면 된다. 데몬 스레드가 생성한 스레드는 자동적으로 데몬 스레드가 된다. 스레드가 데몬 스레드인지 일반 스레드인지 확인하는 메서드 스레드참조변수.isDaemon() -> boolean리턴 데몬 스레드는 무한루프와 조건문을 이용하여 실행 후 대기하고 있다가 특정 조건이 만족되면 작업을 수..
-
[Thread] Thread, ThreadGroupjava/Thread 2021. 5. 27. 20:38
10페이지 분량의 글을 나름 열심히 정리했지만 헷갈리는 것이 있고 독자로 하여금 포스팅 이해가 지맘대로 일 것 같아서 싹다 새로 정리하여 글을 남긴다. 아오!!!!쭈바 스레드 그룹은 서로 관련된 스레드를 그룹으로 다루기 위한 것이다. 스레드 그룹에는 스레드 뿐만 아니라 스레드 그룹도 포함시킬 수 있다. 보안상의 이유로 도입된 개념으로, 자신이 속한 스레드 그룹이나 하위 스레드 그룹은 변경할 수 있지만 다른 스레드 그룹의 스레드를 변경할 수는 없다. public class ThreadGroup implements Thread.UncaughtExceptionHandler { private final ThreadGroup parent; String name; //스레드 그룹의 이름 int maxPriority..
-
Process,Task,ThreadComputer Science 2021. 5. 23. 17:32
프로세스 부모 프로세스 -자식 프로세스 관계로 존재한다 부모 프로세스에서 fork로 자식 프로세스를 만든다. 프로세스는 최소하나의 스레드로 구성된다. 프로세스는 독립적이므로 프로세스간에 메모리 자원(code, data, heap, stack)을 공유하지 않는다. 프로세스끼리는 IPC(inter process communication)을 통해 통신 멀티 프로세스? 메모리 자원을 공유하지 않으므로 프로세스 전환시 context switching시간이 길다. 한 어플리케이션(한 프로그램)에서 여러개의 프로세스로 나눠서 사용하는 것? 하나의 프로세스가 죽더라도 프로세스 간에는 메모리 자원을 공유하지 않으므로 다른 프로세스에 영향을 주지 않아 안정성이 높다. 메모리 자원을 공유하지 않는대신 프로세스를 만들 때 마..
-
해상도 기초 개념필수지식 2021. 5. 18. 14:08
https://blog.naver.com/PostView.nhn?blogId=whale_song&logNo=221001590008&parentCategoryNo=&categoryNo=40&viewDate=&isShowPopularPosts=true&from=search# 01. 해상도 / HD? 풀HD? 4K? 블로그를 다시 시작해야겠다고 결심하게 된 가장 큰 계기는 영상이었다.영상에 대해서 궁금한 것들을 찾다... blog.naver.com https://blog.naver.com/PostView.nhn?blogId=whale_song&logNo=221001590008&parentCategoryNo=&categoryNo=40&viewDate=&isShowPopularPosts=true&from=sear..