傻猫网络日志 Samool's blog - 二十年老博客 - 工具
type: channel
link: https://www.samool.com/tag/%E5%B7%A5%E5%85%B7/
items: 推荐工具：开源免费的OCR工具-视频下载工具
items: 80+款AI工具，让数月工作在数分钟内完成
items: 开源免费，平替微软Power BI的商业智能系统
items: 神器WindTerm斩获26.7K星，它专为开发者和运维工程师打造，可以极大地提升工作生产力
items: AI Agents开源工具栈全解析~
items: SQL Server 2008 评估期已过的解决办法
items: 马云最新演讲全文2020-9-30
items: Golang 汇编入门知识总结
items: 用了多年的自动升级小工具《KDBOSS升级助手》
items: 《轻武CRM微客》又双叒叕升级了

推荐工具：开源免费的OCR工具-视频下载工具
type: item
date: 2025-10-06T08:48:33+08:00
description: AI摘要 本文介绍了两款开源免费工具：Text Grab和ytDownloader。Text Grab是一款OCR工具，能够识别屏幕上任何可见文字并直接复制到剪贴板，基于Windows内置的OCR API实现，支持全屏截取、框选识别、文本编辑和快速查找等多种工作模式。ytDownloader是一款视频下载工具，支持YouTube、Facebook、Instagram、TikTok、Twitter等主流平台，还内置了硬件加速和视频压缩功能，支持批量下载整个播放列表，以及提供字幕下载和时间范围等自定义选项。这两款工具均可在GitHub上找到。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); Text Grab 这款开源免费的 OCR 工具想要获取图片里的文字、或视频的字幕，有时候经常需要一个字一个字手动输入，颇为麻烦。最近发现 Text Grab 这款开源免费的 OCR 工具，能够识别屏幕上任何可见文字并直接复制到剪贴板。基于 Windows 内置的 OCR API 实现，无需联网，支持全屏截取、框选识别、文本编辑和快速查找等多种工作模式。GitHub：http://github.com/TheJoeFin/Text-Grab主要功能：全屏模式：框选任意区域或单击单词即可提取文字；抓取框模式：可调整大小的透明窗口，随时定位识别文字；文本编辑窗口：纯文本编辑器，支持大小写转换、去重、正则提取等；快速查找模式：存储常用文本片段，通过快捷键快速调用；批量处理：支持文件夹内所有图片的批量文字识别；命令行支持：可通过命令行参数启动不同模式。可从 Microsoft Store 或 GitHub 下载安装，也支持 scoop 和 choco 包管理器安装。功能强大的视频下载工具：ytDownloaderGitHub 上看到一个功能强大的视频下载工具：ytDownloader，完全开源免费，轻松下载各大平台的视频或音频。支持 YouTube、Facebook、Instagram、TikTok、Twitter 等主流平台，还内置了硬件加速和视频压缩功能。GitHub 地址：http://github.com/aandrew-me/ytdownloader除此之外，还可以批量下载整个播放列表，以及提供字幕下载和时间范围等自定义选项。提供了开箱即用安装包，支持 Windows、macOS 和 Linux 系统，有需要的同学可以下载对应的系统体验。

80+款AI工具，让数月工作在数分钟内完成
type: item
date: 2025-09-08T04:11:00+08:00
description: AI摘要 本文介绍了80多款AI工具，覆盖了研究、图像、文案、写作、网站、视频、会议、SEO、聊天机器人、演示、自动化、提示、UI/UX、设计、Logo生成器、音频、生产力和社交媒体管理等多个领域，旨在帮助用户提高工作效率，将数月的工作量缩短至几分钟内完成。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 80+ AI tools to finish months of work in minutes.80+款AI工具，让数月工作在数分钟内完成。ResearchChatGPTCopilotGeminiAbacusPerplexityImageFotorDalle 3Stability AIMidjourneyMicrosoft DesignerCopyWritingRytrCopy AIWritesonicAdcreative AIWritingJasperHIX AIJenny AITextblazeQuillbotWebsite10WebDurableFramerStyle AIVideoKlapOpusEightifyInVideoHeyGenRunwayImgCreator AIMorphstudio .xyzMeetingTldvOtterNoty AIFirefliesSEOVidIQSeona AIBlogSEOKeywrds aiChatbotDroxyChatbaseMutual infoChatsimplePresentationDecktopusSlides AIGamma AIDesigns AIBeautiful AIAutomationMakeZapierXemblyBardeenPromptsFlowGPTAlicent AIPromptBoxPromptbaseSnack PromptUI/UXFigmaUizardUiMagicPhotoshopDesignCanvaFlair AIDesignifyClipdropAutodrawMagician designLogo GeneratorLookaDesigns AIBrandmarkStockimg AINamecheapAudioLovo aiEleven labsSongburst AIAdobe PodcastProductivityMerlinTinywowNotion AIAdobe SenseiPersonal AISocial media managementTapiloTypefullyHypefuryTweetHunter

