MD5 值是什么?为什么文件需要检验 MD5?

thbcm阅读(440)

在网络下载或文件传输的场景中,我们经常听到 “MD5 值” 这个术语。MD5 值就像是文件的 “数字指纹”,它是我们判断文件完整性和准确性的重要依据。

一、MD5 值是什么?

MD5 即信息摘要算法第五版(Message Digest Algorithm 5),是一种不可逆的加密方式,广泛用于数据校验与保护。它能够将任意长度的数据转换为固定长度的哈希值,通常表现为 32 位的十六进制数字。这个哈希值可以看作是文件的 “数字指纹”,具有唯一性,即使文件发生微小的改动,其 MD5 值也会发生巨大变化。

二、为什么文件需要检验 MD5?

(一)确保文件完整性

在文件传输或存储过程中,可能会因网络问题、存储设备故障等原因导致文件损坏。通过计算文件的 MD5 哈希值,并与原始文件的 MD5 值进行比对,可以验证文件是否完整。若两个值一致,则说明文件未被损坏,完整性得到了保障。

(二)验证数据一致性

数据在传输和存储期间,可能出现传输错误、网络干扰或磁盘故障等情况,导致数据发生错误。利用 MD5 校验可以确保数据在不同节点之间的一致性,及时发现数据传输或存储过程中出现的错误。

(三)保障安全性

MD5 校验可用于检测文件是否被恶意篡改。如果文件在传输过程中被篡改,其 MD5 值也会相应改变。通过校验 MD5 值,能够及时发现文件被篡改的情况,从而保护数据的安全性,防止用户使用被篡改的文件而遭受损失。

(四)文件识别与去重

每个文件都有一个唯一的 MD5 码,不同文件的 MD5 码几乎不会相同。因此,可以利用 MD5 码来进行文件识别和重复性检测。通过比较文件的 MD5 码,可以判断两个文件是否完全相同,避免存储和传输重复文件,节省存储空间和传输带宽。

三、MD5 校验的常见场景

(一)下载文件校验

当我们从网上下载软件、镜像文件等时,常常会看到发布者提供了文件的 MD5 值。下载完成后,我们可以通过 MD5 校验工具计算下载文件的 MD5 值,并与发布者提供的值进行比对,以确保下载的文件完整无误。例如,在编程狮(W3Cschool)上学习相关课程时,可能会涉及到一些资源文件的下载,此时就可以利用 MD5 校验来保证文件的完整性。

(二)系统文件校验

在操作系统安装过程中,校验系统文件的 MD5 值可以确保文件未被篡改,避免因文件损坏导致系统安装失败。如果在安装过程中出现错误提示,如 ghost 安装过程中出现 Decompression error, Abort? 等错误,很可能是系统镜像文件损坏。此时,可以通过校验 MD5 值来判断文件是否损坏,并重新下载正确的文件进行安装。

(三)数据备份与恢复

在进行数据备份和恢复时,通过 MD5 校验可以确保备份数据的完整性和一致性,防止因数据损坏而导致备份和恢复失败,保障数据的安全性和可靠性。

四、如何进行 MD5 校验?

(一)使用命令行工具

  • 在 Windows 系统中 :可以使用 PowerShell 自带的 Get-FileHash 命令来计算文件的 MD5 值。例如,在 PowerShell 中输入 Get-FileHash 文件路径 -Algorithm MD5,即可得到该文件的 MD5 值。

  • 在 Linux 系统中 :可以使用 md5sum 命令来计算文件的 MD5 值。在终端中输入 md5sum 文件名,即可得到该文件的 MD5 值。

(二)使用图形化工具

网上有许多 MD5 校验工具可供下载,如 Md5Checker 等。这些工具通常具有简洁易用的图形界面,用户只需将要校验的文件拖入工具中,即可自动计算并显示文件的 MD5 值,方便快捷。

(三)编程实现 MD5 校验

如果你正在学习编程,可以在编程狮(W3Cschool)上学习相关编程语言的课程,了解如何通过编程实现 MD5 校验。例如,在 Python 中,可以使用 hashlib 库来计算文件的 MD5 哈希值。代码示例如下:

import hashlib


def calculate_md5(file_path):
    md5_hash = hashlib.md5()
    with open(file_path, "rb") as f:
        for chunk in iter(lambda: f.read(4096), b""):
            md5_hash.update(chunk)
    return md5_hash.hexdigest()


file_path = "example.txt"  # 替换为你要校验的文件路径
md5_value = calculate_md5(file_path)
print(f"文件的 MD5 值为: {md5_value}")

五、相关课程

如果你想深入了解 MD5 校验的相关知识以及背后的编程原理,可以学习编程狮(W3Cschool)上的以下课程:

  • Python 基础入门 :学习 Python 的基本语法和常用库,为进一步学习编程实现 MD5 校验打下基础。
  • Python 进阶 :深入学习 Python 在数据处理、文件操作等领域的应用,掌握如何通过编程实现文件的 MD5 校验等功能。

总之,MD5 校验在文件的完整性验证、数据一致性保障以及安全性保护等方面发挥着重要作用。通过合理使用 MD5 校验工具或编程实现 MD5 校验功能,可以有效保障文件的安全性和可靠性。同时,编程狮(W3Cschool)上的相关课程也能帮助你更深入地理解 MD5 校验的相关知识和编程技能。

404 是什么意思?常见404代码示例

thbcm阅读(328)

你是否在浏览网页时突然看到 “404 Not Found” 的提示,一脸懵,不知所措?别担心,今天我就来给大家详细说说 404 是什么意思。

一、404 的含义

404 是 HTTP 状态码之一,表示客户端能够与服务器通信,但服务器无法找到请求的资源。简单来说,就是你访问的页面不存在。

二、404 错误的常见原因

(一)页面被删除或移动

网站管理员可能删除了某个页面,或者将页面移动到新的 URL,但没有设置正确的重定向。当用户访问旧 URL 时,就会遇到 404 错误。

(二)URL 输入错误

用户在浏览器中手动输入 URL 时,可能会拼写错误,或者点击了错误的链接,导致服务器无法找到对应的资源,从而返回 404 错误。

(三)服务器配置问题

服务器配置错误可能导致某些资源无法被找到。例如,服务器上的文件被意外删除或移动,或者服务器没有正确配置对特定资源的处理程序。

(四)路由配置错误

如果你使用的是 Web 框架,路由配置错误可能导致页面无法正确匹配,从而出现 404 错误。

(五)文件权限问题

即使文件存在,如果服务器没有正确的权限来访问该文件,也会返回 404 错误。

(六)网络或缓存问题

有时浏览器缓存或网络问题可能导致网页加载异常,出现 404 错误。可以尝试清除浏览器缓存或检查网络连接后重新加载网页。

三、404 错误的影响

404 错误会影响用户体验,用户无法访问想要的内容,可能会导致用户流失。此外,大量 404 错误还可能影响网站在搜索引擎中的排名。

四、404 错误的解决方法

(一)检查 URL

确保输入的网址没有错误,包括字母、数字和符号等。

(二)清除浏览器缓存

有时浏览器缓存会导致网页无法正常加载,可以尝试清除缓存后重新加载网页。

(三)尝试使用其他浏览器

如果当前浏览器无法打开页面,可以尝试使用其他浏览器进行访问。

(四)检查服务器配置

网站管理员应检查服务器配置文件,确保正确配置了网站的根目录或特定文件类型的处理程序。

(五)设置重定向

如果页面被移动或删除,应设置 301 重定向,将用户自动引导到新的 URL。

(六)检查文件路径和权限

确保服务器上文件的路径与 URL 中的路径匹配,并且服务器具有访问请求资源的权限。

(七)利用相关工具检查

可以使用一些在线工具来检查网站上的 404 错误,例如 Google Search Console。

(八)联系网站管理员

如果以上方法都无法解决问题,可以联系网站管理员寻求帮助。

五、如何预防 404 错误

(一)定期检查网站链接

确保所有链接都是最新的,并且指向正确的页面。

(二)设置友好的错误提示页面

为用户提供符合网站风格的 404 错误提示页面,提供导航选项,帮助用户找到他们想要的内容。

(三)使用代码版本控制系统

使用 Git 等代码版本控制系统可以追踪代码的变化历史,方便回溯和查找潜在的错误来源。

六、课程推荐

如果你想深入了解 Web 开发和网站管理的相关知识,可以学习编程狮(W3Cschool)上的以下课程:

总之,404 错误是我们在浏览网页时常见的问题之一。通过了解其原因和解决方法,我们可以更好地应对和预防这类问题,提升网站的用户体验和运营效果。

七、常见404代码示例

以下为一些常见的 404 错误代码示例:

  1. HTML 示范页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>404 页面未找到 - 编程狮</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            margin: 0;
            padding: 0;
        }
        .container {
            max-width: 800px;
            margin: 50px auto;
            background-color: #fff;
            padding: 30px;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            text-align: center;
        }
        h1 {
            color: #e74c3c;
        }
        p {
            font-size: 18px;
            line-height: 1.6;
        }
        a {
            display: inline-block;
            margin-top: 20px;
            padding: 10px 20px;
            background-color: #3498db;
            color: #fff;
            text-decoration: none;
            border-radius: 3px;
        }
        a:hover {
            background-color: #2980b9;
        }
    </style>
    </head>
    <body>
    <div class="container">
        <h1>404 - 页面未找到</h1>
        <p>很抱歉,您访问的页面在编程狮上不存在。</p>
        <a href="https://w3cschool.cn">返回编程狮首页</a>
    </div>
    </body>
    </html>

  2. Flask 框架自定义 404 页面(Python)

    from flask import Flask, render_template
    app = Flask(__name__)
    @app.errorhandler(404)
    def page_not_found(e):
    return render_template('404.html'), 404  # 自定义的 404 页面
    @app.route('/')
    def home():
    return "编程狮首页"
    if __name__ == '__main__':
    app.run(debug=True)

    在项目中创建一个 templates 文件夹,在里面新建 404.html 文件,内容如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>404 页面未找到 - 编程狮</title>
    </head>
    <body>
    <div style="text-align: center; margin-top: 50px;">
        <h1 style="color: red;">404 - 页面未找到</h1>
        <p>您请求的页面在编程狮上不存在。</p>
        <a href="{{ url_for('home') }}">返回首页</a>
    </div>
    </body>
    </html>

  3. Django 框架自定义 404 页面(Python)

    在 Django 项目的 views.py 文件中添加:

    from django.shortcuts import render
    def custom_page_not_found(request, exception):
    return render(request, '404.html', status=404)

    urls.py 文件中添加:

    from django.conf.urls import handler404
    from .views import custom_page_not_found
    handler404 = custom_page_not_found

    创建一个 404.html 文件,内容如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>404 页面未找到 - 编程狮</title>
    </head>
    <body>
    <div style="text-align: center; margin-top: 50px;">
        <h1 style="color: orange;">404 - 页面未找到</h1>
        <p>很抱歉,您访问的页面在编程狮上不存在。</p>
        <a href="{% url 'home' %}">返回首页</a>
    </div>
    </body>
    </html>

