首页
好物推荐
薅羊毛领红包
好看壁纸
更多
隐私政策
友情链接
时光机
搜索
1
使用 docker 快速安装 Home Assistant
4,436 阅读
2
Ipad mini2 降级到IOS10.3.3系统
2,520 阅读
3
Home Assistant集成OpenWrt
2,053 阅读
4
小米电视做大屏安装火狐浏览器教程
1,928 阅读
5
华为手机开启ADB进行WIFI远程调试
1,618 阅读
无分类
智能家居
心得随想
文档教程
登录
Search
标签搜索
Linux
JS
教程
CSS
HTML
配置
NodeJS
Docker
解决方案
文档
Git
Java
技术培训
Hadoop
Mac
Windows
RiotJS
Python
VPS
Home Assistant
DONG HAO
累计撰写
147
篇文章
累计收到
49
条评论
首页
栏目
无分类
智能家居
心得随想
文档教程
页面
好物推荐
薅羊毛领红包
好看壁纸
隐私政策
友情链接
时光机
搜索到
21
篇与
DONG HAO
的结果
2023-02-21
VSCode远程开发JAVA多模块项目
创建配置文件.vscode/settings.json{ "java.jdt.ls.java.home": "/usr/lib/jdk-17.0.6-10", "java.compile.nullAnalysis.mode": "automatic", "java.configuration.runtimes":[ { "name": "JavaSE-1.8", "path": "/usr/lib/jdk1.8.0_281", }, { "name": "JavaSE-11", "path": "/usr/lib/jdk-11.0.11", }, { "name": "JavaSE-17", "path": "/usr/lib/jdk-17.0.6-10", "default": true } ], "java.configuration.updateBuildConfiguration": "automatic", "maven.terminal.customEnv": [ { "environmentVariable": "JAVA_HOME", "value": "/usr/lib/jdk1.8.0_281", },{ "environmentVariable": "MAVEN_OPTS", "value": "-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" } ], "maven.executable.path": "/usr/local/apache-maven-3.8.1/bin/mvn", "maven.view": "hierarchical", "maven.executable.options": "-s /home/hadong/.m2/patsnap-settings.xml", "java.configuration.maven.userSettings": "/home/hadong/.m2/patsnap-settings.xml", "maven.settingsFile": "/home/hadong/.m2/patsnap-settings.xml", "java.debug.settings.onBuildFailureProceed": true, "java.import.gradle.java.home": "/usr/lib/jdk1.8.0_281", "java.import.gradle.wrapper.enabled": false, "java.import.gradle.version": "", "java.import.gradle.home": "/home/hadong/.sdkman/candidates/gradle/current/", "gradle.autoDetect": "on", "gradle.javaDebug.cleanOutput": true, "gradle.debug": true }.vscode/launch.json{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "java", "name": "Launch APP", "request": "launch", "mainClass": "com.patsnap.app.Application", "env": { "spring.profiles.active": "secret", "configs.com.patsnap.workspace.region": "DH", "configs.com.patsnap.dynamodb.table.track.ignore.regex.list": "workspace_folder_v2,workspace_task" }, "cwd": "${workspaceFolder}", "javaExec": "/usr/lib/jdk1.8.0_281/bin/java", "projectName": "workspace-service", "shortenCommandLine": "jarmanifest" } ] }
2023年02月21日
104 阅读
0 评论
0 点赞
2023-02-21
Linux 配置多JDK环境
下载多个版本的JDKhttps://www.oracle.com/java/technologies/downloads/#java11解压到/usr/lib目录我安装了3个版本JDK/usr/lib/jdk1.8.0_281 /usr/lib/jdk-11.0.11 /usr/lib/jdk-17.0.6-10分别注册环境alternatives --install /usr/bin/java java /usr/lib/jdk1.8.0_281/bin/java 8 alternatives --install /usr/bin/java java /usr/lib/jdk-11.0.11/bin/java 11 alternatives --install /usr/bin/java java /usr/lib/jdk-17.0.6-10/bin/java 17刷新配置update-alternatives --config java source /etc/profile java -version
2023年02月21日
55 阅读
0 评论
0 点赞
2023-02-09
MergeApi装饰器方案
定义一个接口可以入参数组当一个时间内的不同调用参数形成多个Api请求时候,可以合并请求,使用下面的合并请求装饰器装饰器import { mergeWith, isArray, unionWith, isEqual } from 'lodash' /** * log * @param type log类型 * @param id logId * @param input 输入 * @param pending 延时 */ function log(id: string, input: any, pending?: number) { console.group('%c%s(%s)', 'color:#0764E9;padding:2px;', '[MergeApi]', id) console.log('%c延时:', 'color:green;padding:2px;', `${pending} ms`) console.log('%c参数:', 'color:green;padding:2px;', input) console.groupEnd(); } export interface MergeApiConfig { delay?: number, debug?: boolean, } /** * 合并接口调用 * @param config 配置 * @returns */ export function MergeApi(config?: MergeApiConfig) { let cache: object = {}; let timer: number | null = null; let promise: Promise<any> = Promise.resolve(); return function(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<any>) { const { delay = 500, debug = false, } = config || {} const key = `${target.name}.${propertyKey}` const method = descriptor.value; descriptor.value = function(arg: object = {}) { const input = JSON.parse(JSON.stringify(arg)) mergeWith(cache, input, (obj, src) => { if (isArray(obj)) { return unionWith(obj, src, isEqual); } }) if (timer) { return promise } promise = new Promise((resolve, reject) => { timer = window.setTimeout(() => { debug && log(key, cache, delay) method.apply(this, [cache]) .then(resolve) .catch(reject) clearTimeout(timer as number) timer = null cache = {} }, delay) }) return promise; } return descriptor } } 使用export class ApiTranslate { @MergeApi({ delay: 800, }) static translate(args) { return Promise... } }
2023年02月09日
41 阅读
0 评论
0 点赞
2023-02-09
MockApi装饰器方案
在项目开发初期,需要前后端约定数据结构,Mock数据开发的时候,可以使用下面的MockApi可以在控制台看到mock数据的结构,方便联调。装饰器import axios from 'axios' import type { AxiosRequestConfig } from 'axios' import { isFunction } from 'lodash' import { Random } from 'mockjs' export function MockGet(url: string) { return Mock({ url, method: 'GET', }) } export function MockPost(url: string) { return Mock({ url, method: 'POST', }) } export function MockPut(url: string) { return Mock({ url, method: 'PUT', }) } export function resolve<T>(data: T, delay = 1000): Promise<T> { return new Promise((resolve) => { setTimeout(() => { resolve(data) }, delay) }) } export function Mock(config: AxiosRequestConfig) { return function(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<any>) { descriptor.value = function(...args: any[]) { return axios(config).then(({ data, }) => { // @ts-ignore const res = { error_code: 0, status: true, data, } console.warn('Mock', `[${config.method}] ${config.url}`, res, args); return res.data; }) } return descriptor } } /** * mockApiLog * @param type log类型 * @param id logId * @param input 输入 * @param output 返回 * @param pending 耗时 */ function mockApiLog(id: string, input: any, output: any, pending?: number) { console.group('%c%s(%s)', 'color:#0764E9;padding:2px;', '[MockApi]', id) console.log('%c耗时:', 'color:green;padding:2px;', `${pending} ms`) console.log('%c参数:', 'color:green;padding:2px;', input) console.log('%c返回:', 'color:green;padding:2px;', output) console.groupEnd(); } export interface MockApiConfig { pending?: number, } /** * 拦截接口调用,返回mock数据 * @param mock mock方法或者直接返回mock数据 * @returns */ export function MockApi(mock: any, config?: MockApiConfig) { return function(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<any>) { let { pending, } = config || {} if (pending === undefined) { pending = Random.integer(200, 2000) } const key = `${target.name}.${propertyKey}` descriptor.value = function(...args: any[]) { const output = isFunction(mock) ? mock.apply(this, [...args]) : mock; const input = JSON.parse(JSON.stringify(args)) return resolve(output, pending).then(data => { mockApiLog(key, input, data, pending); return data }) } return descriptor } } 使用export function projectsMockData(...args: any[]) { const tagStructure = mock({ 'tagStructure|1-10': [ { id: '@id', name: '@cword(1, 5)', } ], }) return mock({ 'items|0-20': [{ id: '@id', name: '@ctitle(1, 10)', icon: () => Random.pick( Random.range(1, 6).map(i => `${i}`) ), description: '@cword(6, 30)', 'tags|3': [() => Random.pick(tagStructure.tagStructure).id], 'members|0-16': [ { id: '@id', name: '@cname', email: '@email', } ], update_ts: '@datetime', created_at: '@datetime', }], ...tagStructure, }); }@MockApi(projectsMockData, { pending: 1000, })
2023年02月09日
61 阅读
0 评论
0 点赞
2023-01-05
新冠个人预防攻略
中了奥密克戎,不想再中其他了,从周围“苟”到现在的人学习一些心得,记录下来上班篇一定要戴医用N95{callout color="#f0ad4e"}真正能起到防疫作用的只有以下五种类型:1、医用防护口罩GB19083-2010 ☑️2、医用外科口罩YY0469-20113、日常防护型口罩GB/T32610-2016 ☑️4、一次性使用医用口罩YY/T0969-20135、儿童口罩GB/T38880-2020 ☑️但是在人员密集场所一定要戴防护型的,密闭性高的。{/callout}{callout color="#f0ad4e"}如何正确佩戴口罩:1.正确佩戴口罩,确保口罩盖住口鼻和下巴,鼻夹要压实。2.口罩出现脏污、变形、损坏、异味时需及时更换,每个口罩累计佩戴时间不超过8小时。3.在跨地区公共交通工具上,或医院等环境使用过的口罩不建议重复使用。4.需重复使用的口罩在不使用时宜悬挂于清洁、干燥、通风处。5.戴口罩期间如出现憋闷、气短等不适,应立即前往空旷通风处摘除口罩。6.外出要携带备用口罩,存放在原包装袋或干净的存放袋中,避免挤压变形,废弃口罩归为其他垃圾处理。 7.随身带酒精喷剂,在面前身体周围喷洒,不可以直接喷面部和口罩,摸口罩前喷一下手,摸完口罩也要喷一下手。 {/callout}酒精勤喷{callout color="#f0ad4e"}重点区域:电脑键盘鼠标手机手外卖水杯经常暴露的随身物品{/callout}居家篇门口建立消毒缓冲区{callout color="#f0ad4e"}在门口整理一块区域用来消毒缓冲区{/callout}准备次氯酸泡腾片跟喷壶{callout color="#f0ad4e"}次氯酸按照比例配好后放在门口缓冲区,需要避光密闭存储,最好放在盒子/黑袋子里对缓冲区快递外卖以及衣服头发全方位喷雾消毒,据说15s可杀菌99%{/callout}尽可能的在线买菜{callout color="#f0ad4e"}拿快递外卖时候尽可能在空旷的环境里,不要进入菜鸟驿站,在门口等待戴一次性手套拿快递外卖快递外卖在家里缓冲区消毒静置一段时间处理冷鲜需要戴手套,围裙,口罩{/callout}勤通风多消毒{callout color="#f0ad4e"}在天气比较好的时候,通风半小时以上{/callout}物资准备物品数量备注N95口罩适量大人小孩的都要医用护目镜成员*1.5-食品级一次性手套适量加厚抗原适量-科普时间☑️ 吸入少量新冠病毒不会感染{card-describe title=" "}参考文章: 吸入一百个新型冠状病毒会怎样 总结:在侵入之前,病毒啥都不会,既不能生长,也不能繁殖,甚至连动都不会动,一切行动都完全依赖于外力。如果遇上大量病毒,再加上爆炸式的几何增长,免疫系统杀得手抽筋都遏制不住病毒暴增,就会在简单粗暴的“人海战术”中垮下,于是人就被病毒搞死了。离开剂量谈毒性,就是耍流氓。而病毒与免疫系统的较劲中,对最终胜负起到决定作用的,仍然是数量。一旦数量到达一定程度,指数的“爆炸性”就体现出来了。必须有足够量的病毒,才能抵达人体→侵入细胞→对抗免疫→致病→致死,这其中的每一步,都必须满足数量的条件。理论上,1个病人出门一趟,每个接触过的人都会被感染——因为病人在不停的呼吸,而呼吸时会有病毒被极其微小的飞沫带出,可以说一路都是病毒。但事实上,绝不是每个与病人接触过的人都会感染发病,其原因正在于病毒数量。呼吸带出的那一丢丢的病毒,想要恰好侵入呼吸道,它也蛮难的。即使运气爆棚,真的侵入了,但由于数量太少,也很快会被免疫系统清理干净,远到不了令人发病的程度。也就是说,即使吸入了新型冠状病毒,只要数量少,就没事儿。我们所采用的一切预防及治疗病毒性疾病的措施,全部都是在围绕着病毒数量做文章。也就是说,只要想方设法降低可能侵入的病毒数量,就能最大程度地降低染病概率,就是更有效的预防措施。怎么降低病毒数量?像减少接触、戴口罩、勤洗手、勤通风、注意卫生等方式都是行之有效的。在此,另介绍一个增效的手段 - 随身75%医用酒精喷雾。不过要注意,酒精不宜直接对着口罩喷,由于酒精的表面张力和水有很大不同,用酒精喷了口罩外面,某种程度上会破坏口罩外层的防水层结构,使对水的吸收能力增强,从而加速口罩的过滤层失效。此外,密闭空间里,喷雾累积到一定程度有可能爆燃,万不可像洒水车一样猛喷。正确的用法是,在高传染风险的场合时,用酒精喷雾往面部周围喷,不直接喷到口罩上,也不要强迫症似的一会儿一喷。 这样,就在短时间内给自己加上一层雾化屏障,有效灭活病毒,尽量降低可能的病毒数量。这对于日常防护而言,无疑是积极且有效的。(在有84消毒液的环境里不要喷,否则酒精会与次氯酸反应产生氯气对身体有害){/card-describe}
2023年01月05日
69 阅读
0 评论
3 点赞
2022-10-11
dpkg: 处理软件包 xxx (--configure)时出错解决方法
dpkg: 处理软件包 xxx (–configure)时出错:依赖关系问题 - 仍未被配置 dpkg: 依赖关系问题使得 xxx 的配置工作不能继续: xxx 依赖于 libicu-dev;然而: 软件包 libicu-dev 尚未配置。解决方法:#先切换到root用户 sudo su mv /var/lib/dpkg/info /var/lib/dpkg/info_bak mkdir /var/lib/dpkg/info apt-get update && apt-get -f install mv /var/lib/dpkg/info/* /var/lib/dpkg/info_bak/ rm -rf /var/lib/dpkg/info mv /var/lib/dpkg/info_bak /var/lib/dpkg/info完成
2022年10月11日
58 阅读
0 评论
0 点赞
2022-10-10
深度系统Deepin 15.11如何升级到V20版本
DeepinV20属于大版本号升级,如果还是15.11版本的用户,在设置界面的系统更新里面是无法进行更新的,界面中仍会显示系统是最新的。那如何才能升级到V20版本呢?跨版本升级操作如下:需要手动更改sources.list的软件源(/etc/apt/sources.list)1) 将原来的软件源改为:deb [by-hash=force] https://community-packages.deepin.com/deepin/ apricot main contrib non-free2) 打开终端执行如下命令:sudo apt update sudo apt upgrade3) 更新完成重启并再次更新后,新增20官方商店源(/etc/apt/sources.list.d/appstore.list ),没有该文件则新建:deb https://community-store-packages.deepin.com/appstore eagle appstore4)再次执行sudo apt update sudo apt-get dist-upgrade这样便完成了15.11到V20的升级。
2022年10月10日
229 阅读
0 评论
0 点赞
2022-09-04
小米电视开机广告和乐播投屏广告Hosts屏蔽列表
将以下Host加入路由器的广告拦截黑名单里面// 小米电视开机广告 gvod.aiseejapp.atianqi.com stat.pandora.xiaomi.com upgrade.mishop.pandora.xiaomi.com logonext.tv.kuyun.com config.kuyun.com mishop.pandora.xiaomi.com dvb.pandora.xiaomi.com api.ad.xiaomi.com de.pandora.xiaomi.com data.mistat.xiaomi.com jellyfish.pandora.xiaomi.com gallery.pandora.xiaomi.com o2o.api.xiaomi.com bss.pandora.xiaomi.com // 乐播投屏广告 hpplay.cdn.cibn.cc h5.hpplay.com.cn sdkauth.hpplay.cn imdns.hpplay.cn vipauth.hpplay.cn rp.hpplay.cn sl.hpplay.cn 519332DA.rtc.youme.im hotupgrade.hpplay.cn hotupgrade.hpplay.com.cn pin.hpplay.cn tvapp.hpplay.cn hpplay.cdn.cibn.cc image.hpplay.cn gslb.hpplay.cn rp.hpplay.cn cdn.hpplay.com.cn h5.hpplay.com.cn adeng.hpplay.cn conf.hpplay.cn adcdn.hpplay.cn g.dtv.cn.miaozhen.com android.bugly.qq.com alog.umeng.com hotupgrade.hpplay.cn pin.hpplay.cn
2022年09月04日
1,608 阅读
0 评论
2 点赞
2022-02-22
前端入门学习指南
基础教程1. HTML 教程 2. CSS 教程 3. JavaScript 教程 4. jQuery 教程进阶教程1. Vue2 教程 2. TypeScript 教程工具1. VSCode下载2. 开发文档快速查询3. Nodejs下载http-server轻量本地静态文件服务器安装# 先确定本地已经安装nodejs npm install --global http-server运行# 进入想要托管的项目文件夹内 http-server -c-1 --cors # 根据提示访问 http://localhost:8080 即可
2022年02月22日
125 阅读
0 评论
2 点赞
2022-02-07
Ipad mini2 降级到IOS10.3.3系统
下载Vieux并解压https://github.com/MatthewPierson/VieuxVieux支持的设备降级列表 iOS 10.3.3 iPhone 5s, iPad Air, iPad Mini 2 (Not iPad4,6) iOS 8.4.1 iPhone 5, iPhone 4s, iPad 2, iPad 3, iPad 4, iPad Mini 1, iPod 5 iOS 6.1.3 iPhone 4s, iPad 2 (Not iPad2,4)确保 python3.8python -V如何修改python版本参考这篇文章 https://blog.minws.com/archives/816/确保安装 libusbbrew install libusb使用原装苹果数据线连接电脑{alert type="success"}如何进入dfu模式?亮屏状态下同时长按home和电源键10s然后保持长按home并松开电源键10s进入dfu,dfu状态下默认是黑屏的{/alert}安装爱思助手1. 下载固件iPad_64bit_10.3.3_14G60_Restore.ipsw 2. 查看固件下载路径:~/Downloads/i4ToolsDownloads/Firmware/iPad_64bit_10.3.3_14G60_Restore.ipsw到Vieux文件夹里面运行# 确保python 3.8 python -V # 3.8 # 安装依赖 python install -r requirements.txt # 如果Unzipping后报错,ERROR: Unsupported model... # 执行如下补丁 # 运行 CatalinaFix ./CatalinaFix.sh # 在dfu模式下启动降级刷机 python vieux -i ~/Downloads/i4ToolsDownloads/Firmware/iPad_64bit_10.3.3_14G60_Restore.ipsw 机器会在两次进度条一次绿屏之后进入系统,这时系统成功降级到10.3.3。
2022年02月07日
2,520 阅读
0 评论
1 点赞
2022-02-07
Macos python 版本升降级控制(pyenv)
安装pyenvbrew install pyenv添加环境变量到~/.zshrc 或者 ~/.bash_profile中export PYENV_ROOT=/usr/local/var/pyenv if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi export PATH=${PYENV_ROOT}/shims:${PATH}应用环境变量source ~/.zshrc全局切换python版本pyenv global 3.8.11pyenv 使用# 1. 查看正在使用的python版本 $ pyenv version system (set by /usr/local/var/pyenv/version) # 2. 查看系统支持的python版本 $ pyenv versions * system (set by /usr/local/var/pyenv/version) 3.8.11 ## * 表示正在使用的python版本, system 表示系统自带的python # 3. 查看可以安装的python有哪些 pyenv install -l Available versions: 2.1.3 2.2.3 2.3.7 2.4 2.4.1 2.4.2 2.4.3 2.4.4 * * * # 4. 安装指定版本的pyton pyenv install 3.8.11 # 5. pyenv local 设置当前目录使用的python版本 $ mkdir py3 && cd py3 && pyenv local 3.8.11 # 验证: # MacBookPro in /tmp/py3 $ python -V Python 3.8.11 # MacBookPro in /tmp/py3 $ cd $ python -V Python 3.8.11 # 6. 全局切换python版本 $ pyenv global 3.8.11 (pyenv versions 可查看能使用的版本) # 7. 解除local设置 $ pyenv local --unset # 8. 切换回系统版本 $ pyevn global system # 9. 卸载python版本 $ pyenv uninstall 3.8.11
2022年02月07日
326 阅读
0 评论
0 点赞
2021-11-23
2021 黑五 Racknerd VPS优惠
2021 黑五 Racknerd VPS优惠价10.88刀一年,续费同价2021双十一套餐{card-default label="768M套餐" width=""}768 MB 内存1 CPU 核心12 GB 高速SSD存储1 TB 月流量1 Gbps 带宽$10.88/年 (续费同价)购买链接{/card-default}{card-default label="1G套餐" width=""}1 GB 内存1 CPU 核心25 GB 高速SSD存储4 TB 月流量1 Gbps 带宽$14.88 /年 (续费同价)购买链接{/card-default}{card-default label="2.5G套餐" width=""}2.5 GB 内存2 CPU 核心50 GB 高速SSD存储6 TB 月流量1 Gbps 带宽$27.88 /年 (续费同价)购买链接{/card-default}{card-default label="3G套餐" width=""}3 GB 内存2 CPU 核心60 GB 高速SSD存储8 TB 月流量1 Gbps 带宽$34.88 /年 (续费同价)购买链接{/card-default}{card-default label="4G套餐" width=""}4 GB 内存3 CPU 核心75 GB 高速SSD存储10 TB 月流量1 Gbps 带宽$43.39 /年 (续费同价)购买链接{/card-default}RackNerd 测试 IP 整理机房测试 IP测试文件LookingGlass洛杉矶 DC-01157.52.168.9http://lg-lax.racknerd.com/1000MB.testhttp://lg-lax.racknerd.com洛杉矶 DC-02204.13.154.3http://lg-lax02.racknerd.com/1000MB.testhttp://lg-lax02.racknerd.com洛杉矶 DC-055.181.135.8http://lg-lax05.racknerd.com/1000MB.testhttp://lg-lax05.racknerd.com圣何塞192.210.207.88http://lg-sj.racknerd.com/1000MB.testhttp://lg-sj.racknerd.com西雅图192.3.253.2http://lg-sea.racknerd.com/1000MB.testhttp://lg-sea.racknerd.com芝加哥198.23.228.15http://lg-chi.racknerd.com/1000MB.testhttp://lg-chi.racknerd.com新泽西192.3.165.30http://lg-nj.racknerd.com/1000MB.testhttp://lg-nj.racknerd.com亚特兰大107.173.164.160http://lg-atl.racknerd.com/1000MB.testhttp://lg-atl.racknerd.com达拉斯198.23.249.100http://lg-dal.racknerd.com/1000MB.testhttp://lg-dal.racknerd.com纽约水牛城192.3.81.8http://lg-ny.racknerd.com/1000MB.testhttp://lg-ny.racknerd.com阿什本107.173.166.10http://lg-ash.racknerd.com/1000MB.testhttp://lg-ash.racknerd.com
2021年11月23日
155 阅读
0 评论
0 点赞
2021-11-11
2021双十一Racknerd VPS优惠价18刀一年
2021双十一Racknerd VPS优惠价18刀一年,续费同价2021双十一套餐{card-default label="1G套餐" width=""}1 GB 内存1 CPU 核心15 GB 高速SSD存储2 TB 月流量1 Gbps 带宽$12/年 (续费同价)购买链接{/card-default}{card-default label="2G套餐" width=""}2 GB 内存2 CPU 核心30 GB 高速SSD存储4 TB 月流量1 Gbps 带宽$18 /年 (续费同价)购买链接{/card-default}{card-default label="3G套餐" width=""}3 GB 内存2 CPU 核心50 GB 高速SSD存储7 TB 月流量1 Gbps 带宽$30 /年 (续费同价)购买链接{/card-default}{card-default label="4G套餐" width=""}4 GB 内存3 CPU 核心75 GB 高速SSD存储10 TB 月流量1 Gbps 带宽$49 /年 (续费同价)购买链接{/card-default}RackNerd 测试 IP 整理机房测试 IP测试文件LookingGlass洛杉矶 DC-01157.52.168.9http://lg-lax.racknerd.com/1000MB.testhttp://lg-lax.racknerd.com洛杉矶 DC-02204.13.154.3http://lg-lax02.racknerd.com/1000MB.testhttp://lg-lax02.racknerd.com洛杉矶 DC-055.181.135.8http://lg-lax05.racknerd.com/1000MB.testhttp://lg-lax05.racknerd.com圣何塞192.210.207.88http://lg-sj.racknerd.com/1000MB.testhttp://lg-sj.racknerd.com西雅图192.3.253.2http://lg-sea.racknerd.com/1000MB.testhttp://lg-sea.racknerd.com芝加哥198.23.228.15http://lg-chi.racknerd.com/1000MB.testhttp://lg-chi.racknerd.com新泽西192.3.165.30http://lg-nj.racknerd.com/1000MB.testhttp://lg-nj.racknerd.com亚特兰大107.173.164.160http://lg-atl.racknerd.com/1000MB.testhttp://lg-atl.racknerd.com达拉斯198.23.249.100http://lg-dal.racknerd.com/1000MB.testhttp://lg-dal.racknerd.com纽约水牛城192.3.81.8http://lg-ny.racknerd.com/1000MB.testhttp://lg-ny.racknerd.com阿什本107.173.166.10http://lg-ash.racknerd.com/1000MB.testhttp://lg-ash.racknerd.com
2021年11月11日
95 阅读
0 评论
0 点赞
2021-11-09
华为手机开启ADB进行WIFI远程调试
通过数据线将手机连接到电脑【开发者选项】-- 打开USB调试【开发者选项】-- 【仅充电】 -- 允许ABD调试开启TCP连接服务adb tcpip 5555连接手机,192.168.2.2替换为你自己的设备IPadb connect 192.168.2.2:5555拔掉数据线,查看连接设备adb devices如果需要断开调试adb disconnect 192.168.2.2:5555{message type="error" content="注意:如果断开数据线后不能成功连接,显示offline。一定要确保第3步 【开发者选项】-- 【仅充电】 -- 允许ABD调试 开启!"/}
2021年11月09日
1,618 阅读
0 评论
0 点赞
2021-11-05
Openwrt zerotier 设置
填入路由器配置填入zerotier的 id 勾选下面的允许客户端NATzerotier后台设置 zerotier地址允许授权 - 在你的路由器条目前打勾,允许加入网络添加路由{callout color="#f0ad4e"}前面是你路由器家里内网的IP段,后面是zerotier给你openwrt路由器分配的ip地址{/callout}{alert type="warning"}注意:前面是你路由器的IP段,后面是zerotier给你分配的IP,千万不要填反了家里和办公室的IP不能一致{/alert}
2021年11月05日
607 阅读
0 评论
1 点赞
2021-11-03
小米电视做大屏安装火狐浏览器教程
下载火狐TV版浏览器推荐 Firefox tv 4.7版本, 不要下载4.8版本,因为会有一个关不掉的提示! {cloud title="【阿里云盘】Firefox tv 4.7" type="default" url="https://www.aliyundrive.com/s/7yEsMWVqfxk" password=""/}{cloud title="【ApkMirror】Firefox tv 4.7" type="default" url="https://www.apkmirror.com/apk/mozilla/firefox-android-tv/firefox-android-tv-4-7-1-release/" password=""/}开启开发者模式打开电视的设置开启开发者模式:设置--关于--产品型号--遥控连续按5下OK键设备安全设置:设置 --账号与安全--允许ADB调试设备安全设置:设置--账号与安全--允许安装未知来源的应用远程连接电视首先查找电视的IP,从电视的设置 -- 网络信息中查看 (假设是 192.168.8.38)连接电视adb connect 192.168.8.38在电视上允许连接安装apkadb install ~/Downloads/firefox.apk调整分辨率作为大屏默认的1080分辨率肯定不够,我们要切换成4k分辨率adb shell wm size // 查看当前分辨率 Physical size: 1920x1080 adb shell wm size 3840x2160 // 修改成4k分辨率 adb shell wm size reset // 恢复原始分辨率其他几个用得到的命令远程命令行输入文字adb shell input text "hello"上传文件adb push ~/Downloads/test.jpg sdcard
2021年11月03日
1,928 阅读
0 评论
0 点赞
2021-10-27
按照css-grid的卡片排版
.grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax({设计给的最小宽度}, {设计给的最大宽度})); grid-gap: {设计给的横向空间} {设计给的纵向空间}; // 不符合?的会被覆盖 justify-content: space-between; }{callout color="#f0ad4e"}来源:阮一峰的博客 CSS Grid 网格布局教程{/callout}
2021年10月27日
127 阅读
0 评论
1 点赞
2021-01-13
CSS Viewport 单位
移动设备上的最小字体大小不应该不于14px,为标题提供最小字体大小.title { font-size: calc(14px + 2vw); }计算它的等效的 vwvw = (Pixel Value / Viewport width) * 100移动端滚动问题:即使使用100vh,也会滚动,原因是地址栏的高度可见。.my-element { height: 100vh; /* 不支持自定义属性的浏览器的回退 */ height: calc(var(--vh, 1vh) * 100); }// 首先,我们得到视口高度,我们乘以 1% 得到一个vh单位的值 let vh = window.innerHeight * 0.01; // 然后,将`--vh`自定义属性中的值设置为文档的根目录一个属性 document.documentElement.style.setProperty('--vh', `${vh}px`);{callout color="#f0ad4e"} 来源:CSDN CSS Viewport 单位,很多人还不知道使用它来快速布局! {/callout}
2021年01月13日
157 阅读
0 评论
0 点赞
2020-07-07
一张图教你选择开源许可证
2020年07月07日
317 阅读
0 评论
0 点赞
2020-05-10
智能家居系统 Home Assistant 介绍
Home Assistant 是什么?Home Assistant是构建智能家居的神器,是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation)、群组化(Group)、主题化(Theme) 等等高度定制化设置。同样实现设备的 Siri 控制。基于Home Assistant,可以方便地连接各种外部设备(智能设备、摄像头、邮件、短消息、云服务等,成熟的可连接组件有近千种),手动或按照自己的需求自动化地联动这些外部设备,构建随心所欲的智能家居场景。Home Assistant是开源的,它不属于任何商业公司,用户可以无偿使用。 Home Assistant 和米家/天猫精灵/小度等智能家居系统的区别Home Assistant是一个开放平台,需要一定的编码能力,更加适合于极客。它几乎可以集成所有的传感器设备,构造更加智能贴心的自动化场景。并且数据和管理都在本地端,安全性和稳定性更加高。米家/天猫精灵/小度等智能家居系统更加傻瓜化,平台高度定制化,更加适合小白用户。它接入的设备比较有限,智能场景定制化能力不高。控制需经过外网服务器,稳定性和安全性不是非常好。我买了一个天猫精灵的智能插座,想要用小爱音箱来控制它几乎是不可能的。但是如果我们有Home Assistant,我们就可以把天猫精灵,小爱音箱和智能插座全部集成进去。这样我对着小爱同学和天猫精灵甚至脱离它们直接控制智能插座都是可以的。Home Assistant 和 Siri用Home Assistant可以做很多酷酷的事情。如果把手机定位集成进去,当你距离家里还有1Km的时候,Home Assistant可以帮你去打开空调,也可以让小爱音箱去播报你即将到家。比如外面将要下雨了,Home Assistant可以让小爱同学主动说话:亲爱的主人,半小时后有80%的概率下雨,请收衣服。并且将这条信息推送到你的iPhone上。又或者你拿出iPhone说:嘿,Siri。关闭客厅的主灯。嘿,Siri。帮我打开主卧空调制冷到20度。是不是很酷?搭建一套 Home Assistant 是不是又贵又麻烦?如果你有[sc name="tdj_pic_keyword_2" keyword="NAS 群晖" float="1"]NAS[/sc]、[sc name="tdj_pic_keyword_2" keyword="迷你主机 便携 NCU" float="1"]迷你主机[/sc]或者[sc name="tdj_pic_keyword_2" keyword="树莓派 主机 官方" float="1"]树莓派[/sc],搭配Docker就能一键开启智慧家居。一个主机的钱加一个命令,就能享受智能家居带来的科技感和舒适感,既不贵也不麻烦!树莓派4B 淘宝官方 英特尔/intel 寒霜峡谷NUC10i3FNH 酷睿i3-10110U 10代迷你微型电脑NUC主机 淘宝官方
2020年05月10日
1,555 阅读
2 评论
0 点赞
1
2