{"pageContext":{"index":267,"total":364,"name":"2024-06-15","items":[{"node":{"frontmatter":{"title":"JsonTree.js - 轻量级json显示组件","publish":true,"cover":"https://github.com/williamtroup/JsonTree.js/raw/main/docs/images/main.png","showCover":null,"date":"2024-06-15","category":"javascript","url":"https://github.com/williamtroup/JsonTree.js","author":"William Troup","translator":"","tags":["json"],"priority":2},"html":"<hr>"}},{"node":{"frontmatter":{"title":"ascii-silhouettify - 将图片转换为文字剪影","publish":true,"cover":"https://meatfighter.com/ascii-silhouettify/images/neofetch-7.png","showCover":null,"date":"2024-06-15","category":"nodejs","url":"https://github.com/meatfighter/ascii-silhouettify?tab=readme-ov-file","author":"zeroone","translator":"","tags":["picture"],"priority":2},"html":"<hr>\n<p><code class=\"language-text\">npx ascii-silhouettify  -i abc.png -o abc.txt</code></p>"}},{"node":{"frontmatter":{"title":"dgmjs - 无限画布绘图, 提供商用license","publish":true,"cover":"https://camo.githubusercontent.com/0b360d1b045f87959336bf6034c7c7c19862062c081781e11a6d579aee9aacfd/68747470733a2f2f66732e64676d2e73682f692f374753355356385733756f6a486433636266567a4a2f6c777078337533784032782e706e67","showCover":null,"date":"2024-06-15","category":"javascript","url":"https://github.com/dgmjs/dgmjs","author":"DGM","translator":"","tags":["canvas"],"priority":1},"html":"<hr>"}},{"node":{"frontmatter":{"title":"NVIDI NIM可免费供开发者使用","publish":true,"cover":"","showCover":null,"date":"2024-06-15","category":"AI","url":"https://tablogs.nvidia.cn/blog/nvidia-nim-model-deployment-generative-ai-developers/","author":"英伟达中国","translator":"","tags":["nvidia"],"priority":1},"html":"<hr>"}},{"node":{"frontmatter":{"title":"css实现内嵌链接","publish":true,"cover":"https://www.amitmerchant.com/images/nested-hyperlink.png","showCover":null,"date":"2024-06-15","category":"frontend","url":"https://www.amitmerchant.com/nested-anchor-links-using-css/","author":"Amit Merchant","translator":"","tags":["css"],"priority":1},"html":"<hr>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span><span class=\"token style-attr language-css\"><span class=\"token attr-name\"> <span class=\"token attr-name\">style</span></span><span class=\"token punctuation\">=\"</span><span class=\"token attr-value\"><span class=\"token property\">position</span><span class=\"token punctuation\">:</span> relative</span><span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span><span class=\"token punctuation\">></span></span> \n        Outer card content\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>a</span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>https://google.com<span class=\"token punctuation\">\"</span></span><span class=\"token style-attr language-css\"><span class=\"token attr-name\"> <span class=\"token attr-name\">style</span></span><span class=\"token punctuation\">=\"</span><span class=\"token attr-value\"><span class=\"token property\">position</span><span class=\"token punctuation\">:</span> absolute<span class=\"token punctuation\">;</span> <span class=\"token property\">inset</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>a</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">></span></span>\n\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>a</span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>https://amitmerchant.com<span class=\"token punctuation\">\"</span></span><span class=\"token style-attr language-css\"><span class=\"token attr-name\"> <span class=\"token attr-name\">style</span></span><span class=\"token punctuation\">=\"</span><span class=\"token attr-value\"><span class=\"token property\">position</span><span class=\"token punctuation\">:</span> relative<span class=\"token punctuation\">;</span> <span class=\"token property\">inset</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span></span><span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span><span class=\"token punctuation\">></span></span>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span><span class=\"token punctuation\">></span></span>Inner card content<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>a</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span></code></pre></div>"}},{"node":{"frontmatter":{"title":"ice - 适用于 macOS 的强大菜单栏管理器","publish":true,"cover":"https://private-user-images.githubusercontent.com/90936861/337269729-e256575b-880c-49ee-90a1-b6eabd4a7868.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg0MDMwNDUsIm5iZiI6MTcxODQwMjc0NSwicGF0aCI6Ii85MDkzNjg2MS8zMzcyNjk3MjktZTI1NjU3NWItODgwYy00OWVlLTkwYTEtYjZlYWJkNGE3ODY4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE0VDIyMDU0NVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE3ZjM2YmI1ZWY4ZWI2MDU2YWRjYjk0Yzg3NTJiMWU3M2Q2M2JjOTE2MDhmM2YwYWU0OTQ5YTljMDFkMGRmZjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.3QdeVg6xaarnIw9HxiPktHh2-07rLu6BxgtsYVqRB9c","showCover":null,"date":"2024-06-15","category":"mobile","url":"https://github.com/jordanbaird/Ice","author":"Jordan Baird","translator":"","tags":["macos"],"priority":1},"html":"<hr>"}},{"node":{"frontmatter":{"title":"lsp-ai - Github Copilot替代，支持本地模型以及openAPI等","publish":true,"cover":"https://github.com/SilasMarvin/lsp-ai/raw/main/logos/logo-white-black-background-1024x1024.png","showCover":null,"date":"2024-06-15","category":"AI","url":"https://github.com/SilasMarvin/lsp-ai/?tab=readme-ov-file","author":"Silas Marvin","translator":"","tags":["openAI"],"priority":2},"html":"<hr>"}},{"node":{"frontmatter":{"title":"react-geo - 与 React、Ant Design 和 OpenLayers 结合使用的地理模块组","publish":true,"cover":"","showCover":null,"date":"2024-06-15","category":"frontend","url":"https://github.com/terrestris/react-geo","author":"terrestris GmbH & Co. KG","translator":"","tags":["geo"],"priority":1},"html":"<hr>"}},{"node":{"frontmatter":{"title":"react官方与codemod合作提供react 19自动升级脚本","publish":true,"cover":"https://cdn.sanity.io/images/aho0e32c/production/7556fba6f2d7435a3d26d05678c62ca3cb6174c2-1024x496.png?w=1024&fit=max&auto=format","showCover":null,"date":"2024-06-15","category":"frontend","url":"https://react.dev/blog/2024/04/25/react-19-upgrade-guide#codemods","author":"Ricky Hanlon","translator":"","tags":["react"],"priority":1},"html":"<hr>\n<p><a href=\"https://github.com/reactjs/react-codemod\">源码</a></p>"}},{"node":{"frontmatter":{"title":"migrate-ai - 基于openAI将代码自动转换(包括javascript到typescript)","publish":true,"cover":"","showCover":null,"date":"2024-06-15","category":"AI","url":"https://github.com/miltonian/migrate-ai","author":"Alexander Hamilton","translator":"","tags":["openAI"],"priority":1},"html":"<hr>"}},{"node":{"frontmatter":{"title":"react-19变化","publish":true,"cover":"","showCover":null,"date":"2024-06-15","category":"frontend","url":"https://react.dev/blog/2024/04/25/react-19","author":"The React Team","translator":"","tags":["react"],"priority":1},"html":"<hr>\n<p>useActionState，useOptimistic， useTransition</p>\n<p>use 支持有条件的(if 之后使用)读取资源，目前支持Promise和Context</p>\n<p>自带 useFormStatus 读取父元素(配合useActionState)状态</p>\n<p>不再需要forwardRef，直接使用ref作为属性</p>\n<p><code class=\"language-text\">Context.Provider</code>将被弃用，直接使用<code class=\"language-text\">Context</code></p>\n<p>支持从 ref 回调返回一个清理函数</p>\n<p>直接支持title、link 和 meta 等文档元数据(但是还是建议使用react-helmet)</p>\n<p>支持外部样式表link</p>\n<p>支持外部script的async</p>\n<p>支持自定义元素</p>"}},{"node":{"frontmatter":{"title":"reshot - 免费图标，也提供商业license","publish":true,"cover":"","showCover":null,"date":"2024-06-15","category":"frontend","url":"https://www.reshot.com/","author":"reshot.com","translator":"","tags":["icon"],"priority":1},"html":"<hr>"}},{"node":{"frontmatter":{"title":"事件驱动架构中的反模式","publish":true,"cover":"https://codeopinion.com/wp-content/uploads/2024/06/image-4.png","showCover":null,"date":"2024-06-15","category":"devops","url":"https://codeopinion.com/beware-anti-patterns-in-event-driven-architecture","author":"Derek Comartin","translator":"","tags":["command"],"priority":1},"html":"<hr>\n<blockquote>\n<p>文章感觉什么解决方案都没讲，以下是ChatGPT提供的解决方案：\n泄露内部数据结构：避免在事件中包含内部数据结构，应该只传递必要的信息。\n过度依赖事件进行数据分发：使用查询服务获取最新数据，而不是依赖事件。\n滥用命令和事件模式：明确区分命令和事件的用途，确保各自负责不同的业务逻辑。\n处理事件顺序和查询：使用事件溯源和CQRS（命令查询职责分离）模式，确保事件顺序和数据一致性。</p>\n</blockquote>"}},{"node":{"frontmatter":{"title":"一位摄影师在真实照片在 AI 图像类别中获胜后被取消了图片比赛的资格","publish":true,"cover":"https://petapixel.com/assets/uploads/2024/06/flamingone.jpg","showCover":null,"date":"2024-06-15","category":"AI","url":"https://petapixel.com/2024/06/12/photographer-disqualified-from-ai-image-contest-after-winning-with-real-photo","author":"Matt Growcoot","translator":"","tags":["photo"],"priority":1},"html":"<hr>\n<p>我(Miles Astray)想证明大自然仍然可以打败机器，真正的创意人员在实际工作中仍然有价值</p>"}},{"node":{"frontmatter":{"title":"将多网页下载打包到zip文件，且可直接用zip展示网页,可以用作站点生成器","publish":true,"cover":"","showCover":null,"date":"2024-06-15","category":"nodejs","url":"https://github.com/potahtml/mpa-archive","author":"potahtml","translator":"","tags":["html"],"priority":1},"html":"<hr>"}},{"node":{"frontmatter":{"title":"印度初创公司 3D 打印火箭发动机仅用 72 小时","publish":true,"cover":"https://spectrum.ieee.org/media-library/a-large-group-of-agnikuls-staff-stands-outside-underneath-a-rocket-labelled-agnibaan-in-india.jpg?id=52436302&width=2400&height=1499","showCover":null,"date":"2024-06-15","category":"other","url":"https://spectrum.ieee.org/3d-printed-rocket","author":"Edd Gent","translator":"","tags":["3d print"],"priority":1},"html":"<hr>\n<p>Agnikul 的与众不同之处在于它的发动机是一次性打印的，而不是作为多个组件，然后必须缝合在一起，这大大加快了制造时间</p>"}},{"node":{"frontmatter":{"title":"尝鲜react complier","publish":true,"cover":"https://www.developerway.com/assets/i-tried-react-compiler/4-everything-memoized.png","showCover":null,"date":"2024-06-15","category":"frontend","url":"https://www.developerway.com/posts/i-tried-react-compiler","author":"Nadia Makarevich","translator":"","tags":["react"],"priority":2},"html":"<hr>"}}]}}