机械境

这里只是我的后花园,随性而写

安装 WSL

以管理员权限运行 owershell 并执行下面的指令

1
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Microsoft Store 中安装 Ubuntu。

目前 Windows 支持多种 Linux 发行版,但 Ubuntu 作为使用门槛最低的版本,这里以此为例。

与 Windows 共享配置

通过软链接 Windows 的用户到 WSL,这样就可以共享一些软件的配置信息,比如 git, ssh 等。

1
2
3
4
5
6
# 删除原有用户目录
sudo rm -rf /home/goreng
# 链接 Windows 用户目录到 WSL 中
sudo ln -sf /mnt/c/User/<windows user name> /home/goreng
# 更改访问租信息
sudo chown -R goreng:goreng /home/goreng
Read more »

介绍

Docker nginx 反向代理设置 介绍了通过 nginx 反向代理关联容器。此为真实的使用场景。通过 Gitea 作为代码管理工具;Kanboard 作为任务管理;Jenkins 作为 CI 工具。这样的组合比较适合小型团队使用,相比起 GitLab 这种巨无霸来说,部署简单,使用简单。

准备

  • 安装 Docker

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $ curl -fsSL get.docker.com -o get-docker.sh
    $ sudo sh get-docker.sh

    <output truncated>

    If you would like to use Docker as a non-root user, you should now consider
    adding your user to the "docker" group with something like:

    sudo usermod -aG docker your-user

    Remember to log out and back in for this to take effect!

    WARNING: Adding a user to the "docker" group grants the ability to run
    containers which can be used to obtain root privileges on the
    docker host.
    Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
    for more information.
  • 安装 Docker Compose

    1
    2
    3
    $ sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    $ sudo chmod +x /usr/local/bin/docker-compose
    $ docker-compose --version

注:Docker 以及 Docker Compose 的安装,官方文档讲得非常清晰,在此不再赘述。

Read more »

缘起

Nutz 是一套开源的 Web Framework (Mvc/Ioc/Aop/Dao/Json),其中 Dao 模块是针对 JDBC 的薄封装,事务模板,无缓存。在数据库已经设计好之后,手动写对应的 Entity 的话,是个无比痛苦且无意义的事情。下面就通过 IDEA 自带的 DataGrip 基础上根据数据库信息一键生成 Entity

插件

  • Scratches 视图下的 Extensions/schema 新建一个文件,命名任意,比如 Generate nutz POJOs.groovy

    Scratches

Read more »

介绍

Scoop 是 Windows 上的命令行安装程序

特点如下:

  • 大多数程序安装不需要管理员权限
  • 自动设置环境变量
  • 命令行操作,类似 macOS 下的 HomeBrew
  • 常见开发环境都可以轻松搞定

安装

  • 以管理员账号启动 Powershell,输入以下命令

    1
    2
    3
    4
    5
    6
    psversiontable.psversion.major # should be >= 3
    set-executionpolicy remotesigned -scope currentuser
    # 自定义安装路径(可选)
    [environment]::setEnvironmentVariable('SCOOP','D:\Scoop','User')
    $env:SCOOP='D:\Scoop'
    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

    如果没报错,就表示安装成功

  • 添加官网扩展支持

    1
    2
    scoop bucket add extras
    scoop bucket add versions
Read more »

虽然我现在基本上转到 Jetbrains IDEA 了,办公室有些小朋友还是坚守 eclipse,简单整理下常用插件和配置。

插件

名称 备注 安装
Buildship Eclipse Gradle 插件 Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client
Darkest Dark Theme w/DevStyle 黑色主题 Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client
Checkstyle 代码风格检查 Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client
Enhanced Class Decompiler 反编译插件,集成 JD, Jad, FernFlower, CFR, Procyon seamlessly with Eclips Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client
Java Source Attacher 下载 jar 包代码包并关联 Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client
Kotlin Kotlin 语言支持 Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client
SonarLint for Eclipse 代码静态检查 Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client
SpotBugs 代码静态检查 Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client
TestNG 测试框架 Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client
Read more »

语言相关

  • Kotlin Jetbrains 官方 Kotlin 插件
  • Go Jetbrains 官方 Golang 插件

工具类

  • Key promoter X 快捷键辅助工具
  • .ignore Git ignore 高亮等
  • CheckStyle-IDEA 代码规范检查
  • FindBugs-IDEA 潜在 Bug 检查
  • Statistic 代码统计

代码生成

  • String Manipulation 驼峰式命名和下划线命名交替变化
  • Maven Helper Maven 辅助工具
  • JsonToKotlinClass 转换 Json 字符串 为 Kotlin 类
  • GsonFormat 把 Json 字符串为 Java 类
  • OK, Gradle! Gradle 辅助工具
  • Gradle Dependencies Formatter 转换 Maven 依赖为 Gradle 语法等

---EOF---

最近一个项目中由于使用了不同的版本的 JDK 导致兼容问题,故把不同的应用通过 Docker 分别包装了一下,为了减少镜像大小,选用基于 [AlpineLinux] 的镜像作为基础镜像。

主要完成了下面几件事情:

  • 设置时区为北京时间
  • 添加 docker-entrypoint.sh 做基础的环境变量检查(可选)
  • 配置 VOLUME,方便通过挂载不同的目录复用
  • 启动 Java 程序
Read more »

介绍

目前部署私有 Docker Registry 有下面几个选择

  • Vmware Harbor
  • 官方 Registry
  • Portus
  • nexus

官方 registry 比较简单,没有 UI 界面;Portus 其实也是基于官方 registry ,可以理解为官方增强版,同时提供了部署的示例;Harbor,nexus 等都比较重量级,部署比较麻烦,这里暂时不考虑。由于我们的使用场景非常简单,所有选用官方 registry 镜像如何部署私有服务器。下面简单介绍下如何配置。

Read more »
0%