25/05/2011
Ebook: .NET, C#, Java, PHP, SQLite, hacking, JQuery, CSS, HTML5,...
Kinh nghiệm of tôi là gõ: "mediafire.com" + "Tên Sách" trên google :D
SQLite, CSS, HTML5, OpenGL
http://www.heronote.com/files/jQuery.mobile.htm
Ajax:
http://www.fshare.vn/file/2Q52GX00/
References: http://www.sotayweb.com/lap-trinh-thiet-ke-website/pro/lap-trinh-javascript/item/152-giao-trinh-tai-lieu-sach-ebook-huong-dan-hoc-ajax-co-ban-tieng-viet.html
http://www.elakiri.com/forum/showthread.php?p=8160091
http://www.mediafire.com/?sharekey=77bcd55cf9dfe16719747bd91027d4ddedc3d66572667f86
JavaScript hướng đối tượng giả lập một cửa sổ trình duyệt
This is a very short tutorial about Object Oriented Programming in JavaScript, in which we are going to create an object called JSWinbox that simulates a window in our browser.
There are two ways of doing OOP in JavaScript: Classical Inheritance and Prototypal Inheritance. The recommended one is Prototypal because objects will share exactly the same methods and by the classical inheritance the objects will have their own copy of each method which would be a waste of memory.
Other great features you should know about JavaScript are closures, Prototype object, and basic knowledge of the DOM. That information should be enough for you to catch the idea of this post.
How is JavaScript an OOP Language if It Does Not Use Classes?
Some folks argue that JavaScript is not a real OOP language because it is not use classes. But you know what? JavaScript does not need classes because objects inheritance from objects. JavaScript is a class free language which uses prototype to inheritance from object to object.
How Do I Create an Object in JavaScript?
There are two ways to create an object: by object literals and by constructors.
Object literals are the most recommended because it can organize our code in modules, in addition it is an object ready to go that does not need a constructor. (Very useful for singletons.)
var myDog = {
name: 24,
race: '',
getValue: function () {
return this.value;
},
}
The other way is creating object by constructors. First of all, functions are objects and functions are what we use to create constructor objects for example:
function Dog(race, name){
this.race = race;
this.name = name;
this.getRace = function(){
return this.race;
};
this.getName = function(){
return this.name;
}
}
To create an instance of the Dog object we use the following code:
var mydog = new Dog('greyhound', 'Rusty');
Now, we just need to use the object we just created. So, lets execute one of the methods. The method to execute is getRace.
mydog.getRace(); // Returns grayhound
If you need a better explanation, go to one of the links at the beginning of the article for further explanation.
SourceCode example: http://www.mediafire.com/?w91389bf211nzho
Reference: http://www.admixweb.com/2010/07/14/oop-javascript-creating-an-window-box/
The Best JavaScript Frameworks and Libraries for Web and Mobile
To meet industry demand Silicon Beach Training has updated our JavaScript training course and intruduced jQuery training and Ajax training courses to whet your appetite. Of course if you need HTML5 training or CSS training we can offer these too only 5 mins walk from Brighton railway station.
The real problem with JavaScript (released in 1995) lay with what we now call the DOM (document object model). Browsers implemented what we now know as the DOM in different ways meaning that browser cross compatibility was a nightmare. The standardisation of the DOM made thing a little easier but Internet Explorer (the bane of many a developers life) did not support basics like addEventListener until 2010 in IE9.
JavaScript frameworks provided developers with solutions to more easily overcome many browser bugs, allowing developers more time to develop.
The five market Leaders in JavaScript frameworks – or libraries are:
jQuery is the strongest at DOM manipulation, and that’s why we like it.
It provides simple ways to create any custom effect and a range of simple to powerful Ajax methods.
Prototype is a JavaScript language library that extends the feature set of JavaScript but still includes a way to manipulate the DOM. Prototype provides class-style Object Oriented and AJAX, freely distributable under the terms of an MIT-style license.
YUI seems to offer everything! It includes the basics of DOM manipulation and event handlers, but also has a huge host of utilities available to it, ranging from internationalisation to history management and animation. What makes YUI special is its ability to load the utilities during runtime, so visitors do not suffer from slow page downloads. Built by frontend engineers at Yahoo! and contributors from around the world, it’s an industrial-strength JavaScript library.
Dojo is akin to enterprise-level JavaScript applications, and its homepage shows off how IBM, Cisco and Sun are among those who’ve chosen to make good use of it.
Indeed, Dojo’s documentation demonstrates how accessible the toolkit is via the ARIA support it provides. Dojo saves you time, delivers powerful performance, and scales with your development process
MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.
These JavaScript libraries provide these important features in common:
- Cross-browser support, particularly for older browsers even IE6 – RESULT!
- Experienced developers who share their knowledge and experience with the community
- Open licences enabling developers to use the projects privately and commercially
- Strong communities of developers that support them
- Extendable functionality
Great stuff to have in common but they all cover the fundamentals of web development in their own way. Most people getting started with JavaScript these days are faced with the challenging task of picking a library to use, or at least which one to learn first. If you’re starting a project from scratch and know that including a JavaScript library or framework is going to save you time and therefore money, then you have the advantage of being able to shop around for the perfect candidate.
UI frameworks
jQuery TOOLS – UI library for the Web is a very light weight (2.5kb) collection of the most popular user-interface components offering functionality over load time. It provides libraries for the following jQuery elements: Tabs, Tooltip, Scrollable, Overlay, Forms and Flashembed. jQuery can be downloaded as selected modules, so you don’t have to worry about pulling in the entire UI library if you just want draggable windows, for instance. It has the same benefits as jQuery and is under the same licence, so if you require a standard set of components, such as a date picker, progress bars or drag and drop, jQuery UI is a good choice for you. In addition, all the jQuery UI components can have different skins applied, either by your own designers or with a predetermined template. Both would use the ThemeRoller application, a web GUI for styling jQuery UI components.
jQuery UI is a widget and interaction library built on top of the jQuery core that allows you to animate different elements giving you impressive front-end interactions, all with relative ease.
The UI package is basically a collection of user interface-related functions that and can be broken into 3 main modules:
- the widgets, which contain prebuilt and customizable user interfaces
- the effects, which are very simple and straightforward animations you can do to a page element
- expanded mouse interaction with page elements (dragging and dropping)
Script.aculo.us is a popular UI kit that extends the Prototype Framework by adding visual effects, user interface controls, and utilities via the DOM.
Scripty2, essentially the second incarnation of Scriptaculous, goes beyond the animation framework that it was originally known for. Although Scripty2 is still in alpha, it’s likely to be the UI framework of choice for Prototype developers because it builds on the library. In addition to some super-smooth effects, it will come with accordions, dialogs, progress bars, tabs, sliders and an autocompleter.
MochaUI – A Web Application User Interface Library requires MooTools and also requires an XHTML 1.0 strict doctype. So it’s no good for HTML5 entusiasts. It provides a slick UI for windows, drag and drop, file views and panel views. It is a popular extension to the MooTools Javascript Framework and ExplorerCanvas, to develop quick Web Applications, Web Desktops, Web Sites, Widgets, Standalone Windows, Modal Dialogs and much more.
JavaScript libraries and frameworks for Mobile
JavaScript libraries and frameworks are making their way into the mobile development community. Mobile is unchartered territory and getting exiting. It’s really where the future of web development is. There are, however many considerations to be met: performance of the mobile device, whether you want to replicate the native UI and whether the mobile device even supports the newest JavaScript methods
jQuery Mobile is a Touch-Optimized Web Framework for Smartphones & Tablets. jQuery Mobile provides a unified user interface system across all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation. jQuery will support mobile browsers from B-grade and upwards, another reason why we think that jQuery is the one to watch.
jQTouch isn’t so much a framework as a jQuery plug-in that provides a native UI feel to iPhone-based web apps. This includes transition effects, a few template styles for all the UI widgets (such as lists, buttons and toolbars), swipe detection so that it interacts like an iPhone app and, finally, the ability to extend the functionality of the plug-in. There are number of jQTouch-based iPhone apps have already and are available in the iTunes store, compiled via PhoneGap.
XUI is a super micro tiny (3k-compressed) DOM library for authoring HTML5 mobile web applications. It includes Ajax and Effects via Emile.js. Like jQuery, it supports the simple xui.fn.myplug plug-in model, so it’s extendable. The project aims to be compatible with mobile browsers based on WebKit, Mozilla’s mobile browser Fennec, Opera, IE and BlackBerry. It’s still in-project but is fairly stable.
References: http://www.siliconbeachtraining.co.uk/blog/?p=1534
30/12/2009
Collaboration des OpenSource SIG
La Fondation Open Source Geospatiale (OSGeo) est une organization loi 1901. Son but est d’aider seulement et de promouvoir le développement collaboratif des données et des technologies géospatiales, mais encore fournit des aides de finance et légale indépendante. C’est à dit touts ses membres peuvent distribuer ses codes, ses finances, ses ressources,…OSGeo fournit un forum commun, une infrastructure partagée pour améliorer la collaboration entre projets. Quelques web mappings et Desktop applications dans cette fondation : GeoServer, Mapbuilder, Mapserver, OpenLayers, GrassGis, gvSIG, GeoTools, PostGis… Cette collaboration apporte une grande signification, on peut développer un SIG avec les point forts des systèmes dans cette fondation. Neogeo, Camptocamp, Geosignal… sont des projets qui ont la réunion des autres projets.
Références:
[1] http://www.osgeo.org/
22/12/2009
Les outils de développement
I-A. Commerciaux
I-A-1. Articque
I-A-2. AutoCad Map
I-A-3. Benomad
I-A-4. CarbonTool
I-A-5. ESRI
I-A-6. GeoConcept
I-A-7. GeoMap
I-A-8. Géomédia
I-A-9. ILOG JViews Maps
I-A-10. Internet Mapping Framework
I-A-11. Ionic RedSpider
I-A-12. LorikSoftware
I-A-13. Loxane
I-A-14. Map24
I-A-15. MapInfo
I-A-16. MapViewer
I-A-17. Microsoft Virtual Earth
I-A-18. Star-Apic
I-A-19. StoneEarth SIG 3D
Développement - Libres - Webmapping (21)
I-B. Libres, cartographie pour internet (WebMapping)
I-B-1. AlovMap
I-B-2. BeeldBlad
I-B-3. CartoWeb
I-B-4. Deegree IGeoportal
I-B-5. Drupal
I-B-6. Geoar
I-B-7. Geoserver
I-B-8. GoogleMaps
I-B-9. InterMap
I-B-10. LiziMaps
I-B-11. MapBender
I-B-12. MapBuilder
I-B-13. MapGuide
I-B-14. Mapserver
I-B-15. MDWeb
I-B-16. MyMaps
I-B-17. OpenLayer
I-B-18. PMapper
I-B-19. PrimaGIS
I-B-20. SeaGIS
I-B-21. WorldKit
Développement - Libres - Logiciels (20)
I-C. Libres, Logiciels
I-C-1. AccuGlobe
I-C-2. AlterSIG
I-C-3. Diva-GIS
I-C-4. Earth3D
I-C-5. FWTools
I-C-6. GoogleEarth
I-C-7. Grass, WinGrass, JGrass ...
I-C-8. GvSIG
I-C-9. Jump, OpenJump, Skyjump, Deejump ...
I-C-10. Kosmo
I-C-11. LandSerf
I-C-12. Le Petit Poucet
I-C-13. NRDB : Natural Resources Database
I-C-14. OpenModeler
I-C-15. Ossim
I-C-16. QGIS
I-C-17. Saga GIS
I-C-18. UDig
I-C-19. WorldWind
I-C-20. Xrmap
Développement - Libres - Librairies (12)
I-D. Libres, Librairies
I-D-1. Fulcrum
I-D-2. GeoAPI
I-D-3. GeoTools
I-D-4. JTS
I-D-5. Librairie GeoTiff
I-D-6. MapWindow
I-D-7. OGDI
I-D-8. OGR/GDAL
I-D-9. OpenEV
I-D-10. OpenMap
I-D-11. Proj4
I-D-12. SharpMap
Sans développement - Commerciaux (13)
II-A. Commerciaux
II-A-1. CadCorp
II-A-2. CARIS GIS
II-A-3. Bentley Map
II-A-4. Cart@Jour
II-A-5. Editop
II-A-6. Géoclip
II-A-7. ImaGIS
II-A-8. MacMap
II-A-9. Manifold
II-A-10. Migratio
II-A-11. ORLO
II-A-12. Smallworld
II-A-13. Telimago
Sans développement - Libres (5)
II-B. Libres
II-B-1. AutoDEM
II-B-2. MicroImages
II-B-3. Nasa Tools
II-B-4. SavGIS
II-B-5. TopoCad
Base de données (4)
III. Base de données pour SIG
III-A. Access
III-B. MySQL
III-C. Oracle
III-D. PostgreSQL
Detail: http://jsorel.developpez.com/tutoriels/sig/outils/
Geo Lynx 911
C'est un lien d'introdution de Geo Lynx 911:
http://www.geo-comm.com/geolynxdemo.html
19/12/2009
Client - Service
Dans l’article avant, j’ai expliqué aux services du SIG. Cet article, je vais parler de la relation entre le client et ces services.
Chaque application de client a été crée par l’utilisé des SIG et non-SIG web services.
Coverage Portrayal Service (CPS) rassemble des résultats des Web Coverage Service, puis couverture et ensuite envoie ces résultats à autre Spatial Reference System (SRS). En fin Overlay extrait ces données sont à partir de Web Feature Service (WFS) et couvre des autres données pour afficher une image à des clients.
On donne un exemple quand un utilisateur veut chercher une l’adresse sur la carte. L’application du SIG doit afficher en image de cette adresse. Il faut toucher la limité de cette image. Malgré sa simplicité, cet exemple est assez riche pour explorer des au service du SIG.
Les types de service sont nécessaires dans cet exemple :
- Un service corresponds à l’adresse (address matching service)
On suppose que dans tout système de référence de spatiale, le service utilisait des adresses que les clients disposent. Ce service retourne des informations complémentaires telles que l’adresse normalisée, la précision de localisation. Ce service filtre des coordonnées qui correspondent à une demande de client. Dans de tel cas, ce service retourne plusieurs réponses.
- Un service corresponds à un site (Web Mapping service)
Retourner une carte correspondant à la pré-spécifié géographiques et la dimension de pixel d’un espace.
- Un service re-projection (re-projection service)
Transformer une image raster d’un système de référence spatiale à l’autre. Ce service est nécessaire parce que la projection native d’un ensemble de données peut être différente de celle demandée par le client. Une noté ici sur le fait qu’il n’y a pas de re-projection de l’interface de service standard. Nous supposons qu’il se composera d’au moins les paramètres suivants.
Quelques modèles de coordonnée entre un client et service :
Coordonner client – service
Client connecte des services d’agrégats
Client avec un Workflow qui manage des services de médiation.
Référence:
[1] Service Chaining of Interoperable Geographic Information Web Services (Nadine Alameh)
18/12/2009
Googe Map API et Google Fusion News
Détail ici:
http://googlegeodevelopers.blogspot.com/2009/12/maps-data-api-bringing-geospatial.html
http://code.google.com/apis/maps/documentation/mapsdata/developers_guide_protocol.html#Search
Réf:
[1] http://www.techcrunch.com/2009/12/15/google-maps-spatial-search/
[2] http://www.spatiallyadjusted.com/2009/12/16/the-google-maps-data-api-and-google-fusion-api-news/
Ps: Merci Monsieur Brice de votre lien que vous m'envoyez!
16/12/2009
Lien blog de SIG
- O’Reilly Radar Geo Blog 2,733 – overall O’Reilly (5 Blog reactions for Geo Blog)
- Strange Maps 1,895
- Google Earth Blog 950
- Google Maps Mania 553
- Ogle Earth 186
- All Points Blog (Directions Magazine) 176
- James Fee GIS Blog — Blogging GIS, Google Earth, Virtual Earth and Programming 156
- The Map Room: A weblog about maps 139
- The Beer Mapping Project 91
- Geobloggers 73
- Mapperz 72
- Very Spatial (Blog and Podcast) 66
- Bret Taylor’s Blog 64 (estimate based on 195 Blog Reactions)
- Mibazaar 61
- Dave Bouwman - GIS Blogs: Where’s the Conversation? 53
- Ed Parsons 52
- What is so special about Geospatial? 52
- Chris Spagnulo’s Geoscrum 51
- AnyGeo - Anything Geospatial 46
- Mandown 35
- The Earth Is Square 35
- Mapdango 34
- GIS Lounge 31
- Mapping Hacks 28
- Geography Matters – Est. 27 (based on 83 blog reactions)
- Geospatial Semantic Web 26
- Vector One 26
- Computing, GIS and Archeology in the UK 23
- GeoNames Blog 18
- GeoMusings 14
- Slashgeo 14
- Geocarta 12
- Webmapper 10
- Sean Gillies 10
- Indiemaps 8
- Cartogrammer 7
- Geography 2.0 2
Référence
[1] http://blog.khanhlnq.com/2008/09/25-blog-hay-nht-v-bn-gis-v-geoweb.html
