一直都是技術,今天來點兒文藝範兒……

      今天是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經常使用參數如圖:

      另外說幾句題外話,也是在公司裏遇到的一些狀況:永遠不要看不起比人的勞動成果,不少事情想起來是一回事兒,真正作起來是另一回事兒。作人儘可能謙虛點,由於你要相信,別人身上總有你沒有的優勢!你們都是程序員,本是同根生,相煎何太急!

      好吧,已經到愚人節了,提醒各位當心被愚啊!

相關文章
相關標籤/搜索