- Purpose: Podman is a Docker-compatible, daemonless container engine focused on security and compatibility with OCI.
- Security model: Rootless by default via user namespaces; works with SELinux/AppArmor; reduces blast radius compared to a rootful daemon.
- Architecture: No central daemon; containers are regular processes managed by the user; integrates well with
systemd
(generate unit files, manage lifecycle). - Docker compatibility: Largely CLI-compatible; can run Docker images;
podman build
(powered by Buildah) supports Dockerfiles; optional Docker REST API socket for tooling compatibility. - Kubernetes integration: First-class pod concept;
podman generate kube
exports manifests;podman play kube
runs manifests locally; smoother dev→K8s workflows. - Networking: Uses CNI plugins; rootless networking relies on slirp4netns (some port/MTU limitations); differs from Docker’s default bridge but offers comparable outcomes in most cases.
- Storage: OCI image layout; OverlayFS where available,
fuse-overlayfs
for rootless; supports volumes and image management similar to Docker. - Compose: Supports
podman-compose
; with the Docker-compatible socket, manydocker compose
workflows can work, though features may vary by version. - Cross-platform: Native on Linux; macOS/Windows use Podman Machine (a lightweight VM), similar conceptually to Docker Desktop.
- Performance: Lower overhead on Linux without a long-running daemon; on macOS/Windows performance depends on the backing VM.
- Use cases: Security-conscious environments, rootless CI, local K8s-oriented development, and servers where a daemon is undesirable.
- Limitations: No persistent daemon to auto-manage state; some rootless networking constraints; ecosystem around Compose and third-party tools can be uneven versus Docker.
Week 1
Principles of Data Graphics
Data Density
- Data density = Number of entries of data matrix / Available display area
Data Integrity
- Data scrubbing
- Deliberately removing data or deriving data (smoothing/resampling) to create a false message
CI Tools
1. JaCoCo (Java Code Coverage)
Purpose: Code coverage analysis tool
-
Measures how much of your source code is exercised by your unit tests
-
Tracks:
- Line coverage
- Branch coverage
- Method/class coverage
-
Generates visual HTML reports showing what parts of code are untested
Algorithm | Type | Generative/Discriminative | Linear/Non-linear | Notes |
---|---|---|---|---|
Naive Bayes | Classification | Generative | Linear | Assumes feature independence, uses Bayes' theorem |
Logistic Regression | Classification | Discriminative | Linear | Uses sigmoid function, mainly for binary classification |
Decision Trees | Classification | Discriminative | Non-linear | Handles both numerical and categorical features |
SVM | Classification | Discriminative | Linear/Non-linear | Uses kernel trick for non-linear, finds optimal hyperplane |
k-NN | Classification | Discriminative | Non-linear | Instance-based, sensitive to feature scaling |
Neural Networks | Classification | Discriminative | Non-linear | Can model complex patterns, requires large datasets |
Linear Regression | Regression | Discriminative | Linear | Predicts continuous values, sensitive to multicollinearity |
k-Means | Clustering | - | Linear | Unsupervised, sensitive to initial centroids and outliers |
PCA | Dimensionality Reduction | - | Linear | Unsupervised, maximizes variance, does not consider class labels |
Hierarchical Clustering | Clustering | - | Non-linear | Unsupervised, builds nested clusters, linkage methods affect results |
Perceptron | Classification | Discriminative | Linear | Simple model, only for linearly separable data |
Multi-Layer Perceptron | Classification/Regression | Discriminative | Non-linear | Can solve XOR problem, uses backpropagation for training |
# server.py
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("Demo")
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
if __name__ == "__main__":
mcp.run(transport="stdio")
- Sealos is a container management platform that provides a unified interface for managing containerized applications, including application deployment, monitoring, logging, and alerting.
- Sealos can connect projects to local IDEs for development and debugging.
- Sealos can create virtual machines and deploy applications to them.
- Sealos can manage the lifecycle of applications, including deployment, scaling, and deletion.
- Sealos can provide a unified interface for managing containerized applications, including application deployment, monitoring, logging, and alerting.
DigitalPlat
A digital platform typically used for enterprise digital transformation, integrating various business management and data analysis tools to improve operational efficiency.
NameSilo
A well-known domain registrar that provides domain registration, management, and transfer services, famous for transparent pricing and free privacy protection.
Practice
- Sucessfully deployed Resume on Resume-EN and Resume-CN. The domain name is free from digitalplat, and used Workers and Pages in CloudFlare to deploy.
Array
HashMap
Stack and Queue
Binary Tree
Depth-First Traversal Preorder Traversal (Recursive, Iterative) Left-Right Inorder Traversal (Recursive, Iterative) Left-Middle-Right Postorder Traversal (Recursive, Iterative) Left-Right-Middle Breadth-First Traversal Level Order Traversal (Iterative)