作者归档:phliyundi

[分享创造] 做了一个基于 4 种颜色来表示身份的 JavaScript 随机 ID 生成器

背景: 因为要为社交网络中的用户生成一个唯一的颜色信息 自己代码中无意间发现了这个诉求场景 所以抽象出来的这个 colorid 概念

性能: 生成算法和 uuid.v4 很接近 也使用了强随机 crypto 而性能方面相比 uuid 更好一些

Repo: https://github.com/rustq/colorid.js

[问与答] [iOS 虚拟定位打卡] 使用 iOS14 系统进行虚拟定位打卡,是否可以躲过 isSimulatedBySoftware 和 isProducedByAccessory 的判断,从而实现无懈可击?

众所周知,iOS 可以用爱思助手修改全局定位,或者买 GPS 尾插虚拟定位。

但也逐渐众所周知,iOS15 iOS16 都存在两个接口,其中 isSimulatedBySoftware 可以判断爱思软件改的虚拟定位,isProducedByAccessory 可以判断尾插 GPS 。
[ isSimulatedBySoftware ] Core Location sets isSimulatedBySoftware to true if the system generated the location using on-device software simulation. You can simulate locations by loading GPX files using the Xcode debugger. The default value is false.

[ isProducedByAccessory ] Core Location sets isProducedByAccessory to true if the system retrieved the location from an external accessory attached to the device, such as a Made for iPhone GPS dongle or CarPlay. Otherwise, the default value is false.

但我注意到,这两个接口都是 iOS15 启用的。那么对 iOS 14 系统进行修改定位或使用尾插 GPS ,是否不会被软件识别到任何异常?

[Apple TV] AppleTV 声音延迟 2 秒左右发声,非音画不同步

如题,Apple TV 播放 YouTube 、Netflix 等视频,画面播出后声音 2 秒左右才出声,出声后音画正常。退出当前视频播放其他视频再是这样。好像这 2 秒在进行什么任务似的。

Appletv 为 4k 一代,sony 普通 4k ,sony 电视机上通过 3.5mm 耳机口连接了一对普通音箱,sony 电视上声音输出为耳机。

请问有大佬遇到的嘛

[分享创造] Leaderf-phpnamespace: 支持模糊查询的处理 PHP 命名空间的 Vim 插件

此插件作为 LSP 处理命名空间、导入类的相关功能的补充,借助 LeaderF 方便的模糊查询功能支持及计划支持以下功能:

  • 导入光标下的类。
  • 导入通过模糊查询选择的任意类。
  • 展开类名为 FQCN 。(计划中)
  • 为当前文件插入命名空间。(计划中)
  • 以上功能支持 LeaderF 的 nameonly, fullpath 和 regex 模式。

项目地址: https://github.com/xbot/Leaderf-phpnamespace

[Docker] docker spring cloud 无法访问 consul 求助

之前公司要么是单体架构, 要么是入职的时候已经配置好了微服务, 上家是 nacos+ dubbo, 楼主在想学习一下 docker-comopose 部署 spring cloud , 后期转入 k8s.

楼主在 wsl2 运行 consul+ spring-cloud 的一个 provider 模块, docker-compose 里的 consul 跑得很成功, windows 的 provider 也跑得很成功, 但 docker-compose 里的 provider 死活都无法访问 consul, 下面贴出 dockerfile 和 docker-compose.yml

version: '3' services:
consul-node1:
image: bitnami/consul
environment:
- CONSUL_BOOTSTRAP_EXPECT=3
- CONSUL_CLIENT_LAN_ADDRESS=0.0.0.0
- CONSUL_DISABLE_KEYRING_FILE=true
- CONSUL_RETRY_JOIN_ADDRESS=consul-node1 ports:
- '8300:8300'
- '8301:8301'
- '8301:8301/udp'
- '8500:8500'
- '8600:8600'
- '8600:8600/udp' volumes:
- 'consul-node1_data:/bitnami' consul-node2:
image: bitnami/consul
environment:
- CONSUL_BOOTSTRAP_EXPECT=3
- CONSUL_CLIENT_LAN_ADDRESS=0.0.0.0
- CONSUL_DISABLE_KEYRING_FILE=true
- CONSUL_RETRY_JOIN_ADDRESS=consul-node1
- CONSUL_ENABLE_UI=false volumes:
- 'consul-node2_data:/bitnami' consul-node3:
image: bitnami/consul
environment:
- CONSUL_BOOTSTRAP_EXPECT=3
- CONSUL_CLIENT_LAN_ADDRESS=0.0.0.0
- CONSUL_DISABLE_KEYRING_FILE=true
- CONSUL_RETRY_JOIN_ADDRESS=consul-node1
- CONSUL_ENABLE_UI=false volumes:
- 'consul-node3_data:/bitnami' provider-impl:
container_name: provider-impl
build:
context: ./jar/provider-impl
dockerfile: Dockerfile
ports: - "8504:8504" command: "--spring.config.location=/app/config/application.properties" volumes:
consul-node1_data:
driver: local
consul-node2_data:
driver: local
consul-node3_data:
driver: local 

provider 的配置文件

provider.name=p1 server.port=8504
spring.application.name=consul-provider
spring.cloud.consul.i=127.0.0.1
spring.cloud.consul.port=8500
spring.cloud.consul.discovery.prefer-ip-address=true
spring.cloud.consul.discovery.heartbeat.enabled=true
spring.cloud.consul.discovery.health-check-path=health
spring.cloud.consul.discovery.service-name=service-provider spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver
spring.datasource.url=jdbc:p6spy:mysql://127.0.0.1:3306/blog?allowPublicKeyRetrieval=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.name=mysql
spring.datasource.username=root
spring.datasource.password=root
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImpl
mybatis-plus.global-config.db-config.logic-delete-field=deletedAt
mybatis-plus.global-config.db-config.logic-not-delete-value=null
mybatis-plus.global-config.db-config.logic-delete-value=UNIX_TIMESTAMP()
FROM adoptopenjdk:11-jdk-hotspot-focal VOLUME /tmp ADD c-consul-provider-impl*.jar /app/provider-impl.jar
ADD config /app/config ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/provider-impl.jar"] 

docker-compose 目录
xEqrz8.png

也试过在 docker-compose.yml 添加网络, 但也无法生效,报错信息如下:
com.ecwid.consul.transport.TransportException: org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:8500 [/127.0.0.1] failed: Connection refused (Connection refused)

xEqLw9.md.png

搞了一晚上三个多小时都没解决…要说连不上 127.0.0.1:8500, 不知道为什么能连上 mysql, mysql 是跑在 wsl 上没有使用 docker, 求大佬帮助