My First Blog Post!
Purpose
- To ride the wave of the AI revolution, learn to use various AI capabilities, and document my learning journey for review and sharing.
 - I have absolutely no knowledge of HTML, CSS, JavaScript, TypeScript, Node.js, and I can’t really distinguish between front-end, back-end, full-stack, networking, and servers. But that’s okay, with the help of AI, I built a template in one day and deployed it online 😊. Then I gradually added new features, and in about three or four days, I completed the current system. Next is to start writing blog posts.
 
Architecture and Deployment
- Based on Deno, a JavaScript, TypeScript, and WebAssembly runtime built on the V8 engine and Rust.
 - The framework is Fresh, a full-stack web framework based on Deno.
 - Deployed on Deno Deploy, a globally distributed serverless JavaScript application platform.
 
Tools
- Cursor, an intelligent code editor from Anysphere.
 - VSCode, an open-source code editor developed by Microsoft, on which Cursor is based.
 - VSCode AI plugins cline, continue.
 
Article Format
- The blog post format is Markdown.
 - The benefits of using Markdown are shown in the example below:
 
Displaying Mathematical Formulas
- Duhamel’s integral method for single-degree-of-freedom vibration
 - Duhamel Integration Method
 - Calculation method:
- Cut the earthquake motion (external load) time history into small segments of impulse loads with different peak values.
 - Under the action of each segment of impulse load, the structure performs damped free vibration (a sine curve that gradually decreases).
 - Sum the responses (free vibration responses) under the action of each segment of impulse load to obtain the final displacement time history.
 
 - Formula
- At time , the displacement generated by the impulse is calculated according to the following formula:
 
 
- 
- is the natural circular frequency of the structure with a single mass ,
 - is the natural period of the structure,
 - is the stiffness of the structure,
 - is the damping coefficient
 
 
Displaying Tables
| Environment Variable | Function | 
|---|---|
| PYMAPDL_START_INSTANCE | Overrides the behavior of the ansys.mapdl.core.launcher.launch_mapdl() function, only attempting to connect to an existing instance of PyMAPDL. Generally used in conjunction with PYMAPDL_PORT. | 
| PYMAPDL_PORT | The default port for PyMAPDL to connect to. | 
| PYMAPDL_IP | The default IP for PyMAPDL to connect to. | 
| ANSYSLMD_LICENSE_FILE | The license file or IP address in the format PORT@IP. Do not confuse this with the IP and PORT where the MAPDL instance is running, which are specified using PYMAPDL_IP and PYMAPDL_PORT. This helps provide licensing for Docker. | 
| PYMAPDL_MAPDL_EXEC | The executable path to start the MAPDL instance. | 
| PYMAPDL_MAPDL_VERSION | The default MAPDL version to start when multiple MAPDL versions are available. | 
| PYMAPDL_MAX_MESSAGE_LENGTH | The maximum length of a gRPC message. Increase this value if your connection terminates when running PRNSOL or NLIST. In bytes, defaults to 256 MB. | 
Text Formatting
**Bold**-> Bold_Italic_-> Italic~~Strikethrough~~->Strikethrough
Displaying Code
/// <reference no-default-lib="true" />
/// <reference lib="dom" />
/// <reference lib="dom.iterable" />
/// <reference lib="dom.asynciterable" />
/// <reference lib="deno.ns" />
import "$std/dotenv/load.ts";
import { start } from "$fresh/server.ts";
import manifest from "./fresh.gen.ts";
import config from "./fresh.config.ts";
await start(manifest, config);
Reference
- The template is based on this repository: fresh-blog-with-deno2
 
Conclusion
This is my first blog post. I hope to keep it up and record my learning journey.