{"data":{"allPost":{"edges":[{"node":{"slug":"/post/2019/03/an-introduction-to-gatsblog-5eca","title":"An Introduction to Gatsblog","subtitle":"A Blog Built with Gatsby.js","isPublished":true,"createdTime":"2019-03-02T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Blog","Design","Programming","Gatsblog"],"category":"Showcase","file":{"childMdx":{"excerpt":"This post has been revisited with LLM technology to improve its English\nfluency. As mentioned in my Hello World post, no existing blog system fully meets my\nneeds, especially given my deep involvement with frontend technology. This led me to create my own solution. This post documents my journey…"}}}},{"node":{"slug":"/post/2019/03/notes-on-design-of-gatsblog-1431","title":"Notes on Design of Gatsblog","subtitle":"","isPublished":true,"createdTime":"2019-03-03T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Blog","Design","Gatsblog"],"category":"Showcase","file":{"childMdx":{"excerpt":"This post has been revisited with LLM technology to improve its English\nfluency. I had limited time to create a modern design for the first version of Gatsblog.\nThe design is somewhat \"old school,\" but I carefully tuned the grid system to\nachieve a high-quality layout. Grid System Grid systems are…"}}}},{"node":{"slug":"/post/2019/03/use-crontab-to-automate-updates-of-cli-softwares-cac3","title":"Use crontab to Automate Updates of CLI Softwares","subtitle":"","isPublished":true,"createdTime":"2019-03-24T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["UNIX","crontab","Automation"],"category":"Productivity","file":{"childMdx":{"excerpt":"crontab , an abbreviation of chronic table (periodical time table), is\na task scheduler which schedules tasks in period of time on UNIX systems.\nEach user in UNIX systems have its own \"crontab\". Editing the crontab File By executing  crontab -e , you can open the crontab of the user you logged\nin…"}}}},{"node":{"slug":"/post/2019/03/notes-on-implementation-of-gatsblog-fef0","title":"Notes On Implementation of Gatsblog","subtitle":"","isPublished":true,"createdTime":"2019-03-04T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Blog","Programming","Gatsblog"],"category":"Showcase","file":{"childMdx":{"excerpt":"This post has been revisited with LLM technology to improve its English\nfluency. In this post, I'll discuss the implementation of Gatsblog, a blog system\nbuilt with Gatsby.js. If you missed my previous posts about the overview and\ndesign of Gatsblog, please check them for context about the…"}}}},{"node":{"slug":"/post/2019/09/conforming-to-codable-for-associated-value-enums-in-swift-9e3c","title":"Conforming to Codable for Associated Value Enums in Swift","subtitle":"","isPublished":true,"createdTime":"2019-09-10T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Swift","Codable","Associated Value Enum"],"category":"Programming","file":{"childMdx":{"excerpt":"Understanding Associated Value Enums Why there are associated value enums in Swift? I mean, why the Swift core\nteam designed associated value enum？ To understand it, firstly, let's take a look at the following example in C: The C  struct   Device  represents a device. The member  pointer  is an…"}}}},{"node":{"slug":"/post/2022/03/unexplained-swiftui-the-programming-language-nature-of-swiftui-d20e","title":"Unexplained SwiftUI - The Programming Language Nature of SwiftUI","subtitle":"","isPublished":true,"createdTime":"2022-03-06T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Unexplained SwiftUI","SwiftUI","Swift"],"category":"Programming","file":{"childMdx":{"excerpt":"Preface Apple introduced SwiftUI at WWDC 2019. Most people may seem SwiftUI as yet another UI framework likes  Flutter ,  React.js  or  Vue.js  which rides on the trend of  declarative   stateless  UI programming. Even though there are some common points between them, SwiftUI is far different from…"}}}},{"node":{"slug":"/post/2019/03/a-story-of-implementing-aspect-oriented-programming-in-objective-c-and-swift-8b92","title":"A Story of Implementing Aspect-Oriented Programming in Objective-C and Swift","subtitle":"","isPublished":true,"createdTime":"2019-03-01T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Swift","Objective-C","Aspect-Oriented Programming"],"category":"Programming","file":{"childMdx":{"excerpt":"Case Study: Intervening UIScrollView Instances's Pan Gesture Recognizer As we known,  UIScrollView  translates pan gesture signals into\n scrollViewDidXXX:  messages and sends to its delegate, most of the time\nyou only have to understand the relationships between the pan gesture\nsignals and the…"}}}},{"node":{"slug":"/post/2019/03/a-glimpse-into-generic-meta-programming-in-swift-d2cd","title":"A Glimpse into Swift Generic Meta-Programming","subtitle":"Make VFL Reborn in Swift with Compile-Time Safety","isPublished":true,"createdTime":"2019-03-27T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Swift","MetaProgramming","Generic","VFL","AutoLayout","macOS","iOS","tvOS"],"category":"Programming","file":{"childMdx":{"excerpt":"Preface What is the most critical thing swings your decision when you choose a\nprogramming language? Some people may say, the less lines of code they write, the better the\nlanguage itself is. (Nope, the best programming language is PHP.) OK. It might be true. But writing less code is not an…"}}}}]}},"pageContext":{"slug":"/page-2","locale":null,"title":"All the Posts (Page 2)","showsPageTitle":false,"keywords":["WeZZard","Pieces of My Soul"],"description":"","items":["f06c1b0c-88ad-59b4-9a2c-690037a03ade","8e601448-778d-51ca-a66b-b68b06248377","ce1c7301-5889-59f8-821a-d4832b9a64b6","134e5703-f8d8-5c94-b7f7-fbe98b44876e","b0391bd1-0091-590a-80f2-6b6cb0632e4d","10d7b0ff-a57b-5ed6-8009-210fb03be8e7","ae21300f-a727-599f-a4f6-90375edebef3","6711bea1-42f1-543e-bb9c-8740e10314f0"],"paginationInfo":{"basePath":"","pageIndex":1,"pagesCount":3,"previousPageTitle":"Earlier Posts","nextPageTitle":"Later Posts"}}}