Useideatologinserverbyssh

如何使用IDEA进行ftp或者ssh连接服务器

后端开发新利器

Web开发难免需要数据库和服务器,所以以下我们解决一个后端开发的需求:如何高效连接数据库和服务器

免去安装各种前端

我过去开发后端都必须安装一个顺手的前端软件进行连接数据库或者服务器,推荐一下用户的软件:

mysql连接方案

  1. Navicat
  2. MySQL Workbench
  3. PhpMyAdmin
  4. Sequel Pro(Mac)

ftp或ssh连接方案

  1. FileZilla
  2. xShell

但是找个跨平台的又顺手的就不太容易。

新的解决方案

使用IDEA自带功能,IDEA本来就是跨平台的IDE,再加上配置可以导出,这样我们就找到一个通用性的解决方案,当然如果你是运维,对某一个功能需求比较强烈,还是可以使用更专业的软件。

1.Tools->Deployment->Configuration进行配置

image-20190429135321023

2.①增加按钮,输入一个服务器名称②

image-20190429135805539

3.如有服务器地址①,用户名②,密码③,然后测试连接④,成功后点击OK

image-20190429140036645

4.就能在Remote Host视图中看到文件系统了

image-20190429140424279

5.演示ssh连接方式,Tools->Start SSH session…

image-20190429140552551

6.选择一个session连接。

image-20190429140659385

7.最终效果

image-20190429140840375

8.连接mysql方式

image-20190429141649747

9.接下来完善连接信息,服务器地址①,用户名②,密码③,测试连接④

image-20190429142013964

如何炒股

如何炒股

1.设置止损位和止盈位

认真确定(4.8%~8% 从4.8开始到8把股票减持或增持到全部)

2.熊市处理

熊市如果看不清行情,空仓观望,认真分析,避免胜利果实丢失。对看好的股票进行跟踪,虚拟购买,确认涨势后再实盘操作。

3.顺势而为

确定好上升趋势后再购买,下降趋势要及时止损

4.寻找买入理由

购买前写下5条购买理由(1.产品有竞争力 2.产业前景 3.财务报表 4.股票本息比 5.公司各方消息)。卖股票,应该要卖没有赚钱的股票。

5.连涨股票不轻易出手

卖出股票规避理由“因为我已经赚钱了。”

6.分析股票上涨行情真实性

和股票投机客博弈

Javascript常用调试技巧

日志输出:

// 分级输出
console.log('文字信息');
console.info('提示信息');
console.warn('警告信息');
console.error('错误信息');

// 分组输出
console.group('第一个组');
    console.log("1-1");
    console.log("1-2");
    console.log("1-3");
console.groupEnd();

console.group('第二个组');
    console.log("2-1");
    console.log("2-2");
    console.log("2-3");
console.groupEnd();

// 嵌套输出
console.group('第一个组');
    console.group("1-1");
        console.group("1-1-1");
            console.log('内容');
        console.groupEnd();
    console.groupEnd();
    console.group("1-2");
        console.log('内容');
        console.log('内容');
        console.log('内容');
    console.groupEnd();
console.groupEnd();

console.groupCollapsed('第二个组');
    console.group("2-1");
    console.groupEnd();
    console.group("2-2");
    console.groupEnd();
console.groupEnd();

// 表格输出
var table = {
    row1: {
        column1: "aaa",
        column2: "bbb",
        column3: "ccc"
    },
    row2: {
        column1: "aaa",
        column2: "bbb",
        column3: "ccc"
    },
    row3: {
        column1: "aaa",
        column2: "bbb",
        column3: "ccc"
    },
    row4: {
        column1: "aaa",
        column2: "bbb",
        column3: "ccc"
    }
}
console.table(table);

var newTable = [
    ["aa","bb","cc"],
    ["dd","ee","ff"],
    ["gg","hh","ii"],
]
console.table(newTable);
// 可以在输出的对象、变量前加上提示信息,增加辨识度
var name = "iAnonymous"
console.log("提示语:", name);

// 格式化输出
// %s   字符串输出
// %d   整数输出
// %i   整数输出
// %f   浮点数输出
// %o   打印javascript对象,可以是整数、字符串以及JSON数据

var book = {
    name: "JiuZhangSuanShu",
    price: 23
}
console.log("%s整数部分:%d,带上小数是:%f,来自%o", "圆周率", 3.1415, 3.1415, book);