以上 404 错误代码示例涵盖了 HTML、FlaskDjango 框架的场景,通过这些示例,你可以更直观地了解 404 错误的处理方式,如果你对 Web 开发感兴趣,可以学习编程狮(W3Cschool)上的相关课程,深入掌握 Web 技术。

什么是文件描述符(File Descriptor,FD)

thbcm阅读(376)

文件描述符(File Descriptor,FD)是计算机科学中的概念,表示对文件、网络连接或其他输入输出资源的抽象引用。它是一个非负整数,由操作系统内核分配,用于标识打开的文件或网络连接。

在 Linux 和类 Unix 系统中,每个进程都有一个文件描述符表,存储该进程打开的所有文件或 I/O 资源。文件描述符是进程级别的,每个进程都有自己的描述符表,默认有三个标准输入/输出/错误:标准输入(stdin)为 0,读取输入数据,默认设备是键盘;标准输出(stdout)为 1,输出正常信息,默认设备是终端;标准错误(stderr)为 2,输出错误信息,默认设备是终端。

文件描述符的用途

一、文件操作

通过文件描述符,可以对文件进行读取、写入、定位等操作。例如,使用文件描述符打开、关闭、读取、写入文件。

二、输入输出重定向

文件描述符可用于在程序运行时动态地将输入输出重定向到其他文件。例如,可以将程序的输出重定向到文件中,或者将文件作为程序的输入。

三、管道通信

文件描述符可用于实现进程间的通信,其中最常见的方式是使用管道。通过创建管道,并使用文件描述符将数据从一个进程传递给另一个进程。

文件描述符的生命周期

  1. 分配:进程使用 open()、socket()、pipe() 等系统调用打开文件或资源,系统返回一个文件描述符。
  2. 使用:进程通过 read()、write()、send()、recv() 等操作读写文件描述符指向的资源。
  3. 关闭:进程调用 close(fd) 释放文件描述符,防止资源泄漏。

Python 中的文件描述符示例

在 Python 中,文件描述符可以通过标准库中的 os 模块来管理和使用。

import os


# 打开文件并获取文件描述符
fd = os.open('example.txt', os.O_RDWR | os.O_CREAT)


# 使用文件描述符进行写操作
os.write(fd, b'Hello, world!')


# 关闭文件描述符
os.close(fd)

文件描述符也可以用于网络编程中的 socket 通信。以下是一个简单的服务器和客户端示例,展示如何使用文件描述符与 socket 进行通信。

服务器示例

import socket


# 创建 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)


# 绑定地址和端口
server_socket.bind(('localhost', 8080))


# 开始监听
server_socket.listen(5)


print("服务器正在监听...")


# 接受客户端连接
client_socket, address = server_socket.accept()


print(f"客户端 {address} 已连接")


# 接收数据
data = client_socket.recv(1024)
print(f"收到数据: {data.decode()}")


# 发送数据
client_socket.send(b'Hello from server!')


# 关闭连接
client_socket.close()
server_socket.close()

客户端示例

import socket


# 创建 socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)


# 连接服务器
client_socket.connect(('localhost', 8080))


print("连接到服务器")


# 发送数据
client_socket.send(b'Hello from client!')


# 接收数据
data = client_socket.recv(1024)
print(f"收到数据: {data.decode()}")


# 关闭连接
client_socket.close()

最后

如果你想深入了解文件描述符以及系统编程的相关知识,可以学习编程狮(W3Cschool)上的相关课程。

总之,文件描述符是操作系统中管理打开文件和资源的重要机制,通过合理使用文件描述符,可以实现高效的文件操作和进程间通信。编程狮(W3Cschool)上的相关课程将帮助你更深入地理解文件描述符及其在编程中的应用。

编程是什么?从变量到循环,轻松掌握编程基础知识

thbcm阅读(343)

一、什么是编程?

编程是让计算机按照我们设定的规则和指令来完成特定任务的过程。通过编写代码,我们可以控制计算机的行为,实现各种复杂的功能。

二、变量:编程的基础

变量是编程中的基本概念,用于存储数据。您可以将变量想象成一个盒子,可以在其中放入不同的值。在编程狮(W3Cschool)的 Python 入门课程中,您可以学习到如何定义和使用变量。

# 定义变量
name = "编程狮"
age = 5


# 输出变量
print(name)
print(age)

三、四则运算:变量之间的数学操作

学会对变量进行加、减、乘、除等四则运算,是编程的基础技能之一。通过这些运算,可以对数据进行处理和计算。

# 四则运算示例
num1 = 10
num2 = 3


addition = num1 + num2  # 加法
subtraction = num1 - num2  # 减法
multiplication = num1 * num2  # 乘法
division = num1 / num2  # 除法


print(addition, subtraction, multiplication, division)

四、比较运算:判断变量之间的关系

比较运算用于判断变量之间的大小、相等关系等。比较运算的结果是一个布尔值(TrueFalse)。

# 比较运算示例
x = 5
y = 8


print(x > y)   # False
print(x < y)   # True
print(x == y)  # False
print(x != y)  # True

五、逻辑运算:组合比较条件

逻辑运算符(如 andornot)用于组合多个比较条件,形成更复杂的逻辑判断。

# 逻辑运算示例
a = True
b = False


print(a and b)  # False
print(a or b)   # True
print(not a)    # False

六、表达式:构建逻辑的核心

表达式是变量、运算符和函数调用的组合,用于表示一个值或执行一个操作。表达式是构建程序逻辑的核心。

# 表达式示例
result = (3 + 5) * 2
print(result)  # 输出 16

七、条件语句:根据条件执行不同代码

条件语句(如 if 语句)允许程序根据不同的条件执行不同的代码块。

# 条件语句示例
score = 85


if score >= 90:
    print("优秀")
elif score >= 70:
    print("良好")
else:
    print("需要努力")

八、循环语句:重复执行代码

循环语句(如 while 循环和 for 循环)用于重复执行一段代码,直到满足某个条件为止。

# while 循环示例
count = 0
while count < 5:
    print(count)
    count += 1


# for 循环示例
for i in range(5):
    print(i)

九、死循环:小心无限循环

死循环是指无限循环,程序会一直执行循环体中的代码,无法退出。在编程中要避免意外的死循环。

# 死循环示例(请勿运行)
# while True:
#     print("这是死循环")

十、跳转语句:跳出循环或跳过某些代码

跳转语句(如 breakcontinue)用于在循环中跳出循环或跳过当前循环的剩余代码。

# break 示例
for i in range(10):
    if i == 5:
        break
    print(i)


# continue 示例
for i in range(10):
    if i % 2 == 0:
        continue
    print(i)

十一、总结与推荐

编程是通过变量、运算、条件语句和循环语句等构建程序逻辑的过程。掌握这些基础知识是成为一名优秀程序员的第一步。通过在编程狮(W3Cschool)上系统学习相关课程,您可以更轻松地掌握编程技能,开启您的编程之旅。