开源免费，平替微软Power BI的商业智能系统
type: item
date: 2025-06-23T07:56:00+08:00
description: AI摘要 Metabase是一个开源免费的商业智能工具，可以生成可视化数据报表，支持多种数据库，适合企业、团队和个人开发者使用。它的核心功能包括无需SQL即可提问、强大的SQL编辑器、交互性强的可视化仪表盘、调度与提醒、嵌入支持和多数据库支持。Metabase可以通过Docker快速部署，也可以在本地进行测试开发。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 你是否还在为团队分享数据报表、制作漂亮的图表和分析报告而感到头疼？不想用价格高昂的PowerBI ？今天要向你推荐一个超棒的开源工具——Metabase！它解决了零 SQL 基础小白也能快速生成可视化数据报表的大痛点，无论是团队协作、嵌入图表还是定制仪表盘，Metabase 都能帮你轻松搞定！而且，它完全开源！太绝了！Metabase 是什么Metabase 是一个功能强大的开源商业智能（BI）工具，大家可以用它轻松完成数据分析和展示工作。无论你懂不懂 SQL，只要拖拖拽拽，就能把你想要的业务数据整理成美观、交互丰富的仪表盘。它支持多种数据库，适合企业、团队甚至个人开发者使用。开源成就Star 数 GitHub 上已经斩获了 42.4k Star，是备受瞩目的优质开源项目！主开发语言 主要由 Clojure 和 TypeScript 开发，还有其他语言如 JavaScript、Shell 等，共同构建了这一强大的工具。核心功能无需 SQL 就能轻松提问不会写 SQL？没关系！Metabase 的拖拽式操作可以让任何人快速上手，无需技术背景也能完成数据查询。强大的 SQL 编辑器对于技术人员来说，它内置了一个 SQL 编辑器，方便写更复杂的自定义查询。漂亮且交互性强的可视化仪表盘可通过过滤、自动刷新、全屏显示等功能，创建具有高颜值的仪表盘。调度与提醒支持按设置的时间表，定期将数据结果发送到电子邮件或团队的 Slack。强大的嵌入支持你可以在自己的应用中嵌入 Metabase 图表、仪表盘，甚至整个 Metabase。 多数据库支持提供对 MySQL、PostgreSQL、MongoDB 等许多数据库的官方支持。国际化语言支持Metabase 支持多语言界面，目前正在不断扩展更多语言，让全球用户更便捷地使用。安装指南以下是快速部署 Metabase 的简要教程，简单几步就能运行：使用 Docker 部署：docker run -d -p 3000:3000 --name metabase metabase/metabase启动后访问：打开浏览器，进入 http://localhost:3000，按照页面提示配置数据库，就可以开始使用了！本地测试开发：仓库提供了开发环境启动方式，使用以下命令：git clone https://github.com/metabase/metabase.gitcd metabase./bin/build-drivers.shclojure -M:runMetabase 是一个让数据变得简单易懂的美妙工具。它不仅降低了数据分析的门槛，还为团队协作提供了强大的解决方案。无论是创业公司还是成熟企业，用 Metabase 可以快速构建出专业级的数据报表和仪表盘，数据分析能力立马拉满！开源地址https://github.com/metabase/metabase文章来源公众号：开源日志文章来源地址：https://mp.weixin.qq.com/s/H9SE8UjApciO2B5dffuc5Q

