一直都是技术,今天来点儿文艺范儿……

      今天是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     }
View Code

      另外也作了几个与百度地图相关的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>
View Code

      还有一个问题就是被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经常使用参数如图:

      另外说几句题外话,也是在公司里遇到的一些状况:永远不要看不起比人的劳动成果,不少事情想起来是一回事儿,真正作起来是另一回事儿。作人尽可能谦虚点,由于你要相信,别人身上总有你没有的优势!你们都是程序员,本是同根生,相煎何太急!

      好吧,已经到愚人节了,提醒各位当心被愚啊!

相关文章
相关标签/搜索