목록분류 전체보기 (385)
만족
sudo(super user do) sudo는 슈퍼유저 권한으로 특정 작업을 수행한다. 그러나 슈퍼유저가 할 수 있는 모든 동작을 할 수 있는 것이 아니라, 일부 허용된 동작에 관해서만 사용이 가능하다. sudo su root계정으로 전환한다. root계정은 실제로 최고 권한을 가지고 있기 때문에 모든 동작이 가능하다. sudo vs sudo su ... 소유자가 root이고 권한이 771(other: 읽기만 가능)인 어떤 파일(file.txt)이 있다고 해보자. 이 때 그 파일을 수정하려 했을 때, root가 아닌 계정에서 sudo echo "test" > file.txt를 하면 Permission denied상태가 된다. sudo su를 하고 echo "test" > file.txt를 하면 소유자와 ..
대학교 ecampus 플랫폼인 HelloLMS 플랫폼에서의 사소한 버그와 해결방안에 대해 알아보자. 많은 학교에서 해당 플랫폼으로 ecampus를 운영하고 있다. 그럼에도 불구하고, 코로나가 터지고 비대면이 시작된지 1년 4개월 정도가 지났으나 지적되었던 문제점들이 전혀 개선되지 않고 있다. 강의 듣기, 강의자료 다운로드, 로그인 불가능 문제 나는 2021년 1학기에 복학을 했는데, 학기초부터 생긴 문제가 여전히 계속 발생하고 있다. 특정 상황에서 버튼을 눌러도 아무런 반응이 없다는 것인데, 조사해 보니 프로토콜 미통합 문제였다. 모던 브라우저에서는 http와 https의 혼용을 일정 부분 허용하지 않는다. 그런데 해당 사이트에서는 http와 https를 섞어서 사용해 이런 문제가 발생한다. 가령 사이트..
aws lightsail 을 사용 중 메모리 사용률이 100%에 매우 근접하게 되면 시스템이 아예 서버리는 문제가 발생되었다. (그래프가 끊긴 시점에서 전혀 서버가 응답하지 않았다) 특히 크롤링 작업을 할 때나, 사용자 수가 급증할 때 발생하는데 해결법은 aws lightsail console로 입장해 서버를 재시작하는 방법밖에 없는 데다가 재부팅 시간도 길기 때문에 서비스 품질 면에서 이는 매우 좋지 않은 경우다. 특히 저가형 VPS를 사용중일 경우 DB와 Web Server만 구동시키더라도 메모리 부족 현상이 금방 나타나고, 여기서 시스템 다운과 정상 작동 사이에서 아슬아슬한 줄타기를 하게 된다. Memory Swap 설명하기 전에 잠시 운영체제 관련 지식에 대해 설명할 것이다. 고전 OS들은 물리적..
mysql 모듈을 사용하던 중 발생한 오류이다. 동일한 코드였으나 어느 순간 갑자기 이 오류가 발생하기 시작했는데, 문제는 AFTER_FATAL_ERROR이라면서 이전에 오류는 찍히지도 않았다. 모듈 버전이나 노드의 버전이 바뀌면서 뭔가 변경점이 생긴 것 같다. 원인 메시지 원인처럼 쿼리 실행 전 커넥션에 무언가 치명적인 오류가 생긴 경우이다. 찾아보니 커넥션이 이루어진 후 일정 시간동안 쿼리가 발송되지 않으면 자동으로 커넥션이 종료된다고 한다. 커넥션이 끊긴 후 쿼리를 보내려고 하니, 위와 같은 오류가 발생하는 것이다. 해결법 커넥션이 끊기지 않게 하기 위해 코드블럭을 다음과 같이 변경한다 const preventClosingConnection= ()=>{ database.query('SELECT 1'..
하단의 탭 레이아웃의 탭들이 가로를 꽉 채우지 않는 문제가 발견되었다. 재미있는 점은 스마트폰에서는 정상적으로 표시되지만, 태블릿에서만 이렇게 쪼그라든다는 점이다. 해결법 기존의 TabLayout에 몇 가지 속성만 추가하면 된다. 이런식으로 tabGravity, tabMode, tabMaxWidth 속성을 추가해준다. 이제 태블릿에서도 정상적으로 표시된다.
해결법 1 AndroidManifest.xml 에 INTERNET 권한이 선언되었는지 확인한다. 인터넷 권한이 없을 경우 캐시로만 페이지를 로드하게 되는데, 이렇게 되면 방문한 적이 없는(캐시가 없는)페이지에서는 전부 ERR_CACHE_MISS가 발생한다. 해결법 2 binding.apply { webview.webViewClient= WebViewClient() webview.settings.javaScriptEnabled= true webview.settings.builtInZoomControls= true webview.settings.defaultTextEncodingName= "utf-8" //캐시 모드 변경 webview.settings.cacheMode= WebSettings.LOAD_CAC..
CPU/GPU 쿨러는 크게 공기를 이용해 열을 식히는 공랭쿨러와 물을 이용해 열을 식히는 수랭쿨러가 있다. 공랭쿨러의 원리 공랭쿨러는 CPU와 맟닿은 히트파이프로 열을 전달받아 선풍기로 열을 식히는 원리다. CPU 히트파이프 선풍기 구조로 되어 있다. 열은 CPU-> 히트파이프로 전달되고, 선풍기로 히트파이프에 있는 열이 식으면서 CPU의 온도를 낮춘다. 수랭쿨러의 원리 수랭쿨러는 공랭쿨러에 물과 파이프가 추가된다. CPU 히트파이프 파이프(안에 물이 들어있다) 워터펌프 선풍기 구조로 되어 있으며, 물을 이용해 냉각하기 때문에 공랭쿨러보다 가격은 더 비싸지만 쿨링 성능이 훨씬 뛰어나다 쿨링 성능 비교 www.researchgate.net/figure/Temperature-comparison-of-thre..