神器WindTerm斩获26.7K星，它专为开发者和运维工程师打造，可以极大地提升工作生产力
type: item
date: 2025-06-20T21:09:00+08:00
description: AI摘要 WindTerm是一款专为开发者和运维工程师设计的跨平台终端工具，支持SSH、Telnet、Serial等多种协议，并集成了SFTP文件管理、会话分屏等功能。它以其高性能和强大功能在GitHub上获得了26.7k星。WindTerm的主要特点包括多协议终端支持、高效的文件传输工具、会话管理功能、快速的性能表现、可视化与定制以及多平台兼容性。用户可以访问其GitHub页面下载并使用这款免费且高效的终端工具。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 作为一名开发者，你是否因为找不到高效的终端工具而头疼？WindTerm 是一款极致高效的终端工具，它的性能表现和功能设计几乎没有明显短板，尤其适合对速度和多功能性有高需求的开发者或运维工程师。如果你正在寻找一个能“一站式解决问题”的终端工具，WindTerm 绝对值得一试。此外，它完全免费，支持商业和个人无差别使用，简直就是开源软件爱好者的福利！今天给大家介绍一款神器——WindTerm，它专为开发者和运维工程师打造，可以极大地提升工作生产力！无论你是 SSH、SFTP 用户，还是经常需要使用 Telnet 或 Tmux，多合一的终端工具 WindTerm 都能帮你搞定！超高的性能和一系列强大功能，让无数用户直呼“真香”！一、WindTerm 是什么WindTerm 是一款专业且免费的跨平台终端工具。它不仅支持 SSH、Telnet、Serial、Shell 等多种协议，还集成了 SFTP 文件管理、会话分屏、自动完成等功能。相比传统终端工具，它运行更快、更流畅，是提升效率的最佳选择！ 二、开源成就Star 数 WindTerm 在 GitHub 上已经吸引了 26.7k 星。主开发语言 项目的代码主要使用 C 语言（占 85.6%） 编写，支持高效性能和稳定性。三、核心功能1、超强的多协议终端支持支持 SSH v2、Telnet、Serial、Raw TCP 以及 Shell 协议，甚至还能集成 Tmux 操作。2、高效的文件传输工具WindTerm 自带 SFTP 和 SCP 文件传输工具，不仅可以上传、下载文件，还可直接进行文件管理（如重命名、删除等）。3、强大的会话管理功能你可以在 WindTerm 中创建、重命名、恢复会话，同时支持自动日志记录和恢复上次会话布局。4、超快速的性能表现内存占用率极低，而文件传输速度实测可达 247 MB/s，下载速度吊打同类工具（FileZilla、WinSCP 等）。5、强大的可视化与多样化定制支持会话树、分屏操作、Vim 风格键位绑定，还能自由切换主题、设置窗口透明度并修改标签颜色。6、多平台兼容无论你用的是 Windows、MacOS 还是 Linux，WindTerm 都支持！还能搭配 bash、zsh、PowerShell 等进行使用。四、安装指南1、下载文件访问 WindTerm 的Release 页面下载适合你系统的二进制文件（支持 Windows、MacOS、Linux）。 2、解压并运行解压下载的压缩包后，直接运行主程序 WindTerm，无需安装。3、进行配置可以通过设置界面配置会话，设置连接协议（如 SSH、Telnet）。自定义界面主题、分屏布局后即可开始使用。开源地址：https://github.com/kingToolbox/WindTerm文章来源：https://mp.weixin.qq.com/s/Ls2v7PtxuxQizO7uuHEAMg

