<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title><![CDATA[硬汉工作室]]></title> 
<atom:link href="https://emlog.nciaer.com/rss.php" rel="self" type="application/rss+xml" />
<description><![CDATA[全心全意为站长服务]]></description>
<link>https://emlog.nciaer.com/</link>
<language>zh-cn</language>

<item>
    <title>flex知识点</title>
    <link>https://emlog.nciaer.com/?post=351</link>
    <description><![CDATA[<h2>一、知识点</h2>
<ol>
<li>
<p>flex容器里的项目如果没有设置高度，那么项目高度默认和容器一样高；</p>
</li>
<li>
<p>flex项目默认横向排列，不会自动换行，会直接挤压项目的宽度，不管项目是否设置了宽度；</p>
</li>
<li>
<p>如果设置了换行，比如换成了3行，那么3行会充满容器的高度；</p>
</li>
</ol>
<h2>二、速查手册</h2>
<table>
<thead>
<tr>
<th>属性</th>
<th>作用</th>
</tr>
</thead>
<tbody>
<tr>
<td>flex-direction</td>
<td>设置主轴方向，如row水平（默认），column垂直</td>
</tr>
<tr>
<td>flex-wrap</td>
<td>是否换行,默认(nowarp)不换，wrap(换行)</td>
</tr>
<tr>
<td>flex-flow</td>
<td>flex-direction和flex-wrap简写，如：row wrap</td>
</tr>
<tr>
<td>justify-content</td>
<td>主轴对齐方式（水平对齐方式）<br />flext-start 左对齐，默认<br />flex-end 右对齐<br />center 居中对齐<br />space-between 两端对齐，中间均匀分配间隙<br />space-around  每个项目两端空隙一样<br /> space-evenly 所有空隙一样</td>
</tr>
<tr>
<td>align-items</td>
<td>交叉轴垂直对齐，单行时使用<br />stretch 拉伸，如果项目没有设置高度，那么拉伸到和容器一样高<br />center 垂直居中，最常用</td>
</tr>
<tr>
<td>align-content</td>
<td>多行时，垂直对齐方式，其实就是justify-content的垂直版本，值也一样，单行时无效</td>
</tr>
<tr>
<td>order</td>
<td>控制排序，默认0，值越大排的越往后</td>
</tr>
<tr>
<td>flex-grow</td>
<td>剩余空间分配，默认0，如果把某个项目设置1，那么它就占剩余 空间</td>
</tr>
<tr>
<td>flex-shrink</td>
<td>空间不足时是否压缩，默认值1，压缩，设置为0就是绝不压缩</td>
</tr>
<tr>
<td>flex-basis</td>
<td>设置元素基准尺寸，不知道有啥用</td>
</tr>
<tr>
<td>flex</td>
<td>flex: grow shrink basis的简写，常用就是1，占用剩余空间</td>
</tr>
<tr>
<td>align-self</td>
<td>单独修改某个项目垂直对齐方式</td>
</tr>
<tr>
<td>gap</td>
<td>设置项目的间距，用在父元素，比margin好用，不会有额外边距</td>
</tr>
</tbody>
</table>]]></description>
    <pubDate>Thu, 30 Jul 2026 09:29:20 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=351</guid>
</item>
<item>
    <title>ES6对象方法简写</title>
    <link>https://emlog.nciaer.com/?post=350</link>
    <description><![CDATA[<p>ES5及以前，对象里方法是这么定义的：</p>
<pre><code class="language-javascript">{
    say: function() {
        console.log('hello');
    }
}</code></pre>
<p>ES6简化了对象里方法的定义，如下：</p>
<pre><code class="language-javascript">{
    say() {
        console.log('hello');
    }
}</code></pre>
<p>效果其实完全一样，只是个语法糖，更加简洁，vue/uniapp里都这么写。</p>]]></description>
    <pubDate>Mon, 20 Jul 2026 09:21:22 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=350</guid>
