( _7 g. \* S- P8 {6 f+ Y0 L
) R1 [5 B) P9 v. { DevWeekly收集整理每周优质开发者内容,包括开源项目、资源工具、技术文章等方面。 7 Z' J& V7 i8 n2 [& y! d, y% e8 t
0 V# M/ Y1 ]2 e0 t) ^
* M- O1 ]- ^% f5 A% P! d 每周五定期发布,同步更新到知乎:Jackpop 和公众号:平凡而诗意 。 9 \! \2 q: P" j- B" v, ^ K
i0 G% E5 U; w' V3 T9 ]) J
$ t N0 F6 S" g0 `5 ^& k. Q1 z 欢迎大家投稿,提交issue,推荐或者自荐开源项目/资源/工具/文章~ 4 T7 p0 {0 Y: b4 }% r; x& q
! e4 e, \ w3 `# ~+ i
. }2 W5 K% [7 X+ c 订阅方式:
0 V0 b# R1 v; e, H: ]
. w( y4 ]8 \5 {! G
- X0 T% K! ]6 S Star并收藏项目DevWeekly % a. v: j O1 y! u
关注知乎:Jackpop . a0 d9 @- t, l2 W3 Q7 ]+ _( h
关注并星标公众号:平凡而诗意
% n- k" V n3 ]6 a4 d8 R
# K% R2 ]2 H6 t' b8 U% r; _, ?
4 d+ R. q: E3 K) e 进阶技术,优质资源,实用工具,欢迎关注公众号平凡而诗意! 4 Z+ V# ]9 ~+ `2 @* [$ u0 M- I
0 h T7 D4 R: @+ b
3 u; b' M# \7 B; s 开源项目
5 Z2 b( J. G2 f4 m% ]' ~8 Q
* @2 ? S+ d' t5 R
' |4 j/ J1 C$ |* o 1. jetfuel8 D' Q; p6 `- v; W( b; _; G5 S7 ]5 v
+ y: G/ a2 y7 O* @) {% ` _( X
# O- r. F0 D e0 i0 u
PythonStar:104
7 C6 F2 Q4 B) v( v! |0 E
2 ?7 I4 M/ O# v6 G% ~9 ^6 G
4 `/ B" l2 R: ~& M7 f4 |! m # E. k( W& i, f# U
: V7 J9 i, a) `" W0 A9 | 7 o j. G' {9 m/ O5 x& H
Jetfuel是一种性能分析器,可以监视生产Python的性能,并使结果易于聚合和搜索。 / ~ U2 W! S8 f+ r+ C+ K* e' N& [# C
; D" U2 ]0 @& r. O& x9 G+ D: z
. n i% i( v3 \& @ 2. LovelyPlots
3 R8 i X0 N. N: M( h' Y' D : ~. |! r6 S/ \6 p
( y3 A9 y. A8 h( b' `% X( ]
PythonStar:560 y5 e B l' I9 d
# C2 ?( J/ [" R8 |5 E! |/ M3 D 3 U$ f7 j7 S+ ~( e% r) a+ @5 _' D* E
- f3 F$ Q' l- }, C 9 d2 E, j& d3 V. c% ^2 K- e
8 U1 \3 Q8 j& J- ?- ?7 `' m. c' |& v LovelyPlots是一个包含matplotlib样式表的存储库,可以很好地格式化科学论文,论文和演示文稿的图形,同时使它们在Adobe Illustrator中完全可编辑。 / D) \9 R" {4 D2 j' }- t; \2 [2 b
3 F7 Z V# U6 Z/ E' k; I: c, R
: B) s* a2 U: E2 F: g) p 此外,.svg导出选项允许图形自动调整其字体以适应文档的字体。例如,.tex文件中导入.svg插图将使用.tex文件中使用的文本字体自动生成。
2 l) |: n( l9 J( |" C
+ i" l2 \. o7 b2 l1 {
e: M3 t: c; m4 l" O3 V1 i 3. tsuki7 S3 K5 z+ u: f2 Y; p
( r" V) v3 T! J$ b" A4 L 8 t9 s B# |9 y: M% z
PythonStar:58 7 G- t. s( S% d8 {0 q, K
- C2 S0 U* l8 R& P 1 R) O& ]/ u* \$ J! \
Tsuki是一个极简主义的开源社交媒体平台,使用Python构建。 , k: q! j3 J1 \% g# y9 k
8 W8 `0 l* F$ L5 ]: k
& B) m a! k0 {1 Q9 C- b) z! { 4. Xtra. M! e/ a! Y1 A6 }$ x3 S% ?# f
$ p6 x. J# b6 B4 T4 k
" b3 q( T. X% L: \: ?$ @ KotlinStar:350 " K, ^ s- R! O; I
7 U$ A' H- f3 p1 }. A
D4 a/ w3 e" D/ @
Xtra是一款适用于安卓的Twitch播放器和浏览器。
/ [' D. B2 |' M- \ D4 I2 K% ? `# V
$ w4 s+ f6 V- l $ q! Z% H0 y; \- Q
5. sbctl; u# k1 x2 x9 n1 E) M/ n
$ C% `- k: H" l/ j( W
: j$ b! i3 K$ o, {7 e
GoStar:555
0 G6 `8 u0 T o0 q / @1 L; t! W( I: D( V
( T4 O7 W7 T3 ^8 O& ^6 T! G3 G! Y
0 S$ K* ]0 ?7 x3 h8 N# T8 F
3 H" T) g; X: C! Y |% u
. z$ ?- D. N* }5 F- M# { sbctl 旨在成为一个用户友好的安全启动密钥管理器,能够设置安全启动,提供密钥管理功能,并跟踪需要在启动链中签名的文件。
: A& v$ s( i' w9 m" @ 5 C. l9 t5 B+ b9 U' Y& p$ X a2 z
, ?$ t6 \% i: F# n 6. cli
, [) G5 L* v/ C* M; e5 n7 C* v + Y# ]1 S2 d: j) ?+ G
/ Y/ h; ~7 d- y. L V# @7 o, ~
GoStar:983 % b7 v3 g* V5 u# H
/ b( x! s7 q0 V* R
( Z8 d G" L! S8 F 用于 IPinfo API 的官方命令行工具。 ' R9 T" @9 u; b
, Q/ a: u- X% l3 Z+ R. `) f9 g$ s
/ p! R7 O% W" r5 n2 y/ g& W, K; j
7. thisisthewall
4 U; L' s+ a0 m) m }8 [: G 5 e( s- t) C, C3 f- [% c: M+ l
$ Y( o) z4 v9 d6 U JavaScriptStar:14
9 u6 c2 z8 X( N5 v% e( ~6 | m
. S" Q) ^! l- D3 s$ x0 U
' x1 q/ R* n9 U 使用此API,你可以在任何设备的屏幕上获取壁纸的图片。
% V& Y7 q1 O& G1 ` # \! C: x a9 [0 N
7 n. j) ~9 m, s+ U 8. magic-regexp
0 D6 i# e, Z# s3 D( z 9 w$ p& S9 v5 f1 J ]# p6 {
6 w: ]0 {6 U/ d( n( I9 F; w TypeScriptStar:1.4k % Y; |0 B+ z& j
. C7 y7 n$ O& w# A2 x9 |; q' J G
3 F/ g4 B2 Y, i) f; q, @ A* } 一种经过编译、类型安全、可读的正则表达式替代方案。 ! [/ x1 T( T6 F8 `2 F; H
6 M( c$ j1 j: E/ ?7 q
3 c7 }. Q0 d6 S4 m& z5 L+ e( t
9. frawk
& y8 E7 `1 C8 x+ G3 @8 w. i
2 I4 N8 Z" u. r8 g8 e$ v
S7 k8 k# p1 x' j! G3 o1 u( a RustStar:1k % n& ?( e d# E* X6 M4 X5 `& [
+ t9 Q; b4 c; `1 Y; ?+ C0 l" i) u & L. A7 @& |& x1 ?" ?1 k7 a. @0 ^& T
frawk是一种小型编程语言,用于编写处理文本数据的短程序。
2 m' G2 r* y+ T% R% |# j
% e+ \, a; M) G |6 @8 l4 |
9 ~8 G( c- `7 _; f8 u) N2 _ 它类似于AWK语言,许多常见的Awk程序在传递给fruk时会产生等效的输出。如果你希望脚本像标准 Awk 字段一样处理转义的 CSV/TSV,或者希望脚本执行得更快,那么frawk会表现更好。 0 w$ ]' n# G0 X9 V, i0 Q/ G
9 e: k# t% a; B3 f$ J : d, e7 G- x4 Q% P+ B1 n/ l( I
10. Vale
: C5 U4 y8 I! Z1 ^7 c
0 k* A/ @% M" c$ n+ Z/ ]
% z) w# L% p* V, j2 h- \) m: w$ A ScalaStar:1k ( ]& U9 |" V6 Y8 T5 g& ^
% u2 b2 `; ^ F5 b4 y8 n$ E- w
a% E8 s, ~! x- ~2 x Vale是一种编程语言,其目标不仅是快速和内存安全,而且简单灵活。 + C& ^+ u9 z. d. c' `. n! q) P
- h( [+ I7 e5 ~) F0 [% |. Z
7 b5 R; x$ D7 k+ L4 q4 ?1 A: _1 O 资源工具
- s# E$ r& ?6 { 1 J1 P+ O u7 g6 H& n9 A
* _* d7 b6 Y( A 1. GitExplorer: N+ t8 D2 ]3 O5 {0 c: I% W
4 {; X) Q0 _ U3 z# ~
6 v/ g- I* Y% G! k4 x
8 V5 A- p* W% ]% a, \: U! _- b5 { 7 ?+ b8 |" W& O" ?2 L
% K" Y2 v* U4 Q2 J, H1 H1 |( O 一款Git命令浏览器,只需要选择想执行的动作,它就可以快速生成命令。
, z2 Z& [# v3 m# P ; N0 b" B2 U0 i: \1 r
6 {- {# F6 E0 [& ~/ o' b- l# N
2. Bookworm
\% t2 `+ l e! U
( e9 v' F0 N$ P/ G( X ; Q& F. e: c0 \ M9 ]0 Y e0 u* l
) n X% l) }5 n: |
8 o& Q3 l9 l/ m0 N' z1 u
+ U% @, W' u% z" o, p
适用于 Linux 的简单而功能丰富的电子书阅读器
. p/ ]3 M M! D. t- u" L% \ ! p, a5 {6 V% ]
4 z4 X* |$ f7 Z6 N" J3 x
3. gitlogs. z9 l1 q& P' C
, K- v V: S2 z; E/ p
+ G1 ~! a s8 v3 M% g9 |. Y, P
能够及时准确的发现最新优秀的Github项目。 5 l; R/ C4 M, l1 ?4 }# y
1 e6 P6 Y3 u; R. P0 `
% T3 \/ F! b' }9 r4 ?1 B
4. readme.so, c9 J# ?( x: g) F9 c
' k3 E, e2 S' z2 d; }+ V
) f2 O* x5 B( E0 ^1 k6 I3 d. x* c
$ T& |1 c. |( F: s5 T7 F1 C/ b7 [, v
( O+ Q. e! y) O: Y, A Y3 p! c+ G2 {- N$ [
1 [! L1 D! o% ?4 m readme是Github开源项目中非常简单的文件,那么为什么有的readme写的那么精美?
' F* [# X7 z: G# K a
! G+ t( X8 ^1 b3 N" [: F / c6 U" I% u7 l6 {& @" h* h, ~
这款项目就可以通过简单的选择快速生成美观的readme。
% x; w; m# G: K6 J! v* X m: L9 C' |/ A# Y0 c
3 F! _9 W+ }/ O3 F: `* } R- C 5. learngitbranching
( j8 C5 ?+ f* D+ R8 S4 Y' x3 j 4 F- [$ [: e2 Y1 O
?% x4 c2 a. v6 O) Z " p( V9 q! O, Y }) j
, L: J/ G4 h5 l( S6 Z; X
5 o) h% i* o0 a/ t 一款在线的Git分支学习工具,通过这款工具可以可视化的解释常用命令,更有助于理解。
, O% S& E/ y$ x: h/ Y! U . y* V3 ?' @1 d6 e% M
% _0 x7 l2 j3 `* W& j( M6 L4 S 技术文章, V. q P0 A+ ~0 P! i6 {
% B' m6 q$ r1 O& W4 H2 H9 ~ " f( m( p! o( J6 D/ P
1. 了解Linux路由1 X5 C0 o, ?% a% f! a" D$ ^
! g- c% O4 ], l" a v
$ Q+ }' z0 P) h. Y8 Q" @ B) H, B 过去只需在我的Linux终端中输入路route(或者后来的ir route),就可以准确了解我的所有路由。 ; y0 D2 r& ^$ ]' R/ |
1 b& R7 A* z0 X2 R: ]
, x& G9 P: D# w! T& ?
现在情况已不再如此。
% [6 z, a, c2 L0 R5 [/ `7 Z
. T4 k b! [ X3 y+ [$ P; m) j! ], H & Y% `" V: w: U% H% d( m
例如,当前使用的机器使用wg-quick脚本通过有线卫士协议连接到Mullvad虚拟接口。我很确定我的所有流量都通过Mullvad,但却无法从我的ip路由输出中看出这一点。 & s( ^; f! g" u: K4 ]9 V$ F
$ W( v9 p' {' T5 W* h# _
4 m1 y2 P @0 D
默认路由似乎通过我的物理网络接口而不是虚拟接口定向所有流量。 p( L5 x" D: g6 E- }% e! h, S
- y+ w( k' n3 a9 X8 w( Q
7 Z+ L5 z3 {0 S
通过这篇文章就来了解一下Linux路由是如何工作的。
. \& ^5 b9 X& L; e , K0 `4 ^9 N: U; a
5 U/ ]- ?5 g6 I) q( G" U) @& b4 T. _ 2. 一个专业程序员的10年
: ^7 z! W4 V; i. q2 U7 l
1 k' u. p/ f5 U: I" R
* B: K0 L4 U4 l* o; w8 m) ~ 10年,对于一名程序员来说算是比较漫长的,在这10年中项目、工作经历了很多,也感悟了很多。
$ Q- D) M) v: a! r5 p0 W4 B
2 b. C& Q. b7 Q- ~" P
# O# d, u" P# E5 f5 i8 T# K 作者是一名从事10年编程的程序员,从工作、技术等不同方面总结了自己的感悟,很有借鉴意义。
( Q- \: W) m, Z4 R& ~: t ! _4 E5 K- z( ]
8 r$ ]0 n' r4 r5 y) f* `* u 举报/反馈
8 e2 l6 d& U# P5 M J5 o( l
: J. o5 M! ]8 P$ e3 e# ^0 |! j8 K. { E, G$ t* E
; i$ ^( M" T# H$ r- ~
5 n6 P0 h0 a% F2 m4 k o
( |0 x& L+ X# n8 p7 Z
|