咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

一、简介

Excalidraw是一款非常轻量的开源在线白板工具,手绘风格。可以直接在浏览器打开,轻松绘制具有手绘风格的图形。

二、在线或独立部署

Excalidraw 在线使用,很方便。
也可以本地部署,支持docker。

工作界面
工作界面

阅读全文 »

介绍

MinIO 是在 GNU Affero General Public License v3.0 下发布的高性能对象存储。 兼容 Amazon S3 云存储服务接口。

由于兼容S3,后期数据量大不想自己维护,可以很方便的切换到其他的对象存储云服务(如:Amazon S3 、阿里OSS、 腾讯云等)

部署

MinIO不但支持分布式部署,还提供了与k8s、etcd、docker等容器化技术深度集成方案。
但是单机的MinIO服务器最适合早期开发和评估,这里也是已部署单机为例。

阅读全文 »

升级了Android Studio创建了一个新的新项目,添加aar库出现各种找不到库的问题。
版本信息如下:

1
2
3
4
5
6
Android Studio Arctic Fox | 2020.3.1
Build #AI-203.7717.56.2031.7583922, built on July 27, 2021
Runtime version: 11.0.10+0-b96-7249189 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation

下面记录一下变动:

  1. repositories变动
    /project/build.gradle 内的 allprojects 节点移动到了 /project/settings.gradle,内容如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
    google()
    mavenCentral()
    jcenter() // Warning: this repository is going to shut down soon
    flatDir {
    dirs 'libs'
    }
    }
    }
  2. libs目录变动
    从以上flatDir配置看到,’libs’ 就是当前目录下的 libs 目录
    libs目录默认由 /project/module/libs 改为 /project/libs
    不设置flatDir,项目构建时会提示错误。

阅读全文 »

2021年09月14 JDK 17 发布。这是 JDK 11 后的第二个长期支持版本( 2029年9月到期 )。

根据最新发布的“Oracle No-Fee Terms and Conditions”(NFTC)许可,撤回了 2018 年制定的要对 Oracle JDK 收取商用费用的决定,并且不影响 Oracle OpenJDK 的发行。

新特性: http://openjdk.java.net/projects/jdk/17/

  • 306: Restore Always-Strict Floating-Point Semantics
  • 356: Enhanced Pseudo-Random Number Generators
  • 382: New macOS Rendering Pipeline
  • 391: macOS/AArch64 Port
  • 398: Deprecate the Applet API for Removal
  • 403: Strongly Encapsulate JDK Internals JDK
  • 406: Pattern Matching for switch (Preview)
  • 407: Remove RMI Activation
  • 409: Sealed Classes
  • 410: Remove the Experimental AOT and JIT Compiler
  • 411: Deprecate the Security Manager for Removal
  • 412: Foreign Function & Memory API (Incubator)
  • 414: Vector API (Second Incubator)
  • 415: Context-Specific Deserialization Filters

中文

阅读全文 »

一、位运算

左移1位

1
2
3
4
5
//java:
int a = num << 1;

//kotlin
val a: Int = num shl 1

右移1位

1
2
3
4
5
//java:
int a = num >> 1;

//kotlin
val a: Int = num shr 1
阅读全文 »

数据库工具最好不要用破解的,连接生产环境的数据库风险还是很大的。

免费的多平台数据库工具【DBeaver】,功能很强大,支持多种SQL数据库。

版本21.2.0.202108310918

DBeaver是Java开发的,所以支持Windows、Linux、MacOS多平台,提供安装包和免安装的压缩包。

DBeaver有社区免费版和企业收费版本,社区版只有基础功能,企业版拥有更多的功能:

阅读全文 »

听说微软在10月05日开始推送Win11,而有些网友目前已经被推送Win11更新,更新之后都翻了车,不得不重装系统。吓得我赶紧禁止一下Win10上的自动更新。一直以来我是不管Win10,让自己更新、重启,所以系统补丁一直保持最新,但是这次升级Win11跨版本的还是要慎重一点。

  1. 快捷键 Win + R ,输入 services.msc
  2. 找到 windows update
  3. 双击,改为 禁用

apt install openssl 版本太旧,用源码安装新版本。

OpenSSL官网下载新版源码】,这里以 2021-Mar-25 13:41:15 openssl-1.1.1k.tar.gz 为例。

