1
0
DavidZhang73.github.io/search.xml

139 lines
67 KiB
XML
Raw Normal View History

2020-01-27 20:30:21 +08:00
<?xml version="1.0" encoding="utf-8"?>
<search>
2020-02-03 19:45:35 +08:00
<entry>
<title>Windows 包管理器 - Scoop</title>
<link href="/windows-package-manager-scoop/"/>
<url>/windows-package-manager-scoop/</url>
2020-02-04 21:40:19 +08:00
<content type="html"><![CDATA[<p>一直以来作为开发者Windows 相较于 Linux 都缺少两样重要的工具,</p><ol><li><strong>好用</strong>的 Shell - 现在可以用 PowerShell Core 或者 WSL 暂时代替。</li><li><strong>好用</strong>的包管理器 - 在开发时 C/Cpp 的库可以用<a href="https://github.com/microsoft/vcpkg" target="_blank" rel="noopener">VCPKG</a>,而日常使用的软件就可以使用本文的主角<a href="https://github.com/lukesampson/scoop" target="_blank" rel="noopener">Scoop</a> 了。</li></ol><h2 id="安装"><a class="header-anchor" href="#安装"></a>安装</h2><blockquote><p>按照官网的<a href="https://github.com/lukesampson/scoop/wiki/Quick-Start" target="_blank" rel="noopener">教程</a>,只能使用 PowerShell 而不是 CMD 进行安装。</p></blockquote><pre><code class="language-powershell"># 指定 Scoop 的安装路径,之后安装的 APP 会安装在 path/to/scoop/apps/$env:SCOOP='path/to/scoop'[environment]::setEnvironmentVariable('SCOOP',$env:SCOOP,'User')# 安装 ScoopInvoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')</code></pre><h3 id="Buckets"><a class="header-anchor" href="#Buckets"></a><a href="https://github.com/lukesampson/scoop/wiki/Buckets" target="_blank" rel="noopener">Buckets</a></h3><p>Scoop 只是一个包安装器,我们还需要软件源。</p><p>使用,</p><pre><code class="language-powershell">scoop bucket known</code></pre><p>可以列出所有官方已知并推荐的源,使用,</p><pre><code class="language-powershell">scoop bucket add &lt;bucket-name&gt;</code></pre><p>即可安装源。</p><ol><li><code>main</code> - Scoop 官方默认主源,里面所有的软件符合<a href="https://github.com/lukesampson/scoop/wiki/Criteria-for-including-apps-in-the-main-bucket" target="_blank" rel="noopener">标准</a></li><li><code>extras</code> - Scoop 官方扩展你源,里面的软件不完全符合标准。</li><li><code>versions</code> - 可选版本的源。</li><li><code>nightlies</code> - nightly 软件源,不推荐。</li><li><code>nirsoft</code> - <a href="https://nirsoft.net/" target="_blank" rel="noopener">Nir Sofer</a>开发的软件。</li><li><code>php</code> - 不同版本的 php。</li><li><code>nerd-fonts</code> - <a href="https://github.com/ryanoasis/nerd-fonts" target="_blank" rel="noopener">Nerd Fonts</a> 和一些其他字体。</li><li><code>nonportable</code> - 非便携软件(可能需要 UAC</li><li><code>java</code> - 不同版本的 JDKJRE。</li><li><code>games</code> - 开源或免费的游戏以及游戏工具。</li><li><code>jetbrains</code> - JetBrains 全家桶。</li></ol><h2 id="使用"><a class="header-anchor" href="#使用"></a>使用</h2><p>和 Ubuntu 的 aptCentOS 的 yum 基本相同。</p><pre><code class="language-powershell"># 搜索scoop search &lt;package-name&gt;# 查看主页scoop home &lt;package-name&gt;# 安装scoop install &lt;package-name&gt;# 更新scoop update &lt;package-name&gt;# 卸载scoop uninstall &lt;package-name&gt;# 更新 Scoop所有源所有软件包scoop update *# 列出所有软件包scoop list</code></pre><h2 id="推荐的软件包"><a class="header-anchor" href="#推荐的软件包"></a>推荐的软件包</h2><h3 id="aria2"><a class="header-anchor" href="#aria2"></a><a href="https://aria2.github.io/" target="_blank" rel="noopener">aria2</a></h3><p>基本上常见的所有开源下载软件都是基于这个,不但可以跑在 x86 的电脑上, mips 的路由器arm 的手机都不是问题。</p><p>需要注意的是,安装 aria2 后Scoop 的默认下载器会自动改成 aria2并开启多线程下载。</p><h3 id="7zip"><a class="header-anchor" href="#7zip"></a><a href="https://www.7-zip.org/" target="_blank" rel="noopener">7zip</a></h3><p>界面超原始,但是替代个收费的 WinRAR以及一众国内带广告的解压软件不是问题。同时 Scoop 有时候也依赖于 7zip 来解压。</p><h3 id="adb"><a class="header-anchor" href="#adb"><EFBFBD>
2020-02-03 19:45:35 +08:00
<categories>
<category> Productivity </category>
</categories>
<tags>
<tag> Open-Source </tag>
</tags>
</entry>
2020-02-01 21:30:36 +08:00
<entry>
<title>颜值是第一生产力 - Windows Terminal</title>
<link href="/beauty-is-productivity-windows-terminal/"/>
<url>/beauty-is-productivity-windows-terminal/</url>
2020-02-04 21:40:19 +08:00
<content type="html"><![CDATA[<p><img src="//davidz.cn/static/blog/2020-01-31-beauty-is-productivity-windows-terminal/cmd.png" alt="CMD"></p><p>记得我最早的时候用 Visual Studio 写了第一个 Hello World 程序,激动的点运行,出来个黑框一闪就过去了,啥也没看到。</p><p><img src="//davidz.cn/static/blog/2020-01-31-beauty-is-productivity-windows-terminal/powershell.png" alt="PowerShell"></p><p>后来偶然了解 PowerShell又变成了一个蓝色的框还会有进度提示红的黑的突兀得很😢。</p><p><img src="//davidz.cn/static/blog/2020-01-31-beauty-is-productivity-windows-terminal/bash.png" alt="bash"></p><p>后来上了大学终于在 Ubuntu 上见到了 bash完全改变了我对 Shell 的认知。</p><p>傻傻分不清 Shell 和 Terminal 的我,激动的打开 Git 自带的 bash它却长成了这样。</p><p><img src="//davidz.cn/static/blog/2020-01-31-beauty-is-productivity-windows-terminal/git-bash.png" alt="Git-Bash"></p><p>一番优化之后也不是不能用,后来还入坑了 <a href="https://github.com/cmderdev/cmder" target="_blank" rel="noopener">Cmder</a>,用于替代 <a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/" target="_blank" rel="noopener">Putty</a> 那个更加原始的 terminal。</p><p>终于2019 年微软开始进入开源世界,为我们带来了颜狗的胜利: <a href="https://github.com/microsoft/terminal" target="_blank" rel="noopener">Windows Terminal</a></p><iframe src="//player.bilibili.com/player.html?aid=51700920&cid=90502402&page=1&high_quality=1&danmaku=0" allowfullscreen="true" width="100%" height="600" scrolling="no" frameborder="0" sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts" ></iframe><h2 id="下载-安装"><a class="header-anchor" href="#下载-安装"></a>下载&amp;安装</h2><blockquote><p>截止 2020 年 2 月 1 号Windows Terminal 还处在测试阶段,但是已经相对比较完善了,正常使用没有什么大问题了。</p></blockquote><h3 id="方法-1-通过-Windows-Store"><a class="header-anchor" href="#方法-1-通过-Windows-Store"></a>方法 1: 通过 Windows Store</h3><p><a href="https://www.microsoft.com/en-us/p/windows-terminal-preview/9n0dx20hk701" target="_blank" rel="noopener">点击这里安装</a></p><h3 id="方法-2-通过-Github"><a class="header-anchor" href="#方法-2-通过-Github"></a>方法 2: 通过 Github</h3><p>在 Github 的 <a href="https://github.com/microsoft/terminal/releases" target="_blank" rel="noopener">Release</a> 中下载最新的那个双击安装就好啦,和方法 1 是一样的。</p><h3 id="方法-3-通过-Scoop"><a class="header-anchor" href="#方法-3-通过-Scoop"></a>方法 3: 通过 Scoop</h3><blockquote><p><strong>不推荐</strong><br>用 wt 命令启动时会有一个 CMD 窗口,逼死强迫症。</p></blockquote><p>Windows Terminal 在 Scoop 的 extras bucket 里面。</p><pre><code class="language-powershell">scoop install windows-terminal</code></pre><h2 id="配置"><a class="header-anchor" href="#配置"></a>配置</h2><p>通过配置,最终 terminal 可以长成这个样子。</p><p><img src="//davidz.cn/static/blog/2020-01-31-beauty-is-productivity-windows-terminal/windows-terminal.png" alt="windows terminal"></p><p>现阶段只有 json 格式的配置文件,还没有图形化配置界面,项目组说正式版会有,最终应该会与 Vscode 的配置一样。</p><p>根据官网给出的 <a href="https://raw.githubusercontent.com/microsoft/terminal/master/doc/cascadia/profiles.schema.json" target="_blank" rel="noopener">Profiles Schema</a>,我们可以很快的配置我们自己定制化的 Terminal。</p><p>下面是我自己用的配置文件,</p><pre><code class="language-json">{ &quot;$schema&quot;: &quot;https://aka.ms/terminal-profiles-schema&quot;, &quot;defaultProfile&quot;: &quot;{807502AB-0C92-4DF7-9C7C-1E9F7A2A47DE}&quot;, // 默认配置的 GUID 和下面的 profiles.list 中的一个相同 &quot;alwaysShowTabs&quot;: true, // 无<>
2020-02-01 21:30:36 +08:00
<categories>
<category> Productivity </category>
</categories>
<tags>
<tag> Microsoft </tag>
<tag> Open-Source </tag>
<tag> Terminal </tag>
</tags>
</entry>
2020-01-27 20:30:21 +08:00
<entry>
<title>浪潮实习</title>
<link href="/inspur-internship/"/>
<url>/inspur-internship/</url>
2020-02-03 19:45:35 +08:00
<content type="html"><![CDATA[<p>到了期末都说要找个实习的工作,我也跟个风😂。</p><p>我是主要是在<a href="https://www.shixiseng.com/" target="_blank" rel="noopener">实习僧</a>上找的(就当免费做个广告吧),我住在美丽的泉城济南,<s>这个地方好就好在</s>,咳咳咳,我大概填了填简历,可能是没啥亮点,投了三四家都不要我😢。</p><p>我分析原因大概有以下几条:</p><ol><li>我最喜欢最熟练的语言是 Python但是现在国内的环境Python 很少作为 Web 的后端,主要是用在机器学习(大数据分析,量化交易之类的)方面。济南大多数都是 Java 和 Cpp 岗。</li><li>我个人没有参加过 acm 之类的比赛,除了几个项目没法有效证明我的能力。</li><li>我这个寒假只能干 2 个月,<s>其实最终只干了一个半月</s></li><li>我是个大三的学生。可能培养了对于公司来说也没啥意义吧。</li></ol><p>最后还是十分感谢秦老师❤️,不但收了我到浪潮实习,还在实习过程中给了我很多帮助和指导。</p><p>下面列一列我学习了解的项目工具之类的。</p><h2 id="CppMicroServices"><a class="header-anchor" href="#CppMicroServices"></a><a href="https://github.com/CppMicroServices/CppMicroServices" target="_blank" rel="noopener">CppMicroServices</a></h2><p>我们主要做了一个插件管理器,是基于 CppMicroServices 的二次开发。这是一个 Cpp 的微服务框架,主要实现了 Bundle 的全生命周期管理,注册,启动,停止,状态管理等。</p><h2 id="CLion"><a class="header-anchor" href="#CLion"></a><a href="https://www.jetbrains.com/clion" target="_blank" rel="noopener">CLion</a></h2><p>大爱 Jetbrains 全家桶,我实习的第一件事大概就是给组里所有人安利了 CLion 吧。与宇宙第一 IDE Visual Studio 相比最突出的优点有</p><ol><li>精美的全功能编辑器。不是我吐槽VS 的编辑器为了向下兼容现在甚至已经落后 VSCode 了,这还是曾经的宇宙第一 IDE 嘛。举一个简单的例子,连字功能连个开关都找不到,重启 VS 没成功,重启电脑就成功了?再加上没有拼写检查?没有自动注释补全?没有缺陷提示?你可能觉得没什么,但是这些都是 CLion 的自带功能啊。</li><li>丰富完善的插件生态。虽然感觉比不上 VSCode但是相对于 VS😄。</li><li>CMake 项目的原生支持。VS 虽然也有,但是感觉应该还处在开发状态。</li><li>SVN &amp; Git 的原生支持。</li><li>远程开发功能。因为我们要求项目有跨平台能力所以需要在多个平台切换。VS 虽然也有这个功能,但是也是感觉在开发状态,相比 CLion 少了很多配置的灵活性。</li><li>丰富的主题。VS 硬伤。</li></ol><p>综上所述,对于 Cpp 的 CMake 跨平台项目,还是推荐使用 CLion 作为 IDE。</p><p>我猜测 Visual Studio 是宇宙第一 IDE 应该说的是对于 C# 项目吧。</p><h2 id="CMake"><a class="header-anchor" href="#CMake"></a><a href="www.cmake.org">CMake</a></h2><p>以前的 C/Cpp 项目对我来说就是个谜解决方案、项目傻傻分不清楚Visual Studio 写单文件程序,解算法题还是很溜的,但是两个文件以上就很晕。</p><p>傻瓜式的配置的优点和确定都是非常显著的,好用是好用,用好是真的难。</p><p>CMake 作为这几年流行的跨平台构建工具,实现了配置式构建,终于让我理解了大学里 Linux 老师讲的程序编译链接都是些啥。</p><p>下面我简单写一写 CMake 的入门知识。</p><h3 id="常见编译器"><a class="header-anchor" href="#常见编译器"></a>常见编译器</h3><table><thead><tr><th style="text-align:center">Platform</th><th style="text-align:center">Windows</th><th style="text-align:center">Linux</th></tr></thead><tbody><tr><td style="text-align:center">GNU(open source)</td><td style="text-align:center">MinGW, MinGW-w64</td><td style="
2020-01-27 20:30:21 +08:00
<categories>
<category> Internship </category>
</categories>
<tags>
2020-02-01 21:30:36 +08:00
<tag> Cpp </tag>
2020-01-27 20:30:21 +08:00
</tags>
</entry>
<entry>
<title>ANU COMP2310(2019) Assignment1</title>
<link href="/anu-comp2310-assignment1/"/>
<url>/anu-comp2310-assignment1/</url>
2020-02-04 21:40:19 +08:00
<content type="html"><![CDATA[<blockquote><p><strong>敬告</strong></p><div style="color: red">本博客请供参考,请不要抄袭。</div></blockquote><p>这是 ANU <a href="http://courses.cecs.anu.edu.au/courses/COMP2310/" target="_blank" rel="noopener">COMP2310</a>的第一次大作业,历时一个月左右,也是这个学期我写的最认真的一次作业,所以在博客搭建伊始,我先把这个记录下来。</p><h2 id="问题"><a class="header-anchor" href="#问题"></a>问题</h2><p>根据<a href="//davidz.cn/static/blog/2020-01-11-anu-comp2310-assignment1/assignment-1.pdf" target="_blank" rel="noopener">Assignment 1 PDF</a>中的描述,大概的意思就是在三维空间中有许多的<code></code>,具有速度和加速度(都是三维向量),而且不管是否加速,都会消耗一定的能量,当然加速也会加快能量的消耗。然后就是有一个或多个<code>能量球</code>,当然也是在运动中的,同样具有速度和加速度。当<code></code><code>能量球</code>靠近的时候,<code></code>能够获取到<code>能量球</code>的信息(加速度,速度,位置),并且加满能量,而当<code></code><code></code>靠近的时候,能够互相交换一次信息,这个信息的内容是自己定义的。<code></code>在能量耗尽后就消失了,而我们需要做的就是在一定的时间内,保证尽可能多的<code></code>存活。</p><h2 id="分析"><a class="header-anchor" href="#分析"></a>分析</h2><p>其实这个问题最关键的地方在于,没有一个中央的控制节点,也就是说对于每一个<code></code>来说都是完全平等且独立的。所以我们需要他们能够尽可能的一直处在能够交流的状态,并且都能知道<code>能量球</code>在哪里。</p><blockquote><p><strong>注意</strong><br>这个问题在没有中央控制时<strong>不存在</strong>最优解,我们只能无线接近最优解。<br>我采用的是<strong>球形模型</strong>,这个模型参考于这次作业的 <a href="https://cs.anu.edu.au/courses/comp2310/1-Labs-Assignments.html" target="_blank" rel="noopener">Examples</a><br>在和我的同学互相交流时,这个模型是最普遍的,解决方案是最多的,效果也是相对最好的。</p></blockquote><p><img src="//davidz.cn/static/blog/2020-01-11-anu-comp2310-assignment1/figure1.svg" alt="3D球形模型"></p><p><img src="//davidz.cn/static/blog/2020-01-11-anu-comp2310-assignment1/figure2.svg" alt="2D球形模型"></p><p>球形模型设计的两大重点是:</p><ol><li>所有的<code></code>都均匀平等地分布在球面上(球面是个相对概念,可以是球壳???)。</li><li>所有的<code></code>都能随时交流,也就是说大家形成一个通讯网络。</li></ol><h2 id="实现"><a class="header-anchor" href="#实现"></a>实现</h2><blockquote><p><strong>注意</strong><br>所有的 Ada 代码都是示意性的,有可能不能直接在项目中使用。</p></blockquote><h3 id="Stage-A-B"><a class="header-anchor" href="#Stage-A-B"></a>Stage A&amp;B</h3><p>这个阶段中,能量球只有一个,我们让所有的<code></code>都围绕这个能量球运动来实现一个基本的球形模型。</p><h4 id="基本程序结构Basic-Program-Structure"><a class="header-anchor" href="#基本程序结构Basic-Program-Structure"></a>基本程序结构Basic Program Structure</h4><p>程序基本的结构是一个死循环,每次循环分为 4 个步骤:</p><ol><li>判断<code>能量球</code>信息</li><li>发送信息</li><li>接受信息</li><li>设置目的地和油门</li></ol><h4 id="消息结构Message-Structure"><a class="header-anchor" href="#消息结构Message-Structure"></a>消息结构Message Structure</h4><p>最基础的消息需要包括:</p><ol><li><code>能量球</code>的信息</li><li>获得<code>能量球</code>信息的时间戳</li></ol><h4 id="中央控制Central-Control"><a class="header-ancho
2020-01-27 20:30:21 +08:00
<categories>
<category> Study </category>
</categories>
<tags>
<tag> ANU </tag>
2020-02-01 21:30:36 +08:00
<tag> Ada </tag>
2020-01-27 20:32:37 +08:00
2020-01-27 20:30:21 +08:00
</tags>
</entry>
<entry>
<title>Hello World</title>
<link href="/hello-world/"/>
<url>/hello-world/</url>
2020-02-03 19:45:35 +08:00
<content type="html"><![CDATA[<p>哈哈哈,这是一个经典的测试页面。</p><p>一直以来都想拥有一个自己的博客,从<a href="https://wordpress.org/" target="_blank" rel="noopener">WordPress</a>开始,到<a href="http://typecho.org/" target="_blank" rel="noopener">Typecho</a>,再到<a href="https://halo.run/" target="_blank" rel="noopener">Halo</a>,甚至中途尝试用 Django 自己实现了一个(不过样子也太丑了),虽然说一直在捣鼓博客,但是从来都是安装=&gt;部署=&gt;安装插件=&gt;选择主题=&gt;发布第一篇文章,然后就没有然后了。</p><p>今天我突然看到<a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a>的<a href="https://github.com/TriDiamond/hexo-theme-obsidian" target="_blank" rel="noopener">Obsidian</a>主题,我觉得时机到了,毕竟颜值是第一生产力。</p><p>给自己列一个简单的 TODO LIST 吧。</p><ul><li>[x] 完善 BLOG</li><li>[x] COMP2310 作业整理</li><li>[x] 浪潮实习</li><li>[x] 终端与 WSL</li></ul><p>希望这个寒假能做完这些吧。</p><p>就这样。</p>]]></content>
2020-01-27 20:30:21 +08:00
<categories>
<category> Personal </category>
</categories>
<tags>
<tag> Others </tag>
</tags>
</entry>
</search>