Search Results

Search found 3679 results on 148 pages for 'tran le xuan'.

Page 77/148 | < Previous Page | 73 74 75 76 77 78 79 80 81 82 83 84  | Next Page >

  • Java split is eating my characters.

    - by Fenris_uy
    Hi, I have a string like this String str = "la$le\$li$lo". I want to split it to get the following output "la","le\$li","lo". The \$ is a $ escaped so it should be left in the output. But when I do str.split("[^\\\\]\\$") y get "l","le\$l","lo". From what I get my regex is matching a$ and i$ and removing then. Any idea of how to get my characters back? Thanks

    Read the article

  • Metro Walkthrough: Creating a Task List with a ListView and IndexedDB

    - by Stephen.Walther
    The goal of this blog entry is to describe how you can work with data in a Metro style application written with JavaScript. In particular, we create a super simple Task List application which enables you to create and delete tasks. Here’s a video which demonstrates how the Task List application works: In order to build this application, I had to take advantage of several features of the WinJS library and technologies including: IndexedDB – The Task List application stores data in an IndexedDB database. HTML5 Form Validation – The Task List application uses HTML5 validation to ensure that a required field has a value. ListView Control – The Task List application displays the tasks retrieved from the IndexedDB database in a WinJS ListView control. Creating the IndexedDB Database The Task List application stores all of its data in an IndexedDB database named TasksDB. This database is opened/created with the following code: var db; var req = window.msIndexedDB.open("TasksDB", 1); req.onerror = function () { console.log("Could not open database"); }; req.onupgradeneeded = function (evt) { var newDB = evt.target.result; newDB.createObjectStore("tasks", { keyPath: "id", autoIncrement:true }); }; The msIndexedDB.open() method accepts two parameters: the name of the database to open and the version of the database to open. If a database with a matching version already exists, then calling the msIndexedDB.open() method opens a connection to the existing database. If the database does not exist then the upgradeneeded event is raised. You handle the upgradeneeded event to create a new database. In the code above, the upgradeneeded event handler creates an object store named “tasks” (An object store roughly corresponds to a database table). When you add items to the tasks object store then each item gets an id property with an auto-incremented value automatically. The code above also includes an error event handler. If the IndexedDB database cannot be opened or created, for whatever reason, then an error message is written to the Visual Studio JavaScript Console window. Displaying a List of Tasks The TaskList application retrieves its list of tasks from the tasks object store, which we created above, and displays the list of tasks in a ListView control. Here is how the ListView control is declared: <div id="tasksListView" data-win-control="WinJS.UI.ListView" data-win-options="{ itemDataSource: TaskList.tasks.dataSource, itemTemplate: select('#taskTemplate'), tapBehavior: 'toggleSelect', selectionMode: 'multi', layout: { type: WinJS.UI.ListLayout } }"> </div> The ListView control is bound to the TaskList.tasks.dataSource data source. The TaskList.tasks.dataSource is created with the following code: // Create the data source var tasks = new WinJS.Binding.List(); // Open the database var db; var req = window.msIndexedDB.open("TasksDB", 1); req.onerror = function () { console.log("Could not open database"); }; req.onupgradeneeded = function (evt) { var newDB = evt.target.result; newDB.createObjectStore("tasks", { keyPath: "id", autoIncrement:true }); }; // Load the data source with data from the database req.onsuccess = function () { db = req.result; var tran = db.transaction("tasks"); tran.objectStore("tasks").openCursor().onsuccess = function(event) { var cursor = event.target.result; if (cursor) { tasks.dataSource.insertAtEnd(null, cursor.value); cursor.continue(); }; }; }; // Expose the data source and functions WinJS.Namespace.define("TaskList", { tasks: tasks }); Notice the success event handler. This handler is called when a database is successfully opened/created. In the code above, all of the items from the tasks object store are retrieved into a cursor and added to a WinJS.Binding.List object named tasks. Because the ListView control is bound to the WinJS.Binding.List object, copying the tasks from the object store into the WinJS.Binding.List object causes the tasks to appear in the ListView: Adding a New Task You add a new task in the Task List application by entering the title of a new task into an HTML form and clicking the Add button. Here’s the markup for creating the form: <form id="addTaskForm"> <input id="newTaskTitle" title="New Task" required /> <button>Add</button> </form> Notice that the INPUT element includes a required attribute. In a Metro application, you can take advantage of HTML5 Validation to validate form fields. If you don’t enter a value for the newTaskTitle field then the following validation error message is displayed: For a brief introduction to HTML5 validation, see my previous blog entry: http://stephenwalther.com/blog/archive/2012/03/13/html5-form-validation.aspx When you click the Add button, the form is submitted and the form submit event is raised. The following code is executed in the default.js file: // Handle Add Task document.getElementById("addTaskForm").addEventListener("submit", function (evt) { evt.preventDefault(); var newTaskTitle = document.getElementById("newTaskTitle"); TaskList.addTask({ title: newTaskTitle.value }); newTaskTitle.value = ""; }); The code above retrieves the title of the new task and calls the addTask() method in the tasks.js file. Here’s the code for the addTask() method which is responsible for actually adding the new task to the IndexedDB database: // Add a new task function addTask(taskToAdd) { var transaction = db.transaction("tasks", "readwrite"); var addRequest = transaction.objectStore("tasks").add(taskToAdd); addRequest.onsuccess = function (evt) { taskToAdd.id = evt.target.result; tasks.dataSource.insertAtEnd(null, taskToAdd); } } The code above does two things. First, it adds the new task to the tasks object store in the IndexedDB database. Second, it adds the new task to the data source bound to the ListView. The dataSource.insertAtEnd() method is called to add the new task to the data source so the new task will appear in the ListView (with a nice little animation). Deleting Existing Tasks The Task List application enables you to select one or more tasks by clicking or tapping on one or more tasks in the ListView. When you click the Delete button, the selected tasks are removed from both the IndexedDB database and the ListView. For example, in the following screenshot, two tasks are selected. The selected tasks appear with a teal background and a checkmark: When you click the Delete button, the following code in the default.js file is executed: // Handle Delete Tasks document.getElementById("btnDeleteTasks").addEventListener("click", function (evt) { tasksListView.winControl.selection.getItems().then(function(items) { items.forEach(function (item) { TaskList.deleteTask(item); }); }); }); The selected tasks are retrieved with the TaskList selection.getItem() method. In the code above, the deleteTask() method is called for each of the selected tasks. Here’s the code for the deleteTask() method: // Delete an existing task function deleteTask(listViewItem) { // Database key != ListView key var dbKey = listViewItem.data.id; var listViewKey = listViewItem.key; // Remove item from db and, if success, remove item from ListView var transaction = db.transaction("tasks", “readwrite”); var deleteRequest = transaction.objectStore("tasks").delete(dbKey); deleteRequest.onsuccess = function () { tasks.dataSource.remove(listViewKey); } } This code does two things: it deletes the existing task from the database and removes the existing task from the ListView. In both cases, the right task is removed by using the key associated with the task. However, the task key is different in the case of the database and in the case of the ListView. In the case of the database, the task key is the value of the task id property. In the case of the ListView, on the other hand, the task key is auto-generated by the ListView. When the task is removed from the ListView, an animation is used to collapse the tasks which appear above and below the task which was removed. The Complete Code Above, I did a lot of jumping around between different files in the application and I left out sections of code. For the sake of completeness, I want to include the entire code here: the default.html, default.js, and tasks.js files. Here are the contents of the default.html file. This file contains the UI for the Task List application: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Task List</title> <!-- WinJS references --> <link href="//Microsoft.WinJS.0.6/css/ui-dark.css" rel="stylesheet"> <script src="//Microsoft.WinJS.0.6/js/base.js"></script> <script src="//Microsoft.WinJS.0.6/js/ui.js"></script> <!-- TaskList references --> <link href="/css/default.css" rel="stylesheet"> <script src="/js/default.js"></script> <script type="text/javascript" src="js/tasks.js"></script> <style type="text/css"> body { font-size: x-large; } form { display: inline; } #appContainer { margin: 20px; width: 600px; } .win-container { padding: 10px; } </style> </head> <body> <div> <!-- Templates --> <div id="taskTemplate" data-win-control="WinJS.Binding.Template"> <div> <span data-win-bind="innerText:title"></span> </div> </div> <h1>Super Task List</h1> <div id="appContainer"> <form id="addTaskForm"> <input id="newTaskTitle" title="New Task" required /> <button>Add</button> </form> <button id="btnDeleteTasks">Delete</button> <div id="tasksListView" data-win-control="WinJS.UI.ListView" data-win-options="{ itemDataSource: TaskList.tasks.dataSource, itemTemplate: select('#taskTemplate'), tapBehavior: 'toggleSelect', selectionMode: 'multi', layout: { type: WinJS.UI.ListLayout } }"> </div> </div> </div> </body> </html> Here is the code for the default.js file. This code wires up the Add Task form and Delete button: (function () { "use strict"; var app = WinJS.Application; app.onactivated = function (eventObject) { if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) { WinJS.UI.processAll().then(function () { // Get reference to Tasks ListView var tasksListView = document.getElementById("tasksListView"); // Handle Add Task document.getElementById("addTaskForm").addEventListener("submit", function (evt) { evt.preventDefault(); var newTaskTitle = document.getElementById("newTaskTitle"); TaskList.addTask({ title: newTaskTitle.value }); newTaskTitle.value = ""; }); // Handle Delete Tasks document.getElementById("btnDeleteTasks").addEventListener("click", function (evt) { tasksListView.winControl.selection.getItems().then(function(items) { items.forEach(function (item) { TaskList.deleteTask(item); }); }); }); }); } }; app.start(); })(); Finally, here is the tasks.js file. This file contains all of the code for opening, creating, and interacting with IndexedDB: (function () { "use strict"; // Create the data source var tasks = new WinJS.Binding.List(); // Open the database var db; var req = window.msIndexedDB.open("TasksDB", 1); req.onerror = function () { console.log("Could not open database"); }; req.onupgradeneeded = function (evt) { var newDB = evt.target.result; newDB.createObjectStore("tasks", { keyPath: "id", autoIncrement:true }); }; // Load the data source with data from the database req.onsuccess = function () { db = req.result; var tran = db.transaction("tasks"); tran.objectStore("tasks").openCursor().onsuccess = function(event) { var cursor = event.target.result; if (cursor) { tasks.dataSource.insertAtEnd(null, cursor.value); cursor.continue(); }; }; }; // Add a new task function addTask(taskToAdd) { var transaction = db.transaction("tasks", "readwrite"); var addRequest = transaction.objectStore("tasks").add(taskToAdd); addRequest.onsuccess = function (evt) { taskToAdd.id = evt.target.result; tasks.dataSource.insertAtEnd(null, taskToAdd); } } // Delete an existing task function deleteTask(listViewItem) { // Database key != ListView key var dbKey = listViewItem.data.id; var listViewKey = listViewItem.key; // Remove item from db and, if success, remove item from ListView var transaction = db.transaction("tasks", "readwrite"); var deleteRequest = transaction.objectStore("tasks").delete(dbKey); deleteRequest.onsuccess = function () { tasks.dataSource.remove(listViewKey); } } // Expose the data source and functions WinJS.Namespace.define("TaskList", { tasks: tasks, addTask: addTask, deleteTask: deleteTask }); })(); Summary I wrote this blog entry because I wanted to create a walkthrough of building a simple database-driven application. In particular, I wanted to demonstrate how you can use a ListView control with an IndexedDB database to store and retrieve database data.

    Read the article

  • Metro Walkthrough: Creating a Task List with a ListView and IndexedDB

    - by Stephen.Walther
    The goal of this blog entry is to describe how you can work with data in a Metro style application written with JavaScript. In particular, we create a super simple Task List application which enables you to create and delete tasks. Here’s a video which demonstrates how the Task List application works: In order to build this application, I had to take advantage of several features of the WinJS library and technologies including: IndexedDB – The Task List application stores data in an IndexedDB database. HTML5 Form Validation – The Task List application uses HTML5 validation to ensure that a required field has a value. ListView Control – The Task List application displays the tasks retrieved from the IndexedDB database in a WinJS ListView control. Creating the IndexedDB Database The Task List application stores all of its data in an IndexedDB database named TasksDB. This database is opened/created with the following code: var db; var req = window.msIndexedDB.open("TasksDB", 1); req.onerror = function () { console.log("Could not open database"); }; req.onupgradeneeded = function (evt) { var newDB = evt.target.result; newDB.createObjectStore("tasks", { keyPath: "id", autoIncrement:true }); }; The msIndexedDB.open() method accepts two parameters: the name of the database to open and the version of the database to open. If a database with a matching version already exists, then calling the msIndexedDB.open() method opens a connection to the existing database. If the database does not exist then the upgradeneeded event is raised. You handle the upgradeneeded event to create a new database. In the code above, the upgradeneeded event handler creates an object store named “tasks” (An object store roughly corresponds to a database table). When you add items to the tasks object store then each item gets an id property with an auto-incremented value automatically. The code above also includes an error event handler. If the IndexedDB database cannot be opened or created, for whatever reason, then an error message is written to the Visual Studio JavaScript Console window. Displaying a List of Tasks The TaskList application retrieves its list of tasks from the tasks object store, which we created above, and displays the list of tasks in a ListView control. Here is how the ListView control is declared: <div id="tasksListView" data-win-control="WinJS.UI.ListView" data-win-options="{ itemDataSource: TaskList.tasks.dataSource, itemTemplate: select('#taskTemplate'), tapBehavior: 'toggleSelect', selectionMode: 'multi', layout: { type: WinJS.UI.ListLayout } }"> </div> The ListView control is bound to the TaskList.tasks.dataSource data source. The TaskList.tasks.dataSource is created with the following code: // Create the data source var tasks = new WinJS.Binding.List(); // Open the database var db; var req = window.msIndexedDB.open("TasksDB", 1); req.onerror = function () { console.log("Could not open database"); }; req.onupgradeneeded = function (evt) { var newDB = evt.target.result; newDB.createObjectStore("tasks", { keyPath: "id", autoIncrement:true }); }; // Load the data source with data from the database req.onsuccess = function () { db = req.result; var tran = db.transaction("tasks"); tran.objectStore("tasks").openCursor().onsuccess = function(event) { var cursor = event.target.result; tasks.dataSource.beginEdits(); if (cursor) { tasks.dataSource.insertAtEnd(null, cursor.value); cursor.continue(); } else { tasks.dataSource.endEdits(); }; }; }; // Expose the data source and functions WinJS.Namespace.define("TaskList", { tasks: tasks }); Notice the success event handler. This handler is called when a database is successfully opened/created. In the code above, all of the items from the tasks object store are retrieved into a cursor and added to a WinJS.Binding.List object named tasks. Because the ListView control is bound to the WinJS.Binding.List object, copying the tasks from the object store into the WinJS.Binding.List object causes the tasks to appear in the ListView: Adding a New Task You add a new task in the Task List application by entering the title of a new task into an HTML form and clicking the Add button. Here’s the markup for creating the form: <form id="addTaskForm"> <input id="newTaskTitle" title="New Task" required /> <button>Add</button> </form> Notice that the INPUT element includes a required attribute. In a Metro application, you can take advantage of HTML5 Validation to validate form fields. If you don’t enter a value for the newTaskTitle field then the following validation error message is displayed: For a brief introduction to HTML5 validation, see my previous blog entry: http://stephenwalther.com/blog/archive/2012/03/13/html5-form-validation.aspx When you click the Add button, the form is submitted and the form submit event is raised. The following code is executed in the default.js file: // Handle Add Task document.getElementById("addTaskForm").addEventListener("submit", function (evt) { evt.preventDefault(); var newTaskTitle = document.getElementById("newTaskTitle"); TaskList.addTask({ title: newTaskTitle.value }); newTaskTitle.value = ""; }); The code above retrieves the title of the new task and calls the addTask() method in the tasks.js file. Here’s the code for the addTask() method which is responsible for actually adding the new task to the IndexedDB database: // Add a new task function addTask(taskToAdd) { var transaction = db.transaction("tasks", IDBTransaction.READ_WRITE); var addRequest = transaction.objectStore("tasks").add(taskToAdd); addRequest.onsuccess = function (evt) { taskToAdd.id = evt.target.result; tasks.dataSource.insertAtEnd(null, taskToAdd); } } The code above does two things. First, it adds the new task to the tasks object store in the IndexedDB database. Second, it adds the new task to the data source bound to the ListView. The dataSource.insertAtEnd() method is called to add the new task to the data source so the new task will appear in the ListView (with a nice little animation). Deleting Existing Tasks The Task List application enables you to select one or more tasks by clicking or tapping on one or more tasks in the ListView. When you click the Delete button, the selected tasks are removed from both the IndexedDB database and the ListView. For example, in the following screenshot, two tasks are selected. The selected tasks appear with a teal background and a checkmark: When you click the Delete button, the following code in the default.js file is executed: // Handle Delete Tasks document.getElementById("btnDeleteTasks").addEventListener("click", function (evt) { tasksListView.winControl.selection.getItems().then(function(items) { items.forEach(function (item) { TaskList.deleteTask(item); }); }); }); The selected tasks are retrieved with the TaskList selection.getItem() method. In the code above, the deleteTask() method is called for each of the selected tasks. Here’s the code for the deleteTask() method: // Delete an existing task function deleteTask(listViewItem) { // Database key != ListView key var dbKey = listViewItem.data.id; var listViewKey = listViewItem.key; // Remove item from db and, if success, remove item from ListView var transaction = db.transaction("tasks", IDBTransaction.READ_WRITE); var deleteRequest = transaction.objectStore("tasks").delete(dbKey); deleteRequest.onsuccess = function () { tasks.dataSource.remove(listViewKey); } } This code does two things: it deletes the existing task from the database and removes the existing task from the ListView. In both cases, the right task is removed by using the key associated with the task. However, the task key is different in the case of the database and in the case of the ListView. In the case of the database, the task key is the value of the task id property. In the case of the ListView, on the other hand, the task key is auto-generated by the ListView. When the task is removed from the ListView, an animation is used to collapse the tasks which appear above and below the task which was removed. The Complete Code Above, I did a lot of jumping around between different files in the application and I left out sections of code. For the sake of completeness, I want to include the entire code here: the default.html, default.js, and tasks.js files. Here are the contents of the default.html file. This file contains the UI for the Task List application: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Task List</title> <!-- WinJS references --> <link href="//Microsoft.WinJS.0.6/css/ui-dark.css" rel="stylesheet"> <script src="//Microsoft.WinJS.0.6/js/base.js"></script> <script src="//Microsoft.WinJS.0.6/js/ui.js"></script> <!-- TaskList references --> <link href="/css/default.css" rel="stylesheet"> <script src="/js/default.js"></script> <script type="text/javascript" src="js/tasks.js"></script> <style type="text/css"> body { font-size: x-large; } form { display: inline; } #appContainer { margin: 20px; width: 600px; } .win-container { padding: 10px; } </style> </head> <body> <div> <!-- Templates --> <div id="taskTemplate" data-win-control="WinJS.Binding.Template"> <div> <span data-win-bind="innerText:title"></span> </div> </div> <h1>Super Task List</h1> <div id="appContainer"> <form id="addTaskForm"> <input id="newTaskTitle" title="New Task" required /> <button>Add</button> </form> <button id="btnDeleteTasks">Delete</button> <div id="tasksListView" data-win-control="WinJS.UI.ListView" data-win-options="{ itemDataSource: TaskList.tasks.dataSource, itemTemplate: select('#taskTemplate'), tapBehavior: 'toggleSelect', selectionMode: 'multi', layout: { type: WinJS.UI.ListLayout } }"> </div> </div> </div> </body> </html> Here is the code for the default.js file. This code wires up the Add Task form and Delete button: (function () { "use strict"; var app = WinJS.Application; app.onactivated = function (eventObject) { if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) { WinJS.UI.processAll().then(function () { // Get reference to Tasks ListView var tasksListView = document.getElementById("tasksListView"); // Handle Add Task document.getElementById("addTaskForm").addEventListener("submit", function (evt) { evt.preventDefault(); var newTaskTitle = document.getElementById("newTaskTitle"); TaskList.addTask({ title: newTaskTitle.value }); newTaskTitle.value = ""; }); // Handle Delete Tasks document.getElementById("btnDeleteTasks").addEventListener("click", function (evt) { tasksListView.winControl.selection.getItems().then(function(items) { items.forEach(function (item) { TaskList.deleteTask(item); }); }); }); }); } }; app.start(); })(); Finally, here is the tasks.js file. This file contains all of the code for opening, creating, and interacting with IndexedDB: (function () { "use strict"; // Create the data source var tasks = new WinJS.Binding.List(); // Open the database var db; var req = window.msIndexedDB.open("TasksDB", 1); req.onerror = function () { console.log("Could not open database"); }; req.onupgradeneeded = function (evt) { var newDB = evt.target.result; newDB.createObjectStore("tasks", { keyPath: "id", autoIncrement:true }); }; // Load the data source with data from the database req.onsuccess = function () { db = req.result; var tran = db.transaction("tasks"); tran.objectStore("tasks").openCursor().onsuccess = function(event) { var cursor = event.target.result; tasks.dataSource.beginEdits(); if (cursor) { tasks.dataSource.insertAtEnd(null, cursor.value); cursor.continue(); } else { tasks.dataSource.endEdits(); }; }; }; // Add a new task function addTask(taskToAdd) { var transaction = db.transaction("tasks", IDBTransaction.READ_WRITE); var addRequest = transaction.objectStore("tasks").add(taskToAdd); addRequest.onsuccess = function (evt) { taskToAdd.id = evt.target.result; tasks.dataSource.insertAtEnd(null, taskToAdd); } } // Delete an existing task function deleteTask(listViewItem) { // Database key != ListView key var dbKey = listViewItem.data.id; var listViewKey = listViewItem.key; // Remove item from db and, if success, remove item from ListView var transaction = db.transaction("tasks", IDBTransaction.READ_WRITE); var deleteRequest = transaction.objectStore("tasks").delete(dbKey); deleteRequest.onsuccess = function () { tasks.dataSource.remove(listViewKey); } } // Expose the data source and functions WinJS.Namespace.define("TaskList", { tasks: tasks, addTask: addTask, deleteTask: deleteTask }); })(); Summary I wrote this blog entry because I wanted to create a walkthrough of building a simple database-driven application. In particular, I wanted to demonstrate how you can use a ListView control with an IndexedDB database to store and retrieve database data.

    Read the article

  • Ubuntu 14.04 aura pour nom « Trusty Tahr », Mark Shuttleworth s'en prend aux détracteurs de Mir

    Ubuntu 14.04 aura pour nom « Trusty Tahr » Mark Shuttleworth s'en prend aux détracteurs de Mir qui attaquent le serveur d'affichage pour des raisons purement politiquesPas de repos pour Canonical. Moins d'une semaine après la sortie grand public d'Ubuntu 13.10 alias Saucy Salamander, la société se penche déjà sur son successeur Ubuntu 14.04.Mark Shuttleworth, fondateur de Canonical, a publié un billet de blog un jour après la publication d'Ubuntu 13.10, pour révéler le nom et les choix de conception...

    Read the article

  • Interview de James Reinders d'Intel au sujet de l'Intel Software Conference 2010, par Loïc Joly

    Bonjour, Suite à l'Intel Software conférence à laquelle j'étais invité au nom de developpez.com, j'ai rédigé deux articles racontant ce que j'ai pu y apprendre : - Une interview de James Reinders, le gourou d'Intel sur le sujet - Un compte rendu plus général de la conférence N'hésitez pas à faire part ici de ce que vous avez pensé de ces articles (ou à poser des questions si des clarifications sont nécessaires) !...

    Read the article

  • Apprenez à utiliser Flex 4 et Flash Builder 4 en moins d'une semaine, avec les tutoriels « pas à pas

    Mise à jour du 29/03/10 Adobe sort deux outils complémentaires de Flex 4 et Flash Builder 4 Pour optimiser le développement d'applications web RIA Comme dit précédemment (lire ci-avant le très bon article détaillé de ferber), Adobe vient de sortir Flash Builder 4. Mais une autre nouveauté vient également d'arriver: ColdFusion Builder. ColdFusion Builder est un nouvel environnement de développement intégré basé sur Eclipse (IDE) qui permet de créer - « rapidement et efficacement » selon les termes d'Adobe - des applications ColdFusion. ColdFusion Builder offre donc un environnement de développement évolutif, pers...

    Read the article

  • XML : Cours et exercices, d'Alexandre Brillant, critique par Benwit

    Benwit vous propose une critique pour le livre XML : Cours et exercices d'Alexandre Brillant [IMG]http://images-eu.amazon.com/images/P/2212126913.08.LZZZZZZZ.jpg[/IMG] Citation: Avec 12 ans d'expérience dans le développement, l'architecture et la gestion de projets informatiques variés (télévision numérique, modélisation applicative, intranets...), Alexandre Brillant utilise ...

    Read the article

  • Gérez la navigation entre les pages de vos applications Silverlight pour Windows Phone 7, par nico-pyright(c)

    Citation: Windows Phone 7 (WP7) est la nouvelle plateforme de développement de Microsoft destinée aux smartphones. Dans ce quatrième tutoriel nous allons voir comment naviguer entre les pages d'une application Silverlight pour Windows Phone 7. Nous verrons également que le bouton "Back" du téléphone s'interface parfaitement avec le framework de navigation de Silverlight pour WP7. Nous verrons enfin comment faire passer des informations entre les pages.

    Read the article

  • CouchOne et Membase fusionnent pour créer « Couchbase » et une famille de produits NoSQL de nouvelle génération

    CouchOne et Membase fusionnent pour créer « Couchbase » Et une famille de produits NoSQL de nouvelle génération Le paysage des solutions NoSQL est en pleine mutation depuis l'annonce de la première grande fusion de ce secteur, désormais très prospère et concurrentiel. Les deux entreprises CouchOne et Membase viennent de fusionner et d'annoncer la consolidation de leurs efforts pour la création de « Couchbase », le « premier éditeur de solution exhaustive de base de données NoSQL ». Sur son site officiel, CouchOne promet des possibilités de scalabilité sans précédent pour les produits qui vont résulter de cette fusion, pouvant propulser des « datacenter de la taille ...

    Read the article

  • « Des alternatives open-sources matures existent sur tous les sujets d'entreprise », entretien autour du Guide de l'Open-Source

    « Des alternatives open-sources matures existent sur tous les sujets de l'entreprise » Entretien avec Grégory Bécue, auteur de la deuxième édition du Guide de l'open-source de Smile A l'occasion de la sortie de la deuxième édition du Guide de l'Open-Source, le Livre Blanc gratuit de référence de Smile, Developpez s'est entretenu avec le responsable de cette publication, Grégory Bécue. Nous avons abordé les motivations d'un tel guide, son intérêt pour les professionnels, ce qu'on y trouve concrètement, son histoire et ses nouveautés. Developpez.com : pourquoi faire un guide de l'open-source ? C...

    Read the article

  • « Un développeur PHP n'est pas moins compétent qu'un développeur Java ou C++ », entretien avec un des co-organisateurs du ZendCon Europe

    « Un développeur PHP n'est pas moins compétent qu'un Java ou un C++ » Entretien avec le co-organisateur du ZendCon Europe A la fin de ses études à l'EPITA en 1999, Philippe Humeau a créé la société NBS System. Pendant 7 ans, elle réalise essentiellement des tests d'intrusions et des audits de sécurité, avant d'ouvrir un département Infogérance en 2006. Depuis, NBS System infogère également plus de 2000 sites de E-commerce en PHP et en Java. Philippe Humeau est également le co-organisateur de la...

    Read the article

  • Windows CE training in Italy

    - by Valter Minute
    Se volete approfondire le vostre conoscenze su Windows CE (anche relativamente alle novità introdotte con la versione R3), o desiderate acquisire le basi per cominciare a lavorare con questo sistema operativo, questa è un'occasione da non perdere. Dal 12 al 16 Aprile si terrà presso gli uffici di Fortech Embedded Labs di Saronno (VA) il corso "Building Solutions with Windows Embedded CE 6.0", tenuto dal sottoscritto. Per maggiori informazioni sui contenuti e i costi: http://www.fortechembeddedlabs.it/node/27

    Read the article

  • Julian Assange quittera « sous peu » l'ambassade d'Équateur à Londres où il est réfugié depuis 26 mois déjà

    Julian Assange quittera « sous peu » l'ambassade d'Équateur à Londres où il est réfugié depuis 26 mois déjà Lors d'une conférence de presse Julien Assange, le fondateur de WikiLeaks, a assuré qu'il quittera « sous peu » l'ambassade d'Equateur de Londres où il est réfugié depuis juin 2012 pour échapper à une extradition vers la Suède alors qu'un mandat d'arrêt européen est maintenu contre lui. Pour rappel, le mandat d'arrêt a été lancé fin 2010 à la suite d'une plainte déposée par deux Suédoises...

    Read the article

  • Revision 2012 : récapitulatif de la plus grande demoparty, compte rendu par LittleWhite

    Bonjour, Comme chaque année, durant le week-end de Pâques, des centaines de passionnés se regroupent dans un gymnase, PC sous le bras pour assister au plus grand rassemblement de la demoscene : Revision. Voici un petit retour sur l'événement et un récapitulatif des démos réalisées pour l'occasion et diffusées sur écran géant : http://alexandre-laurent.developpez....revision-2012/ N'hésitez pas à discuter avec l'auteur de la démo 64k : F Felix's Workshop...

    Read the article

  • Guru Of the Week n° 41 : utiliser la bibliothèque standard, un article de Herb Sutter traduit par la rédaction C++

    La bibliothèque standard fournit un nombre important de structures de données et d'algorithmes. Dans de nombreux cas, il est possible de remplacer les structures de contrôle du langage (if, for, while) par les fonctionnalités provenant de celle-ci. Dans ce Guru Of the Week n° 41, Herb Sutter lance le défi de créer un Mastermind en minimisant l'utilisation des structures de contrôle. Guru Of the Week n° 41 : utiliser la bibliothèque standard Saurez-vous relever le défi et proposer un tel code de Mastermind ? Retrouver l'ensemble des Guru of the Week sur la

    Read the article

  • Microsoft : « Nous ne sommes plus en guerre contre l'open-source », interview de Alfonso Castro, Directeur de la Stratégie Interopérabilité

    Microsoft : « Nous ne sommes plus en guerre contre l'open-source » Interview de Alfonso Castro, Directeur de la Stratégie Interopérabilité chez Microsoft France Sponsor Platinium d'un des plus importants événement Java sur Paris (le What's Next), présent au Salon Solutions Linux du mois dernier, soutien à Node.js annoncé aujourd'hui, Microsoft multiplie les signes d'apaisement et de bonne volonté auprès des communautés open-sources. Ces deux évènements et cette annonce étaient l'occasion de faire le point sur les relations, historiquement assez tendues, entre l'entreprise commerciale Microsoft et les communautés bénévoles de développeurs...

    Read the article

  • OVH : « Nous allons rester dans la culture Geek », entretien avec un hébergeur qui s'attaque au Cloud, aux FAI et à l'Amérique

    OVH : « Nous allons rester dans la culture Geek » Entretien avec le Directeur commercial de l'hébergeur qui s'attaque au Cloud, aux FAI et à l'Amérique Edit : ajout de la photo d'Alain Rigaux Il y a quelques semaines, nous avions lancé une consultation pour savoir quels étaient vos hébergeurs préférés. OVH en était sorti grand vainqueur. L'occasion nous a paru idéale de nous entretenir avec la société pour faire le point sur l'année 2011, qui l'a vue devenir leader européen, et sur ses objectifs de l'année 2012. Voici l'intégralité de notre entretien avec Ala...

    Read the article

  • « Nokia X offre une nouvelle source de monétisation aux développeurs Android », entretien avec Olivier Lovisa de Nokia France

    « Nokia X offre une nouvelle source de monétisation aux développeurs Android » entretien avec Olivier Lovisa de Nokia FranceNokia a créé la surprise en février dernier lors de la conférence MWC en dévoilant « Nokia X Plate-forme » et la nouvelle gamme de terminaux mobiles sous le système d'exploitation dérivé de l'AOSP (Android Open Source Project). L'idée derrière ce choix stratégique est de permettre au constructeur de se repositionner sur le segment des smartphones d'entrée de gamme, où la...

    Read the article

  • Programmation concurrente en Java de Brian Goetz, critique par Eric Reboisson

    Je viens de lire "Programmation concurrente en Java" et je vous le recommande vivement.Une chose m'a particulièrement marqué : Trop peu de développeurs se soucient de la justesse de leur programme. Un peu comme pour la propreté du code (cf Clean Code), ils sont nombreux à s'arrêter dès que ça fonctionne ! Or en ce qui concerne la concurrence, les conditions limites vont s'exprimer le plus souvent en production et non en développement.Je ne dis pas qu'il faut faire systématiquement du code multithread...

    Read the article

  • Apprende à analyser un rapport de type RIST (Random System Information Tool), par Simon-Sayce

    Bonjour, Sayce, l'un des membres de l'équipe de rédaction souhaite vous inviter à la lecture de l'article suivant: Random System Information Tool . Cet article est à destination de toutes les personnes souhaitant vérifier l'intégrité de leur PC en utilisant le logiciel RSIT Ce cours explique ligne par ligne le rapport généré part l'outil. N'hésitez pas à partager vos remarques Nous vous souhaitons une bonne lecture

    Read the article

  • Android 2.3 Gingerbread est disponible pour les développeurs, beaucoup d'améliorations dont un nouveau Garbage Collector

    Comme vous pouvez le constater sur le site Developpeurs d'Android, Android 2.3 Gingerbread est sorti. Au menu, un nouveau Garbage Collector, des améliorations pour l'accès aux fonctionnalités comme OpenGL ES ou les senseurs depuis un programme natif (en C), support des formats VP8, WebM, AAC et AMR, des nouveaux effets audio, la gestion d'une caméra pour la vidéo-conférence, support de SIP/VOIP, support de Near Field Communication

    Read the article

  • Nokia dévoile sa première tablette sous Windows 8.1 RT, deux phablets Lumia et trois « feature phone »

    Nokia dévoile sa première tablette sous Windows 8.1 RT deux phablets Lumia et trois « feature phone » Nokia fait son entrée sur le marché prolifique et concurrentiel des tablettes.Le constructeur finlandais a présenté lors de la conférence Nokia World sa première tablette sous Windows 8.1 RT, et rejoint la liste quasi vide des constructeurs qui supportent encore cette déclinaison de l'OS de Microsoft.Lumia 2520 : une nouvelle image pour Windows 8.1 RT ?Baptisée Lumia 2520, la tablette tire parti...

    Read the article

  • Richard Stallman vole au secours des whistleblower et invite à réduire l'espionnage de la NSA en abandonnant les logiciels propriétaires

    Richard Stallman vole au secours des whistleblower et invite les internautes à réduire l'espionnage de la NSA en abandonnant les logiciels propriétaires« Si les whistleblower [N.D.R. : lanceurs d'alerte] comme Edward Snowden n'osent pas révéler les crimes et mensonges, nous perdons le dernier bastion de contrôle sur nos gouvernements et institutions. C'est pourquoi les méthodes de surveillance qui permettent de savoir qui a parlé avec un journaliste sont très abusives. » dit Richard Matthew Stallman.Le...

    Read the article

  • CUSTOMER INSIGHT, Trend, Modelli e Tecnologie di Successo nel CRM di ultima generazione

    - by antonella.buonagurio(at)oracle.com
    Il CRM è una necessità sia per le grandi realtà aziendali che per le medie imprese, che hanno una crescente necessità di dati, informazioni, intelligence sui loro clienti. Molte realtà hanno sviluppato al loro interno sistemi di CRM ad hoc, ma, non avendo l'informatica nel loro DNA, hanno impiegato molto tempo su aspetti tecnici ed operativi piuttosto che sull'interpretazione, elaborazione e riflessione dei dati raccolti. Per maggiori informazioni e visionare l'agenda dell'evento clicca qui

    Read the article

< Previous Page | 73 74 75 76 77 78 79 80 81 82 83 84  | Next Page >