看得透又看得远者prevail. ppt.cc/flUmLx ppt.cc/fqtgqx ppt.cc/fZsXUx ppt.cc/fhWnZx ppt.cc/fnrkVx ppt.cc/f2CBVx
t.ly/s0R4x t.ly/gDGm6 ppt.cc/fwlgFx ppt.cc/fVjECx ppt.cc/fEnHsx ppt.cc/fRZTnx ppt.cc/fSZ3cx ppt.cc/fLOuCx ppt.cc/fE9Nux ppt.cc/fL5Kyx ppt.cc/f71Yqx tecmint.com linuxcool.com linux.die.net linux.it.net.cn ostechnix.com unix.com ubuntugeek.com runoob.com man.linuxde.net ppt.cc/fwpCex ppt.cc/fxcLIx ppt.cc/foX6Ux linuxprobe.com linuxtechi.com howtoforge.com linuxstory.org systutorials.com ghacks.net linuxopsys.com ppt.cc/ffAGfx ppt.cc/fJbezx ppt.cc/fNIQDx ppt.cc/fCSllx ppt.cc/fybDVx ppt.cc/fIMQxx
Total Pageviews
Wednesday, 16 September 2026
基于rust构建的浏览器ladybird
Qt6.9+ development packages, nasm, additional build tools, and a C++23 capable compiler are required.
Note
Some distributions still package a Qt6 older than 6.9; for example, Debian 13 (trixie) ships Qt 6.8 — so configuring against it fails. If your Qt6 is older than 6.9, install a newer one from a newer distribution release, or directly from the Qt online installer, and then point the build to it using CMAKE_PREFIX_PATH.
A Rust toolchain is also required. You can install it via rustup.
We currently use gcc-14 and clang-21 in our CI pipeline. If these versions are not available on your system, see
find_compiler.py for the minimum compatible version.
CMake 3.30 or newer must be available in $PATH.
sudo apt install autoconf autoconf-archive automake build-essential ccache cmake curl fonts-liberation2 git glslang-tools libdrm-dev libgl1-mesa-dev libncurses-dev libpulse-dev libtool nasm ninja-build pkg-config python3-venv qt6-base-private-dev qt6-positioning-dev qt6-tools-dev-tools qt6-wayland tar unzip zip- Recommendation: Install
CMake 3.30or newer from Kitware's apt repository:
Note
Kitware’s apt repository is Ubuntu-only.
# Add Kitware GPG signing key
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
# Optional: Verify the GPG key manually
# Use the key to authorize an entry for apt.kitware.com in apt sources list
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/kitware.list
# Update apt package list and install cmake
sudo apt update -y && sudo apt install cmake -y- Recommendation: Install clang from LLVM's apt repository:
# Add LLVM GPG signing key
sudo wget -O /usr/share/keyrings/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key
# Optional: Verify the GPG key manually
# Use the key to authorize an entry for apt.llvm.org in apt sources list
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] https://apt.llvm.org/$(lsb_release -sc)/ llvm-toolchain-$(lsb_release -sc)-21 main" | sudo tee -a /etc/apt/sources.list.d/llvm.list
# Update apt package list and install clang and associated packages
sudo apt update -y && sudo apt install clang-21 clangd-21 clang-tools-21 clang-format-21 clang-tidy-21 lld-21 -y- Alternative: Install gcc from Ubuntu Toolchain PPA:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update && sudo apt install g++-14 libstdc++-14-devsudo pacman -S --needed autoconf-archive base-devel ccache cmake curl git less libgl libpulse nasm ninja python qt6-base qt6-positioning qt6-tools ttf-liberation tar unzip zip
sudo dnf install autoconf-archive automake ccache cmake curl git libdrm-devel liberation-sans-fonts libglvnd-devel libtool nasm ncurses-devel ninja-build patchelf perl-FindBin perl-IPC-Cmd perl-lib perl-Time-Piece pulseaudio-libs-devel qt6-qtbase-private-devel qt6-qtpositioning-devel qt6-qttools-devel qt6-qtwayland-devel tar unzip zip zlib-ng-compat-static
sudo zypper install autoconf-archive automake ccache cmake curl gcc14 gcc14-c++ git liberation-fonts libglvnd-devel libpulse-devel libtool nasm ncurses-devel ninja qt6-base-private-devel qt6-positioning-devel qt6-tools-devel qt6-wayland-devel tar unzip zip
If one or more of the base repository packages are flagged as having an out-of-date version during the build process, you may need add the devel:tools:building repository. For example, on Leap 15.6, the autoconf package might be version 2.69, whereas the gperf package requires 2.70 to build.
For Leap 15.6, run the following command to add this repo (you will need to adjust the URL for other openSUSE versions):
sudo zypper addrepo https://download.opensuse.org/repositories/devel:tools:building/15.6/devel:tools:building.repo
sudo zypper refresh
Below is an example printout that might be received depending which versions of autoconf are available for installation:
> sudo zypper install autoconf
Loading repository data...
Reading installed packages...
'autoconf' is already installed.
There is an update candidate for 'autoconf' from vendor 'obs://build.opensuse.org/devel:tools', while the current vendor is 'SUSE LLC <https://www.suse.com/>'. Use 'zypper install autoconf-2.72-80.d_t_b.1.noarch' to install this candidate.
Resolving package dependencies...
Nothing to do.
> sudo zypper install autoconf-2.72-80.d_t_b.1.noarch
The build process requires at least python3.7; openSUSE Leap only features Python 3.6 as default, so it is recommendable to install the package python312 and create a virtual environment (venv) in this case.
A virtual environment can be created in your home directory and once the source command is issued python3 --version will show that the current version is python 3.12 within the virtual environment shell session.
python3.12 -m venv ~/python312_venv
source ~/python312_venv/bin/activate
python3 --version
This virtual environment can be created once and reused in future shell sessions by sourcing the generated file ~/python312_venv/bin/activate again.
sudo xbps-install -Su # (optional) ensure packages are up to date to avoid "Transaction aborted due to unresolved dependencies."
sudo xbps-install -S git bash gcc python3 curl cmake libtool zip unzip linux-headers make pkg-config autoconf automake autoconf-archive nasm ncurses-devel MesaLib-devel ninja pulseaudio-devel qt6-base-private-devel qt6-position-devel qt6-tools-devel qt6-wayland-devel
A Nix development shell is maintained here, in the nix-environments repository. If you encounter any problems building with Nix, please create an issue there.
Xcode 15 or clang from homebrew is required to successfully build ladybird.
xcode-select --install
brew install autoconf autoconf-archive automake ccache cmake libtool nasm ninja pkg-config
If you wish to use clang from homebrew instead:
brew install llvm@21
If you also plan to use the Qt UI on macOS:
brew install qt
Note
It is recommended to add your terminal application (i.e. Terminal.app or iTerm.app) to the system list of developer tools. Doing so will reduce slow startup time of freshly compiled binaries, due to macOS validating the binary on its first run. This can be done in the "Developer Tools" section of the "Privacy & Security" system settings.
from https://github.com/LadybirdBrowser/ladybird/blob/master/Documentation/BuildInstructionsLadybird.md
hono-vercel-ai-sdk
Hono + Vercel AI SDK + OpenAI
This example shows how to use the Vercel AI SDK with Hono to stream a response back from OpenAI.
Forked from the Vercel + Hono starter template.
$ git clone https://github.com/leerob/hono-vercel-ai-sdk.git
$ cd hono-vercel-ai-sdk
$ bun i -g vercel
$ bun i
$ vercel devfrom https://github.com/leerob/hono-vercel-ai-sdknext-email-client
An email client built with the Next.js App Router and Postgres.
This is an email client template built with Next.js and Postgres. It's built to show off some of the features of the App Router, which enable you to build products that:
- Navigate between routes in a column layout while maintaining scroll position (layouts support)
- Submit forms without JavaScript enabled (progressive enhancement)
- Navigate between routes extremely fast (prefetching and caching)
- Retain your UI position on reload (URL state)
Demo: https://next-email-client.vercel.app
- Framework: Next.js
- Database: Postgres
- ORM: Drizzle
- Styling: Tailwind CSS
- UI Library: shadcn/ui
git clone https://github.com/leerob/next-email-client
cd next-email-client
pnpm installUse the included setup script to create your .env file:
pnpm db:setupThen, run the database migrations and seed the database with emails and folders:
pnpm db:migrate
pnpm db:seedFinally, run the Next.js development server:
pnpm devOpen http://localhost:3000 in your browser to see the app in action.
- ✅ Search for emails
- ✅ Profile sidebar with user information
- ✅ View all threads
- ✅ View all emails in a thread
- ✅ Compose view
- ✅ Seed and setup script
- ✅ Highlight searched text
- ✅ Hook up compose view
- ✅ Delete emails (move to trash)
space-invaders
Space Invaders is a two-dimensional fixed shooter game in which the player controls a ship with lasers by moving it horizontally across the bottom of the screen and firing at descending aliens. The aim is to defeat five rows of ten aliens that move horizontally back and forth across the screen as they advance towards the bottom of the screen. The player defeats an alien, and earns points, by shooting it with the laser cannon. As more aliens are defeated, the aliens' movement and the game's music both speed up.
The aliens attempt to destroy the ship by firing at it while they approach the bottom of the screen. If they reach the bottom, the alien invasion is successful and the game ends. A special "mystery ship" will occasionally move across the top of the screen and award bonus points if destroyed. The ship is partially protected by several stationary defense bunkers that are gradually destroyed by projectiles from the aliens and player.
-
If you don't have Python or Pygame installed, you can simply double click the .exe file to play the game. Note: The .exe file needs to stay in the same directory as the sounds, images, and font folders.
-
If you have the correct version of Python and Pygame installed, you can run the program in the command prompt / terminal.
cd SpaceInvaders
python spaceinvaders.pyNote: If you're using Python 3, replace the command "python" with "python3"
MacOS Mojave: You need to use Python 3.7.2 or greater: Source
- AI research project where four types of agents control the ship and play the game
- NEAT program that evolves to beat the game
SaaS-Starter
Get started quickly with Next.js, Postgres, Stripe, and shadcn/ui.
https://next-saas-start.vercel.app/
This is a starter template for building a SaaS application using Next.js with support for authentication, Stripe integration for payments, and a dashboard for logged-in users.
Demo: https://next-saas-start.vercel.app/
- Marketing landing page (
/) with animated Terminal element - Pricing page (
/pricing) which connects to Stripe Checkout - Dashboard pages with CRUD operations on users/teams
- Basic RBAC with Owner and Member roles
- Subscription management with Stripe Customer Portal
- Email/password authentication with JWTs stored to cookies
- Global middleware to protect logged-in routes
- Local middleware to protect Server Actions or validate Zod schemas
- Activity logging system for any user events
git clone https://github.com/nextjs/saas-starter
cd saas-starter
pnpm installInstall and log in to your Stripe account:
stripe loginUse the included setup script to create your .env file:
pnpm db:setupRun the database migrations and seed the database with a default user and team:
pnpm db:migrate
pnpm db:seedThis will create the following user and team:
- User:
test@test.com - Password:
admin123
You can also create new users through the /sign-up route.
Finally, run the Next.js development server:
pnpm devOpen http://localhost:3000 in your browser to see the app in action.
You can listen for Stripe webhooks locally through their CLI to handle subscription change events:
stripe listen --forward-to localhost:3000/api/stripe/webhookTo test Stripe payments, use the following test card details:
- Card Number:
4242 4242 4242 4242 - Expiration: Any future date
- CVC: Any 3-digit number
When you're ready to deploy your SaaS application to production, follow these steps:
- Go to the Stripe Dashboard and create a new webhook for your production environment.
- Set the endpoint URL to your production API route (e.g.,
https://yourdomain.com/api/stripe/webhook). - Select the events you want to listen for (e.g.,
checkout.session.completed,customer.subscription.updated).
- Push your code to a GitHub repository.
- Connect your repository to Vercel and deploy it.
- Follow the Vercel deployment process, which will guide you through setting up your project.
In your Vercel project settings (or during deployment), add all the necessary environment variables. Make sure to update the values for the production environment, including:
BASE_URL: Set this to your production domain.STRIPE_SECRET_KEY: Use your Stripe secret key for the production environment.STRIPE_WEBHOOK_SECRET: Use the webhook secret from the production webhook you created in step 1.POSTGRES_URL: Set this to your production database URL.AUTH_SECRET: Set this to a random string.openssl rand -base64 32will generate one.
While this template is intentionally minimal and to be used as a learning resource, there are other paid versions in the community which are more full-featured:
- https://achromatic.dev
- https://shipfa.st
- https://makerkit.dev
- https://zerotoshipped.com
- https://turbostarter.dev
from https://github.com/nextjs/saas-starter
------
The repository backing React 2025 has been updated to match what React actually will look like in 2025.
This means it uses all of the latest React 19 features, as well as improvements in Next.js in the past 4 years. You can still use this repo as an archived reference, but I would recommend checking out the new repo to see the latest patterns.
from https://github.com/leerob/react2025
Tuesday, 15 September 2026
7款2026最新免費AI工具
涵蓋 AI 影片生成、AI 圖片生成、AI 文生影片、圖生影片、AI 配音、AI 創作等熱門功能。
其中包含 Seedance、Google Flow、Google Vids、Dreamina、Digen AI、Perchance 等高品質平台工具,部分工具支援無限免費使用,還有隱藏技巧協助你體驗更多進階模型。
本期推薦的免費工具:
1、免費無審圖像工具:https://perchance.org/ai-character-generator
2、Google Opal:https://opal.google/
3、Google Vids:https://workspace.google.com/products/vids/
4、Google Flow:https://labs.google/fx/tools/flow
5、DIGEN:https://digen.ai
6、Dreamina:https://dreamina.capcut.com/ai-tool/home
7、去水印工具:https://ezremove.ai/video-watermark-remover/
https://www.youtube.com/@aifreelabs


