목록전체 글 (390)
만족
셀렉트, 프로젝션은 릴레이션을 피연산자로 갖는 단일 연산자이고, 디비전은 두개의 릴레이션을 피연산자로 갖는 이항 연산자이고, 반환하는 값은 모두 하나의 릴레이션이다. 셀렉트(SELECT) 시그마 기호σ, 조건(선택), 피연산자로 이루어진 단일 연산자이다. 주어진 릴레이션에 대해 원하는 조건을 만족하는 튜플을 뽑아 새로운 릴레이션을 만든다. σ이름='홍길동'(국민) 하면 이름 주민등록번호 홍길동 123456-1234567 홍길동 234567-2345678 처럼 나온다. 결과값은 피연산자의 튜플 갯수보다 작거나 같다. 프로젝션(PROJECTION) 프로젝션 기호∏, 애트리뷰트 집합, 피연산자로 이루어진 단일 연산자이다. 주어진 릴레이션에 대해 각 튜플에서 원하는 애트리뷰트 집합으로만 이루어진 새로운 릴레이션..
집합 연산자는 이항 연산자로, 피연산자 두개가 필요하며 피연산자는 릴레이션이여야 한다. 합집합 릴레이션 R과 S의 튜플을 모두 합쳐 새로운 릴레이션 T를 만든다. 단 관계 대수에서 릴레이션은 중복 튜플을 허용하지 않으므로 중복 튜플은 하나만 표시한다. 교집합 릴레이션 R과 S의 튜플에서 중복되는 튜플만을 포함하는 새로운 릴레이션 T를 만든다. 단 관계 대수에서 릴레이션은 중복 튜플을 허용하지 않으므로 중복 튜플은 하나만 표시한다. 차집합 릴레이션 R에서 S에 존재하는 튜플들을 제외한 새로운 릴레이션 T를 만든다. 곱집합 릴레이션 R과 S에 대해 모든 가능한 튜플 조합을 가진 새로운 릴레이션 T를 만든다. 곱집합은 카테시안 곱이라고도 한다. 릴레이션 T의 차수는 R의 차수+ S의 차수이며, 릴레이션 T의 ..
열(column)= 필드(field)= 애트리뷰트(attribute) => 애트리뷰트는 관계 데이터 모델에서 사용하는 개념으로 관계형 데이터베이스의 열, 필드와는 약간의 차이점이 있다 행(row)= 레코드(record)= 튜플(tuple) => 튜플은 관계 데이터 모델에서 사용하는 개념으로 관계형 데이터베이스의 행, 레코드와는 약간의 차이점이 있다 릴레이션 스키마= 애트리뷰트의 집합(a set of attributes) 릴레이션 인스턴스= 어느 한 시점에서의 튜플의 집합(a set of tuples about specific time) => 데이터 추가, 삭제 등으로 인해 튜플 집합은 시간에 따라 변한다 도메인(domain) 도메인은 애트리뷰트(행)이 취할 수 있는 값들의 집합이다. 타입도 도메인으로 볼..
CPU 사용량 function get_server_cpu_usage() { $load = sys_getloadavg(); return $load[0]; } sys_getloadavg()는 길이가 3인 배열을 리턴하며, 각각 1분, 5분, 15분 평균 CPU 사용률을 의미한다. 배열의 0번 인덱스는 1분 평균 CPU 사용률을 의미한다. 이 값은 0~1사이의 값을 리턴하므로, 백분율로 표현하려면 $load[0]*100을 리턴한다. 메모리 사용량 function get_server_memory_usage() { $free = shell_exec('free'); $free = (string) trim($free); $free_arr = explode("\n", $free); $mem = explode(" ", ..
CPU Rate: 38.00 (3.8GHz) CPU Voltage: 1.25V Mem Clock: 2933MHz Mem Voltage: 1.3V Mem Timing: 1-18-18-18-40-56 램은 Geil 램인데 좀 후진건지 3000부터는 무슨짓을 해도 안먹는다. 2666부터는 큰 차이가 없다고 하니 자기 램이 많이 후지다 싶으면 Memory Try it! 메뉴에서 2666 짜리 중에 하나 골라서 쓰면 된다. 벤치마크
2021-04-24일자 기준 최신 바이오스 업데이트 후 nvme 드라이브를 사용했을 떄는 문제가 없지만,SATA SSD를 사용하면 성능이 급격히 떨어지는 현상이 관찰되었다.(벤치마크 에서는 전혀 문제가 없고 체감으로만 뚝 뚝 끊긴다) 베타 버전이긴 해도 릴리즈한지 9개월이 지나도 새로운 버전이 나오지 않아,별다른 문제가 없을 거라고 생각해 업데이트를 올렸으나,위에서 말한 대로 SATA방식의 SSD를 사용하면 성능이 처참해진다. 왜인지는 모르고, 문제 해결을 위해서는 최신 바로 이전버전 BIOS로 업데이트를 올려주면 된다. 이 버전으로 교체하고 난 후 문제가 해결되었다. 로스트아크를 실행할 떄 기준으로,최신 바이오스에서는 10~35 프레임 정도로 나오고,이전 바이오스에서는 45~80 프레임 정도 나온다. ..
기본 애플펜슬 펜촉은 너무 미끄럽다. 필기감도 연필과는 너무 다른데다, 갤럭시 노트/탭 시리즈와 비교해도 마찰력이 너무 작아 필기 중 펜이 이리저리 미끄러지는 탓에 지우고 다시 쓰는 일이 빈번하다. 시중 상품 일단 비싸다. 엥 이게 뭐가비싸? 할 수 있지만, 모든 펜촉이 마찰력이 같은 것도 아니고, 내가 어떤 종류의 펜촉을 써야 하는건지도 모르고, 하나 구매할 때 마다 배송비 2500원이 붙기 때문에 부담스럽다. 당장 촤저가로 3종만 구매해도 만원 가량이다. 알리익스프레스에서 직구 ko.aliexpress.com/item/4000391463457.html?srcSns=sns_Copy&spreadType=socialShare&bizType=ProductDetail&social_params=201453645..
Notification을 생성하는 단계 1. Notification Channel 생성 2. Notification Builder로 Notification 생성 3. Notification Service에 Notification Channel과 Notification 등록 일단 전체 코드부터 보고, 하나씩 설명하겠다. class NotificationActivity: AppCompatActivity(){ //... fun makeNotification() { //create notification Channel val nId = "MyChannel" val nName = "TimeCheckChannel" val nChannel = NotificationChannel(nId, nName, Notificat..
일단 초쳐서 미안하지만 ssh에서 직접 비밀번호를 입력하는 옵션은 없다. 그래서 해당 옵션을 가능하게 할 패키지를 설치할 것이다. $ sudo apt-get install sshpass $ sshpass -p 비밀번호 ssh 외부계정명@외부호스트 sshpass 패키지를 설치하고 sshpass 명령어를 사용한다. 이것마저도 치기 귀찮아서 shell script를 작성할 것이다. nano connect.sh connect.sh파일을 하나 만들고 sshpass -p 비밀번호 ssh 외부계정명@외부호스트 파일에 다음 스크립트를 입력한다. 이제 이 sh파일을 실행하는 것 만으로 ssh 접속을 할 수 있다. $ sh connect.sh 그러나 이것은 보안상으로 별로 좋은 방법은 아니기 때문에 라즈베리파이로 실습을 ..
Collection 정렬 시 sort의 리턴값이 유효하지 않을 때 발생하는 에러다. 자세한 건 아래 링크 참고 118k.tistory.com/291 [오류] Comparison method violates its general contract! 예외 Java 에서 배열 정렬중에 다음과 같은 오류가 발생할 때가 있다. Comparison method violates its general contract! Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violate.. 118k.tistory.com
developer.android.com/training/permissions/requesting?hl=ko 앱 권한 요청 | Android 개발자 | Android Developers 모든 Android 앱은 액세스가 제한된 샌드박스에서 실행됩니다. 앱이 자체 샌드박스 밖에 있는 리소스나 정보를 사용해야 하는 경우 권한을 선언하고 이 액세스를 제공하는 권한 요청을 설정할 수 developer.android.com 안드로이드에는 각 동작마다 권한이 존재한다. 예를 들어, 앱에서 카메라를 사용하는 것도 '카메라 사용 권한'이 필요하고, 내장 메모리를 사용하는 것도 '스토리지 접근 권한'이 필요하다. 단순 인터넷 사용 권한 같은 "사용자의 개인정보에 영향을 미치지 않는 권한들은 일반권한"으로 분류되어 mani..
졌지만 잘 싸웠다... 그냥 진행하면서 느낀점이나, 참고할 만한 사항들을 정리해보려 한다. 서류전형 그냥 자기소개서 같은 느낌이다. 맞춤법이랑 글자 수 정도 체크했다. 자소서를 6년전에 대학교 수시쓸때 써보고 안써봐서 좀 많이 못쓴거같지만, 통과했다. 주변사람한테 한 번쯤은 확인받고 제출하면 좋을 것 같다. 코딩테스트 1차 사실 코딩테스트라니까 좀 쫄았다. 왜냐면 대학교 알고리즘 수업 외에는 알고리즘 문제를 풀어본 적이 한 번도 없기 때문이다. 처음 생각으로는 ICPC급 고난이도의 문제 일 줄 알고 쫄았지만 1차라 그런지 쉬웠다. 1문제가 SQL, 1문제가 Web(html/css/js 다 포함이다. js는 제이쿼리같은거 못쓴다), 나머지 6문제가 알고리즘이였는데, 8문제중 6문제 풀어서 냈다. 사족다는게..
세타조인, 동일조인, 자연조인, 세미조인, 외부조인에 대해 알아보자. 조인은 기본적으로 두 개의 릴레이션에 대해 진행하는 연산으로 이항 연산자이며, 양쪽 외부 조인을 제외한 모든 조인은 두 개의 릴레이션에서 공통된 애트리뷰트가 하나 이상 존재해야 한다. 조인은 두 릴레이션에 대해 먼저 곱연산을 진행하고 난 다음의 릴레이션에 대해 열이나 행을 필터링하는 과정을 하나의 연산으로 묶은 것이라 보면 되겠다. 세타조인(Theta Join; ⋈AΘB) T= R⋈(AΘB) S라는 식이 있다고 해보자. 이는 R과 S 릴레이션을 조인하되, R의 속성 A와 S의 속성 B가 세타 관계가 성립하는 새로운 T 릴레이션을 생성한다. 세타에는 =, < 등 비교연산자가 포함될 수 있다. Relation R A AA 1 안녕 1 하세..
리눅스 커널에서는 자체적으로 LinkedList를 제공한다. 여기에서 제공되는 LinkedList는 "원형 더블 링크드 리스트이다" 이...이게뭐노..? 이미지에서 볼 수 있듯이 각 노드는 head와 prev 포인터를 갖는다. //#include struct list_head{ struct list_head *prev, *next; } 엥? 각 노드에 데이터는 어디있나? 특이하게도 prev, next, data가 평면적으로 존재하는것이 아니라, data안에 prev,next 정보를 가진 구조체 변수가 존재한다. struct your_data{ struct list_head list; int data; } 그러니까 위의 Circular Doubly Linked List에서 각 노드마다 data가 같이 존재..
애플펜슬 2세대의 가격은 말그대로 정신나갔다고밖에 표현할 수 없다... 그래서 대체품을 알아보던 중, 그나마 브랜드와 디자인이 괜찮은 Baseus의 제품을 직구해봤다. 가격은 3만원 근처라고 보면 된다. 외관 및 개요 외관은 봐줄만 한 것 같다. (색상은 맥북 스페이스그레이와 매우 유사하다) 그리고 정품은 아예 여분 펜촉을 제공하지 않는데 반해, 베이스어스는 한개 제공해준다. 아이패드 에어 4세대 이상, 프로 3세대 이상에서는 펜 내부에 자석이 있어 측면에 붙일 수도 있다. 정품보다 접착력이 약하지만, 떨어뜨리거나 일부러 흔드는게 아닌 이상 흘러내리지는 않는다. 또한 충전은 C타입으로 유선충전을 지원하고, 무선충전은 지원하지 않으며(붙어있는동안 충전되지 않는다), 전원 ON/OFF가 가능하다. 애플펜슬 ..
분명 새벽 3시 이후 화면을 켠 적이 없는데 배터리가 전부 빨려버렸다. 이런 현상이 가끔 일어나는데 아래 링크에 써있는 설명을 따라 하면 위 현상을 막을 수 있다고 한다. zagoodstory.medium.com/%EB%A7%A5%EB%B6%81-macbook-%EC%A0%88%EC%A0%84%EB%AA%A8%EB%93%9C%EC%9D%BC-%EB%95%8C-%EB%B0%B0%ED%84%B0%EB%A6%AC-%EB%A7%8E%EC%9D%B4-%EC%86%8C%EB%AA%A8%EB%90%98%EB%8A%94-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0-d5c542c5e6c7 맥북(MacBook) 절전모드일 때 배터리 많이 소모되는 문제 해결 MacBook Battery drainin..
현재 운영중인 게임 정보 앱에 관한 통계치이다. 안드로이드 플랫폼이며, 현재 실 사용 기기는 약 1.6만대이다. 릴리즈 당일 3.17.1 버전을 릴리즈한 당일인 3월 2일에는 업데이트율 5% 미만 릴리즈 후 1~4일 3월 3일 업데이트율 39%로 급격히 증가 4일 63%, 5일 74%로 4일차까지는 비교적 급격히 증가한다. 릴리즈 후 5일 3월 6일엔 업데이트율 77%로 이제 증가율이 완만해지기 시작한다 릴리즈 후 6일 3월 7일(6일차) 80% 달성 릴리즈 후 13일 3월 15일(13일차) 86% 달성 다음날에 사용률이 92%까지 치솟기는 했으나, 전날 너무 구버전의 경우 최신 버전이 아니면 사용 불가하게 막았기 때문이다. 정리해보면 릴리즈 후 4일차까지는 급격히 증가하나 (70%~80%) 이후 급격히..
sudo usermod -aG vboxsf $USER 해당 커맨드를 입력한 후 게스트 OS를 재부팅하면 정상적으로 접근 가능하다. (게스트 OS란 버츄얼박스 위에서 돌아가고 있는 OS를 말한다) stackoverflow.com/questions/26740113/virtualbox-shared-folder-permissions
m1맥북에 쓰인 애플의 arm 아키텍쳐와 기존 인텔/AMD CPU가 사용하는 x86이 다르다는 점은 안다고 가정한다. 짧게 설명하자면 소프트웨어가 하드웨어를 제어할 수 있게 CPU에서는 ISA(Instruction Set Architecture)를 제공하는데, 애플의 m1이 제공하는 ISA와 인텔/AMD가 제공하는 ISA가 서로 다르기 때문에 호환성이 떨어진다. (더 간단히 말하면, 기존에는 영어를 써서 대화했는데 m1은 한국어를 쓴다는 느낌이다) 호환성 문제를 애플도 의식했기 때문에 '로제타'라는 에뮬레이터를 제공하는데 x86명령어 세트를 arm명령어로 변환해 주는 번역기라고 생각하면 된다. 번역기가 완벽하지는 않기 때문에 번역이 불가능한 것도 있기 마련인데, 이것을 컴퓨터공학과 신입생이 사용할 프로그..
satisfactoryplace.tistory.com/93?category=829221 [React] 프로덕션 최적화: 코드 스플리팅 create-react-app 으로 리액트 프로젝트를 생성했다면 프로젝트 빌드 시에 webpack을 이용해 많은 파일들을 큰 몇개의 덩어리로 합쳐준다. webpack은 SPA(Single Page Application)을 제작하기에 제격인 빌드 도.. satisfactoryplace.tistory.com 코드 스플리팅을 한 이후 이 에러를 만날 수 있다. https://cpsp.kr/players/ (v 1.0.2) ChunkLoadError: Loading chunk 3 failed. (error: https://cpsp.kr/static/js/3.62522664.chu..