推荐课程

  • Python 入门课程 :从零开始学习 Python 编程的基础知识,包括变量、数据类型、运算符、控制流等。
  • 《[Python3爬虫入门与实践 :深入学习 Python 在数据分析、网络爬虫、自动化运维等领域的高级应用,提升您的编程能力。

编程狮(W3Cschool)为您提供丰富的编程学习资源和实战项目,帮助您在实践中掌握编程技能。立即加入我们,开启您的编程学习之旅吧!

突发:5月编程排行榜出炉,这门编程语言稳坐第一是有原因的。

thbcm阅读(325)

Python火到什么程度?看看这组数据你就懂了

大狮兄前2天在编程狮后台瞄了一眼用户数据,发现个有趣的现象:学Python的人数已经是学Java的2.3倍了!

这还不算什么,更有意思的是,我发现很多原本学Java的用户,最近都在补Python课程。有个用户给我留言,说自己搞了五年Java,现在公司要做数据分析项目,不得不学Python。

这还让我想起了上个月和几个做技术的朋友吃饭,大家聊到编程语言选择的问题。一个搞前端的朋友说,现在连前端都要会点Python,用来跑一些数据处理的脚本。另一个做运维的朋友更直接,说Python已经是他们团队的必备技能了,不会Python基本上找不到好工作。

当时还觉得大家有点夸张,现在看来确实是趋势。

正好今天TIOBE编程语言排行榜又更新了,Python的数据更是让人眼前一亮。

TIOBE的CEO Paul Jansen说:”Python已经统治了全球编程界!”虽然这话听起来有点夸张,但数据确实支撑这个结论。

5月份的数据出来了,Python占比25.35%,一个月涨了9.02%。更重要的是,它和第二名C++拉开了超过15%的差距。这个差距说明了什么?基本上就是一家独大的局面。

来看看完整的榜单:


  1. Python – 25.35% (涨9.02%)
  2. C++ – 9.94% (涨0.41%)
  3. C – 9.71% (跌0.27%)
  4. Java – 9.31% (涨0.62%)
  5. C# – 4.22% (跌2.27%)
  6. JavaScript – 3.68% (涨0.66%)
  7. Go – 2.70% (涨1.10%)
  8. Visual Basic – 2.62% (涨0.61%)
  9. Delphi/Object Pascal – 2.29% (涨1.05%)
  10. SQL – 1.90% (涨0.45%)

Python为什么这么火?其实原因很简单。

语法简洁是最大的优势。我记得第一次学Python的时候,写个Hello World就一行代码,当时真的很震撼。对比Java,光是写个最简单的程序都要十几行代码,新手看着就头疼。

应用场景也广泛。数据分析、人工智能、自动化脚本、网站开发,几乎所有热门领域都有Python的身影。最近AI这么火,很多人想入门机器学习,第一选择就是#Python。

还有个有趣的现象,现在很多非技术岗位的人也在学Python。财务用Python做数据分析,市场用Python跑推广效果,连人事都在用Python处理简历筛选。Python确实降低了编程的门槛。

当然,Python也不是完美的。执行效率比较慢,这个一直被诟病。有个朋友做高频交易系统,就吐槽说Python的速度根本满足不了他们的需求,还是得用C++。运行时错误也是个问题,调试起来有时候挺头疼的。

但对大多数应用来说,Python已经足够了。而且现在硬件这么便宜,效率慢点也可以接受。关键是开发效率高,能快速实现想法,这对很多公司来说更重要。

这个趋势在编程狮的用户身上也能看出来。去年年初,Java课程的访问量还是最高的,现在Python相关的课程已经全面超越了Java。特别是Python数据分析和机器学习的课程,学习人数一直在增长。

很多人都在问Python入门该怎么学,要不要报班之类的。其实我觉得,学编程语言最重要的还是系统性学习。光看免费教程很难形成完整的知识体系,容易东学一点西学一点,最后什么都不精通。

这也是为什么我一直推荐大家选择靠谱的学习平台,跟着课程体系走,效率会高很多。编程狮上有专门的Python学习路线,从基础语法到实际项目,循序渐进,挺适合初学者的。

说到这里,正好编程狮五一有个活动:VIP买1年送1年,买2年送终身vip。如果你正在考虑学Python或者其他编程语言,现在入手真的挺划算的。毕竟一次投入,可以畅学全站所有课程,包括Python、Java、前端、算法等等。


我看了一下,这次活动力度挺大的。平时一年VIP是几百块,现在相当于打对折。而且买2年送终身这个,基本上就是终身学习权限了。对于想系统学习编程的人来说,这个投入回报比还是很不错的。

技术发展这么快,多掌握几门语言总是有好处的。即使你现在用的是Java或者其他语言,也不妨学一学Python,说不定哪天就用上了。

最近遇到一个有趣的例子,一个做传统企业软件开发的朋友,平时主要用C#。结果公司要做数据可视化,项目经理直接分配给了他。他花了两个星期学Python,用matplotlib和pandas做出了效果,老板很满意,还给他涨了薪。

这就是Python的魅力吧,上手快,能干的事情多,职场价值也越来越高。

你们觉得Python这个势头还能持续多久?会不会有新的语言能够挑战它的地位?比如Rust最近也挺火的,Go语言也在上升。

有什么学习心得或者问题,欢迎在评论区交流。反正技术这东西,大家一起讨论才有意思。

2025 年 5 月 TIOBE 指数解读:Python 为何能称霸编程语言排行榜?附学习攻略

thbcm阅读(354)

引言

在编程的世界里,总有那么几种语言,像璀璨的星辰般耀眼。2025 年 5 月的 TIOBE 指数新鲜出炉,Python 以 25.35% 的惊人成绩稳居榜首,不仅较上月增长了 9.02%,还与第二名的 C++ 拉开了 15% 以上的差距,刷新了历史纪录。这不禁让初入编程领域的小白们好奇,Python 凭什么如此厉害?如果你想开启编程之旅,又该如何入手呢?别慌,编程狮来给你一一道来。

以下是 2025 年 5 月 TIOBE 编程语言排名及趋势分析:

2025 年 5 月 2024 年 5 月 变化 编程语言 评分 变化
1 1 Python 25.35% +9.02%
2 3 C++ 9.94% +0.41%
3 2 C 9.71% -0.27%
4 4 Java 9.31% +0.62%
5 5 C# 4.22% -2.27%
6 6 JavaScript 3.68% +0.66%
7 8 Go 2.70% +1.10%
8 7 Visual Basic 2.62% +0.61%
9 11 Delphi/Object Pascal 2.29% +1.05%
10 9 SQL 1.90% +0.45%
11 10 Fortran 1.78% +0.53%
12 24 R 1.46% +0.71%
13 22 Ada 1.42% +0.58%
14 17 Scratch 1.35% +0.42%
15 16 PHP 1.22% +0.25%
16 30 Perl 1.20% +0.63%
17 14 MATLAB 1.02% -0.05%
18 12 汇编语言 0.97% -0.10%
19 18 Rust 0.94% +0.01%
20 20 COBOL 0.88% +0.03%

从排名中可以看出,Python 以 25.35% 的占比稳居榜首,其受欢迎程度上月又大幅增长了 2.2%,与排名第二的 C++ 拉开了超过 15% 的差距。Python 凭借语法简洁易学、开发效率高、应用广泛等优势,特别适合快速开发、数据分析、人工智能、自动化等应用场景,成为了初学者入门编程的首选语言。

Python 的霸榜之路

  • 语法简洁易上手 :Python 的语法简单明了,就像人们平时说话一样直白,易于理解。比如要打印一行文字 “Hello, World!”,在 Python 中只需要写 print("Hello, World!"),而在其他语言可能需要更多复杂的代码和语法结构。这让初学者能快速入门,减少学习初期的挫败感。
  • 应用领域超广泛 :从数据分析到人工智能,从 Web 开发到自动化运维,从游戏开发到网络爬虫,Python 都能大显身手。比如在数据分析领域,借助强大的库如 PandasNumPy 等,能轻松处理海量数据,挖掘有价值的信息,为企业决策提供支持;在人工智能领域,TensorFlowPyTorch 等库更是助力 Python 成为开发智能算法的首选语言。
  • 拥有庞大支持社区 :Python 拥有庞大的开发者社区,无论是遇到技术难题,还是寻求代码优化建议,你都能在社区中找到丰富的资源和热心的帮助者。国内外的论坛、开源平台等都有大量 Python 爱好者分享经验和解决方案,让你在学习和工作中不再孤单。

    如果你对 Python 编程感兴趣,不妨从编程狮的 Python 入门课程开始学习。编程狮提供了系统的 Python 教程,内容涵盖 Python 的基础语法、数据类型、变量、控制结构和面向对象编程等知识点,并配有丰富的互动示例,帮助你在实践中掌握 Python 编程技能。

编程狮上的 Python 学习资源

编程狮作为国内知名的编程学习平台,为零基础小白提供了丰富且优质的 Python 学习资源。

  • 系统课程 :编程狮的 Python 课程涵盖了从基础语法到进阶应用的全方位内容。从变量、数据类型、控制流程等基础知识,到 Web 开发、数据分析、机器学习等实用技能,都有详细讲解和实战演练。课程采用通俗易懂的语言和生动的案例,帮助小白们快速理解编程概念,逐步构建知识体系。

  • 在线编程环境 :平台提供了便捷的在线编程环境,无需复杂的安装和配置,只需打开浏览器,就能随时随地编写和运行 Python 代码。这大大方便了初学者的练习和尝试,让他们能够更专注于代码逻辑和编程思维的培养。

  • 实战项目案例 :通过实际项目的开发,如简单的 Web 应用、数据分析报告生成器、小型游戏等,让学员在实践中掌握 Python 的应用技巧。这些项目案例贴近生活和工作场景,能够激发学习兴趣,同时提升解决实际问题的能力。

其他热门编程语言简介

  • C++ :作为一种功能强大、性能高效的编程语言,C++ 在系统编程、游戏开发、高性能计算等领域占据重要地位。它具有精细的内存控制能力和高效的执行效率,能够充分发挥硬件性能。如果你想开发对性能要求极高的软件,C++ 是一个不错的选择。
  • C :作为编程语言界的常青树,C 语言以其简洁高效的特点,为众多操作系统、嵌入式系统等提供了坚实的编程基础。学习 C 语言有助于深入了解计算机的工作原理和底层机制,为后续学习其他高级语言打下坚实基础。
  • Java :Java 具有平台无关性、面向对象等优点,广泛应用于企业级应用开发、Android 应用开发等领域。它的生态系统丰富,有大量的框架和库可供选择,能够提高开发效率和软件质量。并且由于 Android 应用市场的庞大需求,Java 一直以来都保持着较高的热度。

如何选择适合自己的编程语言

结语

TIOBE 指数只是编程语言受欢迎程度的一个参考指标,每种语言都有其独特的魅力和适用场景。对于零基础小白来说,选择一门适合自己的编程语言,并坚持学习和实践,才是最重要的。编程狮将持续为你提供全方位的学习支持,助力你在编程的世界里乘风破浪,开启精彩的职业人生。

手把手教你用HTML/CSS/JS打造浪漫520爱心页面

thbcm阅读(319)

各位正在学习网页编程的同学们,今天编程狮(W3Cschool.cn)的前端团队将带大家打造一个浪漫的520爱心告白页面。这个项目综合运用了HTMLCSSJavaScript知识,非常适合零基础的小伙伴练习。完成后,你可以将这个页面作为520礼物送给心爱的人,也可以作为编程作品展示你的学习成果。

项目效果预览

我们的目标页面包含:

  • 中间的动态跳动爱心(带有心跳动画效果)
  • 浪漫的诗意告白文字
  • 点击页面任意位置生成爱心效果
  • 自动下落的爱心雨(每300毫秒生成一个)

整个页面采用了粉色系主题,充满浪漫氛围,非常契合520这个特殊的日子。

HTML结构解析

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700&display=swap" rel="stylesheet">
    <title>W3Cschool编程狮 • 520爱心告白</title>
    <meta name="description" content="编程狮(W3Cschool.cn)提供的浪漫520页面,包含动态爱心雨效果和诗意告白">
</head>
<body>
    <div class="hearts"></div>
    <div class="container">
        <div class="heart">️</div>
        <div class="message">
            <p>在数不尽的星辰中</p>
            <p>你是我唯一追寻的光</p>
            <p>520 • 爱你每一天</p>
        </div>
    </div>

    
    <footer>
        Powered by 编程狮 • W3Cschool学习平台
        <div>w3cschool.cn</div>
    </footer>
</body>
</html>

代码解析:

  • 我们使用了语义化HTML标签,使页面结构清晰- 引入了谷歌字体库,提升文字显示效果
  • 使用viewport元标签确保页面在移动设备上良好显示
  • 整体采用居中布局,主内容通过position:absolute实现精准定位

CSS样式详解

body {
    margin: 0;
    height: 100vh;
    background: #ffe6f2;
    overflow: hidden;
    position: relative;
    font-family: 'Noto Sans SC', 'Source Han Sans', sans-serif;
}


.container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #ff3366;
}