AI Agents开源工具栈全解析~
type: item
date: 2025-06-09T13:10:00+08:00
description: AI摘要 本文详细介绍了9大类型、50个实用的AI Agent开源工具，包括计算机与浏览器操作、框架、语音、文档理解、记忆、测试与评估、监控与可观测性、仿真环境和垂直领域Agent。这些工具可以帮助开发者构建和优化AI智能体，提高开发效率。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 嘿，大家好！这里是一个专注于前沿AI和智能体的频道~大模型发展迅速，Agent发展也很迅速。但是似乎，目前还很少有对开源工具栈进行整理的。一些综述提到的可能比较旧（不更新了），或者不实用，或者内容太多了。端午整理了一下，把压箱底的AI Agent开源工具栈全部整理出来~下面，我们按照构建Agent的逻辑顺序，逐一盘点。9大类型、50个实用工具合集！ 照旧，也做了一个网页展示（这次测试了一些比较酷的动效，需要网页源码的可以后台私信发送 Agent工具栈一、计算机与浏览器操作现在比较流行Compute Use，Agent必须能像人一样与电脑和网络交互——点击按钮、填写表单、抓取数据。这些工具就是连接“思考”与“行动”的桥梁。Open Interpreter[1]：将自然语言翻译成本地可执行代码。想移动文件或运行脚本？直接跟它说就行。 Self-Operating Computer[2]：赋予Agent完全控制你桌面环境的能力，让它像真人一样操作系统。 LaVague[3]：让Web Agent能够实时浏览网站、填写表单并做出决策，是浏览器任务自动化的理想选择。 Playwright[4]：微软官方自动化工具，用于跨浏览器操作，非常适合测试或模拟用户流程。 Puppeteer[5]：控制Chrome或Firefox的可靠工具，非常适合抓取数据和自动化前端行为。 [1] Open Interpreter: https://github.com/OpenInterpreter/open-interpreter[2] Self-Operating Computer: https://github.com/OthersideAI/self-operating-computer[3] LaVague: https://github.com/lavague-ai/LaVague[4] Playwright: https://github.com/microsoft/playwright[5] Puppeteer: https://pptr.dev/二、框架框架可以帮忙组织Agent的逻辑、连接大模型、管理工具，是整个系统的核心。CrewAI[6]：专为多智能体协作而生。当你的任务需要不同角色的Agent协同工作时，它就是最佳选择。 Phidata[7]：专注于记忆、工具使用和长期交互。非常适合构建需要记住上下文、能够持续进化的个人助理。 Camel[8]：为多智能体协作、模拟和任务专业化而设计。 AutoGPT[9]：通过规划和执行的循环来自动化复杂工作流。最适合需要独立运行的自主Agent。 AutoGen[10]：微软出品，让多个Agent能够相互沟通以解决复杂问题。 SuperAGI[11]：简化了构建和交付自主Agent的流程，主打一个快。 Superagent[12]：一个灵活的开源工具包，用于创建定制化的AI助理。 LangChain[13] & LlamaIndex](https://github.com/run-llama/llama_index)：这两个不用多说，已经是管理记忆、检索和工具链的事实标准。 [6] CrewAI: https://github.com/crewAIInc/crewAI[7] Phidata: https://github.com/agno-agi/agno[8] Camel: https://github.com/camel-ai/camel[9] AutoGPT: https://github.com/Significant-Gravitas/AutoGPT[10] AutoGen: https://github.com/microsoft/autogen[11] SuperAGI: https://github.com/TransformerOptimus/SuperAGI[12] Superagent: https://github.com/superagent-ai/supera…

