독서
-
[쇼펜하우어] 내 몸과 마음이 불쾌해지지 않는 기준을 스스로 정해라
머릿속에서 둘 이상의 가치가 충돌하거나 제대로 된 결정을 내리지 못할 때마다 나가서 걷는다. 누군가를 만나 도움을 구하거나 내 이야기를 들어주기를 청하고 싶다는 욕망, 그게 아니라면 그냥 다 잊고 같이 술에 취해버리고 싶다는 욕망을 힘껏 인내하고, 묵묵히 침묵 속에서 걷는 것이다. 그렇게 걷다 보면 생각이 정리되고 올바른 결정을 내릴 수 있게 된다. 이것은 별것 아닌 것 같아도 내게 크나큰 도움을 준 나만의 습관이다. 누구에게나 다루기 힘든 고민은 있다. 그리고 그런 고민들에 관해 나이가 들수록 선택을 내리는 게 두려워진다. 선택에 따라 포기해야 하는 것들이 점점 크고 많아지기 때문이다. 선택을 내리는 데 있어 책이나 주변 사람들로 도움을 얻는 것도 한두 번일 뿐, 이후로는 그다지 도움이 되지 않는다. ..
-
[쇼펜하우어] 돈은 자유를 구매할 수 있게 하지만, 동시에 인간을 새로운 종류의 노예로 만든다
돈이라는 건 참 신기하다. 동전의 양면이 각각 다른 모양을 지니고, 간혹 승부사들에게 삶과 죽음을 가르는 도구로 사용되기도 하는 것처럼, 돈에는 실제로 다정함과 비정함이 동시에 담겨 있다.돈은 분명한 장점을 지니고 있다. 재화와 서비스를 구매하는 대가가 되어줌으로써 비용을 지출한 인간에게 자유를 제공하고, 개개인의 욕망에 따라 쓰여 각자의 욕망을 충족시키는 수단이 되어주기도 한다. 예를 들어, 개인이 재정적인 안정을 얻게 되면 기본적인 생활 욕구를 넘어서서 추가적인 소비를 통해 자신의 관심사와 열정을 추구할 수 있는 자유를 손에 넣는 것이다.그러나 동시에 돈은 인간을 물질적인 욕망의 끝없는 추구로 이끌고 결국엔 인간이 새로운 형태의 종속성에 빠지도록 유도하는 성질도 함께 갖고 있다."쇼펜하우어 인생수업:..
-
[쇼펜하우어] 과도한 관계 의존도 일종의 질병이다
지혜로운 사람은 고독으로부터 두 가지 이점을 얻는다. 첫째는 자기 자신과 함께할 기회를 얻는다는 점, 둘째로는 남과 함께하지 않을 기회를 얻는다는 점이다. 건강함과 밝음이 있는 사람은 혼자 있는 시간을 고난의 시간으로 여기지 않는다. 오히려 나 자신과의 설레고 즐거운 데이트라고 생각하는 것이다.어차피 끝을 향해 달릴수록 혼자가 되어가는 삶, 과연 이 삶을 어떻게 준비할 것인가. 정답은 이미 너무도 명료하게 드러났다.- "쇼펜하우어 인생수업: 한 번뿐인 삶 이렇게 살아라"중에서 - 인간이 사회를 살아가는데 있어서, 관계는 인간이 겪게되는 필수적인 부분이라 생각된다. 곰곰히 생각해보니, 그 동안 나는 생각보다 관계에 영향을 많이 받는 사람이었다는 것을 자각하게되었다. 가깝게는 아내에서, 멀게는 가끔 안부를 ..
-
[니체] 아름다움에 대하여
이상을 버리지 마라. 자신의 영혼 속에 있는 영웅을 버리지 마라. 누구나 높은 곳을 목표로 한 이상과 꿈을 가지고 있다. 그것이 과거의 일이었다며, 청춘 시절의 일이었다며 그리운 듯 떠올려서는 안 된다. 지금도 자신을 발전시키기 위한 이상과 꿈을 포기해서는 안 된다. 어느 사이엔가 이상과 꿈을 버리게되면 그것을 말하는 타인이나 젊은이를 조소하게 된다. 시샘과 질투로 마음이 물들어 혼탁해지고 만다. 발전하려는 의지나 자신을 이기려는 마음 또한 버려지고 만다. 나은 삶을 살기 위해서, 자신을 하찮게 여기지 않기 위해서라도 결코 이상과 꿈을 버려서는 안된다. 자유롭고 높은 곳으로 당신은 가려고 한다. 하지만 당신은 아직 젊으며 많은 위험에 노출되어 있기도 하다. 그러나 나는 간절히 원한다. 당신이 사랑과 희..
-
[니체] 지성에 대하여
악이란 무엇인가? 사람을 모욕하는 것이다. 가장 인간적인 것이란 무엇인가? 어떤 사람에게도 창피를 안겨주지 않는 것이다. 그리고 사람이 얻는 자유란 무엇인가? 어떤 행위를 해도 자신에게 부끄럽지 않은 상태가 되는 것이다. 극장이나 미술관처럼 거대하고 훌륭한 시설을 끊임없이 만든다고 하여 보다 큰 문화가 속속 태어나는 것은 아니다. 도구나 기술을 다채롭게 갖출수록 풍요로운 문화의 조건과 기초가 쌓이는 것도 아니다. 문화를 낳는 것은 마음이다. 그런데 현대 관료나 상인은 서로 손을 맞잡고 문화를 발전시킬 수단이라 불리는 것을 꺼내 들며 오히려 문화를 괴멸시킬 위험을 증대시키고 있다. 비록 지금 시대가 이러하지만, 문화의 본질이 사물과 수단이라 여기는 사고방식에 대하여 우리는 강하게 저항해 나가지 않으면 안..
-
[니체] 사랑에 대하여
사랑은 사람 안에 있는 아름다움을 발견하고, 그 아름다움을 계속 주시하려는 눈을 가지고 있다. 사랑은 사람을 보다 높은 차원으로 이끌려는 욕구를 가지고 있다. 공부나 교제, 일이나 취미, 독서 등 무엇인가 새로운 일에 맞닥뜨렸을 경우의 현명한 대처 요령은 가장 넓은 사랑을 가지고 맞서는 것이다. 꺼리는 면, 마음에 들지 않는 점, 오해, 시시한 부분을 보아도 즉시 잊어버리겠다는 마음가짐으로 그 모든 것을 전면적으로 받아들이며 전체의 마지막에 이르기까지 잠자코 지켜본다. 그럼으로써 드디어 거기에 무엇이 있는지, 무엇이 그것의 심장인지 확연히 들여다 볼 수 있다. 좋다 혹은 싫다와 같은 감정이나 기분에 치우쳐 도중에 내팽개치지 않고 마지막까지 넓은 사랑을 갖는 것. 이것이 무언가를 진정으로 알고자 할 때의..
-
[CLEAN CODE]
사소한 곳에서 발휘되는 정직의 중요성"사소한 곳에서 발휘하는 정직은 사소하지 않다" - 덴마크 속담"신은 세세함에 깃들어 있다" - 루트비히 미스 반 데어 로에이 두 문장은 책의 서문에 적힌 말입니다. 결국, 사소한 것이 중요하다는 것을 강조합니다. 이 글에서는 이러한 원칙이 어떻게 우리가 일하는 방식에 적용될 수 있는지, 특히 소프트웨어 개발과 Lean 원칙에서 어떻게 적용되는지 살펴보겠습니다.Lean의 원칙: 5SLean의 5S 원칙은 작업 환경을 정리하고 효율성을 극대화하는 데 초점을 맞춥니다. 이 원칙들은 소프트웨어 개발에서도 적용될 수 있으며, 다음과 같습니다:1. 정리 (Sort)무엇이 어디에 있는지 알아야 합니다. 이를 위해서는 적절한 명명법과 정리를 통해 각 항목이 어디에 속하는지 명확하게..
-
[니체] 인간에 대하여
"타인을 이렇다 저렇다 판단하지 말 것. 타인을 평가하지도 말 것. 타인에 대한 소문도 입에 담지 말 것. 그 사람은 이렇다 저렇다 하는 생각도 애당초 하지 말 것. 그 같은 상상이나 사고를 가급적 하지 말 것" 이 같은 것에 좋은 인간성의 상징이 있다. 분명 체험은 중요하다. 체험에 의해서 사람은 성장할 수 있다. 그러나 갖가지 체험을 많이 했다고 해서 다른 사람보다 무조건 훌륭하다고 말할 수는 없다. 비록 많은 체험을 했을지라도 이후에 그것을 곰곰이 고찰하지 않는다면 무용지물이 될 뿐이다. 어떤 체험을 하든지 깊이 사고하지 않으면, 꼭꼭 씹어먹지 않으면 설사를 거듭하게 된다. 결국 아무것도 배우지 못하며 무엇도 자신의 것으로 만들지 못한다. 사람이란 참으로 이상한 존재다. 제멋대로 행위의 대소를 ..
농업지식
-
생태농업이란 무엇인가?
안녕하세요? 🌾 의 "노지딸기" 입니다. 🍓 "생태농업이란 무엇인가" 라는 책을 읽고, 많은 생각들이 들었습니다. 그 생각의 일부를 여러분과 공유하고자 글을 씁니다. 책의 내용에 대해 얘기하기 전에 이 글의 대표 사진을 보시면, 한국은 7등급의 비옥도를 갖는 토양이 대부분이라는 것을 알 수 있습니다.미국과 우크라이나의 경우 1등급 토지가 대부분인 반면에요. 한국의 흙을 책임지고 있는 농부들로써 우리가 무엇을 해야할지 곰곰이 생각하며, 책에 대한 저의 감상을 시작하겠습니다. "생태농업이란 무엇인가" 라는 책을 읽으며, 여러 생각이 들었습니다. 작물을 심고, 키우고, 수확하는 일련의 과정에서 "무경운, 무제초, 무농약, 무비료" 를 지키며 하는 농업이 생태 농업이의 목적이라 생각하였습니다. 책을..
-
🌱 생태농업을 위한 인산 관리 방법
안녕하세요? 🌾의 "노지딸기🍓" 입니다. 오늘은 인산 관리를 하는 방법을 소개하려고 합니다. 인산에 대해서 알아보고, 생태적으로 이를 보완할 수 있는 방법들을 알아보는 시간이 되겠습니다. 🌍 인산의 중요성 🌟인산(P)은 식물 성장에 필수적인 영양소로, 생태농업에서도 매우 중요합니다. 인산은 주로 새 뿌리, 새 잎, 꽃, 과일의 발달과 DNA, 에너지 대사에 필수적입니다. 이는 광합성, 호흡, 세포 분열 등 다양한 생리적 과정에 관여합니다 . 인산 결핍 증상 ⚠️인산이 부족하면 다음과 같은 증상이 나타납니다:개화 불량: 🌸 꽃이 잘 피지 않음성장 저하: 🌿 뿌리와 줄기 성장이 느림과일 맛 저하: 🍓 과일의 당도와 풍미가 낮아짐잎 색 변화: 🍃 잎이 청록색 또는 보라색으로 변함 .환경적 요인 🌡️온도: 저온..
-
🌱 토양 건강 유지: 화학비료 없이 토양 개선
안녕하세요?의 "노지딸기🍓" 입니다.농부 여러분, 오늘은 여러분의 농장에서 비료 없이도 자연적인 방법으로 토양 건강을 유지하고 개선할 수 있는 방법에 대해 이야기해보려고 합니다. 최근 토양 분석 결과를 토대로 문제점을 파악하고, 이를 해결하기 위한 다양한 자연적인 방법들을 소개하겠습니다.🌍 토양 분석 결과 요약최근에 받은 토양 분석 결과는 다음과 같습니다:산도 (pH): 5.3 (적정 범위: 6.0~6.5) - 🌧️ 산성화유기물: 178 g/kg (적정 범위: 101~150 g/kg) - ✅ 적정유효인산: 56 mg/kg (적정 범위: 250~350 mg/kg) - ⚠️ 매우 낮음칼륨: 0.4 cmol+/kg (적정 범위: 0.55~0.65 cmol+/kg) - ⚠️ 낮음칼슘: 4.1 cmol+/k..
-
하드니스 존 (Hardiness Zone) 가이드
미국의 하드니스 존미국 농무부(USDA)의 하드니스 존 지도는 미국 전역의 최저 평균 기온을 기준으로 나누어진 구역을 나타냅니다. 각 존은 10°F(약 5.6°C) 간격으로 구분되며, Zone 1은 가장 추운 지역, Zone 13은 가장 따뜻한 지역을 나타냅니다.미국 하드니스 존의 구분Zone 1: -60°F to -50°F (-51.1°C to -45.6°C)Zone 2: -50°F to -40°F (-45.6°C to -40°C)Zone 3: -40°F to -30°F (-40°C to -34.4°C)Zone 4: -30°F to -20°F (-34.4°C to -28.9°C)Zone 5: -20°F to -10°F (-28.9°C to -23.3°C)Zone 6: -10°F to 0°F (-23.3..
-
커피 찌꺼기와 부엽토를 활용한 친환경 퇴비 만들기: 과학적 접근으로 효과적인 퇴비화
퇴비란 무엇인가요? 퇴비는 유기물이 분해되어 토양 개량제로 쓰일 수 있는 상태가 되는 것을 말합니다. 퇴비화 과정을 통해, 식물의 성장에 필수적인 영양소가 풍부한 토양을 만들 수 있습니다. 보다 자세히 말하면 "생물적 반응으로 발생하는 고온성 조건이 유기물 속에 존재하는 병원균이나 잡초의 씨앗을 사멸시키고, 또한 유기물을 안정화시켜 경작지에 안전하고 유용하게 사용할 수 있도록 하는 생물분해과정이라" 정의할 수 있습니다. 퇴비는 또한 식물의 생장에 필수적인 영양소를 서서히 방출하도록 도와주며 토양공극을 만들어주고 토양산도를 조절해주며 흙의 색깔을 검게 해 햇빛의 흡수량을 높이고 흙 속의 미생물 증식을 돕습니다. 퇴비에 함유되어 있는 유기물은 농약, 질산화합물, 인산 및 기타오염원이 될 수 있는 물질들을 고..
IT / Tech
-
[Swift] Identifiable, Codable, Hashable Protocol
Swift에서는 프로토콜이 중요한 역할을 합니다. 프로토콜은 특정 기능을 수행하기 위해 필요한 속성과 메서드를 정의하는 인터페이스이며, 이 프로토콜을 채택한 타입은 프로토콜의 요구사항을 구현해야 합니다. 이번 포스트에서는 사용자 모델을 만들 때 유용하게 사용되는 Identifiable, Codable, Hashable 프로토콜에 대해 설명하겠습니다.사용자 모델 구조체 정의 예제아래는 User라는 구조체를 정의하고 Identifiable, Codable, Hashable 프로토콜을 채택한 코드입니다.import Foundationstruct User: Identifiable, Codable, Hashable { let id: String let fullname: String let emai..
-
[SwiftUI] Combine을 이용한 실시간 데이터 구독 및 업데이트
SwiftUI와 Combine은 iOS 앱 개발에서 비동기 데이터 처리를 매우 간단하고 효율적으로 만들어줍니다. 특히, @Published와 Combine의 구독 기능을 활용하면 데이터가 실시간으로 업데이트될 때마다 뷰를 자동으로 새로고침할 수 있습니다. 이번 포스트에서는 ProfileViewModel 예제를 통해 SwiftUI에서 Combine을 활용하여 실시간으로 데이터를 업데이트하고, 이를 효율적으로 관리하는 방법을 소개하겠습니다.코드 예시: ProfileViewModelclass ProfileViewModel: ObservableObject { @Published var currentUser: User? private var cancellables = Set() init() { ..
-
[SwiftUI] LazyVStack: 효율적인 수직 스크롤 레이아웃
SwiftUI에서 LazyVStack은 많은 양의 콘텐츠를 수직으로 나열할 때 효율적인 방법을 제공합니다. 이 포스트에서는 LazyVStack의 개념, 동작 원리, 기본 사용법, 그리고 고급 활용법을 소개하겠습니다.LazyVStack이란?LazyVStack은 SwiftUI에서 스크롤이 가능한 수직 스택으로, 필요할 때만 콘텐츠를 렌더링하는 방식입니다. 많은 데이터를 화면에 표시할 때 메모리와 성능을 최적화하기 위해 LazyVStack을 사용하면 유용합니다. 일반 VStack은 모든 자식을 즉시 렌더링하는 반면, LazyVStack은 화면에 보이는 항목만 렌더링하므로 더 많은 성능 이점을 제공합니다.기본 원리LazyVStack은 지연 로딩을 통해 스크롤할 때 화면에 보여지는 항목만 렌더링합니다. 이는 메모..
-
[SwiftUI] NavigationStack: 새로운 네비게이션 방식의 이해
SwiftUI의 NavigationStack은 iOS 16에서 도입된 새로운 네비게이션 구조로, 기존의 NavigationView를 대체할 수 있습니다. 이번 포스트에서는 NavigationStack의 개념, 동작 원리, 기본 사용법, 그리고 고급 활용 방법까지 살펴보겠습니다.NavigationStack이란?NavigationStack은 SwiftUI에서 화면 간 전환을 관리하고, 뷰 계층 구조를 통해 유저가 탐색할 수 있는 길을 제공하는 역할을 합니다. 이전의 NavigationView와 달리 NavigationStack은 더욱 선언적이고 유연한 방식으로 뷰를 탐색할 수 있게 해줍니다.주요 특징:뷰 간의 스택 방식 탐색경로 기반 네비게이션 관리 (path)데이터 드리븐 탐색 지원NavigationSta..
-
[SwiftUI] View Modifier: 개념부터 고급 사용법까지
SwiftUI에서 ViewModifier는 뷰에 공통적으로 적용할 수 있는 변형이나 스타일을 캡슐화하는 강력한 도구입니다. 이 포스트에서는 ViewModifier의 개념, 원리, 기본 사용법, 그리고 고급 사용법까지 모두 살펴보겠습니다.View Modifier란?ViewModifier는 SwiftUI에서 하나 이상의 뷰에 쉽게 재사용할 수 있는 방법으로 변형(Modifier)을 적용할 수 있는 프로토콜입니다. 흔히 .padding(), .background() 등과 같은 메서드를 사용하지만, 커스텀한 변형을 정의하고 적용할 수 있다는 것이 핵심입니다.View Modifier의 원리ViewModifier는 하나의 메서드 body(content:)를 정의해야 하며, 이 메서드는 Content(적용되는 뷰)와..
-
Database ACID
데이터베이스에서 ACID는 트랜잭션(데이터베이스에서의 작업 단위)이 안전하게 수행되는 것을 보장하기 위한 네 가지 기본적인 속성을 의미합니다. ACID는 Atomicity(원자성), Consistency(일관성), Isolation(독립성), Durability(지속성)의 약자입니다. 각각의 속성을 쉽게 이해할 수 있도록 예를 들어 설명하겠습니다.Atomicity (원자성)원자성은 트랜잭션이 데이터베이스에 모두 반영되거나 전혀 반영되지 않아야 함을 의미합니다. 즉, 트랜잭션의 모든 작업이 성공적으로 완료되거나, 하나라도 실패하면 전체 트랜잭션이 취소되어야 합니다.예시: 은행 계좌 이체를 생각해보세요. A 계좌에서 B 계좌로 돈을 이체할 때, 이 과정은 두 단계로 이루어집니다. (1) A 계좌에서 돈을 빼..
-
쉽게 풀어쓴 튜링 기계와 튜링 불완전성
안녕하세요! 오늘은 컴퓨터 과학의 깊은 물에서 튀어나온, 들으면 귀에 익숙하지만 정확히 무엇인지 설명하기 어려운 개념인 '튜링 기계'와 '튜링 불완전성'에 대해 쉽고 재미있게 풀어보려고 합니다. 튜링 기계란 무엇일까요? '튜링 기계'는 1930년대에 영국의 수학자 앨런 튜링이 제안한 이론적인 계산 모델입니다. 컴퓨터가 발명되기 전, 사람들은 "이론적으로 컴퓨터가 할 수 있는 모든 계산"이 무엇인지 궁금해했습니다. 튜링 기계는 바로 이 질문에 답하기 위해 고안된 개념이죠. 간단히 말해, 튜링 기계는 무한히 긴 테이프, 테이프 위를 움직일 수 있는 헤드, 그리고 이 헤드가 수행할 수 있는 일련의 규칙(프로그램)으로 구성되어 있습니다. 테이프는 칸으로 나누어져 있고, 각 칸에는 기호(예: 0 또는 1)가 적혀..
-
graceful shutdown
spring: task: execution: pool: core-size: 150 max-size: 1000 queue-capacity: 1500 keep-alive: 60s shutdown: await-termination: true await-termination-period: 60s spring 을 이용한 service 운영시 graceful shutdown 이 제대로 동작하지 않는다면, 위의 옵션이 빠져있는지 확인해보자. ( pool 옵션 제외 )
인기 글
-
p90, p95, p99 latency
pXX Latency 에 대해서 pXX 는 percentile XX 라고 읽는다. 백분위 라고 생각하면된다. 내 생각을 정리할겸 표를 만들어 보았다. 응답속도 요청수 % 누적% p1 1 1 1% 1% p3 2 2 2% 3% p7 3 4 4% 7% p15 4 8 8.5% 15.5% p32 5 16 17% 32.5% p66 6 32 34% 66.5% p84.5 7 16 17% 84.5% p93 8 8 8.5% 93% p97 9 4 4% 97% p99 10 2 2% 99% 11 1 1% 100% Total 94 100% 위의 표를 참조해서 아래 글을 이해해보자. p99 의 latency 는 10초이다. 요청의 1%만이 10초보다 오래걸린다. 다른 사이트에서 percentil 99 latency 에 대해 다음처..
-
하드니스 존 (Hardiness Zone) 가이드
미국의 하드니스 존미국 농무부(USDA)의 하드니스 존 지도는 미국 전역의 최저 평균 기온을 기준으로 나누어진 구역을 나타냅니다. 각 존은 10°F(약 5.6°C) 간격으로 구분되며, Zone 1은 가장 추운 지역, Zone 13은 가장 따뜻한 지역을 나타냅니다.미국 하드니스 존의 구분Zone 1: -60°F to -50°F (-51.1°C to -45.6°C)Zone 2: -50°F to -40°F (-45.6°C to -40°C)Zone 3: -40°F to -30°F (-40°C to -34.4°C)Zone 4: -30°F to -20°F (-34.4°C to -28.9°C)Zone 5: -20°F to -10°F (-28.9°C to -23.3°C)Zone 6: -10°F to 0°F (-23.3..
-
2024, STEPN 시작을 하는 뉴비들을 위한 지침서
스테픈을 한 달 주기로, 채굴을 수익화시키고 있다.2년간 스테픈을 하면서 느낀 점을 정리하며, 2024년 스테픈 멘징을 시작해본다.나는 개인적으로 300만원 자본을 이용해 STEPN 을 시작하였다 ( 큰 투자를 해서 그런지... 비가오나 눈이 와도 나간다... - 폭설, 폭우 제외 )현재 15에너지 기준으로 매일 스테픈 멘징을 진행중이다.주로 GST 를 채굴하고, 매달 25일을 기점으로 phantom 이라는 앱에서 GMT 로 교환한다. 그리고 이를 upbit 로 전송하고 판매한다.( 아내에게 신발을 나누어주고, 둘이서 같이 산책하면서 멘징하고 있다. 나: 15에너지, 아내 :12에너지 )- 현재까지 약 150만원을 멘징하였고.- 이제 150만원정도 남았다. - 매월 13~16만원 가량 멘징을 하고 있으니..
-
[NodeJS]Socket.io rooms
Socket.io rooms 사용법07 Oct 2013Rooms는 접속된 클라이언트들을 룸으로 나눠서 관리할 수 있는 수단을 제공합니다. 그래서 어떤 룸에 있는 클라이언트 모두에 이벤트를 보내는(emit) 것을 쉽게 할 수 있게 해 줍니다.Join과 Leave특정 소켓을 어떤 룸에 join 하려면 아래와 같은 방법으로 join() 함수를 사용합니다.socket.join('room')leave할 때는 아래와 같이 leave() 함수를 사용합니다.socket.leave('room')아래가 활용예입니다.socket.on('subscribe', function(data) { socket.join(data.room); })socket.on('unsubscribe', function(data) { socket.le..
-
쉽게 풀어쓴 튜링 기계와 튜링 불완전성
안녕하세요! 오늘은 컴퓨터 과학의 깊은 물에서 튀어나온, 들으면 귀에 익숙하지만 정확히 무엇인지 설명하기 어려운 개념인 '튜링 기계'와 '튜링 불완전성'에 대해 쉽고 재미있게 풀어보려고 합니다. 튜링 기계란 무엇일까요? '튜링 기계'는 1930년대에 영국의 수학자 앨런 튜링이 제안한 이론적인 계산 모델입니다. 컴퓨터가 발명되기 전, 사람들은 "이론적으로 컴퓨터가 할 수 있는 모든 계산"이 무엇인지 궁금해했습니다. 튜링 기계는 바로 이 질문에 답하기 위해 고안된 개념이죠. 간단히 말해, 튜링 기계는 무한히 긴 테이프, 테이프 위를 움직일 수 있는 헤드, 그리고 이 헤드가 수행할 수 있는 일련의 규칙(프로그램)으로 구성되어 있습니다. 테이프는 칸으로 나누어져 있고, 각 칸에는 기호(예: 0 또는 1)가 적혀..
-
[Wordpress] 데이터베이스
워드프레스 데이터베이스 클래스워드프레스에는 디비를 직접 다룰 수 있는 메소드 함수를 가진 객체 클래스가 있다. 이 디비 클래스를 wpdb 라고 부르며 , 해당 클래스는 wp-includes/wp-db.php 내에 있다. wpdb 클래스를 사용하려면 반드시 $wpdb를 전역변수로 정의해 둔 다음, 호출해야 한다.호출 방식은 다음과 같다. global $wpdb; wpdb 클래스의 함수 중 가장 중요한 것이 prepare 함수이다. 이는 웹사이트에 대한 SQL 인젝션 공격을 예방하는 데 꼭 필요하다.( prepare 함수를 통해 쿼리의 변수에 escape 문자열을 추가한다. 다음 예제를 살펴보자. prepare 사용시 쿼리에 사용되는 변수를 모두 %s, %d 로 대체해야한다. 복합 데이터베이스 작업전체 테이..
-
[SwiftUI] NavigationStack: 새로운 네비게이션 방식의 이해
SwiftUI의 NavigationStack은 iOS 16에서 도입된 새로운 네비게이션 구조로, 기존의 NavigationView를 대체할 수 있습니다. 이번 포스트에서는 NavigationStack의 개념, 동작 원리, 기본 사용법, 그리고 고급 활용 방법까지 살펴보겠습니다.NavigationStack이란?NavigationStack은 SwiftUI에서 화면 간 전환을 관리하고, 뷰 계층 구조를 통해 유저가 탐색할 수 있는 길을 제공하는 역할을 합니다. 이전의 NavigationView와 달리 NavigationStack은 더욱 선언적이고 유연한 방식으로 뷰를 탐색할 수 있게 해줍니다.주요 특징:뷰 간의 스택 방식 탐색경로 기반 네비게이션 관리 (path)데이터 드리븐 탐색 지원NavigationSta..
-
Google Calendar API 휴일데이터 받아오기.
1. API 키 발급. ( 다른 인증을 사용해도 좋다. ) https://console.developers.google.com/apis/dashboard?project=quickstart-1552639953833&folder=&organizationId= 2. 구글 아이디로 로그인 후, 구글 캘린더에 원하는 국가의 휴일을 추가한다. ( 필수 ) 3. calendarList list api 를 통해서, 현재 나의 캘린더 리스트를 받아온다. https://developers.google.com/calendar/v3/reference/calendarList/list?apix_params=%7B%7D CalendarList: list | Calendar API | Google Developers Requires..