新人工作半个月,闲下来整理下一些在工作中遇到的别人看来很简单的知识点
本科四年软件工程专业。自学java两年,目前大三下,暑假来深圳找工作,没工作经验,只能在网上海投,专注在中国人才网一共海投投了7500份简历,找工作15天整,断断续续面试了15家公司,各种奇葩的面试(立马在电脑上写模块代码,做奥数题,各种笔试······),各种一面二面三面,7家offer,可是都以大三没毕业证不能签正式的劳动合同为由把工资压的极低。。。(有幸的是能够遇到目前这家很不错的公司,直接进了项目组,对于一个刚刚大三还未大四的菜鸟是很好的锻炼和考验机会。)
今天是参加工作的第五个星期一。将这段时间工作中的一些老鸟不屑的知识点记录下。
第一个任务就是项目的第三方授权管理(网页授权获取用户基本信息)。第二个新建一个模块功能。
//如何获得系统日期,并把其转化为 String
import java.util.Date;
import java.text.*;
public class StrDate{
public static void main(String[] args){
Date d = new Date();
//String str = d.toString();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd kk:mm:ss ");
//其中yyyy-MM-dd是你要表示的格式
//可以任意组合,不限个数和次序;具体表示为:MM-month,dd-day,yyyy-year;kk-hour,mm-minute,ss-second;
String str=sdf.format(d);
System.out.println("The date is : " str); } }
DateTime dt = DateTime.Now;
dt.ToLocalTime().ToString();//2005-11-5 21:21:25
dt.ToUniversalTime().ToString();//2005-11-5 5:21:25
/** 以时间戳产生随机数,一共13位 8yymmddd 5随机数 */
public long getID() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String y = sdf.format(new java.util.Date());
int n = 0;
while (true) {
n = (int) (Math.random() * 10000000);
if (n >= 10000 && n < 100000) {
break;
} }
return Long.parseLong(y + n);
}
数据库字段小于当前时间
SELECT * FROM Microcampus_T_Activity WHERE cityid = '0'; SELECT * FROM `Microcampus_T_City` WHERE id ='1'; SELECT * FROM `Microcampus_T_Activity` WHERE datetiff(NOW(), `endtime`)>0;
SELECT * FROM `Microcampus_T_Activity` WHERE DATEDIFF(`endtime`, NOW())<0;
SELECT * FROM Microcampus_T_Activity WHERE DATEDIFF(ms,jieshushijian, getdate()) > 0"
select * from Microcampus_T_Activity where endtime > NOW();
//下面就是实现为数据库获取一个唯一的主键id的代码生成32位UUID去掉—
public class UUIDGenerator {
public UUIDGenerator() {
}
/**
* 获得一个UUID
* @return String UUID
*/
public static String getUUID(){
String s = UUID.randomUUID().toString();
//去掉“-”符号
return s.substring(0,8)+s.substring(9,13)+s.substring(14,18)+s.substring(19,23)+s.substring(24);
}
int转换为16进制
Integer.toHexString(number)
//页面无跳转实现 JSP ---Action -----JSP 对象直接访问下面的网址(而不是让浏览器跳转到)
JSP如何解析 Action 返回的 JSON数据
需求文档中还需要用到 Memcached 临时找了几篇博客看看(很谢谢这个简单明了的介绍http://www.360doc.com/content/11/0503/23/63912_114183956.shtml)
Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。
// memcache初始化
static {
String[] servers = { "127.0.0.1:11211" };
Integer[] weights = { 3, 3, 2 };
sUpool = SockIOPool.getInstance();
sUpool.setServers(servers);
sUpool.setWeights(weights);
sUpool.setMaintSleep(30);
sUpool.setNagle(false);
sUpool.setSocketTO(3000);
sUpool.setSocketConnectTO(0);
sUpool.initialize();
}
调用::
protected static MemCachedClient mcc = new MemCachedClient()
// 以APPID+当前用户ID为Value存储到memcache中。过期时间设为2分钟。
String key = getRandom(); // code
String value = app.getAppId() + User.getId();
mcc.set(key, value, new Date(
new Date().getTime() + 60000 * 2));
CSS:
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
实现文字过长,自动加...;不换行。
.LocalCityBar { width: 100%; height: 39px; position: fixed; top: 0px; display: none; background: #F5F5F5; border-bottom: 1px solid #b5b4b5; padding-right:4px; }
.LocalCityBar a { display: block; width: 33.33%; height: 36px; text-align: center; line-height: 40px; float: left; padding-bottom: 2px; cursor: pointer; color: #646464; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.LocalCityBar a span{ padding:13px; background-image: url(../images/arrow_down.png); background-repeat: no-repeat; background-position: right center; background-size: 11px 5px; }
导航条效果图:
最让人头疼的是页面基本都是js生成,对于一个项目经验为0的菜鸟,面对800多M的项目代码,刚刚开始根本不知道从何下手,慢慢画图读源码,第一个星期一句代码都没写,过程很艰难,如今任务已经全部提交。