參考網址:珩宇老師生活科技
雷射切割機為現在大家實作時非常常用的加工工具,而一般來說我們常用的雷射切割機的款式有兩種類型,一種搭配RDworks,一種則是搭配CorelLaser這個外掛軟體。
CorelLaser要搭配CorelDraw這套付費的向量繪圖軟體
K40 Whisperer 可搭配 6C6879-LASER-M2 控制板(柳營國中用這個機板)
網址:http://www.scorchworks.com/K40whisperer/k40whisperer.html
參考網址:珩宇老師生活科技
雷射切割機為現在大家實作時非常常用的加工工具,而一般來說我們常用的雷射切割機的款式有兩種類型,一種搭配RDworks,一種則是搭配CorelLaser這個外掛軟體。
CorelLaser要搭配CorelDraw這套付費的向量繪圖軟體
K40 Whisperer 可搭配 6C6879-LASER-M2 控制板(柳營國中用這個機板)
網址:http://www.scorchworks.com/K40whisperer/k40whisperer.html
參考網址:
退役的 pi3 何去何從?
樹莓派智能家居單靠一款Home Assistant就能控制所有品牌的智能設備!如何安裝?【明富其識】
https://www.youtube.com/watch?v=I17bFW0eni0
下載及安裝
https://www.home-assistant.io/installation/raspberrypi
https://ithelp.ithome.com.tw/articles/10218414
https://www.youtube.com/watch?v=Wu2rCB_NCnc
https://github.com/home-assistant/operating-system/releases/tag/10.0
主機的/etc/dnsmasq.conf設定
addn-hosts=/etc/hosts
設定完得service dnsmasq restart
主機的/etc/hosts
120.116.1.10 tn
163.26.179.2 sp
125.228.21.220 sa
ubuntu client端設定
/etc/resolv.conf nameserver 指向dnsmasq主機
nameserver 192.168.1.9
這樣就可以了
windows client端設定
指定ipv4的DNS為192.168.1.9
取消ipv6的選項,ipv6會抓ipv6的DNS
ipconfig /all 查詢DNS的欄位只能有192.168.1.9
只有簡單的網址不接受需要比較複雜的兩段式網址(加個.a吧)
主機的/etc/hosts
120.116.1.10 tn.a
andriod 尚不知如何指定只有一個DNS
sublime支援語言眾多,右下角語言選單落落長,可以少一點嗎?
找到sublime安裝目錄,一般是C:\Program Files\Sublime Text 3\Packages
每個檔案(例如ASP.sublime-package)都是對特定語言的支援
挑不常用到的檔案,直接刪除即可
參考網址:longcaretw.com
參考網址:https://www.kocpc.com.tw/archives/487189
微軟image creator內建在Edge內,可以依要求產生圖檔。
目前還不支援中文的提示,所以就利用google翻譯成英文
下一段需求
A sports meeting poster in A4 vertical format with running track and children, cartoon style,Editable image format, SVG
經過約3分鐘的運算,終於得到4張圖檔。A4直式沒用,它產生的都是1024*1024大小的圖,
Editable image format, SVG也沒用,它也需要保護吧,給你可編輯的圖檔,靠什麼吃飯啊!
基本上圖的品質不錯,只是它可能故意留一些小問題,人物的手都不太正常,好像章魚。
標題的文字也都故意拼錯。
我想這是故意的吧,讓人一看就知道是AI產生的圖。
初始建立帳號給了25個下要求的機會,用完了就得去微軟的Rewards拿點數兌換。
參考網址:
用VScode+EasyCod(ChatGPT)所產生的程式
運用到拖曳調整道次
問題1:用javascript ajax 讓籤號可以拖曳,並交換內容
問題2:可以加入ajax功能嗎?要更改資料庫內容
<!-- 20230408 by ChatGPT --> <style> .tags { display: flex; flex-wrap: wrap; } .tag { padding: 10px; margin: 10px; background-color: #ccc; cursor: move; } </style> <div class="tags" id="container"> <div class="tag" draggable="true" ondragstart="drag(event)" data-id="1">Tag 1</div> <div class="tag" draggable="true" ondragstart="drag(event)" data-id="2">Tag 2</div> <div class="tag" draggable="true" ondragstart="drag(event)" data-id="3">Tag 3</div> <div class="tag" draggable="true" ondragstart="drag(event)" data-id="4">Tag 4</div> </div> <script type="text/javascript"> var dragSrcEl = null; function drag(e) { dragSrcEl = e.target; e.dataTransfer.effectAllowed = 'move'; e.dataTransfer.setData('text/html', dragSrcEl.innerHTML); } function drop(e) { e.preventDefault(); if (e.target.className == 'tag') { var temp = dragSrcEl.innerHTML; dragSrcEl.innerHTML = e.target.innerHTML; e.target.innerHTML = temp; // 更新資料庫內容 var id1 = dragSrcEl.getAttribute('data-id'); var id2 = e.target.getAttribute('data-id'); console.log(id1); updateDatabase(id1, id2); } } function allowDrop(e) { e.preventDefault(); } var container = document.getElementById('container'); container.addEventListener('drop', drop, false); container.addEventListener('dragover', allowDrop, false); function updateDatabase(id1, id2) { var xhr = new XMLHttpRequest(); xhr.open('POST', 'update.php', true); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responseText); } }; xhr.send('id1=' + id1 + '&id2=' + id2); } </script>