钢钢更新

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

钢哥的 Oracle APEX 系列文章:

引言

在这一章节里,钢哥将带领大家进一步优化我们的开发环境,让我们的免费开发环境更“生产”,优化思路和方法也完全可以用在生产环境。

优化 Tomcat

删除Tomcat自带的不必要的文件是有必要的,最大限度保证系统安全。

1
rm -Rf /u01/tomcat/webapps/examples

由于我们的 Oracle XE 数据库跟 Tomcat 都是开机自启动的,但在数据库启动完毕之前,部署在 Tomcat 服务器上的 ORDS 应用就会随着 Tomcat 的启动而进行初始化了,这时候初始化肯定不正常(连接池报错等),不得不重启 Tomcat 服务才行。所以我们要对 tomcat.service进行必要的修改,让tomcat等待数据库启动完毕再启动。

/etc/systemd/system/tomcat.service

1
2
3
4
[Unit]
Description=Apache Tomcat 8 Servlet Container
After=syslog.target network.target oracle-xe.service
Wants=oracle-xe.service

加载启动脚本,下次重启就会按照新的自启动脚本启动了。

1
systemctl daemon-reload
阅读全文 »

钢哥的 Oracle APEX 系列文章:

引言

在这一章节里,我们将一起动手安装Oracle数据库(XE)、APEX以及ORDS,并完成相关的设置。

友情提示:由于之前没有绑定阿里云的弹性公网IP,导致阿里云ECS在关机重启后IP地址会变化,这里只要简单把公网IP转换成弹性公网IP即可。弹性公网IP的好处是IP地址不会变化,需要的时候拿过来绑定到ECS等设备上即可,非常灵活。
更多关于阿里云弹性公网IP的介绍请移步这里

现在我们的ECS服务器已经转成弹性公网IP了,以后只要不解绑,这个公网IP地址就不会自己变化了。

言归正传,接下来我们开始今天的教程。

安装前准备工作

下载软件包

我们需要到Oracle官网下载如下软件,如果你还没有注册过Oracle账号,请先完成注册(免费的),登录后才可以下载。

截止到本文写作时间为止,APEX最新的版本是18.1.0.00.45,请下载All Language多语言版本,ORDS最新版本是18.1.1.95.1251。你下载的版本可能比钢哥的高,不过安装步骤是一样的。

阅读全文 »

钢哥的 Oracle APEX 系列文章:

引言

在这一章节里,我们将一起动手安装 Tomcat 以及 Nginx,并为后面的安装做一些初始化设置。

安装配置CentOS 7

在阿里云控制台购买并启动CentOS

之前说过,我们选择阿里云作为云提供商。注册步骤就不展开了,大家可以到阿里云官网进行注册。注册完账号并成功登陆控制台,点击左侧导航菜单云服务器 ECS,再点击创建实例按钮,如下图所示:

阅读全文 »

钢哥的 Oracle APEX 系列文章:

引言

钢哥:“接下来的几篇文章我会详细讲解如何在阿里云上安装部署一套完整的 Oracle APEX 开发环境(如果你想,完全可以直接当生产环境使用)。”

不了解什么是 Oracle APEX 的同学,请参考钢哥的上一篇博文:Oracle APEX 系列文章1:Oracle APEX, 让你秒变全栈开发的黑科技

本文内容主要包括以下软件的介绍:

  • CentOS 7 操作系统(阿里云);
  • Nginx Web 服务器;
  • Apache Tomcat 应用服务器;
  • Oracle REST Data Services(ORDS);
  • Oracle XE 免费版数据库(Oracle Database XE);
  • Oracle Application Express 18.1(Oracle APEX);

如果你已经事先安装好了上述一些软件,可以跳过其中完成部分,仅安装缺失部分即可。

前提假设

本系列文章假设你已经熟悉Oracle系列产品(包括Oracle数据库,APEX,ORDS),至少知道它们是什么,但可能并不了解Linux操作系统的操作,以及如何在CentOS上完整安装APEX。

APEX工作示意图

这些组件的关系简单如下图所示:

上述提到的软件都是开源免费的,当然你也可以替换其中任意部分来实现同样的功能。比如:将Nginx替换成Apache http server(甚至直接用Tomcat做http服务器也可以,不过一般不建议这么做),或者用其他应用服务器(Oracle Weblogic,GlassFish)替换Apache Tomcat。操作系统也可以选择其他操作系统,只要可以安装Oracle数据库即可。

阅读全文 »

钢哥的 Oracle APEX 系列文章:

引言

不知不觉在Oracle ERP这个领域已经13个年头了,从刚毕业学习最基本的SQL、PL/SQL、Linux Shell脚本、Oracle Form、Oracle Report、Workflow、Discovery、Middleware (BPEL)、OBIEE、BI (XML) Publisher、OAF、ADF,到后来的环境搭建、克隆等应用DBA的工作,可以说要想成为一名合格的Oracle ERP技术顾问,要掌握的东西太多了,远不是一个普通互联网开发人员的技能可比的。

