网站流量统计

本程序采用.net平台和mysql数据库实现
mysql数据库中表:

CREATE TABLE `web_statistics` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `Cur_url` varchar(500) NOT NULL,
 `Pre_url` varchar(500) NOT NULL default '未知',
 `Os` varchar(50) NOT NULL default '未知',
 `Ip` varchar(15) NOT NULL,
 `Browser` varchar(50) NOT NULL default '未知',
 `Access_Time` datetime NOT NULL,
 `Host_Name` varchar(45) NOT NULL default '未知',
 PRIMARY KEY  (`id`)
)

mysql存储过程:

CREATE  PROCEDURE `proc_statistics`(Cur_url varchar(500),Pre_url varchar(500),Os varchar(50),Brows varchar(50),Host_Name varchar(45),Ip varchar(15))
begin
insert into web_statistics(Cur_url,Pre_url,Os,Ip,Browser,Access_Time,Host_Name)
values(Cur_url,Pre_url,Os,Ip,Brows,now(),Host_Name);
end

ashx执行平台代码:

using System;
using System.Web;
using MySql.Data;
using MySql.Data.MySqlClient;
using MySql.Data.Types;
using System.Data;
public class Statistics : IHttpHandler {
 public void ProcessRequest (HttpContext context) {
 context.Response.ContentType = "image/jpg";
 string url_cur = "加载当前Url错误";
 string url_pre = "直接访问";
 if (context.Request.QueryString["d"] != null)
 {
 url_pre = System.Web.HttpContext.Current.Server.UrlDecode(context.Request.QueryString["d"].ToString()).Replace("`","&");
 if (url_pre == "")
 {
 url_pre = "直接访问";
 }
 }
 if (context.Request.QueryString["u"] != null)
 {
 url_cur = System.Web.HttpContext.Current.Server.UrlDecode(context.Request.QueryString["u"].ToString()).Replace("`", "&");
 }
 string[] data = GetData();
 string con_mysql = System.Configuration.ConfigurationManager.ConnectionStrings["mysql"].ToString();
 MySqlConnection conn;
 MySqlCommand cmd ;
 try
 {
 conn = new MySqlConnection(con_mysql);
 conn.Open();
 cmd = new MySqlCommand();
 cmd.Connection = conn;
 //存储过程实现
 cmd.CommandText = "proc_statistics";
 cmd.CommandType = CommandType.StoredProcedure;
 MySqlParameter para1 = new MySqlParameter("Cur_url", MySqlDbType.VarChar, 500);
 MySqlParameter para2 = new MySqlParameter("Pre_url", MySqlDbType.VarChar, 500);
 MySqlParameter para3 = new MySqlParameter("Os", MySqlDbType.VarChar, 50);
 MySqlParameter para4 = new MySqlParameter("Ip", MySqlDbType.VarChar, 15);
 MySqlParameter para5 = new MySqlParameter("Brows", MySqlDbType.VarChar, 50);
 MySqlParameter para7 = new MySqlParameter("Host_Name", MySqlDbType.VarChar, 45);
 para1.Value = url_cur;
 para2.Value = url_pre;
 para3.Value = data[1];
 para4.Value = data[3];
 para5.Value = data[2];
 para7.Value = data[0];
 cmd.Parameters.Add(para1);
 cmd.Parameters.Add(para2);
 cmd.Parameters.Add(para3);
 cmd.Parameters.Add(para4);
 cmd.Parameters.Add(para5);
 cmd.Parameters.Add(para7);
 //参数实现
 /*
 cmd.CommandType = CommandType.Text;
 //直接拼接字符串实现
 //string sql = "insert into web_statistics(Cur_url,Pre_url,Os,Ip,Browser,Access_Time,Host_Name)values('"+url_cur+"','"+url_pre+"','"+data[1]+"','"+data[3]+"','"+data[2]+"',now(),'"+data[0]+"')";
 //sql语句参数实现
 string sql = "insert into web_statistics(Cur_url,Pre_url,Os,Ip,Browser,Access_Time,Host_Name)values(?Cur_url,?Pre_url,?Os,?Ip,?Brows,now(),?Host_Name)";
 cmd.CommandText = sql;
 MySqlParameter para1 = new MySqlParameter("?Cur_url", MySqlDbType.VarChar,500);
 MySqlParameter para2 = new MySqlParameter("?Pre_url", MySqlDbType.VarChar, 500);
 MySqlParameter para3 = new MySqlParameter("?Os", MySqlDbType.VarChar, 50);
 MySqlParameter para4 = new MySqlParameter("?Ip", MySqlDbType.VarChar, 15);
 MySqlParameter para5 = new MySqlParameter("?Brows", MySqlDbType.VarChar, 50);
 MySqlParameter para7 = new MySqlParameter("?Host_Name", MySqlDbType.VarChar, 45);
 para1.Value = url_cur;
 para2.Value = url_pre;
 para3.Value = data[1];
 para4.Value = data[3];
 para5.Value=data[2];
 para7.Value = data[0];
 cmd.Parameters.Add(para1);
 cmd.Parameters.Add(para2);
 cmd.Parameters.Add(para3);
 cmd.Parameters.Add(para4);
 cmd.Parameters.Add(para5);
 cmd.Parameters.Add(para7);
 */
 cmd.ExecuteNonQuery();
 cmd.Dispose();
 conn.Close();
 }
 catch {}
 //输入图片
 string img_name = "statistics.jpg";
 //直接输出图片
 //  context.Response.WriteFile(context.Server.MapPath(img_name));
 //缓冲输出图片
 byte[] datas;
 if (HttpContext.Current.Cache["datacache"] != null)
 {
 datas = (byte[])HttpContext.Current.Cache["datacache"];
 }
 else
 {
 //记得修改文件图片名称
 datas = System.IO.File.ReadAllBytes(context.Server.MapPath(img_name));
 HttpContext.Current.Cache.Insert("datacache", datas, null, DateTime.MaxValue, TimeSpan.FromHours(12));
 }
 context.Response.OutputStream.Write(datas, 0, datas.Length);
 }
 public  string[] GetData()
 {
 string[] data = new string[4];
 string userAgent = System.Web.HttpContext.Current.Request.UserAgent == null ? "无" : System.Web.HttpContext.Current.Request.UserAgent;
 data[0] = System.Web.HttpContext.Current.Request.ServerVariables.Get("Remote_Host").ToString(); //主机名(暂时有问题)
 data[1] = System.Web.HttpContext.Current.Request.Browser.Platform.ToString() + ":" + GetOSNameByUserAgent(userAgent);//操作系统
 data[2] = System.Web.HttpContext.Current.Request.Browser.Browser.ToString() + ":" + System.Web.HttpContext.Current.Request.Browser.Version.ToString();//浏览器名称和版本
 string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
 if (null == result || result == String.Empty)
 {
 result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
 }
 if (null == result || result == String.Empty)
 {
 result = HttpContext.Current.Request.UserHostAddress;
 }
 data[3] = result;//ip地址
 return data;
 }
 private  string GetOSNameByUserAgent(string userAgent)
 {
 string osVersion = "未知";
 if (userAgent.Contains("NT 6.1"))
 {
 osVersion = "Windows 7/Server 2008 R2";
 }
 else if (userAgent.Contains("NT 5.2"))
 {
 osVersion = "Windows Server 2003";
 }
 else if (userAgent.Contains("NT 5.1"))
 {
 osVersion = "Windows XP";
 }
 else if (userAgent.Contains("NT 6.0"))
 {
 osVersion = "Windows Vista/Server 2008";
 }
 else if (userAgent.Contains("NT 5"))
 {
 osVersion = "Windows 2000";
 }
 else if (userAgent.Contains("Linux"))
 {
 osVersion = "Linux";
 }
 else if (userAgent.Contains("NT 4"))
 {
 osVersion = "Windows NT4";
 }
 else if (userAgent.Contains("Me"))
 {
 osVersion = "Windows Me";
 }
 else if (userAgent.Contains("98"))
 {
 osVersion = "Windows 98";
 }
 else if (userAgent.Contains("95"))
 {
 osVersion = "Windows 95";
 }
 else if (userAgent.Contains("Mac"))
 {
 osVersion = "Mac";
 }
 else if (userAgent.Contains("Unix"))
 {
 osVersion = "UNIX";
 }
 else if (userAgent.Contains("SunOS"))
 {
 osVersion = "SunOS";
 }
 return osVersion;
 }
 public bool IsReusable {
 get {
 return false;
 }
 }
}

