今天是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經常使用參數如圖:
另外說幾句題外話,也是在公司裏遇到的一些狀況:永遠不要看不起比人的勞動成果,不少事情想起來是一回事兒,真正作起來是另一回事兒。作人儘可能謙虛點,由於你要相信,別人身上總有你沒有的優勢!你們都是程序員,本是同根生,相煎何太急!
好吧,已經到愚人節了,提醒各位當心被愚啊!