钢钢更新

用行动改变世界,做个有情怀的技术宅


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Oracle Cloud 系列文章01:创建VM云实例

发表于 2019-09-18 | 更新于 2019-12-31 | 分类于 Oracle | 阅读次数:
本文字数: 1.7k | 阅读时长 ≈ 3 分钟

本文是钢哥 Oracle Cloud 系列文章第一篇,Oracle Cloud系列文章列表如下:

  • Oracle Cloud 系列文章01:创建VM云实例
  • Oracle Cloud 系列文章02:创建Oracle云数据库(自治事务处理ATP)
  • Oracle Cloud 系列文章03:安装配置Oracle Cloud命令行接口工具(CLI)

背景

钢哥注:Larry 在重新掌舵 Oracle 后,在今年的 Oracle Open World 上放了大招儿。任何人都可以 无限期免费 使用 Oracle Cloud 入门级基础功能,包括虚拟机、自治数据库、块存储以及负载均衡等。这对于我们这些穷人而言简直是一大福音啊!废话不多说,赶紧跟着钢哥去(hao)体(yang)验(mao) Oracle Cloud 的魅力吧!

注册 Oracle Cloud 账号

填写邮箱及所在地

首先注册个Oracle Cloud账号,地址:https://oracle.com/oow19freetier。

如果之前注册过Oracle Cloud,可以直接登录,一样可以享受终身免费待遇。
填写邮箱,选择所在国家。

注册Home Region及个人手机号

这个页面信息比较多,特别是 Home Region 栏位,这个是你今后服务器所在的区,一旦注册成功是不能改的,所以请谨慎选择。为了速度能快一点儿,建议选择亚洲的几个区,钢哥选的是日本东京。
最后输入自己的手机号,接收个验证码。

注册信用卡

之后需要填写信用卡信息,以便做扣款(1美金)验证,扣的钱稍后会自动退回,所以不用担心。支持的信用卡有 VISA、Master、Google Pay。

阅读全文 »

Oracle提供始终免费的自治数据库和云基础架构

发表于 2019-09-17 | 分类于 Oracle | 阅读次数:
本文字数: 2k | 阅读时长 ≈ 3 分钟

新的 Always Free 服务使开发人员和学生能够无限时间学习,构建和获得 Oracle 云的实践经验

甲骨文今天宣布推出 Oracle云免费套餐,包括新的免费服务,任何人都可以无限时间尝试世界上第一个自动驾驶数据库和Oracle云基础架构。现在,大型和小型组织,开发人员,学生和教育工作者可以构建,学习和探索Oracle自治数据库和Oracle云基础架构的全部功能,包括计算虚拟机,块和对象存储以及负载均衡器 - 所有必需品开发人员在 Oracle Cloud 上构建完整的应用程序。

虽然其他超大规模云供应商提供了一个为期12个月的关系数据库免费试用版,然后开始收费,但Oracle的 Always Free Autonomous Database 只要使用它就可以免费使用。与竞争对手的免费试用相比,Oracle还提供更多计算和存储作为Always Free服务。用户可以轻松升级以获得更多实例,更大的实例和其他服务。始终免费服务在世界所有地区都可用,任何人都可以使用,包括那些使用通用信用卡定价和新免费套餐帐户的付费帐户。

“我们很高兴能够提供始终免费的Oracle自治数据库和Oracle云基础架构,”Oracle数据库服务器技术执行副总裁 Andrew Mendelsohn 说。“这使下一代开发人员,分析师和数据科学家能够学习最新的数据库和机器学习技术,以便在云上开发强大的数据驱动应用程序和分析。”

阅读全文 »

Oracle APEX 19.2 早期采用者版本现已推出!

发表于 2019-09-14 | 分类于 Oracle , Oracle APEX | 阅读次数:
本文字数: 633 | 阅读时长 ≈ 1 分钟

Oracle APEX 19.2的早期采用者版本现已推出,并且向所有人开放!访问它的URL是:

https://tryapexnow.com/

在 Oracle APEX 的每个主要版本之前,我们都会执行托管的早期采用者(EA)计划。这类似于托管测试版,欢迎大家参与并提供反馈。这是社区参与 APEX 发布过程的绝佳机会。我们欢迎您提供有关功能、用户界面、错误、功能等的反馈。最终,您的反馈有助于我们将 Oracle APEX 打造成一个高质量、优质的框架。

