今天是31号,3月的最后一天,若是再不记点什么,一月又将过去。咱们总该记录点什么,不管以什么方式,某一天静下来,看看本身曾经留下的一些印记,感受仍是很不同的。先是生活,再是工做,记录一下这个月的点点滴滴。前端
先从生活开始吧。何谓生活?很好的一个解释就是生下来,活下去。帝都的空气质量的确很很差,隔三差五的就是重度雾霾,长期居住真的可能会少活几年。尽管是这样,咱们仍是愿意在这里,即便是孤身一人。这时候老是会想起公司老总说的一句话,咱们把这二十多岁人生最美好的一段时间选择在了帝都,老是要作出一番事业来吧!程序员
记得那时刚来北京找工做的时候,面了一家公司,前面都谈得挺好的,以后谈到待遇的时候,人事是这么跟我说的:以前面试你的经理反映你的状况都很好,可是咱们公司有规定,鉴于你还没毕业,因此说工资的话可能比较低,可是生活确定是没问题。我说,那是多少呢?这时,那我的事女士笑了,说2000加一点。她说可能2000块钱你生活得不会很滋润,可是你能够生存下去,接下来讲了一些能够生存下去的方法。别的我没怎么在乎,可是她说的滋润这个词留在了我内心,直到如今。面试
这几天帝都的气温确实是回升了,一不留神,道边的花儿都开了,若不是这些花花草草,还真不知道帝都也有春天。今年北京到如今为止,还没下过一场真正的雨,或许北京下雨原本就不多见吧。记得小时候,老是盼望着过年,由于过年了能够吃糖,仅此而已。如今咱们大了,发现老是不经意间,一年又过去了,过年回到家里,母亲额头的皱纹又多了几条,父亲两鬓的白发又添了几许。忽然之间发现,曾经为咱们撑起一片天的父亲脊梁已经弯了,曾起早贪黑养育咱们的母亲动做愈来愈迟缓。一个电话,一句问候,父母已经喜笑颜开,足矣。看到这里,是否发现已经很长时间没给父母打电话了呢?(打一个吧,也花不了几分钟……)人生最大的憾事莫过于,树欲静而风不止,子欲养则亲不待!ajax
想一想身边的人和事,身边某君说的一句话颇有道理:不怕没你聪明的人比你努力,就怕比你聪明的人比你还努力!是啊,二十4、五岁的年纪,若是读书不跳级,不留级,如今正好应该是工做满一年。此时不努力,更待什么时候呢?献给和本身同样的那群人,共勉……算法
=====================================================================================================服务器
简单的生活聊完了,仍是得聊聊程序啊,谁叫咱是干这行的呢。最近发现了自身的一个问题,由于以前一直都是在MVC模式下作开发,这几天作WebForm的后台反而一会儿不习惯了,不少简单的绑定都不熟练了。仍是应了那句老话啊,熟能生巧。作的多了,方法天然就出来了。微信
近期作了几个百度地图的应用,由于公司系统有须要,须要实如今微信中经过自身的位置,获取必定范围内的商家店铺。几经转化以后,变成了纯数学问题,个人位置(圆心)到某点的位置小于一个值(半径)就ok。主要代码的实现方式: 异步
1 /// <summary> 2 /// 经纬度坐标 3 /// </summary> 4 5 public class Degree 6 { 7 public Degree(double x, double y) 8 { 9 X = x; 10 Y = y; 11 } 12 private double x; 13 14 public double X 15 { 16 get { return x; } 17 set { x = value; } 18 } 19 private double y; 20 21 public double Y 22 { 23 get { return y; } 24 set { y = value; } 25 } 26 } 27 28 29 public class CoordDispose 30 { 31 private const double EARTH_RADIUS = 6378137.0;//地球半径(米) 32 33 /// <summary> 34 /// 角度数转换为弧度公式 35 /// </summary> 36 /// <param name="d"></param> 37 /// <returns></returns> 38 private static double radians(double d) 39 { 40 return d * Math.PI / 180.0; 41 } 42 43 /// <summary> 44 /// 弧度转换为角度数公式 45 /// </summary> 46 /// <param name="d"></param> 47 /// <returns></returns> 48 private static double degrees(double d) 49 { 50 return d * (180 / Math.PI); 51 } 52 53 /// <summary> 54 /// 计算两个经纬度之间的直接距离 55 /// </summary> 56 57 public static double GetDistance(Degree Degree1, Degree Degree2) 58 { 59 double radLat1 = radians(Degree1.X); 60 double radLat2 = radians(Degree2.X); 61 double a = radLat1 - radLat2; 62 double b = radians(Degree1.Y) - radians(Degree2.Y); 63 64 double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a / 2), 2) + 65 Math.Cos(radLat1) * Math.Cos(radLat2) * Math.Pow(Math.Sin(b / 2), 2))); 66 s = s * EARTH_RADIUS; 67 s = Math.Round(s * 10000) / 10000; 68 return s; 69 } 70 71 /// <summary> 72 /// 计算两个经纬度之间的直接距离(google 算法) 73 /// </summary> 74 public static double GetDistanceGoogle(Degree Degree1, Degree Degree2) 75 { 76 double radLat1 = radians(Degree1.X); 77 double radLng1 = radians(Degree1.Y); 78 double radLat2 = radians(Degree2.X); 79 double radLng2 = radians(Degree2.Y); 80 81 double s = Math.Acos(Math.Cos(radLat1) * Math.Cos(radLat2) * Math.Cos(radLng1 - radLng2) + Math.Sin(radLat1) * Math.Sin(radLat2)); 82 s = s * EARTH_RADIUS; 83 s = Math.Round(s * 10000) / 10000; 84 return s; 85 } 86 87 /// <summary> 88 /// 以一个经纬度为中心计算出四个顶点 89 /// </summary> 90 /// <param name="distance">半径(米)</param> 91 /// <returns></returns> 92 public static Degree[] GetDegreeCoordinates(Degree Degree1, double distance) 93 { 94 double dlng = 2 * Math.Asin(Math.Sin(distance / (2 * EARTH_RADIUS)) / Math.Cos(Degree1.X)); 95 dlng = degrees(dlng);//必定转换成角度数 原PHP文章这个地方说的不清楚根本不正确 后来lz又查了不少资料终于搞定了 96 97 double dlat = distance / EARTH_RADIUS; 98 dlat = degrees(dlat);//必定转换成角度数 99 100 return new Degree[] { new Degree(Math.Round(Degree1.X + dlat,6), Math.Round(Degree1.Y - dlng,6)),//left-top 101 new Degree(Math.Round(Degree1.X - dlat,6), Math.Round(Degree1.Y - dlng,6)),//left-bottom 102 new Degree(Math.Round(Degree1.X + dlat,6), Math.Round(Degree1.Y + dlng,6)),//right-top 103 new Degree(Math.Round(Degree1.X - dlat,6), Math.Round(Degree1.Y + dlng,6)) //right-bottom 104 }; 105 106 } 107 }
另外也作了几个与百度地图相关的Demo,一个是根据GPS坐标,获得百度坐标,并将百度坐标在百度地图上标注出来,注意是在后台实现。在网上搜了一下百度API的接口,发现不少都是Javascript调用或者Android调用的,以后找到一个Web服务的API,经过模拟HttpRequest和HttpResponse向百度发请求,拿到百度坐标以后标注一下就是A piece of cake了。固然若是有须要的同窗,能够邮箱啊。ide
还有就是经过GPS坐标拿到百度坐标的详细地理位置,相似于发出百度大厦的GPS坐标,返回百度大厦这样的详细地理位置信息,百度API上也有相似的接口。还有一个就是根据百度地图上的标注,动态的画曲线,须要的均可以交流。post
今天在写前端的时候也遇到了两个问题,记录一下,有幸看到的童鞋但愿能本身写的时候留心一点。
JQuery的查找元素咱们常常会用到,例如我要找某个元素的父级元素中的某一个,只须要经过parents(...) 括号里能够添加选择器,这样就能够定位到你想要找的父级元素,无论中间有几个层级均可以找着。相反的,咱们要找子级元素的时候也能够经过children(...)括号里也能够是选择器,可是值得注意的是:children只会向下找一级。意思就是若是有下面的结构:经过$("#parent").children(".children")是获取不到div元素的,由于children()只会找他的直接子级元素,也就是$("#children1")和$("#children2"),若是须要找$(".children")能够经过find()来查找。
<div id="parent"> <div id="children1"> <div class="children"></div> </div> <div id="children2"></div> </div>
还有一个问题就是被Ajax坑了,没区分大小写致使查了很长时间才找出错误,特别注意$.ajax()中的type仅为“POST”和“GET”,什么Post,post都很差使。故在此把JQuery中的几个Ajax请求给拿出来复习一下。
$.load(url,[,data],[,callback]),局部刷新很是爽;
$.get(url,[,data],[,callback],[,type]),Get方式的异步请求;
$.post(url,[,data],[,callback],[,type]),Post方式向服务器提交;
$.ajax(option),option经常使用参数如图:
另外说几句题外话,也是在公司里遇到的一些状况:永远不要看不起比人的劳动成果,不少事情想起来是一回事儿,真正作起来是另一回事儿。作人尽可能谦虚点,由于你要相信,别人身上总有你没有的优势!你们都是程序员,本是同根生,相煎何太急!
好吧,已经到愚人节了,提醒各位当心被愚啊!