, h9 t1 W0 \) e, b" m, f! p 8 i. d* e- I! Y
DevWeekly收集整理每周优质开发者内容,包括开源项目、资源工具、技术文章等方面。
+ k0 i6 ]' Y' E! W! w3 d4 N
+ a0 f0 C1 V \4 W! o' [( v ( F' K! q# c5 N- h( J6 L
每周五定期发布,同步更新到知乎:Jackpop 和公众号:平凡而诗意 。
+ K: a8 A5 l" \+ c 1 S( k7 m: k( u
( Q7 v i: ], S4 g
欢迎大家投稿,提交issue,推荐或者自荐开源项目/资源/工具/文章~
" m! m( R+ Y3 t ; H2 s5 G( k0 U
0 w9 p2 B, X7 ^ 订阅方式: & t2 X1 r; y0 }" q9 Y. I f
4 ]. p' @& [ I. a% f; I + J# x- q; k) `* t
Star并收藏项目DevWeekly + J5 M% S( W: X
关注知乎:Jackpop
6 W/ C& f, {+ ~3 h: Q# v- D" G 关注并星标公众号:平凡而诗意 " C. u7 m+ F2 t% D1 C5 R
" ]- }0 l7 k2 g- V: c " n1 A% Q1 e* e/ R! D% I* }) k$ Y
进阶技术,优质资源,实用工具,欢迎关注公众号平凡而诗意!
2 `- f" {3 ^% X, Y: |1 d 5 H. X, @; @7 A- s3 M: v
3 H; a% {8 F. J) o2 |, ~
开源项目9 ?3 N B3 w' `
+ Y' ~- M @* I
# N& S9 d( d1 h; j4 w2 K7 k$ x( J 1. jetfuel: g" P v2 h( C) K- R4 {8 k
, h* @% n$ X; ~5 K1 ?
5 n$ y+ i5 h* y9 M# |* f
PythonStar:104 2 T* `' X, o, x2 a+ m$ Q
& p% G' Q5 }7 _8 @ : [; y" W/ x+ L9 K) j
& j( ]! s9 `4 Q* R- o6 { 3 ?/ H) ~; i0 b6 M
2 g! B9 w/ V, O9 s, q2 M
Jetfuel是一种性能分析器,可以监视生产Python的性能,并使结果易于聚合和搜索。 ( {" s& h1 ^, E/ o0 _: y! a3 C
$ P' d8 l! B* V( U! t 9 ]# E( Y u. U9 I) ^" P
2. LovelyPlots
* O: v" m4 Q1 j! ~; i. Q) e N # g5 K2 K$ q# N+ ?
1 ]$ `6 z' ^$ x9 b4 T
PythonStar:560
. A& d( U5 x4 K# V' y+ Z 5 M! I$ z9 e" E7 ^
, U% C. H) _6 {: G
! H1 ]9 i3 _8 {" a
- D! ]3 N7 j# F0 z% o. x
& Q0 A& E8 b, a
LovelyPlots是一个包含matplotlib样式表的存储库,可以很好地格式化科学论文,论文和演示文稿的图形,同时使它们在Adobe Illustrator中完全可编辑。 / ?* s1 ?, \! g8 _! a
4 |/ |' h% f9 I" S z / q* C$ w* E- Z) X. q! n
此外,.svg导出选项允许图形自动调整其字体以适应文档的字体。例如,.tex文件中导入.svg插图将使用.tex文件中使用的文本字体自动生成。
* E/ P* I6 \+ f7 V/ | ; r; [( J( g; u7 l1 c3 t
9 ]- i) Z7 W1 [. Q! d9 x& `, l 3. tsuki# M& d3 i9 o5 J: S
/ z; y1 r% r2 T- E4 B* O* i# M
5 k7 _0 [ H" m9 K5 a6 O PythonStar:58
4 c+ }1 h4 ^* b; \
9 w O7 e% M7 ?8 {7 C0 ]* U
$ Y& R4 S; S" ~- L& @ f Tsuki是一个极简主义的开源社交媒体平台,使用Python构建。 2 A, \8 \. `* E+ Q- M
! ~" R# S0 j+ ^3 o6 E* r ; l( `6 C8 E, r' ?. o
4. Xtra
m: v( U/ W; J4 x2 Q+ \, W8 T, I 9 }( X4 d4 e5 ~$ [: ?( S& s
) P+ Y q" |* m5 e& A3 u
KotlinStar:350
6 n) g1 q1 Z1 P o, b: L( {: h # u: `: H$ D6 I3 I- W7 y8 q5 K+ R- V
: ]' B3 B; s6 w) p3 Y8 n
Xtra是一款适用于安卓的Twitch播放器和浏览器。 , {# ?* W; H, l
0 x; B; Z- Q) o! @1 }1 n 8 n9 L" |: U: S
5. sbctl" n- c6 i- i+ j+ l5 x# k$ M
& j5 R. y% B4 O) V$ S: a
) {3 J, h+ g. s' R' P- e GoStar:555
% S+ u( @+ a* J/ b$ @4 T0 c
' g7 } ^$ ]& w
( \) _2 b _4 A) k, O
9 w8 {1 I* z) D$ N1 o - L3 D' K) D3 R0 R) _ l, P
! r- r' |! M* p2 a/ w {, M sbctl 旨在成为一个用户友好的安全启动密钥管理器,能够设置安全启动,提供密钥管理功能,并跟踪需要在启动链中签名的文件。 + U' V; y& g# {) S! f2 ]- X
0 W9 C; I) ?( O4 E / A5 Y* I+ D" Y0 u# {% m3 m6 e
6. cli6 g$ `, D8 c; m. E! p
$ A# O4 S' r, l( L: l6 m) I- |3 M
; U: T) `# ~' r# ]' H
GoStar:983
3 W+ S, k( T# d5 X
( q9 \3 m! w7 P+ M. _
) M) u0 {. `8 i: R& X7 B' a$ O 用于 IPinfo API 的官方命令行工具。
8 N+ D7 Q- ?4 K9 U# z
5 ]+ \8 t: A3 Y3 K
- h7 V( T; L/ n, f4 u7 v' t# w6 K 7. thisisthewall
{* A& K( h0 N0 k5 V ! W- D' B9 s# p; z r w' n
- Z' L! v5 W. h' k JavaScriptStar:14
( |2 X0 t% s0 i' H8 z , o4 x1 K8 I* ~! h& ~
3 b {+ ]9 l! M6 i- F6 E ^, j
使用此API,你可以在任何设备的屏幕上获取壁纸的图片。 - i: h$ |+ t1 G; ]/ t8 R0 g1 x
, ]& d4 c& l# T
5 D3 @" a' _8 A4 v& E
8. magic-regexp0 r9 P& W: d/ q: y+ K! m. q( K
. E5 T! e' q* m4 _, R
, [0 Q7 [' \% L/ ~+ V+ L( z1 ]& G
TypeScriptStar:1.4k ' [( g+ U O; M4 _: e
3 q% q* n! Q3 C! a: A6 b1 n/ S" o
5 U. P8 X6 J2 R" j' G+ _
一种经过编译、类型安全、可读的正则表达式替代方案。 ( k6 o- Y- ^3 `8 d; \
8 B1 h3 Z, f1 P# [$ [; i+ k1 q2 A8 w 7 j1 r. u6 j& W. A9 t; h5 G# j
9. frawk1 o; q2 w! o% k. s: u$ a c
" S% X( ~- t7 m
3 x9 w" Z& Q# C: T1 t; b2 a2 l/ \ RustStar:1k 3 K) O6 L! K1 {0 ^) k
# `9 z5 Y+ ^0 I* J
0 M! \& m( V! B2 h$ q! A frawk是一种小型编程语言,用于编写处理文本数据的短程序。
& O: ?1 {& ~. e
2 a4 I! `# z% H$ ?! ]) k
+ q% j r6 K" h! j, K 它类似于AWK语言,许多常见的Awk程序在传递给fruk时会产生等效的输出。如果你希望脚本像标准 Awk 字段一样处理转义的 CSV/TSV,或者希望脚本执行得更快,那么frawk会表现更好。
% D5 `" x) }/ `" a
! o9 n: t! |. N/ T
1 i) |: Z- C6 G+ V4 I 10. Vale7 W; f/ j$ o6 `3 E& m$ E. z7 b
( x- C8 I, ^9 M& g/ h& ~) f6 {
1 O# \% z& v9 ^ ScalaStar:1k 2 k1 Q( X- {1 M' w6 ?
/ ~' N& p5 Y7 r+ N
8 o$ w0 u$ h: a, g5 I) B3 \
Vale是一种编程语言,其目标不仅是快速和内存安全,而且简单灵活。
) t# g, ^9 A* [7 }# v6 O& J+ y
9 n, m7 h; b# x) z & e, h2 S* C) N/ I2 @4 t% h
资源工具
/ I$ d5 ]" k; ?. V6 m
0 j$ s! ?1 m1 r4 `* |# z( @$ j a9 M8 b+ d$ ?7 r7 `' }
1. GitExplorer6 }( T& Z4 i% S2 G; u
2 _9 P y' x; a) m0 E , U* U+ U$ ~3 r z. O$ Y' H
2 Z2 f; d4 ~6 z8 c3 R6 x) Y: ~ + {4 C) l H0 r! f7 F& g
8 j% x: d/ b i, t$ p4 b
一款Git命令浏览器,只需要选择想执行的动作,它就可以快速生成命令。
' p0 ^, x% P& m7 S 2 \. C; h; j+ q) d$ h+ N. j
1 ]' ?1 K7 K( x8 C C6 }# S 2. Bookworm# o1 |" \6 b! F& |& h
9 H2 X4 Z, r9 |4 W6 j3 K7 I
5 I, ~, k" q( i) u; V/ G! P% g " u8 U$ h6 ?1 n$ S* X' X
2 X" B* j, E* H+ x8 R
' j, V3 c3 m# m( I' } ? 适用于 Linux 的简单而功能丰富的电子书阅读器 : Z" U, H3 J; m
4 h6 w7 T' b# n; n, T) @* u5 _
0 T0 R1 Y) [& T9 V) d" h' n+ z% T 3. gitlogs! c: g) e7 g; T/ b/ @
2 Z- p5 t+ ~* ^: ~5 D & q' s6 T, ^+ q/ N
能够及时准确的发现最新优秀的Github项目。
/ I' l) _) u1 r6 I# Z- S, Y
2 V5 D/ ]* a; R; \" q
4 V6 `" L6 l( x" p1 R& e 4. readme.so. E! U0 B' h* y
/ }( w' B; t4 W" w" T
: `* d7 }1 U) e+ o; y9 P& K) h) a
8 w' z" q% [4 P+ h: t7 f9 R
& S. w$ G, _/ \0 d. g5 T
- v! H6 p8 a+ I7 Z readme是Github开源项目中非常简单的文件,那么为什么有的readme写的那么精美? ; w. q8 h; y' B
6 t9 N3 a5 v% ?5 R
! t- C# r: ]% R# T 这款项目就可以通过简单的选择快速生成美观的readme。
# Y9 [9 @3 Y6 w( l) U 6 w9 w: R1 n# ~( d8 N
0 z1 G+ }+ H1 x9 `% K7 P: W 5. learngitbranching7 n _$ P4 {1 @' ?
9 ^6 s2 D3 N: {/ q1 S
% O% @4 w! s9 p6 Y ! [5 o' s: [5 ]% a" Q+ d
% h L! W" ?( B0 l) W! N: E
, T) L) k/ |( G7 M
一款在线的Git分支学习工具,通过这款工具可以可视化的解释常用命令,更有助于理解。
$ I" ?# {2 l: ?$ A5 |+ p / _$ ~( W& {3 t; N9 b
V' ]" Q0 v8 w9 D3 m& ?2 L3 h
技术文章2 Q- G) U* Q# E: S& X' N
3 s* k2 o. F6 P1 t5 A
# E( V) `% p, _1 ?0 ^" i 1. 了解Linux路由, f, `& a1 \& r, w: g
0 S* J2 C2 z$ Z! }, `, A
5 f3 L6 g1 y4 G 过去只需在我的Linux终端中输入路route(或者后来的ir route),就可以准确了解我的所有路由。 * y' h" n% y* M+ n! e& q9 J) N
# y( v! ?2 f2 z& {! M9 N
/ T) B5 b7 [: b- S# w 现在情况已不再如此。
: w+ P( E% a3 Q- [; d9 L
5 b: u+ O" R# T' c' p. n
5 Y- m! i, N8 y' d7 b* H1 ~- m 例如,当前使用的机器使用wg-quick脚本通过有线卫士协议连接到Mullvad虚拟接口。我很确定我的所有流量都通过Mullvad,但却无法从我的ip路由输出中看出这一点。 + I& s0 D. U( K" y* a! c
- A6 M0 K/ C9 y) |
" b6 [$ B% p- a* R" d 默认路由似乎通过我的物理网络接口而不是虚拟接口定向所有流量。 & y. [4 m* f" U& _
2 ?: ?! p% Y$ C% d" {' B/ |
( W: Z# D _+ P2 \4 y _0 V 通过这篇文章就来了解一下Linux路由是如何工作的。 : J. j: Q; u$ x& r
9 j6 w" L! g2 `' o; M9 T3 F0 |* K
1 T/ ^) y4 r( @2 O 2. 一个专业程序员的10年 E# D# A8 E6 y# v: ^: r# u
4 v1 M. Z: U+ ^9 I3 F2 k8 m& v 8 q. w' _4 S0 y' n# i2 I
10年,对于一名程序员来说算是比较漫长的,在这10年中项目、工作经历了很多,也感悟了很多。
9 E; d6 T. P8 B - j+ @5 D2 c. E( p- {
" s' j8 j( h+ b# M6 m
作者是一名从事10年编程的程序员,从工作、技术等不同方面总结了自己的感悟,很有借鉴意义。
, h# f+ N* K7 q3 M' W$ d
+ i) i1 F2 o% j- Z! L- ^* d
, Z0 Z6 j" H0 Y5 g1 J4 l3 @. w 举报/反馈 & R( q; w, _3 x& v! N
1 ~0 O; U M6 [. P# _
6 I% }& q! J& S4 P2 ~' [! H1 `+ E8 t2 C/ R5 P* B. C- M
L3 l6 m* x& `2 A8 h
; y3 M, d- n2 y) q2 T, w1 T
|