此版本中有一些令人兴奋的新功能,包括:

  • 分面搜索(Faceted Search)
  • 全新的团队开发功能
  • 增强弹出LOV
  • 扩展共享LOV
  • REST 支持交互式网格(REST Enabled Interactive Grid)
  • 数据加载到现有表中
  • 升级的 Oracle JET
  • 环球主题中的暗模式主题风格
  • 了解有关 APEX 19.2 中新功能的更多信息

与往常一样,要记住以下几点:
这只是托管。我们不提供 APEX 的早期版本可用于本地安装。
您在 APEX 的早期采用者实例上所做的一切都应该被视为丢失。无法保证您在 Early Adopter 实例中构建的APEX应用程序甚至可以安装在 Oracle Application Express 19.2 的生产版本中。
如果您在 APEX 19.2 发布后阅读此博文,您会发现 https://tryapexnow.com/ 上的早期采用者不再可用。

Oracle APEX 活跃博文整理 | 2019.09.09

发表于 2019-09-09 | 更新于 2019-12-31 | 分类于 Oracle , Oracle APEX | 阅读次数:
本文字数: 1.5k | 阅读时长 ≈ 3 分钟

以下是截止至 2019.09.09收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

  • Paste from clipboard in Oracle APEX 2019.09
  • Speeding up APEX Static Application and Workspace Files 2019.07
  • Bootstrap Progress Bar in your Oracle APEX application 2019.07
  • Sample Data Sets in APEX 2019.05
  • Page Specific Utilities 2019.05
  • Drool-worthy APEX Cards with Images and Buttons 2019.03
  • Flexible Oracle APEX Wizard Navigation 2019.02
  • My APEX House of Cards – Custom Grouped Card Report Template 2019.02
  • Read-Write APEX application fully based on alien data or is it mandatory to use exactly Oracle Database? 2018.11
  • The Oracle APEX Reverse Proxy Guide using NGINX 2018.10
  • Announcing Oracle APEX Static Resources on Content Delivery Network 2018.10
  • Oracle APEX and ORDS deployments automation 2018.10
  • PLEX - PL/SQL Export Utilities 2018.08
  • XLSX upload made easy: A simple XLSX parser 2018.08
  • Hide certain objects on an APEX page 2018.07
  • Exporting APEX Application in SQLcl with Build Status Override 2018.07
  • Copy and Paste to clipboard 2018.07
  • Set APEX application name for Dev, Test and Prod environment in the same database 2018.07
  • How to Export to Excel and Print to PDF in Oracle APEX? The answer… 2018.06
  • Safely Upgrading to Oracle APEX 18.1 2018.05
  • My top 3 to gather user feedback in an Oracle APEX app 2018.03
  • Datepicker Customization 2018.03
  • Webserver Logfile Analysis with Oracle APEX 2018.01
  • Use Font APEX and Font Awesome Simultaneously 2018.01
  • Blockchain with Oracle and APEX 2017.10

Linux shell 学习笔记

发表于 2019-09-08 | 更新于 2019-12-31 | 分类于 Linux | 阅读次数:
本文字数: 1.1k | 阅读时长 ≈ 2 分钟

本文转自 https://www.cnblogs.com/binbinjx/p/5680214.html

配置文件init.properties

1
2
3
ID=123
IP=192.168.3.154
Name=test

方法一,利用sed解析文本,提取配置信息

1
2
3
4
5
6
id=`sed '/^ID=/!d;s/.*=//' init.properties`  
ip=`sed '/^IP=/!d;s/.*=//' init.properties` 
name=`sed '/^Name=/!d;s/.*=//' init.properties` 
echo $id 
echo $ip 
echo $name

方法二,利用eval方法解析

1
2
3
4
5
6
while read line;do  
    eval "$line" 
done < init.properties 
echo $ID 
echo $IP 
echo $Name

方法三,直接将配置信息加载到session的环境变量中

1
2
3
4
5
6
7
8
source init.properties

echo $ID
123
echo $IP
192.168.3.154
echo $Name
test

参数判断

1
2
3
4
5
if [ "$1" = "Y" ]; then
echo "true";
else
echo "false";
fi;

获取本机IP

1
ip a | grep inet | grep -v inet6 | grep -v 127 | sed 's/^[ \t]*//g' | cut -d ' ' -f2

获取 10+ 参数值

在Shell脚本中,可以用$n的方式获取第n个参数,例如,一个名为paramtest的脚本:

1
2
#!/bin/bash
echo $1 $2

执行./paramtest a b 的结果是打印出第1个和第2个参数:

1
a b

但是,若脚本需要10个以上的参数,直接写数字会有问题。例如,脚本为:

1
2
#!/bin/bash
echo $1 $2 $3 $4 $6 $7 $8 $9 $10

执行./paramtest a b c d e f g h i j,结果如下,第10个参数是不对的:

1
a b c d e f g h i a0

显然$10被解释成了$1+0

解决方法很简单,第10个参数加花括号即可:

1
2
#!/bin/bash
echo $1 $2 $3 $4 $6 $7 $8 $9 ${10}

再次执行./paramtest a b c d e f g h i j,结果正确:

1
a b c d e f g h i j

Dockerfile 最佳实践(转)

发表于 2019-09-05 | 分类于 Docker | 阅读次数:
本文字数: 8k | 阅读时长 ≈ 13 分钟

本文转自Docker — 从入门到实践

本附录是笔者对 Docker 官方文档中 Best practices for writing Dockerfiles 的理解与翻译。

一般性的指南和建议

容器应该是短暂的

通过 Dockerfile 构建的镜像所启动的容器应该尽可能短暂(生命周期短)。「短暂」意味着可以停止和销毁容器,并且创建一个新容器并部署好所需的设置和配置工作量应该是极小的。

使用 .dockerignore 文件

使用 Dockerfile 构建镜像时最好是将 Dockerfile 放置在一个新建的空目录下。然后将构建镜像所需要的文件添加到该目录中。为了提高构建镜像的效率,你可以在目录下新建一个 .dockerignore 文件来指定要忽略的文件和目录。.dockerignore 文件的排除模式语法和 Git 的 .gitignore 文件相似。

使用多阶段构建

在 Docker 17.05 以上版本中,你可以使用 多阶段构建 来减少所构建镜像的大小。

避免安装不必要的包

为了降低复杂性、减少依赖、减小文件大小、节约构建时间,你应该避免安装任何不必要的包。例如,不要在数据库镜像中包含一个文本编辑器。

一个容器只运行一个进程

应该保证在一个容器中只运行一个进程。将多个应用解耦到不同容器中,保证了容器的横向扩展和复用。例如 web 应用应该包含三个容器:web应用、数据库、缓存。

如果容器互相依赖,你可以使用 Docker 自定义网络 来把这些容器连接起来。

镜像层数尽可能少

你需要在 Dockerfile 可读性(也包括长期的可维护性)和减少层数之间做一个平衡。

将多行参数排序

将多行参数按字母顺序排序(比如要安装多个包时)。这可以帮助你避免重复包含同一个包,更新包列表时也更容易。也便于 PRs 阅读和审查。建议在反斜杠符号 \ 之前添加一个空格,以增加可读性。

下面是来自 buildpack-deps 镜像的例子:

1
2
3
4
5
6
RUN apt-get update && apt-get install -y \
bzr \
cvs \
git \
mercurial \
subversion

构建缓存

在镜像的构建过程中,Docker 会遍历 Dockerfile 文件中的指令,然后按顺序执行。在执行每条指令之前,Docker 都会在缓存中查找是否已经存在可重用的镜像,如果有就使用现存的镜像,不再重复创建。如果你不想在构建过程中使用缓存,你可以在 docker build 命令中使用 --no-cache=true 选项。

但是,如果你想在构建的过程中使用缓存,你得明白什么时候会,什么时候不会找到匹配的镜像,遵循的基本规则如下:

  • 从一个基础镜像开始(FROM 指令指定),下一条指令将和该基础镜像的所有子镜像进行匹配,检查这些子镜像被创建时使用的指令是否和被检查的指令完全一样。如果不是,则缓存失效。
  • 在大多数情况下,只需要简单地对比 Dockerfile 中的指令和子镜像。然而,有些指令需要更多的检查和解释。
  • 对于 ADD 和 COPY 指令,镜像中对应文件的内容也会被检查,每个文件都会计算出一个校验和。文件的最后修改时间和最后访问时间不会纳入校验。在缓存的查找过程中,会将这些校验和和已存在镜像中的文件校验和进行对比。如果文件有任何改变,比如内容和元数据,则缓存失效。
  • 除了 ADD 和 COPY 指令,缓存匹配过程不会查看临时容器中的文件来决定缓存是否匹配。例如,当执行完 RUN apt-get -y update 指令后,容器中一些文件被更新,但 Docker 不会检查这些文件。这种情况下,只有指令字符串本身被用来匹配缓存。

