s: |3 H: s% t
, y% F/ s( C( W) h/ ] DevWeekly收集整理每周优质开发者内容,包括开源项目、资源工具、技术文章等方面。 $ u- u' y( J3 V) ?
+ }4 {/ \0 {" @5 d9 _6 L
) Y5 h o U4 S1 R k5 S6 \
每周五定期发布,同步更新到知乎:Jackpop 和公众号:平凡而诗意 。 V6 L6 V: T) Q0 e
. P% {* t0 T8 ^
1 M9 `0 h% P) z! s# p4 Q$ Z# ^ 欢迎大家投稿,提交issue,推荐或者自荐开源项目/资源/工具/文章~ 7 A& H% r& A: h( Z
9 A& `+ o8 D) t$ u5 k
4 m8 H$ S) @3 g4 u. e9 q- B# ~
订阅方式: 7 J7 w0 w) E) G- Z
F# u& U, S+ h0 M* R/ C
4 ?' d( A( {1 z7 R$ ~! E
Star并收藏项目DevWeekly
/ ?) H8 a' Q y( K 关注知乎:Jackpop 6 Z! Y; S6 T/ B
关注并星标公众号:平凡而诗意
$ Q2 K. n) B% F) \# H * `" f( z8 p# b$ I! s- i
6 c, d$ _$ b2 |4 m8 I. B. I 进阶技术,优质资源,实用工具,欢迎关注公众号平凡而诗意! 6 n9 Q \* i6 @: L% i
) C' S$ b1 N, S! o; L" T2 U 3 s$ Q" k5 Q( J O
开源项目4 @2 g& n6 Z3 P( `5 Y5 g
* d, y# r; v, I0 d P" F: ?
. m, v8 M# ]- d" q 1. jetfuel/ b' r4 Z1 K9 X% {0 E6 J! d) C+ b
% B9 j4 T2 W$ I" Y$ H3 j* |- n
) f- x( t" \; Y9 Z: E( O- h
PythonStar:104 7 F/ X8 ^9 F7 @- K5 W
& d Q, N/ @ I m Y0 A % m( y5 [# @7 E6 V) R, _* N$ w9 J
# G U+ q5 a! `. r3 u. R
( h c. H. B9 W$ c
, O! j, C1 F$ o3 G6 p& ~ Jetfuel是一种性能分析器,可以监视生产Python的性能,并使结果易于聚合和搜索。
$ A% V) Q; D \3 Z
0 R# q6 n0 D: b* { . H" n8 n. D5 ^
2. LovelyPlots
$ E& X% i+ |4 h ) `% h3 A8 H- |4 [% D
/ [# ? w9 n6 O: M9 G PythonStar:560 # b; R9 D% y; D8 j
) _2 {# U* s6 Q* [$ ~ - d6 ^1 h/ Q! s9 H! A2 h. l1 C# O
6 R; g, t, R1 A; }4 f- c
) U+ j( T% c3 L2 k) ?' g! i, H. P
& V6 x0 u1 G ?& m h LovelyPlots是一个包含matplotlib样式表的存储库,可以很好地格式化科学论文,论文和演示文稿的图形,同时使它们在Adobe Illustrator中完全可编辑。 * i2 K# x e2 @$ k/ T
2 G. I. H! k0 D+ f
; f# N3 y: I; @6 J 此外,.svg导出选项允许图形自动调整其字体以适应文档的字体。例如,.tex文件中导入.svg插图将使用.tex文件中使用的文本字体自动生成。 8 `1 a- i% B# `( }
: G0 _2 z- q* O# _0 V( G# o + }9 {% G0 ~/ n# P: R5 E0 C
3. tsuki- V% X5 J: M; W% s7 m
( Y6 |! o: H0 \/ @% E
7 I% w3 j8 P. k; u PythonStar:58 6 J1 w/ Q) I* I- _6 _" [' Q
9 B- P! g. r7 d: Q) d; O# C. B
! Y& e- b4 @ E" R4 F4 n. B Tsuki是一个极简主义的开源社交媒体平台,使用Python构建。
. t9 v+ \9 r. P+ x* H
5 `" h$ A. j1 e. C+ {* g
9 Y# [, w# t# ^" J' g/ n 4. Xtra
$ r$ U0 A8 O: o1 Z4 R7 I5 T" v 7 K. {7 B: B. N' ]$ Q! y" j) f
" T d2 ?$ O M5 J! Q( o KotlinStar:350
' t, q# c+ ]' T" J/ v6 q2 ~ % u' N0 c# _: P, m
+ E* l, e5 Z/ l1 O0 E5 F1 b
Xtra是一款适用于安卓的Twitch播放器和浏览器。 + i5 @4 @$ b; ? p8 [5 A8 @4 ?
5 ?* C" \* F1 [. l
$ E0 d8 {" x$ X) }5 b" Q
5. sbctl
) K5 v: Q8 n9 `/ t1 C 8 D3 K5 u4 j" H# N, w
" y9 B6 q, f% D' N
GoStar:555 7 f5 ?( s9 F& k0 S! q. `# V
4 |8 M4 q9 g4 N9 z, Z# w& W $ y2 g1 x6 P, m2 |2 v1 u
2 o& j& K! z* I: z' Y- {1 L( h/ Z ! D( y4 x( x" ]' e
& G3 A) Z4 W( {
sbctl 旨在成为一个用户友好的安全启动密钥管理器,能够设置安全启动,提供密钥管理功能,并跟踪需要在启动链中签名的文件。
& o9 p1 I; ? N2 R8 ~' x 8 H5 z, l8 d1 H& W: V0 Y" \! e! N9 V
* E& q3 I; H. {" ^: L3 y4 w
6. cli' D& d# M3 ]; B( t8 ^
* }; z" `' {4 T
) T+ P0 w# L$ S8 B1 v, W3 ~7 _* E ~ GoStar:983 9 Q. d- ?/ c5 _7 I9 C1 m
; x; [6 l- m1 M- r( N2 d
?9 K! r; u5 i" S! J 用于 IPinfo API 的官方命令行工具。 ( g- b- H3 p4 z2 Q0 Y0 a) F9 B
1 L- h' O9 E1 S0 Y7 \9 f, d
) D: e' d/ A; X( {. w& L 7. thisisthewall+ n- d2 q; \8 q8 C
% ]# [! W" ?# p' R, n/ { w 8 v- S$ R( E; H& f' Z. |
JavaScriptStar:14 6 q* o8 Z& n% b
% [" h5 i. ~7 P$ y7 Y% b
; B9 ~" m& w* J+ e X5 Q" H( i
使用此API,你可以在任何设备的屏幕上获取壁纸的图片。
+ v- N+ H% ^8 P8 a. J# C
' D# l# P# R- h2 f( Z$ m1 C; R
, L g! N3 L2 V: f' g, }0 c& m 8. magic-regexp
' j# K8 m, _" q
. x& e K. r5 h4 N8 U 4 ^$ j# H9 E# ^- w1 m/ m
TypeScriptStar:1.4k 3 O0 E0 U. V/ z
( K/ t8 n9 ~% d) w) t1 H1 ^1 \5 f
, q2 `* o/ ^+ [- n7 O0 G 一种经过编译、类型安全、可读的正则表达式替代方案。 % a: W. V8 N, R! W
8 Z7 g( I7 _& E+ y# q# X8 Y8 R* Y , Z9 H! T8 |3 D6 y/ P
9. frawk
: i% N2 P, W3 y8 p" j5 M# a $ T" n0 l, M3 s0 g& Z6 O4 S1 J
1 W+ g3 ~8 k& u! J. Y7 d
RustStar:1k , O! s# k* f j* {" y5 i) R
9 \% `- |6 a5 F% _/ B6 ^: f
8 t) R+ p( ]4 R frawk是一种小型编程语言,用于编写处理文本数据的短程序。 4 O; h: x1 I' v6 G3 q6 ?7 n
, ^: {3 t8 A4 m
# y+ F6 ^! b/ ^* x: s2 B 它类似于AWK语言,许多常见的Awk程序在传递给fruk时会产生等效的输出。如果你希望脚本像标准 Awk 字段一样处理转义的 CSV/TSV,或者希望脚本执行得更快,那么frawk会表现更好。
/ s5 n2 Y( _: l- F( s! V0 V# ? ' N: P1 v9 l8 G m% s
|8 [/ v' ]/ j1 \% D
10. Vale* J! ? |7 e' y/ A1 H6 ]$ F- z- l
2 x$ q: V% ~- N. q0 H) c- G7 K
, D8 ~9 A; M! [3 _9 p: g
ScalaStar:1k
, [9 N9 H9 T# I% ~ + |0 \1 M% y" ^& `! ?& i
# O8 j7 H7 _6 i: v. `+ j Vale是一种编程语言,其目标不仅是快速和内存安全,而且简单灵活。 & }5 _$ d# E8 ]( c4 E5 a6 n# S
) h( X* P+ W. M ( e+ V4 _" d7 }1 s% \
资源工具
+ z+ u) ]/ U2 [
- `1 B1 I* _" u5 x
* x7 I& j: w3 f4 q: j 1. GitExplorer
3 ?8 ^" s2 o- m7 S n 9 B5 M7 t) W1 Y$ _- Q% c3 ^; K
( n2 {# X; O8 ~- a( C- A0 c9 p / X! V" B0 H% z* ]2 G
0 r9 X7 ~/ }7 `8 D) j; G
' ]5 T; w4 j9 f( i/ p 一款Git命令浏览器,只需要选择想执行的动作,它就可以快速生成命令。
8 K1 M5 w4 v$ D1 ?5 B
# B% Z2 K8 c! @7 i , ]/ f9 {) c8 c% }
2. Bookworm4 v0 z5 ?( @1 a& _
4 a5 \7 Z4 H( s* y 0 }4 \' c8 i* x! R6 z: Q
+ \: x* w' g6 }' Z
! G- n. ^0 ~( G5 K: N
7 H; ~9 l, Y# B( D! S
适用于 Linux 的简单而功能丰富的电子书阅读器 0 K! r# X8 v, M4 n. L( e; B
" E* Q; q5 X- d$ _6 u+ T
( O6 [- {0 u$ X' c 3. gitlogs
- p- X2 C# Z# z9 a' ]) [ ; u6 M, N& N+ }9 w1 L
2 [/ c8 Q$ q" i" ?1 x* n3 T( X
能够及时准确的发现最新优秀的Github项目。 % @* r; `( B- ~" N' |: D
' Y3 ]/ ]' T( g2 v2 T* e# Y
7 q6 Y: w% U2 O ?, @; g
4. readme.so& h: q9 M2 z; R) n( N8 ~7 Z
+ u$ m$ m/ l, m( z% G0 T
2 ^* N5 _% b7 n5 j# \
0 t5 X4 r& l1 u& U% }0 ~
; ?$ w" ?2 y$ W$ ~* a
# u' z! w/ Y& ~2 ~ readme是Github开源项目中非常简单的文件,那么为什么有的readme写的那么精美? 0 d0 Y1 s% w9 Q4 e. s( u; E6 V
( o& Y- e' o/ a
/ y' r3 H9 v9 ~+ i) B! t+ d& f% h( K6 Q
这款项目就可以通过简单的选择快速生成美观的readme。 1 ~4 ~( h5 |9 |, `3 [9 C
3 X# [6 v* |8 n t) I# Y* m% N3 M B6 O
" u1 x' B S7 Y: ?3 V. w' o* S 5. learngitbranching
$ m, f n; t* ?$ r! K 0 T7 Y' D' M5 ~; k9 w
. f" o/ G+ J0 ]% Y( Q
) E9 X/ k+ H" @9 @0 v! W
; ~$ Z- a* }% Y
o- F: S/ g1 P$ d 一款在线的Git分支学习工具,通过这款工具可以可视化的解释常用命令,更有助于理解。 - w; `. Z* n! W/ ?' n5 F
9 U, W P$ A0 y' t
" } t0 e0 {: F B2 T 技术文章; s# |, Y: j6 y# |
7 V2 u. G# J; ~
) g! y+ D+ s" _' {5 E3 x
1. 了解Linux路由
) m) w2 k' a- Z# W
: G9 b1 d8 G* o . G. r& X) D$ _5 F, q
过去只需在我的Linux终端中输入路route(或者后来的ir route),就可以准确了解我的所有路由。
. V: b, r, P. D# I( a; X, N; I
, _: ^ r$ u* [) c: |% w
9 H! c4 ?5 y& o, Q+ @) _3 b+ p 现在情况已不再如此。
$ @0 |9 o* W$ r # n5 w, e N) L
3 Z& v# U) l/ n( x 例如,当前使用的机器使用wg-quick脚本通过有线卫士协议连接到Mullvad虚拟接口。我很确定我的所有流量都通过Mullvad,但却无法从我的ip路由输出中看出这一点。 3 R6 {% ]% n: }* ~
" Q/ i- T9 v! Z+ h ' @ b$ e1 A8 w0 } `
默认路由似乎通过我的物理网络接口而不是虚拟接口定向所有流量。 3 h1 s/ s1 }9 k% `
) N: }: ^. B1 U3 m5 v4 w
8 B# m4 q8 c3 x4 J 通过这篇文章就来了解一下Linux路由是如何工作的。 + x f. E; [3 o/ I
% [* v0 Z3 B' e
3 H/ o: P$ a Q! T ~$ R/ X
2. 一个专业程序员的10年( E+ N$ l3 _* h- c) Y* `
! x' O- P; @+ G 1 R7 r0 Z3 T5 _! }. r a# x9 _
10年,对于一名程序员来说算是比较漫长的,在这10年中项目、工作经历了很多,也感悟了很多。
8 B" c1 H3 I& G% C* M9 } " {+ ^8 F4 o G
. O; s* i% T1 `7 g# x: `
作者是一名从事10年编程的程序员,从工作、技术等不同方面总结了自己的感悟,很有借鉴意义。 ( [0 A6 Q1 `$ C6 K
& d( F9 ~9 T, R
3 n5 X# S- l7 }1 L 举报/反馈 ~$ }# j2 b6 w' l. d1 \
8 w" Z. _" F# l+ w. S9 u+ W, h$ h- R; h% s/ ]# p/ Y- V; c+ o4 e
1 ^1 i# O/ ?5 P" x% x8 A& J k2 R K) T* M2 ~
0 H- l5 J# e. }
|