.heart {
    font-size: 100px;
    animation: pulse 1.2s infinite;
    text-shadow: 0 0 20px rgba(255,51,102,0.5);
}


@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

重点知识点:

  1. 响应式布局:使用vh单位使页面高度适应不同屏幕尺寸
  2. 动画效果:通过@keyframes定义心跳动画,实现爱心跳动效果
  3. 文字阴影:使用text-shadow增加文字立体感
  4. 居中定位absolute+transform实现页面元素精确定位

JavaScript交互功能

function createHeart(x, y) {
    const heart = document.createElement('div');
    heart.innerHTML = '️';
    heart.className = 'heart-fall';
    heart.style.left = x + 'px';
    heart.style.top = y + 'px';
    heart.style.fontSize = Math.random() * 30 + 20 + 'px';
    heart.style.animationDuration = Math.random() * 3 + 2 + 's';
    document.querySelector('.hearts').appendChild(heart);

    
    setTimeout(() => heart.remove(), 5000);
}


document.addEventListener('click', (e) => {
    createHeart(e.clientX, e.clientY);
});


setInterval(() => {
    const x = Math.random() * window.innerWidth;
    const y = -50;
    createHeart(x, y);
}, 300);

代码解析:

  1. 动态元素创建:使用document.createElement生成爱心元素
  2. 随机效果:通过Math.random()实现爱心大小和下落速度的随机变化
  3. 事件监听:添加点击事件,实现点击位置生成爱心
  4. 定时器:使用setInterval实现自动爱心雨效果

如何运行你的520爱心页面

520.html 完整源代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700&display=swap" rel="stylesheet">
    <title>W3Cschool编程狮 • 520爱心告白</title>
    <meta name="description" content="编程狮(W3Cschool.cn)提供的浪漫520页面,包含动态爱心雨效果和诗意告白">
    <style>
        body {
            margin: 0;
            height: 100vh;
            background: #ffe6f2;
            overflow: hidden;
            position: relative;
            font-family: 'Noto Sans SC', 'Source Han Sans', sans-serif;
        }


        /* 主内容容器样式
   居中定位 + 文字居中 */
.container {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: center;
            color: #ff3366;
        }


        .heart {
            font-size: 100px;
            animation: pulse 1.2s infinite;
            text-shadow: 0 0 20px rgba(255,51,102,0.5);
        }


        .message {
            font-size: 2em;
            margin: 20px 0;
            line-height: 1.6;
        }


        .hearts {
            position: fixed;
            width: 100%;
            height: 100%;
            pointer-events: none;
        }


        /* 心跳动画
   缩放比例 1 -> 1.1 -> 1 */
@keyframes pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.1); }
            100% { transform: scale(1); }
        }


        .heart-fall {
            position: absolute;
            animation: fall linear forwards;
            opacity: 0.7;
        }


        /* 爱心下落动画
   带360度旋转效果 */
@keyframes fall {
            to {
                transform: translateY(100vh) rotate(360deg);
                opacity: 0;
            }
        }
    </style>
</head>
<body>
    <div class="hearts"></div>
    <div class="container">
        <div class="heart">️</div>
        <div class="message">
            <p>在数不尽的星辰中</p>
            <p>你是我唯一追寻的光</p>
            <p>520 • 爱你每一天</p>
        </div>
    </div>

    
    <footer style="
        position: absolute;
        bottom: 20px;
        width: 100%;
        text-align: center;
        color: #ff6680;
        font-size: 14px;
    ">
        Powered by 编程狮 • W3Cschool学习平台
        <div>w3cschool.cn</div>
    </footer>
    <script>
        // 创建单个爱心元素
// 参数说明:
// x - 爱心初始横坐标
// y - 爱心初始纵坐标
function createHeart(x, y) {
            const heart = document.createElement('div');
            heart.innerHTML = '️';
            heart.className = 'heart-fall';
            heart.style.left = x + 'px';
            heart.style.top = y + 'px';
            heart.style.fontSize = Math.random() * 30 + 20 + 'px';
            heart.style.animationDuration = Math.random() * 3 + 2 + 's';
            document.querySelector('.hearts').appendChild(heart);

            
            setTimeout(() => heart.remove(), 5000);
        }


        // 点击事件监听:在点击位置生成爱心
document.addEventListener('click', (e) => {
            createHeart(e.clientX, e.clientY);
        });


        // 自动生成爱心雨
        // 自动爱心雨定时器(每300ms生成一个)
setInterval(() => {
            const x = Math.random() * window.innerWidth;
            const y = -50;
            createHeart(x, y);
        }, 300);
    </script>
