• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            socketref,再見!高德

            https://github.com/adoggie

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(54)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            #

            import xml.dom.minidom
            from xml.dom.DOMImplementation import implementation
            import xml.sax.writer
            import xml.utils

            # Create a new document with no namespace uri, qualified name,
            # or document type
            document = implementation.createDocument(None,None,None)
            personnel = document.createElement("personnel")
            personnel.setAttribute('number', '5')
            document.appendChild(personnel)
            sexnode = document.createElement("sex")
            sexnode.appendChild(document.createTextNode("male"))

            namenode = document.createElement("name")
            namenode.appendChild(document.createTextNode("tianbin"))

            personnel.appendChild(sexnode)
            personnel.appendChild(namenode)

            out = open("tianbin.xml", "w")
            xml.dom.ext.PrettyPrint(document,out)

            posted @ 2011-06-06 23:23 放屁阿狗 閱讀(641) | 評論 (0)編輯 收藏

            測試使用本地wms渲染引擎,發現openlayers加載tiles速度明顯快于openscales,速度幾乎要2-3倍

            我想這個原因可能在于flash運行時異步請求都是單線程的,openlayers發送ajax httprequest可能是多線程并發請求的(渲染程序都是一致)

            ** win7下綁定localhost做服務發現響應速度很慢,必須直接寫 本地ip地址

            openscales請求速度慢可能opensacles代碼里面控制了并發請求tile的數量,這個要具體看一下scales的代碼,看看能夠引出接口來修改一下

            ** openscales初始化 wmsc圖層時只有一個resulutions參數,而有時我采用scale縮放比控制,注意 openscales/*/util/*.as提供了scale到resulutoin的轉換
                 DPI在openscales里面默認是72 , WGS84 (4326)是默認的,投影也提供接口更改


            openscales速度慢的問題找到了,同樣啟動Ie則沒有遲緩的現象,說明還是瀏覽器的問題,firefox 3.x版本不行,換4.x的看看,如果還是不行,說明flash.ocx for firefox版本不行
            posted @ 2011-06-06 12:45 放屁阿狗 閱讀(1924) | 評論 (0)編輯 收藏

            red5  
            http://code.google.com/p/red5/
            http://dl.fancycode.com/red5/api/

            cpp的流媒體服務器:
            http://www.live555.com/

            liveencoder只能捕捉pc本地設備音視頻信息
            http://download.macromedia.com/pub/flashmediaserver/flashmedialiveencoder/installer/flashmedialiveencoder_3.2_wwe_signed.msi
              
            posted @ 2011-05-31 09:51 放屁阿狗 閱讀(365) | 評論 (0)編輯 收藏

            網上下載的openscales代碼,demo很少,且演示的不夠清晰,云里霧里的,干脆老辦法,直接讀碼。
            兩年前沒有用openlayers時,接觸了google的map api,覺得很好,照著功能花了1個月左右時間用as3開發了一個flex的地圖顯示庫,當然只能與自己開發的后端地圖服務做接口通信(當初是用wx開發地圖渲染,amf+php做webservice端接入,兩者之間用 ice for php 實現進程間通信,并由php將tile回傳到flex地圖庫來展示,之后還用wx在wince下做了個地圖展示的版本)。想想那個時候是多么的傻,有著wms,wfs等標準不用而自己去做不通用的東西。

            SDL用于定義地圖Feature對象繪制時的屬性參數,有個叫Symbolizer的東東抽象了繪制操作
            當然SDL里面處理POINT,LINE,POLYGON之外就是Bitmap了,或者是幾種類型的組合。
            剛接觸SDL的時候是玩Geoserver的時候,看著Geoserver關于SDL的help資料,回顧一下以前公司做導航軟件是那些feature的定義是那樣的不自然,都是統統寫死在代碼里面,或者是一個txt的文本文件,或者xml算是最靈活的了,但跟sdl規范來比對的話顯得比較弱智。
            手工寫SDL是很痛苦的事情,有個開源軟件叫udig,是個opengis的軟件,里面就攜帶了圖形化定義feature產生xml代碼的功能,也是玩了玩,之后對geoserver失望之后自己寫地圖繪制引擎,參照了sdl的規范自己實現了一個準sdl規則來描述feature的symbolizer加入了繪制引擎,靈活性擴展還是不錯。
            在openscales代碼里找FeatureLinede的功能,為了在之后的gis項目中顯示移動目標對象路徑只用,代碼跳躍了幾次,呵呵,看到了openscales對SDL的實現版本 ,org.openscales.core/style  里面的stroke,fill,marker,symbolizer真是對sdl實現的很好的參照代碼藍本。如果了解SDL規范的話,這些代碼應該不用十分care,因為都比較簡單,記住使用接口就可以了
            WellKnownMarker支持的類型還真跟SDL規范一樣,沒新的類型加入(square,circle,triangle,star,cross)

            posted @ 2011-05-30 00:38 放屁阿狗 閱讀(1467) | 評論 (2)編輯 收藏

            decode的作用是將其他編碼的字符串轉換成unicode編碼,如str1.decode('gb2312'),表示將gb2312編碼的字符串轉換成unicode編碼。

            encode的作用是將unicode編碼轉換成其他編碼的字符串,如str2.encode('gb2312'),表示將unicode編碼的字符串轉換成gb2312編碼。

            posted @ 2011-05-28 16:38 放屁阿狗 閱讀(250) | 評論 (0)編輯 收藏

            Apache Server Status的啟用

            Apache的狀態管理的模塊是LoadModule status_module modules/mod_status.so,所以這個需要有,然后打開下面的配置

            ExtendedStatus On

            配置Apache Server Status的權限

            <location /server-status>

                     SetHandler server-status

                     Order Deny,Allow

                     Deny from all

                     Allow from .foo.com

            </location>

            打開查看的話就使用http:// your.server.name/server-status來訪問,注意VHapache要設置在一個VH,不然你分不清是那個地址來查看看這個信息.ExtendedStatus不能放在VH.

             

            posted @ 2011-05-27 21:05 放屁阿狗 閱讀(399) | 評論 (0)編輯 收藏

            webgis地圖訪問地址 : http://sw2us.com:8520/medias/flex/newgis.html
            下載地址: http://sw2us.com:9090/sw2us.webgis.demo.2011.5.26.7z


            ----------------------------------------
            sw2us.webgis 在99年就開始有個做地圖引擎的想法,由于忙于公司其他開發項目的事情,一直斷斷續續進行
            在5173的時候開始用geoserver來架構wms服務器,發現配置部署性能都差強人意,所以想著自己做個wms服務
            10年的時候也寫了個版本,后來用tilecache進行tile 繪制,中國地圖1000的比例兩臺機器繪制了1個月
            下半年生病了,到11月份回unistrong上班,工作內容就是寫驅動,空閑之余繼續寫地圖渲染代碼,以前用wx做的
            代碼全部用qt寫了一遍,優化了一些速度。地圖換了兩版本,08年的全國圖和11年的上海圖,用python腳本進行預處理
            切割地圖進行網格存儲。以前的同事多年前就告訴我他們改進4叉樹的存儲方式來提高訪問數據減少數據加載,我也
            沒好好琢磨過,主要是沒有時間和精力,只好做這種傻瓜式的簡單網格切分和加載。

            demo只是簡單實現了地圖加載和現實,然后用openlayers,extjs,geoext,django做了個框架頁面,里面放了個不跑的汽車圖標

            這個東西是10年12月完成的,已經準備放棄這個架構的設想,準備采用flex+openscale+django來重做webgis應用,
            當然那還是需要花費很多時間和精力

            zhangbin
            2011.1.20

            msn: socketref@hotmail.com
            qq: 24509826

            ==========================================================================================
            注意: sw2us.webgis.demo目錄必須存放在c:\根目錄下,不能更改目錄名

            安裝
            =============
            1.配置數據庫
                安裝pgsql, postgresql-8.3.5-2-windows.exe,數據庫端口保持為5432 ,設置postgres用戶,密碼為111111
                安裝空間數據庫擴展 postgis-pg83-setup-1.5.2-1.exe
                創建 數據庫名 newgis,導入數據庫文件 newgis.db.backup

            2. webserver配置
                運行C:\sw2us.webgis.demo\apache2.2.pack\http-install.bat  安裝apache服務,偵聽 9090端口
                C:\sw2us.webgis.demo\apache2.2.pack\http-install.bat     啟動apache服務
                
            3.安裝微軟雅黑字體
                bin/vistaFont_chs.exe ,安裝之后修改系統默認字體為微軟雅黑字體

            4. 安裝vc運行環境 bin\vcredist_x86.exe

            運行:
            ===============
                start-gis.bat     運行django后臺服務
                wms_start.bat     運行wms服務器
                tileserver-rpcservice-1.bat/tileserver-rpcservice-2.bat 為后臺地圖渲染服務,目前配置5001,5002端口
                瀏覽器錄入 http://192.168.14.3:8080/ 即可看到地圖界面
                
            系統端口說明:
            ===============
                9090      apache 服務端口
                8080    django 服務端口
                8000    wms 服務端口
                5001,5002 地圖渲染服務端口

                
            以上端口都被寫入了相關服務的配置文件,請確保這些端口沒有被占用

            --    修改apache端口 C:\sw2us.webgis.demo\apache2.2.pack\Apache2.2\conf\httpd.conf ;
                修改之后必須重新啟動apache服務(http-shutdown.bat,http-start.bat)
                修改apache端口之后必須修改對應django的配置 C:\sw2us.webgis.demo\newgis\gis.py(第14行 JSLIB_PATH的webserver指向)
            --    django服務端口可以任意修改 start-gis.bat
            --    wms服務端口修改 wms_start.bat ,修改之后必須同步C:\sw2us.webgis.demo\newgis\medias\js\gis\gismap.js(第19行)的wms服務器指向
            --    地圖渲染服務可以根據負荷的情況啟動多個服務進程(復制tileserver-rpcservice-1.bat,修改其端口號,比如 5003),在修改或增加渲染
                進程之后必須修改wms服務的配置C:\sw2us.webgis.demo\swmap.demo\GisServer\tileservers.txt
                
            demo系統默認都是采用localhost做服務接口,如果要提供網絡支持或者分布這些服務進程來提高性能,則需要修改這些不同的端口和ip地址

                
            系統描述:
            =============
             瀏覽器firefox 直接訪問django端口,django的url.py分派請求到gis.py,gis.py加載pages/mainwindow.html
             mainwindow.html已經是個openlayers+ext的框架界面了,其陸需加載 openlayers,ext等的js腳本,注意:這些js
             腳本并不存在django的目錄下,而是存放在apache的web-root目錄下,所以必須要修改gis.py和mapgis.js里面的
             主機指向信息。
             當mainwindow.html加載之后,工作就交給了openlayers,openlayers將訪問wms服務器(gismap.js 19行),此刻wms服務器
             提供tile數據給瀏覽器。
             地圖渲染服務必須在wms服務之前啟動,wms通過tileserver.txt的配置 采用ice 與渲染服務進程通訊并獲得圖塊并返回給
             瀏覽器。
             渲染服務器、wms服務器、apache和django服務都可以被分隔存儲在不同的主機上
             
             好了,demo可以在本機跑起來了,但必須是以 http://locahost:8080方式,如果想以網絡方式訪問則修改wms服務端口,gis.py,gismap.js及相關.bat配置
             
            相關問題
            =============
             如果將這些服務主機都配置成localhost,訪問速度大大降低 , 應配置成獨立的ip地址
             apache已經配置了js壓縮輸出    
               
            posted @ 2011-05-26 10:56 放屁阿狗 閱讀(2531) | 評論 (5)編輯 收藏

            公司的交易系統bs架構,通過http方式訪問備份數據庫。開發公司不肯合作的態度,所以每一次必須人工的去登陸網站是手動備份。
            每天安排6次備份,這種對于一個程序開發者來講的話真是一種痛苦和侮辱。

            今天空下來就用python開始編寫自動備份方案:
            1.http自動登錄
            2.wget斷點下載
            3.7zip壓縮
            4.網盤 everbox的同步到服務器

            與http server的交互信息用wireshark抓包分析,還蠻靈光的

            python代碼:
             1 # -*- coding:utf-8 -*-
             2 #auto backup system database 
             3 #自動登錄,http下載,壓縮之后通過網盤同步到服務器
             4 
             5 import httplib, urllib,sys,os,re,datetime,time,os.path,gzip
             6 
             7 host="192.168.1.106"
             8 sys_user='anyuser'
             9 sys_pass='anypass'
            10 
            11 html = '''<body><h1>Object Moved</h1>This object may be found <a HREF="shuju.asp?err=
            12 ok!&amp;dizhi=../data_backup/zhk0432011-1-26.7055475.mdb">here</a>.</body>
            13 '''
            14 
            15 
            16 tasklet=[]
            17 backupTimes= 6# in day 每天備份次數
            18 
            19 
            20 
            21 def backup(outputfile):
            22     params = urllib.urlencode({'login_name':sys_user, 'login_pass': sys_pass, 'submit.x'9,'submit.y':9})
            23     conn = httplib.HTTPConnection(host)
            24     headers = {"Content-type""application/x-www-form-urlencoded",
            25                 "Accept""text/plain"}
            26     conn.request("POST","/asp/huiyuan/login_check_gl.asp",params,headers)
            27     resp = conn.getresponse()
            28     #print resp.status,resp.reason
            29     #print resp.getheaders()
            30     cookie = resp.getheader('set-cookie')
            31     #print resp.read()
            32     conn.close()
            33 
            34     #print 'retry GET /'
            35     conn = httplib.HTTPConnection(host)
            36     headers = {"Content-type""application/x-www-form-urlencoded",
            37                 "Accept""text/plain",'Cookie':cookie}
            38 
            39     conn.request("GET","/asp/admin/login_check001.asp",'',headers)
            40     resp = conn.getresponse()
            41 
            42     #sys.exit(0)
            43     conn = httplib.HTTPConnection(host)
            44     headers = {"Content-type""application/x-www-form-urlencoded",
            45                 "Accept""text/plain",'Cookie':cookie}
            46 
            47     conn.request("GET","/asp/admin/backup.asp",'',headers)
            48     resp = conn.getresponse()
            49     #print resp.status,resp.reason
            50     html=  resp.read()
            51 
            52     m = re.search(".*?/data_backup/(.*?\.mdb).*",html)
            53     backupfile = ''
            54     if len(m.groups()):
            55         backupfile = m.groups()[0]
            56         print backupfile
            57     else:
            58         print 'backup access failed!'
            59         return False
            60 # -o wget.log
            61     downloadurl= "http://%s/asp/data_backup/%s  -O %s "%(host,backupfile,outputfile)
            62     #print 'try get %s '%downloadurl
            63     cmd = "wget -c -t 0 %s"%downloadurl
            64     print cmd
            65     os.system(cmd)
            66     return True
            67 
            68 firsttime = datetime.datetime.now()
            69 if not os.path.exists('./backup'):
            70     os.mkdir('backup')
            71     
            72 if not os.path.exists('./sync'):
            73     os.mkdir('sync')
            74     
            75 while True:
            76     now = datetime.datetime.now()
            77     #filename = "backup/%s_%s-%s_%s_%s_%s.bak"%(now.year,now.month,now.day,now.hour,now.minute,now.second)    
            78     sync_hour= int(now.hour/int(24/backupTimes)) * int(24/backupTimes)
            79     filename = "%s_%s-%s_%s_%s_%s.bak"%(now.year,now.month,now.day,sync_hour,0,0)    
            80     try:
            81         if not os.path.exists("backup/"+filename):        
            82             backup("backup/"+filename)
            83             cmd = "7zip\\7z.exe a -t7z  sync\\%s.7z backup\\%s"%(filename,filename)
            84             print cmd
            85             os.system(cmd)    
            86     except:
            87         pass
            88     time.sleep(10#
            89 
            90 
            91 
            92 


            posted @ 2011-01-25 16:20 放屁阿狗 閱讀(1971) | 評論 (0)編輯 收藏

            想到這個問題已經是有一段時間了,目前要啟動項目,所以又仔細想了一下。
            django框架不同于j2EE,weblogic就是個很好的基于j2ee的應用服務器,里面有很多設施,都是常駐在內存的,這樣的服務器還有Tomcat之類的。
            但我了解的django同php一樣采用平面數據庫來記錄用戶會話,狀態等信息,效率上沒有直接從內存中讀取的要快。而我的項目需求涉及的數據組織方式是樹形的嵌套結構的業務數據結構,雖然存放在平面的數據表中,但是在查詢的時候每一次都要多次的操作表記錄,效果很低。
            例如: 會員表字段( 會員編號,介紹人編號,節點人編號),一個成員即可以是會員,也可以是介紹人或者是節點人,所以在一條記錄關聯到多條記錄或者被多次關聯,那在查詢的時候要列出 (會員名,介紹人名,節點人名),編寫的sql將比較繁瑣,如果寫成一條的話,可以用inner jion或者 select in的方式實現,但是由于數據庫內部要創建多個記錄緩沖來搜尋,導致效率極低。
            不得不考慮在django外部開發獨立的應用服務程序,運行時加載會員表中的所有成員信息,并以指針的形式將這個會員拓撲樹表現出來,那在查詢檢索的時候根據id和會員名稱做個hash表,根據id直接定位到拓撲樹的節點上,這個節點的子幾點可以是指向介紹人、節點人節點的地址,那檢索的速度可以提高100倍。
            就這么決定了,所以想著 django要與外部應用程序交互的問題,當然是想到了ice通信框架。
            在mod_python配置參數中有一項:
            PythonHandler django.core.handlers.modpython
            modpython.py這個代碼只要修改了之后mod_python將重新加載,且這個模塊將常駐內存,好了,可以把他當做一個入口服務實例了,
            ice的初始化就放在modpython.handler()函數內,通過request參數傳遞到調用的每個模塊內,
            開心了!

            posted @ 2011-01-24 00:06 放屁阿狗 閱讀(2171) | 評論 (0)編輯 收藏

            第一次遇到這種事情,可能也就存在于Win7 和 XP/2003之間。
            今天公司同事打開自己電腦,一切照舊的訪問服務器共享(準備開始獲取共享文件,開始工作了)
            可當同事輸入自己的域賬號和密碼后,死活無法登陸,同事急了,他懷疑我修改了他的域賬號密碼。
            我哪敢啊我。
            過去看了下,還的確是,不管是輸入服務器的管理員賬號密碼,還是域賬號和密碼。
            Win7都提示說:“未知的錯誤用戶名和密碼,請重新輸入”
            再一次冒汗。
            無奈自己鼓搗一會,確認常規設置都沒問題,細想昨天都好好的,怎么今天出這么奇怪問題。
            同事見我搞不定,無奈嘆氣說:“我重裝吧,哎”(公司都用2003的,他自己獨立用Win7.呵呵,所以不好找茬 O(∩_∩)O~)
            我想了下,感覺不是什么大問題,肯定是Win7“獨特設置”問題。
            所以先百度一下,郁悶的是,百度了一下,我什么都不知道。
            無奈,我又谷歌了一下。哈哈,這下全知道了。
            我使用的如下第二種辦法解決的,可能出現此問題的情況有很多種。大家有類似的,不妨都試試
            第一種排除法:
            2臺裝Win7的機器之前一直能訪問Win2003的共享,今天突然訪問不了,提示密碼錯,唯一一臺跑WinXP的舊電腦卻沒這問題……重新設置了共 享,還重設了Win2003的管理員密碼仍然不行,然后想了想兩臺Win7的機器和2003的機器這兩天我有沒有裝什么軟件或者設置什么的……結果最后發 現:Win2003主機之前由于插頭不夠,拔了電源今天才裝回去,主板電池又用光了,時間成了2006年……立即調回去今天的日期……Win7立刻就能訪 問了……。
            第二種排除法:
            訪問一臺Windows Server 2003的共享,無論怎么輸入都提示密碼錯誤。
            解決方法:
            1. 首先確認一下控制面板-系統和安全-windows防火墻-允許的程序里打開了“文件和打印機共享”
            2. 開始=>運行... =>gpedit.msc=>本地計算機策略=>計算機配置=>Windows設置=>安全設置=>本地策略=>安全選項。找到:“
            網絡安全:LAN管理器身份驗證級別”項,默認值“沒有定義”改為“發送LM & NTLM響應”
            第三種排除法:
            是域問題。打開win7的網絡共享中心,關閉密碼保護共享就好了。需要注銷,或者你直接選擇你的網絡位置為公用,就能免去輸入密碼的麻煩事。公用的默認的就是關閉密碼保護共享。
            (責任編輯:www.itxia.com)
            posted @ 2011-01-16 14:59 放屁阿狗 閱讀(785) | 評論 (0)編輯 收藏

            僅列出標題
            共25頁: First 5 6 7 8 9 10 11 12 13 Last 
            人妻少妇久久中文字幕| 国产91色综合久久免费分享| 久久国产色AV免费看| 亚洲精品国产第一综合99久久| 国产成人久久激情91| 国产三级久久久精品麻豆三级| 久久精品国产久精国产果冻传媒| 亚洲国产婷婷香蕉久久久久久| 理论片午午伦夜理片久久| 久久精品国产一区二区三区| 久久中文精品无码中文字幕| 色欲综合久久躁天天躁| 亚洲欧美成人久久综合中文网| 亚洲精品久久久www| 中文字幕精品无码久久久久久3D日动漫| 久久有码中文字幕| 国产精品中文久久久久久久 | 香蕉aa三级久久毛片| 久久伊人精品青青草原日本| 午夜精品久久久久久影视riav| 无码任你躁久久久久久老妇| 伊色综合久久之综合久久| 中文字幕久久久久人妻| 欧美亚洲色综久久精品国产| 色综合久久精品中文字幕首页| 久久高清一级毛片| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 色婷婷久久综合中文久久一本| 久久久久亚洲AV无码专区首JN| 亚洲午夜久久久久久久久久| 久久精品国产91久久麻豆自制 | 成人亚洲欧美久久久久| 久久亚洲国产成人精品无码区| 久久亚洲精品无码aⅴ大香| 久久精品人人做人人爽电影蜜月| 久久精品一区二区国产| 亚洲v国产v天堂a无码久久| 久久99精品久久只有精品| 久久精品成人影院| 色欲久久久天天天综合网精品| 99久久精品免费看国产|