说明:console

查看功能

// 查看变量
var coder = {
    name: 'iAnonymous',
    bio: 'coding'
}
console.log("console.dir(coder)");
console.dir(coder);
console.dirxml(coder);// 在Chrome中console.dirxml()和console.log()效果相同

判断输出

console.assert(true, "你永远看不见我");
console.assert((function() { return true;})(), "你永远看不见我");

console.assert(false, "你看得见我");
console.assert((function() { return false;})(), "你看得见我");

计次输出

(function () {
    for(var i = 0; i < 3; i++){
        console.count("运行次数:");
    }
})()

追踪调用堆栈

function add(a, b) {
    console.trace("Add function");
    return a + b;
}

function add3(a, b) {
    return add2(a, b);
}

function add2(a, b) {
    return add1(a, b);
}

function add1(a, b) {
    return add(a, b);
}

var x = add3(1, 1);

计时功能

console.time("Chrome中循环1000次的时间");
for(var i = 0; i < 1000; i++)
{

}
console.timeEnd("Chrome中循环1000次的时间");

自定义样式

// 使用%c为打印内容定义样式,再输出信息前加上%c,后面写上标准的css样式,就可以为输出的信息添加样式了
console.log("%cMy stylish message", "color: red; font-style: italic");

学无止尽

已读的书

1.  代码大全2
2.  Android开发入门与实战 (eoe)
3.  JavaScript王者归来 (月影)
4.  疯狂Android讲义(第2版) (李刚)
5.  名师讲坛Android开发实战经典 (李兴华)

正在读的书

1.  高效程序员的45个习惯:敏捷开发修炼之道
2.  Swift与Cocoa框架开发

将要读的书

在线移动支付

支付宝移动支付

SDK下载地址:LINK

下载相关文件

WS_MOBILE_PAY_SDK_BASE.zip
|--即时到账批量退款有密接口-refund_fastpay_by_platform_pwd(20150825)
|--商户接入支付宝收银台界面展示标准-无线
`--支付宝钱包支付接口开发包2.0标准版(20150917)

具体步骤

  1. 拷贝alipaySDK-20150818.jar到自己的libs目录
  2. res资源拷贝,string.xml因为就一个app_name的字符串,所以不用拷贝
  3. java源码拷贝自己包名下
  4. AndroidManifest.xml添加需要的Activity,H5PayActivity
  5. 混淆文件中的内容添加proguard-project.txt
  6. 填上去支付的几个静态常量,PARTNER、SELLER、RSA_PRIVATE、RSA_PUBLIC
  7. 自己定制其他内容

微信支付

资源中心:LINK

新版本DEMO,使用AS编写,最后替换新版本的libammsdk.jar
Android2_SDK238f8d.zip
|--doc
`--libs
    `--libammsdk.jar

wechat_sdk_sample_android_v3_pay.zip
`--wx_pay
老版本DEMO,提供的不交完整,但是都是14年写好的老DEMO
app_wx_pay_tool_android1d902c.zip
|--【微信APP支付】Sample_For_Android
|--【微信APP支付】SDK_For_Android
|--【微信APP支付】服务端demo
|--【微信支付】退款及对账demo
|--【微信APP支付】接口文档V1.2_For_Android.pdf
`--【微信支付】退款及对账开发指南.pdf

具体步骤

拷贝java源代码到自己项目目录,假设自己程序的包名为com.ianonymous.weixin

  1. WXPayEntryActivity必须在wxapi目录下,可以这样子放,例:com.ianonymous.weixin.wxapi目录
  2. Demo页面PayActivity也可以先拷贝过来到com.ianonymous.weixin
  3. net.sourceforge.simcpux直接全部拷贝到java目录
  4. res目录资源拷贝过来,为了避免合并问题,values目录下的文件可以都加一下前缀wxpay_
  5. AndroidManifest.xml添加需要的Activity,PayActivity、WXPayEntryActivity、AppRegister
  6. 最后注意如果你使用6.0以上Android的SDK的话,因为android6.0 SDK中删除HttpClient的相关类,解决方法是在项目主build.gradle的android标签下添加useLibrary ‘org.apache.http.legacy’
android {
    useLibrary 'org.apache.http.legacy'
}

之后都可以定制了