实现调用:
因为我把本程序部署在dag.wzu.edu.cn域名的服务器上,所以可以直接通过html+js代码就可以实现客户端的访问统计功能

<img  style="width:0px;height:0px;border:0px" id="statistics_id_fei" /><script type="text/javascript"> window.onload = function () { document.getElementById("statistics_id_fei").src = "http://dag.wzu.edu.cn/statistics.ashx?d="+ encodeURI(document.referrer).replace('&', '`') + "&u=" + encodeURI(document.location.href).replace('&', '`') + "&x=" + Math.random(); }</script>

说明:
1、在执行文件ashx上,采用了多种可选方式,其中数据库方面有直接拼接sql,sql参数方法,存储过程调用三种方法;
2、为了能够是js中的onload事件能够执行,加载完ashx文件后,生成一个对应的图片文件,采用了直接加载cache缓存方式实现;
3、只要直接把这里的html和js代码复制到你网址的直接的任何地方就可以实现自己站点的访问量统计。

dropdownlist 省市县三级联动

因为开发环境是asp.net所以采用服务器端控件实现三级联动
HTML代码:

<asp:DropDownList ID="ddls" runat="server"></asp:DropDownList>
<asp:DropDownList ID="ddlc" runat="server"></asp:DropDownList>
<asp:DropDownList ID="ddlx" runat="server"></asp:DropDownList>
<input id="h_s" type="hidden"  runat="server"/>
 <input id="h_c" type="hidden" runat="server"/>
 <input id="h_a" type="hidden" runat="server"/>

note:hidden 是为了以后在c#代码中能够取到dropdownlist选中的值
js代码:

$(document).ready(function () {
 //选择省操作
 $("#ddls").change(function () {
 var selects_v = $("#ddls").val();
 $("#h_s").val(selects_v);
 if (selects_v == "0") {
 $("#ddlc option:first").attr("selected", "selected");
 $("#ddlx option:first").attr("selected", "selected");
 $("#ddlc").attr("disabled", "disabled");
 $("#ddlx").attr("disabled", "disabled");
 }
 else {
 $("#ddlc option").remove();
 $("#ddlc").attr("disabled", "");
 $("#ddlx option:first").attr("selected", "selected");
 $("#ddlx").attr("disabled", "disabled");
 $("#ddlc").append("<option value='0'>请选择市</option>");
 $.getJSON("./ashx/select_province.ashx?s=" + selects_v + "&a" + Math.random(), function (data) {
 $.each(data.root, function (id, item) {
 $("#ddlc").append("<option value='" + item.code + "'>" + item.name + "</option>");
 });
 });
 }
 });
 //ddlx选择市
 $("#ddlc").change(function () {
 var s_c = $("#ddlc").val();
 $("#h_c").val(s_c);
 if (s_c == "0") {
 $("#ddlx")[0].selectedIndex = 0;
 $("#ddlx").attr("disabled", "disabled");
 }
 else {
 $("#ddlx option").remove();
 $("#ddlx").attr("disabled", "");
 $("#ddlx").append("<option value='0'>请选择县</option>");
 $.getJSON("./ashx/select_city.ashx?s=" + s_c + "&a" + Math.random(), function (data) {
 $.each(data.root, function (id, item) {
 $("#ddlx").append("<option value='" + item.code + "'>" + item.name + "</option>");
 });
 });
 }
 });
 //选择对应的县
 $("#ddlx").change(function () {
 var s_a = $("#ddlx").val();
 $("#h_a").val(s_a);
 });
});

c#初始化dropdownlist数据

protected void Bindddls()
 {
 SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, "get_province");
 ddls.DataTextField = "name";
 ddls.DataValueField = "code";
 ddls.DataSource = dr;
 ddls.DataBind();
 dr.Close();
 ddls.Items.Insert(0,new ListItem("请选择省", "0"));
 }
 protected void Bindddlc()
 {
 string sValue = ddls.SelectedValue;
 if (sValue == "0")
 {
 ddlc.Items.Add(new ListItem("请选择市", "0"));
 ddlc.Enabled = false;
 }
 else
 {
 SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, "get_city");
 ddlc.DataTextField = "name";
 ddlc.DataValueField = "code";
 ddlc.DataSource = dr;
 ddlc.DataBind();
 dr.Close();
 ddlc.Items.Insert(0,new ListItem("请选择市", "0"));
 }
 }
 protected void Bindddla()
 {
 string cValue = ddlc.SelectedValue;
 if (cValue == "0")
 {
 ddlx.Items.Add(new ListItem("请选择县", "0"));
 ddlx.Enabled = false;
 }
 else
 {
 SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, "get_area");
 ddlx.DataTextField = "name";
 ddlx.DataValueField = "code";
 ddlx.DataSource = dr;
 ddlx.DataBind();
 dr.Close();
 ddlx.Items.Insert(0, new ListItem("请选择县", "0"));
 }
 }

ashx文件代码
select_province.ashx文件

if (HttpContext.Current.Request["s"] != null)
 {
 string sv = HttpContext.Current.Request["s"].ToString();
 SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure
 , "get_city", new SqlParameter("@sid", sv));
 string json = Object_Json.ToJson(dr);
 dr.Close();
 HttpContext.Current.Response.Write(json);
 HttpContext.Current.Response.End();
 }
 else
 {
 HttpContext.Current.Response.Write("error");
 HttpContext.Current.Response.End();
 }

select_city.ashx文件

if (HttpContext.Current.Request["s"] != null)
 {
 string sv = HttpContext.Current.Request["s"].ToString();
 System.Data.SqlClient.SqlDataReader dr = xifenfei.mssql.SqlHelper.ExecuteReader(xifenfei.mssql.SqlHelper.ConnectionStringLocalTransaction, System.Data.CommandType.StoredProcedure
 , "get_area", new System.Data.SqlClient.SqlParameter("@sid", sv));
 string json = Object_Json.ToJson(dr);
 dr.Close();
 HttpContext.Current.Response.Write(json);
 HttpContext.Current.Response.End();
 }
 else
 {
 HttpContext.Current.Response.Write("error");
 HttpContext.Current.Response.End();
 }

效果:

Google Map 使用

因项目中要调用google地图,最近花了点时间阅读了下google  map 的api,google map的使用大致如下:
1、注册使用google地图api
地址为:http://code.google.com/intl/zh-CN/apis/maps/signup.html
2、阅读google 地图api
地址为:http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/basics.html
3、测试google 地图api
(1)一个地点定位并标明位置

  • 1添加JavaScript应用
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true;key=ABQIAAAAEBGBYRn2zjKnkDk35kXn-BT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSQ7sVn7B1Wp1t33kMiQlXQKL-t7g"  type="text/javascript"></script>

