mac开发&环境配置篇
Usage habit Ice, to hide status bar do not use bar appearance, this will cause a bug to use alt + tab instead of the localized function: https://github.com/lwouis/alt-tab-macos to use scroll in windows style: https://github.com/pilotmoon/Scroll-Reverser config the Modifier key & shortcuts: turn off off the shortcuts system setting → 键盘 → 键盘快捷键 → 修饰键 display all hide files or directory type on terminal: defaults write com.apple.finder AppleShowAllFiles YES type on termi...
macOS 防火墙完全配置指南:系统设置与命令行管理
概述macOS 提供了两种防火墙配置方式:图形界面的应用层防火墙和强大的 PF(Packet Filter)网络层防火墙。本文将详细介绍这两种配置方法及常见问题的解决方案。 核心内容: 🖥️ 系统偏好设置中的应用防火墙 💻 终端命令行配置 PF 防火墙 🔧 pf.conf 规则编写 🚨 应用安装权限问题解决 方式一:系统偏好设置图形界面配置适用场景: 普通用户日常使用 配置步骤: 打开防火墙设置 系统偏好设置 → 安全性与隐私 → 防火墙 启用防火墙 点击左下角锁图标解锁(需要管理员密码) 点击"打开防火墙"按钮 配置防火墙选项 点击"防火墙选项..."按钮 配置应用程序的网络访问权限 可配置项: 选项 说明 推荐设置 阻止所有传入连接 除必要系统服务外全部阻止 高安全需求时启用 自动允许内建软件 允许 Apple 官方软件接收连接 ✅ 推荐启用 自动允许已下载的签名软件 允许 App Store 下载的软件 ✅ 推荐启用 启用隐身模式 不响应 ICMP ping 请求 根据需求选择...
Optional开发中记录
首先,Optional是一个容器,用于放置可能为空的值,它可以合理而优雅的处理null。 不合适的使用方式 直接使用 isPresent() 进行 if 检查 -- isPresent()一般用于流处理的结尾,用于判断是否符合条件。 在方法参数中使用 Optional public void getUser(long uid, Optional<> userType); -- X 直接使用 Optional.get -- 和不做任何空判断一样,十分危险 使用在 POJO 中 -- 给序列化带来麻烦 记录一些 API12345678910111213141516171819202122232425262728291. empty()返回一个Optional容器对象,而不是 null。建议常用⭐⭐⭐⭐2. of(T value)创建一个Optional对象,如果 value 是 null,则抛出 NPE。不建议用⭐⭐3. ofNullable(T value)同上,创建一个Optional对象,但 value 为空时返回Optional.empty(...
Reactive编程学习记录(长期)-知识及编程技巧
问题记录 最后的结果Flux、Mono一定要作为方法返回值,因为响应式编程的异常信息保存在这些结果中(而不是在方法调用时抛出),所以这些结果必须作为方法返回值,否则Spring无法知道方法是否报错 常用 API 记录 如果要操作数据,并返回一个Mono的时候,使用flatMap 一般如果不操作数据,仅数据转换,使用map 订阅者是由Spring框架去完成,我们(开发)写发布者代码 zipWith方法可以组合两个Mono/Flux,并返回新的Mono/Flux类型 take(x)适合取flux中前x个,而当flux就一个元素的适合,可以使用next()将flux转为mono flatMapMany适合将Mono<数组/集合>转换为Flux 当希望合并多个流操作的时候,可以使用Mono.zip/Flux.zip Mono.zip(memberLevelMono, giftCardMono, couponMono).map... zipWith方法会同时请求待合并的两个Mono数据,而zipWhen方法则会...
记录Reactive编程模式下如何方便的debug
通过打开全局 Operator 堆栈追踪 未开启之前 开启之后 这种方法等效于在方法内部输出以下代码1234//打开Hooks.onOperatorDebug();//关闭Hooks.resetOnOperatorDebug();
记录RouterFunction方式如何实现全局异常拦截
在使用 MVC 编程方式下,全局异常拦截可使用如下方式123456789101112131415/** * @author 小五 */@Slf4j@RestControllerAdvice@RequiredArgsConstructorpublic class DefaultExceptionHandlerConfig { @ExceptionHandler(BeHappyException.class) //@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public ResponseEntity beHappyExceptionHandler(BeHappyException e){ log.error("BeHappy Exception: {}",e.getMsg()); return ResponseEntity.internalServerError().body(e); }} 在使用...
LDAP 学习总结
摘自:https://lework.github.io/2019/07/18/ldap/ 安装使用参考: http://ldapdoc.eryajf.net/pages/f081dc/ https://github.com/behappy-project/behappy-docker-application/tree/master/ldap LDAP 概念LDAP 是轻量目录访问协议,英文全称是 Lightweight Directory Access Protocol,一般都简称为 LDAP。它是基于 X.500 标准的,但是简单多了并且可以根据需要定制。与 X.500 不同,LDAP 支持 TCP/IP,这对访问 Internet 是必须的。LDAP 的核心规范在 RFC 中都有定义,所有与 LDAP 相关的 RFC 都可以在 LDAPman RFC 网页中找到。简单说来,LDAP 是一个得到关于人或者资源的集中、静态数据的快速方式。LDAP 是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。 现在...
Keycloak HTTPS Required 配置
Keycloak 登录提示 At this point, you have two options; 1) Install HTTPS in Wildfly or 2) Tunnel via SSH into the remote machine and proxy your browser through it, go to the admin console and turn off the SSL requirement (Realm Settings -> Login -> Require SSL). This works because SSL is not required for local connections. Keycloak SSL 登录要求Keycloak 用私有地址可以不使用 SSL 登录方式,如果用公网就需要用 SSL 登录方式。 解决方案:设置某 Realm 不强制使用 SSL启动 Keycloak1./standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0 添加账号1./add-user-key...
记录各类第三方服务的 LDAP 对接
Rancher测试版本:2.7.x 参考文档:http://ranchermanager.docs.rancher.com/zh/pages-for-subheaders/configure-openldap Nexus3配置步骤登录 Nexus 管理账户,进入配置界面 依次点击 Security >> LDAP 进入配置页面 点击 "Create Connection" 创建 LDAP 连接 配置说明: name:此连接的名称,可自定义 LDAP server address Protocol:是否启用 SSL,是选用 LDAPS,否则选用 LDAP Hostname:LDAP 的服务器地址 Port:LDAP 端口号 Search base:基本 DN,即一般从域的根节点开始搜索,如 dc=test,dc=com Authentication method:加密方式 Username or DN:输入用于获取 LDAP 用户的账户,建议使用只读账户 用户名:格式为 用户名@域名,如 userget@test.com pass...
ClickHouse 工作中常用命令(长期)
全量从 MySQL 导入数据到 ClickHouse(并建表)1clickhouse-client -m -u default --password 123456 --query="CREATE TABLE clickhouse_database_name.clickhouse_table_name ENGINE = MergeTree ORDER BY id AS SELECT * FROM mysql('ip:port', 'database_name', 'table_name','name', 'password');" ClickHouse 数据导出到 CSV 文件1clickhouse-client -h 127.0.0.1 --database="db" --query="SELECT * FROM db.test_table FORMAT CSV" > test.csv CSV 文件导入到 Cli...
