tag:blogger.com,1999:blog-3478443808331069722024-03-13T22:56:04.046+09:00Purewell.BIZPurewell's Personal BlogSammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.comBlogger774125tag:blogger.com,1999:blog-347844380833106972.post-77368591632793432492024-01-12T18:09:00.003+09:002024-01-12T18:09:27.457+09:00Windows에서 F1이 도움말로 작동하지 않도록 하기관리자 권한으로 콘솔창(cmd.exe)을 띄우고 아래와 같이 입력한다.
<pre><code>taskkill /f /im HelpPane.exe
takeown /f c:\windows\HelpPane.exe
icacls c:\windows\HelpPane.exe /deny Everyone:(X)</code></pre>
복구하기
<pre><code>start HelpPane.exe
takeown /f c:\windows\HelpPane.exe
icacls c:\windows\HelpPane.exe /grant Everyone:(X)</code></pre>
참조: <a href="https://endurtech.com/how-to-disable-the-f1-help-key-in-windows-10/">https://endurtech.com/how-to-disable-the-f1-help-key-in-windows-10/</a><div class="simple-translate-system-theme" id="simple-translate"><div><div class="simple-translate-button isShow" style="background-image: url("chrome-extension://cllnohpbfenopiakdcjmjcbaeapmkcdl/icons/512.png"); height: 22px; left: 64px; top: 121px; width: 22px;"></div><div class="simple-translate-panel " style="font-size: 13px; height: 200px; left: 0px; top: 0px; width: 300px;"><div class="simple-translate-result-wrapper" style="overflow: hidden;"><div class="simple-translate-move" draggable="true"></div><div class="simple-translate-result-contents"><p class="simple-translate-result" dir="auto"></p><p class="simple-translate-candidate" dir="auto"></p></div></div></div></div></div>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-12831059817578340802023-09-02T17:30:00.001+09:002023-09-02T17:35:10.622+09:00PSReadLine 설치<a href="https://learn.microsoft.com/ko-kr/powershell/module/psreadline/about/about_psreadline">참조: PSReadLine</a>
<pre><code class="language-powershell"># 설치
Install-Module -Name PSReadLine -AllowClobber -Force
# 예측 사용
Set-PSReadLineOption -PredictionSource History</code></pre>
<a href="https://github.com/PowerShell/PSReadLine/issues/537">참조: 히스토리 제한</a>
<pre><code class="language-powershell"># 히스토리 개수 제한
Set-PSReadlineOption -MaximumHistoryCount 100 -HistoryNoDuplicates
# 3글자 초과만 히스토리에 남김
Set-PSReadlineOption -AddToHistoryHandler {
param([string]$line)
return $line.Length -gt 3
}</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-59901301449114808252023-08-04T10:30:00.002+09:002023-08-04T10:30:19.081+09:00자바 클래스 파일 버전<table style="border: 1px solid black; text-align: center;"><tbody><tr><th>자바 버전</th><th>클래스 버전</th></tr>
<tr><td>7</td><td>51</td></tr>
<tr><td>8</td><td>52</td></tr>
<tr><td>9</td><td>53</td></tr>
<tr><td>11</td><td>55</td></tr>
</tbody></table>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-28512477019123405422023-06-27T20:44:00.001+09:002023-06-27T20:44:12.744+09:00Linux에서 프로세스 환경변수 읽기<p>/proc/<PID>/environ 파일에 KEY=VALUE\0 형태로 저장.</p><p>단순히 cat으로 확인할 수는 없고 아래와 같이 확인 가능.</p><p><br /></p><pre class="brush:shell"><code>xargs --null --max-args=1 echo < /proc/<PID>/environ</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-22409416138659433312023-04-03T19:15:00.003+09:002023-04-03T19:15:40.671+09:00받침 없는 화분 만들기<p>받침 없는 화분을 만들면, 꽤나 깔끔하게 관리할 수 있으며, 어디든 올려놓을 수 있어서 좋다. 단점이라면, 배수가 되는 화분에 비해 잘 죽을 수 있다는 점이지만, 지금까지 과습으로 죽인 적은 없다.</p><p>준비물: 물구멍 없는 화분, 작은 자갈(굵은모래<strike>마사토</strike>도 괜찮다), 부직포, 모래, 꽃삽, 물뿌리개, 심을 식물</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrvkIzj4v9UrYowhdGIv53a734sKt6Nq8KsXDUFUeIU04wyfzn24NVwm4XLSJXJFh0v4WI1Mm-Wkkkv_tk_6LCQ435Htd31EG8iKpofEuG49mO9jsETJSYiHO-fSUX2V4wyI80Cac2Nqb4OyZRYZNuXLkFvKGdK_eSpmkDUmklAtdqiQ4HARbjiSOWCw/s4000/20230318_173134.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrvkIzj4v9UrYowhdGIv53a734sKt6Nq8KsXDUFUeIU04wyfzn24NVwm4XLSJXJFh0v4WI1Mm-Wkkkv_tk_6LCQ435Htd31EG8iKpofEuG49mO9jsETJSYiHO-fSUX2V4wyI80Cac2Nqb4OyZRYZNuXLkFvKGdK_eSpmkDUmklAtdqiQ4HARbjiSOWCw/s320/20230318_173134.jpg" width="320" /></a></div><p>화분을 준비한다. 물구멍이 있는 화분이라면, 글루건이나 실리콘으로 물이 새지 않도록 잘 막아준다. 사용한 화분은 <a href="https://www.ikea.com/kr/ko/p/muskot-plant-pot-white-80308208/" target="_blank">IKEA의 Muskot 화분</a>이다.<br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkwNxYxTZbyo4xFv07zJdrQNyB-QS29t7Yty_Vv5zudbzyZML384LPXRRYOYmVJ4p87SEiKXdLEOHgngFlpvApb6SR-jn8K_dJwrttZPiLbaLJbeaYqAKkxEaae7RB2zvaeOA_5zopxX7JXfRgyd4yaKWXiT7DStvgH5gppmLfJmZC6i3kMXE0fQv2vg/s4000/20230318_173318.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkwNxYxTZbyo4xFv07zJdrQNyB-QS29t7Yty_Vv5zudbzyZML384LPXRRYOYmVJ4p87SEiKXdLEOHgngFlpvApb6SR-jn8K_dJwrttZPiLbaLJbeaYqAKkxEaae7RB2zvaeOA_5zopxX7JXfRgyd4yaKWXiT7DStvgH5gppmLfJmZC6i3kMXE0fQv2vg/s320/20230318_173318.jpg" width="320" /></a></div><p>작은 자갈을 깔아준다. 화분 높이에 따라, 1/4 정도 깔아주면 괜찮은 것 같다.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipOFSZC0II6-ZSbHaF_1NZJNNyLVe9m9YuIMAWPlgKNC4YCjIfcnx4HbxoV2By5Hr_kGcT6c2UjtANkVCcgVCnCKcE2VgtOZZ5k-OCUN7CxKdufrBeoSlnfRI-pRtagzcWl3pBZ0r_uiUDqoGODKI3mqD68z61BZlJWmcbONYu5diIbvD2TkA2ww6BZg/s4000/20230318_173404.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipOFSZC0II6-ZSbHaF_1NZJNNyLVe9m9YuIMAWPlgKNC4YCjIfcnx4HbxoV2By5Hr_kGcT6c2UjtANkVCcgVCnCKcE2VgtOZZ5k-OCUN7CxKdufrBeoSlnfRI-pRtagzcWl3pBZ0r_uiUDqoGODKI3mqD68z61BZlJWmcbONYu5diIbvD2TkA2ww6BZg/s320/20230318_173404.jpg" width="320" /></a></div><p>청소용 부직포나, 일회용 마스크를 한 겹 깔아준다. 위에 깔 모래가 기껏 자갈로 만든 공간으로 무너지는 것을 막아준다. 사진과 같이 딱 맞춰서 자르기 보단, 넉넉하게 잘라야 모래가 덜 빠진다.<br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEQtRD1TJkLS-0wkk7z6P7J5Tkt8q5LrgObxFn4teSTpzqNyU44Rr9c0HnlsQPUwkIAqmnogAKetvDlJwNrq7sXLilnWhBt-Kb1YPByCDCvOjY2VNev5-vZfogNsuSuyaRgZoFw_zeJVrFoGMTNpDdUcbnyOQoB2sMe3JpBuFDiHzK-qfbBU2lhmLTKg/s4000/20230318_173638.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEQtRD1TJkLS-0wkk7z6P7J5Tkt8q5LrgObxFn4teSTpzqNyU44Rr9c0HnlsQPUwkIAqmnogAKetvDlJwNrq7sXLilnWhBt-Kb1YPByCDCvOjY2VNev5-vZfogNsuSuyaRgZoFw_zeJVrFoGMTNpDdUcbnyOQoB2sMe3JpBuFDiHzK-qfbBU2lhmLTKg/s320/20230318_173638.jpg" width="320" /></a></div><p>모래는 당연히 소금기가 없어야 한다. 강모래나 원예용 모래라면 그냥 사용해도 괜찮지만, 바다모래라면 여러차례 씻어서 소금기를 모두 없애야 한다.<br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_vUVFI6UNyg-eN3rE8ngFJ5g7w3L67PaxfxZd6rKkPbIei4b-03e8H2VHz2GJ_g8rrsmFGnGUQ29huojBGoXIGO3QAMpNztJxZBGcLxVltRL1NmhXMN9VPVRpdaIXXHQ-NQ2jQ6Cal91mb02d1yHtB3U-FDM4Y9wkGabk-l4aagyr-rac4SQvOzOrlQ/s4000/20230318_173743.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_vUVFI6UNyg-eN3rE8ngFJ5g7w3L67PaxfxZd6rKkPbIei4b-03e8H2VHz2GJ_g8rrsmFGnGUQ29huojBGoXIGO3QAMpNztJxZBGcLxVltRL1NmhXMN9VPVRpdaIXXHQ-NQ2jQ6Cal91mb02d1yHtB3U-FDM4Y9wkGabk-l4aagyr-rac4SQvOzOrlQ/s320/20230318_173743.jpg" width="320" /></a></div><p>부직포가 보이지 않을 정도만 엷게 모래를 깐다. 두껍게 깔 수가 없는데, 아래 자갈 높이 때문에 화분의 공간이 다소 부족하기 때문이다.<br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2jLbUGkDNzflGByHWBPXTRapGQUGosNVYV4W6R75FsRSq0C2VNaazTS3Pteepp0iBsh68WYjREhdeLldjSXFHEG1lGg2f7MVJLTcvu7taEWM4mCk6RlmZfAv50t68st-qZERYrCTsEDe1c85qvL8t9i9SmOyjJzmVsrclLKRSfpkPo15mMg7j3GC8JQ/s4000/20230318_173840.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2jLbUGkDNzflGByHWBPXTRapGQUGosNVYV4W6R75FsRSq0C2VNaazTS3Pteepp0iBsh68WYjREhdeLldjSXFHEG1lGg2f7MVJLTcvu7taEWM4mCk6RlmZfAv50t68st-qZERYrCTsEDe1c85qvL8t9i9SmOyjJzmVsrclLKRSfpkPo15mMg7j3GC8JQ/s320/20230318_173840.jpg" width="320" /></a></div><p>심을 식물을 준비한다. 가능하면 가지고 있는 흙을 어느 정도 남겨 놓으면, 분갈이로 생기는 몸살을 줄일 수 있다.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQMCrRm9EO-TAl1tAHXxVkFjaPxnfBySntxGZBkY8kn9nH9m6v684NGe-2N_xkOPj3eKKF8ThDO7EjiVRsrfrFBHLXQZjL81tRKFwmw5nwGl1Tq7FB-DD60BnjRywJ0prTm6JTGaIfLPeYus-fPKK2DQ8N0qUKszlYXjQ6GPgFS67ysopA5ZIEMVmYxg/s4000/20230318_173858.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQMCrRm9EO-TAl1tAHXxVkFjaPxnfBySntxGZBkY8kn9nH9m6v684NGe-2N_xkOPj3eKKF8ThDO7EjiVRsrfrFBHLXQZjL81tRKFwmw5nwGl1Tq7FB-DD60BnjRywJ0prTm6JTGaIfLPeYus-fPKK2DQ8N0qUKszlYXjQ6GPgFS67ysopA5ZIEMVmYxg/s320/20230318_173858.jpg" width="320" /></a></div><p>식물을 화분 가운데에 놓는다. 지금 딱 맞출 필요가 없다.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4HWI8ykrz1mf8wGOU9e-bKa6HrmVKtH-c9lV1a1cGpBqBeTjcsWEqscWWAphj3dE9ogbTIFoYXrktexLbI95Gz652iAlFQmkdyzPhnAUNtoVUUEn-VifvgogdyYNsdDtPTQ3NKe4rRKLUgye18kvCPNX7OBeXleq9DVl20TjwkiiQdbo4fXjt4HeLvQ/s4000/20230318_174122.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4HWI8ykrz1mf8wGOU9e-bKa6HrmVKtH-c9lV1a1cGpBqBeTjcsWEqscWWAphj3dE9ogbTIFoYXrktexLbI95Gz652iAlFQmkdyzPhnAUNtoVUUEn-VifvgogdyYNsdDtPTQ3NKe4rRKLUgye18kvCPNX7OBeXleq9DVl20TjwkiiQdbo4fXjt4HeLvQ/s320/20230318_174122.jpg" width="320" /></a></div><p>화분을 돌려가며, 모래로 빈 공간을 채워준다.<br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIxqMbEVSDrVmCKtGGyB4PN9BqIezjOSpL0Pu43h93FmXEpE9Hd1Z_S7e7-ijdI8FYtxE-g5etOePtXFUE9Lp6PWIbIpyR1qJOv4e0kr5b9q1XxNuV79kdZODlhXnGN2bRb25aXufD_L_nglYlnPXU3AsA4fpkXRDcD8i64_K0h_Ug_xsG6mrfcOXRpw/s4000/20230318_174315.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIxqMbEVSDrVmCKtGGyB4PN9BqIezjOSpL0Pu43h93FmXEpE9Hd1Z_S7e7-ijdI8FYtxE-g5etOePtXFUE9Lp6PWIbIpyR1qJOv4e0kr5b9q1XxNuV79kdZODlhXnGN2bRb25aXufD_L_nglYlnPXU3AsA4fpkXRDcD8i64_K0h_Ug_xsG6mrfcOXRpw/s320/20230318_174315.jpg" width="320" /></a></div><p>작은 화분이라면, 나중에 물이 넘치지 않도록 1cm 이상 남기고 모래를 채워준다. 모래를 다지기 전에, 식물을 화분 가운데 잘 맞춰준다. 이때는 신경 써서 맞춰야 한다.<br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRBZEacNdE0eG_KlcfdehkrgSfRSyCAbBYlwQ6RJplhCgLFDzNEmESBmqWASKQx7cCegINm2-6JQOUgaB9saGt-uwIJh9pWFYQO79WsMOo4L1ucK6UVLddtoAjsP0nyGPx-JTVd1eAr_1Hc0BhjpHpQgfFGjirL6Iu8NuXXYPMnlXH_S0rsookoK_RPQ/s4000/20230318_174427.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRBZEacNdE0eG_KlcfdehkrgSfRSyCAbBYlwQ6RJplhCgLFDzNEmESBmqWASKQx7cCegINm2-6JQOUgaB9saGt-uwIJh9pWFYQO79WsMOo4L1ucK6UVLddtoAjsP0nyGPx-JTVd1eAr_1Hc0BhjpHpQgfFGjirL6Iu8NuXXYPMnlXH_S0rsookoK_RPQ/s320/20230318_174427.jpg" width="320" /></a></div><p>다 했다면, 물을 준다. 이때 모래라서 매우 잘 파이므로, 식물이 있는 곳보단, 모서리 부분에 준다. 물이 넘치지 않게 찰랑찰랑하게 주더라도, 빠르게 물이 화분 아래로 스며든다.<br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHmX8n_-3EkzDn-YlLtCmbBm6XumX_ppey50ChYweK8WLNwZgv5duYncep5jQ6hwmEWuZXh4LCKeGCpxmPcHb4xJxAKLJn3RJwfYoVOmK1PVTVSod9gQdaQ-Owp_mvykz7MOfZ_idMoHmwdKlNt6fkNuwENzNdF2xc0gozFrlf9P-FACKE-acw3tgH2g/s4000/20230318_174510.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHmX8n_-3EkzDn-YlLtCmbBm6XumX_ppey50ChYweK8WLNwZgv5duYncep5jQ6hwmEWuZXh4LCKeGCpxmPcHb4xJxAKLJn3RJwfYoVOmK1PVTVSod9gQdaQ-Owp_mvykz7MOfZ_idMoHmwdKlNt6fkNuwENzNdF2xc0gozFrlf9P-FACKE-acw3tgH2g/s320/20230318_174510.jpg" width="320" /></a></div><p>적당히 장식하면 완성.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaUv6YOK0wfD05JJbvKW4AqGVvjsZK4ooreYge-rv-lbtECzfygqYVVL48RPdwjEXRSmDjlOSyMOvvW9V7H6r9Hy5Rjp-8h7AyBl_S_9pABdDHPS-1dmy1RIi52l801O7BmTfY5kVWeio2DLSSg4Wr0XndrPHah92afRPHRRgfYgFIxpdNfaTOYJrxBw/s4000/20230318_174830.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1848" data-original-width="4000" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaUv6YOK0wfD05JJbvKW4AqGVvjsZK4ooreYge-rv-lbtECzfygqYVVL48RPdwjEXRSmDjlOSyMOvvW9V7H6r9Hy5Rjp-8h7AyBl_S_9pABdDHPS-1dmy1RIi52l801O7BmTfY5kVWeio2DLSSg4Wr0XndrPHah92afRPHRRgfYgFIxpdNfaTOYJrxBw/s320/20230318_174830.jpg" width="320" /></a></div><p>옆에 큰 화분도, 크기만 다를 뿐, 동일한 방법으로 만들 수 있다. (약 1년 이상 키운 여인초)</p><p><br /></p><p>식물마다 물을 요구하는 정도가 다르다. 다만, 모래가 마르면서 밝게 변하는 것을 보고, 물을 한 번씩 충분히 주고 있다. 보통 1주일에 1번 정도 주는 것 같다.</p><p>통기가 오로지 위의 모래로만 이뤄지기 때문에, 뿌리가 썩는 것에 조심해야 한다. 그래서 거름기가 부족한 모래가 대부분이다.</p><p>아무리 광합성을 하는 식물이라지만, 뿌리를 통해 질소(N), 인(P), 칼륨(K, 가리)을 흡수해야 한다. 식물마다 다르지만, 1년에 2회 정도 액체 비료를 식물 몸이 닿지 않는 곳에 적당히 뿌려준다.<br /></p>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-48986007527788105892023-02-13T14:01:00.001+09:002023-02-13T14:01:46.125+09:00Bash compare floating point numbers<p>Bash에서 실수 비교: bc -l</p>
<pre class="brush:shell"><code>if (( $( echo "1.0 > 1.1" | bc -l ) )) ; then
# ...
fi</code></pre>
<p>참조: <a href="https://stackoverflow.com/questions/8654051/how-can-i-compare-two-floating-point-numbers-in-bash">https://stackoverflow.com/questions/8654051/how-can-i-compare-two-floating-point-numbers-in-bash</a></p><p><br /></p>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-34488695238556201712023-02-06T10:38:00.004+09:002023-02-06T10:38:49.691+09:00Java8 Stream List to Map<p> List를 Map으로 변환</p><pre style='brush:java'><code>mycollection.stream()
.collect(Collectors.toMap(m -> m.getName(), Function.identity()));
</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-81870677212984721382023-02-06T10:31:00.005+09:002023-02-06T10:31:54.383+09:00Java Stream Type Cast<p>Java8 Stream에서 Type Cast하기 <br /></p><pre style="brush: java;"><code>mycollection.stream()
.filter(elem -> elem instanceof MyClass)
.map(MyClass.class::cast)
.collect(Collectors.toList());</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-72305559246251283802023-02-01T10:47:00.003+09:002023-02-01T10:49:45.373+09:00Git 원격 브랜치 삭제<p>원격 브랜치 삭제하는 방법</p><p> </p>
<pre style="brush: shell;"><code># 바로 삭제
git push origin --delete [BRANCH]
# 로컬 삭제하고 삭제했다는 것을 PUSH
git branch -d [BRANCH]
git push origin [BRANCH]</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-5024128063086321162022-11-16T14:13:00.003+09:002022-11-16T14:13:39.375+09:00Linux에서 find결과를 시간 순서대로 정렬하기<p>때때로 어떤 디렉토리 내용을 수정시간 순서(보통 역순)대로 정렬할 필요가 있다. 그럴 때 사용할 수 있는 옵션이 -printf 옵션이다.</p><p>%T+는 마지막 수정시간을 YYYY-MM-DD+HH:MM:SS.ssssssssss 형태로 출력한다.<br /></p><p>참조: <a href="https://man7.org/linux/man-pages/man1/find.1.html">https://man7.org/linux/man-pages/man1/find.1.html</a></p><pre><code style="class: shell;">find /path/something/ -mindepth 1 -maxdepth 1 -type d \ <br /> -name 'myapp-*' -printf "%T+\t%p\n" | \<br /> sort -r | awk -F'\t' '{print $2}'</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-58613785863206337632022-11-14T13:06:00.002+09:002022-11-15T09:38:24.248+09:00Rockylinux Powertools 저장소 사용하기<p>CentOS8 때문에 이모저모 힘든게 많다.</p><p>그중에 glibc-static 같은 패키지는 epel-release에도 없길래 찾아 보니, Powertools라는 저장소에서 관리하고 있더라.</p><p>참조: <a href="https://www.how2shout.com/linux/how-to-enable-powertools-repository-on-rocky-linux-8/">https://www.how2shout.com/linux/how-to-enable-powertools-repository-on-rocky-linux-8/</a></p><p><br /></p><pre><code style="brush: shell;">dnf install -y dnf-plugins-core<br/><br/>dnf config-manager --set-enabled powertools<br /><br />yum -y install glibc-static<br /></code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-7641702725724837452022-10-07T13:50:00.001+09:002022-10-07T13:50:11.802+09:00Bash 스크립트 끝날 때, 함수 실행하기<p>Bash 스크립트가 끝날 때, 특정 함수를 실행하도록 할 때, trap 명령을 사용할 수 있다.</p>
<pre><code class='brush:shell'>#!/usr/bin/env bash
_finish() {
echo "끝!"
}
trap _finish EXIT</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-59524824933610421812022-09-25T20:00:00.003+09:002022-09-25T20:00:41.004+09:00초코 커피Shorts에서 컵 위에 초콜렛 올려놓고, 커피머신에서 바로 에스프레소를 추출해서 초코커피를 만드는게 계속 나오길래, 한 번 해봤다.<br /><br /><br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZKKV5q8ZatkAawBl1E1BU43nPuEG0igzyl5pd4-uFSeFDybuE4-iLpiE9ps1dBpyrv5ZJLblEBefR3tyqmNqwmkXC7NDuDknBdstZ0ttpBRDuz4vWtppNGDBvlQiOpUk2UNj9O9kxW7hM8JivGYoUIhlWtto7a7r07Y3kyzNuvPnE7r1NHmwiOrb9Tg/s4000/20220925_083655.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="1848" data-original-width="4000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZKKV5q8ZatkAawBl1E1BU43nPuEG0igzyl5pd4-uFSeFDybuE4-iLpiE9ps1dBpyrv5ZJLblEBefR3tyqmNqwmkXC7NDuDknBdstZ0ttpBRDuz4vWtppNGDBvlQiOpUk2UNj9O9kxW7hM8JivGYoUIhlWtto7a7r07Y3kyzNuvPnE7r1NHmwiOrb9Tg/s320/20220925_083655.jpg" width="320" /></a></div>
가까운 편의점에서 씁쓸한 허쉬 초콜렛을 찾았는데, 밀크 초콜렛 밖에 없더라. 싫은데...<br /><br /><br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL7940kl9J2POaFn5QmXQ8V01Nh0gAsumdJ-ONP4iGdLinvAf1G5ERATGw9p5LDYtKR5s4beK_Cki-Nr0gjLYUF-8swUEJtYDs2bDKFXfeh1z3H4yV2mQgqJDuJKun9GU4f2eK5P-7Zmea1k1tM2eEP4FfQ4HCcxB2vXo2fl8WhoJFDXgq9VwRCHb1Pg/s4000/20220925_083844.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="1848" data-original-width="4000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL7940kl9J2POaFn5QmXQ8V01Nh0gAsumdJ-ONP4iGdLinvAf1G5ERATGw9p5LDYtKR5s4beK_Cki-Nr0gjLYUF-8swUEJtYDs2bDKFXfeh1z3H4yV2mQgqJDuJKun9GU4f2eK5P-7Zmea1k1tM2eEP4FfQ4HCcxB2vXo2fl8WhoJFDXgq9VwRCHb1Pg/s320/20220925_083844.jpg" width="320" /></a></div>
실패영상 보니까, 초콜렛이 충분히 녹지 못해서 커피머신 밖으로 쏟아지더라. 살아남기 위해 조각 내서 안에 넣었다.<br /><br /><br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqwjB8lusJiTHXA4JCvj2kGUlQgeUam85f3HjPo6XScfUFK23Ml-Btf9Kq9tbZJ1MZnol726-s45bIVs7tiu1SN54qPnZVppMO1uhUTI692XqtkW6LECaCvivKstkFr0qtGx6D2dVUq3tVLwDklVUGiugbGryyUQVgQLxD5iWNxbERAbPm5ku8syRW6Q/s4000/20220925_083848.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="1848" data-original-width="4000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqwjB8lusJiTHXA4JCvj2kGUlQgeUam85f3HjPo6XScfUFK23Ml-Btf9Kq9tbZJ1MZnol726-s45bIVs7tiu1SN54qPnZVppMO1uhUTI692XqtkW6LECaCvivKstkFr0qtGx6D2dVUq3tVLwDklVUGiugbGryyUQVgQLxD5iWNxbERAbPm5ku8syRW6Q/s320/20220925_083848.jpg" width="320" /></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqU7rncde7W3iW2jYFlmkOmNIeKbN8uhxrhVSTzIyzm009yo0F0pM1x5Sa_QKguKZ_F2e2FoP4BsFZJDcoAd9wgmPpD-FPc6OjvM8Mz0QLvLiu4D-REqIr5iwvBpPMbW8gP9pZo3dsSnFCaJe9PuiFZGQoVApTmxWrVOVwZKWq8DqKiJ8nELCVEjfyWw/s4000/20220925_084005.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="4000" data-original-width="1848" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqU7rncde7W3iW2jYFlmkOmNIeKbN8uhxrhVSTzIyzm009yo0F0pM1x5Sa_QKguKZ_F2e2FoP4BsFZJDcoAd9wgmPpD-FPc6OjvM8Mz0QLvLiu4D-REqIr5iwvBpPMbW8gP9pZo3dsSnFCaJe9PuiFZGQoVApTmxWrVOVwZKWq8DqKiJ8nELCVEjfyWw/s320/20220925_084005.jpg" /></a></div>
추출! <br />
<div align="center"><br />에스프레소<br /><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/IrYlL-TBgpM" width="320" youtube-src-id="IrYlL-TBgpM"></iframe></div>
<div align="center"><br />아메리카노<br /><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/upjZJM2GeCk" width="320" youtube-src-id="upjZJM2GeCk"></iframe><br /><br /></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAcTjTgPzwYv4LAoe4X83zaU9nCUGCMuY0yvnVeF7Dva_-uRI4O8JMoPiWXCFhPT82fk7MvH4Vm4CIEe7OwEH6pnaxgH-3Td2syb1cLUIP4Ab-gVlYnl_77fv3D8ZOW2Sg0DcL16kiX8t-gj361O_zWqpLU-vP8Hi93NMywEkTjapjHitEXziDfzcT_A/s4000/20220925_084626.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="4000" data-original-width="1848" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAcTjTgPzwYv4LAoe4X83zaU9nCUGCMuY0yvnVeF7Dva_-uRI4O8JMoPiWXCFhPT82fk7MvH4Vm4CIEe7OwEH6pnaxgH-3Td2syb1cLUIP4Ab-gVlYnl_77fv3D8ZOW2Sg0DcL16kiX8t-gj361O_zWqpLU-vP8Hi93NMywEkTjapjHitEXziDfzcT_A/s320/20220925_084626.jpg" /></a></div>
맛은 별루다. 커피향은 온데간데 없고, 밍밍한 코코아만 남았다. 그나마 에스프레소 버전이 나은 듯.<br /><br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAaVjPDb0iS3LBeuDLAbipVW4T1una6meEKEN__bpySo1vqJpl3WBclW3f520co2whyB1_g7jZpvS7Vy4S3238LCxF7GlzMshX_f7OICj1CtGozs3ltAzy40uXV0dNUejvD5GrJwZQePRqNGKzYsgXv5KwEeCRtvQjZTrXQmTtEl3GfzvNW1eQLKPkAg/s4000/20220925_125220.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="1848" data-original-width="4000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAaVjPDb0iS3LBeuDLAbipVW4T1una6meEKEN__bpySo1vqJpl3WBclW3f520co2whyB1_g7jZpvS7Vy4S3238LCxF7GlzMshX_f7OICj1CtGozs3ltAzy40uXV0dNUejvD5GrJwZQePRqNGKzYsgXv5KwEeCRtvQjZTrXQmTtEl3GfzvNW1eQLKPkAg/s320/20220925_125220.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>
튜닝의 끝은 순정이어라...Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-83847090945728856382022-09-16T09:07:00.005+09:002022-09-16T09:33:48.110+09:00CMake에서 GIT Tag 가져오기<p>먼 옛 날, CVS, Subversion 등에서 소스의 특정 태그를 커밋로그나 뭐 그런 걸로 수정해주는 경우가 있었는데, GIT에서는 그런 거 얄짤 없고, CMake에서도 정식 모듈로 주어지는 것이 없으니, 사부작사부작 만들어 보았다.</p>
<pre><code>find_package(Git)
# GIT 태그를 읽어와 GIT_TAG_VERSION_RAW 이라는 변수로 넣는다.
execute_process(
COMMAND "${GIT_EXECUTABLE}" describe HEAD --tags
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_TAG_VERSION_RAW
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
# GIT 브랜치를 읽어와 GIT_BRANCH 라는 변수로 넣는다.
execute_process(
COMMAND "${GIT_EXECUTABLE}" rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_BRANCH
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
# vX.X.X 형식을 x.x.x 형태로 변환한다.
string(REGEX REPLACE "^v([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\1.\\2.\\3" GIT_TAG_VERSION "${GIT_TAG_VERSION_RAW}")
# 프로젝트 버전 세팅
project(myProject VERSION ${GIT_TAG_VERSION})
# CPack용 버전 세팅
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
#set(CPACK_PACKAGE_VERSION_TWEAK ${PROJECT_VERSION_TWEAK})
</code></pre>
Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-46552371068179845292022-08-26T13:43:00.002+09:002022-08-26T13:43:23.256+09:00/proc/{PID}/environ 출력하기/proc/{PID}/environ 파일은 각 환경변수마다 0x00으로 끝나는 형식을 가지고 있다.<div><br /></div><div>이것을 cat 하면 제대로 볼 수 없는데, xargs를 이용하면 간단하게 볼 수 있다.</div><div><br /></div>
<pre><code class="brush:bash">$ xargs -0 -L1 -a /proc/${PID}/environ</code></pre><div><br /></div>참조: https://askubuntu.com/questions/978711/how-do-i-split-a-proc-environ-file-in-separate-linesSammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-4976147427546583932022-07-19T14:06:00.006+09:002022-07-19T14:06:56.909+09:00잘~들 살아 계신가?문재인 대통령 찍은 손가락을 분지르고 싶다고 페이스북에 공개글로 남긴 이.<div><br /></div><div>그딴 글 일일이 반론하고 뭐하기도 지쳐서, 페이스북도 탈퇴했는데,</div><div><br /></div><div>대통령 된 지 3개월도 되지 않아 지지율 폭락이고, 금리는 폭등인데,</div><div><br /></div><div>안녕하신가?</div><div><br /></div><div>잘~~~들 살아보셔~</div>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.comtag:blogger.com,1999:blog-347844380833106972.post-57863804537799384782022-07-14T14:55:00.003+09:002022-07-14T14:55:22.714+09:00Date in Bash<p>날짜/시간을 Bash에서 쓸 때, 사용한 date 유틸리티 정리</p><p><br /></p>
<h1>POSIX</h1>
<h2>파싱</h2><pre><code class="brush:bash">$ date -jf '%Y%m%d' '20220714'</code></pre>
<h2>출력</h2><pre><code class="brush:bash">$ date -jf '%Y%m%d' '20220714' '+%Y%m%d'</code></pre>
<h2>계산</h2><pre><code class="brush:bash"># 불가능</code></pre>
<h1>GNU extension</h1>
<h2>파싱</h2><pre><code class="brush:bash">$ date '+%Y%m%d' -d '20220714'</code></pre>
<h2>계산</h2><pre><code class="brush:bash">$ date '+%Y%m%d' -d '20220714 +1day'</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-88678527045833969992022-05-31T14:56:00.005+09:002022-05-31T14:57:17.810+09:00Bash에서 자바 버전 문자열 얻기<p>매번 Java Version 확인하는 것도 일이다...</p><pre><code>mapfile -t java_version< <(${JAVA_HOME}/bin/java -version 2>&1 | head -n 1 | sed -E -e 's/.* version "([0-9]+)\.([0-9]+)\.([0-9_.-]+)".*/\1\n\2/g')</code></pre><p><br /></p>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-3100173820177965422022-05-29T19:49:00.006+09:002022-07-19T14:07:31.796+09:00요즘 뭔가 자랑할게 없나 보다<p>개인정보 유출 관련해서 광고하는 거 보면...</p><p>병원이나 치과에서 협박성 광고하는게 생각난다.</p><p><br /></p>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-72335607171455133792022-05-11T15:45:00.004+09:002022-05-11T15:45:24.818+09:00개혁해야지, 나는 빼고.<p>우리 아빠가 말씀하셨지.</p><blockquote><p>개혁을 해야 한다고 말하는데, 나는 빼달라는 사람이 대다수다</p></blockquote><p>정의롭고 자유로운 대한민국?</p><p>그걸 원하면, 스스로 개혁하지 않으면 안 된다.</p><p> </p>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-17250883974741060932022-05-09T11:10:00.001+09:002022-07-19T14:08:26.333+09:00RPM 패키지 파일 풀기<p>어지간하면 YUM으로 하지만, 간혹 필요한 파일만 꺼내고 싶을 때가 있다.</p><p>일단, rpm, cpio 패키지가 필요하니, 설치해놓자.</p><p><br /></p>
<pre><code>$ yum -y install rpm cpio</code></pre>
<p><br /></p><p>이제 패키지를 풀어보자</p>
<pre><code>$ rpm2cpio SOMEPACKAGE.rpm | cpio -idm</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-77533132347127164342022-05-09T11:01:00.002+09:002022-05-09T11:02:25.089+09:00JQ로 JSON Object 만들기<p>Bash로 여러 스크립트에서 JSON Object 만들 때, Escape 처리가 꽤나 귀찮다.</p><p>이럴 때, JQ를 이용하면, 간편하게 JSON Object를 만들 수 있다.</p><p>참조: <a href="https://stackoverflow.com/questions/48470049/build-a-json-string-with-bash-variables">https://stackoverflow.com/questions/48470049/build-a-json-string-with-bash-variables</a></p><p><br /></p>
<pre><code>PARAM1='Hello, world!'
PARAM2='"Double Quotes"'
JSON_STRING=$( jq -n \
--arg PARAM1 "${PARAM1}" \
--arg PARAM2 "${PARAM2}" \
'{param1: $PARAM1, param2: $PARAM2}' )</code></pre>
결과
<pre><code>{
"param1": "Hello, world!",
"param2": "\"Double Quotes\""
}</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-36572175186824290752022-05-03T18:33:00.001+09:002022-05-03T18:33:22.767+09:00EVP Base64 with C++<h2 style="text-align: left;">인코딩
</h2><pre><code>string encodeBase64(const unsigned char *buf, size_t blen)
{
auto plen = 4 * ((blen + 2) / 3);
auto obuf = make_unique<unsigned char[]>(plen + 1);
EVP_ENCODE_CTX *ctx = EVP_ENCODE_CTX_new();
EVP_EncodeInit(ctx);
int olen = plen;
EVP_EncodeUpdate(ctx, obuf.get(), &olen, buf, blen);
int flen = 0;
EVP_EncodeFinal(ctx, obuf.get() + olen, &flen);
olen += flen;
EVP_ENCODE_CTX_free(ctx);
return string((char *)obuf.get(), olen);
}</code></pre><h2 style="text-align: left;">
디코딩
</h2><pre><code>pair<unique_ptr<unsigned char[]>, size_t> decodeBase64(const string &buf)
{
auto plen = 3 * buf.size() / 4;
auto obuf = make_unique<unsigned char[]>(plen + 1);
EVP_ENCODE_CTX *ctx = EVP_ENCODE_CTX_new();
EVP_DecodeInit(ctx);
int olen = plen;
EVP_DecodeUpdate(ctx, obuf.get(), &olen, (unsigned char *)buf.c_str(), buf.size());
int flen = 0;
EVP_DecodeFinal(ctx, obuf.get() + olen, &flen);
olen += flen;
EVP_ENCODE_CTX_free(ctx);
return make_pair<unique_ptr<unsigned char[]>, size_t>(move(obuf), olen);
}</code></pre>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com0tag:blogger.com,1999:blog-347844380833106972.post-15165320050063567642022-03-02T08:51:00.009+09:002022-03-02T08:51:57.340+09:00인격을 대변하지 않는다<p>어려서 부터, 학교에서 <b>타고 다니는 차가 인격을 대변하지 않는다</b>고 배운다.</p><p>비단 차뿐만 아니다.</p><p>입고 다니는 곳도, 인격을 대변하진 않는다.</p><p>어떠한 물질이 그 사람의 인격을 대변하지 않는다.</p><p>오로지, 그 사람이 내뱉은 말과 행동만이 그 사람의 인격을 보여준다.</p><p>그럼에도 내 주위에는, 자신이 사용하는 휴대전화가 자신의 인격인 것 마냥 착각하는 사람이 있다. 특히 더 잘날 것 없는 브랜드임에도, 진심을 다해 다른 브랜드를 깎는 모습을 자주 보게 된다.</p><p></p><blockquote>당신이 사용하고 있는 휴대전화가 인격을 대변하지 않으며, 또한 다른 사람의 인격을 대변하지 않는다.</blockquote><p></p>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.comtag:blogger.com,1999:blog-347844380833106972.post-24695672694945488842022-02-16T10:11:00.007+09:002022-02-16T10:11:54.952+09:00Digital Luxuries이제는 끝이 보이는 기술, 개인용 컴퓨터, 핸드폰, 스마트 손목시계<div><br /></div><div>뭘 선택하든, 딱히 장단점이 없다.</div><div><br /></div><div>그래서 자신에게 잘 맞는 제품 쓰면 된다.</div><div><br /></div><div>근데 특별한 장단점이 없음에도, 관성적으로 특정 제품군을 사는 것이 있다.</div><div><br /></div><div>개인적으로 그것은 <b>사치품</b>으로 보인다.</div><div><br /></div><div>사치품이 나쁜 것이 아니다.</div><div><br /></div><div>자신의 형편에 맞게 사고, 자신이 감당할 수 있으면, 무슨 상관인가.</div><div><br /></div><div>그러한 사치품을 자랑하고 싶은 것도 나쁘게 생각하지 않는다.</div><div><br /></div><div>애초에 사치품을 사는 것 자체가 남에게 자랑하기 위함이 포함되어 있으니까.</div><div><br /></div><div>다만, 경계해야 하는 것이 있다.</div><div><br /></div><div>그 사치품에 대한 열망이 없는 사람에게, 지속적이고 반복적으로 사치품의 장점을 이야기 하는 것.</div><div><br /></div><div>솔직히 듣기 괴롭다.</div><div><br /></div><div>그만 했으면 한다.</div>Sammyhttp://www.blogger.com/profile/13856295893772081767noreply@blogger.com