[리눅스커널] 커널의 특정 함수 어셈 확인하기

리눅스 커널을 컴파일하게되면 System.map이라는 폴더가 나옵니다. 위 파일을 리눅스 커널에 들어 있는 심벌에 대한 정보를 담고있습니다. 한 예로 sys_sigreturn_wrapper라는 함수의 코드를 확인해볼려고합니다. sys_sigreturn_wrapper의 범위는 0x80101834~0x80101840까지입니다. 그러면 다음과 같은 커맨드를 입력해줍니다.

오일러의 각에서 짐벌락

오일러의 각은 X,Y,Z 축을 따로따로 곱하게되어 축자체가 사라지는 현상이 발생한다. x -> y -> z순으로 계산할때 x축 회전시 y축 z축 동시에 회전하게되고 y축 회전시 z축도 같이 회전하게 된다. 이러한 문제때문에 x축과 z축이 겹쳐지는 발생한다. 이를 회피하는 방법으로는 회전을 한번에 계산하는 쿼터니언을 사용하면 된다. 아래를 영상을 참조하면 좀더 이해할수 있다.

MBCS에서는 한글을 어떻게 인식할까?

우리가 알고있는 아스키 코드는 위와 같지만 비주얼 스튜디오에서 아래와 같은 코드를 치게되면 한글이 나오는걸 확인할수있다. 어떻게 윈도우는 이를 인식할까? 답은 0x80이 넘는 값들은 자국에서 사용하는 언어를 덧붙이게 된다. 이를 코드페이지라고 하며 한국인 경우 EUC-KR이고 다음과 같은 언어 세트가 있다. EUC-KR, EUN-CN, EUC-JP 이를 멀티바이트라고 말하고 이를 하나로 바꾼것이 유니코드이다.

redis 만료키 삭제

대부분의 DB가 만료키를 삭제하는 로직이 있습니다. 이 기능을 활용하는 것들이 많죠. 근데 TTL같은 경우 redis에서 가장 자주쓰여서 코드를 확인해보았습니다. redis에서 삭제하는로직입니다. 해당코드는 redis서버내에서 Cron을 주기적으로 돌려 해당코드를 실행합니다. 해당 주기는 redixServer에 hz 멤버변수를 사용합니다.. 본론으로 들어와서 만료된 키는 따로 자료구조에 저장합니다. 그 자료구조는 멤버변수를 expires 포인터로 관리합니다. 이 곳에 데이터가 있으면 한번에 최대 20개를 제거시도를 소개 더보기 redis 만료키 삭제[…]

V언어

금일 페북에 V언어라는게 자주 올라왔습니다. 그래서 사이트를 가보고 소개글을 보고 이런언어가 있어? 라는 생각을 하게되었습니다.. 여튼 일단 1년두 안된 프로젝트여서 얼마나 대단한지 큰 기대를 가주고 코드를 직접 보았습니다. 근데… 코드를 까보니 사실상 언어긴합니다만.. V 코드를 C로 바꾸고 GCC로 컴파일합네여.. 이말은.. 걍 C입니다. 클린 C… 예로 다음과같은 코드가 있습니다. println(‘hello wolrd’) 을 입력받으면 바로 아래와 같은 소개 더보기 V언어[…]

개발로 웹 동시 접속자 늘리는 두가지 방법

일단 웹 백엔드 개발자로 2년차 밖에 안된 주니어니 틀린내용이 있을수도 있고 부족한 내용이 있을수 있습니다. 이는 댓글이나 메일로 보내주시기바랍니다. AWS와 같은 기술이 늘면서 서버를 여러개를 두는것과 서버의 사양을 올리는건 이제 흔한 개념이 되어 되어버렸고 인프라로 쉽게 해결 할수 있게되었지만 그럼에도 불구하고 대부분 비용문제로 인해서 좋은 서버를 두지못하거나 서버의 개수를 쉽게 못올리는 경우가 많습니다. 그런분들을 위해서 소개 더보기 개발로 웹 동시 접속자 늘리는 두가지 방법[…]

통신사 테더링 제한

최근에 폰을 변경을 해서 5G로 변경하였습니다. 하지만 테더링 도중에 데이터 속도전달이 현저히 떨어지는걸 확인하였고 좀 바로 KT사이트에서 데이터를 확인하였습니다. 아래와 같이 출력이 무제한이지만 테더링쪽에 관련해서는 20기가로 제한이 따로 잡혀있는걸 확인할수 있습니다. 또한 이 터더링 데이터가 다 떨어졌을떄 일반적인 데이터 사용이 거의 불가능할정도로 느립니다. 어떻게 이 값을 측정할까? 라는 고민을 해야했다. 왜냐하면 통신사에서 데이터량은 테더링 데이터와 소개 더보기 통신사 테더링 제한[…]