</body>
<!-- 技术支持:W3Cschool前端团队 -->
</html>

  1. 将上述完整代码复制到文本编辑器(如记事本、HTML 在线编译器TraeVS Code等)
  2. 保存为.html文件(例如:520.html
  3. 用浏览器打开该文件即可查看效果

拓展学习建议

  1. 尝试修改背景颜色和文字内容,创建属于你自己的个性化页面
  2. 学习更多CSS效果动画,为页面添加更多交互元素
  3. 探索JavaScript高级功能,实现更复杂的交互效果

感谢各位同学跟着编程狮(W3Cschool.cn)一起学习前端开发知识。希望这个520爱心页面不仅能够帮助你表达爱意,也能成为你编程学习道路上的一个美好回忆!

HTML 与 CSS 编程入门教程:打造你的专属代码风格名片

thbcm阅读(322)

虽然现在已进入 AI 数字化时代,掌握一些编程技能已成为求职和职业发展任然具有一定优势。对于零基础的初学者来说,从 HTML 和 CSS 入门是进入编程世界的重要一步。本文将带领大家了解 HTML 和 CSS 的基础知识,并通过一个实际项目 —— 创建一张代码风格的名片,帮助你更好地掌握这些技能。

一、HTML 基础知识

HTML(HyperText Markup Language)是构成网页结构的基础语言。它使用各种标签来定义网页内容的结构,如标题段落图像链接等。

(一)基本结构

一个典型的 HTML 文件结构如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>页面标题 - 编程狮(w3cschool.cn)</title>
</head>
<body>
    <!-- 页面内容 -->
</body>
</html>

  • <!DOCTYPE html>:声明文档类型为 HTML5
  • <html>:根元素,定义整个 HTML 文档的语言属性。
  • <head>:包含文档的元信息,如字符编码、视口设置、页面标题等。
  • <body>:网页的主体内容部分,用户在浏览器中看到的所有内容都放置在这里。

(二)常用标签

  • 标题标签<h1><h6> 用于定义网页的标题,级别从 1 到 6 递减。例如
    <h1>一级标题</h1>
  • 段落标签<p> 用于定义段落文本,例如
    <p>这是一个段落。</p>
  • 图像标签<img> 用于在网页中插入图像,需要设置 src(图像路径)和 alt(替代文本)属性。例如
    <img src="image.jpg" alt="描述图像的文字">
  • 链接标签<a> 用于创建超链接,通过 href 属性指定链接目标。例如
    <a href="https://w3cschool.cn">编程狮官网</a>

二、CSS 基础知识

CSS(Cascading Style Sheets)用于美化 HTML 页面,控制页面的布局、颜色、字体等样式。

(一)选择器

CSS 通过选择器来选择要应用样式的 HTML 元素。

  • 元素选择器 :直接使用 HTML 元素名称作为选择器。例如 p { color: red; } 将所有段落文本设置为红色。
  • 类选择器 :以 . 开头,后面跟类名。例如 .my-class { font-size: 16px; } 可以为具有 class="my-class" 的元素设置字体大小。
  • ID 选择器 :以 # 开头,后面跟 ID 名。例如 #my-id { background-color: blue; } 可以为具有 id="my-id" 的元素设置背景颜色。

(二)样式属性

  • 颜色与背景 :可以使用 color 属性设置文本颜色,background-color 属性设置元素背景颜色。例如 color: #333333;background-color: rgb(255, 255, 255);
  • 字体与文本font-family 设置字体系列,font-size 设置字体大小,text-align 设置文本对齐方式等。例如 font-family: Arial, sans-serif;text-align: center;
  • 边距与填充margin 属性设置元素外部的边距,padding 属性设置元素内容与边框之间的填充距离。例如 margin: 10px;padding: 5px;

三、创建编程风格名片项目

接下来,我们将综合利用 HTML 和 CSS 创建一张代码风格的名片,该项目的完整代码如下:

business-card.html

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>编程狮 - 代码风格名片</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" rel="stylesheet">
    <script>
        tailwind.config = {
            theme: {
                extend: {
                    colors: {
                        primary: '#3b82f6',
                        secondary: '#f97316',
                        editor: {
                            bg: '#1e1e1e',
                            line: '#333333',
                            text: '#d4d4d4',
                            keyword: '#569cd6',
                            string: '#ce9178',
                            punctuation: '#d4d4d4',
                            property: '#9cdcfe'
                        }
                    },
                    fontFamily: {
                        mono: ['Consolas', 'Monaco', 'monospace'],
                    },
                }
            }
        }
    </script>
    <style type="text/tailwindcss">
        @layer utilities {
            .content-auto {
                content-visibility: auto;
            }
            .editor-shadow {
                box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
            }
            .window-button {
                width: 12px;
                height: 12px;
                border-radius: 50%;
                display: inline-block;
                margin-right: 6px;
                transition: transform 0.2s;
            }
            .window-button:hover {
                transform: scale(1.1);
            }
            .toolbar-icon {
                color: #bbbbbb;
                padding: 4px 6px;
                transition: color 0.2s;
            }
            .toolbar-icon:hover {
                color: white;
            }
            .code-line {
                padding-left: 8px;
                padding-right: 8px;
                border-radius: 2px;
                transition: background-color 0.2s;
            }
            .code-line:hover {
                background-color: rgba(255, 255, 255, 0.05);
            }
            .animate-pulse-slow {
                animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
            }
            .qr-code-container {
                position: relative;
                overflow: hidden;
            }
            .qr-code-placeholder {
                position: absolute;
                inset: 0;
                display: flex;
                align-items: center;
                justify-content: center;
                background-color: rgba(240, 240, 240, 0.8);
                opacity: 0;
                pointer-events: none;
                transition: opacity 0.3s;
            }
            .qr-code-container:hover .qr-code-placeholder {
                opacity: 1;
            }
        }
    </style>
</head>
<body class="bg-gradient-to-br from-gray-900 to-gray-800 min-h-screen flex items-center justify-center p-4 md:p-8">
    <div class="max-w-md w-full mx-auto perspective-1000">
        <div class="editor-shadow bg-editor-bg rounded-lg overflow-hidden transform transition-all duration-500 hover:scale-[1.02] hover:rotate-[1deg]">
            <!-- 窗口控制区域 -->
            <div class="bg-gray-800 px-4 py-2 flex items-center justify-between border-b border-gray-700">
                <div class="flex items-center">
                    <div class="window-button bg-red-500" title="关闭"></div>
                    <div class="window-button bg-yellow-500" title="最小化"></div>
                    <div class="window-button bg-green-500" title="最大化"></div>
                </div>
                <div class="text-sm text-gray-300 font-medium flex-1 text-center">Business Card.json</div>
                <div class="flex items-center">
                    <button class="toolbar-icon text-xs" title="保存">
                        <i class="fa-regular fa-floppy-disk"></i>
                    </button>
                    <button class="toolbar-icon text-xs" title="复制">
                        <i class="fa-regular fa-copy"></i>
                    </button>
                    <button class="toolbar-icon text-xs" title="分享">
                        <i class="fa-solid fa-share-alt"></i>
                    </button>
                </div>
            </div>

            
            <!-- 工具栏 -->
            <div class="bg-gray-800 px-4 py-1 flex items-center border-b border-gray-700">
                <button class="toolbar-icon text-xs mr-1">
                    <i class="fa-solid fa-file"></i>
                </button>
                <button class="toolbar-icon text-xs mr-1">
                    <i class="fa-solid fa-edit"></i>
                </button>
                <button class="toolbar-icon text-xs mr-1">
                    <i class="fa-solid fa-search"></i>
                </button>
                <button class="toolbar-icon text-xs mr-1">
                    <i class="fa-solid fa-code"></i>
                </button>
                <button class="toolbar-icon text-xs mr-1">
                    <i class="fa-solid fa-terminal"></i>
                </button>
                <div class="flex-1"></div>
                <span class="text-[10px] text-gray-400">UTF-8</span>
                <span class="mx-2 text-gray-600">|</span>
                <span class="text-[10px] text-gray-400">JSON</span>
            </div>

            
            <!-- 代码区域 -->
            <div class="p-4 overflow-x-auto">
                <div class="flex">
                    <!-- 行号 -->
                    <div class="text-gray-500 text-right pr-4 select-none font-mono text-sm">
                        <div class="line-numbers">
                            <div>1</div>
                            <div>2</div>
                            <div>3</div>
                            <div>4</div>
                            <div>5</div>
                        </div>
                    </div>

                    
                    <!-- 代码内容 -->
                    <div class="font-mono text-sm text-editor-text leading-relaxed">
                        <div class="code-line">{</div>
                        <div class="code-line pl-4"><span class="text-editor-property">"name"</span>: <span class="text-editor-string">"编程狮"</span>,</div>
                        <div class="code-line pl-4"><span class="text-editor-property">"title"</span>: <span class="text-editor-string">"随时随地学编程"</span>,</div>
                        <div class="code-line pl-4"><span class="text-editor-property">"link"</span>: <span class="text-editor-string">"w3cschool.cn"</span></div>
                        <div class="code-line">}</div>
                    </div>
                </div>
            </div>

            
            <!-- 状态栏 -->
            <div class="bg-gray-800 px-4 py-1 flex items-center justify-between border-t border-gray-700 text-xs text-gray-400">
                <div>1-5行,3个属性</div>
                <div class="flex items-center">
                    <span class="animate-pulse-slow mr-1">●</span>
                    <span>已保存</span>
                </div>
            </div>
        </div>

        
        <!-- 底部信息 -->
        <div class="mt-6 text-center text-gray-400 text-sm">
            <p>扫描下方二维码获取更多编程资源</p>
            <div class="mt-3 flex justify-center">
                <div class="bg-white p-2 rounded shadow-md transform transition-all duration-300 hover:scale-105 qr-code-container">
                    <img 
                        src="https://atts.w3cschool.cn/w3cschool_fwh.png" 
                        alt="编程狮二维码" 
                        class="w-32 h-32 object-cover rounded">
                    <div class="qr-code-placeholder text-gray-500 text-xs">
                        <span>扫码关注编程狮</span>
                    </div>
                </div>
            </div>
            <p class="mt-3">© 2025 编程狮 w3cschool.cn 保留所有权利</p>
        </div>
    </div>
</body>
</html>

(一)项目解读

  • 页面结构 :整个页面采用了 HTML 的基本结构,通过 <head> 标签引入了所需的 CSS 样式和 JavaScript 脚本。在 <body> 标签中,构建了一个模拟的代码编辑器界面,包含窗口控制区域、工具栏、代码区域和状态栏等部分。
  • 样式设计 :利用 CSS 为页面元素设置了丰富的样式,如颜色、字体、布局等。通过 Tailwind CSS 的类名快速实现了响应式设计和美观的界面效果。同时,还自定义了一些样式类,如 .window-button.toolbar-icon 等,用于实现特定的交互效果和外观展示。
  • 交互效果 :通过 CSS 的 transitionhover 等属性,为窗口控制按钮、工具栏图标等元素添加了简单的交互效果,使页面更加生动和用户友好。

(二)运行效果

  1. 将上述完整代码复制到文本编辑器(如记事本、HTML 在线编译器TraeVS Code等)
  2. 保存为.html文件(例如:business-card.html
  3. 用浏览器打开该文件即可查看效果

打开该 HTML 文件,即可看到一张具有代码风格、标题为 business-card.json 的名片展示在页面上,看起来像是一个编程代码编辑器。我们可以直观地了解 HTML 和 CSS 的实际应用效果。

四、推荐课程和工具

编程狮(w3cschool.cn)提供了丰富的编程课程和工具,帮助初学者更好地学习编程知识和技能。

(一)HTML/CSS 基础课程

  • 课程名称 :Web 入门 – HTML + CSS 基础实战
  • 课程内容 :系统讲解 HTML 和 CSS 的基础知识,包括 HTML 标签、属性、页面结构,CSS 选择器、样式属性、布局等。通过大量的实例和练习,帮助学员快速掌握前端开发的基础技能。

(二)前端开发实战课程

  • 课程名称前端开发:零基础入门到项目实战
  • 课程内容 :在掌握 HTML 和 CSS 基础后,进一步学习 JavaScript 编程,以及前端框架如 Vue、React 等的应用。通过实际项目开发,培养学员的综合编程能力和解决问题的能力。

(三)在线代码编辑器工具

  • 工具名称编程狮在线HTML代码编辑器
  • 工具介绍 :提供了一个便捷的在线代码编辑环境,支持多种编程语言,如 HTML、CSS、JavaScript 等。学员可以无需安装任何软件,在浏览器中直接编写、运行和调试代码,方便快捷地进行编程练习和实验。

总之,通过学习 HTML 和 CSS 编程基础知识,并结合编程狮提供的优质课程和工具,零基础的初学者可以快速入门编程领域,为未来的职业发展打下坚实的基础。

Python 3.13.3 安装教程

thbcm阅读(730)

Python 是一种广泛使用的编程语言,广泛应用于 Web 开发、科学计算、数据处理、人工智能等领域。Python 3.13.3 作为 Python 3.x 系列的最新维护版本,引入了多项新特性和优化改进,为开发者提供了更强大的功能和更好的性能。本文将详细介绍 Python 3.13.3 的安装步骤,帮助大家顺利开启编程之旅。

一、Windows 系统下安装 Python 3.13.3

(一)下载安装包

  1. 访问 Python 官网,在首页找到并点击 “Downloads” 菜单,进入下载页面。
  2. 在该页面中,找到适合 Windows 系统的安装包链接,点击下载。

将鼠标箭头悬停在菜单栏【Downloads】上方,会出现下拉框,下拉框中展示的通常为与您当前系统相匹配的软件版本(如下图所示),直接点击即可下载

  • 官方下载:Python-3.13-amd64.exe (如下载太慢或打不开可使用迅雷下载,或选择下方编程狮提供的网盘下载地址)
  • 网盘下载:下载地址

(二)运行安装程序

  1. 下载完成后,找到下载的安装包文件,双击运行。

    这个页面都是英文的有需要可以参照如下翻译

    Python 3.13.3(64 位)安装程序             —— ○ □ ×
    ┌─────────────────────────────────────────────────┐
    │安装 Python 3.13.3(64 位)                      │
    │                                                 │
    │选择 “立即安装” 以默认设置安装 Python,或选择     │
    │“自定义安装” 以启用或禁用功能。                  │
    │                                                 │
    │→ 立即安装                                       │
    │    C:\Users\Benjamin\AppData\Local\Programs\Python\Python313 │
    │    包含 IDLE、pip 和文档                         │
    │    创建快捷方式和文件关联                       │
    │                                                 │
    │→ 自定义安装                                     │
    │    选择位置和功能                               │
    │                                                 │
    │□ 使用管理员权限安装 py.exe                      │
    │□ 将 python.exe 添加到 PATH                      │
    │                                                 │
    │                                          取消    │
    └─────────────────────────────────────────────────┘

  2. 在安装向导中,建议勾选 “Add Python 3.13.3 to PATH” 选项,这样可以将 Python 添加到系统环境变量,方便在命令行中直接使用 Python 命令。
  3. 然后点击 “Customize installation” 选项,进入自定义安装向导。
  4. 至于Use admin privileges when installing py.exe选项,如果你只是在自己的电脑上安装 Python 用于个人学习和开发,且安装路径为默认的用户目录(如图中的 “C:\Users\Benjamin\AppData\Local\Programs\Python\Python313”),通常不需要勾选此选项。因为在这种情况下,Python 的文件和相关设置都存储在用户的本地目录下,不需要对系统范围的文件或注册表进行修改,使用普通用户权限即可完成安装。需要勾选的情况如下:
    • 系统范围的安装和修改 :如果你需要将 Python 安装到受保护的系统目录(如 “C:\Program Files”),或者需要对系统范围的文件关联、环境变量等进行修改,那么勾选 “使用管理员权限安装” 是必要的。因为这些操作需要更高的权限来确保对系统设置的正确修改和应用。
    • 创建系统范围的文件关联和快捷方式 :若你希望 Python 的文件关联和快捷方式对所有用户都可用,而不仅仅是当前用户,使用管理员权限安装可以确保这些设置正确地应用到整个系统。
    • 避免后续权限问题 :在某些情况下,不使用管理员权限安装可能会导致后续使用过程中出现权限不足的问题,例如无法正常更新 pip 或安装某些系统范围的包。勾选此选项可以提前避免这些问题,确保 Python 环境的顺利配置和使用。

(三)选择位置和功能

  1. 在自定义安装向导中,可以对 Python 的高级功能和安装路径进行修改。 进入如下页面

    翻译如下

    Python 3.13.3(64 位)安装程序          —— ○ □ ×
    ┌─────────────────────────────────────────────────┐
    │Python                                           │
    │                                                 │
    │可选功能                                         │
    │                                                 │
    │□ 文档                                           │
    │    安装 Python 文档文件。                       │
    │                                                 │
    │□ pip                                            │
    │    安装 pip,它能够下载和安装其他 Python 包。   │
    │                                                 │
    │□ tkinter 和 IDLE                                │
    │    安装 tkinter 和 IDLE 开发环境。               │
    │                                                 │
    │□ Python 测试套件                               │
    │    安装标准库测试套件。                         │
    │                                                 │
    │□ py 启动器                                      │
    │    安装全局 “py” 启动器,以便更轻松地启动 Python。│
    │    □ 适用于所有用户(需要管理员权限)           │
    │                                                 │
    │  上一步                       下一步     取消    │
    └─────────────────────────────────────────────────┘

    如图保持默认选项,点击“Next”进入下一步。

  2. 在高级选项页面,建议勾选 “将 Python 添加到环境变量” 选项,并根据自己的需求选择其他选项:

    Python 3.13.3(64 位)安装程序             —— ○ □ ×
    ┌─────────────────────────────────────────────────┐
    │高级选项                                         │
    │                                                 │
    │□ 为所有用户安装 Python 3.13                     │
    │□ 将文件关联与 Python(需要 “py 启动器”)         │
    │□ 为已安装的应用程序创建快捷方式                 │
    │□ 将 Python 添加到环境变量                       │
    │□ 预编译标准库                                   │
    │□ 下载调试符号                                   │
    │□ 下载调试二进制文件(需要 VS 2017 或更高版本)   │
    │□ 下载自由线程二进制文件(实验性)               │
    │                                                 │
    │自定义安装位置                                   │
    │C:\Users\Benjamin\AppData\Local\Programs\Python\Python313 浏览    │
    │您将需要对所选位置具有写入权限。                 │
    │                                                 │
    │上一步                              安装  取消    │
    └─────────────────────────────────────────────────┘

    选项说明:

    • 为所有用户安装 Python 3.13 :如果不勾选,Python 将仅安装在当前用户目录下,适合个人使用且无需管理员权限;若勾选,则会安装到系统范围,所有用户均可访问,但需要管理员权限,适用于公共设备或团队开发环境。

    • 将文件关联与 Python(需要 “py 启动器”) :建议勾选。这样可以让系统自动识别并关联.py 等 Python 文件扩展名,方便双击文件直接用 Python 打开运行,前提是已安装 “py 启动器”。
    • 为已安装的应用程序创建快捷方式 :建议勾选。这样会在开始菜单或桌面为 Python 及其相关工具(如 IDLE)创建快捷方式,方便快速启动和使用。
    • 将 Python 添加到环境变量 :强烈建议勾选。这样可以将 Python 路径添加到系统环境变量,之后可以在命令行的任何位置直接使用 Python 命令,便于在终端中快速调用 Python。
    • 预编译标准库 :除非你有特别的需求,比如需要提高 Python 启动速度或减少运行时的编译开销,并且不介意增加安装时间,否则一般不建议勾选。预编译标准库主要对一些特定场景有优化效果,对于大多数普通用户来说意义不大。
    • 下载调试符号 :除非你打算调试 Python 的内部实现或进行底层开发,否则不建议勾选。调试符号主要用于开发或调试 Python 内部问题,普通用户通常用不到,还会增加安装时间和磁盘占用。
    • 下载调试二进制文件(需要 VS 2017 或更高版本) :只有在你需要对 Python 进行深度调试,且拥有兼容的 Visual Studio 版本时才勾选。调试二进制文件是为开发人员提供的,用于分析和调试 Python 的内部运行机制,普通用户一般无需勾选。
    • 下载自由线程二进制文件(实验性) :如果你的应用场景涉及多线程开发,并且你愿意尝试实验性功能,可以考虑勾选。自由线程构建模式允许线程更并行地运行,可能会提高多线程程序的性能,但由于是实验性功能,可能存在兼容性问题或稳定性风险。

  3. 默认的安装路径为 “C:\Users\<用户名>\AppData\Local\Programs\Python\Python313”,你可以根据自己的需求,将其修改为其他盘符下的路径,如 “D:\Python\Python313” 等。 修改完成后,点击 “Install” 按钮开始安装。

    耐心等待进度条跑完,安装完成。

    Python 3.13.3(64 位)安装程序          —— ○ □ ×
    ┌─────────────────────────────────────────────────┐
    │安装成功                                         │
    │                                                 │
    │Python 新手?可以从在线教程和文档开始学习。在终端中,输入“py”来启动 Python,│
    │或者在开始菜单中搜索 Python。                    │
    │                                                 │
    │查看此版本的新功能,或了解更多关于在 Windows 上使用 Python 的信息。│
    │                                                 │
    │禁用路径长度限制                               │
    │    更改您的机器配置,允许程序(包括 Python)绕过 260 个字符的“MAX_PATH”限制。│
    │                                                 │
    │                                          关闭    │
    └─────────────────────────────────────────────────┘

    安装完成将出现如上提示,直接点击“Close”关闭窗口即可。

    (四)验证安装

安装完成后,可以通过以下两种方式验证 Python 是否安装成功。

  1. 一是按 “Win+R” 键打开 “运行” 对话框,输入 “cmd” 命令打开命令提示符。

  2. 在命令提示符中输入 “python --version” 或 “python3 --version”,如果显示 Python 3.13.3 相关信息,则说明 Python 安装成功并已正确配置环境变量。。二是可以在命令提示符中输入 “python” 进入 Python 交互式环境,输入一些简单的代码进行测试,如 print("Hello, W3Cschool!"), 如果能够正确输出 “Hello, W3Cschool!”,则说明 Python 运行正常。

    Microsoft Windows [版本 10.0.26100.4061]
    (c) Microsoft Corporation。保留所有权利。
    C:\Users\DanielWu>python --version
    Python 3.13.3
    C:\Users\DanielWu>python3 --version
    Python 3.13.3
    C:\Users\DanielWu>python
    Python 3.13.3 (tags/v3.13.3:6280bb5, Apr  8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> print("Hello, W3Cschool!")
    Hello, W3Cschool!
    >>>

二、Linux 系统下安装 Python 3.13.3

(一)使用包管理器安装

对于 Ubuntu/Debian 系统,可以通过 Deadsnakes PPA 进行安装。

  1. 首先在终端中运行 “sudo add-apt-repository ppa:deadsnakes/ppa” 命令添加该 PPA 源。
  2. 然后运行 “sudo apt update” 更新软件包列表。
  3. 最后运行 “sudo apt install python3.13.3” 命令安装 Python 3.13.3。。

(二)通过源代码编译安装

适用于所有主流 Linux 发行版。

  1. 首先从 Python 官方网站下载 Python 3.13.3 的源代码。
  2. 下载完成后,使用 “tar -xzf Python-3.13.3.tgz” 命令解压源代码。
  3. 接着安装编译所需的依赖,对于 Ubuntu/Debian 系统,可运行 “sudo apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev tk-dev libreadline-dev libffi-dev curl libbz2-dev” 命令进行安装;对于 CentOS/RHEL 系统,可运行 “sudo yum groupinstall “Development Tools”” 命令安装常用开发工具,再运行 “sudo yum install openssl-devel bzip2-devel libffi-devel” 命令安装其他依赖。
  4. 然后运行 “./configure --prefix=/usr/local/python3.13.3 --enable-optimizations” 命令进行配置,其中 “--prefix” 选项指定了 Python 的安装路径。
  5. 最后运行 “make -j$(nproc)” 命令进行编译,编译完成后运行 “sudo make altinstall” 命令进行安装,使用 “altinstall” 是为了避免覆盖系统默认的 Python 版本。。

三、macOS 系统下安装 Python 3.13.3

(一)使用 Homebrew 安装

  1. 首先确保已经安装了 Homebrew,如果未安装,可以在终端中运行 “/bin/bash -c "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)“命令进行安装。
  2. 然后在终端中运行 “brew update” 命令更新 Homebrew。
  3. 接着运行 “brew install python@3.13.3” 命令安装 Python 3.13.3。。

(二)通过源码安装

与 Linux 系统类似。

  1. 先从 Python 官方网站下载 Python 3.13.3 的源代码。
  2. 然后解压源代码。
  3. 使用 “./configure --prefix=/usr/local/python3.13.3” 命令进行配置。
  4. 再运行 “make -j$(nproc)” 命令进行编译。
  5. 最后运行 “sudo make altinstall” 命令进行安装。

四、验证 Python 安装及运行

无论使用哪种系统,安装完成后,都可以通过在终端或命令提示符中输入 “python3.13.3” 进入 Python 交互式环境,尝试运行一些简单的代码来验证 Python 是否安装成功并能够正常运行。例如,输入 “print(“Hello, 编程狮!”)”,如果能够正确输出 “Hello, 编程狮!”,则说明 Python 运行良好。

想要系统学习 Python 请戳Python零基础到高薪就业

2025CSDI:大模型引领智能研发与IT组织变革

thbcm阅读(310)

导语

今年大家会听到越来越多的AI化、智能化,商业化,这些会成为主流旋律。

未来,AI技术的发展从可靠、能干、聪明的阶段,将被部署到更广泛的场景中。得益于算法和算力的技术突破,带来了AI的更新变革,也为行业带来更多的能力和动力去获取更多的数据。

AI的发展与AI的应用紧密相连,AI的发展将推动私有知识的价值越来越大,AI的应用将成为重要的战略优先级,其应用不仅能提升效率,更能帮助人们解决信息不对称和价值创造的问题,并创造新的供给。未来的研发智能化将会带来业务比值和内部比例的变化,这是非要重要的企业研究方向。

将来所谓的行业壁垒会被重新定义吗?

以AI的认知模式的差异和效率定义,还是人类的认知模式和经验定义?

01每一种媒介都塑造了独特的交流内容和过程

大家都知道计算机已然有着近百年的发展历史,回顾历史的脉络时,蕴含着极其重要的意义。有多少人是电视时代成长起来的一代?小编本人也近乎是电视时代的见证者,在某种程度上,也逐渐融入了计算机时代的浪潮之中。而如今成长起来的各位IT同仁,无疑也是计算机到移动互联网再到智能时代的幸运者们。

第一台计算机名为ENIAC,这种新型的机器,以电子元件取代了传统的齿轮、活塞等部件。它的奇妙之处在于,内部的微型处理器输入原始指令、有数十亿个电子在高速运转、运算速度极快、强大的适应性、以每秒百万千万条指令的速度传输、以多样化的方式操控电子的流动。它依据当前的运行状况以及上一次的操作结果来进行相应的调整。这项重要的发明。它诞生于1946年,当时是专门为军事计算而研发的,体积巨大,几乎无人有机会使用它。而世界上首个由大学提供的计算机科学学位,是在1968年,由加州大学伯克利分校设立的硕士学位。这意味着,拥有计算机科学学位的最年长者如今近80多岁。

1976年第一台个人电脑诞生。1983年,该行业交付超过300万台小型计算机,到1986年达到1000万台。而在当时,所有伟大的产品设计师都在设计建筑、汽车。几乎没有人在设计和关注计算机。现在的人们每天要花23个小时与这些机器互动,有时与这些机器互动的时间比他们在车里的时间还要长。

下一个真正的突破,发生在60年代,时间共享概念因此应运而生。当时苹果公司,将一台非常大的计算机进行共享,因为它能够快速执行大量指令。在当时,计算机进行了一系列的协同工作,阅读他人的成果,比如:阅读某人关于舞蹈的研究、经营某人关于工作的成就等。共享资源以其速度之快,让每个人都觉得自己仿佛拥有了整台电脑。

时间共享也是从60年代计算机开始真正普及的原因。人们通过一些连接线,使用终端设备连接到其他地方的大型计算机,这就是时间共享模式,也是大学校园里电脑数量众多的原因。苹果公司之所以能够崛起,是因为比别人早5年偶然发现了“分马力计算”这一理念。苹果将微处理器芯片(也就是芯片上的计算机),与其他必要的所有组件相结合,制造出了一台大约13磅重的电脑。因此,分马力计算也引发了一场革命。

几十年前的计算机,通过构建这些简单指令的集合,创建一个更高层次的指令系统。已经并非简单地指示“向左、向右、右脚、左脚、伸手、抓物”,而是会说:“您能去买些物品吗?您能倒一杯咖啡吗?”很早时期,计算机就已经抽象层次上可进行处理,抽象层次会被转化为运行速度极快的简单指令。它的最佳的方法是进行类比。以最早于19世纪末发明的电动马达为例,电动马达只能用于构建非常大型的设备,这意味着,只有在成本合理的情况下才能应用于大型项目。因此,电动机并未迅速普及。然而,下一个突破性进展出现了,有人利用这些大型电动马达中的一个,在工厂中间搭建了一个棚屋,并配备了一系列铃铛和开关,以此使用马力,使一个大型电动马达能够在15或20个中型工作站中使用,从而让电动马达在一些中等规模的任务中变得成本合理。随后,电动马达的数量大幅增加,但真正的突破是分马力电动马达的发明。如此一来,我们可以将动力直接输送到需要的地方,并且在完全独立的应用中实现合理成本。

计算机占据了最早主导的交流媒介,就如同电视曾经取代书本一般。然而,每一种媒介都存在其固有的局限性,这些局限构成了难以逾越的界限。尽管如此,它们通常也会带来一些新颖且独特的机遇。值得注意的是,每一种媒介不仅塑造了通过它的交流内容,还深刻影响了交流的过程

回溯最初的电视节目,它们基本上是电视摄像机对准的广播节目。许多人第一次意识到电视已成为成熟媒体是阿波罗登月,那种体验很令人激动,但一项媒介的成功花了近20年的时间才使其真正发展和成熟。不同媒介所传播的内容显然存在差异。其中最有趣的是交流过程的变化。我们通过电话与他人交谈时,我们必须同时在线;而当使用电脑终端向某人发送文件或绘制一幅画并放入其邮箱时,对方无需即时在线。可以在中午12点查看,也可以在3天后查看,甚至在异国查看。

那么,随着无线连接功能的便携式计算机的普及,信息自由移动并检索,传播过程本身随着媒介的演变而发生变革。无论是电话、邮件、网络搜索、视频、声音、门户网站、动作等,都在某种意义上,均是发送由1和0构成的数据。

80年代首次个人电脑的普及,其作为一种新媒体,就社会和计算机领域而言,计算机编程与电视制作对比,我们发现,电视擅长捕捉并重现经验,尽管这种重现成本高昂且有其局限性。通过电视节目,我们能真切感受到,阿姆斯特朗登月等历史时刻的激动人心。相比之下,计算机编程则聚焦于捕捉经验的基本原理,而非直接复制经验本身。这些原理具有广泛的适用性,能够衍生出无数种不同的体验。以视频游戏为例,它们遵循物理定律(引力和动量守恒),尽管每场游戏的具体过程各不相同,但都基于这些不变的规则运行。

AI发展的前景是渗透、掌管数字世界,改变物理世界


(这是乔布斯在1983年的PC预言想象力,有AIGC后,觉得一切近在咫尺)

 Prompt Engineering:一辆配备摄像头的汽车驾驶在街道,拍摄了每条街道的照片和每个十字路口的画面,对所有建筑物进行了拍摄,并将电脑与视频磁盘相连。在屏幕上,可以看到自己正注视着街道,通过触摸屏幕,屏幕上会出现一些箭头。您可以进行触摸操作并向前移动。忽然,仿佛人真的在街上行走,来到一个十字路口。可以停下,向右、向前或向左查看,决定自己想要选择的道路。还可以走进一些商店。这是一张电子地图,能让我们体验到在漫步的感觉。在角落处有四个按钮,它们的作用与之前相同。四季的景象都有呈现。可看到街道的景象。街道出现在屏幕上,上面覆盖着1英尺厚的雪……

 

无论是电视还是计算机编程,都是强大的工具,它们以各自独特的方式影响着我们的世界和生活。我们需要持续优化模型,使其日益精密复杂。然而,这是一种互动式的学习模式,在我们成长历程中不断兴替。尽管存在成千上万种独特体验,但它们皆基于一套基本原则。今天,人们创造的先进机器,它们能够捕捉潜在的预测、更多基本原则、看待世界的独特视角,工业设计、软件设计、用户交互,都将是AI智能化发展的衍生所在。

02智能经济与具有创造力的组织

纵观历史,技术进步一直是经济发展文明演进的底层驱动力。人类文明的历史就是从火的应用开始,到经济真正开始增长,是从第一次工业革命,有了机械化的工具,直至第二次工业革命电力,再到信息时代的几代革命。

工业时代最基本经济单元是工厂,取代手工作坊是工业经济最重要的一个组织突破。信息时代经济最基本的是公司。智能时代的基本经济来源就是智能体,也就是机器人,机器人是未来创造经济价值的基础。

从生产上看,最初规模经济,管理上受制于便捷的效率递减,规模经济背后的是人类的学习能力,因为规模的扩张能重复劳动,产生沉淀与传播。从泰勒的科学管理、流水线动作、SAAS化,几十年的演进,才有了最佳管理实践,这都是人类的经验的传播。直到互联网时代的网络效应快速扩张。AI作为智能时代复杂系统的演化,核心让复杂系统涌现智慧。

过去十余载,企业数字化也主要依据SaaS、ERP等信息系统的发展轨迹,扮演着信息采集与搬运的角色。当下,Data Al互相驱动的数字化新范式也相伴而来,能自主思考、主动做事的AI正在重构企业生产力的上限。AI高效生产、治理、运营数据、以及上下文的全局关联的都显示了高质量数据结合知识的重要性。尤其是初始化条件下,最有利于智能创造和产生,基于AGI消化吸收了现有知识,顶尖人才学习成本降低,元认知+AI工具结合,高认知个人能力和数据优势会被无限放大

图:组织持续创新的核心


过去50年的信息革命中,软件的价值被提高,知识工作者是最有价值的。未来个体发展的方向是创造力,而非知识和思考人的价值。德鲁克是上个世纪最伟大的管理学家,他的工业革命经历了工厂取代手工作坊,以及企业超越工厂的阶段,并将企业视为流水线,批量生产,提高管理效率。哈佛商学院将视为流水线,批量生产,有共同语言的管理者提高管理效率。Agent将成为人类的合作伙伴,而非简单的代理或助手。

2024年,AI应用的元年,未来的组织将由三层人和无限扩张的汇集构成,科层制管理的公司制度正在消亡。未来,共创性的研发组织的核心目标是群体智慧的涌现,群体认知的提升速度决定了组织的竞争力,人才密度的高低与自动化场景管理的紧密关联

03智能业务生产


整个未来经济发展的核心,让我们进入了一个类似生物系统大爆炸的阶段,所有的产品都是核心在认知上的贡献,智慧的涌现,而推动效应是以复杂系统的结构和研发的主要因素。机器学习的本质是推动智能生产效应的,机器学习的复利,带来学习与获取更多知识的智能体,以及研发出更强的智能体。这些之间的互通,人与Agent之间互通,人与人之间互通、Agent与Agent互通,共同演化,便成了智能经济发展的核心。

图:reflex务实的移动底盘人形机器人


尤其是数智化时代,经济发展的核心驱动力是技术进步,工业经济的组织突破和管理信息时代的公司创造。智能时代的经济来源是机器人,会是未来创造经济价值的基础,核心点在于企业微观竞争和宏观经济思考。随着互联网时代的到来,网络效应快速扩张,AI的本质是智能涌现,其核心在于如何让复杂系统涌现出智慧,推动效应本质上是机器学习。未来经济发展的核心,将进入类似生物系统大爆炸的阶段,智能体和智能体之间的互通,推动效应是以复杂系统的结构和研发的主要因素

04基础模型从技术能力变成产业化能力


年初,DeepSeek的火爆出圈,打破了“高算力和高投入是发展AI唯一途径”以及“集成电路制程优势=AI技术霸权”的现实,引领AI行业进入以算法和模型架构优化为主,同时高度重视数据质量与规模、理性提高算力的新时期。随着生成式AI、大语言模型、智能体(Agent)等新技术层出不穷,整个行业发生了范式变革,从计算范式-AI协同编程-混合架构-AI原生服务,模型从技术上的能力转变为产业化的能力

在AI领域,众多行业巨头如微软、AWS(亚马逊云服务)、英伟达、华为、阿里巴巴及百度等公司相继宣布在其AI服务平台上部署DeepSeek V3和R1模型。DeepSeek所推出的具备高效率与低成本特性的推理模型,以及其开源商业模式,有望引领AI行业的全新潮流。

图:RNN的破局在于线性注意力、混合架构、并行计算、循环网络等


DeepSeek的成功在于它突破了Scaling Law的瓶颈,R1抛弃了预训练的做法,使用自主强化学习方法,让AI拥有了自我反思的长思维链能力。长思维链是人真正的智力体现。这些说明了,在AI的发展进程中,算法优化以及系统级工程优化是不可或缺的关键环节,并行计算硬件需做更加复杂的训练加速,增强更多的模型性能和计算复杂度,而资深工程师在其中发挥着至关重要的作用。

在模型算法及工程优化方面,系统级创新面临着有限资源的制约,探索AGI成为开辟新路径的重要方向。从广泛覆盖的“横向通吃”模式向深入的“纵向做精”模式转变,可以吸引更多中小企业参与其中,从而创造更多的应用空间。然而,将多个专用模型整合为通用模型的过程中,需要解决诸多技术和工程难题,比如模型间的接口适配、数据格式的统一规范以及训练过程中的负载平衡等问题。或许通过通专融合的方式,即专用多模型的“垂直做精”与通用大模型的“横向扩展”相互补充,能够共同构建起智能时代的产业新生态。

AI产业与资本密集型和经验积累型的集成电路产业有所不同,它不仅需要大量的资金投入,更需要智力的深度投入,本质上是一个拼人的智力的新兴产业。因此,AI产业呈现出明显的不对称性特征。真正的AI竞争,不仅仅是技术和模型层面的竞争,更是生态系统、商业模式以及价值观等多方面的综合竞争。开源模型的出现使得每一位开发者都能够轻松调用强大的AI工具,摆脱对大公司的依赖,从而显著提升AI的进化速度。

图:算力训练在深度思考和长思维链的全新挑战


2014年的云计算研发沉淀,锻造了自主可控产品和服务体系,一些关键领域:大数据、云管平台、虚拟化、操作系统都有技术突破,头部互联网、运营商、金融、通信、电信等行业,各行各业都应用开源技术以及分布式算力布局,以计算为主到算网融合,算力技术随云、大数据、AI需求的加大,算网一体,更是推动IT技术结构变革、数字化进程的业态。

产业生态一直被市场牵引,芯片设计和大模型的开源战略,成为全球AI的开源系统中的主导,企业需在有限算力条件下,通过算法和软件的协同创新,充分发挥硬件的极致性能,挖掘所有可能的优化空间。国内的AI模型需做好算力资源与AI平台的优化适配,才能应用好AI。

05AI极大助力从业者提升知识的获取效率

AI发展最大的应用是机器人,软硬件一体化的扫地机器人、自动驾驶的汽车、人形机器人,呈具身智能化,加之井喷式爆发的AI模式,Agent(智能体),一个个AI系统,完全自主,当天在较长时间内独立运行来完成视频、编程、数据分析、自动化测试、监控、对话等多种多样的智能业务生产,并且能够收集反馈,不断学习来提升自主能力。它像极了人脑神经元,形成思考的闭环,神奇的是互联网处理海量知识。

AI系统需要具备强大的计算能力,还需要具备持续学习、适应环境、理解复杂情境等能力,这些能力往往难以通过简单地增加算力来实现。当下,机器人让我们已感受到智力上,相比之前的进步和力量,无论任何问题,任何询问,都会出现一个让我们觉得很不错的答案,深度思考能力升级,也由于芯片的发展、IT基础设施的完善,数据的多样性和规模经济的发展带动的AI变革,颗粒度更精细、更丰富,多维的数据备案会在智能上进化的更快更强大,在发展的过程中,知识革命将推动人工智能的发展,并推动私有知识的价值不断提升。IT行业进入产业化的拐点,商业化会成为未来的主旋律。


图:AGI  Agent的框架


       而今天,我们使用通义、豆包等对话,在处理知识的基础之上,简单获得梦幻视频、智能写作、创作等;使用AR设备,置身科幻世界,使用智能系统,辅助驾驶、辅助编程,真切的看到每一个AI模式都在吞噬海量知识、个性化的知识,运行下来,预训练和推理一体化逐一闭环起来,私有知识的价值会越来越大。这些能让更聪明的自然知识吸引更多的用户,更多的用户会带来更多的私有的数据+知识。回望企业数字化的历程,从信息化到智能化,技术的每一次跃迁,都是认知方式的重构。数据不再只是辅助决策的资源,而是企业演进为智能体的基础“能量场”。AI不单是单纯的算法,是数据螺旋增长协同驱动的生产力,当数据、大模型与Agent共同聚焦在具体场景可真正发挥其各自价值实现AI在业务层的高地,释放出AI时代的结构性红利。


也因如此,端到端研发也非常重要,尤其是自动驾驶端到端后,行业影响极大,端到端意味完全独立上岗,无人干预,AI工具是为了提高效率的上限,等于AI是24小时×7×365天,持续不断的在学习的三个环节,所以,企业AI业务若独立上线,让AI自己完成实时的数据变换,那么同时由于搭建智能体的核心能力又是相对稀缺的,跨领域的场景扩张显得尤为重要。

AI技术的核心在于其高效的学习和应用,其核心价值解决信息不对称、价值创造和决策效率成本等问题。智能体的独立上线和实时数据变换是其重要的战略优先级。Agent的核心能力稀缺,可以扩展到更多领域。未来竞争将趋向均衡,Agent的上岗将解决供给稀缺的问题。智能体的发展也将带来更复杂的智能体,并可能打破人类的知识和经验壁垒,重新定义行业壁垒。

总结

在万物互联的背景下,算力呈现多架构并存、多技术协同、多领域协同等局面,AI呈现深度学习、跨界融合、人机协同、自主操控、群智开放等新特征,这些数字化技术对经济发展和社会进步产生深远影响。未来智能社会的核心引擎是AI服务,基础设施智能化企业智能化,都预示着:AI技术的大规模、普适性发展及应用落地,全面支撑智能经济社会构建。


大模型作为当前科技发展的前沿驱动力,正在深刻影响着智能研发与IT组织的未来发展。企业应敏锐洞察这一趋势,积极拥抱变革,充分发挥大模型在智能研发中的巨大潜力,构建适应新时代需求的敏捷IT组织架构,实现可持续的创新与发展。春雷之中孕生机,云计算、AI、大数据会伴随算力,朝向未知而又精尖的方向演进,让我们拭目以待吧!


2025CSDI 9月12-14日

共话科技AI应用元年

正值LLM时代,智能软件研发的技术、范式和工具都发生了巨大的变化。无论是依赖于深度学习、神经网络和大数据技术。还是软件研发的范式从传统的规则驱动和专家系统转变为数据驱动和模型驱动。大量的智能软件研发工具和框架应运而生。数据成为了智能软件研发的核心。智算资源的需求与训练部署复杂的模型,开发者需要利用高性能的硬件(如GPU、TPU等)和分布式计算技术(如云计算、集群计算、数据库等)。这些技术应用仍然是IT组织探寻与研究的课题。


2025CSDI第九届中国软件研发创新科技峰会,将以数算+智跃为主旨,于深圳9月12-14日召开,携手100+国内外顶尖创新先锋,一起推动数字技术引领的智能研发,探寻LLM引发的知识革命下,更多的场景应用实践。




第九届2025CSDI 即将开幕,诚邀各界IT英雄,引峥嵘

扎实的专业+前瞻性的思考+优秀的实践,带给业界同仁们精彩视角、卓越思维。秉持科技向善理念,推动IT行业交流与传播。渴望追求卓越、才华横溢的同道中人,渴望在前沿AI领域有着丰富实践的嘉宾,加入我们,携手并肩,探寻知识革命的未来!

精彩瞬间

微软、阿里巴巴、小米、腾讯、华为、360、平安集团、渣打银行、工商银行、招商银行、随行付、易方达、长亮科技、南方电网、广州银联、穆迪信息、拍拍贷、宇信集团、投哪儿金融、天维信息、萨摩耶、华泰证券、招商证券、国信证券、陆金所、广发基金、中国银联、恒天软件、天阳宏业、中数通、电信规划设计院、oppo、步步高、vivo、爱立信、百富计算机、厦门航空、福建联迪、网易、星网视易、升腾科技、视睿电子、飞利浦、金山软件、金山游戏、欧特克、顺丰、深信服、欢聚时代、虎牙、珠海健康云、优视科技(UC)、52TT、天翼云、凯米网络、电信设计院、ADmaster、博思软件、网宿科技、珍爱网、金蝶、唯品会、中国联通、中国移动、传动数码、无限极、中电、珠海网博、中软、同盾科技、杭州顺网、蓝凌软件、长园深瑞、中南民航、远光软件、广联达、中国电信、传音、利通、物理研究所等。

内容参考:科技媒体、网络新闻、乔布斯语录

联系我们