1
2
3
4
5
6
7
8
9
10
11
12
13
$ wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
$ tar -zxvf openssl-1.1.1k.tar.gz
$ sudo ./config
$ make
$ make install
# 将旧版本的openssl进行备份
$ sudo mv /usr/bin/openssl /usr/bin/openssl.old
# 将新版本的openssl进行软链接
$ sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
# 重新加载配置
$ ldconfig
$ openssl version
OpenSSL 1.1.1k 25 Mar 2021

ExecutorService 是Java提供的用于管理线程池的类。

1、FixedThreadPool

FixedThreadPool ,固定线程数的线程池,核心线程数和最大线程数是一样的;

1
2
// 创建一个可重用固定个数的线程池
ExecutorService executorService = Executors.newFixedThreadPool(3);

2、CachedThreadPool

阅读全文 »

很早知道国外的在线绘图服务Draw.io了,虽然是免费的而且好用,但网络速度慢啊,所以一直没用。
而且国内有【Gitmind思维导图】【ProcessOn免费在线流程图思维导图】 也是免费而且挺好用的。

自从阅读文章【部署一个私有的在线绘图服务】,等知drawio开源了项目【jgraph/drawio】 ,很感兴趣。

这样的话我们是可以在本地局域网部署drawio服务,网速慢的问题就解决了,以后绘图软件就增多了新的一个选择。

而且这个文章作者还把开源版drawio的后端Java部分裁剪掉了(具体裁剪文章上有记录),变成纯网页版【tobyqin/drawio-local】,部署也变得更加简单,把这个项目下载下来直接丢在一个webserver(如:nginx,apache,iis等)上就可以直接用。

drawio默认是英文,可以切换为中文

阅读全文 »

Word文档另存为Html时,默认编码是 gb2312 ,在浏览器打开中文容易乱码,手动改为 UTF-8是可以,但有点麻烦。

其实Word可以支持修改编码,在 另存为窗口的 “工具” - “编码” 就可以选择保存所用的编码,选择 UTF-8 就行。

Jetpack Compose UI组件库

这个库是用 Jetpack Compose UI 写的组件库,包含很多常用(实用)的组件。
Github
预览图很多,建议跳转到源仓库查看。

组件:

  • ActionSheet
  • AddressList
  • AnnotatedText
  • Banner
  • Cascade
  • Category
  • Cell
  • Collapse
  • Curtain
  • GridCard
  • Indicator
  • NoticeBar
  • NumberKeyboard
  • Preview
  • PrivacyPolicy
  • Progress
  • Rate
  • SearchBar
  • Segmented
  • SelectCity
  • SignaturePad
  • Skeleton
  • StatefulLayout
  • Stepper
  • Steps
  • Swipe
  • TimeSelect
  • VerifyCode

轮播广告组件banner

阅读全文 »

【Android Jetpack 使用入门】
【Android 架构组件 Android Jetpack 的一部分。】

Android 架构组件是一组库,可帮助您设计稳健、可测试且易维护的应用。您可以从管理界面组件生命周期和处理数据持久性的类着手。

  • 通过应用架构指南,学习有关汇编稳健应用的基础知识。
  • 管理应用的生命周期。新的生命周期感知型组件可帮助您管理 Activity 和 Fragment 的生命周期。在配置更改后继续有效、避免内存泄漏,以及将数据轻松加载到界面中。
  • 使用 LiveData 构建数据对象,在基础数据库改变时通知视图。
  • ViewModel 存储界面相关的数据,这些数据不会在应用旋转时销毁。
  • Room 是一个 SQLite 对象映射库。它可用来避免样板代码,还可以轻松地将 SQLite 表数据转换为 Java 对象。Room 提供 SQLite 语句的编译时检查,并且可以返回 RxJava、Flowable 和 LiveData 可观察对象。

** Jetpack有很多部分,这里先整理一下最常用的两个:ViewModelLiveData **

一、ViewModel

阅读全文 »

不经常登录阿里云控制台管理数据库,时间久了就遗忘了,记录一下方便以后使用。

  1. 购买“云数据库MongoDb版”打开控制台

  2. 点击 “登录数据库” 跳转到阿里的 “数据管理DMS”

  3. “数据管理DMS”

  4. DMS登录实例

  5. DMS控制台

  6. DMS创建新的数据库

  7. 为新的数据库创建连接用户


  8. DMS打开数据库

  9. DMS执行查询命令

一、 开通开发者

省略

二、 创建应用

省略,创建完应用,到“推送服务”开启你的应用推送服务。

三、 集成到Android项目

阅读全文 »