走进GitHub的知识海洋:《HelloGitHub》第89期精彩纷呈
2024-01-12 11:58:04
探索 GitHub 宝库:第 89 期精彩纷呈
大家好,我是你们的编程老友。欢迎来到《HelloGitHub》的第 89 期分享。这次,我们为大家带来了 GitHub 上另一批精选项目,涵盖各种编程语言和技术领域。准备好开启一段精彩的探索之旅吧!
一、实战项目:从入门到精通
-
Python:用 Python 玩转数字图像处理
项目地址:https://github.com/tensorflow/models/tree/master/research/deeplab
代码示例:
import tensorflow as tf import numpy as np # 加载图像 image = tf.io.read_file('image.jpg') image = tf.image.decode_jpeg(image, channels=3) # 创建一个 DeepLab 模型 model = tf.keras.models.load_model('deeplab_model.h5') # 预测图像中的分割结果 segmentation_mask = model.predict(image) # 显示分割结果 plt.imshow(segmentation_mask) plt.show()
-
Java:打造你的第一个 Java Web 应用程序
项目地址:https://github.com/spring-projects/spring-boot
代码示例:
@SpringBootApplication public class MySpringBootApplication { public static void main(String[] args) { SpringApplication.run(MySpringBootApplication.class, args); } } @RestController class MyController { @GetMapping("/") public String hello() { return "Hello, world!"; } }
-
Go:编写并发程序的艺术
项目地址:https://github.com/golang/go
代码示例:
package main import ( "fmt" "sync" ) var wg sync.WaitGroup func main() { for i := 0; i < 10; i++ { wg.Add(1) go func(i int) { fmt.Println(i) wg.Done() }(i) } wg.Wait() }
-
C/C++:打造高效的 C/C++ 应用程序
项目地址:https://github.com/llvm/llvm-project
代码示例:
#include <iostream> #include <vector> using namespace std; int main() { vector<int> vec; for (int i = 0; i < 1000000; i++) { vec.push_back(i); } for (int i = 0; i < 1000000; i++) { vec[i] += 1; } return 0; }
-
S:函数式编程的魅力
项目地址:https://github.com/ocaml/ocaml
代码示例:
let sum = List.fold_left (fun acc x -> acc + x) 0 [1; 2; 3; 4; 5] let map = List.map (fun x -> x * x) [1; 2; 3; 4; 5]
二、入门教程:从零基础到进阶高手
-
Python:从零基础到 Python 高手
项目地址:https://github.com/trekhleb/learn-python
代码示例:
print("Hello, world!") x = 5 if x > 0: print("x is positive") else: print("x is non-positive")
-
Java:Java 入门到精通
项目地址:https://github.com/eugenp/tutorials
代码示例:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } }
-
Go:Go 语言快速入门
项目地址:https://github.com/golang/go/wiki/Learn
代码示例:
package main import "fmt" func main() { fmt.Println("Hello, world!") }
-
C/C++:C/C++ 入门指南
项目地址:https://github.com/learncpp/learncpp
代码示例:
#include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; return 0; }
-
S:函数式编程入门
项目地址:https://github.com/fsharp/fsharp
代码示例:
let sum = List.fold (fun (acc, x) -> acc + x) 0 [1; 2; 3; 4; 5] let map = List.map (fun x -> x * x) [1; 2; 3; 4; 5]
三、黑科技:颠覆你对编程的认知
-
Python:用 Python 玩转机器学习
项目地址:https://github.com/scikit-learn/scikit-learn
代码示例:
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression # 加载数据集 iris = load_iris() X, y = iris.data, iris.target # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) # 创建逻辑回归模型 model = LogisticRegression() # 训练模型 model.fit(X_train, y_train) # 评估模型 print(model.score(X_test, y_test))
-
Java:用 Java 打造分布式系统
项目地址:https://github.com/apache/zookeeper
代码示例:
import org.apache.zookeeper.ZooKeeper; public class ZookeeperExample { public static void main(String[] args) throws Exception { ZooKeeper zk = new ZooKeeper("localhost:2181", 3000, null); zk.create("/my_node", "Hello, world!".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); System.out.println("Node created: " + zk.exists("/my_node", false)); } }
-
Go:用 Go 打造微服务
项目地址:https://github.com/grpc/grpc-go
代码示例:
package main import ( "context" "fmt" "log" "google.golang.org/grpc" pb "github.com/grpc/grpc-go/examples/helloworld/helloworld" ) func main() { conn, err := grpc.Dial("localhost:50051", grpc.WithInsecure()) if err != nil { log.Fatalf("Did not connect: %v", err) } defer conn.Close() client := pb.NewGreeterClient(conn) req := &pb.HelloRequest{ Name: "John", } resp, err := client.SayHello(context.Background(), req) if err != nil { log.Fatalf("Could not greet: %v", err) } fmt.Println(resp.Message) }
-
C/C++:用 C/C++ 打造高性能应用程序
项目地址:https://github.com/facebook/folly
代码示例:
#include <folly/io/async/EventBase.h> #include <folly/io/async/AsyncServerSocket.h> void onAccept(folly::AsyncSocket::UniquePtr socket) { // 处理连接... } int main() { folly::EventBase eventBase; folly::AsyncServerSocket serverSocket(&eventBase, 9898); serverSocket.setAcceptCallback(onAccept); eventBase.loop(); return 0; }
-
**S:用