Previously, I used Notion to record fragments of my life. However, there was an incident where the server of Yuque crashed. So, I thought it would be better to write everything directly on my blog using markdown and use VSCode as the writing editor. The experience with VSCode seems to be good, and I decided to switch to local recording. Additionally, since everything is recorded in markdown, I can also sync it with xLog for simple sharing.
Sleep#
Sleep Time | Quality Sleep | Bedtime | Heart Rate | Deep Sleep |
---|---|---|---|---|
6:31 | 5:35 | 2:36 | 59 | 2:21 |
Diet & Exercise & Habits#
High Sugar Food | Milk | Exercise | Fruit | Acne | Focus | Blog Writing | Reading | Learning Japanese |
---|---|---|---|---|---|---|---|---|
18 | 2 | 21 | 16 | 4 | 28 | 6 | 22 | 30 |
Books & Movies & Music#
Books | Movies | Music |
---|---|---|
2 | 3 | 0 |
I finished reading "The Lychee in Chang'an". Before reading it, I had imagined it to be a story about an official accomplishing something impossible, with power and exploitation intertwined. The story of this person's rise to success.
After reading most of the plot, I realized that Ma Boyong's writing style really captivated me. It's hard to imagine how vivid and lively each character in the story is portrayed. The descriptions of each scene make me feel like I'm there. Especially the character A Tong, who is depicted as so lovely. The ending made me yearn for it even more. To give everything to fulfill the wishes of the powerful without being assimilated by them, and to still have a sensitive heart that appreciates the ordinary emotions in the world. Finally, to cultivate lychees in Lingnan, it's such a satisfying life.
Work & Life#
Records#
Confirmed the checklist for the Japan visa.
Explored some AI products and tried out their user experience. It's interesting how they integrate AI into the entire process of generating landing pages, SEO, and SEM. Maybe I can try building such a toy myself.
Tried setting up a new workplace using NX and clarified the functional requirements for a landing page project:
- Support for both PC and H5 platforms, with considerations for mobile development and compatibility.
- Provide a deployment verification solution and demo files for both platforms.
- Lazy loading of route pages, with support for configuring page Helmet in the root layout and built-in baseUrl logic for quickly mounting the service to existing sub-routes of the official website.
- Provide examples of form usage and security validation components.
- Provide examples of data integration with platforms such as Douyin and Baidu.
- Support for styled-component, unocss (with built-in support for tailwind syntax), and less for writing styles. Other style syntax requirements can be easily extended in the Vite configuration.
Travelogue on October 27th:
It was my first trip outside the mainland. I collected various things I needed for the trip to Macau on Xiaohongshu. At the beginning, I didn't know there was a dedicated counter for international flights at the domestic airport. After checking the flight information on Fliggy, I found out about the counter. I arrived at the airport more than two hours in advance, but the procedures were completed in just a few minutes.
When I arrived in Macau, I was completely lost. I asked an uncle for directions to the subway, but he didn't speak Mandarin. He could only use English to tell me to go upstairs and straight ahead on the 1st floor. He also gestured with his hands. Fortunately, I found the location successfully. I used Alipay to exchange for a chip-like single ticket at a window. This ticket can be swiped at the gate. However, I took the wrong direction, which was embarrassing. Fortunately, I didn't have to pay extra for the ticket. Also, this is not a subway, but a light rail. Fortunately, the uncle understood what I meant by "subway".
When I arrived at the hotel, I ordered a local favorite, silk stockings milk tea. Unfortunately, it was just average. Around 8 o'clock in the evening, I went out with my camera for a city walk. The first stop was Guanyejie Street, where there were many snacks, but they didn't seem to be more delicious than the ones at Yishang Street in Huzhou. I had a bitter gourd lemon tea and continued walking towards the city center. Along the way, I saw a large area of open-air barbecue, with many foreigners enjoying the barbecue. It seems that such delicacies have an international market. The buses and taxis along the way also have local characteristics, giving a sense of luxury. It may be due to my preconceived image of Hong Kong and Macau. But when I reached the Venetian, Parisian, and Londoner's Rotunda, I truly felt the bustling atmosphere. It felt similar to the Rotunda at the Oriental Pearl Tower in Shanghai, but Shanghai is definitely more impressive. I continued walking to my final destination, Wynn Palace, and was amazed by its grandeur. At the entrance, there was a paid cable car and a continuous display of fountains. Many people were taking photos with the fountains in the background.
On the way back, I put down my camera and relied more on my eyes and ears to experience the surroundings. It felt comfortable and pleasant. However, the wind here is too humid and hot.
Travelogue on October 28th:
I woke up late and naturally slept until 12 o'clock. I opened my phone and watched the LGD vs. AR match. AR had a significant advantage, but Wang Zhi's performance in the later stages of the game was outstanding. In the second game, LGD completely dominated AR and won 2-0.
I took a taxi to Dashimen Archway and arrived at a nearby New Yaohan to take shelter from the rain and see the local people's shopping mall. The mall had everything from luxury goods to daily necessities, fruits and vegetables, and international snacks on different floors.
When the rain stopped, I went to Dashimen Archway and the nearby St. Lawrence Church. There were quite a few tourists in the area. I took a leisurely stroll and climbed up to the fort. Surprisingly, there were many pigeons flying on a platform below the fort. It reminded me of the War and Peace Museum, which I also visited here.
After the museum, I found another street and went downhill. I found a local shop and had a delicious pork chop and egg rice, which was unexpectedly good. After eating, I thought it was time to take a taxi back to the hotel. However, I couldn't find a taxi at all. I had to exchange some change with the shop owner and took a bus back to Macau.
Back at the hotel, I rested for a while and then walked to the concert venue. When I arrived near the Venetian, I completely lost my way. I asked around and found out that I had to go through the entertainment area to get out. I finally found the venue and enjoyed the concert. The concert had a well-designed stage and theme concept. It included new songs, old songs, love songs, philosophical songs, and electronic music. It was a great experience, and I even heard my favorite songs "Ren Wo Xing" and "Qi Bai Nian" live.
After the concert, I walked back to the hotel and enjoyed the evening breeze in Macau. I had a delicious seafood hotpot and durian dessert, feeling very comfortable.
Travelogue on October 29th:
I set an alarm for 8:45 am to have breakfast. I had a local-style instant noodles, which had a chewy texture. The pork chop was flavorful and delicious. The highlight was the Hong Kong-style milk tea, which had a strong and bitter taste that I liked.
After breakfast, I watched the TI Upper Bracket Finals. Spirit was amazing and won 2-0 against LGD. In the Lower Bracket, AR couldn't defeat GG, which was visibly weaker.
I went out and walked along the familiar route to Guanyejie Street. I had a great meal there, including spicy crab, 5 abalones, and shark fin soup. It cost a total of 875 Macau patacas, which used up most of the currency I exchanged.
With 1000 Hong Kong dollars left, I went to the last stop, the bank, hotel, and casino. When I arrived, I realized that their shopping mall was built around the casino. I had a cup of Starbucks and entered the casino. I couldn't understand the rules inside, so I relied on GPT to understand them.
I learned the rules of baccarat, but I didn't gamble in the end. I felt that understanding the rules and observing people was enough.
I picked up my luggage from the hotel and took the light rail to the airport. I had a meal at a local McDonald's and was pleasantly surprised to find an unfamiliar drink, Ovaltine McFlurry. It tasted good. I checked in and went through immigration, ready to return to Hangzhou. It was a pleasant journey.
Learning#
I learned about the function call mode of GPT. Previously, I thought that a function was defined on the server side, and GPT would use the defined function logic to generate the result based on the parameters. However, there are more detailed steps involved:
- The function execution logic is defined when generating the GPT dialogue.
- When prompting the dialogue, the function name, its purpose, parameter definitions, and specific parameter effects need to be provided to GPT.
- When the user inputs a question, GPT further determines if it is related to the function's purpose defined at the beginning. If it is, GPT returns the function name.
- The client receives the function name and the parsed function parameters from GPT, and then calls the function.
- Finally, the generated result is passed back to GPT. At this point, the role defined is "function", and GPT returns a summary of the entire dialogue, completing the function call.
I read the NestJS Chinese documentation and gained a better understanding of the different concepts and their use cases in NestJS. I also learned about the request flow in NestJS: request enters → middleware (global/module) → guards (global/controller/route) → controller pre-interceptors (global/controller/route) → pipes (global/controller/route/route parameters) → controller logic → services (if applicable) → controller post-interceptors (route/controller/global) → exception filters (route/controller/global) → server response.
I learned about how PostCSS reads the postcss.config.js file in the root directory by default in Vite. If it is further declared in vite.config.js, the configuration in the file will not take effect.
I have been thinking more about the relationships between superiors and subordinates in the workplace. Previously, I would maintain a certain distance from my superiors, whether I liked them or not, and keep my opinions to myself as long as they were not related to interests. Now, I am trying to express my concerns and respect more actively. Although it still doesn't seem proactive enough, I believe that with practice, I can become more proactive and natural in expressing myself. Ultimately, relationships need to be actively maintained.