note:我的key是localhost,如果其他测试请重新申请

  • 主要的js函数
function load(comName, comAddress, comPhone, dimensionality, longitude) {     //加载地图
 if (GBrowserIsCompatible()) {
 var map = new GMap2(document.getElementById("map"));
 map.addControl(new GSmallMapControl());    //放大缩小
 map.addControl(new GMapTypeControl());     //地图种类
 map.enableScrollWheelZoom();    //启用鼠标滚轮
 var point = new GLatLng(dimensionality, longitude);     // 位置
 map.setCenter(point, 14);   //地图坐标 三个参数分别为 "纬度" "经度" "比例尺"
 function createMarker(point, address, name, tel) {  //创建标记内容及标记的鼠标事件
 var marker = new GMarker(point);
 var html = '<div style="font-size:10px;">' +
 '<a >公司名称:' + name + '</a><br/>' +
 '<a >公司地址:' + address + '</a><br/>' +
 '<a >联系电话:' + tel + '</a>' +
 '</div>';
 GEvent.addListener(marker, "mouseover", function () {
 marker.openInfoWindowHtml(html);
 });
 GEvent.addListener(marker, "mouseout", function () {
 marker.closeInfoWindow();
 });
 GEvent.addListener(marker, "click", function () {
 map.setCenter(point, 16);
 //marker.openInfoWindowHtml(html);
 });
 return marker;
 }
 map.addOverlay(createMarker(point, comAddress, comName, comPhone)); //加入标记
 }
 else {
 alert("您的浏览器不支持Google地图,请升级到最新版再尝试");
 }
}

参数说明:
公司名称comName
公司地址comAddress
公司电话comPhone
公司维度 dimensionality
公司经度 longitude

  • 放置地图的html位置
<div id="map" style="width: 700px; height: 300px"></div>
  • js调用
  • $(document).ready(function () {
     load('飞飞','温州大学','13736325515',27.924806,120.699492);
     });


2、多个地点定位并标明

  • js代码
function load(dimensionality, longitude) {     //加载地图
 if (GBrowserIsCompatible()) {
 var map = new GMap2(document.getElementById("map"));
 map.addControl(new GSmallMapControl());    //放大缩小
 map.addControl(new GMapTypeControl());     //地图种类
 map.enableScrollWheelZoom();    //启用鼠标滚轮
 var point = new GLatLng(dimensionality, longitude);     // 位置
 map.setCenter(point, 14);   //地图坐标 三个参数分别为 "纬度" "经度" "比例尺"
 return map;
 }
}
function createMarker(map,point, address, name, tel) {  //创建标记内容及标记的鼠标事件
 var marker = new GMarker(point);
 var html = '<div style="font-size:12px;">' +
 '<a >公司名称:' + name + '</a><br/>' +
 '<a >公司地址:' + address + '</a><br/>' +
 '<a >联系电话:' + tel + '</a>' +
 '</div>';
 GEvent.addListener(marker, "mouseover", function () {
 marker.openInfoWindowHtml(html);
 });
 GEvent.addListener(marker, "mouseout", function () {
 marker.closeInfoWindow();
 });
 GEvent.addListener(marker, "click", function () {
 map.setCenter(point, 16);
 });
 return marker;
}
function Add_Marker(map,comName, comAddress, comPhone, dimensionality, longitude) {
 var point = new GLatLng(dimensionality, longitude);     // 设置标记
 map.addOverlay(createMarker(map,point, comAddress, comName, comPhone)); //加入标记
}
  • c#调用
string a = @" var map = load(27.924806, 120.699492);
 Add_Marker(map,'温州大学', '茶山', '13736325515', 27.924806, 120.699492);
 Add_Marker(map,'温州大学111', '茶山22', '13736325515',27.925526, 120.700479);";
 Page.ClientScript.RegisterStartupScript(this.GetType(), "ab", a, true);

note:
在一个定位的js中,也可以采用添加多个

var point1 = new GLatLng(27.925526, 120.700479);
 map.addOverlay(createMarker(point1, 'comAddress', 'comName', 'comPhone')); 

来实现多个地点的定位和标明,但是这样可控制性太差

毕业后的5年 决定你的命运

