Table of Contents
Welcome to GenoGlobe.com!
Welcome to Haeyoung JEONG's official website, GenoGlobe.com! My secondary domain (GenoGlobe.kr) will be forwarded to this website.
I am a molecular biologist and genome scientist working for Korea Research Institute of Bioscience and Biotechnology. GenoGlobe means Genome + Globe, which implies my desire to learn from genomes and lives on earth (or other planets, such as Mars?). You can read more about my professional research profile from ORCiD or Google Scholar.
Please visit my blog if you want to send me a message through contact form (only shown from PC browsers) or use this form directly: Send Feedback
엄격한 기준으로 구분하였을 때 학술 논문이 아닌 것으로서 외부 매체에 기고했던 글 목록은 여기를 참고하십시오. 주로 미생물 유전체를 다루는 생명정보학과 관련하여 제가 작성한 글은 별도의 위키 사이트에 있습니다. 블로그에는 업무 및 취미와 관련한 잡다한 글이 있습니다. 블로그에는 저에게 이메일을 보낼 수 있는 양식이 있으니 참고하십시오. 단, PC 버전의 웹브라우저에서만 보이는 것 같습니다. 또는 다음을 클릭하세요: Send Feedback
이곳은 원래 저의 취미와 관련한 글을 체계적으로 작성하기 위해 만든 DokuWiki 기반의 웹사이트였다가 2023년 9월 7일 GenoGlobe.com의 공식 웹사이트 역할을 겸하게 되면서 다소 복합적인 성격을 갖게 되었습니다. 위키 기반이지만 첫 페이지는 블로그 형식(아래의 '새 소식')이라서 더욱 그렇습니다. '새 소식'은 자료를 모아서 분석하고 오래 생각하여 쓰는 글이 아닙니다. 저에게 이곳은 트위터나 페이스북과 같은 것으로, 예전에 사용하던 Google+를 대신하여 가벼운 생각을 기록하는 곳에 해당합니다. ChatGPT에게 키워드를 제시하고 자동으로 쓴 글도 포함되어 있으며, 이러한 글은 마지막 부분에 자동 작성된 것임을 밝혀 놓았습니다.
새 소식
What is the '-' Key on the Keyboard? (키보드의 '-'는 무엇인가?)
일반적인 키보드의 '-' 키(숫자 0 옆, Shift 없이 입력하는 것)는 하이픈(hyphen, -) 으로 정의된다.
하이픈(Hyphen, -)
- 기본: 단어 연결 (예:
data-driven
) 이나 줄바꿈 표시 - 키보드에서 입력되는 기본 기호
- ASCII 코드 45 (U+002D)
마이너스(Minus sign, −)
- 수학적 기호 전용
- 하이픈보다 약간 길고 위치가 다름
- 유니코드 U+2212 (−)
- 수식이나 논문에서는 이 기호 사용이 권장됨
엔 대시(En dash, –)
- 하이픈보다 길다
- 범위 표현: 예)
2020–2025
- 유니코드 U+2013 (–)
엠 대시(Em dash, —)
- 가장 긴 대시
- 문장에서 강한 구분, 삽입에 사용
- 유니코드 U+2014 (—)
정리
- 키보드에서 바로 입력되는
-
는 하이픈(-) - 마이너스(−), 엔 대시(–), 엠 대시(—) 는 별도의 유니코드 문자
- 일반 키보드로 직접 입력 불가 → 특수문자 입력이나 자동 교정 기능을 통해 사용해야 함
저자 및 이용 안내
이 문서는 정해영의 아이디어와 지시에 따라 AI 도구(ChatGPT)의 도움을 받아 작성되었습니다.
본 문서는 Creative Commons CC0 1.0 Universal Public Domain Dedication에 따라 누구나 자유롭게 복제, 수정, 배포, 활용할 수 있으며, 출처 표시도 필요하지 않습니다. 다만, 내용의 정확성은 보장되지 않았으며, 정해영은 본 문서의 내용에 대해 어떠한 법적 책임도 지지 않습니다.
Authorship and Usage Notice
This document was written with the assistance of an AI tool (ChatGPT), based on the ideas and direction provided by Haeyoung Jeong.
It is released under the Creative Commons CC0 1.0 Universal Public Domain Dedication. Anyone may freely copy, modify, distribute, and use the content, with no requirement for attribution. However, the accuracy of the content is not guaranteed, and Haeyoung Jeong assumes no legal responsibility for its use.
공무원 수 증가의 법칙
공무원 수 증가의 법칙. 한겨레 2025년 9월 8일
파킨슨의 법칙: 공무원의 숫자는 업무량의 증가와 직접적인 관계 없이 정부와 공무원의 심리적 요인에 의해서 계속하여 증가한다.
서로에게 더 많은 일을 만들어주기 때문에 모두 바쁘게 일하는 것처럼 보이고, 오히려 ㄱ씨는 예전보다 더욱 바쁘게 일하게 된다.
Pointers and Memory Efficiency (포인터와 메모리 절약)
1. 포인터란?
- 메모리 주소를 저장하는 변수
- 예시:
int a = 10; int* p = &a; // p는 a의 주소를 저장
- `p` 자체에는 주소가 들어있음
- `*p`를 하면 그 주소가 가리키는 값(예: 10)을 읽거나 수정할 수 있음
2. 배열과 포인터의 관계
- 배열 이름은 배열 첫 원소의 주소와 같음
- 예시:
char str[] = "Piano"; char* p = str; // p == &str[0]
- 차이점:
- `str`은 상수 주소 (다른 곳을 가리킬 수 없음)
- `p`는 다른 문자열을 가리킬 수 있음
3. 문자열 저장 방식 비교
(1) 2차원 배열 (비효율적)
char names[3][12] = {"Piano", "Guitar", "Violin"};
- 모든 문자열이 고정 크기(12바이트)를 차지
- 남는 공간은 낭비
- 전체가 SRAM에 저장됨 → 아두이노에서 메모리 부족 위험
(2) 포인터 배열 (효율적)
const char* names[3] = {"Piano", "Guitar", "Violin"};
- RAM에는 문자열 주소(포인터)만 저장 (2바이트씩)
- 실제 문자열은 플래시 메모리에 저장됨
- 훨씬 효율적
4. 다차원 배열 vs 포인터 배열
- 다차원 배열: 데이터가 메모리에 연속적으로 배치됨
- 포인터 배열: 주소 목록만 있고, 실제 데이터는 흩어져 있음
- 포인터 배열은 유연하지만 관리가 까다로울 수 있음
5. PROGMEM과의 관계
- Arduino(AVR)에서는 문자열 리터럴이 플래시에 저장됨
- `const char*`만으로도 대부분 플래시에 저장됨
- 확실히 플래시에만 보관하려면 `PROGMEM` 사용:
const char string_0[] PROGMEM = "Piano"; const char* const names[] PROGMEM = { string_0 };
- 꺼낼 때는 `pgm_read_word()` 필요 → 코드가 복잡해짐
6. 잘못 쓸 때의 문제
- 포인터가 잘못된 주소를 가리키면 → 세그멘테이션 오류 / 오동작
- `const char*` 문자열은 읽기 전용
- `strcpy()` 같은 함수로 덮어쓰면 에러 발생
7. Arduino에서의 결론
- 문자열은 포인터 배열(`const char*`)로 관리하는 것이 가장 효율적
- GM 악기명: `const char* gmNames[128]`
- 드럼킷 이름: `const char* drumKitNames[]`
- 필요시 `struct`로 확장 (MSB, LSB, PC 함께 관리 가능)
8. 실제 예시: gm_gs_names.h (배열 버전)
// GM 악기 이름 (128개) const char* gmNames[128] = { "AcouPiano1", "AcouPiano2", "ElecGrand", "HonkyTonk", "ElecPiano1", "ElecPiano2", "Harpsi", "Clavi", // ... (중략) ... "Gunshot" }; // 드럼킷 이름 (9개, CleanWave32 기준) const char* drumKitNames[] = { "Standard", "Room", "Power", "Electronic", "TR-808", "Jazz", "Brush", "Orchestra", "SFX" }; // LCD 표시 예시 void renderLCD(uint8_t channel, uint8_t pc) { char line2[17]; if (channel == 10) { snprintf(line2, sizeof(line2), "D:%-10s", drumKitNames[pc]); } else { snprintf(line2, sizeof(line2), "%-12s %03d", gmNames[pc], pc); } lcd.setCursor(0, 1); lcd.print(line2); }
9. 확장 예시: 드럼킷 구조체 버전
드럼킷은 이름뿐 아니라 MSB/LSB/Program Change 번호도 필요할 수 있음. 이 경우 구조체를 정의해서 더 체계적으로 관리 가능.
// 드럼킷 정보 구조체 struct DrumKit { const char* name; uint8_t msb; uint8_t lsb; uint8_t pc; }; // 드럼킷 배열 (CleanWave32 기준) const DrumKit drumKits[] = { {"Standard", 121, 0, 0}, {"Room", 121, 0, 1}, {"Power", 121, 0, 2}, {"Electronic", 121, 0, 3}, {"TR-808", 121, 0, 4}, {"Jazz", 121, 0, 5}, {"Brush", 121, 0, 6}, {"Orchestra", 121, 0, 7}, {"SFX", 121, 0, 8} }; // 드럼킷 선택 함수 void selectDrumKit(uint8_t index) { midiSendControlChange(0, drumKits[index].msb, 10); // CC#0 = MSB midiSendControlChange(32, drumKits[index].lsb, 10); // CC#32 = LSB midiSendProgramChange(drumKits[index].pc, 10); // PC lcd.setCursor(0,1); lcd.print(drumKits[index].name); }
요약: 포인터 배열을 쓰면 문자열 이름을 플래시에 두고 RAM은 주소만 저장하기 때문에 메모리를 크게 절약할 수 있다. 드럼킷은 단순히 이름만 관리할 수도 있지만, MSB/LSB/PC까지 구조체에 넣어 관리하면 MIDI 제어가 훨씬 깔끔해진다.
저자 및 이용 안내
이 문서는 정해영의 아이디어와 지시에 따라 AI 도구(ChatGPT)의 도움을 받아 작성되었습니다.
본 문서는 Creative Commons CC0 1.0 Universal Public Domain Dedication에 따라 누구나 자유롭게 복제, 수정, 배포, 활용할 수 있으며, 출처 표시도 필요하지 않습니다. 다만, 내용의 정확성은 보장되지 않았으며, 정해영은 본 문서의 내용에 대해 어떠한 법적 책임도 지지 않습니다.
Authorship and Usage Notice
This document was written with the assistance of an AI tool (ChatGPT), based on the ideas and direction provided by Haeyoung Jeong.
It is released under the Creative Commons CC0 1.0 Universal Public Domain Dedication. Anyone may freely copy, modify, distribute, and use the content, with no requirement for attribution. However, the accuracy of the content is not guaranteed, and Haeyoung Jeong assumes no legal responsibility for its use.
Artificial Sweeteners and Gut Microbiome: A Double-Edged Sword
인공감미료와 장내 미생물: 양날의 검
Artificial sweeteners, or non-caloric artificial sweeteners (NAS), are widely used as sugar substitutes. They provide sweetness without calories, but growing evidence suggests they may not be metabolically inert. Recent studies indicate that NAS can alter the gut microbiome, potentially leading to glucose intolerance. Here we compare the characteristics of commonly used NAS and their possible impacts on health.
인공감미료(NAS, non-caloric artificial sweeteners)는 설탕을 대체하는 감미료로 널리 사용된다. 칼로리를 거의 제공하지 않으면서 단맛을 내지만, 최근 연구에서는 이들이 단순히 ‘중립적’이지 않을 수 있음을 보여주고 있다. 특히 장내 미생물(gut microbiome)의 구성을 바꾸어 포도당 불내성(glucose intolerance)을 유발할 수 있다는 가능성이 제기되었다. 여기서는 대표적인 NAS의 특징과 건강에 미칠 수 있는 영향을 비교한다.
Saccharin (사카린)
- 특징: 최초의 인공감미료 중 하나, 강한 단맛.
- 장내 미생물 영향: 연구에 따르면 장내 세균 다양성을 감소시키고, Proteobacteria 증가와 연관.
- 건강 영향: Suez et al. (2014, *Nature*)에서 포도당 불내성과 직접적으로 연결됨이 보고됨.
Sucralose (수크랄로스)
- 특징: Splenda®라는 이름으로 널리 사용, 열 안정성이 높아 가공식품에 흔히 첨가.
- 장내 미생물 영향: Firmicutes 감소, Proteobacteria 증가, 일부 동물 모델에서 염증 반응 증가.
- 건강 영향: 대사 교란 가능성 및 장 투과성 변화 보고.
Aspartame (아스파탐)
- 특징: 설탕 대비 200배 단맛, 다이어트 음료에 흔히 사용.
- 장내 미생물 영향: 소장에서 아미노산으로 분해되므로 직접적 영향은 제한적. 하지만 일부 연구에서 특정 균주 구성 변화 보고.
- 건강 영향: 사카린/수크랄로스보다는 교란이 적으나, 대사 건강과의 연관성에 대한 논란은 여전히 존재.
Acesulfame K (아세설팜K)
- 특징: 칼로리 0, 음료 및 베이킹에 널리 사용.
- 장내 미생물 영향: 동물 실험에서 특정 세균 군집 변화 보고.
- 건강 영향: 사카린/수크랄로스보다는 영향이 약하지만, 장내 발효에 일정한 변화 가능성.
Stevia (스테비아)
- 특징: 식물 유래 천연 감미료, Rebaudioside A가 주요 성분.
- 장내 미생물 영향: 상대적으로 안정적. 일부 연구에서는 비피도박테리움 증가 등 긍정적 결과.
- 건강 영향: 전반적으로 안전성이 높은 편으로 평가.
Allulose (알룰로스)
- 특징: 희귀당(rare sugar), 프럭토스의 C-3 에피머. 설탕 대비 70% 단맛, 칼로리는 거의 없음.
- 장내 미생물 영향: 대사 영향이 거의 없으며, 일부 동물 연구에서 오히려 아커만시아·비피도박테리움 증가 경향.
- 건강 영향: 포도당 대사 개선 효과 보고, NAS 중 가장 안전성이 높은 후보로 평가됨.
종합 비교표
감미료 | 장내 미생물 영향 | 포도당 불내성과의 연관성 |
---|---|---|
사카린 | 다양성 감소, Proteobacteria 증가 | 높음 (강력한 연관 보고) |
수크랄로스 | Firmicutes 감소, 염증 증가 | 중간 ~ 높음 |
아스파탐 | 제한적 변화, 특정 균주 변화 | 낮음 ~ 불확실 |
아세설팜K | 일부 변화 | 낮음 ~ 중간 |
스테비아 | 긍정적 효과 가능 | 매우 낮음 |
알룰로스 | 영향 거의 없음, 일부 유익균 증가 | 없음 ~ 개선 가능 |
결론
인공감미료는 “칼로리 없는 단맛”을 제공하지만, 장내 미생물 군집에 변화를 일으켜 대사 건강에 영향을 줄 수 있다는 점에서 주의가 필요하다. 특히 사카린과 수크랄로스는 포도당 불내성 유발과 강하게 연관되어 있으며, 반면 스테비아와 알룰로스는 상대적으로 안전하고 긍정적인 가능성까지 제시된다.
향후 연구는 인공감미료의 장기 섭취가 인간의 장내 미생물과 대사 건강에 미치는 영향을 더 정밀하게 밝혀야 할 것이다.
저자 및 이용 안내
이 문서는 정해영의 아이디어와 지시에 따라 AI 도구(ChatGPT)의 도움을 받아 작성되었습니다.
본 문서는 Creative Commons CC0 1.0 Universal Public Domain Dedication에 따라 누구나 자유롭게 복제, 수정, 배포, 활용할 수 있으며, 출처 표시도 필요하지 않습니다. 다만, 내용의 정확성은 보장되지 않았으며, 정해영은 본 문서의 내용에 대해 어떠한 법적 책임도 지지 않습니다.
Authorship and Usage Notice
This document was written with the assistance of an AI tool (ChatGPT), based on the ideas and direction provided by Haeyoung Jeong.
It is released under the Creative Commons CC0 1.0 Universal Public Domain Dedication. Anyone may freely copy, modify, distribute, and use the content, with no requirement for attribution. However, the accuracy of the content is not guaranteed, and Haeyoung Jeong assumes no legal responsibility for its use.
블로그 보관함
- 2025:
- 2024:
- 2023:
- 2022:
- 2021:
3 Post(s) for May 2021
B&H DM10 brochure | 2021/05/31 20:20 | Haeyoung Jeong |
인터엠 파워 앰프 R150 PLUS 매뉴얼 파일 | 2021/05/31 15:21 | Haeyoung Jeong |
컴퓨터의 메모리 슬롯 가득 채우기 | 2021/05/24 13:33 | Haeyoung Jeong |