<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>开发工具 on 技术笔记</title><link>https://elliot-blog.com/categories/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/</link><description>Recent content in 开发工具 on 技术笔记</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sun, 18 Jan 2026 02:24:22 +0800</lastBuildDate><atom:link href="https://elliot-blog.com/categories/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/index.xml" rel="self" type="application/rss+xml"/><item><title>Cmake理解</title><link>https://elliot-blog.com/posts/202512/cmake/</link><pubDate>Fri, 19 Dec 2025 21:46:39 +0800</pubDate><guid>https://elliot-blog.com/posts/202512/cmake/</guid><description>&lt;h1 id="cmake理解"&gt;cmake理解&lt;/h1&gt;
&lt;h2 id="cmake"&gt;cmake&lt;/h2&gt;
&lt;p&gt;统一的跨平台的构架工具,用于生成makefile(makefile用于生成二进制文件)&lt;/p&gt;
&lt;h2 id="核心理念"&gt;核心理念&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Targets represent executables, libraries, and utilities built by CMake. Every &lt;a href="https://cmake.org/cmake/help/latest/command/add_library.html#command:add_library" title="(in CMake v3.30.3)" target="_blank" rel="noopener noreffer "&gt;&lt;code&gt;add_library&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://cmake.org/cmake/help/latest/command/add_executable.html#command:add_executable" title="(in CMake v3.30.3)" target="_blank" rel="noopener noreffer "&gt;&lt;code&gt;add_executable&lt;/code&gt;&lt;/a&gt;, and &lt;a href="https://cmake.org/cmake/help/latest/command/add_custom_target.html#command:add_custom_target" title="(in CMake v3.30.3)" target="_blank" rel="noopener noreffer "&gt;&lt;code&gt;add_custom_target&lt;/code&gt;&lt;/a&gt; command creates a target.&lt;/p&gt;</description></item><item><title>DevContainer 实践：VS Code vs JetBrains 深度对比</title><link>https://elliot-blog.com/posts/202512/devcontainer/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate><guid>https://elliot-blog.com/posts/202512/devcontainer/</guid><description>&lt;h1 id="devcontainer-实践vs-code-vs-jetbrains-深度对比"&gt;DevContainer 实践：VS Code vs JetBrains 深度对比&lt;/h1&gt;
&lt;h2 id="为什么需要-devcontainer"&gt;为什么需要 DevContainer&lt;/h2&gt;
&lt;p&gt;作为 GIS 后端开发，我经常遇到这些痛点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;环境依赖复杂&lt;/strong&gt;：Python + C++ 扩展（GDAL、Shapely）编译环境难以统一&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;团队协作困难&lt;/strong&gt;：「在我电脑上能跑」成为日常&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;迁移成本高&lt;/strong&gt;：换电脑或服务器部署时重新折腾环境&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;DevContainer 的核心思想很简单：&lt;strong&gt;把开发环境装进容器，代码挂载进去，IDE 连进去开发&lt;/strong&gt;。&lt;/p&gt;</description></item></channel></rss>