SQL Server 2008 评估期已过的解决办法
type: item
date: 2020-10-26T15:08:00+08:00
description: AI摘要 本文介绍了如何解决SQL Server 2008评估期已过的问题。首先，通过输入相应的产品密钥进行版本升级。如果升级后仍提示评估期已过，可以通过修改注册表中的“CommonFiles”值来解决。此外，文章还提供了解决SQL Server 2008安装需要一直重启的问题的方法，即删除注册表中的PendingFileRenameOperations键值。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 今天上班一打开SQL Server，就报了下面这个问题很显然，SQL Server 试用期到了，微软提醒我们购买。大家经济允许的话，还是要买正版。对于我们这些暂时无力承担正版费用的屌丝群体怎么办呢？显然，重装不是一个好的办法。SQL Server软件装起来很麻烦，还需要一段时间。况且光卸载老版本就是个问题，很难卸载干净。卸载加安装，半天就过去了。通过百度，找到了一些解决方案，通过自身的具体实践，终于把问题解决了，特将问题与解决方法记录下来，给遇到同样问题的伙伴提供一种解决方式，也方便自己日后查看。1.开始-->所有程序-->MicrosoftSQL Server 2008-->配置工具-->SQL Server 安装中心2.打开SQL Server安装中心(64位) 点击维护-->版本升级，如果提示失败1，电脑没有重启，这个时候就需要我们手动进行重启，重新打开电脑后，从步骤1开始；接着按照提示一直点下一步，到产品密钥的时候输入Microsoft SQL Server 2008 R2序列号密钥开发版32位：MC46H-JQR3C-2JRHY-XYRKY-QWPVM开发版64位：FTMGC-B2J97-PJ4QG-V84YB-MTXX8工组版：XQ4CB-VK9P3-4WYYH-4HQX3-K2R6QWEB版：FP4P7-YKG22-WGRVK-MKGMX-V9MTM数据中心版32位：PTTFM-X467G-P7RH2-3Q6CG-4DMYB数据中心版64位：DDT3B-8W62X-P9JD6-8MX7M-HWK38企业版32位：R88PF-GMCFT-KM2KR-4R7GB-43K4B企业版64位：GYF3T-H2V88-GRPPH-HWRJP-QRTYB标准版32位：CXTFT-74V4Y-9D48T-2DMFW-TX7CY标准版64位：B68Q6-KK2R7-89WGB-6Q9KR-QHFDW输入密钥之后进行升级，升级完成后，再次打开SQL Server。如果还是提示评估期已过，进行如下操作：修改注册表： win键 + r 打开运行界面 输入regedit 就能打开注册表页面找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSQL Server\100\ConfigurationState里的“CommonFiles”值改成3，在重新执行上面的操作。sql server 2008安装需要一直重启的解决办法：同样打开注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置然后在右边窗口右击PendingFileRenameOperations，选择删除，然后确认

