루트 비밀번호를 잊어버렸습니다. 어떻게 해야 할까요? 저는 mysql 8.0.21 for ubuntu를 쓰고 있습니다. 제일 현명한 방법은 공식 문서를 보는 것입니다. setting 파일에 skip-grant-tables를 추가해 봅시다. 그리고 난 다음에, 다시 mysql 서버를 재시작 하겠습니다. 그러면, 어떠한 인증 없이도 로그인이 가능합니다. 셋팅 상황을 정리해 봅시다. 저는 skip-grant-tables 옵션을 주었습니다. 이것이 무엇을 하는지를 알아야 할 텐데요. 쉽게 말해서, system 스키마에 있는 grant table을 읽지 않고, 권한 시스템 없이 시작합니다. 얼마나 위험하면, 공식 문서에도 꽤 길게 강조를 하는데요. cho로 접속해 보았습니다. databases를 모두 보면 아래와..
전체 글 검색 결과
문자열은 잘 다루기 어렵습니다. toUpperCase와 toLowerCase를 보다가, 문득 이런 질문을 하게 되었습니다. 제 생각은 항상 같다. 였습니다. 어디까지나 내부 클래스들을 뜯기 전까지는요. 내부 클래스를 보고 공식 문서를 보니, 아니라는 것을 알기까지 그리 오랜 시간이 걸리지 않았습니다. 항상 맞다. 혹은 틀리다는 너무 극단적인 케이스이기도 하고요. 이럴수가. 제가 알고 있었던 것이 사실이 아니였다니. 사실, 저는 heroes를 toUpperCase로 바꿔버리면 HEROES가 되고, giant를 대문자로 바꾸면 GIANT로 바뀌고, toLowerCases는 역방향으로 바뀔 거니, 길이가 항상 같을 거라고 생각했습니다. 프로그램 1을 보겠습니다. 0x130이라는 값을 가지는 어떤 문자 하나를 ..
백준에서 파이선으로 문제를 몇 개 풀었습니다. 그렇지만 아직 Java나 C만큼 익숙하지 않은 것은 현실입니다. 파이선에는 list.pop(0)이 있는데요. 이것에 대해서 알아보겠습니다. 간단한 테스트 프로그램을 작성해 보겠습니다. 숫자 하나를 테스트 케이스마다 입력 받습니다. 10000000이 nu개 들어있는 리스트가 있는데요. 여기서 맨 앞에 있는 원소를 꺼내 올 겁니다. 이를 9번째 줄의 list.pop(0)이 하고 있습니다. 실행 결과는 어떻게 나올까요? 2000, 20000, 20만 이렇게 범위를 늘려가면서 시간을 측정해 보았는데요. 데이터 크기가 10배 늘어날 때 마다, 대략 100배 정도의 시간이 더 걸림을 알 수 있습니다. while 루프는 원소가 빌 때 까지 돌았으니, 총 nu번 돌았을 겁..
네이버 이웃 블로그 글을 보다가 개발자의 70%가 틀리는 문제 라는 제목을 가진 어떤 글을 보았습니다. 사실 과장이 되었는지 아닌지는 모르겠지만, 헷갈리는 것 중 하나임은 분명해 보입니다. 언어는 파이선이였습니다만, 자바로 해도 정답률이 비슷하지 않았을까 싶기도 합니다. 이 코드는 어떻게 동작할까요? 먼저, toUpperCase는 String을 대문자로 바꾸는 메서드입니다. 예를 들어, "abcde".toUpperCase()의 리턴값은 "ABCDE"가 됩니다. 이건 그렇게 크게 어렵지는 않습니다. 여기서 출력값은 아래와 같이 됩니다. 분명한 것은 우리가 예상했던, ABCDE, BCDEF가 나오지 않았음을 알 수 있습니다. 왜 그럴까요? 코드를 뜯기는 상당히 기니, identityHashCode 값을 보도..
cp 명령어는 옵션이 생각보다 많습니다. 그제, oh my zsh를 셋팅하는 과정에서 유용하게 써먹었던, -r과 -p 옵션만 배워보도록 하겠습니다. 사실, 그걸 셋팅할 때 cp -r을 하고, chown -r을 썼지만요. 먼저, diff 명령어는 파일이 다른지를 비교합니다. -r 옵션을 치면, 디렉토리 하위에 있는 것들에 대해서 재귀적으로 연산을 수행하게 됩니다. 아래는 홈 폴더에 있는 aa와 bb에 대해서 재귀적으로 비교하는 연산입니다. -r 옵션은 본 거 같긴 한데 익숙치 않은 거 같습니다. 그런데, 사실 rm -rf * 도 많이 보던 류입니다. 해당 위치의 하위 폴더들을 재귀적으로, 강제로 삭제하겠다는 의미입니다. 그래서 진짜 조심해야 하는 명령어입니다. 실습할 폴더들에 대한 정보입니다. tree a..
최근댓글