正如”打工皇帝”唐骏说:”我觉得有两种人不要跟别人争利益和价值回报。第一种人就是刚刚进入企业的人,头5年千万不要说你能不能多给我一点儿工资,最重要的是能在企业里学到什么,对发展是不是有利……”
人总是从平坦中获得的教益少,从磨难中获得的教益多;从平坦中获得的教益浅,从磨难中获得的教益深。一个人在年轻时经历磨难,如能正确视之,冲出黑暗,那就是一个值得敬慕的人。最要紧的是先练好内功,毕业后这5年就是练内功的最佳时期,练好内功,才有可能在未来攀得更高。
出路在哪里?出路在于思路!
其实,没有钱、没有经验、没有阅历、没有社会关系,这些都不可怕。没有钱,可以通过辛勤劳动去赚;没有经验,可以通过实践操作去总结;没有阅历,可以一步一步去积累;没有社会关系,可以一点一点去编织。但是,没有梦想、没有思路才是最可怕的,才让人感到恐惧,很想逃避!
人必须有一个正确的方向,无论你多么意气风发,无论你是多么足智多谋,无论你花费了多大的心血,如果没有一个明确的方向,就会过得很茫然,渐渐就丧失了斗志,忘却了最初的梦想,就会走上弯路甚至不归路,枉费了自己的聪明才智,误了自己的青春年华。
荷马史诗《奥德赛》中有一句至理名言:”没有比漫无目的地徘徊更令人无法忍受的了。”毕业后这5年里的迷茫,会造成10年后的恐慌,20年后的挣扎,甚至一辈子的平庸。如果不能在毕业这5年尽快冲出困惑、走出迷雾,我们实在是无颜面对10年后、20年后的自己。毕业这5年里,我们既有很多的不确定,也有很多的可能性。
毕业这5年里,我们既有很多的待定,也有很多的决定。
迷茫与困惑谁都会经历,恐惧与逃避谁都曾经有过,但不要把迷茫与困惑当作可以自我放弃、甘于平庸的借口,更不要成为自怨自艾、祭奠失意的苦酒。生命需要自己去承担,命运更需要自己去把握。在毕业这5年里,越早找到方向,越早走出困惑,就越容易在人生道路上取得成就、创造精彩。无头苍蝇找不到方向,才会四处碰壁;一个人找不到出路,才会迷茫、恐惧。
生活中,面对困境,我们常常会有走投无路的感觉。不要气馁,坚持下去,要相信年轻的人生没有绝路,困境在前方,希望在拐角。只要我们有了正确的思路,就一定能少走弯路,找到出路!
成功的人不是赢在起点,而是赢在转折点。
不少刚刚毕业的年轻人,总是奢望马上就能找到自己理想中的工作。然而,很多好工作是无法等来的,你必须选择一份工作作为历练。职业旅程中的第一份工作,无疑是踏入社会这所大学的起点。也许你找了一份差强人意的工作,那么从这里出发,好好地沉淀自己,从这份工作中汲取到有价值的营养,厚积薄发。千里之行,始于足下,只要出发,就有希望到达终点。
起点可以相同,但是选择了不同的拐点,终点就会大大不同!
毕业这几年,我们的生活、感情、职业等都存在很多不确定的因素,未来也充满了各种可能。这个时候,必须学会选择,懂得放弃,给自己一个明确的定位,使自己稳定下来。如果你不主动定位,就会被别人和社会”定型”!
可以这么说:一个人在毕业这5年培养起来的行为习惯,将决定他一生的高度。我们能否成功,在某种程度上取决于自己对自己的评价,这就是定位。你给自己定位是什么,你就是什么。定位能决定人生,定位能改变命运。丑小鸭变成白天鹅,只要一双翅膀;灰姑娘变成美公主,只要一双水晶鞋。
人的命,三分天注定,七分靠打拼,有梦就”会红”,爱拼才会赢。只要不把自己束缚在心灵的牢笼里,谁也束缚不了你去展翅高飞。
现实情况远非他们所想的那样。于是,当优越感逐渐转为失落感甚至挫败感时,当由坚信自己是一块”金子”到怀疑自己是一粒”沙子”时,愤怒、迷茫、自卑就开始与日俱增。
其实,应该仔细掂量一下自己,你是否真是金子?是真金,手中要有绝活,才能上要有过人之处才行。一句话:真金是要靠实力来证明的,只有先把自己的本领修炼好了,才有资格考虑伯乐的事情
每颗珍珠原本都是一粒沙子,但并不是每一粒沙子都能成为一颗珍珠。
想要卓尔不群,就要有鹤立鸡群的资本。忍受不了打击和挫折,承受不住忽视和平淡,就很难达到辉煌。年轻人要想让自己得到重用,取得成功,就必须把自己从一粒沙子变成一颗价值连城的珍珠。
天气有下雨与日出,人生有高峰与低谷。莫为浮云遮望眼,风物长宜放眼量。只要拂去阴霾,就能亮出朗朗晴空。如果你在工作上有些不如意,要相信自己不会一直处于人生的低谷期,总有一天能冲破重重云层。告诉自己:我并没有失败,只是暂时没有成功!只要在内心点亮一盏希望之灯,一定能驱散黑暗中的阴霾,迎来光明。
的确,论资历,他们是不折不扣的职场菜鸟,业务涉及不深,人脉一穷二白,在工作中经常碰壁。他们的压力并不一定都像千钧大石,而是像大雨来临前的天色,灰色低沉,明明有空间,却被灰色填满每个缝隙,只能等待大雨倾盆之后的晴空。
“起得比鸡早,睡得比狗晚,干得比驴多,吃得比猪差。”这是很多刚刚毕业的人喜欢用来调侃自己生活状态的话。虽然有点儿夸张,但是,他们中的很多人的确一直都被灰色心情所笼罩–心里永远是多云转阴。记得有位哲人曾说:”我们的痛苦不是问题本身带来的,而是我们对这些问题的看法产生的。”换个角度看人生,是一种突破、一种解脱、一种超越、一种高层次的淡泊与宁静,从而获得自由自在的快乐。
一位哲人说:”人生就是一连串的抉择,每个人的前途与命运,完全把握在自己手中,只要努力,终会有成。”就业也好,择业也罢,创业亦如此,只要奋发努力,都会成功。你是不是准备把生命的承诺全部都交给别人?
毕业后这5年,是改变自己命运的黄金时期。在最能决定自己命运时,如果还不把握,那你还要等到什么时候呢?我的人生我做主,命运由己不由人。
不要活在别人的嘴里,不要活在别人的眼里,而是把命运握在自己手里。
别说你没有背景,自己就是最大的背景。美国作家杰克·凯鲁亚克说过一句话:”我还年轻,我渴望上路。”在人生的旅途中,我们永远都是年轻人,每天都应该满怀渴望。每个人的潜能都是无限的,关键是要发现自己的潜能和正确认识自己的才能,并找到一个能充分发挥潜能的舞台,而不能只为舞台的不合适感到不快。要客观公正地看待自己的能力,结合自己的实际情况和爱好冷静选择,尽可能到最需要自己、最适合自己的地方。
在人力资源管理界,特别流行一个说法,即”骑马,牵牛,赶猪,打狗”理论:人品很好,能力又很强的,是千里马,我们要骑着他;人品很好但能力普通的,是老黄牛,我们要牵着他;人品、能力皆普通的,就是”猪”,我们要赶走他;人品很差能力很强的,那是”狗”,我们要打击他。
我想,刚刚毕业几年的你,一样胸怀大志,一样想成为一匹被人赏识、驰骋沙场的千里马吧?那么,就好好沉淀下来。低就一层不等于低人一等,今日的俯低是为了明天的高就。所谓生命的价值,就是我们的存在对别人有价值。能被人利用是一件好事,无人问津才是真正的悲哀!
能干工作、干好工作是职场生存的基本保障。任何人做工作的前提条件都是他的能力能够胜任这项工作。能干是合格员工最基本的标准,肯干则是一种态度。一个职位有很多人都能胜任,都有干好这份工作的基本能力,然而,能否把工作做得更好一些,就要看是否具有踏实肯干、苦于钻研的工作态度了。
在能干的基础上踏实肯干
工作中,活干得比别人多,你觉得吃亏;钱拿得比别人少,你觉得吃亏;经常加班加点,你觉得吃亏……其实,没必要这样计较,吃亏不是灾难,不是失败,吃亏也是一种生活哲学。现在吃点儿小亏,为成功铺就道路,也许在未来的某个时刻,你的大福突然就来了。
能吃亏是做人的一种境界,是处世的一种睿智。
在工作中并不是多做事或多帮别人干点儿活就是吃亏。如果领导让你加加班、赶赶任务,别以为自己吃了大亏,反而应该感到庆幸,因为领导只叫了你,而没叫其他人,说明他信任你、赏识你。吃亏是一种贡献,你贡献得越多,得到的回报也就越多。乐于加班,就是这样的一种吃亏。
舍得舍得,有舍才有得;学会在适当时吃些亏的人绝对不是弱智,而是大智。
给别人留余地就是给自己留余地,予人方便就是予己方便,善待别人就是善待自己。
傻人有傻福,因为傻人没有心计。和这样的人在一起,身心放松,没有太多警惕,就能相互靠近。傻在很多时候意味着执着和忠贞,也意味着宽厚和诚实,让人不知不觉站到他一边。傻人无意中得到的,比聪明人费尽心机得到的还多。毕业这几年,你的天空中只飘着几片雪花,这样你就满足了吗?成功需要坚持与积累,与其专注于搜集雪花,不如省下力气去滚雪球。巴菲特说:”人生就像滚雪球,最重要的是发现很湿的雪和很长的坡。”让自己沉淀下来,学着发现”很湿的雪”,努力寻找”很长的坡”。记住:散落的雪花会很快融化,化为乌有,只有雪球才更实在,才能长久。
在毕业这几年里,你要是能做到比别人多付出一分努力,就意味着比别人多积累一分资本,就比别人多一次成功的机会。
什么是职业化呢?职业化就是工作状态的标准化、规范化、制度化,即在合适的时间、合适的地点用合适的方式说合适的话、做合适的事,使知识、技能、观念、思维、态度、心理等符合职业规范和标准。
“在每个行业里,都有很多出色的人才,他们之所以能存在,是因为比别人更努力、更智慧、更成熟。但是,最重要的是,他们比一般人更加职业化!这就是为什么我现在能当你老板的原因。一个人仅仅专业化是不够的,只有职业化的人才能飞在别人前面,让人难以超越!”不要以为我们现在已经生存得很安稳了。对于毕业5年的人来讲,一定要认清即将面临的五大挑战。
一、赡养父母。
二、结婚生子。
三、升职加薪。
四、工作压力。
五、生活质量。
有的人为生存而雀跃,目光总是停在身后,三天打鱼两天晒网,有始无终。
有的人为发展而奋斗,目光总是盯在正前方,每天进步一点点,坚持不懈。
毕业这几年,不能没有追求和探索,不能没有理想和目标。人生如逆水行舟,不进则退。甘于现状的生活就是不再前行的船,再也无法追上时代前进的步伐。一定要抓紧每一秒钟的时间来学习,要明白学习不是学生的专利。小聪明的人最得意的是:自己做过什么?大智慧的人最渴望的是:自己还要做什么?
小聪明是战术,大智慧是战略;小聪明看到的是芝麻,大智慧看到的是西瓜。
在这个世界上,既有大人物,也有小角色,大人物有大人物的活法,小人物有小人物的潇洒,每个人都有自己的生活方式,谁也勉强不了谁。但是,小聪明只能有小成绩和小视野,大智慧才能有大成就和大境界。小企业看老板,中企业看制度,大企业看文化。
小公司与大企业都有生存之道,没有好坏之分,但对一个人不同阶段的影响会不同。
小公司肯定想要发展为大企业,这是一种目标,年轻人也要给自己的职业生涯制定目标。毕业几年的你,是否经常会怯场或者是感到没有底气?居安思危绝对不是危言耸听!此刻打盹,你将做梦;此刻学习,你将圆梦。在竞争激烈的人生战场上,打盹的都是输家!
每个人在年轻的时候似乎都豪情万丈,什么都不怕,可是随着年龄的增长,每天想着房子、工作、养家糊口这些俗事儿,再也没有年轻时那种敢于”上天探星、下海捞月”的勇气了。是我们改变了生活,还是生活改变了我们?我们的思想越来越复杂,因为有了越来越多的舍不得、越来越多的顾虑,我们总是在徘徊、总是在犹豫。毕业开始一两年,生活的重担会压得我们喘不过气来,挫折和障碍堵住四面八方的通口,我们往往在压迫得自己发挥出潜能后,才能杀出重围,找到出路。可是两三年后,身上的重担开始减轻,工作开始一帆风顺,我们就松懈了下来,渐渐忘记了潜在的危险。直到有一天危机突然降临,我们在手足无措中被击败……毕业这几年,仍然处于危险期,一定要有居安思危的意识,好好打拼,这样才能有一个真正的安全人生!
生于忧患,死于安乐。如果你想跨越自己目前的成就,就不能画地自限,而是要勇于接受挑战。对畏畏缩缩的人来说,真正的危险正在于不敢冒险!
年轻人在社会的重压下,适应能力已变得越来越强,只是他们不自觉地习惯被环境推着走。他们不敢冒险,怕给自己带来终身的遗憾,于是告慰自己:”我对得起自己、对得起家人,因为我已竭尽全力。”其实,人只有不断挑战和突破才能逐渐成长。长期固守于已有的安全感中,就会像温水里的青蛙一样,最终失去跳跃的本能。
经历了这几年社会生活,你应该明白:这个世界上有富也有贫,有阴也有亮,有丑也有美,到底看到什么,取决于自己是积极还是消极。在年轻时学会勤勉地工作,用一种光明的思维对待生活,那么,只要张开手掌,你就会发现,里面有一片灿烂的人生。
把感恩刻在石头上,深深地感谢别人帮助过你,永远铭记,这是人生应有的一种境界;把仇恨写在沙滩上,淡淡忘掉别人伤害过你,学会宽容,让所有的怨恨随着潮水一去不复返,这也是一种人生境界。
学会倒出水,才能装下更多的水。从毕业那天开始,学会把每天都当成一个新的起点,每一次工作都从零开始。如果你懂得把”归零”当成一种生活的常态,当成一种优秀的延续,当成一种时刻要做的事情,那么,经过短短几年,你就可以完成自己职业生涯的正确规划与全面超越。
在职业起步的短短道路上,想要得到更好、更快、更有益的成长,就必须以归零思维来面对这个世界。不要以大学里的清高来标榜自己,不要觉得自己特别优秀,而是要把自己的姿态放下,把自己的身架放低,让自己沉淀下来,抱着学习的态度去适应环境、接受挑战。放下”身段”才能提高身价,暂时的俯低终会促成未来的高就。
年轻人从校园或者从一个环境进入一个新环境,就要勇于将原来环境里熟悉、习惯、喜欢的东西放下,然后从零开始。我们想在职场上获得成功,首先就要培养适应力。从自然人转化为单位人是融入职场的基本条件。一个人起点低并不可怕,怕的是境界低。越计较自我,便越没有发展前景;相反,越是主动付出,那么他就越会快速发展。很多今天取得一定成就的人,在职业生涯的初期都是从零开始,把自己沉淀再沉淀、倒空再倒空、归零再归零,正因为这样,他们的人生才一路高歌,一路飞扬。
在毕业这几年里,我们要让过去归零,才不会成为职场上那只背着重壳爬行的蜗牛,才能像天空中的鸟儿那样轻盈地飞翔。请好好品味一下杰克·韦尔奇说过的一句话:”纠正自己的行为,认清自己,从零开始,你将重新走上职场坦途。” 吐故才能纳新,心静才能身凉,有舍才能有得,杯空才能水满,放下才能超越。
归零思维五大表现:心中无我,眼中无钱,念中无他,朝中无人,学无止境。
年轻人难免带着几分傲气,认为自己无所不能、所向披靡,其实不然,初入职场的新人还是个”婴儿”,正处在从爬到走的成长阶段。在毕业这几年里,一定要让自己逐步培养起学徒思维、海绵思维、空杯思维,具有这样思维的人心灵总是敞开的,能随时接受启示和一切能激发灵感的东西,他们时刻都能感受到成功女神的召唤。