</item>
<item>
    <title>uniapp开发的小程序启动，提示：Error: timeout</title>
    <link>https://emlog.nciaer.com/?post=349</link>
    <description><![CDATA[<p>uniapp开发的空白小程序，启动后提示这个：</p>
<pre><code>Error: timeout
at Function.&lt;anonymous&gt; (WAServiceMainContext.js?t=wechat&amp;v=3.15.2:1)
at p (WAServiceMainContext.js?t=wechat&amp;v=3.15.2:1)
at WAServiceMainContext.js?t=wechat&amp;v=3.15.2:1
at WAServiceMainContext.js?t=wechat&amp;v=3.15.2:1(env: Windows,mp,1.06.2504060; lib: 3.15.2)</code></pre>
<p><strong>uniapp官方回复如下：</strong></p>
<p>这是微信开发者工具的内部机制报错，与你的 uni-app 空白项目代码无关，通常不会对小程序正常运行和真机体验产生任何实质影响。</p>
<p>具体来说：<br />
WAServiceMainContext.js 是微信开发者工具自身的底层服务文件，127.0.0.1:xxxx 也正是开发者工具在本机启动的服务地址。在项目刚启动时，工具内部组件之间的初始化和通信偶尔会出现超时，这在开发环境中属于偶发的系统级 bug。</p>
<p>从 ask 社区相关的反馈来看，这类 SystemError (appServiceSDKScriptError) 等报错，只要没有导致页面白屏或功能异常，官方通常建议忽略该报错，并且它在稳定的基础库版本下往往不会出现。</p>
<p>你可以留意以下两点来规避此问题：<br />
确认是否影响功能：只要你的页面能正常渲染、数据能正常请求和展示，这个控制台的 Error: timeout 可以完全忽略。<br />
偶尔的闪屏排查：如果确实看到了白屏，可以检查一下项目 main.js 的最后一行是否为单行注释。如果是，可以将其改为多行注释或在末尾另起一行加个变量声明（如 let a;），这是一个在特定版本下可能导致启动白屏的已知问题（相关 ISSUE）。</p>]]></description>
    <pubDate>Wed, 20 May 2026 11:38:36 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=349</guid>
</item>
<item>
    <title>公司小程序年审总结</title>
    <link>https://emlog.nciaer.com/?post=345</link>
    <description><![CDATA[<p>每次都忘了具体步骤，所以记录下来。</p>
<p>因为我们是与医院合作的挂号平台，所以需要提供医院的<code>医疗机构执业许可证</code>、<code>合作协议</code>以及<code>小程序承诺函</code>，因为小程序年审比较多，所以每个主体的小程序都有psd的承诺函，然后审核公司可能还需要给医院打电话核实合作信息，完事。简简单单。</p>
<p>完工</p>]]></description>
    <pubDate>Tue, 10 Mar 2026 10:18:43 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=345</guid>
</item>
<item>
    <title>C51知识记录</title>
    <link>https://emlog.nciaer.com/?post=344</link>
    <description><![CDATA[<p>汇编太难了，还是用C语言来学习单片机吧。</p>
<p>先介绍下keil c51里两个专属关键字：</p>
<p><code>sfr</code>： 全称是特殊功能寄存器（special function register），作用是将单片机硬件寄存器的物理地址映射为 C 语言中的变量，用变量操控寄存器，格式是：<code>sfr 寄存器名 = 寄存器物理地址</code>。</p>
<p><code>sbit</code>：special bit，给某个位定义变量，比如 <code>sbit LED = P1^0；</code>，然后在后面代码里可以用LED=1设置P1.0的口为高电平。</p>]]></description>
    <pubDate>Sat, 28 Feb 2026 15:50:26 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=344</guid>
