据SECLISTS透露,他们发现新的Reflection API在引进Java SE 7时并未经过非常安全的复查,并且存在着一个非常大的漏洞。
该漏洞可以允许黑客利用10年前便广为人知的手法来攻击Java虚拟机。Java SE 7中的Reflection API并未采取应有的保护机制来防堵该攻击。
SECLISTS公司关于该漏洞的概念验证代码在Java SE 7 Update 25 (1.7.0_25-b16) 版本下成功利用了该漏洞。该代码可以侵入JVM安全方面的特性:类型系统安全性。这样,一个完整的、可依赖的Java安全沙盒分支便可以获得Java SE软件的一个漏洞实例。
Oracle公司在2013年5月曾发表博文称,要优先维护Java的安全性。而如今,Java频频爆出漏洞,这似乎也说明Oracle安全策略的制定和实施还不健全、不完善。
关于该漏洞的更多详情,前往官网查看。
创业者如何在Demo上打动投资人?
作为记者,有时会参加一些创业创新类会议倾听创业者们的演讲。一般来说,主办方会给创业者10分钟的时间去展示自己的idea。在讲的过程中,有的创业者可能是因为长时间和机器交流,本身并不擅长言谈,演讲的时候显得特别腼腆和不自信。演讲结束后谁大家都云里雾里,在最后投资人提问的环节也答非所问。
也许有的投资人会在会后深入的了解你的产品,挖掘出它的潜力,但大部分投资人都不会有这个精力和时间。怎么才能在演讲中吸引到他们?如果你看过《乔布斯的魔力演讲》,应该会有所感触,虽然是乔布斯在新品发布上会的演讲技巧,但是很多其实是通用的。下面分享一些自己的观点(并不完全是书中所说):
时间控制。我们都知道,人的大脑会产生厌倦感,注意力时间是有限的,一般是在10分钟以内大家会认真听你的演讲(更甚的说法是六分钟),一旦超过那个时间点,大家的注意力可能都不在你那里了,打哈欠、看手表、玩手机、窃窃私语等,一片躁动。但是有些创业者就是无法在10分钟内讲完自己的内容,让人很是着急。
演讲思路。一般以讲故事的方式提出问题,然后介绍你的idea能解决这个问题。当然,不同的idea有不同的演讲思路,总的来说,你要能一直吸引大家的注意力,让他们关心你所讲的内容。
幻灯片尽量简洁。“复杂的最终境界是简单”,虽然微软给你提供了一级标题、二级标题、三级标题,但你最好不要用,否则幻灯片感觉像学术论文一样的复杂。堆砌文字只会让大家为了去理解幻灯片上大量的文字信息而分心,导致对你所讲的内容关心不多。最好一张幻灯片一个点。
把投资人都当“懒人”。投资人也是观众,而观众分为视觉、听觉、知觉性观众,反映到你的幻灯片就是,对听觉和视觉型观众,尽量用图片,因为图片更直观易理解,且能给人留下更长久的印象。对于必须要用文字的表达,也尽量简洁,比如只显示一个关键词,它可能是某个数据、年份或者游戏中某个角色,你要做的事情就是具体去解释这些关键词背后的意义给“懒惰”的观众。对于知觉性的观众,如果你做的是硬件产品,一定要与他们互动,让他们去触摸、把玩。
把投资人当小白。演讲中尽量避免专业术语,措辞尽量简单。关于这点,对比最强烈的的两个演讲是在2007年的Macworld大会上乔布斯和盖茨的。盖茨给人的感觉就是用一堆的专业术语自说自话,乔布斯给人的感觉是用通俗易懂的语言和观众互动。
让数字鲜活起来。对于一些枯燥的专业数据,你要去类比或者作比喻。比如形容IBM的超级计算机Roadrunner。如果给你说:这台计算机能力超强悍,运算速度达到了1petaflop/s,也就是每秒1000万亿次。是不是觉得有些懵?好像特厉害,但不知道到底有多厉害。如果这么给你形容:它的计算能力与10万台笔记本电脑计算能力的总和,是不是一下就觉得数字鲜活起来了?
idea的精简有力表达。你需要用一句话说清楚你idea能解决的问题和独特之处。在Google两位创始人Larry和Sergey向红杉资本寻求融资的时候,他们就一句话介绍了Google的独特与功能“Google provides access to the world’s information in one click”(Google一键通世界),正是这简单的表达,让投资人理解了Google技术的意义。
当然,上面这些只是一些通用的东西,演讲起来还得具体问题具体分析,但无论你介绍的是硬件、App、游戏或是开发工具,在去见投资人或者参加演讲之前,一定要彻彻底底弄清自己在做什么,不仅是为了融资,更是为了弄清你的这个idea到底有没有价值。
(文/陈馨影 责编/魏兵)
可以直接拿来用的15个jQuery代码片段
jQuery里提供了许多创建交互式网站的方法,在开发Web项目时,开发人员应该好好利用jQuery代码,它们不仅能给网站带来各种动画、特效,还会提高网站的用户体验。
本文收集了15段非常实用的jQuery代码片段,你可以直接复制黏贴到代码里,但请开发者注意了,要理解代码再使用哦。下面就让我们一起来享受jQuery代码的魅力之处吧。
1.预加载图片1
2
3
4
5
6
7
8
9
10
11
12(function($) {
var cache = [];
// Arguments are image paths relative to the current page.
$.preLoadImages = function() {
var args_len = arguments.length;
for (var i = args_len; i--;) {
var cacheImage = document.createElement('img');
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
}
jQuery.preLoadImages("image1.gif", "/path/to/image2.png");
- 让页面中的每个元素都适合在移动设备上展示
1
2
3
4
5
6
7
8
9
10
11var scr = document.createElement('script');
scr.setAttribute('src', 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js');
document.body.appendChild(scr);
scr.onload = function(){
$('div').attr('class', '').attr('id', '').css({
'margin' : 0,
'padding' : 0,
'width': '100%',
'clear':'both'
});
};
3.图像等比例缩放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$(window).bind("load", function() {
// IMAGE RESIZE
$('#product_cat_list img').each(function() {
var maxWidth = 120;
var maxHeight = 120;
var ratio = 0;
var width = $(this).width();
var height = $(this).height();
if(width > maxWidth){
ratio = maxWidth / width;
$(this).css("width", maxWidth);
$(this).css("height", height * ratio);
height = height * ratio;
}
var width = $(this).width();
var height = $(this).height();
if(height > maxHeight){
ratio = maxHeight / height;
$(this).css("height", maxHeight);
$(this).css("width", width * ratio);
width = width * ratio;
}
});
//$("#contentpage img").show();
// IMAGE RESIZE
});
4.返回页面顶部1
2
3
4
5
6
7
8// Back To Top
$(document).ready(function(){
$('.top').click(function() {
$(document).scrollTo(0,500);
});
});
//Create a link defined with the class .top
<a href="#" class="top">Back To Top</a>
5.使用jQuery打造手风琴式的折叠效果1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23var accordion = {
init: function(){
var $container = $('#accordion');
$container.find('li:not(:first) .details').hide();
$container.find('li:first').addClass('active');
$container.on('click','li a',function(e){
e.preventDefault();
var $this = $(this).parents('li');
if($this.hasClass('active')){
if($('.details').is(':visible')) {
$this.find('.details').slideUp();
} else {
$this.find('.details').slideDown();
}
} else {
$container.find('li.active .details').slideUp();
$container.find('li').removeClass('active');
$this.addClass('active');
$this.find('.details').slideDown();
}
});
}
};
6.通过预加载图片廊中的上一幅下一幅图片来模仿Facebook的图片展示方式1
2
3
4
5
6
7
8var nextimage = "/images/some-image.jpg";
$(document).ready(function(){
window.setTimeout(function(){
var img = $("").attr("src", nextimage).load(function(){
//all done
});
}, 100);
});
7.使用jQuery和Ajax自动填充选择框1
2
3
4
5
6
7
8
9
10
11
12
13$(function(){
$("select#ctlJob").change(function(){
$.getJSON("/select.php",{id: $(this).val(), ajax: 'true'}, function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += '
' + j[i].optionDisplay + '
';
}
$("select#ctlPerson").html(options);
})
})
})
8.自动替换丢失的图片1
2
3
4
5
6
7
8// Safe Snippet
$("img").error(function () {
$(this).unbind("error").attr("src", "missing_image.gif");
});
// Persistent Snipper
$("img").error(function () {
$(this).attr("src", "missing_image.gif");
});
9.在鼠标悬停时显示淡入/淡出特效1
2
3
4
5
6
7
8 $(document).ready(function(){
$(".thumbs img").fadeTo("slow", 0.6); // This sets the opacity of the thumbs to fade down to 60% when the page loads
$(".thumbs img").hover(function(){
$(this).fadeTo("slow", 1.0); // This should set the opacity to 100% on hover
},function(){
$(this).fadeTo("slow", 0.6); // This should set the opacity back to 60% on mouseout
});
});
10.清空表单数据1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20function clearForm(form) {
// iterate over all of the inputs for the form
// element that was passed in
$(':input', form).each(function() {
var type = this.type;
var tag = this.tagName.toLowerCase(); // normalize case
// it's ok to reset the value attr of text inputs,
// password inputs, and textareas
if (type == 'text' || type == 'password' || tag == 'textarea')
this.value = "";
// checkboxes and radios need to have their checked state cleared
// but should *not* have their 'value' changed
else if (type == 'checkbox' || type == 'radio')
this.checked = false;
// select elements need to have their 'selectedIndex' property set to -1
// (this works for both single and multiple select elements)
else if (tag == 'select')
this.selectedIndex = -1;
});
};
11.预防对表单进行多次提交1
2
3
4
5
6
7
8
9
10
11
12
13
14
15$(document).ready(function() {
$('form').submit(function() {
if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {
jQuery.data(this, "disabledOnSubmit", { submited: true });
$('input[type=submit], input[type=button]', this).each(function() {
$(this).attr("disabled", "disabled");
});
return true;
}
else
{
return false;
}
});
});
12.动态添加表单元素1
2
3
4
5//change event on password1 field to prompt new input
$('#password1').change(function() {
//dynamically create new input and insert after password1
$("#password1").append("");
});
13.让整个Div可点击
blah blah blah. link
The following lines of jQuery will make the entire div clickable:1
$(".myBox").click(function(){ window.location=$(this).find("a").attr("href"); return false; });
14.平衡高度或Div元素1
2
3
4
5var maxHeight = 0;
$("div").each(function(){
if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }
});
$("div").height(maxHeight);
- 在窗口滚动时自动加载内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18var loading = false;
$(window).scroll(function(){
if((($(window).scrollTop()+$(window).height())+250)>=$(document).height()){
if(loading == false){
loading = true;
$('#loadingbar').css("display","block");
$.get("load.php?start="+$('#loaded_max').val(), function(loaded){
$('body').append(loaded);
$('#loaded_max').val(parseInt($('#loaded_max').val())+50);
$('#loadingbar').css("display","none");
loading = false;
});
}
}
});
$(document).ready(function() {
$('#loaded_max').val(50);
});
新免费顶级域名.ML .CF .GA域名开放注册及详细申请过程
ML域名是非洲国家马里的后缀,.CF域名中非共和国的后缀,.GA域名则是加蓬共和国的后缀,这三个域名都已经交给第三方的域名运营商来管理,2013年7月15日.ML域名全面开放免费注册,.CF域名说是在2013年7月15日开放注册,但目前未开放免费注册.GA域名是在2013年9月1日全面开放注册。
.ML、.CF和.GA域名采用了和TK域名一样的域名申请注册系统,同时支持DNS解析管理。
免费顶级.ML域名申请注册
1、打开 http://www.freenom.com 输入你要注册的域名,并回车
输入你以前注册 .tk 域名时使用的邮箱,如果没有,就不用往下看了。。。因为会提示 The email address you have given is not valid. 填入正确的邮箱后点击 NEXT

您可以登陆 http://my.freenom.com 查看您注册的域名

做就有百分之五十的可能,不做就彻底没有
在我生活的大部分时间,除了在家和我爱人在一起。工作的时候,我跟领导和原来同桌待得时间比较长,我领导是深受《古惑仔》影响的那代人,影响到还真的去混过黑社会,他的口头禅是电影里的台词“做就有百分之五十的可能,不做就彻底没有”,当然对着我的口头禅就变成了“你不好好学习,黑社会面试都过不了。”很多时候,看着他,就会觉得很励志,这个年纪有了宝宝,虽然房贷没还完,但是也算有房子。虽然还在读但是也算有高级知识分子,在这个城市里,可能不算典型,但是也算是励志典范了。
记得有一次,我们办公室愤青不知道受什么打击了,说咱们再怎么奋斗也赶不上富二代了,balabala。大家被他引导的群情激奋。领导只是低头问我,中午吃什么。午饭的时候,我就问他,他们说的是不是真的,咱们再怎么奋斗也赶不上富二代了。他从面碗里抬起头说,不要随便听人家的建议,他说的建议,他自己可能都没去试过,你想听建议得找那个已经把事做完了的,不能说一定找成功的,但是也得找做过的。如果实在分不清该听谁的,就自己试试。试过了才知道,不试就放弃了,在看到别人成功了的时候,你就只能说,当年我也想过就是没做。。。
自从领导来之后,很多事情,我都会受他影响。比如还没谈恋爱的时候,我一开始总是把心思放在其他地方。他就跟我讨论这事,我就说,你看你也不是高帅富,还不是找了大嫂那么好的女人。他就跟我说,我是男人,你看她优秀还不是嫁给我,她的同学都单身好不好。你不着急,回头选的都是人家剩下的。。我说我不会谈恋爱呀,跟人家在一块不知道说什么。他说你不试怎么知道,天天在办公室里怎么可以找到男朋友。
我找兼职的时候,去出版社应聘营销编辑前,因为没有经验很犹豫,纠结了很久,最后他说,成不成还不知道,你现在纠结什么,成就试试呗,不成就干脆没事了。后来听他的去试了,过了不久当我高高兴兴的在办公室写方案的时候,他就打趣我说,你看我说你适合这种工作吧。
后来当有豆友问我意见的时候,我也会更多的建议他们都自己试试,其实很多事我也不懂,但是我总会想到这句做就有百分之五十的可能,不做就彻底没有。我们要做一件事,总会面临很多困难,有些需要花心思解决,有些你只能接受,而我们只能尽人事,听天命。如果连人事都没尽,直接放弃,等多年后回头再想,会不会很遗憾。
关于 Discuz! x2.5 自定义栏目用于注册时的数据校验
以真实姓名为例,我只允许在名单里的童鞋注册,并且不允许重复注册,效果如图:






弹窗效果是字段值不符合要求时点击提交后给出的提示,并且不允许提交
前端验证数据使用的是 jQuery,中间遇到了一点小坎坷,但还是解决了。
实现方法如下:
接下来就是修改代码了,先下载 jQuery 库,复制至你论坛的 static/js 目录下备用
下载 jQuery 库:jquery-1.8.3.min使用代码编辑器打开 source/class/class_member.php ,找到这一句
1
foreach($_G['cache']['fields_register'] as $field) {
然后将
1
2$field_key = $field['fieldid'];
$field_val = $_GET[''.$field_key];
移至1
2
3if(defined('IN_MOBILE')) {
break;
}
之前,为了之后手机版注册时做准备
- 在
1
2$field_key = $field['fieldid'];
$field_val = $_GET[''.$field_key];
之后插入这样一段代码,请按照注释根据自己的情况进行修改1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19/*
检测用户提交的真实姓名是否存在并且是否已经注册
*/
//check realname start
if ($field_key=='realname') { //请将 realname 修改为该栏目在前端注册时表单中使用的 name
$get_realname=(get_magic_quotes_gpc())?$_POST['realname']:addslashes($_POST['realname']); //同上
if (empty($get_realname)) { //如果你修改了上面的变量名称,请一并修改这里的
showmessage('请输入您的真实姓名'); //调用 dz 自带的函数进行弹窗提示
}
$realname_query_1=mysql_query('SELECT `realname` FROM `pre_common_member_realname` where `realname`=\''.$get_realname.'\''); //查询用户提交的真实姓名是否存在于自己允许注册的表中,这个表需要自己创建
if (mysql_num_rows($realname_query_1)==0) { //如果返回行数为 0
showmessage('您输入的真实姓名有错误,请重新输入'); //修改提示语
}
$realname_query_2=mysql_query('SELECT `realname` FROM `pre_common_member_profile` where `realname`=\''.$get_realname.'\''); //查询用户提交的真实姓名是否已经被注册
if (mysql_num_rows($realname_query_2)!==0) { //如果返回的行数不等于 0
showmessage('请您不要重复注册'); //修改提示语
}
}
//check realname end
- 修改手机版模板,使用代码编辑器打开文件 template/default/mobile/member/register.htm ,在适当的区域加上
1 | <label><strong>真实姓名*</strong><input type="text" name="realname" autocomplete="off" id="realname" class="txt" /> </label> |
注意请根据自己实际情况进行修改
- 修改电脑版模板,使用代码编辑器打开文件 template/default/member/register.htm,在
1
<!--{eval updatesession();}-->
前加上以下代码,注意请根据自己实际情况进行修改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<script type="text/javascript" src="static/js/jquery-1.8.3.min.js" charset="UTF-8"></script>
<script type="text/javascript">
var jq = jQuery.noConflict();
jq("#tip_realname").html("请输入您的真实姓名");
jq(function() {
jq("#realname").focus( function() {
jq("#tip_realname").css("display","block");
jq("#chk_realname").html("");
jq("#td_realname").removeClass("p_right");
jq("#realname").removeClass("er");
});
jq("#realname").blur( function() {
jq("#tip_realname").css("display","none");
var realn = jq("#realname").val();
jq("#td_realname").removeClass("p_right");
if (realn != "" && realn != null) {
jq.post("source/function/function_check_realname.php", { "realname": realn }, function (rnresult) {
if (rnresult != "" && rnresult != null) {
jq("#chk_realname").html(rnresult);
jq("#realname").addClass("er");
} else {
jq("#td_realname").addClass("p_right");
jq("#realname").removeClass("er");
}
});
} else {
jq("#chk_realname").html("请输入您的真实姓名");
jq("#realname").addClass("er");
}
});
});
</script>
- 找到
1
<!--{loop $_G['cache']['fields_register'] $field}-->
与1
<!--{/loop}-->
它们以及它们中间那段代码正是循环输出自定义栏目的代码。
修改1
<td class="tipcol" >
为1
<td id="td_$field['fieldid']" class="tipcol" >
以供之后 jQuery 使用。
新建文件 source/function/function_check_realname.php ,并使用代码编辑器打开
输入以下代码,和前面的 class_member.php 差不多,注意根据自己实际情况修改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
33
34
35
36
/*替换为你自己的数据库名(可从管理中心查看到)*/
$dbname = 'XQMOszFiQwWvbnsOHGwq';
/*从环境变量里取出数据库连接需要的参数*/
$host = getenv('HTTP_BAE_ENV_ADDR_SQL_IP');
$port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT');
$user = getenv('HTTP_BAE_ENV_AK');
$pwd = getenv('HTTP_BAE_ENV_SK');
/*接着调用mysql_connect()连接服务器*/
$link = @mysql_connect("{$host}:{$port}",$user,$pwd,true);
if(!$link) {
die("Connect Server Failed: " . mysql_error());
}
/*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/
if(!mysql_select_db($dbname,$link)) {
die("Select Database Failed: " . mysql_error($link));
}
/*
检测用户提交的真实姓名是否存在并且是否已经注册
*/
//check realname start
$get_realname=(get_magic_quotes_gpc())?$_POST['realname']:addslashes($_POST['realname']);
$realname_query_1=mysql_query('SELECT `realname` FROM `pre_common_member_realname` where `realname`=\''.$get_realname.'\'');
if (mysql_num_rows($realname_query_1)==0) {
echo '您输入的真实姓名有错误,请重新输入';
exit();
}
$realname_query_2=mysql_query('SELECT `realname` FROM `pre_common_member_profile` where `realname`=\''.$get_realname.'\'');
if (mysql_num_rows($realname_query_2)!==0) {
echo '请您不要重复注册';
exit();
}
//check realname end现在,就大功告成啦。。。效果 http://95bbs.imjs.work
P.S. 因为 jQuery 和 dz 自带的 js 效果有冲突,所以需要加上一句1
var jq = jQuery.noConflict();
并将所有的 $ 替换为 jq
Discuz! x2.5 for BAE
安装步骤:
1、创建百度云存储Bucket,最少为30M,并修改Bucket的属性为公开读.
2、将压缩包解压,并将upload/bcs/config.php文件中BAIDU_BCS_BUCKET修改为你创建的百度云存储Bucket名。
3、将upload目录上传到百度BAE.
4、查看百度mysql的数据库名,并点击设置,将数据库默认字符集编码修改为utf8 (utf8_general_ci)。
5、启用百度cache(缓存), 最少30M. 如果之前已经启用百度cache并且安装过discuz,请停用后再次启用。
6、打开http://xxx.duapp.com/install/index.php来开始安装,过程中需要提供你创建的百度mysql数据库的名称。
7、删除install目录。
8、进入到后台管理,点击全局–〉上传设置,填写”本地附件 URL 地址”为http://bcs.duapp.com/xxx/data/attachment。xxx为你创建的bucket名称。
该版本解决问题:
1、解决云平台不能使用的问题
2、解决QQ互联不能使用的问题
3、支持BAE伪静态。
下载地址:http://pan.baidu.com/share/link?shareid=3316500327&uk;=3725396711
声明,这份源码不是我修改的,我只是在 upload 目录里加了一个 app.conf 以实现伪静态。但是,伪静态还是有点小 bug,各位还是就开这两个吧,见图。
DigitalOcean免费VPS送20美元和充值续费方法

DigitalOcean这家卖SSD VPS的主机商一直以来促销不断,前几天部落已经分享了DigitalOcean免费VPS申请试用,新用户只要在DigitalOcean注册账号,就可以获赠10美元,一个512MB内存的VPS月付是5美元,用这个10美元就可以免费用2个月。
而这次DigitalOcean又再接再厉,推出了新用户注册DigitalOcean可以免费获赠20美元,也就是说我们可以免费使用DigitalOcean VPS四个月。至于4个月后如果不想用了就再注册一个账号,如果想继续使用,也可以用Paypal充值续费。
一、DigitalOcean免费VPS送20美元可用4个月
1、DigitalOcean官网:https://www.digitalocean.com/
2、DigitalOcean账号注册和管理使用请先参考:DigitalOcean免费VPS申请试用512MB内存1TB流量SSD硬盘
3、登录DigitalOcean后,点击添加信用卡。

4、然后在右下角输入免费赠送20美元的优惠码:SSDCHP20,稍等一会儿就可以直接返回到Billing中看到自己已获20美元了。

5、你也可以输入获取10美元消费券的优惠码:SSDPOWER 或者 OMGSSD10,这个10美元优惠码长期有效。
6、DigitalOcean是按时计费的,可以直接在账单中可以看到已经消费的金额,这是我上次获得的10美元消费券,已经用了1.88美元。(点击放大)

二、DigitalOcean免费VPS充值续费方法可用国内银联卡
1、首先进入DigitalOcean管理中心,点击Billing。

2、然后点击右上角的“Manage Payment”。

3、接下来在下方有Paypal充值的链接。

4、点击它会跳转到Paypal付款页面。

5、在这里我们可以选择用国内的银联卡来付款,将国家选择为中国,然后输入银行卡,就会自动识别出来是银联卡了。

6、用Paypal给DigitalOcean充值成功后,会自动跳转到DigitalOcean管理中心。

7、在DigitalOcean的财务管理中心,能看到自己的充值记录。

三、DigitalOcean使用小结
DigitalOcean支持Paypal的银联卡付款,这实在是方便了很多Paypal没有美元余额和信用卡的朋友购买。
如何获得mysql数据库的所有的列
1 | SELECT COLUMN_NAME FROM `information_schema`.`COLUMNS` where `TABLE_NAME`='appStats' order by COLUMN_NAME |
所有字段获取:1
SELECT COLUMN_NAME FROM 'information_schema'.'COLUMNS' where 'TABLE_SCHEMA'='数据库名称' and 'TABLE_NAME'='你的表名' order by COLUMN_NAME;
或者1
select * from `information_schema`.`columns` where `table_name`='表名';
笨方法:
单个获取1
2$re_name_1=mysql_field_name($result,1);
$re_name_2=mysql_field_name($result,2);
Jelastic免费PaaS云空间支持Java,PHP可绑域名MysqL数据库

Jelastic是一家老外的PaaS云空间,支持Java和PHP,注册空间时会赠送一个二级域名,也可以绑定自己的域名,服务器可以选择Apache、Nginx,数据库可以选择MySql、NoSql、PostgreSQL、MongoDB等。
Jelastic空间虽说是一个PaaS平台,但是新手上手难度非常小,MysqL数据库有PhpMyAdmin在线管理,文件支持在线上传,域名可以直接在控制面板中绑定,可直接安装和运行WordPress、Joomla、Drupal等程序。
一、Jelastic免费云空间申请使用
1、Jelastic官网:http://jelastic.com/
2、进入网站后,输入自己的邮箱,点击“Try It Free”。

3、接着用邮箱收到的邮件中的密码登录Jelastic空间控制平台。

4、点击左上角的“Create Environment”开始创建应用,可选PHP或者Java。

5、现在就可以选择自己的应用配置了,如Apache、PHP版本、SSL、SQL和二级域名等,如下图:(点击放大)

6、完成了虚拟主机的配置后,稍等一会儿一个PHP或者JAVA空间就这样创建完成了。

二、Jelastic云PaaS平台上传管理文件
1、Jelastic云PaaS平台提供了在线上传文件压缩包的功能。

2、从本地选择一个压缩包(不要用RAR格式的),就可以上传了。

3、文件上传完成后,点击文件后面的小按钮,选择发布文件到应用上。

4、接着选择是将代码部署到根目录还是二级目录,如果想要根目录直接留空即可。

三、Jelastic免费云空间绑定域名和DNS解析
1、在应用后面点击“设置”。

2、然后在下方就可以填入自己想要绑定的域名了。

3、绑定域名后还需要到域名DNS管理处做DNS解析,即添加CNAME记录,记录值是Jelastic赠送的二级域名。

四、Jelastic免费空间创建MysqL和管理MysqL数据库
1、要想使用MysqL,需要在创建Jelastic空间时添加MysqL服务,之前没有添加的也可以重新编辑Jelastic应用添加MysqL服务。

2、创建完成后就会收到Jelastic发来的关于MysqL登录地址、账号和密码等详细信息。

3、登录PhpMyAdmin就可以添加新的数据库了。

4、同时也可以添加新的数据库用户名和密码。

五、Jelastic空间安装Wordpress博客
1、按照上面的方法将Wordpress压缩包上传到Jelastic空间,创建MysqL数据库,然后打开网址进入Wordpress安装页面。
2、数据库的用户名写root,数据库主要是URL地址,在Jelastic空间中可以找到,如下图:

3、这是我在Jelastic空间演示:
1、主页:http://freehao123.jelastic.dogado.eu/
2、探针:http://freehao123.jelastic.dogado.eu/tz.php
3、绑域名:http://jel.freehao123.info/
4、WP:http://freehao123.jelastic.dogado.eu/wp/
六、Jelastic空间申请使用小结
1、用过了Jelastic免费空间后总体感觉不错,虽然是云空间但是和一般的虚拟主机差不多,容易上手,而该空间在国内访问速度都挺不错的。
2、在Jelastic空间上安装Wordpress时可以先修改配置文件再打包上传,如果你在安装时出现数据库连接错误请检查一下用户名和数据库主机地址。






