5 a! b( }0 b/ D& D4 b
5 _# g1 Y( x, @& W
DevWeekly收集整理每周优质开发者内容,包括开源项目、资源工具、技术文章等方面。
Z+ I' S8 V& ~; D
# h# r' b3 W# @: m, c# f% `3 E 3 L- ?7 E+ N0 O' i( J) l$ z& h8 h
每周五定期发布,同步更新到知乎:Jackpop 和公众号:平凡而诗意 。 4 w9 Q, r: u; f9 V. @' p- `- k
- l# K" `* C! o/ W
. L$ e+ Y/ a# g* P! B$ j 欢迎大家投稿,提交issue,推荐或者自荐开源项目/资源/工具/文章~ : @9 k: d' M9 t
" i* s H" t2 G D% s" D 1 W( t. W3 \ |. t
订阅方式:
* S% |! b3 s/ B/ S4 M( w8 r
% x: X. x Y8 b0 Z$ i
: g0 M4 K; l; W Star并收藏项目DevWeekly
/ Z) N' [& |& t0 R 关注知乎:Jackpop ' T- ^5 c2 v1 U" |3 d
关注并星标公众号:平凡而诗意 , P+ \9 r' S' q1 X' P3 n% `, R
, l5 R& h2 j' T8 O# ~" g% I8 t: O# ^. i1 k
7 h1 q0 J1 j6 t- u7 u# f2 M% O 进阶技术,优质资源,实用工具,欢迎关注公众号平凡而诗意! . `& J$ ~0 f! N/ S+ D
2 T' p9 B7 Y& h# D8 t" Z' o8 J
: C1 T$ l' \, J4 A
开源项目
/ Q5 m z' n6 X
; z0 a! @/ I1 q/ ]
% J' }* p8 c+ s4 Q 1. jetfuel
3 {6 g# W, |+ d: S1 _ $ n& l* X5 V) z1 H$ W
7 }6 X$ F+ v" i6 s6 `
PythonStar:104
3 L& w- {$ V+ J9 D% Z$ h / D0 Q8 W3 l, m- X$ v
$ v7 i9 ~' \& q% I5 g
3 U _( y, z6 H
+ z2 G0 b& ~" n7 c; F1 @, |# k 4 x. o! Q( b$ r. h Y2 M
Jetfuel是一种性能分析器,可以监视生产Python的性能,并使结果易于聚合和搜索。 & K, r; M& H' d/ W
4 h5 t! q- P8 r. a+ v( J
$ o8 ^# A S6 T 2. LovelyPlots2 g9 \3 G @+ ~# a' G& r' }2 Q" O$ H
! m( j0 m* q. w' ]) V8 m
; ?6 a$ b% D+ D8 j0 T0 B. ~ PythonStar:560 / \+ q1 E7 _& F) X- M! B2 J
. c- f) i* C& k/ [ 0 U. h# T2 f& S
6 T+ \4 o) X9 o+ i 6 c. ^( o' B( f& G2 {
% c& x; D: K, I( M LovelyPlots是一个包含matplotlib样式表的存储库,可以很好地格式化科学论文,论文和演示文稿的图形,同时使它们在Adobe Illustrator中完全可编辑。
: f# p# M" Q0 Q* N w; I
% u9 |4 u2 H7 j- [1 M6 O 6 k D1 S# l' [4 b8 A
此外,.svg导出选项允许图形自动调整其字体以适应文档的字体。例如,.tex文件中导入.svg插图将使用.tex文件中使用的文本字体自动生成。 ( _8 d3 P1 K0 [+ `& C) t
6 ? F- D. U) l9 W& o% O S- g# M
) C. V& P6 p0 ]9 V 3. tsuki
w1 \" ?3 @! U. q6 D9 X & w# ^! J4 }, J3 O1 x/ \) _7 l9 `
! Z/ X. [* Q3 _3 x2 d E q
PythonStar:58 G8 y- |. n- E+ A
( e" a3 S$ f% c' t
& T' O# V3 V8 k# ~" ?- b4 e+ f) d/ @ Tsuki是一个极简主义的开源社交媒体平台,使用Python构建。 $ w% }5 [; B ` H6 _! n3 _
2 @' A9 o# y! S
/ [ k0 K9 \& a
4. Xtra
& |& G% p+ l7 W4 x( n
3 t- U y. `8 `. g# W4 j
3 R4 J: H( _7 T KotlinStar:350
7 C; w) A' l1 o' j3 \; r : q3 q( w6 \) `! m
? n& {( k- f9 s8 S3 a+ m
Xtra是一款适用于安卓的Twitch播放器和浏览器。 6 b3 Q: y' r; ]) L A b
$ r% i7 w k& b3 {8 l
" n* \5 S5 u0 o 5. sbctl* f) C7 c0 Z" v2 d7 H
+ ~4 H- [) N" D, B4 U3 u3 _
; j& Z( ?. e" _' R4 W+ j GoStar:555
h* w. N/ q2 m8 A5 x" c
9 S% y6 W% J0 {& r0 r+ X+ a
# c( e: q5 q$ J" S / q. a0 L2 ]. e+ K8 w- {. l$ h, s
9 s5 b! w& I2 [! K8 |
' D1 ]- x, D6 y% Q0 q sbctl 旨在成为一个用户友好的安全启动密钥管理器,能够设置安全启动,提供密钥管理功能,并跟踪需要在启动链中签名的文件。 ' B; o1 K9 b9 v; w- n3 j! b
$ I/ H6 j6 r/ \, H- L& h: |
) i" H) Y: n8 q/ H% {4 A1 e+ }
6. cli
9 m2 |! Y5 o! h/ l( N& |5 j! K : Y4 k- c( W, a& d' K. Q
0 b8 b9 E2 h+ G$ Q$ O
GoStar:983
8 h5 \% e& ~9 O! f2 m
( C9 @# f& R+ H2 s6 k9 P/ @
; K% |3 y7 s0 X$ Z, @- n 用于 IPinfo API 的官方命令行工具。
2 G M) m4 M9 @
+ a3 b0 o! Q0 e) B. ^3 Z ( i4 e. I$ N- {4 U
7. thisisthewall, J5 R# u3 U: K" ~# a" v, v
3 v1 z. J1 T' \. u1 g6 s6 s/ K( |
( S% d, S) B/ w JavaScriptStar:14 ' o% v' E( `& R* F, m5 r8 I
. F7 {: \' N& m. ?+ e
( t: }% t" j) k m: D 使用此API,你可以在任何设备的屏幕上获取壁纸的图片。 3 q% R$ O, M( ~5 }
( A. ?, b& o9 Y/ k0 ~ p 4 c8 ~4 ^* m' \2 J
8. magic-regexp& v' Q5 ?. j- u) S/ h
( N% M# h1 x5 [6 O" a. p. K 8 n6 N6 ~+ Y6 G% B" M$ o
TypeScriptStar:1.4k
[$ ?' Y2 I# P' G" m( i
; V8 i. a2 S& [+ f+ J
3 a- E9 X8 G% Q. `- ?1 { 一种经过编译、类型安全、可读的正则表达式替代方案。 - Z. x+ w4 i4 o8 b/ o. Y" O& u
- }- Q, y% V+ N9 Q8 x7 v$ y
5 p6 A. T1 z/ C 9. frawk
- _2 Y. d. U; B$ o- s& A; V$ G5 ]' E+ _
u6 g. m/ W, A d3 l# N# a% R" I8 m0 H
RustStar:1k
+ Y% D; _/ T3 k2 C 2 A9 C4 ^0 l$ i! D) K9 _
) b0 j6 w! ]% u2 Z9 x( G/ W frawk是一种小型编程语言,用于编写处理文本数据的短程序。 1 }/ Q- I; `' c) Q t2 H3 N
% ^8 q! ~8 R" x3 Y$ V+ K$ q
8 u' O! ~$ A4 I2 @4 b4 j" H T 它类似于AWK语言,许多常见的Awk程序在传递给fruk时会产生等效的输出。如果你希望脚本像标准 Awk 字段一样处理转义的 CSV/TSV,或者希望脚本执行得更快,那么frawk会表现更好。 9 ^+ x4 O- C, O
( ~1 |! X, K# j5 Y/ ]: T
9 o7 w. J7 b) f$ d5 N5 O! c# M% W
10. Vale, c4 }+ X" m o7 N
" F1 Q# [( A, _, i5 B4 k
- M. n3 \+ N" c; d ScalaStar:1k
* ~" v6 P# o0 j8 `4 V5 ~; O) ~
+ k& U8 q& L3 N; \
; _ e) Q l3 g% Q4 G2 d6 D! f, d Vale是一种编程语言,其目标不仅是快速和内存安全,而且简单灵活。
* J2 N' N9 n1 H. c
" G: j8 T' \, D# _6 x
7 Y8 `1 z4 y0 _6 [( J7 y! k 资源工具' @9 l2 [, ~, O0 C4 }/ b
& o5 Q8 Y; S1 r$ [" D$ x9 l- u
0 a6 z# o$ u" d5 G+ ] 1. GitExplorer% c7 g) k2 r$ q! d$ w4 y7 N1 [
4 ]' B' T& J, L/ _! p: ^ " x' s3 z2 q7 z
! X6 G; T% r- ]
2 X7 O% W! Z% `. w8 l* @: J : j; d$ L2 Y0 Q2 o
一款Git命令浏览器,只需要选择想执行的动作,它就可以快速生成命令。 1 c- @" C+ M+ ~+ B5 B' d
5 V; |6 [4 a3 m- D+ y' i: n5 l
, W. Z1 Z5 H) `% F4 @% m
2. Bookworm
0 [5 X% p/ z% O" u6 q 3 c! \. D5 T9 [/ x
: ~: [8 k7 e1 h4 V( F/ A# W
8 [6 `( S5 c0 R6 t% v" F- r7 a 3 K! K/ P2 t6 u
; C) ]+ N) p$ \ 适用于 Linux 的简单而功能丰富的电子书阅读器 + w( S6 }- c$ d
6 w' i( }4 q! O4 Z6 X, f/ p - u) H5 \) z! t$ @" |3 b
3. gitlogs3 [ T/ M4 M6 C: S6 [
0 K4 Z) t2 O! j0 ?% \
8 R( S. w' [# U2 i" o 能够及时准确的发现最新优秀的Github项目。
2 i) ?0 H; d) _' \
2 R5 W' T$ D% c! o- M/ o1 P " }. ?8 g; g3 D: Q$ s' j9 r
4. readme.so
; K$ B( b' ~' }4 T) F - g6 m3 o. Q ]% K
( Z$ ~3 j$ ~5 o" i- u 4 [2 i; m* W F5 u; |7 @ ^' g5 h
3 v! F5 r% D* K
" w7 L1 W# t+ B readme是Github开源项目中非常简单的文件,那么为什么有的readme写的那么精美?
" [' g: ~; O" I: l ' [8 R7 P8 h8 r A2 Q7 v
0 c( T j+ b. J; D7 \
这款项目就可以通过简单的选择快速生成美观的readme。 D0 s# O# b8 F# X8 F& Y
- ]% r* c# t9 e5 r( f
2 v, ]4 s( l8 J: }. H 5. learngitbranching% v% F" J: F* O8 e. O( a7 E# j
% \* W) G$ h: ^0 F9 S , J r: [0 I5 V# m9 G) @
8 t$ x( P( Q' W5 j& @ 2 ^2 c1 g4 X* g W. p9 R- ]: [
' a& ?1 g* O0 l% m6 r. i 一款在线的Git分支学习工具,通过这款工具可以可视化的解释常用命令,更有助于理解。
- n( I7 t7 w- R# B8 ~" j# B
: u3 a" H" `/ U( E7 h$ |( e
# ~( A3 S2 y( A. U# e 技术文章0 S: C' K: F$ ^" N6 _
* ^& z. Q* {3 q& H0 a) W
" L( O+ p/ s9 m" m6 M- K6 [ 1. 了解Linux路由
: s0 z* o8 @3 D" a) Q / `$ _6 h8 p/ Y n) A
% C" x3 s, r! ~1 x5 W
过去只需在我的Linux终端中输入路route(或者后来的ir route),就可以准确了解我的所有路由。 ! }/ o/ w" \+ N; c6 Q' q
! @4 r" _2 k: M9 X
( F7 O S/ L# G
现在情况已不再如此。
, r8 }! X6 W1 d" }3 u+ \
! c7 W" W7 Y2 P. v % R5 O, ^8 I* B
例如,当前使用的机器使用wg-quick脚本通过有线卫士协议连接到Mullvad虚拟接口。我很确定我的所有流量都通过Mullvad,但却无法从我的ip路由输出中看出这一点。 l( Z6 K% l J9 O3 U' j
% v* q$ R. C, }, F, c) a, t
8 ~; r# A- [; r- G. k
默认路由似乎通过我的物理网络接口而不是虚拟接口定向所有流量。
$ i& i3 f: X. ?$ L + E" R8 E# J$ V0 Z1 z6 u
: r3 Q+ \! O# \7 r7 Z 通过这篇文章就来了解一下Linux路由是如何工作的。 * G4 ~5 f# x) @3 x( O, Q
A9 h& k: H. ]2 |
* M _$ x Z* v4 r7 J* W" y 2. 一个专业程序员的10年% w2 T4 u+ f& `' Z4 g! T
1 D+ m- T2 T" i- A3 y1 V O2 V) U
1 R' |7 Y. P+ }3 i, D 10年,对于一名程序员来说算是比较漫长的,在这10年中项目、工作经历了很多,也感悟了很多。
0 A# u3 m/ {5 Q2 u9 [ : c& {# V6 D2 a3 u/ }& ]1 z
& H# L# e4 J+ O N; W# s
作者是一名从事10年编程的程序员,从工作、技术等不同方面总结了自己的感悟,很有借鉴意义。 $ g }% u+ s+ ]# \' Y
. t! F @- a: Y' h) \, B9 H2 p5 L" w , h) }- R( M2 z- ]6 W9 \ w2 m+ R# \5 ?$ i
举报/反馈
& k1 N8 r5 ~" L" Z' P
6 |+ _" X3 `6 Y* y
/ i g3 E3 l" L: [( y+ O
# m+ m) j: y: d9 b! a9 W8 f" c
6 \- b9 ]& m" |3 h9 w! w" A# T# O& ?
& M9 O: X6 W* {' X! J |