</item>
<item>
    <title>小鱼备注</title>
    <link>https://emlog.nciaer.com/?post=343</link>
    <description><![CDATA[<table>
<thead>
<tr>
<th>班次</th>
<th>上班时间</th>
<th>下班时间</th>
</tr>
</thead>
<tbody>
<tr>
<td>A1</td>
<td>7：00</td>
<td>16：00</td>
</tr>
<tr>
<td>A2</td>
<td>8：00</td>
<td>17：00</td>
</tr>
<tr>
<td>A3</td>
<td>9：00</td>
<td>18：00</td>
</tr>
<tr>
<td>B1</td>
<td>11：00</td>
<td>20：00</td>
</tr>
<tr>
<td>B2</td>
<td>14：00</td>
<td>23：00</td>
</tr>
</tbody>
</table>
<hr />
<p>口红：196色号</p>]]></description>
    <pubDate>Sat, 28 Feb 2026 09:26:41 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=343</guid>
</item>
<item>
    <title>常用元器件</title>
    <link>https://emlog.nciaer.com/?post=342</link>
    <description><![CDATA[<p><code>DS18B20</code> 单总线数字温度传感器，</p>
<p><code>ESP8266</code> 低成本 Wi-Fi 专用模块，主打 “把串口数据转 Wi-Fi 数据”（透传），一般配合51来使用</p>
<p><code>ESP32</code> 蓝牙+Wi-Fi微处理器模块，能同时做 “本地控制（比如驱动电机 / 屏幕）+ 无线通信（传数据 / 连蓝牙设备）”，是 “一站式物联网主控”</p>
<p><code>HC-SR04</code> 测距模块，2cm-400cm之间</p>]]></description>
    <pubDate>Fri, 27 Feb 2026 15:12:02 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=342</guid>
</item>
<item>
    <title>C51汇编指令集</title>
    <link>https://emlog.nciaer.com/?post=341</link>
    <description><![CDATA[<h2>常用术语说明</h2>
<ul>
<li>
<p>CY（carry），进位标志</p>
</li>
<li>
<p>A（ACC，accumulator），累加器</p>
</li>
<li>
<p>PSW（program status word），程序状态字寄存器，是特殊功能寄存器，核心作用是记录程序执行过程中的 “状态信息”</p>
</li>
<li>
<p>P（parity），奇偶校验位</p>
</li>
<li>
<p>ORG（origin），起始位置，伪指令，没有对应的机器码，只是编译时用</p>
</li>
<li>
<p>END，汇编伪指令，必须放在程序最后且只能有一个</p>
</li>
<li>
<p>NOP（no operation），空操作，啥也不操作，只消耗一个时钟周期</p>
</li>
</ul>
<h2>常用指令</h2>
<ul>
<li>
<p>RL A（rotate left with carry），带进位循环左移指令</p>
</li>
<li>
<p>RL（rotate left），不带进位循环指令</p>
</li>
<li>
<p>SETB（set bit），将指定位置的电平设置位1，高电平</p>
</li>
<li>
<p>CLR（clear），将指定寄存器清0</p>
</li>
<li>
<p>LJMP（long jump），长跳转指令，可以跳转到64K的地址</p>
</li>
<li>
<p>SJMP（short jump），短跳转指令，只能跳转-127~128的地址</p>
</li>
</ul>]]></description>
    <pubDate>Mon, 02 Feb 2026 11:14:57 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=341</guid>
</item>
<item>
    <title>phpstorm发现了新功能</title>
    <link>https://emlog.nciaer.com/?post=340</link>
    <description><![CDATA[<p>我现在开发模式一直是phpstorm+ftp，也就是phpstorm自带的ftp，连接到远程服务器，保存即提交。</p>
<p>有时候我想查看服务器上文件修改时间和大小，但是默认的<code>Rmote Host</code>里只显示文件列表，豆包一搜，原来还真有这个功能，也就是在点击<code>Rmote Host</code>右上角的齿轮，有<code>Show Size</code>和<code>Show Date</code>选项。</p>
<p>左侧是本地的项目目录，用快捷键<code>Shift+Alt+\</code>可以显示或者隐藏显示文件修改时间和大小，也可以在<code>View-&gt;Appearance-&gt;Descriptions in Tree Views</code>开启。</p>
<p>完美。</p>]]></description>
    <pubDate>Tue, 27 Jan 2026 17:09:22 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=340</guid>