处事22计、心态24条、伤心50句、礼仪73、学会长大20!

处事22计
1.看穿但不说穿。很多事情,只要自己心里有数就好了,没必要说出来。
2.高兴,就笑,让大家都知道。悲伤,就假装什么也没发生。
3.在不违背原则的情况下,对别人要宽容,能帮就帮,千万不要把人逼绝了,给人留条后路……
4.快乐最重要,谁人、何物、何事使你快乐,你就同他们在一起。何物让你不快乐,你就离开他。没有条件,创造条件也要离开他。
5.不要老在别人面前倾诉你的困境袒露你的脆弱。
6.没有十全十美的东西,没有十全十美的人,关键是清楚到底想要什么。得到想要的,肯定会失去另外一部分。如果什么都想要,只会什么都得不到。
7.我喜欢一位朋友说的这句“善忘是一件好事。”
8.两个人同时犯了错,站出来承担的那一方叫宽容,另一方欠下的债,早晚都要还。
9.自己不喜欢的人,可以报之以沉默微笑;自己喜欢的人,那就随便怎么样了,因为你的喜爱会挡也挡不住地流露出来。
10.不要做刺猬,能不与人结仇就不与人结仇,谁也不跟谁一辈子,有些事情没必要记在心上。
11.学会妥协的同时,也要坚持自己最基本的原则。
12.不要停止学习。不管学习什么,语言,厨艺,各种技能。
13.钱很重要,但不能依靠男人或父母,自己一定要保持一定赚钱的能力……。
14.不要太高估自己在集体中的力量,因为当你选择离开时,就会发现即使没有你,太阳照常升起….。
15.过去的事情可以不忘记,但一定要放下。
16.即使输掉了一切,也不要输掉微笑……。
17.不管做了什么选择,都不要后悔,因为后悔也于事无补。
18.不要因为冲动说一些过激的话。
19.不要轻易许下承诺,做不到的承诺,比没许下更可恶。
20.不要觉得不了解也会有爱情。在不了解的时候,我们仅仅是喜欢,达不到爱情。当彼此的缺点暴露出来以后,很多时候这喜欢也就会结束了。
21.说话时可以很直接,人很直爽,总比虚伪好。
22.对自己好一点,心情不好的时候,什么都别考虑,去吃自己爱吃的吧。但是别喝酒。
心态,决定你的人生
1.再烦:也别忘记微笑
2.再急:也要注意语气
3.再苦:也别忘坚持
4.再累:也要爱自己
5.低调做人;你会一次比一次稳健
6.高调做事;你会一次比一次优秀
7.成功的时候不要忘记过去
8.失败的时候不要忘记还有未来
9.有望得到的要努力;无望得到的不介意
10.无论输赢都要高姿态
11.生活不是单行线,一条路走不通,你可以转弯
12.泪水和汗水的成分相似;但前者只能为你换来同情。后者却可以为你赢得成功
13.变老是人生的必修课
14.变成熟是选修课
15.以锻炼为本,学会健康
16.以适应为本,学会生存
17.学会放弃,耐得住寂寞,经得起诱惑
18.当所有人都低调的时候,你可以选择高调,但不能跑调
19.学会忘记是生活的技术
20.学会微笑是生活的艺术
21.懒惰像生锈一样比操劳更消耗身体
22.让梦想成真的最好方法就是醒来
23.哲人无忧、智者常乐。并不是因为所爱就要拥有,而是拥有的一切都爱
24.不能失去的东西:自制的力量、冷静的力量、希望和信心
伤心时要读的50句话
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.简单安静的生活其实不幸福,所以我只拥抱刹那,绵延持久的感觉根本不快乐,所以我只信仰瞬间。
37.有些失去是注定的,有些缘分是永远不会有结果的.爱一个人不一定会拥有,拥有一个人就一定要好好去爱她……
38.心已死,泪也干,不堪回首魂亦牵.梦惊醒,不了情,往事如烟挥不去.亦虚亦实,亦爱亦恨,叶落无声花自残.只道是,寻寻觅觅,冷冷清清,凄凄惨惨戚戚;却无奈,天长地久有时尽,此恨绵绵无绝期.
39.世界上没有任何东西可以永恒。如果它流动,它就流走;如果它存著,它就干涸;如果它生长,它就慢慢凋零。
40.一个做女人的痛苦:当她和她所爱的男人有了肉体关系以后,她就很自然地把这种关系视为一种永远,但男人却可以不同,他们可能只会觉得那是生存方式的又一种演绎。正如书上说的:男女之间,在没有婚姻的承诺前,还是保持简单的关系为好,否则,真的没有岁月可以回头.
41.如果,不幸福,如果,不快乐,那就放手吧;如果,舍不得、放不下,那就痛苦吧。
42.人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,该爱的时候就去爱,无谓压抑自己。人生的苦闷有二,一是欲望没有被满足,二是它得到了满足。
43.所谓花心,就是有了爱情和面包,还想吃蛋糕的心情;所谓外遇,就是潜出围城,跌入陷阱;所谓浪漫,就是帮老婆买包心菜时,还会顺手带回一支玫瑰花;所谓厨房,就是结婚时红地毯通向的正前方……
44.不敢说出口,因为我胆小,因为如果你拒绝,我以后就不能够再见到你了,宁愿默默的爱着你,不能让你知道,直到,直到你投进别人的环抱!
45.一个人想事好想找个人来陪。一个人失去了自己。不知还有没有要在追的可望。
46.这个世界就这么不完美。你想得到些什么就不得不失去些什么。
47.恋爱,在感情上,当你想征服对方的时候,实际上已经在一定程度上被对方征服了。首先是对方对你的吸引,然后才是你征服对方的欲望。
48.我放下了尊严,放下了个性,放下了固执,都只是因为放不下你。
49.如果爱上,就不要轻易放过机会。莽撞,可能使你后悔一阵子;怯懦,却可能使你后悔一辈子。
50.没有经历过爱情的人生是不完整的,没有经历过痛苦的爱情是不深刻的。爱情使人生丰富,痛苦使爱情升华。
人的基本礼仪
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. 捡东西或者穿鞋时候要蹲下去,不要弯腰撅屁股 。
37. 别人批评你的时候,即使他是错的,也不要先辨驳,等大家都平静下来再解释 。
38.做事情要适可而止,无论是狂吃喜欢的食物还是闹脾气 。
39.到朋友家吃完饭,要主动帮忙洗碗清理桌子—–主人做饭已经很辛苦了,不能事后还让主人清理。
40.生活中会遇见各式各样的人,你不可能与每个人都合拍,但是有一点是四海皆准的:你如何对待别人,别人也会如何对待你 。
41.待客不得不大,持家不得不小 。
42.把拳头收回来是为了更有力的还击 。
43.人活在这个世上,首先要学会一个“忍”字 。
44.任何时候对任何人不要轻易告诉对方你的秘密 。
45.钱不是靠攒的,会花才会赚 。
46.学无止境,不仅仅是学书本知识,更要学会怎么待人处事,社会远比你想象的要复杂 。
47.不要跟同事议论上司或其他同事的是非,你的无心之言很可能成为别人打击你的证据。
48.做事情,做好了是你的本分,做的不好就是你失职 。
49.只有错买,没有错卖。不要只顾着贪小便宜。
50.有时候孤单是正常的,不要害怕,要自己调剂 。
51.有真正的朋友,但不知你有没有福气遇到。不管有没有遇到,都不要否认它。不要算计别人,尤其不要算计自己喜欢的人。对自己喜欢的人,不要使用手段去得到 。
52.最勇敢的事情是认清了生活的真相之后依旧热爱生活。不要害怕欺骗,但要知道世界上存在欺骗 。
53.借钱的时候,心里要有个底,就是要想着这个钱是回不来的。所以借出去的钱永远要在自己能承受的损失范围之内。可以承受的数字以内,即使回不来,也是心里早准备好的。自己不能承受损失的数目,就不能借 。
54.最好的朋友之间,除非他穷的吃不了饭了,否则最好不要有经济往来。许多可贵的友谊都败坏在钱上。
55.君子可寓意于物,但不可留意于物 。
56.出门在外能忍则忍,退一步海阔天空 。
57.擦桌子的时候要往自己的方向抹 。
58.打电话接电话第一句话一定要是“喂,您好”;挂电话的时候等别人先挂 。
59.一次不忠 百次不容 。
60.不随地吐痰扔东西,如果没有垃圾箱,就拎回家扔垃圾筒里 。
61.多看书对心灵有益,你会看到一个更广阔的世界。
62.是你去适应社会,不是社会来适应你 。
63.不要让别人知道自己的真实想法,要笑在人前笑,要哭一个人躲起来哭 。
64.走路手不要插在口袋里。
65.简单的事情复杂做,复杂的事情简单做 。
66.机会只留给有准备的人,天上不会掉馅饼 。
67.不管什么条件下,仔细刷牙,特别是晚上 。
68.早上一定要吃早餐,没有早餐喝杯水也一定要 。
69.少说别人是非,把自己管牢 。
70.你是无价之宝 。
71.女生,和男孩子出去要自己买单 。
72.要对自己的行为负责,不要怨天由人,在做之前要想想应不应该,出了事要学会自己解决。
73.要想人前显贵,必先人后受罪。
学会长大
1.学会把亲情放在第一位,把友情放在第二位,把爱情放在够不到的位置
2.学会不和父母顶嘴,学会为了维护友谊让步
3.学会不想着依赖别人,做好自己,让别人依赖你
4.学会认清自己,不是很好,也不算坏,不把头扬的很高,也不拿眼睛盯别人的脚5.学会把喜欢的人放在心底,默默的喜欢,有种情不需要张扬
6.学会不为了自己喜欢的人和别人争论,或许你并不了解他
7.学会口是心非,看到自己喜欢的人和别人在一起,请祝福
8.学会独自一个人承受一些事,一个人守着一些秘密
9.学会适当减肥,不要过度,为了某些人,坚持
10.学会去关心家人,朋友,不要以为他们不会离开我们,就不在意
11.学会交际,和所有的人搞好关系,踏入社会,面对的人会更多
12.学会掩饰忧伤,对别人笑,要哭,躲被窝里
13.学会成熟处事,即使是装出来的
14.学会在特殊的节日,给别人一个小小的惊喜,感动一个人很简单,让她(他)知道你心中有她(他)的位置
15.学会不相信童话故事,永远记得仙杜瑞拉有的水晶鞋是你没有的
16.学会必要的欺骗,不要说你诚实,埋没了善良更可恶
17.学会为自己的人生做好打算,自己争取来的更值得珍惜18.学会不计较,忘记一些不愉快,也许你会更快乐
19.学会无条件付出,想想父母,你会释然
20.学会写日记,我们的人生并不是很长,把它记下足可以让你重拾记忆
好好过日子,终会长大,学会不让爱我们的人对我们失望
拿得起,放得下,该放手的时候,不要拖泥带水,告诉自己,学会自爱,也会活得很好…

