PageSourceSearch

https://lideguang.com/article/detail/weekly-8

html lideguang.com collected 2026-09-24 14:46:38 UTC 9,079 bytes, 135 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <meta http-equiv="X-UA-Compatible" content="ie=edge">
7    <title>[技术周刊 v8] JavaScript2023 调查/现状-漫说前端-技术博客</title>
8    <meta name="description" content="JavaScript2023 调查/现状,如何在 Mac 上合并 PDF,好书推荐:《黑客与画家》,Vue 设计模块">
9    <meta name="keywords" content="arts, ARTS, alogrithm,算法,review,阅读,tip,技巧,share,分享">
10    <link rel="stylesheet" href="/static/css/layout.css" />
11    <link rel="stylesheet" href="/static/css/hljs.css" />
12    <style>
13        
14    </style>
15    <link rel="shortcut icon" href="/static/favicon.ico" type="image/x-icon">
16    <link rel="icon" href="/static/favicon.ico" type="image/x-icon">
17    <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet">
18    
19    <link href="https://cdn.bootcss.com/github-markdown-css/2.10.0/github-markdown.min.css" rel="stylesheet">
20
21</head>
22<body>
23<div class="container">
24    <div class="header">
25    <div class="title">
26        漫说前端
27        <span class="code">[ The road to be a better programmer. ]</span>
28    </div>
29    <nav class="clearfix">
30        <ul>
31            <li><a href="/">文章</a></li>
32            <li><a href="/about">关于</a></li>
33            
34            <li><a href="https://github.com/Deguang" target="_blank">Github</a></li>
35        </ul>
36    </nav>
37</div>
38
39
40
41    <section class="content">
42        
43    <article>
44        <h1 class="page-title">[技术周刊 v8] JavaScript2023 调查/现状</h1>
45        <div class="article-content markdown-body">
46            <blockquote>
47<p><a href="https://blog.lideguang.cn/article/detail/what-is-arts">什么是ARTS打卡?</a></p>
48</blockquote>
49<h2 id="algorithm-">Algorithm 算法</h2>
50<ul>
51<li><a href="https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/">108. 将有序数组转换为二叉搜索树</a><blockquote>
52<p>数组是有序的,取中位数作为root,左右两侧各自递归</p>
53</blockquote>
54</li>
55</ul>
56<pre><code class="language-typescript"><span class="hljs-keyword">function</span> sorted<span class="hljs-constructor">ArrayToBST(<span class="hljs-params">nums</span>: <span class="hljs-params">number</span>[])</span>: TreeNode <span class="hljs-pattern-match">| null {
57    <span class="hljs-keyword">if</span> (nums.length <span class="hljs-operator">==</span>= 0) return null;
58
59    const mid = <span class="hljs-constructor">Math</span>.floor(nums.length <span class="hljs-operator">/</span> 2);
60    const root = <span class="hljs-keyword">new</span> <span class="hljs-constructor">TreeNode(<span class="hljs-params">nums</span>[<span class="hljs-params">mid</span>])</span>;
61    root.left = sorted<span class="hljs-constructor">ArrayToBST(<span class="hljs-params">nums</span>.<span class="hljs-params">slice</span>(0, <span class="hljs-params">mid</span>)</span>);
62    root.right = sorted<span class="hljs-constructor">ArrayToBST(<span class="hljs-params">nums</span>.<span class="hljs-params">slice</span>(<span class="hljs-params">mid</span> + 1)</span>);
63
64    return root;
65};</span></code></pre>
66<h2 id="review-">Review 英文阅读</h2>
67<p>Article: </p>
68<ul>
69<li><a href="https://survey.devographics.com/en-US/survey/state-of-js/2023">2023 年 JavaScript 现状调查问卷</a></li>
70</ul>
71<p>Review: </p>
72<blockquote>
73<p>JavaScript 从最初的浏览器语言,到 NodeJs 进行服务端开发,在不同的 Web 框架、服务端框架的加持下,逐步完备。2023年的 JS 生态还存在哪些问题?大家可以填写这份问卷来找出 JS 的新内容、旧内容、以及对未来的期待</p>
74</blockquote>
75<p><img src="https://res.cloudinary.com/deguang/image/upload/v1701612059/weekly-8/2023js.jpg" alt="state-of-js-2023"></p>
76<blockquote>
77<p>通过问卷还能学习到自己没有使用过的 feature ????</p>
78</blockquote>
79<p><img src="https://res.cloudinary.com/deguang/image/upload/v1701612059/weekly-8/2023js2.jpg" alt="state-of-js-2023-2"></p>
80<h2 id="tip-">Tip 技术技巧</h2>
81<ul>
82<li>如何在 Mac 上合并 PDF</li>
83</ul>
84<p>最近工作中需要将多个 PDF 合并到一起,第一个想到的是在线合并工具,但由于文件涉及隐私,对外部工具心存疑虑。搜索下
84发现 Mac 上的预览工具可以快速合并 PDF:</p>
85<ol>
86<li>在 Mac 上的“预览” App  中,打开想要合并的 PDF。</li>
87<li>在每个打开的 PDF 中,选取“显示”&gt;“缩略图”以在边栏中显示页面缩略图。</li>
88<li>将要添加的缩略图拖到其他 PDF 的缩略图边栏中。按住 Command 键点按以选择不相邻的缩略图。</li>
89<li>你可以将页面添加到文稿的结尾或文稿的页面之间。拖移缩略图以重新排序。</li>
90</ol>
91<p>参考:<a href="https://support.apple.com/zh-cn/guide/preview/prvw43696/mac">在 Mac 上的“预览”中合并 PDF - 官方 Apple 支持 (中国)</a></p>
92<h2 id="share-">Share 分享</h2>
93<ul>
94<li>好书推荐:<a href="https://book.douban.com/subject/6021440/">《黑客与画家》</a>
95<img src="https://res.cloudinary.com/deguang/image/upload/v1701610157/weekly-8/835shots_so.jpg" alt="黑客与画家"></li>
96</ul>
97<p>这本书是硅谷创业之父Paul Graham 的文集,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。书中的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。</p>
98<p>适合所有程序员和互联网创业者,也适合一切对计算机行业感兴趣的读者。</p>
99<ul>
100<li><a href="https://www.patterns.dev/vue/components">Vue 设计模块</a>
101<img src="https://res.cloudinary.com/deguang/image/upload/v1701609931/weekly-8/vue-pattern.jpg" alt="vue-patterns"></li>
102</ul>
103<p>理解和利用 Vue 模式可以极大地帮助编写干净、高效和可维护的代码。在此站点中,我们将介绍流行的 Vue 特定模式和行为,其中涵盖以下概念:Composables、Script Setup、状态管理、Provide/Inject、动态组件等,做更好的 Vue 开发者。</p>
104
105        </div>
106        <div class="info">
107            作者:Deguang <br>
108            创建时间:2023-12-03 <br>
109            修改时间:1970-01-01
110        </div>
111        <div class="category-search">
112            类别:<a href=/?category=9>Weekly</a>
113        </div>
114    </article>
115
116    </section>
117
118    
119<div class="footer">
120    Copyright 2019 LiDeguang ( <a href="/cdn-cgi/l/email-protection#fa989f8e8e9f88a59693ba96938c9fd4999597"><span class="__cf_email__" data-cfemail="e1838495958493be8d88a18d889784cf828e8c">[email&#160;protected]</span></a> ).
121    Licensed under <a target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh" rel="license">BY-NC-ND 4.0</a> unless otherwise specified.
122</div>
123
124</div>
vendor: 110 bytes, lines 124-126
124
125
126<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
126<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" type="1653836405ecc9eb8dfc800c-text/javascript"></script>
126
127    
127<script type="1653836405ecc9eb8dfc800c-text/javascript">
128       (adsbygoogle = window.adsbygoogle || []).push({
129             google_ad_client: "ca-pub-4469314328254819",
130                 enable_page_level_ads: true
131                           });
132    </script>
vendor: 143 bytes, lines 132-133
132
133<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="1653836405ecc9eb8dfc800c-|49" defer></script>
133<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"8285dfd51c62454ea754e396b4d4bea1","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 133
133
134<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a40294673f34880c',t:'MTc5MDI2MTE5Nw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
134</body>
135</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.