马云最新演讲全文2020-9-30
type: item
date: 2020-09-30T12:04:48+08:00
description: AI摘要 马云在2020年的演讲中强调了2020年作为历史分水岭的重要性，并认为海南自贸港的建设是历史性的选择。他提出，新的全球化正在开始，将由发展中国家和中小企业主导，科技和数据流动将成为主力。马云还强调了中国内需对新一轮全球化的驱动作用，以及全球化是一种服务世界的能力。他鼓励企业家面向未来，用未来的方法解决今天的问题，并强调数字化是确定的趋势，将全面改造所有行业。马云还提到，企业家应有担当，为世界变得更好而努力。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 2020年非常特殊，未来一定是一段历史的分水岭；海南成为自贸港，也必定是一个历史性的选择；我希望我们CEC这次的海南会议，也能成为一个跨越时代的会议，在疫情之后，新的全球化开始之后，在整个数字时代到来的时候，我们CEC的企业家能够在这段历史中创造独特的价值。我昨天还在武汉，也和我们CEC的三十几位理事一起，到武汉去了一趟。几个月前在电视里看武汉，确实非常之难，这次到武汉，真的感到武汉是一座英雄的城市，有英雄气质。疫情是结束了，我们该考虑如何让经济重生。经济重生不是为了回到昨天、回到以前，而是在更高的水平上面，从疫情中看到未来，看到趋势，把握机会。这次从武汉来到海南，这里面我觉得是巧合，好像也有一种必然的东西。两年前，习主席宣布了建设海南自贸港，全面开放的战略，两年过去了，世界格局发生了巨大的变化。但是我依然相信，我们必须要坚持开放，必须要坚持全球化，特别是疫情之后，我相信全世界所有的门都是要靠自己去打开的，没有门是天然开着的，这时候坚持全球化比什么时候都重要、都有意义。现在海南就站在一个新的历史的起点上，自贸港建设不是简单的海南发展的机遇，更不仅仅是中国经济发展的一个机遇，而是要担当起为世界探索新的全球化的历史责任。我自己觉得，国际化和全球化是两个不同的概念，国际化更偏向于中国人跟外国人做生意，是双边为主。而全球化是世界各国的大事情，是一个全局的问题。今天很多人觉得全球化出现了这样那样的问题，而我并不这么认为：第一，我认为今天是真正全球化开始的时候。昨天的、原来的、传统的、工业时代的全球化正在终结。新的、真正的、数字时代的全球化才刚刚打开。以前，全球化是发达国家和大企业主导，未来，全球化应该是发展中国家、中小企业走向世界；以前贸易是全球化的主力，未来科技将是全球化的主力；以前是人在流动、货在流动，未来是数据在流动、服务在流动；以前是传统企业的全球化，未来是用好互联网技术的企业的全球化；未来，任何一个人，只要有一部手机就可以做全球生意，未来所有的中小企业都是跨国公司，过去三十年是6000家大企业决定了全球化，未来应该是6000万家中小企业决定全球化。地域的扩大就是业务的扩张，这是世界给予我们的巨大机会。第二， 这是由中国内需驱动的新一轮全球化。新一轮的全球化，中国将会从“卖卖卖”，变成“买买买”。海南自由贸易港有自己的历史使命，海南未来留在历史中将会成为一个非常重要的角色。假设我们对贸易游戏规则不满意，今天给了我们一次机会，我们是否有这种胸怀、有这种格局、有这种担当为世界未来数字的全球化，为更多企业、更多国家、更多发展中国家的全球化，来制定一个更加公平、可持续、绿色的贸易规则？大家其实不用害怕从“卖卖卖”变成“买买买”。中国每一次大门打开，都是中国进步的象征，每一次大门打开，中国都进步了。我们要不断地走出去。我记得我们以前的人走出去是找差距，我们觉得人家这个做得好、那个做得好。今天我们很多中国企业走出去，或者很多中国人走出去，是在找感觉。当我们在找感觉的时候，其实我们正在退步。上一次全球化，是美国3亿人消费驱动的；中国这次的全球化是14亿人的内需，会驱动下一轮真正的全球化，带动世界经济。进口不是终点，进口最终是要倒逼中国产业提升、消费升级，促进现代服务业的发展。对于企业家来说，未来的机会在中国那些百万人口的小城镇。我不知道大家是否知道中国有多少城市过100万人口，我在2014年初步做了一个统计，美国大概有不到12个城市过100万人口，中国有167个城市过100万人口。而100万人口的基础建设、100万人口所诞生的巨大产业，我们远远没有发展好。这些近百万城市的人口，也许我们将来会有三百个，这些地方会迸发出巨大的消费潜力。内需绝对不是有钱人的拉动，内需应该是满足每一个普通百姓的需求，普通人的内需拉动，才是真正可以持续发展的内需价值。第三，新的全球…