</item>
<item>
    <title>烤柏灵火</title>
    <link>https://emlog.nciaer.com/?post=339</link>
    <description><![CDATA[<p>烤柏灵火（也作烤百龄火、烤柏龄火，民间也俗称烤杂病）是北方华北地区（河北石家庄、保定、邢台、邯郸，山西东部、京津周边等）极具特色的元宵节民俗，核心在正月十五 / 十六晚间燃柏树枝烤火，是当地人祈愿祛病消灾、延年益寿、新年顺遂的传统仪式，也是邻里欢聚的年味活动，“柏灵” 谐音 “百龄”，柏树常青的特质也让这一民俗有了长寿、吉祥的美好寓意。</p>
<h3>核心民俗细节</h3>
<p>时间讲究：多数地区在正月十六晚上举行（也有部分村落选正月十五），因正月十六有 “走百病” 的习俗，烤柏灵火与走百病结合，被认为祛病效果更甚。<br />
备料与点火：核心用料是干燥的柏树枝（侧柏、圆柏枝均可，燃烧时会散出清冽柏香，民间认为柏香能净气驱邪），搭配玉米秸秆、谷草等引火，部分人家会加旧笤帚、破布条，寓意 “烧尽旧年霉运，迎来新年顺遂”；一般在自家门前、村口空场点火，邻里互相凑柴，越热闹越被认为 “福气旺”。<br />
烤火的仪式感：众人围火而立，男女老少依次把身体各部位凑到火边烤，边烤边念民间口传的吉祥谣，比如 “烤烤手，啥病都没有；烤烤腰，一辈子不弯腰；烤烤脸，岁岁都平安”“烤烤前心和后背，一年四季不受罪”；还有的会把馒头、年糕、红枣等凑到火边烤一烤再吃，认为吃了能沾福气、防病痛。<br />
收尾的小讲究：火快熄灭时，会用沙土轻轻盖灭（忌用水泼，民间认为会 “浇灭福气”），部分村落会让孩子在灰烬里找烧焦的谷物种子，找到哪种就预示当年哪种粮食丰收，是农耕时代人们对年成的美好期许。</p>
<h3>民俗背后的内涵</h3>
<p>这一习俗源于古代北方的火祭文化，结合了柏树 “常青、辟邪” 的民间意象，在医疗条件落后的年代，人们以烤火驱寒、柏香净气的朴素方式祈求健康，同时借集体烤火的形式凝聚邻里感情，是北方劳动人民将生活期盼与自然崇拜结合的文化体现，也成了元宵节后 “收尾年味、开启新岁” 的标志性活动。</p>
<h3>现代传承的注意事项</h3>
<p>合规为先：城市城区及近郊多有禁燃禁烧规定，严禁在小区、街道、绿化带等公共区域点火，避免引发火灾、造成空气污染。<br />
替代方式：想保留民俗意趣的话，可在家中用柏香薰条、柏香盘熏制（仅取柏香驱邪的寓意），或和家人做 “象征性烤火” 的互动游戏，念吉祥谣讨彩头；乡村允许的区域，点火需选空旷处，备好灭火器、沙土，专人看管，火灭后彻底清理灰烬。<br />
文化延续：如今烤柏灵火的核心早已不是 “烧火”，而是家人邻里间的团圆祈福，不少北方村落会以民俗展演、集体祈福的形式替代明火，让这一传统保留下来。</p>]]></description>
    <pubDate>Tue, 27 Jan 2026 13:54:44 +0800</pubDate>
    <dc:creator>nciaer</dc:creator>
    <guid>https://emlog.nciaer.com/?post=339</guid>
</item>
</channel>
</rss>