两表连接,取出其中某些项不重复的数据

有省、市数据库表,现在要求只取每一个省中的一个市出来
数据库脚步如下
省表:

CREATE TABLE [dbo].[mem_province](
 [id] [int] NOT NULL,
  [nvarchar](6) NOT NULL,
 [name] [nvarchar](40) NULL,
 CONSTRAINT [PK_mem_province] PRIMARY KEY CLUSTERED
(
  ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]


市表:

CREATE TABLE [dbo].[mem_city](
 [id] [int] NOT NULL,
  [nvarchar](6) NOT NULL,
 [name] [nvarchar](50) NULL,
 [provinceId] [nvarchar](6) NULL,
 CONSTRAINT [PK_mem_city] PRIMARY KEY CLUSTERED
(
  ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]


执行sql语句为:

SELECT *
FROM   (
 SELECT a.id aid,
 a.code acode,
 a.name aname,
 b.id bid,
 b.code bcode,
 b.name bname,
 b.provinceId bprovinceId
 FROM   mem_province a left   JOIN
 mem_city b
 on  a.code= b.provinceId
 )c
WHERE  NOT   EXISTS (
 SELECT 1
 FROM   (SELECT a.id aid,
 a.code acode,
 a.name aname,
 b.id bid,
 b.code bcode,
 b.name bname,
 b.provinceId bprovinceId
 FROM   mem_province a LEFT   JOIN
 mem_city b
 on  a.code= b.provinceId)e
 WHERE  e.bid<c.bid
 AND  e.aname = c.aname
) ORDER BY aid

结果如:

oracle常用语句

1、set timing on开启sql执行计时
2、查看granule大小(granule大小是以SGA大小由系统设定的,当SGA小于1G时,granule大小为4M,当SGA大于1G的时候granule大小为16M)
select component,granule_size from v$sga_dynamic_components;
3、启动数据库受限模式
startup restrict;
如果是open状态转换为受限模式为:
alter system enable restricted session;
授予restricted session权限给用户即可访问受限模式
4、kill session

select sid,serial#,username from v$session;
alter system kill session 'sid,serial#';

5、查看未commit的事务
select addr,status from v$transaction;

多种方式的md5加密

一、oracle实现md5加密:

CREATE OR REPLACE function fn_md5(input_string VARCHAR2) return varchar2
IS
raw_input RAW(128) := UTL_RAW.CAST_TO_RAW(input_string);
decrypted_raw RAW(2048);
error_in_input_buffer_length EXCEPTION;
BEGIN
sys.dbms_obfuscation_toolkit.MD5(input => raw_input,checksum => decrypted_raw);
return rawtohex(decrypted_raw);
END;


二、mysql实现md5加密:

select upper(md5('abc')) from cdb_settings limit 1;


注意问题:在mysql中不知道为什么使用了upper不能转化为大写,尝试了几个编码的mysql库都不行,也许是我mysql版本的问题,先记录下mysql版本

三、Sql Server 实现md5加密

select hashbytes('MD5', 'abc');


四、C#实现md5加密:

string abc=System.Web.Security.FormsAuthentication.
HashPasswordForStoringInConfigFile("abc", "MD5") ;
 Response.Write(abc);


五、Javascript实现md5加密:

var hexcase = 0; function hex_md5(a)
{ return rstr2hex(rstr_md5(str2rstr_utf8(a))) }
function hex_hmac_md5(a, b)
{ return rstr2hex(rstr_hmac_md5(str2rstr_utf8(a), str2rstr_utf8(b))) }
 function md5_vm_test()
{ return hex_md5("abc").toLowerCase() == "900150983cd24fb0d6963f7d28e17f72" }
 function rstr_md5(a)
{ return binl2rstr(binl_md5(rstr2binl(a), a.length * 8)) }
 function rstr_hmac_md5(c, f)
{ var e = rstr2binl(c); if (e.length > 16)
{ e = binl_md5(e, c.length*8) }
 var a = Array(16), d = Array(16);
 for (var b = 0; b < 16; b++)
{ a[b] = e[b] ^ 909522486; d[b] = e[b] ^ 1549556828 }
var g = binl_md5(a.concat(rstr2binl(f)), 512 + f.length * 8);
return binl2rstr(binl_md5(d.concat(g), 512 + 128)) }
function rstr2hex(c) { try { hexcase } catch (g) { hexcase = 0 }
 var f = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
 var b = ""; var a; for (var d = 0; d < c.length; d++) { a = c.charCodeAt(d);
 b += f.charAt((a >>> 4) & 15) + f.charAt(a & 15) } return b } function str2rstr_utf8(c)
 { var b = ""; var d = -1; var a, e; while (++d < c.length)
{ a = c.charCodeAt(d); e = d + 1 < c.length ? c.charCodeAt(d + 1) : 0;
 if (55296 <= a && a <= 56319 && 56320 <= e && e <= 57343)
{ a = 65536 + ((a & 1023) << 10) + (e & 1023); d++ }
if (a <= 127) { b += String.fromCharCode(a) }
else { if (a <= 2047) { b += String.fromCharCode(192 | ((a >>> 6) & 31),
 128 | (a & 63)) } else { if (a <= 65535) { b += String.fromCharCode(224
| ((a >>> 12) & 15), 128 | ((a >>> 6) & 63), 128 | (a & 63)) }
else { if (a <= 2097151) { b += String.fromCharCode(240 |
((a >>> 18) & 7), 128 | ((a >>> 12) & 63), 128 | ((a >>> 6) & 63),
 128 | (a & 63)) } } } } } return b } function rstr2binl(b)
{ var a = Array(b.length >> 2); for (var c = 0; c<a.length; c++)
 { a = 0 } for (var c = 0; c <b.length*8;c =c+8 )
{ a |= (b.charCodeAt(c / 8 ) & 255) << (c % 32) } return a }
function binl2rstr(b) { var a = ""; for (var c = 0; c<b.length * 32; c=c+8)
 { a += String.fromCharCode((b >>> (c % 32)) & 255) }
 return a } function binl_md5(p, k) { p[k >> 5] |= 128 << ((k) % 32);
p[(((k + 64) >>> 9) << 4) + 14] = k; var o = 1732584193;
var n = -271733879; var m = -1732584194; var l = 271733878;
 for (var g = 0; g < p.length; g += 16) { var j = o; var h = n;
var f = m; var e = l; o = md5_ff(o, n, m, l, p[g + 0], 7, -680876936);
 l = md5_ff(l, o, n, m, p[g + 1], 12, -389564586); m = md5_ff(m, l, o, n, p[g + 2], 17, 606105819);
n = md5_ff(n, m, l, o, p[g + 3], 22, -1044525330); o = md5_ff(o, n, m, l, p[g + 4], 7, -176418897);
l = md5_ff(l, o, n, m, p[g + 5], 12, 1200080426); m = md5_ff(m, l, o, n, p[g + 6], 17, -1473231341);
 n = md5_ff(n, m, l, o, p[g + 7], 22, -45705983); o = md5_ff(o, n, m, l, p[g + 8], 7, 1770035416);
l = md5_ff(l, o, n, m, p[g + 9], 12, -1958414417); m = md5_ff(m, l, o, n, p[g + 10], 17, -42063);
 n = md5_ff(n, m, l, o, p[g + 11], 22, -1990404162); o = md5_ff(o, n, m, l, p[g + 12], 7, 1804603682);
 l = md5_ff(l, o, n, m, p[g + 13], 12, -40341101); m = md5_ff(m, l, o, n, p[g + 14], 17, -1502002290);
n = md5_ff(n, m, l, o, p[g + 15], 22, 1236535329); o = md5_gg(o, n, m, l, p[g + 1], 5, -165796510);
 l = md5_gg(l, o, n, m, p[g + 6], 9, -1069501632); m = md5_gg(m, l, o, n, p[g + 11], 14, 643717713);
n = md5_gg(n, m, l, o, p[g + 0], 20, -373897302); o = md5_gg(o, n, m, l, p[g + 5], 5, -701558691);
 l = md5_gg(l, o, n, m, p[g + 10], 9, 38016083); m = md5_gg(m, l, o, n, p[g + 15], 14, -660478335);
n = md5_gg(n, m, l, o, p[g + 4], 20, -405537848); o = md5_gg(o, n, m, l, p[g + 9], 5, 568446438);
l = md5_gg(l, o, n, m, p[g + 14], 9, -1019803690); m = md5_gg(m, l, o, n, p[g + 3], 14, -187363961);
 n = md5_gg(n, m, l, o, p[g + 8], 20, 1163531501); o = md5_gg(o, n, m, l, p[g + 13], 5, -1444681467);
 l = md5_gg(l, o, n, m, p[g + 2], 9, -51403784); m = md5_gg(m, l, o, n, p[g + 7], 14, 1735328473);
n = md5_gg(n, m, l, o, p[g + 12], 20, -1926607734); o = md5_hh(o, n, m, l, p[g + 5], 4, -378558);
l = md5_hh(l, o, n, m, p[g + 8], 11, -2022574463); m = md5_hh(m, l, o, n, p[g + 11], 16, 1839030562);
 n = md5_hh(n, m, l, o, p[g + 14], 23, -35309556); o = md5_hh(o, n, m, l, p[g + 1], 4, -1530992060);
 l = md5_hh(l, o, n, m, p[g + 4], 11, 1272893353); m = md5_hh(m, l, o, n, p[g + 7], 16, -155497632);
n = md5_hh(n, m, l, o, p[g + 10], 23, -1094730640); o = md5_hh(o, n, m, l, p[g + 13], 4, 681279174);
l = md5_hh(l, o, n, m, p[g + 0], 11, -358537222); m = md5_hh(m, l, o, n, p[g + 3], 16, -722521979);
n = md5_hh(n, m, l, o, p[g + 6], 23, 76029189); o = md5_hh(o, n, m, l, p[g + 9], 4, -640364487);
l = md5_hh(l, o, n, m, p[g + 12], 11, -421815835); m = md5_hh(m, l, o, n, p[g + 15], 16, 530742520);
n = md5_hh(n, m, l, o, p[g + 2], 23, -995338651); o = md5_ii(o, n, m, l, p[g + 0], 6, -198630844);
l = md5_ii(l, o, n, m, p[g + 7], 10, 1126891415); m = md5_ii(m, l, o, n, p[g + 14], 15, -1416354905);
n = md5_ii(n, m, l, o, p[g + 5], 21, -57434055); o = md5_ii(o, n, m, l, p[g + 12], 6, 1700485571);
l = md5_ii(l, o, n, m, p[g + 3], 10, -1894986606); m = md5_ii(m, l, o, n, p[g + 10], 15, -1051523);
n = md5_ii(n, m, l, o, p[g + 1], 21, -2054922799); o = md5_ii(o, n, m, l, p[g + 8], 6, 1873313359);
 l = md5_ii(l, o, n, m, p[g + 15], 10, -30611744); m = md5_ii(m, l, o, n, p[g + 6], 15, -1560198380);
n = md5_ii(n, m, l, o, p[g + 13], 21, 1309151649); o = md5_ii(o, n, m, l, p[g + 4], 6, -145523070);
l = md5_ii(l, o, n, m, p[g + 11], 10, -1120210379); m = md5_ii(m, l, o, n, p[g + 2], 15, 718787259);
n = md5_ii(n, m, l, o, p[g + 9], 21, -343485551); o = safe_add(o, j); n = safe_add(n, h);
m = safe_add(m, f); l = safe_add(l, e) } return Array(o, n, m, l) }
function md5_cmn(h, e, d, c, g, f) { return safe_add(bit_rol(safe_add(safe_add(e, h),
safe_add(c, f)), g), d) } function md5_ff(g, f, k, j, e, i, h)
{ return md5_cmn((f & k) | ((~f) & j), g, f, e, i, h) } function md5_gg(g, f, k, j, e, i, h)
{ return md5_cmn((f & j) | (k & (~j)), g, f, e, i, h) } function md5_hh(g, f, k, j, e, i, h)
{ return md5_cmn(f ^ k ^ j, g, f, e, i, h) } function md5_ii(g, f, k, j, e, i, h)
{ return md5_cmn(k ^ (f | (~j)), g, f, e, i, h) } function safe_add(a, d)
{ var c = (a & 65535) + (d & 65535); var b = (a >> 16) + (d >> 16) + (c >> 16);
return (b << 16) | (c & 65535) } function bit_rol(a, b) { return (a << b) | (a >>> (32 - b)) }

实现:

<script src="md5-min.js" type="text/javascript"></script>
 <script type="text/javascript">
 alert('abc经过md5加密后结果为:\n'+hex_md5('abc'));
 </script>


六、php实现md5加密:

echo strtoupper(md5('abc')) ;

oracle之修改跟踪文件

该文件目的:是跟踪自上一个增量备份以来哪些块已经修改。
启用:alter database enable block change tracking using file ‘path+filename’
关闭:alter database disable block change tracking;
注意:1)关闭之后,原来的跟踪文件也被删除(本人在windows上测试没有被删除)
2)开启跟踪会消耗系统不小的资源,要慎重

oracle之password file

1、作用:
允许远程SYSDBA 或管理员访问数据库,如果没有这个文件验证,即使是sysdba权限的用户,也不能在数据库文件没有加载之前登录数据库,让其加载数据库。
2、创建命令:
直接dos或者linux命令行下:orapwd file= password= entries= force=
file——密码文件名(必要)。
password——SYS 的密码(必要)。
entries——DBA 和操作员的最大数目(可选)。
force——是否重写现有的文件(可选)。
等号(=)两边没有空格。
注:win下放置在%ORACLE_HOME%\database目录下,文件名为PW%ORACLE_SID%.ora;
linux下放置在$ORACLE_HOME/dbs目录下,文件名为orapw$ORACLE_SID