Golang 汇编入门知识总结
type: item
date: 2020-09-27T14:35:04+08:00
description: AI摘要 本文是一篇关于Golang汇编入门的知识总结，作者分享了自己在学习Golang底层实现机制时对Golang汇编的理解。文章首先解释了为什么需要汇编语言，然后介绍了程序与进程的概念，接着深入讲解了Go汇编的相关知识，包括核心寄存器、常用操作指令等。文章还提供了如何输出Go汇编的方法，并通过对一个简单Go函数的汇编代码进行分析，帮助读者理解Go汇编的实现过程。最后，文章还介绍了一些Go调试工具，如gdb和delve，并总结了学习Go汇编需要熟悉的几个方面。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 作者：ivansli，腾讯 IEG 运营开发工程师在深入学习 Golang 的 runtime 和标准库实现的时候发现，如果对 Golang 汇编没有一定了解的话，很难深入了解其底层实现机制。在这里整理总结了一份基础的 Golang 汇编入门知识，通过学习之后能够对其底层实现有一定的认识。0. 为什么写本文平时业务中一直使用 PHP 编写代码，但是一直对 Golang 比较感兴趣，闲暇、周末之余会看一些 Go 底层源码。近日在分析 go 的某些特性底层功能实现时发现：有些又跟 runtime 运行时有关，而要掌握这一部分的话，有一道坎是绕不过去的，那就是 Go 汇编。索性就查阅了很多大佬们写的资料，在阅读之余整理总结了一下，并在这里分享给大家。本文使用 Go 版本为 go1.14.11. 为什么需要汇编众所周知，在计算机的世界里，只有 2 种类型。那就是：0 和 1。计算机工作是由一系列的机器指令进行驱动的，这些指令又是一组二进制数字，其对应计算机的高低电平。而这些机器指令的集合就是机器语言，这些机器语言在最底层是与硬件一一对应的。显而易见，这样的机器指令有一个致命的缺点：可阅读性太差（恐怕也只有天才和疯子才有能力把控得了）。为了解决可读性的问题以及代码编辑的需求，于是就诞生了最接近机器的语言：汇编语言（在我看来，汇编语言更像一种助记符，这些人们容易记住的每一条助记符都映射着一条不容易记住的由 0、1 组成的机器指令。你觉得像不像域名与 IP 地址的关系呢？）。1.1 程序的编译过程以 C 语言为例来说，从 hello.c 的源码文件到 hello 可执行文件，经过编译器处理，大致分为几个阶段：编译器在不同的阶段会做不同的事情，但是有一步是可以确定的，那就是：源码会被编译成汇编，最后才是二进制。2. 程序与进程源码经过编译之后，得到一个二进制的可执行 文件。文件这两个字也就表明，目前得到的这个文件跟其他文件对比，除了是具有一定的格式（Linux 中是 ELF 格式，即：可运行可链接。executable linkable formate）的二进制组成，并没什么区别。在 Linux 中文件类型大致分为 7 种：b: 块设备文件c：字符设备文件d：目录-：普通文件l：链接s：socketp：管道通过上面可以看到，可执行文件 main 与源码文件 main.go，都是同一种类型，属于普通文件。（当然了，在 Unix 中有一句很经典的话：一切皆文件）。那么，问题来了：什么是程序？什么是进程？2.1 程序维基百科告诉我们：程序是指一组指示计算机或其他具有消息处理能力设备每一步动作的指令，通常用某种程序设计语言编写，运行于某种目标体系结构上。从某个层面来看，可以把程序分为静态程序、动态程序：静态程序：单纯的指具有一定格式的可执行二进制文件。动态程序：则是静态可执行程序文件被加载到内存之后的一种运行时模型（又称为进程）。2.2 进程首先，要知道的是，进程是分配系统资源的最小单位，线程(带有时间片的函数)是系统调度的最小单位。进程包含线程，线程所属于进程。创建进程一般使用 fork 方法(通常会有个拉起程序，先 fork 自身生成一个子进程。然后，在该子进程中通过 exec 函数把对应程序加载进来，进而启动目标进程。当然，实际上要复杂得多)，而创建线程则是使用 pthread 线程库。以 32 位 Linux 操作系统为例，进程经典的虚拟内存结构模型如下图所示：其中，有两处结构是静态程序所不具有的，那就是 运行时堆(heap)与 运行时栈(stack)。运行时堆从低地址向高地址增长，申请的内存空间需要程序员自己或者由 GC 释放。运行时栈从高地址向低地址增长，内存空间在当前栈桢调用结束之后自动释放(并不是清除其…

用了多年的自动升级小工具《KDBOSS升级助手》
type: item
date: 2020-06-17T10:52:00+08:00
description: 文章介绍了一个名为《KDBOSS升级助手》的自动升级小工具，该工具由作者8年前编写，用于客户端软件升级，具有稳定性和易用性。主要功能包括：采用idhttp下载、使用ini作为配置文件、支持下载进度百分比显示、支持下载速率显示以及支持自动下载和自动更新。文章提供了工具的源码下载链接，并附上了详细的代码...[...]

《轻武CRM微客》又双叒叕升级了
type: item
date: 2020-04-29T11:15:00+08:00
description: 轻武CRM微客是一款基于微信的营销SASS软件，通过微信大数据帮助用户拓客、分享知识、筛选和挖掘潜在客户，实现精准营销。适用于微商、小微创业者、保险销售等全行业销售人员。最近更新包括支持全网URL地址转发、服务号和订阅号文章内视频音频文件处理、新增文章内容打赏功能、完成订单系统优化、推送消息优化和爬...[...]