목록정리 (19)
어읽로꾸거
오픈소스 압축 유틸리티 xz의 보안 이슈(백도어)로 인하여 이번달 초에 이슈가 된 적이 있었다. 이 보안 이슈는 기존의 의도되지 않은 오픈소스의 보안 이슈와 달리 악의적으로 계획된 보안 이슈 라는 점에서 차이점이 있다. (악의적 어태커가 xz 프로젝트에 22년부터 지속적으로 커밋을 하며 오픈소스에 기여하는 척을 하며 관리자에게 신뢰를 얻고, 결국 오픈 소스 관리 권한을 얻어 24년 2월 백도어가 담긴 tarball 를 release 함, 그리고 3월 29일에 MS 개발자에 의해 발견 됨. 백도어는 소스코드에 포함되어 있던게 아닌, 테스트 파일에 포함되어 있었고, 빌드 과정에서 해당 백도어를 포함하여 빌드하도록 빌드 설정 파일을 넣음) 이 글에선 해당 XZ가 어떤 식으로 백도어가 동작하는 지에 대한 방법 ..
pip3 freeze > delete.txt pip3 uninstall -r delete.txt -y 시원하게 복붙합시다
Buffered Stream BufferedInputStream(InputStream in) BufferedInputStream(InputStream in, int bufferSize) BufferedOutputStream(OutputStream out) BufferedOutputStream(OutputStream out, int bufferSize) default input buffer = 2048 default output buffer = 512 BufferedOutputStream 네트워크에 용이 - TCP/IP 헤더 40바이트 - 1kb를 보낼때 1바이트씩 보낼 경우 41kb를 보냄 - 1kb를 한꺼번에 보낼 경우 1.04kb를 보냄 BufferedInputStream read() called =..
불 대수에서 중요한 부분은 다음과 같다. x + (y * z) = (x+y) * (x+z) 일반 대수에서는 이게 말이 안되는데 불 대수에서는 말이 된다. 하지만 불 대수는 된다
가끔 z-index가 왜 작동하지 않는 것 처럼 보이는 문제가 있다. 이런 경우 대부분의 경우 해결책은 다음과 같다. position 속성을 확인해보자(static이 아니어야 한다) 부모 요소의 z-index가 다른 요소의 z-index보다 낮다면, 자식 요소가 아무리 z-index가 높아도 다른 요소에 의해서 가려진다. 부모 요소의 z-index를 확인해보자. 지금까지 대부분 1번, 가끔씩 2번 경우를 해결하면 정상적으로 작동하였다.
InputStream InputStream - abstract class - read : 소스로부터 읽는 함수 - skip : 소스에서 포인터를 넘기는 함수 - available : 소스에서 읽을 수 있는 바이트의 수를 가져오는 함수 Polymorphism readSomething(InputStream) => 어떤 인풋 스트림이든 가능 readSomething(FileInputStream) => 파일 인풋 스트림만 가능 read() read는 0-255중 하나의 바이트를 int로서 리턴함 (자신이 읽은걸 반환함) 다 읽으면(EOF, EOS) -1 가져옴 블로킹 메소드 => 읽을때까지 기다림 abstract로 구현되어있어 서브클래스에서 구현되어야함 (1번 1개의 바이트를 읽는 것은 인접한 256 혹은 51..
Synchronous vs Nonblocking sync => 완료될 때까지 기다림 async => 완료될 때까지 안기다림 OutputStream - write : 작성하는 함수 => ASCII에 해당하는 값을 출력함 - flush: 버퍼에 저장되어있는 데이터(꽉 차기 전에)를 쓰도록 하게 하는 함수 (일부는 바로 쓰지 않고 버퍼에 저장함) - close: 닫기 1. write(int b:소스) 파라미터: b (싱글 언사인드 원바이트)[0,255] b를 아웃풋 스트림에 작성함(255 범위 넘어가면 가장 작은 바이트가 작성됨) => 257일 경우 1출력 * abstract로 구현되어 이것을 출력해야만함 2. write(byte[] data) TCP/IP의 헤더 최소 40바이트, 따라서 배열로 묶어서 보내는..
r진법, N은 숫자, n자리수 1. r-1의 보수 (2진법의 경우 1의 보수) r-1의 보수. 2진법과 10진법을 예로 들면 이렇다.원래 수(2진법)1의 보수101101010010100001010011110101원래 수(10진법)9의 보수123487658902310976특징) 1. 원래수와 r-1의 보수의 자리수마다 더하면 r-1이 됨2. r의 보수(2진법의 경우 2의 보수) r의 보수. 2진법과 10진법을 예로 들면 이렇다.원래 수(2진법)2의 보수101101010011100001010011110110111000001000원래 수(10진법)10의 보수123487668902310977123000877000r-1의 보수와의 차이점은 1만큼 차이가 난다. 따라서 r-1의 보수에 1을 더해주면 r의 보수가 된..