本文目录一览:
- 1、gitspring代码自动生成
- 2、C#中为什么说一个类型中的一部分代码为自动化工具生成的代码,那么就不宜与我们自己编写的代码混合在一起
- 3、关于C#自动生成的代码
- 4、如何开发自动化测试工具自动生成ActionScript的测试脚本
- 5、Java进阶之 怎么自动生成代码
- 6、如何利用git webhooks 实现网站代码自动化部署
gitspring代码自动生成
简单的代码生成工具,主要是用来做代码的自动化生成。根据各自的需求,可以修改里面的源码。
代码是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
GIT与CVS、SVN相比最大的不同,它是分布式版本控制系统,集中式可以理解为将版本的管理集中到了统一的位置,缺点就是对于中央仓库依赖强,一旦中央仓库出现问题,即不可以提交也不可以更新,无法进行版本控制,而GIT本地是有本地仓库,及时远程仓库宕掉了,仍然都可以进行版本控制。但是我认为他们都会有单点问题,一旦远程仓库宕掉了,就无法获取彼此最新的代码。
C#中为什么说一个类型中的一部分代码为自动化工具生成的代码,那么就不宜与我们自己编写的代码混合在一起
是“不宜”,而不是“不能”。
就比如说 Winform,你在 VS 里拖控件画出来的那一坨坨东西,其实就是声明了一个个控件对象然后实例化了它们,它后设置了他们的某些属性,比如字体、位置、大小等等。
这些东西我们在开发中并不需要去关心它,因为它们完全是我们用鼠标拖出来之后 VS 自己生成的,我们只关心真正的业务逻辑部分的代码。所以要做分离。
关于C#自动生成的代码
可以改动,你说的是:Form1.Designer.cs 这里面的自动生成的代码吧?
这里面只是将空间初始化,然后付给他默认值,比如控件所在位置之类的。
类似这些:
this.label1 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.textBox4 = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.textBox5 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 14);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(53, 12);
this.label1.TabIndex = 0;
this.label1.Text = "认证码:";
如果你要手写代码的话,基本不会这么去写。大多是在用到的时候才去写,这部分是在窗体被初始化的时候就加载的,你也可以在使用的时候手动创建,比如点击一个按钮,就在某个位置显示一个文本框:
private void button1_Click(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb.Size = new System.Drawing.Size(20,160);
tb.Location = new Point(100,100);
tb.Text = "默认值";
this.Controls.Add(tb);
}
以上就是动态的创建一个文本框,大小为 20 × 160 像素,位置在 横竖坐标都是 100 的位置,文本内容是 ”默认值“ 的文本框。最后 this.Controls.Add(tb); 就是将它添加到窗体上。
手写代码就是这样的,当然,你也可以动态的绑定事件。
只要遵照一个原则就可以完全自己手写了,就是先构造后使用就行了。
其他的就是注意一下,控件作用域的问题了,比如以上代码,在想拿到那个文本框的值的时候,只能在 button1_Click 的作用域中写(注:当然你也可以用窗体的控件查找方法在任何位置获得。)
如果放到 From 的直接作用域下,那么在整个类里面都可以直接使用。
如何开发自动化测试工具自动生成ActionScript的测试脚本
生成脚本是写文件操作,跟语言无关,只要能写文件的语言都可以。
但是前提是你要懂得AS的语法和文件的组织结构才能生成。
先建个as3的工程,看看as代码组织结构。
然后再用任何一种语言写一个生成代码的功能。
Java进阶之 怎么自动生成代码
myeclipse没有直接的快捷键自动生成构造方法,可以有快捷键弹出source,接着点击自动生成构造方法的菜单。
具体操作如下:工具里快捷键alt+shift+s
就弹出来Generate
Constructor
using
Fields
如何利用git webhooks 实现网站代码自动化部署
1. 生成公钥
公钥有两个:1. git用户公钥,2. 部署公钥:
git用户公钥
ssh-keygen -t rsa -C "admin@xsooo.com"
# 然后一直回车就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用户请查看提示上的路径
1
2
3
ssh-keygen -t rsa -C "admin@xsooo.com"
# 然后一直回车就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用户请查看提示上的路径
部署公钥
sudo -Hu www ssh-keygen -t rsa # 请选择 “no passphrase”,一直回车下去
2. 准备钩子文件
创建和修改目录权限:
mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook
1
2
mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook
写入钩子文件:
sudo -Hu www touch /home/wwwroot/website.com/hook/index.php
1
sudo -Hu www touch /home/wwwroot/website.com/hook/index.php
?php
error_reporting(1);
$target = '/home/wwwroot/website.com'; // 生产环境web目录
$token = '您在coding填写的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';
$json = json_decode(file_get_contents('php://input'), true);
if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}
$repo = $json['repository']['name'];
// $cmds = array(
// "cd $target git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );
// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }
// 感谢@墨迹凡指正,可以直接用www用户拉取代码而不用每次拉取后再修改用户组
$cmd = "sudo -Hu www cd $target git pull";
shell_exec($cmd);
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
28
29
30
31
32
?php
error_reporting(1);
$target = '/home/wwwroot/website.com'; // 生产环境web目录
$token = '您在coding填写的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';
$json = json_decode(file_get_contents('php://input'), true);
if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}
$repo = $json['repository']['name'];
// $cmds = array(
// "cd $target git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );
// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }
// 感谢@墨迹凡指正,可以直接用www用户拉取代码而不用每次拉取后再修改用户组
$cmd = "sudo -Hu www cd $target git pull";
shell_exec($cmd);
确保你的hook文件可以访问:,钩子准备完成。
3.修改git配置和保存git用户名密码
sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "admin@xsooo.com" # 邮箱请与conding上一致
1
2
3
sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "admin@xsooo.com" # 邮箱请与conding上一致
在Coding网站
1.添加用户公钥
复制/root/.ssh/id_rsa.pub内容到个人设置页的SSH公钥里添加即可()
2.添加部署公钥
复制/home/www/.ssh/id_rsa.pub的内容并添加到部署公钥:
选择项目 设置 部署公钥 新建 粘贴到下面框并确认
3.添加hook
选择项目 设置 WebHook 新建hook 粘贴你的hook/index.php所在的网址。比如:, 令牌可选,但是建议写上。
稍过几秒刷新页面查看hook状态,显示为绿色勾就OK了。
初始化
1.我们需要先在服务器上clone一次,以后都可以实现自动部署了:
sudo -Hu www git clone /home/wwwroot/website.com/ --depth=1
1
sudo -Hu www git clone /home/wwwroot/website.com/ --depth=1
这个时候应该会要求你输入一次Coding的帐号和密码,因为上面我们设置了永久保存用户名和密码,所以之后再执行git就不会要求输入用户名和密码了。
**!!注意,这里初始化clone必须要用www用户**
2.往Coding.net提交一次代码测试:
在本地clone的仓库执行:
git commit -am "test hook" --allow-empty
git push
1
2
git commit -am "test hook" --allow-empty
git push
OK,稍过几秒,正常的话你在配置的项目目录里就会有你的项目文件了。
初始化Laravel框架
1. 下载Composer
在项目目录下执行:
sudo -Hu www curl -sS | php
sudo -Hu www php composer.phar install
1
2
sudo -Hu www curl -sS | php
sudo -Hu www php composer.phar install
**!!记得在本地提交的时候在.gitignore中加上composer.phar**