但随着互联网技术的崛起,新的开发框架和技术层出不穷。成熟的互联网架构的出现、前后端技术的分离、缓存的大量使用、微服务的兴起,动辄就提全栈开发等等,都使得今天的Oracle技术从业者无论从技术方面还是待遇方面,都受到了不小的打击(想想10年前一名Oracle ERP技术顾问的待遇,绝对比相同经验的Java开发人员的薪资高一倍不止)。很多以前的从事Oracle ERP开发的同事现在不是另谋高就,就是在维护一些古董级的项目,偶尔聊起前途也是一片唉声叹气,感叹生不逢时。

是否从事Oracle开发出路就一定越来越窄呢?答案肯定是否定的。Oracle的数据库至今为止还是市场占有率最大的数据库,而Oracle ERP领域也不是互联网技术可以简单比拟的,其复杂的业务逻辑和行业经验才是你最宝贵的资本。如何合理利用自己已有的知识和技能,在当今互联网当道的时代重新闯出一片天地,恐怕是大部分Oracle技术人员目前面临的困惑。

不可否认,Oracle的产品线非常丰富,但带来的问题是技术栈也非常杂。另外在其主打的Oracle ERP产品:Oracle Fusion Application技术选型和设计上有硬伤。当年(2009年)我第一次了解Oracle Fusion Application时,就已经预判到Oracle ERP要走下坡路了。虽然Java很好,但Oracle打开的方式不对,它选择了ADF作为开发框架,性能和扩展性大打折扣,非常差的用户体验使得Oracle在坚持了多年、投入了巨大的资源后不得不放弃继续开发Oracle Fusion Application,转而收购了云ERP厂商(NetSuite)作为现在主推的ERP产品,浪费了大量的时间和人力物力,令人惋惜。

不过Oracle众多的产品,有一个是非常好的。(其实叫产品也不太贴切,因为它既是产品、又是开发工具、同时又可以作为框架来理解)自从我10年前使用,到最近两年Oracle加速发展,使得这一产品迎来了新的春天,它就是今天的主角:Oracle Application Express(简称Oracle APEX)。

本文目的

本系列文章力求把我这些年使用 Oracle APEX 的经验积累沉淀下来,方便自己查询。同时也希望能为广大 Oracle 技术从业者带来一点儿灵感和思路,跟大家共同学习、共同进步!!
如果你满足以下任意一项:

  • Oracle Developer
  • Oracle DBA
  • Oracle ERP技术开发顾问

并且想要秒变全栈开发,一人把前端后端全搞定,just follow me!

阅读全文 »

背景

本文总结ElasticSearch的一些常用命令和用法,会长期更新,希望对大家有所帮助。

常见操作

新建映射(mapping)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
curl -X PUT 'localhost:9200/accounts' -H 'Content-Type: application/json' -d'
{
"mappings": {
"person": {
"properties": {
"last_name": {
"type": "text"
},
"first_name": {
"type": "text"
},
"sex": {
"type": "keyword"
},
"age": {
"type": "integer"
},
"city": {
"type": "keyword"
},
"comment": {
"type": "text"
}
}
}
}
}'
阅读全文 »

背景介绍

该文档是在慕课网实战课程《2019版 微服务时代Spring Boot企业微信点餐系统》基础上总结而成,旨在记录Spring Boot一些相关知识,文章中涉及的代码都经过验证,可以直接使用。
该文档作为个人参考资料,会长期更新。

慕课网课程地址:2019版 微服务时代Spring Boot企业微信点餐系统

数据库设计

阅读全文 »

本文目标

本文旨在利用腾讯云提供的COSFS工具,将腾讯云的对象存储映射到云服务器的本地磁盘目录上。

前提条件

假设我们已经新建了腾讯云的对象存储(COS),信息如下:
存储桶名称(bucket_name):kenny-hexo 替换成你自己的
存储桶APPID(bucket_appid):1256238228 替换成你自己的

存储桶访问域名(bucket_region):https://kenny-hexo-1256238228.cos.ap-beijing.myqcloud.com 替换成你自己的

API秘钥id(SecretId):AKIDXXXXXXXXXXXXXXXXXXXXXXBM951 替换成你自己的
API秘钥key(SecretKey):8IUgXXXXXXXXXXXXXXXXXXXXXweB 替换成你自己的

阅读全文 »

参考资料

本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅。

常用命令

仓库初始化 - git init

1
git init

我们新建一个文本文件readme.txt

1
2
Git is a distributed version control system.
Git is free software.

将文件添加到仓库中 - git add

1
git add .

将文件提交到仓库 - git commit

1
git commit -m "wrote a readme file"

查看仓库状态 - git status

1
git status

对比文件区别 - git diff

对文件内容进行简单修改并保存,这时还未提交(commit)到仓库,如果这时我们希望对比一下自从上次提交后,该文件发生了哪些变化,可以用git diff命令实现。

1
git diff readme.txt

注:diff比较的是当前未提交(commit)的版本跟上一个版本之间的差别。一旦commit到仓库,就无法比较了。

阅读全文 »
0%