반응형
반응형
막연하게 간단한 기능을 하는 프로그램을 제작할 때까지는 몰랐다.그러나 대량의 파일을, 대량의 데이터를 다루고 처리해야하는 상황에서하루가 지나도록, 아니 시간이 지나면 지날수록 작업 속도가 현저히 느려지는 현상이 발생하였다.분명 테스트할 때는 이상 없었는데...확인해보니 프로그램을 처음 실행했을 때의 메모리는 21메가를 차지하였지만,하루가 지난 상태에서 메모리 사용률은 7기가에 임박했다."무엇이 문제일까?" 파일 디렉토리를 탐색하는 방법을 좀 더 효율적으로!C#에서는 Directory 클래스를 통해 폴더를 다룰 수 있는데 Directory.GetFiles 메서드를 이용하여 폴더 내 파일 목록을 가져오도록 구현했다.하지만 이는 잘못된 선택이였다. Directory.GetFiles 메서드는 분명 사용하기 쉽지..
일반적으로 파일을 압축하면 용량이 줄어드는 것이 당연하다고 생각한다. 하지만 PNG 파일은 압축을 하면 오히려 용량이 늘어나는 경우가 많다. 왜 이런 현상이 발생하는 걸까? 이는 PNG 파일의 압축 방식과 일반적인 압축 프로그램의 작동 방식의 차이에서 기인한다. PNG 파일의 특별한 성질PNG 파일은 이미 최적화된 상태로 압축되어 저장되는 무손실 이미지 파일이다. 마치 공기를 뺀 풍선처럼 더 이상 압축할 공간이 없는 셈이다. 때문에 일반적인 압축 프로그램은, 이미 최적화된 PNG 파일에서 이러한 과정을 통해 얻을 수 있는 효과가 미미하다. 압축 프로그램의 한계압축 프로그램은 PNG 파일의 특징을 완벽하게 이해하지 못하고 일반적인 파일 압축 방식을 적용하려고 한다. 이는 마치 이미 잘 정리된 서랍에 다시 ..
반년만에 쓰는 씨샵 관련 글인 것 같다.사실 해당 관련 내용은 이미 1년 전부터 글을 쓸까 말까 하다가너무 귀찮아서 미루고 미루다가 이제서야 글을 쓴다. 씨샵 언어를 이용하여 파일을 열어서 읽고,지정한 파일에 내가 작성한 내용을 쓰기(저장)를 하려면 어떻게 해야할까? 오늘은 씨샵에서 파일을 읽고 쓰는 방법에 대해 다뤄보자. 씨샵에서 파일을 읽고 쓰려면?파일을 읽고 쓰려면 StreamReader와 StreamWriter가 필요하다.StreamReader는 말 그대로 스트림 데이터를 읽을 수 있도록 해주는 클래스이고,StreamWriter는 스트림 데이터를 쓸 수 있도록 해주는 클래스이다. 이는 즉, 파일을 쉽게 읽고 저장해주는 역할을 한다. 스트림 리더로 텍스트 파일 읽기 (파일 열기)먼저, StreamR..
리눅스 우분투에서 RDBMS MySQL 데이터베이스의 포트를 변경하는 방법은 두가지가 있다. 리눅스 Ubuntu에서 MySQL 포트 확인하는 방법1. MySQL의 설정파일 (mysql.conf)를 이용한 포트 확인아래의 명령어를 입력하여 mysql 설정 파일에 접근한다.sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 내용 중 port = xxxx로 되어 있는 부분을 확인한다.거기에 적혀있는 숫자가 MySQL의 포트 번호이다.만약 주석이 되어 있으면 기본 포트 번호인 3306를 사용하고 있는 것이다. 2. SQL 쿼리를 이용한 포트 확인MySQL의 쿼리 내에서 글로벌 변수를 확인하여 포트의 번호를 알아내는 방법이 있다.MySQL에 접속한다.sudo mysql -u root ..
🚀 꿈꿔왔던 서비스, 나도 한 번 만들어보자!개발자라면 누구나 한 번은 내가 만든 서비스가 수많은 사람들에게 보여주는 것을 상상해보았을 것이다.하지만 막상 시작하려면 걱정부터 앞선다.그 이유는 우선 서버 구축부터 관리, 비용까지 생각하면 막막하기 때문이다.심지어 나의 경우에는 이미 AWS 1년 프리티어는 사용한 상황이고,가벼운 토이 프로젝트를 AWS EC2 서비스를 유료로 사용하자니 돈이 부담되기도 하다.집에 토이 프로젝트용 서버를 두긴하였으나,특히 블로그 같은 웹 서버의 경우에는 집에서 돌리는 서버가 어떠한 사유로 인해 꺼지거나,고장나는 경우에 대한 대비책이 전혀 없었기 때문에 클라우드로 눈길을 돌리게 되었다. 서버 구축에 많은 고민을 하던 중, 오라클 클라우드를 알게 되었다.내 눈길을 사로 잡은 것..