一旦缓存失效,所有后续的 Dockerfile 指令都将产生新的镜像,缓存不会被使用。

阅读全文 »

Oracle APEX 活跃博文整理 | 2019.08.30

发表于 2019-08-30 | 更新于 2019-08-31 | 分类于 Oracle , Oracle APEX | 阅读次数:
本文字数: 593 | 阅读时长 ≈ 1 分钟

以下是截止至 2019.08.30收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

  • Managing Calendars / Calendar Oracle APEX part 2 2019.08
  • Managing Calendars / Calendar Oracle APEX part 1 2019.08
  • Menu Popup with Declarative List 2019.08
  • Oracle APEX Radio Group null option fix 2019.08
  • Customising APEX Validation Message 2019.08
  • Conditionally Required Floating Item 2019.07
  • Integrating Oracle Jet 7.1 Gantt + Dynamic Data + Oracle APEX 19.1 + AJAX 2019.08
  • Oracle APEX Plug-in to retrieve GPS location 2019.08
  • Include or Exclude Columns in an Interactive Report Export 2019.07

Oracle APEX 活跃博文整理 | 2019.07.17

发表于 2019-07-17 | 更新于 2019-09-03 | 分类于 Oracle , Oracle APEX | 阅读次数:
本文字数: 941 | 阅读时长 ≈ 2 分钟

以下是截止至 2019.07.17收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

  • Wipe APEX mail queue 2019.07
  • Change Item Icon Dynamically 2019.07
  • Creating a mobile app with APEX - Part 5: Refining the Form page 2019.07
  • Creating a mobile app with APEX - Part 4: Refining the List View 2019.07
  • Creating a mobile app with APEX - Part 3: Adapting the layout 2019.07
  • Creating a mobile app with APEX - Part 2: The basic app 2019.07
  • Creating a mobile app with APEX - Part 1: Introduction and design 2019.07
  • Getting the Oracle APEX certificate, Tips 2019.06
  • Interactive Grid Tour App 2019.06
  • Should the Oracle APEX Community Care About Autonomous Database? 2019.06
  • The Quick Guide for Getting Started with APEX on Autonomous Database Serverless 2019.06
  • Showing image thumbnails in Icon View 2019.06
  • APEX custom Theme Style performance 2019.06
  • See APEX Debug info in PL/SQL and SQL Developer 2019.06
  • “Before Header” Branch 2019.06

Spring Cloud 学习笔记 - Consul

发表于 2019-07-17 | 更新于 2019-09-03 | 分类于 Java | 阅读次数:
本文字数: 16k | 阅读时长 ≈ 27 分钟

Consul 介绍

Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其他工具(比如 ZooKeeper 等)。使用起来也较 为简单。Consul 使用 Go 语言编写,因此具有天然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行文件,方便部署,与 Docker 等轻量级容器可无缝配合。

Consul 优势

  • 使用 Raft 算法来保证一致性, 比复杂的 Paxos 算法更直接. 相比较而言, zookeeper 采用的是 Paxos, 而 etcd 使用的则是 Raft。
  • 支持多数据中心,内外网的服务采用不同的端口进行监听。 多数据中心集群可以避免单数据中心的单点故障,而其部署则需要考虑网络延迟, 分片等情况等。 zookeeper 和 etcd 均不提供多数据中心功能的支持。
  • 支持健康检查。 etcd 不提供此功能。
  • 支持 http 和 dns 协议接口。 zookeeper 的集成较为复杂, etcd 只支持 http 协议。
  • 官方提供 web 管理界面, etcd 无此功能。

综合比较, Consul 作为服务注册和配置管理的新星, 比较值得关注和研究。

阅读全文 »

Python 数据科学 学习笔记 - 钢钢更新

发表于 2019-07-12 | 更新于 2019-09-03 | 分类于 Python | 阅读次数:
本文字数: 114k | 阅读时长 ≈ 3:false

阅读全文 »
1…121314…18
王方钢 / Kenny Wang

王方钢 / Kenny Wang

175 日志
19 分类
61 标签
RSS
GitHub Gmail Linkedin Webo
© 2025 王方钢 / Kenny Wang
由 Hexo 强力驱动 v3.7.1
|
主题 — NexT.Muse v6.3.0
京ICP备18025217号
0%