Search Results

Search found 17807 results on 713 pages for 'gui framework'.

Page 358/713 | < Previous Page | 354 355 356 357 358 359 360 361 362 363 364 365  | Next Page >

  • Sharing Code, Images and Core Data models across iPhone and Mac project

    - by Robert
    Hi, I am maintaining a fairly large mac project and an iphone client for this project. Some code as well as some images and core data models are shared between these two projects. I want to create a shared framework containing this shared components but to my surprise, frameworks like we cocoa developers known them are not supported on the iphone os. Currently I see the following options: a) Include the files in both projects (much tedious work) b) Create a static library for both projects and manually copying the images/core data models c) Create a static lib for iphone and a framework for mac Any suggestions?

    Read the article

  • Intent resolution in Android

    - by Saksham
    Hello community, If I want to create custom address book (which overrides my phone's default address book), and if I want it to be used by all applications, what should be my intent filter? Does Android allow me to do such a thing considering the fact that such a third-party app could potentially be malicious?! And, if I want to have yet another address book application, I suppose the second app also has same intent-filter, isn't it? How does the framework decide which app to pick if I click on Contacts button when making a call? In other words, how does the framework resolve intents in case there is a conflict between multiple intent-filters? I'm new to android, so please excuse me if this question is stupid. I would like to get some feedback in any case! Thanks in advance, Saksham

    Read the article

  • Dependent Dropdown inside Joomla

    - by kernel
    I was trying to implement the Ajax method for deploying dependent drop down select boxes inside Joomla. The Problem is that if you call an ajaxRequest to run a php with the query that populates the second drop down depending on the result of the first, this is out of the joomla framework and you can't use anything from the joomla functions. So I need to copy into the new file all the details of my dbase login + to write down the html+php to populate the options. I was thinking whether there is an easier solution to this problem. Maybe the Joomla framework supports something like this. Any ideas?

    Read the article

  • How to install mysql gem on Mac os 10.6 ?

    - by Mr_Nizzle
    i just installed MAMP on this iMac and the rubygems but when i run: sudo gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config gives me Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 for inspection. Results logged to /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out ERROR: could not find gem — locally or in a repository ERROR: could not find gem –with-mysql-config=/usr/local/mysql/bin/mysql_config locally or in a repository how can i install this gem ?

    Read the article

  • .NET security mechanism to restrict access between two Types in the same Website project?

    - by jdk
    Question: Is there a mechanism in the .NET Framework to hide one custom Type from another without using separate projects/assemblies? I'm using C# with ASP.NET in a Website project (Note: Not a Web Application). Obviously there's not a way to enforce this restriction using language-specific OO keywords so I am looking for something else, for example: maybe a permission framework or code access mechanism, maybe something that uses meta data like Attributes. I'm unsure. I don't really care whether the solution actually hides classes from each other or just makes them inaccessible, etc. A runtime or design time answer will suffice. Looking for something easy to implement otherwise it's not worth the effort ... Background: I'm working in an ASP.NET Website project and the team has decided not to use separate project assemblies for different software layers. Therefore I'm looking for a way to have, for example, a DataAccess/ folder of which I disallow its classes to access other Types in the ASP.NET Website project.

    Read the article

  • JUnit - assertSame

    - by Michael
    Can someone tell me why assertSame() do fail when I use values 127? import static org.junit.Assert.*; ... @Test public void StationTest1() { .. assertSame(4, 4); // OK assertSame(10, 10); // OK assertSame(100, 100); // OK assertSame(127, 127); // OK assertSame(128, 128); // raises an junit.framework.AssertionFailedError! assertSame(((int) 128),((int) 128)); // also junit.framework.AssertionFailedError! } I'm using JUnit 4.8.1.

    Read the article

  • Do I put ninject in my project that contains my service layer as well?

    - by chobo2
    Hi I have 3 project files(webui,framework that contains service layers and repos and unit tests). Most of my unit testing will be done in the service layer as this will contain all the business logic. So I will be mocking out the repo. In some cases I will query my a repo from my controller(say I just need all users in the database and I am not doing any business logic for it). So I am thinking that I need to have ninject used in my framework project. Where is the best place to put it so I can use them against my repos in my service layers?

    Read the article

  • Uget tray icon not showing

    - by ArK
    Since I upgraded to Saucy, Uget is not showing in the system tray, although the Always show tray icon option in Uget settings is checked. P.S. this happens only with Uget, all the other Softwares have working tray icons (vlc,qbittorrent..) Here is the snapshot which shows the settings of Uget: sudo dpkg -l | grep -e "^rc" -e "^iU": rc account-plugin-generic-oauth 0.10bzr13.03.26-0ubuntu1.1 i386 GNOME Control Center account plugin for single signon - generic OAuth rc appmenu-gtk:i386 12.10.3daily13.04.03-0ubuntu1 i386 Export GTK menus over DBus rc appmenu-gtk3:i386 12.10.3daily13.04.03-0ubuntu1 i386 Export GTK menus over DBus rc arora 0.11.0-0ubuntu1 i386 simple cross platform web browser rc buc 0.5.2-20 i386 BUC rc clementine 1.1.1+dfsg-2ubuntu1 i386 modern music player and library organizer rc epiphany-browser 3.6.1-2ubuntu1 i386 Intuitive GNOME web browser rc epiphany-browser-data 3.6.1-2ubuntu3 all Data files for the GNOME web browser rc fancontrol 1:3.3.3-1ubuntu1 all utilities to read temperature/voltage/fan sensors rc flaremonitor 1.0-5 i386 It is an advanced browser integration helper module of FlareGet rc google-chrome-stable 28.0.1500.95-r213514 i386 The web browser from Google rc hal 0.5.14-8ubuntu1 i386 Hardware Abstraction Layer rc hotot-gtk 1:0.9.8.5+git20120630.884797d-1 all lightweight microblogging client - GTK+ wrapper rc jockey-common 0.9.7-0ubuntu13 all user interface and desktop integration for driver management rc libanalitza4abi1 4:4.10.4-0ubuntu0.1 i386 library to work with mathematical expressions rc libanalitza5 4:4.11.2-0ubuntu1 i386 library to work with mathematical expressions rc libanalitzagui4abi2 4:4.10.4-0ubuntu0.1 i386 library to work with mathematical expressions - GUI routines rc libanalitzaplot4 4:4.10.4-0ubuntu0.1 i386 library to work with mathematical expressions - plot routines rc libavcodec53:i386 6:0.8.6-1ubuntu2 i386 Libav codec library rc libavutil51:i386 6:0.8.6-1ubuntu2 i386 Libav utility library rc libbamf3-1:i386 0.4.0daily13.06.19~13.04-0ubuntu1 i386 Window matching library - shared library rc libboost-iostreams1.49.0 1.49.0-4 i386 Boost.Iostreams Library rc libboost-program-options1.49.0 1.49.0-4 i386 program options library for C++ rc libboost-python1.49.0 1.49.0-4 i386 Boost.Python Library rc libboost-thread1.49.0 1.49.0-4 i386 portable C++ multi-threading rc libbrlapi0.5:i386 4.4-8ubuntu4 i386 braille display access via BRLTTY - shared library rc libcamel-1.2-40 3.6.4-0ubuntu1.1 i386 Evolution MIME message handling library rc libcolumbus0-0 0.4.0daily13.04.16~13.04-0ubuntu1 i386 error tolerant matching engine - shared library rc libdns95 1:9.9.2.dfsg.P1-2ubuntu2.1 i386 DNS Shared Library used by BIND rc libdvbpsi7 0.2.2-1 i386 library for MPEG TS and DVB PSI tables decoding and generating rc libebackend-1.2-5 3.6.4-0ubuntu1.1 i386 Utility library for evolution data servers rc libechonest2.0:i386 2.0.2-0ubuntu1 i386 Qt library for communicating with The Echo Nest platform rc libechonest2.1:i386 2.1.0-2 i386 Qt library for communicating with The Echo Nest platform rc libedata-book-1.2-15 3.6.4-0ubuntu1.1 i386 Backend library for evolution address books rc libedata-cal-1.2-18 3.6.4-0ubuntu1.1 i386 Backend library for evolution calendars rc libftgl2 2.1.3~rc5-4ubuntu1 i386 library to render text in OpenGL using FreeType rc libgc1c3:i386 1:7.2d-0ubuntu5 i386 conservative garbage collector for C and C++ rc libgnome-desktop-3-4 3.6.3-0ubuntu1 i386 Utility library for loading .desktop files - runtime files rc libgtksourceview-3.0-0:i386 3.6.3-0ubuntu1 i386 shared libraries for the GTK+ syntax highlighting widget rc libgweather-3-1 3.6.2-0ubuntu1 i386 GWeather shared library rc libhal-storage1 0.5.14-8ubuntu1 i386 Hardware Abstraction Layer - shared library for storage devices rc libhal1 0.5.14-8ubuntu1 i386 Hardware Abstraction Layer - shared library rc libharfbuzz0:i386 0.9.13-1 i386 OpenType text shaping engine rc libhd16 16.0-2.2 i386 Hardware identification system library rc libibus-1.0-0:i386 1.4.2-0ubuntu2 i386 Intelligent Input Bus - shared library rc libical0 0.48-2 i386 iCalendar library implementation in C (runtime) rc libimobiledevice3 1.1.4-1ubuntu6.2 i386 Library for communicating with the iPhone and iPod Touch rc libisc92 1:9.9.2.dfsg.P1-2ubuntu2.1 i386 ISC Shared Library used by BIND rc libkdegamesprivate1 4:4.10.2-0ubuntu1 i386 private shared library for KDE games rc libkeybinder0 0.3.0-1ubuntu1 i386 registers global key bindings for applications rc libkgapi0:i386 0.4.4-0ubuntu1 i386 Google API library for KDE rc liblastfm1:i386 1.0.7-2 i386 Last.fm web services library rc libnetfilter-queue1 1.0.2-1 i386 Netfilter netlink-queue library rc libnl1:i386 1.1-7ubuntu1 i386 library for dealing with netlink sockets rc libossp-uuid16 1.6.2-1.3 i386 OSSP uuid ISO-C and C++ - shared library rc libpackagekit-glib2-14:i386 0.7.6-3ubuntu1 i386 Library for accessing PackageKit using GLib rc libpoppler28:i386 0.20.5-1ubuntu3 i386 PDF rendering library rc libprojectm2 2.1.0+dfsg-1build1 i386 Advanced Milkdrop-compatible music visualization library rc libqxt-core0:i386 0.6.1-7 i386 extensions to Qt core classes (LibQxt) rc libqxt-gui0:i386 0.6.1-7 i386 extensions to Qt GUI classes (LibQxt) rc libraw5:i386 0.14.7-0ubuntu1.13.04.2 i386 raw image decoder library rc librhythmbox-core6 2.98-0ubuntu5 i386 support library for the rhythmbox music player rc librhythmbox-core7 3.0.1-0~13.10~ppa1 i386 support library for the rhythmbox music player rc libsnmp15 5.4.3~dfsg-2.7ubuntu1 i386 SNMP (Simple Network Management Protocol) library rc libsqlite0 2.8.17-8fakesync1 i386 SQLite shared library rc libsyncdaemon-1.0-1 4.2.0-0ubuntu1 i386 Ubuntu One synchronization daemon library rc libtiff4:i386 3.9.7-2ubuntu1 i386 Tag Image File Format (TIFF) library (old version) rc libunity-core-6.0-5 7.0.0daily13.06.19~13.04-0ubuntu1 i386 Core library for the Unity interface. rc libva-wayland1:i386 1.2.1-0ubuntu0~raring i386 Video Acceleration (VA) API for Linux -- Wayland runtime rc libwayland0:i386 1.0.5-0ubuntu1 i386 wayland compositor infrastructure - shared libraries rc libwebp2:i386 0.1.3-3 i386 Lossy compression of digital photographic images. rc linux-image-3.8.0-19-generic 3.8.0-19.30 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc linux-image-3.8.0-21-generic 3.8.0-21.32 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc linux-image-3.8.0-22-generic 3.8.0-22.33 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc linux-image-3.8.0-26-generic 3.8.0-26.38 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc linux-image-3.8.0-27-generic 3.8.0-27.40 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc linux-image-3.9.0-030900-generic 3.9.0-030900.201304291257 i386 Linux kernel image for version 3.9.0 on 32 bit x86 SMP rc linux-image-3.9.0-030900rc8-generic 3.9.0-030900rc8.201304211835 i386 Linux kernel image for version 3.9.0 on 32 bit x86 SMP rc linux-image-extra-3.8.0-19-generic 3.8.0-19.30 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc linux-image-extra-3.8.0-21-generic 3.8.0-21.32 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc linux-image-extra-3.8.0-22-generic 3.8.0-22.33 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc linux-image-extra-3.8.0-26-generic 3.8.0-26.38 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc linux-image-extra-3.8.0-27-generic 3.8.0-27.40 i386 Linux kernel image for version 3.8.0 on 32 bit x86 SMP rc preload 0.6.4-2 i386 adaptive readahead daemon rc steam-launcher 1.0.0.39 all Launcher for the Steam software distribution service rc super-boot-manager 0.7.15 all Simple gui to configure Grub2, Burg and Plymouth. rc totem 3.6.3-0ubuntu6 i386 Simple media player for the GNOME desktop based on GStreamer rc transmission-gtk 2.77-0ubuntu1 i386 lightweight BitTorrent client (GTK interface) rc unity-common 7.0.0daily13.06.19~13.04-0ubuntu1 all Common files for the Unity interface. rc vino 3.6.2-0ubuntu4 i386 VNC server for GNOME rc wicd-daemon 1.7.2.4-4.1 all wired and wireless network manager - daemon rc wicd-gtk 1.7.2.4-4.1 all wired and wireless network manager - GTK+ client rc xscreensaver 5.15-2ubuntu1 i386 Automatic screensaver for X rc xscreensaver-data 5.15-3ubuntu1 i386 data files to be shared among screensaver frontends sudo dpkg -l | grep uget: ii uget 1.10.3-1 i386 easy-to-use download manager written in GTK+ sudo dpkg -l | grep indicator: ii gir1.2-appindicator3-0.1 12.10.1+13.10.20130920-0ubuntu2 i386 Typelib files for libappindicator3-1. ii gir1.2-syncmenu-0.1 12.10.5+13.10.20131011-0ubuntu1 i386 indicator for synchronisation processes status - bindings ii indicator-applet-complete 12.10.2+13.10.20130924.2-0ubuntu1 i386 Clone of the GNOME panel indicator applet ii indicator-application 12.10.1daily13.01.25-0ubuntu1 i386 Application Indicators ii indicator-appmenu 13.01.0+13.10.20130930-0ubuntu1 i386 Indicator for application menus. ii indicator-bluetooth 0.0.6+13.10.20131016-0ubuntu1 i386 System bluetooth indicator. ii indicator-datetime 13.10.0+13.10.20131023.2-0ubuntu1 i386 Simple clock ii indicator-keyboard 0.0.0+13.10.20131010.1-0ubuntu1 i386 Keyboard indicator ii indicator-messages 13.10.1+13.10.20131011-0ubuntu1 i386 indicator that collects messages that need a response ii indicator-multiload 0.3-0ubuntu1 i386 Graphical system load indicator for CPU, ram, etc. ii indicator-power 12.10.6+13.10.20131008-0ubuntu1 i386 Indicator showing power state. ii indicator-printers 0.1.7daily13.03.01-0ubuntu1 i386 indicator showing active print jobs ii indicator-session 12.10.5+13.10.20131023.1-0ubuntu1 i386 indicator showing session management, status and user switching ii indicator-sound 12.10.2+13.10.20131011-0ubuntu1 i386 System sound indicator. ii indicator-sync 12.10.5+13.10.20131011-0ubuntu1 i386 indicator for synchronisation processes status ii libappindicator1 12.10.1+13.10.20130920-0ubuntu2 i386 Application Indicators ii libappindicator3-1 12.10.1+13.10.20130920-0ubuntu2 i386 Application Indicators ii libindicator3-7 12.10.2+13.10.20130913-0ubuntu2 i386 panel indicator applet - shared library ii libindicator7 12.10.2+13.10.20130913-0ubuntu2 i386 panel indicator applet - shared library ii libsync-menu1:i386 12.10.5+13.10.20131011-0ubuntu1 i386 indicator for synchronisation processes status - libraries ii python-appindicator 12.10.1+13.10.20130920-0ubuntu2 i386 Python bindings for libappindicator ii sni-qt:i386 0.2.6-0ubuntu1 i386 indicator support for Qt ii telepathy-indicator 0.3.1daily13.06.19-0ubuntu1 i386 Desktop service to integrate Telepathy with the messaging menu.

    Read the article

  • CodePlex Daily Summary for Sunday, April 25, 2010

    CodePlex Daily Summary for Sunday, April 25, 2010New Projects281slides: 281slides is a project to demonstrate how one could go about implementing something similar to http://280slides.com in Silverlight3.Alex.XP's ARMA2 Chinese Language Pack Tools: Alex.XP's ARMA2 Chinese Language ToolsAuto Version Web Assets: The AVWA project is an HTTP Module written in C# that is designed to allow for versioning of various web assets such as .CSS and .JS files. This a...CAECE Twitter Clon: Proyecto para hacer un clon de twitter alumnos CAECE 2010DNSExchanger: Provides users to switch their PC's DNSs with pre-defined DNS with one click. Fluent ViewModel Configuration for WPF (MVVM): Fluent MVVM Configuration for WPF. A powerful yet simple interface for configuring view models for WPF. Eliminates INotifyPropertyChanged duplic...Genetic Algorithm N-Queens Solver: Genetic Algorithm N-Queens Solver with Multithreaded GUI.Hangmanondotnet: Just a starterHelium Frog Animator: Here is the Source code for the Helium Frog Animator. It is released under the GNU General Public Licence. The software enables stop motion animati...LISCH Collision Resolution, AVL Trees: LISCH Collision Resolution, AVL Trees Last Insertion Standart Colesced HashingNetPE: NetPE is a Portable Executable(PE) editor with full Metadata support. It is developed in pure C#.Proyecto Nilo: nada por ahoraSQL Schema Source Control: Track database schema changes automatically C# application that you can run against your SQL Databases (supports SQL 2008 right now, but you cou...uTorrent-Net-Client: A network client for uTorrent over the uTorrent-WebAPI. The Client use the API implementation from "uTorrent Web Client API Wrapper Library" (http:...Visual Leak Detector for Visual C++ 2008/2010: Enhanced Memory Leak Detection for Visual C++Visual Studio 2010 AutoScroller Extension: This is an extension to provide auto-scrolling to the Visual Studio 2010 environment. Simply middle click and drag the mouse in the direction yo...Vje: Vje projectVs2010-TipSite - Enter Island: This project is a visual studio 2010 project created in Silverligt. The project used to give using tips about visual studio 2010 by movies clips an...WKURM: Research Methods project @ western kentucky universityYupsky: yupsky webNew Releases.NET DiscUtils: Version 0.8: This is the 0.8 release of DiscUtils. New in this release are: An NFS client, supporting access to virtual disks held on an NFS server. A PowerS...Bluetooth Radar: Version 2.2: Add Settings window Get installed services on the deveice Check if Object Exchange is installed and changed properties. Add Windows Bluetooth...CSharp Intellisense: V1.7: major improvements: - Select best suggestion - on going changes filters (the filters will changed according to the current typing) - remember last ...DNSExchanger: DNSExchanger Beta v0.1: First release of the project, DNSExchanger. It requires, 32-bit Operating System (XP, Vista, 7) and need to be runned with administration credent...DotNetNuke® Form and List (formerly User Defined Table): 05.01.03: Form and List 05.01.03What's New: This release, Form and List 05.01.03, will be a stabilization release. It requires at least DotNetNuke 5.1.3 for...Enki Char 2 BIN: Enki Char 2 Bin: This program converts Characters to Binary and vice versaFluent ViewModel Configuration for WPF (MVVM): FluentViewModel Alpha1: This is a debug build of the FluentViewModel library. This has been provided to get feed back on the API and to look for bugs. For an example on h...Hangmanondotnet: Hangman: Just a previewHelium Frog Animator: Helium Frog 2.06 Documentation: Complete User Guide documentation in html formatHelium Frog Animator: Helium Frog 2.06 Source Code: Zip file contains all Visual Basic 6 source code, Artwork, sound files etc.Helium Frog Animator: Helium Frog Version 2.06: This file is the released version on Helium Frog 2.06. It contains binary files and required runtime libraries.Helium Frog Animator: Motion Jpeg Handling 10: Source code , module and debugging application in C# a) Module concatenates .jpg files to motion jpeg .avi file. b) Module retrieves any required ...Helium Frog Animator: Sample Grabber 03: Source code and debug program in C# a) Module lists all the available DirextX source devices b) Sets up video streaming to a picturebox by creating...Henge3D Physics Library for XNA: Henge3D Source (2010-04): The biggest change in this release was the addition of the OnCollision and OnSeparation "events" in the RigidBody class. An attached handler will r...HouseFly controls: HouseFly controls alpha 0.9.4.1: HouseFly controls release 0.9.4.1 alphaHTML Ruby: 6.22.0: Added new options for adjusting ruby line height and text line height Live preview for options Adjusted applied styles Added option to report...HTML Ruby: 6.22.1: space by word if ASCII character improved handling of unclosed ruby tagMultiwfn: Multiwfn1.3_binary: Multiwfn1.3_binaryMultiwfn: multiwfn1.3_source: multiwfn1.3_sourceRapid Dictionary: Rapid Dictionary Alpha 1.0: Try auto updatable version: http://install.rapiddict.com/index.html Rapid Dictionary Alpha 1.0 includes such functionality:you can run translation...Silverlight Input Keyboard: Version 1.5 for Silverlight 4: Dependency System.Windows.Interactivity.dll from Blend 4 RC http://www.microsoft.com/downloads/details.aspx?FamilyID=88484825-1b3c-4e8c-8b14-b05d02...SQL Schema Source Control: 1.0: Initial ReleaseUDC indexes parser: UDC indexex parser Beta: LALR(1): 1) Невозможно использовать знак распространения на общие и специальные определители, за исключением определителей в скобках (), (0), (=), ...uTorrent-Net-Client: uTorrent-Net-Client: This download contains the uTorrentNetClient and the 7Zip Windows-Service. Before you can use both, you must configuration some points in the App.C...VidCoder: 0.3.0: Changes: Added customizable columns on the Queue. Right click->Customize columns, then drag and drop to choose and reorder. Column sizes will also...Visual Leak Detector for Visual C++ 2008/2010: v2.0: New version of VLD. This adds support for x64 applications and VS 2010.Visual Studio 2010 AutoScroller Extension: AutoScroller v0.1: Initial release of Visual studio 2010 auto-scroller extension. Simply middle click and drag the mouse in the direction you wish to scroll, further...Yasbg: It's Static GUI: Many changes have been made from the previous release. Read the README! This release adds a GUI and RSS support. From now on, this program is only...Most Popular ProjectsRawrWBFS ManagerAJAX Control ToolkitSilverlight ToolkitMicrosoft SQL Server Product Samples: Databasepatterns & practices – Enterprise LibraryWindows Presentation Foundation (WPF)ASP.NETMicrosoft SQL Server Community & SamplesPHPExcelMost Active Projectspatterns & practices – Enterprise LibraryRawrGMap.NET - Great Maps for Windows Forms & PresentationBlogEngine.NETParticle Plot PivotNB_Store - Free DotNetNuke Ecommerce Catalog ModuleDotNetZip LibraryN2 CMSFarseer Physics Enginepatterns & practices: Composite WPF and Silverlight

    Read the article

  • CodePlex Daily Summary for Monday, October 01, 2012

    CodePlex Daily Summary for Monday, October 01, 2012Popular ReleasesD3 Loot Tracker: 1.4.1: This version will automatically save a recording session on application exit if the user didn't stop the current session.CRM 2011 Visual Ribbon Editor: Visual Ribbon Editor (1.2.1001.1): Visual Ribbon Editor 1.2.1001.1 What's New: Ability to hide currently selected tab Password in the connection file is now being encrypted Esc and Enter keyboard keys are now supported in all dialogs Extended width of Prefix and Id fields in New Button and New Group dialogs Minor UI enchancements for Hide Button button Minor UI enchancements for View XML button and dialog File/assembly versioning for executable file Notes: Existing plain-text password will be automatically encrypt...Untangler: Untangler: First version of Untangler application available now.SubExtractor: Release 1029: Feature: Added option to make i and ¡ characters movie-specific for improved OCR on Spanish subs (Special Characters tab in Options) Feature: Allow switch to Word Spacing dialog directly from Spell Check dialog Fix: Added more default word spacings for accented characters Fix: Changed Word Spacing dialog to show all OCR'd characters in current sub Fix: Removed application focus grab during OCR Fix: Tightened HD subs fuzzy logic to reduce false matches in small characters Fix: Improved Arrow k...MCEBuddy 2.x: MCEBuddy 2.2.18: Reccomended download Changelog for 2.2.18 (32bit and 64bit) 1. Added support for checking if Showanalyzer has hung and cancelling it 2. New version of comskip, 0.81.48 3. Speeding up comskip 4. Fixed a build bug in 64bit 2.2.17 5. Added a new comkip.ini, better commercial detection for international channels and less aggressive. Old one has been retained as comskip_old.ini 6. Added support for Audio Offset on Conversion Task page in GUI (this overrides the profiles AudioDelay when specified)Mugen Injection: Mugen Injection 3.0: Added a generic version of the fluent syntax. Big changes in fluent-syntax. Added support to resolve a parameters: - Factory: AnyCustomFunc{T}, AnyCustomFunc{IEnumerable<IInjectionParameters>,T}, AnyCustomFunc{IDictionary<string, object>,T}, AnyCustomFunc{IEnumerable<IInjectionParameters>,IDictionary<string, object>,T} - Lazy: AnyCustomLazy<T> - Binding metadata: ISetting Change binding builders, now you can configure them through the string settings. Increase performance. F...Aggravation: Version 1.0: This version 1.0 release is pretty stable. You need the Silverlight 4 runtime, developer tools, and Experssion Blend 4 installed.Tube++: Tube++ 4.0.0.43: Fix parser for downloading and add new default slate gray styleReadable Passphrase Generator: KeePass Plugin 0.7.1: See the KeePass Plugin Step By Step Guide for instructions on how to install the plugin. Changes Built against KeePass 2.20Windows 8 Toolkit - Charts and More: Beta 1.0: The First Compiled Version of my LibraryCatchThatException: Release 1.0: This is the first relase for CatchThatException library at 29-9-2012CardPlay: a Solitaire Framework for .Net: 0.3.0: Added 5 games: Blockade, Chessboard, Colorado, Sly Fox, TwentyUltraFluid Modeling Suite: Beta 1: This release is experimental but contains a lot of features like: - xml serialization - multiple selection - clipboard copy/cut/paste on context menu There is the debug and the release (recommanded default) versions.PDF.NET: PDF.NET.Ver4.5-OpenSourceCode: PDF.NET Ver4.5 ????,????Web??????。 PDF.NET Ver4.5 Open Source Code,include a sample Web application project.Visual Studio Icon Patcher: Version 1.5.2: This version contains no new images from v1.5.1 Contains the following improvements: Better support for detecting the installed languages The extract & inject commands won’t run if Visual Studio is running You may now run in extract or inject mode The p/invoke code was cleaned up based on Code Analysis recommendations When a p/invoke method fails the Win32 error message is now displayed Error messages use red text Status messages use green textZXing.Net: ZXing.Net 0.9.0.0: On the way to a release 1.0 the API should be stable now with this version. sync with rev. 2393 of the java version improved api better Unity support Windows RT binaries Windows CE binaries new Windows Service demo new WPF demo WindowsCE Hotfix: Fixes an error with ISO8859-1 encoding and scannning of QR-Codes. The hotfix is only needed for the WindowsCE platform.C.B.R. : Comic Book Reader: CBR 0.7: Synthesis since 0.6 : ePUB : Complete refactoring Add a new dedicated feed viewer for opds stream PDF conversion : improved with image merge Make all backstage panel scrollable Integrate the new AvalonDock 2 library. Support multi-document. Library explorer and Table of content are now toolboxes Designer for dynamic books is now mvvm and much better New BrowserForControl Customized xps viewer to suppress toolbars and bind it to cbr commands Add quick start manual and button ...sosoft: sosoft source: sosoft source include alarm clockRawr: Rawr 5.0.0: This is the Downloadable WPF version of Rawr!For web-based version see http://elitistjerks.com/rawr.php You can find the version notes at: http://rawr.codeplex.com/wikipage?title=VersionNotes Rawr Addon (NOT UPDATED YET FOR MOP)We now have a Rawr Official Addon for in-game exporting and importing of character data hosted on Curse. The Addon does not perform calculations like Rawr, it simply shows your exported Rawr data in wow tooltips and lets you export your character to Rawr (including ba...Coevery - Free CRM: Coevery 1.0.0.26: The zh-CN issue has been solved. We also add a project management module.New ProjectsAmazonGlacierGUI - GUI Client for Amazon Glacier | WPF: a GUI client for amazon glacier , Written in .NET 4, C#,WPF,MVVM & RavenDB for storageAthene: UML editor.Basic Helpdesk Application: Develop a simple application to be used in a network environment to aid support staff while working remotely with users to resolve problems in their local PC.CAPTCHA Solver: CSolver, is a CAPTCHA Solver for Simple CAPTCHAs.ComicExt: ComicExt Works with CBZ files decompress them into a folder of the same name and convert them into zip files and vice versa from a single folder.Copy Your Table Storage: Tool to permit copy table storage dotCMS: it is a content management system base on BlogEngine.NET and Ext.NETihongma??: ?????????????????????????,????????????????、??????,?????????????????????????????,??????????????????????。 ??????????????,??????;???????????????,???????Liam F: Basic mathematical functions implemented using AVX/AVX2MVC Solution: MVC Solution, including many mvc best practicesopengltest: opengl testsample project: Testing...Sériethèque: A small tvshow organizer with viewed option, link to addict7ed.com, rename file etc ...SHOIC (SUPER HIGH ORBIT ION CANION): SHOIC (Super Hight Orbit Ion Canion) es una aplicación derivada de LOIC (Low Orbit Ion Canion)SignalRServerTry: signal r trySilverlight Datagrid Plus: Silverlight Datagrid plus adds basic features to the Silverlight toolkit datagrid such as grouping, filtering, new record and formatting of the datagrid.Sitecore Modules: This is a home for all the Sitecore Shared Source modules distributed by 5 Limes. Over time we expect this solution to contain several projects.Spiritual Chanting Utility: A quick media loop utilitySQL Web Studio Pad: A Simple Web Based SQL Management IDE for managing Database objectsStockmarket Simulation: Stockmarket Simulationtest_proj: ok testTISSEAN.NET: This project is based on: TISEAN 3.0.1 Nonlinear Time Series Analysis Rainer Hegger,Holger Kantz, Thomas Schreiber With major contributions by Eckehard OlbrichUntangler: Class hierarchy viewer for .Net assemblyValarmathi Hospital: Patient management.Windows 8 App For SharePoint Online: Windows 8 app to SharePoint 2013 OnlineWPF Anti-DataBinding Anti-DataTemplate Extensions: WPF Anti-DataBinding Anti-DataTemplate Extensions offers a pure C# code-behind (no XAML) approach to working with WPF controls, starting with the WPF ListBox.Yandex Positions Parser: ?????? ??????? ????? ? ?????? ??????? ?? ???????? ???????? ??????.YunCMS: A simple CMS for build protal site.

    Read the article

  • CodePlex Daily Summary for Friday, October 12, 2012

    CodePlex Daily Summary for Friday, October 12, 2012Popular ReleasesHyperCrunch Druid: HyperCrunch Druid 1.0.2102: For all documentation and feedback, visit http://druid.hypercrunch.com.GoogleMap Control: GoogleMap Control 6.1: Some important bug fixes and couple of new features were added. There are no major changes to the sample website. Source code could be downloaded from the Source Code section selecting branch release-6.1. Thus just builds of GoogleMap Control are issued here in this release. NuGet Package GoogleMap Control 6.1 NuGet Package FeaturesBounds property to provide ability to create a map by center and bounds as well; Setting in markup <artem:GoogleMap ID="GoogleMap1" runat="server" MapType="HY...Bundle Transformer - a modular extension for ASP.NET Web Optimization Framework: Bundle Transformer 1.6.5: Version: 1.6.5 Published: 10/12/2012 In the configuration elements css and js added the usePreMinifiedFiles attribute, which enables/disables usage of pre-minified files; Added translator-adapter, which produces translation of TypeScript-code to JS-code; In BundleTransformer.MicrosoftAjax added support of the Microsoft Ajax Minifier 4.69; In BundleTransformer.Yui added support of the YUI Compressor for .NET 2.1.0.0; In BundleTransformer.Csso added support of the CSSO version 1.3.4. ...OrgCharts for SharePoint: OrgChart web part for SharePoint: Key features: • Central License management so no need to remember the license key details when adding to pages. • Builtin-asp.net caching for high performing loading of the Org Chart. • Create Org Chart from SharePoint list data OR SQL server queries. • Multi-level drill through • Use SharePoint lists or SQL Data as datasource • Support node level Images. {Example: Peoples my site photos} • AJAX enabled for fast client side processing • Optionally set the TAB field for an Auto-generated TAB i...mojoPortal: 2.3.9.3: see release notes on mojoportal.com http://www.mojoportal.com/mojoportal-2393-released Note that we have separate deployment packages for .NET 3.5 and .NET 4.0, but we recommend you to use .NET 4, we will probably drop support for .NET 3.5 once .NET 4.5 is available The deployment package downloads on this page are pre-compiled and ready for production deployment, they contain no C# source code and are not intended for use in Visual Studio. To download the source code see getting the lates...OstrivDB: OstrivDB 0.1: - Storage configuration: objects serialization (Xml, Json), storage file compressing, data block size. - Caching for Select queries. - Indexing. - Batch of queries. - No special query language (LINQ used). - Integrated sorting and paging. - Multithreaded data processing.D3 Loot Tracker: 1.5.4: Fixed a bug where the server ip was not logged properly in the stats file.Captcha MVC: Captcha Mvc 2.1.2: v 2.1.2: Fixed problem with serialization. Made all classes from a namespace Jetbrains.Annotaions as the internal. Added autocomplete attribute and autocorrect attribute for captcha input element. Minor changes. v 2.1.1: Fixed problem with serialization. Minor changes. v 2.1: Added support for storing captcha in the session or cookie. See the updated example. Updated example. Minor changes. v 2.0.1: Added support for a partial captcha. Now you can easily customize the layout, s...DotNetNuke® Community Edition CMS: 06.02.04: Major Highlights Fixed issue where the module printing function was only visible to administrators Fixed issue where pane level skinning was being assigned to a default container for any content pane Fixed issue when using password aging and FB / Google authentication Fixed issue that was causing the DateEditControl to not load the assigned value Fixed issue that stopped additional profile properties to be displayed in the member directory after modifying the template Fixed er...Advanced DataGridView with Excel-like auto filter: 1.0.0.0: ?????? ??????Microsoft Ajax Minifier: Microsoft Ajax Minifier 4.69: Fix for issue #18766: build task should not build the output if it's newer than all the input files. Fix for Issue #18764: build taks -res switch not working. update build task to concatenate input source and then minify, rather than minify and then concatenate. include resource string-replacement root name in the assumed globals list. Stop replacing new Date().getTime() with +new Date -- the latter is smaller, but turns out it executes up to 45% slower. add CSS support for single-...WinRT XAML Toolkit: WinRT XAML Toolkit - 1.3.3: WinRT XAML Toolkit based on the Windows 8 RTM SDK. Download the latest source from the SOURCE CODE page. For compiled version use NuGet. You can add it to your project in Visual Studio by going to View/Other Windows/Package Manager Console and entering: PM> Install-Package winrtxamltoolkit Features Attachable Behaviors AwaitableUI extensions Controls Converters Debugging helpers Extension methods Imaging helpers IO helpers VisualTree helpers Samples Recent changes NOTE:...VidCoder: 1.4.4 Beta: Fixed inability to create new presets with "Save As".MCEBuddy 2.x: MCEBuddy 2.3.2: Changelog for 2.3.2 (32bit and 64bit) 1. Added support for generating XBMC XML NFO files for files in the conversion queue (store it along with the source video with source video name.nfo). Right click on the file in queue and select generate XML 2. UI bugifx, start and end trim box locations interchanged 3. Added support for removing commercials from non DVRMS/WTV files (MP4, AVI etc) 4. Now checking for Firewall port status before enabling (might help with some firewall problems) 5. User In...Sandcastle Help File Builder: SHFB v1.9.5.0 with Visual Studio Package: General InformationIMPORTANT: On some systems, the content of the ZIP file is blocked and the installer may fail to run. Before extracting it, right click on the ZIP file, select Properties, and click on the Unblock button if it is present in the lower right corner of the General tab in the properties dialog. This release supports the Sandcastle October 2012 Release (v2.7.1.0). It includes full support for generating, installing, and removing MS Help Viewer files. This new release suppor...ClosedXML - The easy way to OpenXML: ClosedXML 0.68.0: ClosedXML now resolves formulas! Yes it finally happened. If you call cell.Value and it has a formula the library will try to evaluate the formula and give you the result. For example: var wb = new XLWorkbook(); var ws = wb.AddWorksheet("Sheet1"); ws.Cell("A1").SetValue(1).CellBelow().SetValue(1); ws.Cell("B1").SetValue(1).CellBelow().SetValue(1); ws.Cell("C1").FormulaA1 = "\"The total value is: \" & SUM(A1:B2)"; var...Json.NET: Json.NET 4.5 Release 10: New feature - Added Portable build to NuGet package New feature - Added GetValue and TryGetValue with StringComparison to JObject Change - Improved duplicate object reference id error message Fix - Fixed error when comparing empty JObjects Fix - Fixed SecAnnotate warnings Fix - Fixed error when comparing DateTime JValue with a DateTimeOffset JValue Fix - Fixed serializer sometimes not using DateParseHandling setting Fix - Fixed error in JsonWriter.WriteToken when writing a DateT...Readable Passphrase Generator: KeePass Plugin 0.7.2: Changes: Tested against KeePass 2.20.1 Tested under Ubuntu 12.10 (and KeePass 2.20) Added GenerateAsUtf8 method returning the encrypted passphrase as a UTF8 byte array.JSLint for Visual Studio 2010: 1.4.2: 1.4.2patterns & practices: Prism: Prism for .NET 4.5: This is a release does not include any functionality changes over Prism 4.1 Desktop. These assemblies target .NET 4.5. These assemblies also were compiled against updated dependencies: Unity 3.0 and Common Service Locator (Portable Class Library).New ProjectsATM Stimulate Using WCF Service: This project is my homework Basic Events: Basic Events makes it easier for developers to use out of the box events with basic properties in their eventargs like string message and datetime.BCCP-DEX: sumary not avaibleBing Maps TypeScript Declarations: Unofficial TypeScript declarations for the Bing Maps v7 AJAX Control.CodePlex Practice: Testing CodePlexDepIC: Dependency Injection Container with a very simple API.DNN TaskManger: This is the a project build with the DotNetNuke task manager tutorial videos series.Document Importer For SharePoint: Quickly import large volumes of documents into SharePoint document libraries using an effective user interface.Drop Me!!: cOMING SOON...wORKING ON THISGesPro: PFE de fin de BAC MB MLGL2DX (OpenGL to DirectX Wrapper Library): GL2DX is a wrapper library that allows you to build your OpenGL app for WinRT.MoControls - XNA 4 GUI Controls Library: XNA 4 GUI Controls Library aimed to simplify porting of a XNA 4.0 GUI interface to various platforms.Morph implementation in Delphi: Morph Protocol implementation written in Delphi XE3. Morph is a very powerful application level protocol. For more about Morph, go to http://morph.codeplex.com/Musicallis: Projeto da disciplina de Técnicas de Programação Aplicada II da Universidade Presbiteriana Mackenzie - SP.NHook - A debugger API for your hooking projects: A debugger API for your hooking projectsOperation Timber System: This is a Timber system aimed at merchants/wholesalers/Mills. It is only in design phase.Oryon .Net Extension Methods Library: This project contains a lot of useful extension methods for .Net Applications.OstrivDB: OstrivDB is an embedded NoSQL database engine.Outreach02: A research project for website development.PARCIAL-CP-2012: Proyecto De Calidad y Pruebas de Software - Examen ParcialProject13261011: dfdsfProject13271011: 11project-3D-fabien: C# project 3D IN4M12 -->http://www.esiee.fr/~mustafan/IN4M12-13/Pulsar Programming Language: Pulsar, is a free open source programming language alternative to Assembly. Create your dream Operating System without using Assembly, or C#, or C++!Scoot: A rowing club management application.Sfaar Bytex: an hexadecimal file readerSSIS RAW File Viewer: SSIS 2008 RAW file viewer.testddgit1011201201: ttesttom10112012tfs02: fdsf fsd???WindowsPhone???: ???Windows Phone??????www.yidingcan.com?????。??????、??

    Read the article

  • ??·???|WebLogic Channel|??????

    - by ???02
    Java?????????????????????Oracle WebLogic ??????????????????????????WebLogic?????????????????????????WebLogic????????????????????????????????????????????JPA 2?EJB 3.1?JSF 2????????! WebLogic Server 12c?????????Java EE 6?????? [ 2012/05/22 ]???????????! Java EE 6???????????????/???????!!――??UFJ????????????????????????Java EE 6??????JavaOne Tokyo 2012????? [ 2012/05/21 ]??????????????! Java EE 6???????????????/???????!!――??UFJ????????????????????????Java EE 6??????JavaOne???????????! Java EE 6???????????????/???????!!――??UFJ????????????????????????Java EE 6??????JavaOne Tokyo 2012???????UFJ?????????????????????????IT??????? ?????????UFJ?????????/????????2007?7????????????JavaEE5?????????Java EE??????????????????????2012?4???????JavaOne Tokyo 2012??????????Java EE 6?????????????????????????Java EE 6???????????????????????????????????????????Java EE 6???????"??????????????"???????????????????????????????????(???)??????????????????????????????/???????????Java EE??????????――??????????????????????JavaOne Tokyo 2012?????????????????????????????/???????????Java EE??????????――??????????????????????JavaOne Tokyo 2012???????????·???????????????????·???????????????????/????????????????????????????――?????6?????????????????????WebLogic Server?????????????????????????????????????????????????????????2012?4???????JavaOne Tokyo 2012????????????????????·????????????????Java EE???????????????????????????????(???)??????WebLogic Server 12c?????????Java EE 6??JPA 2?EJB 3.1?JSF 2????????! WebLogic Server 12c?????????Java EE 6??????????????????????????????????????????????·???????????Java EE 6???????????????·????WebLogic Server 12c?(???)?????????Oracle Enterprise Pack for Eclipse 12c???????Java EE 6??????3???????????????????????JSF 2.0?????????????????????????JAX-RS????RESTful?Web???????????????(???)??????JPA 2?EJB 3.1?JSF 2????????! WebLogic Server 12c?????????Java EE 6??????2012?2???????????????WebLogic Server 12c?????????Java EE 6?????????????????????????????????????????????????????????????Oracle Enterprise Pack for Eclipse 12c??WebLogic Server 12c(???)????Java EE 6??????3??????????????????????????????JPA 2.0??????????·?????????EJB 3.1???????·???????????????(???)??????JPA 2?EJB 3.1?JSF 2????????! WebLogic Server 12c?????????Java EE 6???????????·??????·?????????????????????????WebLogic Server?2012?2?????????????????WebLogic Server 12c????????????????????????Java SE 7???Java EE 6???????????Java EE??????????????????????????????WebLogic Server 12c????Java EE???????????????????????? ??????WebLogic Server 12c???????????????????Oracle Enterprise Pack for Eclipse 12c??WebLogic Server 12c(???)????Java EE 6??????3??????????????????????????????????????????????????????????Java EE?????????????????????????????????????????(???)??????Oracle Open World Tokyo 2012?????·????2013??Java SE 8????GUI???JavaFX?...Java SE??????――Oracle Open World Tokyo 2012?????·???????·??????????????????????????????????????????????????Java?????????????????????????1?????2012?4?4?~6???? ??????????Oracle Open World Tokyo 2012??????????·?????????Java Product Group??????·????????????·?????Java SE?????????????????????????Java SE??Java 12?????:Java SE????????????????????????????????Java SE?????????????????(???)??????WebLogic Server 12c?????????Java??????――Oracle Open World Tokyo 2012?????·????2012?4?4?~6???? ??????????Oracle Open World Tokyo 2012????????????Java?WebLogic Server??????????1???????????·???????? ?????????????????????·??????????????Oracle WebLogic Server 12c ???????????Java???- ???????Java EE??????????????????????????WebLogic Server??????????????????????(???)??????????????????IT?????????! Oracle OpenWorld Tokyo 2012?????????????!!????????????IT?????????! Oracle OpenWorld Tokyo 2012?????????????!!2012?4?4?~6???? ????????????????Oracle OpenWorld Tokyo 2012???????????????????????????????????Java????????????????????????????????????????????????????????IT???????????????IT????????????????? "?????"???????????WebLogic Server??????????????Java????????????????????????IT?????????????????????????????(???)???????Beginning Java EE 6?????????Java EE 6?????????????????Beginning Java EE 6?????????Java EE 6?????????????????JavaServer Faces 2???????6???????????????????????????????????????Java EE?WebLogic Server?????????????????·????????????????????????????????????????Java EE 6???????Java EE??????????? ??????Java EE 6??????????Beginning Java EE 6 GlassFish 3????????????Java????????????????????????Web?????????GUI?????JavaServer Faces??????(???)???????Beginning Java EE 6?????????Java EE 6?????????????????Java Persistance API 2??2012?2???????????????Oracle WebLogic Server 12c????????????Java EE 6?????????????????Java EE 6?????Java EE ??????????????1??????????????????????Java EE?????????????? ???3??????????Java EE 6??????????Beginning Java EE 6 GlassFish 3????????????Java????????????????????????????????Java EE 6???????API?????????????????????????????????(???)??????4?4??5??Java??????????! "Java??"????????????!!――?JavaOne Tokyo 2012????????4?4??5??Java??????????! "Java??"????????????!!――?JavaOne Tokyo 2012????????2012?4?4?~5??2?????????????????49????Java????????????????JavaOne Tokyo 2012???????? "Java??????"??????JavaOne??Java??????????????·???????????????????????????????????????????????????JavaOne Tokyo 2012???????????????(???)???????????????????????Java EE 6???????????!?――WebLogic Server 12c???????????????????????????Java EE 6???????????!?――WebLogic Server 12c???????????????·??????·??????????????????????????????WebLogic Serve????WebLogic Server 12c?????????????200???????/????????????????·????"??"?1????Java EE 6?????????????????????????????????????? ??????·?????????WebLogic Server???????Java????????????????Java EE??????????????????????·?????????(???)???????Oracle WebLogic Server 12c Forum?????Java EE 6????????????????????????? ?????????????――?Oracle WebLogic Server 12c Forum?????Java EE 6?????????????????????????????Oracle WebLogic Server 12c??????????????????????????????????????? 1?25????????Oracle WebLogic Server 12c Forum - ????????Java??????????? -??????????·?????????WebLogic Server 12c??????? Java EE 6?? ~Java EE 6???????????????????~??????????????UFJ???????????????????????????????????????Publickey ??????Java EE 6????WebLogic Server 12c???????????????(???)??????Java EE 6?????????????? "?"????? ??????????????Oracle WebLogic Server 12c??????????????????????Java EE?????Java EE 6??????????????????????????????Java EE 6?????????WebLogic Server 12c??????????Java????????????????????? 1?25????????Oracle WebLogic Server 12c Forum - ????????Java??????????? -?????WebLogic Server 12c??????? Java EE 6?? ~Java EE 6???????????????????~????????·???????????????????????????Java?????????????Java EE 6?WebLogic Server??????????????2??????????(???)?????????????Java EE??????WebLogic Server 12c??????3????――?Oracle WebLogic Server 12c Forum????????????2012?2?7??Java EE??????????·???????Oracle WebLogic Server 12c?????????????????????1?25????????????Oracle WebLogic Server 12c Forum - ????????Java??????????? -????Java EE 6?Java SE 7???????Java???????WebLogic Server 12c?????????????????·?????????????????????3??????????????????????(???)????????????????????·??????????! ????WebLogic Server?????????????????????????Java EE????????·????????????????/??????????????????????·?????????????????????????WebLogic Server?????????????WebLogic Server???????????????????·??????????????????????????????????????????????????????????(???)?????????????????????????????????Java EE???????????????????????·???????????????????·??????????????????????????????????·???????????????????????????????????WebLogic Server?????????????????????????·???????????????????????????????2??????????WebLogic Server???????????????????·????????????????????????????????WebLogic Server?????????????????????(???)???????????????????WebLogic Server???????“???”????????????????/???????????????????WebLogic Server???????????????????――???????WebLogic Server???????????????1???????????????????????????????????·????????????????????2011?11????????Oracle DBA & Developers Days 2011??????????????????????????WebLogic Server???????????????????????????????????????????????/?????????????????????????(???)????????????????/??????????????WebLogic Server???????????????????????????????????????????????????????????????????????????1???????????????????????????????????????????????????WebLogic Server???????????????????????????????????????????????????????????????????????·?????????????????????·??????????????????????????????????????????????????2011?11????????Oracle DBA & Developers Days 2011??????????????????????????WebLogic Server??????????????????WebLogic Server???????????????????????????????????????????????????·?????????????????????????????2??????????????????????????????????????????????·??????????(???)??????????JavaFX??Java???????·??????????????――?Java Developer Workshop #2?????????JavaFX??Java???????·??????????????――?Java Developer Workshop #2?????WebLogic Server?????????Java???????????????????WebLogic Channel?????????JavaOne 2011??Java/Java EE????????!――???????????????!!?????????????????????JavaOne 2011????????????????????????????????????JavaFX?????2011?12?1?????????????Java?????????????Java Developer Workshop #2????JavaOne 2011?JavaFX???????????????Oracle Corporation?JavaFX??????Nandini Ramani?(Client Java Group???????????)??????JavaFX 2.0-Next generation Java client solution????????????????????JavaFX?????????????????????(???)????????UFJ??????????????????????·?????WebLogic Server????????――????? ?????? ????? 2011???????UFJ??????????????????????·?????WebLogic Server????????――????? ?????? ????? 2011???????UFJ???????·?????IT????????UFJ???????????????(MUIT)?????UFJ?????????????????????????·????·????????????????????????WebLogic Server???????????????????·?????????IT?????????WebLogic Server??????? MUIT IT??????? ??????????2011?11?30???????????? ?????? ????? 2011??????????UFJ???????????????????Java EE???????WebLogic Server????????????????????(???)??????????????! ??????????????????WebLogic Server 12c?????????! ??????????????????WebLogic Server 12c????????2011?12?9??WebLogic Server????Oracle WebLogic Server 12c??????????????????12?1????????????????????·?????10????????Oracle OpenWorld 2011?????????????????????????????1?????????????????????????????????????????Oracle Corporation??????? ???·????????????·??????????????????????????????(???)??????????·???????! ?WebLogic Scripting Tool????WebLogic Server???/???????????·???????! ?WebLogic Scripting Tool????WebLogic Server???/???????Web???????????/?????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????WebLogic Server?????????????????WebLogic Scripting Tool??????????2011?11????????Oracle DAB & Developers Days 2011?????????????????????????!WebLogic Scripting Tool?????WLS???·????????????WebLogic Scripting Tool?????????????????(???)??????Java EE???????????!? ?Oracle ADF???????!!Java EE???????????!? ?Oracle ADF???????!!WebLogic Server???Java EE??????????????????????Oracle Application Development Framework(ADF)????????????Oracle ADF????????????????????????????????????????GUI?????????????????Web???????????????????????????????????????/??????????????????????Fusion Application???????/?????????Oracle ADF?????????Java EE????????????????????????????? Fusion Middleware?????????????????????????Oracle ADF???????????????(???)??????????:10?????Java EE???????WebLogic Server?????????:10?????Java EE???????WebLogic Server?????11?30?????????????????????2011??WebLogic Server ?????????????????????Oracle OpenWorld 2011????WebLogic Server?????????Oracle OpenWorld 2011????WebLogic Server?????????2011?10?2?~6??????????????????????Oracle OpenWorld 2011???????????????????????????????????????????????????WebLogic Server??????????????????????? Fusion Middleware?????? ???????? ?????????????????????????WebLogic Server??????????????????(???)???????JavaOne 2011??Java/Java EE????????!――???????????????!!?JavaOne 2011??Java/Java EE????????!――???????????????!!WebLogic Server??????????????????1??????Java/Java EE??????????????????????????????????Java????JavaOne???2011?10?2?~6?????????????????????JavaOne 2011????????????Java/Java EE?????????????????????????Java???????????????????JavaOne 2011??????????????(???)??????WebLogic?RAC????????????――Active GridLink for RAC?????????????4????WebLogic Suite 11g???????Active GridLink for RAC???Oracle Database???????????Oracle Real Application Clusters(RAC)??WebLogic Server??????????????????????????????????????????????????????????????·??????????Frances Zhao?(Oracle Application Server ??????·?????·?????)???????????????(???)??????????RAC??????????????????????????????????Oracle Database??????????????Oracle Real Application Clusters(RAC)????????????????????????????????????????????RAC????Oracle WebLogic Server????????????WebLogic Suite 11g?????????WebLogic Server/RAC???????Active GridLink for RAC????????????????????·??????????Frances Zhao?(Oracle Application Server ??????·?????·?????)???????????2??????????(???)????????JRockit Mission Control! ?????WebLogic?????????????????????????????????????Oracle WebLogic Server Enterprise Edition??????????????JRockit Mission Control??????OS??Web?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JRockit Mission Control?????????????????????????????????????????Application Grid???????? ????????????????? ???(?????? Fusion Middleware?????? ???????????)??????????????????JRockit Mission Control?????????(???)???????????????OutOfMemory?????????????????WebLogic Server Enterprise Edition????????????JRockit Mission Control????????????????????????????????????????????????????????????????????????????????Application Grid???????? ????????????????? ???(?????? Fusion Middleware?????? ???????????)??????????????????JRockit Mission Control?????2?????(???)???????WebLogic & Java EE???????????????Java EE????WebLogic Server???????????20????????????????????????/???????????Java EE???WebLogic Server????????????????IT(????)?????????????????????????????????????/??????????????????????????????????????????/?????????????????????????2011?9?6???????????????????WebLogic & Java EE????????????????????????????Java EE?WebLogic Server????????????(???)???????????????????Java EE?????????????10????????????????????????·??????????????????????Java EE?????·?????????????·?????????IT??????????????????Java EE??????????????????????――2011?9?6????????WebLogic & Java EE????????????????????――Java EE???????????????????????????·??????????????????Java EE????????????????????????????????(???)??????Java???????????????????·?????Oracle Coherence??6??????????????Java API?????????????????????????·??????????/????·?????????????Java???????????????????????????????????????1??????????Java??????????·???????????????????????????????????????????????????????Java????????????????????????????????·???????Oracle Coherence????????????????????????????????????????????????Coherence??Java?????????????????????????????????????????????????????2??????Oracle Coherence?Java???????????????????????????????????(???)????????????????????????????????/????????????????????????·?????????????????????????????·???????Oracle Coherence??????Java???????????????????????????????????????????????????????????????????Java API??????Oracle Coherence???????????3????????????????????????Coherence???????????????????????????????3???????????(???)??????????????! ?????????????????JRockit Flight Recorder????????????! ?????????????????JRockit Flight Recorder???????????????????????????????????????????WebLogic Server????????·??????????????????????????????????????????????WebLogic Server????????????????????????????????????????????????????????????????????????JRockit Flight Recorder???WebLogic Server????????????????????????????????????????????????????????????????????????????????????????(???)??????????????????――???????/????????????????·??????????WebLogic Server?????Java+?????·??????????????????????????·???????????????????????????·???????????????????????????????????????WebLogic Server???????????????????????????? WebLogic Server??????·??????·???????????????????????????????????Publickey???????IT???????????????WebLogic Server??????????????????????????????????(???)???????????????????????????WebLogic Server??????????????????IT?????????????????·????????????????????????????????????????????????·???????????????????????????????????――??????Publickey???????IT?????????????????????????????????WebLogic Server????????????????????(???)????????????????????????????WebLogic Server????????·??????????――?????·??????·???????????WebLogic?????Java EE??????????·????????????????????????????·??????·??????????????WebLogic Server???????????????????????????????????????·???????????????????????????????????·???????????????????????????????????????WebLogic Server????????? ????????????????????????2??????????(???)???????????????????????????TCO?――????????????????WebLogic???????????????????/????????????????????????????·???????????????????????????????????????????????????????????WebLogic Server??????(????????)???????????????????????????Oracle Database??????????????????????TCO??????????????????·??????·??????????WebLogic Server???????????????????????(???)??????WebLogic Channel ?????WebLogic Channel ????? WebLogic?????Java EE ????????????????????WebLogic Channel???????????Java EE???????????·??????????????WebLogic Server ??????Tips???????????????????????????????????????????Oracle WebLogic Server??????Oracle WebLogic Server ??WebLogic Server?????????????·??·???????????????????????????????????????????" src="https://blogs.oracle.com/weblogic_channel/resource/images/wc2_directory.jpg"?Know How?WebLogic Server - ???????·???????WebLogic?????????????????????????know How?Oracle WebLogic Server 11g? JRuby?JMX???????WebLogic Server - JRuby?JMX?????[know How]Oracle WebLogic Server?JDBC GridLink????????????????·??????(MDS)?????????Oracle WebLogic Active GridLink for RAC?????????????Pick-Up???????WebLogic Server JDBC???·???????(10.3.4)Oracle WebLogic Server JDBC???·???(10.3.4)????????????????????????????Pick-Up????????????Web??????????Oracle WebLogic Server 11g?Microsoft .NET WCF 4.0????? ???????????????????????????????WebLogic Server?Microsoft .NET???????????????????????????Oracle WebLogic Server - JDBC??????JDBC????????????????????(????????????)????????????????????????????????????????????????????WebLogic Server - ????????/??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????WebLogic Server - ???????·??????Oracle WebLogic Server??Web???????????????????????????????????????????????????????????????????????????????????????????????????WebLogic Server - Web???????????Web??????????WebLogic???????????JAX-WS?????Web????????????????????????????????30?????WebLogic Server 11g????Oracle WebLogic Server 11g?????????????30??????????????????????WebLogic Server - Enterprise Grid Messaging WebLogic Server?Java EE?JMS???JMS????????????JMS??????????????????????????????????????????????????????????????????????Oracle WebLogic Server - GridLink for RAC  JDBC??????????GridLink for RAC???????????????????????????Oracle???????????????????????·????! WebLogic Server ? Oracle Database ??????????????????????????????????????????????????????????????Oracle WebLogic Server ???????WebLogic Server???????????????????????????????????Java???????????????????????????????????????????????????????????????????????????????????? ??????????????????WebLogic Server?????????????????????????????????????????????????????????????????????????????????????????·????????????WebLogic Server?????????????????????!WebLogic Server??????????????? ????·??·???????????????????????????????????????????????????????????? ??·?????????????????????? Oracle WebLogic Server 11g ??????WebLogic Server????????????????11g???????????????????? ???????????WebLogic Server(JRockit) - ???????????????????????????Oracle JRockit JVM????????????????????????????????????????JVM???????????????????????????????????????????????Pick-Up???????Oracle JDeveloper?Oracle ADF 11g?Release 2(11.1.2.0.0):???Oracle JDeveloper?Oracle ADF?11g Release 2(11.1.2.0.0)????????????Pick-Up???????Oracle JRockit????·????JRockit????·???????????????????????????????????????????????????????????????????JVM??????JRockit JVM?????????????????????????????????????????????????????????Pick-Up??????????? JVM ?JRockit????????·??????Oracle JRockit JVM?????????????????????·?????????????????????????JVM??????? ???????????????????????????????????????????????????????????????????????? ???????????????????????????????! ????JVM?JRockit????JVM?Oracle JRockit???????????????????????????????????Flight Recorder????????????????

    Read the article

  • C++ - Conway's Game of Life & Stepping Backwards

    - by Gabe
    I was able to create a version Conway's Game of Life that either stepped forward each click, or just ran forward using a timer. (I'm doing this using Qt.) Now, I need to be able to save all previous game grids, so that I can step backwards by clicking a button. I'm trying to use a stack, and it seems like I'm pushing the old gridcells onto the stack correctly. But when I run it in QT, the grids don't change when I click BACK. I've tried different things for the last three hours, to no avail. Any ideas? gridwindow.cpp - My problem should be in here somewhere. Probably the handleBack() func. #include <iostream> #include "gridwindow.h" using namespace std; // Constructor for window. It constructs the three portions of the GUI and lays them out vertically. GridWindow::GridWindow(QWidget *parent,int rows,int cols) : QWidget(parent) { QHBoxLayout *header = setupHeader(); // Setup the title at the top. QGridLayout *grid = setupGrid(rows,cols); // Setup the grid of colored cells in the middle. QHBoxLayout *buttonRow = setupButtonRow(); // Setup the row of buttons across the bottom. QVBoxLayout *layout = new QVBoxLayout(); // Puts everything together. layout->addLayout(header); layout->addLayout(grid); layout->addLayout(buttonRow); setLayout(layout); } // Destructor. GridWindow::~GridWindow() { delete title; } // Builds header section of the GUI. QHBoxLayout* GridWindow::setupHeader() { QHBoxLayout *header = new QHBoxLayout(); // Creates horizontal box. header->setAlignment(Qt::AlignHCenter); this->title = new QLabel("CONWAY'S GAME OF LIFE",this); // Creates big, bold, centered label (title): "Conway's Game of Life." this->title->setAlignment(Qt::AlignHCenter); this->title->setFont(QFont("Arial", 32, QFont::Bold)); header->addWidget(this->title); // Adds widget to layout. return header; // Returns header to grid window. } // Builds the grid of cells. This method populates the grid's 2D array of GridCells with MxN cells. QGridLayout* GridWindow::setupGrid(int rows,int cols) { isRunning = false; QGridLayout *grid = new QGridLayout(); // Creates grid layout. grid->setHorizontalSpacing(0); // No empty spaces. Cells should be contiguous. grid->setVerticalSpacing(0); grid->setSpacing(0); grid->setAlignment(Qt::AlignHCenter); for(int i=0; i < rows; i++) //Each row is a vector of grid cells. { std::vector<GridCell*> row; // Creates new vector for current row. cells.push_back(row); for(int j=0; j < cols; j++) { GridCell *cell = new GridCell(); // Creates and adds new cell to row. cells.at(i).push_back(cell); grid->addWidget(cell,i,j); // Adds to cell to grid layout. Column expands vertically. grid->setColumnStretch(j,1); } grid->setRowStretch(i,1); // Sets row expansion horizontally. } return grid; // Returns grid. } // Builds footer section of the GUI. QHBoxLayout* GridWindow::setupButtonRow() { QHBoxLayout *buttonRow = new QHBoxLayout(); // Creates horizontal box for buttons. buttonRow->setAlignment(Qt::AlignHCenter); // Clear Button - Clears cell; sets them all to DEAD/white. QPushButton *clearButton = new QPushButton("CLEAR"); clearButton->setFixedSize(100,25); connect(clearButton, SIGNAL(clicked()), this, SLOT(handlePause())); // Pauses timer before clearing. connect(clearButton, SIGNAL(clicked()), this, SLOT(handleClear())); // Connects to clear function to make all cells DEAD/white. buttonRow->addWidget(clearButton); // Forward Button - Steps one step forward. QPushButton *forwardButton = new QPushButton("FORWARD"); forwardButton->setFixedSize(100,25); connect(forwardButton, SIGNAL(clicked()), this, SLOT(handleForward())); // Signals to handleForward function.. buttonRow->addWidget(forwardButton); // Back Button - Steps one step backward. QPushButton *backButton = new QPushButton("BACK"); backButton->setFixedSize(100,25); connect(backButton, SIGNAL(clicked()), this, SLOT(handleBack())); // Signals to handleBack funciton. buttonRow->addWidget(backButton); // Start Button - Starts game when user clicks. Or, resumes game after being paused. QPushButton *startButton = new QPushButton("START/RESUME"); startButton->setFixedSize(100,25); connect(startButton, SIGNAL(clicked()), this, SLOT(handlePause())); // Deletes current timer if there is one. Then restarts everything. connect(startButton, SIGNAL(clicked()), this, SLOT(handleStart())); // Signals to handleStart function. buttonRow->addWidget(startButton); // Pause Button - Pauses simulation of game. QPushButton *pauseButton = new QPushButton("PAUSE"); pauseButton->setFixedSize(100,25); connect(pauseButton, SIGNAL(clicked()), this, SLOT(handlePause())); // Signals to pause function which pauses timer. buttonRow->addWidget(pauseButton); // Quit Button - Exits program. QPushButton *quitButton = new QPushButton("EXIT"); quitButton->setFixedSize(100,25); connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit())); // Signals the quit slot which ends the program. buttonRow->addWidget(quitButton); return buttonRow; // Returns bottom of layout. } /* SLOT method for handling clicks on the "clear" button. Receives "clicked" signals on the "Clear" button and sets all cells to DEAD. */ void GridWindow::handleClear() { for(unsigned int row=0; row < cells.size(); row++) // Loops through current rows' cells. { for(unsigned int col=0; col < cells[row].size(); col++) // Loops through the rows'columns' cells. { GridCell *cell = cells[row][col]; // Grab the current cell & set its value to dead. cell->setType(DEAD); } } } /* SLOT method for handling clicks on the "start" button. Receives "clicked" signals on the "start" button and begins game simulation. */ void GridWindow::handleStart() { isRunning = true; // It is running. Sets isRunning to true. this->timer = new QTimer(this); // Creates new timer. connect(this->timer, SIGNAL(timeout()), this, SLOT(timerFired())); // Connect "timerFired" method class to the "timeout" signal fired by the timer. this->timer->start(500); // Timer to fire every 500 milliseconds. } /* SLOT method for handling clicks on the "pause" button. Receives "clicked" signals on the "pause" button and stops the game simulation. */ void GridWindow::handlePause() { if(isRunning) // If it is running... this->timer->stop(); // Stops the timer. isRunning = false; // Set to false. } void GridWindow::handleForward() { if(isRunning); // If it's running, do nothing. else timerFired(); // It not running, step forward one step. } void GridWindow::handleBack() { std::vector<std::vector<GridCell*> > cells2; if(isRunning); // If it's running, do nothing. else if(backStack.empty()) cout << "EMPTYYY" << endl; else { cells2 = backStack.peek(); for (unsigned int f = 0; f < cells.size(); f++) // Loop through cells' rows. { for (unsigned int g = 0; g < cells.at(f).size(); g++) // Loop through cells columns. { cells[f][g]->setType(cells2[f][g]->getType()); // Set cells[f][g]'s type to cells2[f][g]'s type. } } cout << "PRE=POP" << endl; backStack.pop(); cout << "OYYYY" << endl; } } // Accessor method - Gets the 2D vector of grid cells. std::vector<std::vector<GridCell*> >& GridWindow::getCells() { return this->cells; } /* TimerFired function: 1) 2D-Vector cells2 is declared. 2) cells2 is initliazed with loops/push_backs so that all its cells are DEAD. 3) We loop through cells, and count the number of LIVE neighbors next to a given cell. --> Depending on how many cells are living, we choose if the cell should be LIVE or DEAD in the next simulation, according to the rules. -----> We save the cell type in cell2 at the same indice (the same row and column cell in cells2). 4) After check all the cells (and save the next round values in cells 2), we set cells's gridcells equal to cells2 gridcells. --> This causes the cells to be redrawn with cells2 types (white or black). */ void GridWindow::timerFired() { backStack.push(cells); std::vector<std::vector<GridCell*> > cells2; // Holds new values for 2D vector. These are the next simulation round of cell types. for(unsigned int i = 0; i < cells.size(); i++) // Loop through the rows of cells2. (Same size as cells' rows.) { vector<GridCell*> row; // Creates Gridcell* vector to push_back into cells2. cells2.push_back(row); // Pushes back row vectors into cells2. for(unsigned int j = 0; j < cells[i].size(); j++) // Loop through the columns (the cells in each row). { GridCell *cell = new GridCell(); // Creates new GridCell. cell->setType(DEAD); // Sets cell type to DEAD/white. cells2.at(i).push_back(cell); // Pushes back the DEAD cell into cells2. } // This makes a gridwindow the same size as cells with all DEAD cells. } for (unsigned int m = 0; m < cells.size(); m++) // Loop through cells' rows. { for (unsigned int n = 0; n < cells.at(m).size(); n++) // Loop through cells' columns. { unsigned int neighbors = 0; // Counter for number of LIVE neighbors for a given cell. // We know check all different variations of cells[i][j] to count the number of living neighbors for each cell. // We check m > 0 and/or n > 0 to make sure we don't access negative indexes (ex: cells[-1][0].) // We check m < size to make sure we don't try to access rows out of the vector (ex: row 5, if only 4 rows). // We check n < row size to make sure we don't access column item out of the vector (ex: 10th item in a column of only 9 items). // If we find that the Type = 1 (it is LIVE), then we add 1 to the neighbor. // Else - we add nothing to the neighbor counter. // Neighbor is the number of LIVE cells next to the current cell. if(m > 0 && n > 0) { if (cells[m-1][n-1]->getType() == 1) neighbors += 1; } if(m > 0) { if (cells[m-1][n]->getType() == 1) neighbors += 1; if(n < (cells.at(m).size() - 1)) { if (cells[m-1][n+1]->getType() == 1) neighbors += 1; } } if(n > 0) { if (cells[m][n-1]->getType() == 1) neighbors += 1; if(m < (cells.size() - 1)) { if (cells[m+1][n-1]->getType() == 1) neighbors += 1; } } if(n < (cells.at(m).size() - 1)) { if (cells[m][n+1]->getType() == 1) neighbors += 1; } if(m < (cells.size() - 1)) { if (cells[m+1][n]->getType() == 1) neighbors += 1; } if(m < (cells.size() - 1) && n < (cells.at(m).size() - 1)) { if (cells[m+1][n+1]->getType() == 1) neighbors += 1; } // Done checking number of neighbors for cells[m][n] // Now we change cells2 if it should switch in the next simulation step. // cells2 holds the values of what cells should be on the next iteration of the game. // We can't change cells right now, or it would through off our other cell values. // Apply game rules to cells: Create new, updated grid with the roundtwo vector. // Note - LIVE is 1; DEAD is 0. if (cells[m][n]->getType() == 1 && neighbors < 2) // If cell is LIVE and has less than 2 LIVE neighbors -> Set to DEAD. cells2[m][n]->setType(DEAD); else if (cells[m][n]->getType() == 1 && neighbors > 3) // If cell is LIVE and has more than 3 LIVE neighbors -> Set to DEAD. cells2[m][n]->setType(DEAD); else if (cells[m][n]->getType() == 1 && (neighbors == 2 || neighbors == 3)) // If cell is LIVE and has 2 or 3 LIVE neighbors -> Set to LIVE. cells2[m][n]->setType(LIVE); else if (cells[m][n]->getType() == 0 && neighbors == 3) // If cell is DEAD and has 3 LIVE neighbors -> Set to LIVE. cells2[m][n]->setType(LIVE); } } // Now we've gone through all of cells, and saved the new values in cells2. // Now we loop through cells and set all the cells' types to those of cells2. for (unsigned int f = 0; f < cells.size(); f++) // Loop through cells' rows. { for (unsigned int g = 0; g < cells.at(f).size(); g++) // Loop through cells columns. { cells[f][g]->setType(cells2[f][g]->getType()); // Set cells[f][g]'s type to cells2[f][g]'s type. } } } stack.h - Here's my stack. #ifndef STACK_H_ #define STACK_H_ #include <iostream> #include "node.h" template <typename T> class Stack { private: Node<T>* top; int listSize; public: Stack(); int size() const; bool empty() const; void push(const T& value); void pop(); T& peek() const; }; template <typename T> Stack<T>::Stack() : top(NULL) { listSize = 0; } template <typename T> int Stack<T>::size() const { return listSize; } template <typename T> bool Stack<T>::empty() const { if(listSize == 0) return true; else return false; } template <typename T> void Stack<T>::push(const T& value) { Node<T>* newOne = new Node<T>(value); newOne->next = top; top = newOne; listSize++; } template <typename T> void Stack<T>::pop() { Node<T>* oldT = top; top = top->next; delete oldT; listSize--; } template <typename T> T& Stack<T>::peek() const { return top->data; // Returns data in top item. } #endif gridcell.cpp - Gridcell implementation #include <iostream> #include "gridcell.h" using namespace std; // Constructor: Creates a grid cell. GridCell::GridCell(QWidget *parent) : QFrame(parent) { this->type = DEAD; // Default: Cell is DEAD (white). setFrameStyle(QFrame::Box); // Set the frame style. This is what gives each box its black border. this->button = new QPushButton(this); //Creates button that fills entirety of each grid cell. this->button->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); // Expands button to fill space. this->button->setMinimumSize(19,19); //width,height // Min height and width of button. QHBoxLayout *layout = new QHBoxLayout(); //Creates a simple layout to hold our button and add the button to it. layout->addWidget(this->button); setLayout(layout); layout->setStretchFactor(this->button,1); // Lets the buttons expand all the way to the edges of the current frame with no space leftover layout->setContentsMargins(0,0,0,0); layout->setSpacing(0); connect(this->button,SIGNAL(clicked()),this,SLOT(handleClick())); // Connects clicked signal with handleClick slot. redrawCell(); // Calls function to redraw (set new type for) the cell. } // Basic destructor. GridCell::~GridCell() { delete this->button; } // Accessor for the cell type. CellType GridCell::getType() const { return(this->type); } // Mutator for the cell type. Also has the side effect of causing the cell to be redrawn on the GUI. void GridCell::setType(CellType type) { this->type = type; redrawCell(); // Sets type and redraws cell. } // Handler slot for button clicks. This method is called whenever the user clicks on this cell in the grid. void GridCell::handleClick() { // When clicked on... if(this->type == DEAD) // If type is DEAD (white), change to LIVE (black). type = LIVE; else type = DEAD; // If type is LIVE (black), change to DEAD (white). setType(type); // Sets new type (color). setType Calls redrawCell() to recolor. } // Method to check cell type and return the color of that type. Qt::GlobalColor GridCell::getColorForCellType() { switch(this->type) { default: case DEAD: return Qt::white; case LIVE: return Qt::black; } } // Helper method. Forces current cell to be redrawn on the GUI. Called whenever the setType method is invoked. void GridCell::redrawCell() { Qt::GlobalColor gc = getColorForCellType(); //Find out what color this cell should be. this->button->setPalette(QPalette(gc,gc)); //Force the button in the cell to be the proper color. this->button->setAutoFillBackground(true); this->button->setFlat(true); //Force QT to NOT draw the borders on the button } Thanks a lot. Let me know if you need anything else.

    Read the article

  • Dependency Injection in ASP.NET MVC NerdDinner App using Ninject

    - by shiju
    In this post, I am applying Dependency Injection to the NerdDinner application using Ninject. The controllers of NerdDinner application have Dependency Injection enabled constructors. So we can apply Dependency Injection through constructor without change any existing code. A Dependency Injection framework injects the dependencies into a class when the dependencies are needed. Dependency Injection enables looser coupling between classes and their dependencies and provides better testability of an application and it removes the need for clients to know about their dependencies and how to create them. If you are not familiar with Dependency Injection and Inversion of Control (IoC), read Martin Fowler’s article Inversion of Control Containers and the Dependency Injection pattern. The Open Source Project NerDinner is a great resource for learning ASP.NET MVC.  A free eBook provides an end-to-end walkthrough of building NerdDinner.com application. The free eBook and the Open Source Nerddinner application are extremely useful if anyone is trying to lean ASP.NET MVC. The first release of  Nerddinner was as a sample for the first chapter of Professional ASP.NET MVC 1.0. Currently the application is updating to ASP.NET MVC 2 and you can get the latest source from the source code tab of Nerddinner at http://nerddinner.codeplex.com/SourceControl/list/changesets. I have taken the latest ASP.NET MVC 2 source code of the application and applied  Dependency Injection using Ninject and Ninject extension Ninject.Web.Mvc.Ninject &  Ninject.Web.MvcNinject is available at http://github.com/enkari/ninject and Ninject.Web.Mvc is available at http://github.com/enkari/ninject.web.mvcNinject is a lightweight and a great dependency injection framework for .NET.  Ninject is a great choice of dependency injection framework when building ASP.NET MVC applications. Ninject.Web.Mvc is an extension for ninject which providing integration with ASP.NET MVC.Controller constructors and dependencies of NerdDinner application Listing 1 – Constructor of DinnersController  public DinnersController(IDinnerRepository repository) {     dinnerRepository = repository; }  Listing 2 – Constrcutor of AccountControllerpublic AccountController(IFormsAuthentication formsAuth, IMembershipService service) {     FormsAuth = formsAuth ?? new FormsAuthenticationService();     MembershipService = service ?? new AccountMembershipService(); }  Listing 3 – Constructor of AccountMembership – Concrete class of IMembershipService public AccountMembershipService(MembershipProvider provider) {     _provider = provider ?? Membership.Provider; }    Dependencies of NerdDinnerDinnersController, RSVPController SearchController and ServicesController have a dependency with IDinnerRepositiry. The concrete implementation of IDinnerRepositiry is DinnerRepositiry. AccountController has dependencies with IFormsAuthentication and IMembershipService. The concrete implementation of IFormsAuthentication is FormsAuthenticationService and the concrete implementation of IMembershipService is AccountMembershipService. The AccountMembershipService has a dependency with ASP.NET Membership Provider. Dependency Injection in NerdDinner using NinjectThe below steps will configure Ninject to apply controller injection in NerdDinner application.Step 1 – Add reference for NinjectOpen the  NerdDinner application and add  reference to Ninject.dll and Ninject.Web.Mvc.dll. Both are available from http://github.com/enkari/ninject and http://github.com/enkari/ninject.web.mvcStep 2 – Extend HttpApplication with NinjectHttpApplication Ninject.Web.Mvc extension allows integration between the Ninject and ASP.NET MVC. For this, you have to extend your HttpApplication with NinjectHttpApplication. Open the Global.asax.cs and inherit your MVC application from  NinjectHttpApplication instead of HttpApplication.   public class MvcApplication : NinjectHttpApplication Then the Application_Start method should be replace with OnApplicationStarted method. Inside the OnApplicationStarted method, call the RegisterAllControllersIn() method.   protected override void OnApplicationStarted() {     AreaRegistration.RegisterAllAreas();     RegisterRoutes(RouteTable.Routes);     ViewEngines.Engines.Clear();     ViewEngines.Engines.Add(new MobileCapableWebFormViewEngine());     RegisterAllControllersIn(Assembly.GetExecutingAssembly()); }  The RegisterAllControllersIn method will enables to activating all controllers through Ninject in the assembly you have supplied .We are passing the current assembly as parameter for RegisterAllControllersIn() method. Now we can expose dependencies of controller constructors and properties to request injectionsStep 3 – Create Ninject ModulesWe can configure your dependency injection mapping information using Ninject Modules.Modules just need to implement the INinjectModule interface, but most should extend the NinjectModule class for simplicity. internal class ServiceModule : NinjectModule {     public override void Load()     {                    Bind<IFormsAuthentication>().To<FormsAuthenticationService>();         Bind<IMembershipService>().To<AccountMembershipService>();                  Bind<MembershipProvider>().ToConstant(Membership.Provider);         Bind<IDinnerRepository>().To<DinnerRepository>();     } } The above Binding inforamtion specified in the Load method tells the Ninject container that, to inject instance of DinnerRepositiry when there is a request for IDinnerRepositiry and  inject instance of FormsAuthenticationService when there is a request for IFormsAuthentication and inject instance of AccountMembershipService when there is a request for IMembershipService. The AccountMembershipService class has a dependency with ASP.NET Membership provider. So we configure that inject the instance of Membership Provider. When configuring the binding information, you can specify the object scope in you application.There are four built-in scopes available in Ninject:Transient  -  A new instance of the type will be created each time one is requested. (This is the default scope). Binding method is .InTransientScope()   Singleton - Only a single instance of the type will be created, and the same instance will be returned for each subsequent request. Binding method is .InSingletonScope()Thread -  One instance of the type will be created per thread. Binding method is .InThreadScope() Request -  One instance of the type will be created per web request, and will be destroyed when the request ends. Binding method is .InRequestScope() Step 4 – Configure the Ninject KernelOnce you create NinjectModule, you load them into a container called the kernel. To request an instance of a type from Ninject, you call the Get() extension method. We can configure the kernel, through the CreateKernel method in the Global.asax.cs. protected override IKernel CreateKernel() {     var modules = new INinjectModule[]     {         new ServiceModule()     };       return new StandardKernel(modules); } Here we are loading the Ninject Module (ServiceModule class created in the step 3)  onto the container called the kernel for performing dependency injection.Source CodeYou can download the source code from http://nerddinneraddons.codeplex.com. I just put the modified source code onto CodePlex repository. The repository will update with more add-ons for the NerdDinner application.

    Read the article

  • Top things web developers should know about the Visual Studio 2013 release

    - by Jon Galloway
    ASP.NET and Web Tools for Visual Studio 2013 Release NotesASP.NET and Web Tools for Visual Studio 2013 Release NotesSummary for lazy readers: Visual Studio 2013 is now available for download on the Visual Studio site and on MSDN subscriber downloads) Visual Studio 2013 installs side by side with Visual Studio 2012 and supports round-tripping between Visual Studio versions, so you can try it out without committing to a switch Visual Studio 2013 ships with the new version of ASP.NET, which includes ASP.NET MVC 5, ASP.NET Web API 2, Razor 3, Entity Framework 6 and SignalR 2.0 The new releases ASP.NET focuses on One ASP.NET, so core features and web tools work the same across the platform (e.g. adding ASP.NET MVC controllers to a Web Forms application) New core features include new templates based on Bootstrap, a new scaffolding system, and a new identity system Visual Studio 2013 is an incredible editor for web files, including HTML, CSS, JavaScript, Markdown, LESS, Coffeescript, Handlebars, Angular, Ember, Knockdown, etc. Top links: Visual Studio 2013 content on the ASP.NET site are in the standard new releases area: http://www.asp.net/vnext ASP.NET and Web Tools for Visual Studio 2013 Release Notes Short intro videos on the new Visual Studio web editor features from Scott Hanselman and Mads Kristensen Announcing release of ASP.NET and Web Tools for Visual Studio 2013 post on the official .NET Web Development and Tools Blog Scott Guthrie's post: Announcing the Release of Visual Studio 2013 and Great Improvements to ASP.NET and Entity Framework Okay, for those of you who are still with me, let's dig in a bit. Quick web dev notes on downloading and installing Visual Studio 2013 I found Visual Studio 2013 to be a pretty fast install. According to Brian Harry's release post, installing over pre-release versions of Visual Studio is supported.  I've installed the release version over pre-release versions, and it worked fine. If you're only going to be doing web development, you can speed up the install if you just select Web Developer tools. Of course, as a good Microsoft employee, I'll mention that you might also want to install some of those other features, like the Store apps for Windows 8 and the Windows Phone 8.0 SDK, but they do download and install a lot of other stuff (e.g. the Windows Phone SDK sets up Hyper-V and downloads several GB's of VM's). So if you're planning just to do web development for now, you can pick just the Web Developer Tools and install the other stuff later. If you've got a fast internet connection, I recommend using the web installer instead of downloading the ISO. The ISO includes all the features, whereas the web installer just downloads what you're installing. Visual Studio 2013 development settings and color theme When you start up Visual Studio, it'll prompt you to pick some defaults. These are totally up to you -whatever suits your development style - and you can change them later. As I said, these are completely up to you. I recommend either the Web Development or Web Development (Code Only) settings. The only real difference is that Code Only hides the toolbars, and you can switch between them using Tools / Import and Export Settings / Reset. Web Development settings Web Development (code only) settings Usually I've just gone with Web Development (code only) in the past because I just want to focus on the code, although the Standard toolbar does make it easier to switch default web browsers. More on that later. Color theme Sigh. Okay, everyone's got their favorite colors. I alternate between Light and Dark depending on my mood, and I personally like how the low contrast on the window chrome in those themes puts the emphasis on my code rather than the tabs and toolbars. I know some people got pretty worked up over that, though, and wanted the blue theme back. I personally don't like it - it reminds me of ancient versions of Visual Studio that I don't want to think about anymore. So here's the thing: if you install Visual Studio Ultimate, it defaults to Blue. The other versions default to Light. If you use Blue, I won't criticize you - out loud, that is. You can change themes really easily - either Tools / Options / Environment / General, or the smart way: ctrl+q for quick launch, then type Theme and hit enter. Signing in During the first run, you'll be prompted to sign in. You don't have to - you can click the "Not now, maybe later" link at the bottom of that dialog. I recommend signing in, though. It's not hooked in with licensing or tracking the kind of code you write to sell you components. It is doing good things, like  syncing your Visual Studio settings between computers. More about that here. So, you don't have to, but I sure do. Overview of shiny new things in ASP.NET land There are a lot of good new things in ASP.NET. I'll list some of my favorite here, but you can read more on the ASP.NET site. One ASP.NET You've heard us talk about this for a while. The idea is that options are good, but choice can be a burden. When you start a new ASP.NET project, why should you have to make a tough decision - with long-term consequences - about how your application will work? If you want to use ASP.NET Web Forms, but have the option of adding in ASP.NET MVC later, why should that be hard? It's all ASP.NET, right? Ideally, you'd just decide that you want to use ASP.NET to build sites and services, and you could use the appropriate tools (the green blocks below) as you needed them. So, here it is. When you create a new ASP.NET application, you just create an ASP.NET application. Next, you can pick from some templates to get you started... but these are different. They're not "painful decision" templates, they're just some starting pieces. And, most importantly, you can mix and match. I can pick a "mostly" Web Forms template, but include MVC and Web API folders and core references. If you've tried to mix and match in the past, you're probably aware that it was possible, but not pleasant. ASP.NET MVC project files contained special project type GUIDs, so you'd only get controller scaffolding support in a Web Forms project if you manually edited the csproj file. Features in one stack didn't work in others. Project templates were painful choices. That's no longer the case. Hooray! I just did a demo in a presentation last week where I created a new Web Forms + MVC + Web API site, built a model, scaffolded MVC and Web API controllers with EF Code First, add data in the MVC view, viewed it in Web API, then added a GridView to the Web Forms Default.aspx page and bound it to the Model. In about 5 minutes. Sure, it's a simple example, but it's great to be able to share code and features across the whole ASP.NET family. Authentication In the past, authentication was built into the templates. So, for instance, there was an ASP.NET MVC 4 Intranet Project template which created a new ASP.NET MVC 4 application that was preconfigured for Windows Authentication. All of that authentication stuff was built into each template, so they varied between the stacks, and you couldn't reuse them. You didn't see a lot of changes to the authentication options, since they required big changes to a bunch of project templates. Now, the new project dialog includes a common authentication experience. When you hit the Change Authentication button, you get some common options that work the same way regardless of the template or reference settings you've made. These options work on all ASP.NET frameworks, and all hosting environments (IIS, IIS Express, or OWIN for self-host) The default is Individual User Accounts: This is the standard "create a local account, using username / password or OAuth" thing; however, it's all built on the new Identity system. More on that in a second. The one setting that has some configuration to it is Organizational Accounts, which lets you configure authentication using Active Directory, Windows Azure Active Directory, or Office 365. Identity There's a new identity system. We've taken the best parts of the previous ASP.NET Membership and Simple Identity systems, rolled in a lot of feedback and made big enhancements to support important developer concerns like unit testing and extensiblity. I've written long posts about ASP.NET identity, and I'll do it again. Soon. This is not that post. The short version is that I think we've finally got just the right Identity system. Some of my favorite features: There are simple, sensible defaults that work well - you can File / New / Run / Register / Login, and everything works. It supports standard username / password as well as external authentication (OAuth, etc.). It's easy to customize without having to re-implement an entire provider. It's built using pluggable pieces, rather than one large monolithic system. It's built using interfaces like IUser and IRole that allow for unit testing, dependency injection, etc. You can easily add user profile data (e.g. URL, twitter handle, birthday). You just add properties to your ApplicationUser model and they'll automatically be persisted. Complete control over how the identity data is persisted. By default, everything works with Entity Framework Code First, but it's built to support changes from small (modify the schema) to big (use another ORM, store your data in a document database or in the cloud or in XML or in the EXIF data of your desktop background or whatever). It's configured via OWIN. More on OWIN and Katana later, but the fact that it's built using OWIN means it's portable. You can find out more in the Authentication and Identity section of the ASP.NET site (and lots more content will be going up there soon). New Bootstrap based project templates The new project templates are built using Bootstrap 3. Bootstrap (formerly Twitter Bootstrap) is a front-end framework that brings a lot of nice benefits: It's responsive, so your projects will automatically scale to device width using CSS media queries. For example, menus are full size on a desktop browser, but on narrower screens you automatically get a mobile-friendly menu. The built-in Bootstrap styles make your standard page elements (headers, footers, buttons, form inputs, tables etc.) look nice and modern. Bootstrap is themeable, so you can reskin your whole site by dropping in a new Bootstrap theme. Since Bootstrap is pretty popular across the web development community, this gives you a large and rapidly growing variety of templates (free and paid) to choose from. Bootstrap also includes a lot of very useful things: components (like progress bars and badges), useful glyphicons, and some jQuery plugins for tooltips, dropdowns, carousels, etc.). Here's a look at how the responsive part works. When the page is full screen, the menu and header are optimized for a wide screen display: When I shrink the page down (this is all based on page width, not useragent sniffing) the menu turns into a nice mobile-friendly dropdown: For a quick example, I grabbed a new free theme off bootswatch.com. For simple themes, you just need to download the boostrap.css file and replace the /content/bootstrap.css file in your project. Now when I refresh the page, I've got a new theme: Scaffolding The big change in scaffolding is that it's one system that works across ASP.NET. You can create a new Empty Web project or Web Forms project and you'll get the Scaffold context menus. For release, we've got MVC 5 and Web API 2 controllers. We had a preview of Web Forms scaffolding in the preview releases, but they weren't fully baked for RTM. Look for them in a future update, expected pretty soon. This scaffolding system wasn't just changed to work across the ASP.NET frameworks, it's also built to enable future extensibility. That's not in this release, but should also hopefully be out soon. Project Readme page This is a small thing, but I really like it. When you create a new project, you get a Project_Readme.html page that's added to the root of your project and opens in the Visual Studio built-in browser. I love it. A long time ago, when you created a new project we just dumped it on you and left you scratching your head about what to do next. Not ideal. Then we started adding a bunch of Getting Started information to the new project templates. That told you what to do next, but you had to delete all of that stuff out of your website. It doesn't belong there. Not ideal. This is a simple HTML file that's not integrated into your project code at all. You can delete it if you want. But, it shows a lot of helpful links that are current for the project you just created. In the future, if we add new wacky project types, they can create readme docs with specific information on how to do appropriately wacky things. Side note: I really like that they used the internal browser in Visual Studio to show this content rather than popping open an HTML page in the default browser. I hate that. It's annoying. If you're doing that, I hope you'll stop. What if some unnamed person has 40 or 90 tabs saved in their browser session? When you pop open your "Thanks for installing my Visual Studio extension!" page, all eleventy billion tabs start up and I wish I'd never installed your thing. Be like these guys and pop stuff Visual Studio specific HTML docs in the Visual Studio browser. ASP.NET MVC 5 The biggest change with ASP.NET MVC 5 is that it's no longer a separate project type. It integrates well with the rest of ASP.NET. In addition to that and the other common features we've already looked at (Bootstrap templates, Identity, authentication), here's what's new for ASP.NET MVC. Attribute routing ASP.NET MVC now supports attribute routing, thanks to a contribution by Tim McCall, the author of http://attributerouting.net. With attribute routing you can specify your routes by annotating your actions and controllers. This supports some pretty complex, customized routing scenarios, and it allows you to keep your route information right with your controller actions if you'd like. Here's a controller that includes an action whose method name is Hiding, but I've used AttributeRouting to configure it to /spaghetti/with-nesting/where-is-waldo public class SampleController : Controller { [Route("spaghetti/with-nesting/where-is-waldo")] public string Hiding() { return "You found me!"; } } I enable that in my RouteConfig.cs, and I can use that in conjunction with my other MVC routes like this: public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapMvcAttributeRoutes(); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } } You can read more about Attribute Routing in ASP.NET MVC 5 here. Filter enhancements There are two new additions to filters: Authentication Filters and Filter Overrides. Authentication filters are a new kind of filter in ASP.NET MVC that run prior to authorization filters in the ASP.NET MVC pipeline and allow you to specify authentication logic per-action, per-controller, or globally for all controllers. Authentication filters process credentials in the request and provide a corresponding principal. Authentication filters can also add authentication challenges in response to unauthorized requests. Override filters let you change which filters apply to a given action method or controller. Override filters specify a set of filter types that should not be run for a given scope (action or controller). This allows you to configure filters that apply globally but then exclude certain global filters from applying to specific actions or controllers. ASP.NET Web API 2 ASP.NET Web API 2 includes a lot of new features. Attribute Routing ASP.NET Web API supports the same attribute routing system that's in ASP.NET MVC 5. You can read more about the Attribute Routing features in Web API in this article. OAuth 2.0 ASP.NET Web API picks up OAuth 2.0 support, using security middleware running on OWIN (discussed below). This is great for features like authenticated Single Page Applications. OData Improvements ASP.NET Web API now has full OData support. That required adding in some of the most powerful operators: $select, $expand, $batch and $value. You can read more about OData operator support in this article by Mike Wasson. Lots more There's a huge list of other features, including CORS (cross-origin request sharing), IHttpActionResult, IHttpRequestContext, and more. I think the best overview is in the release notes. OWIN and Katana I've written about OWIN and Katana recently. I'm a big fan. OWIN is the Open Web Interfaces for .NET. It's a spec, like HTML or HTTP, so you can't install OWIN. The benefit of OWIN is that it's a community specification, so anyone who implements it can plug into the ASP.NET stack, either as middleware or as a host. Katana is the Microsoft implementation of OWIN. It leverages OWIN to wire up things like authentication, handlers, modules, IIS hosting, etc., so ASP.NET can host OWIN components and Katana components can run in someone else's OWIN implementation. Howard Dierking just wrote a cool article in MSDN magazine describing Katana in depth: Getting Started with the Katana Project. He had an interesting example showing an OWIN based pipeline which leveraged SignalR, ASP.NET Web API and NancyFx components in the same stack. If this kind of thing makes sense to you, that's great. If it doesn't, don't worry, but keep an eye on it. You're going to see some cool things happen as a result of ASP.NET becoming more and more pluggable. Visual Studio Web Tools Okay, this stuff's just crazy. Visual Studio has been adding some nice web dev features over the past few years, but they've really cranked it up for this release. Visual Studio is by far my favorite code editor for all web files: CSS, HTML, JavaScript, and lots of popular libraries. Stop thinking of Visual Studio as a big editor that you only use to write back-end code. Stop editing HTML and CSS in Notepad (or Sublime, Notepad++, etc.). Visual Studio starts up in under 2 seconds on a modern computer with an SSD. Misspelling HTML attributes or your CSS classes or jQuery or Angular syntax is stupid. It doesn't make you a better developer, it makes you a silly person who wastes time. Browser Link Browser Link is a real-time, two-way connection between Visual Studio and all connected browsers. It's only attached when you're running locally, in debug, but it applies to any and all connected browser, including emulators. You may have seen demos that showed the browsers refreshing based on changes in the editor, and I'll agree that's pretty cool. But it's really just the start. It's a two-way connection, and it's built for extensiblity. That means you can write extensions that push information from your running application (in IE, Chrome, a mobile emulator, etc.) back to Visual Studio. Mads and team have showed off some demonstrations where they enabled edit mode in the browser which updated the source HTML back on the browser. It's also possible to look at how the rendered HTML performs, check for compatibility issues, watch for unused CSS classes, the sky's the limit. New HTML editor The previous HTML editor had a lot of old code that didn't allow for improvements. The team rewrote the HTML editor to take advantage of the new(ish) extensibility features in Visual Studio, which then allowed them to add in all kinds of features - things like CSS Class and ID IntelliSense (so you type style="" and get a list of classes and ID's for your project), smart indent based on how your document is formatted, JavaScript reference auto-sync, etc. Here's a 3 minute tour from Mads Kristensen. The previous HTML editor had a lot of old code that didn't allow for improvements. The team rewrote the HTML editor to take advantage of the new(ish) extensibility features in Visual Studio, which then allowed them to add in all kinds of features - things like CSS Class and ID IntelliSense (so you type style="" and get a list of classes and ID's for your project), smart indent based on how your document is formatted, JavaScript reference auto-sync, etc. Lots more Visual Studio web dev features That's just a sampling - there's a ton of great features for JavaScript editing, CSS editing, publishing, and Page Inspector (which shows real-time rendering of your page inside Visual Studio). Here are some more short videos showing those features. Lots, lots more Okay, that's just a summary, and it's still quite a bit. Head on over to http://asp.net/vnext for more information, and download Visual Studio 2013 now to get started!

    Read the article

  • Camera for 2.5D Game

    - by me--
    I'm hoping someone can explain this to me like I'm 5, because I've been struggling with this for hours and simply cannot understand what I'm doing wrong. I've written a Camera class for my 2.5D game. The intention is to support world and screen spaces like this: The camera is the black thing on the right. The +Z axis is upwards in that image, with -Z heading downwards. As you can see, both world space and screen space have (0, 0) at their top-left. I started writing some unit tests to prove that my camera was working as expected, and that's where things started getting...strange. My tests plot coordinates in world, view, and screen spaces. Eventually I will use image comparison to assert that they are correct, but for now my test just displays the result. The render logic uses Camera.ViewMatrix to transform world space to view space, and Camera.WorldPointToScreen to transform world space to screen space. Here is an example test: [Fact] public void foo() { var camera = new Camera(new Viewport(0, 0, 250, 100)); DrawingVisual worldRender; DrawingVisual viewRender; DrawingVisual screenRender; this.Render(camera, out worldRender, out viewRender, out screenRender, new Vector3(30, 0, 0), new Vector3(30, 40, 0)); this.ShowRenders(camera, worldRender, viewRender, screenRender); } And here's what pops up when I run this test: World space looks OK, although I suspect the z axis is going into the screen instead of towards the viewer. View space has me completely baffled. I was expecting the camera to be sitting above (0, 0) and looking towards the center of the scene. Instead, the z axis seems to be the wrong way around, and the camera is positioned in the opposite corner to what I expect! I suspect screen space will be another thing altogether, but can anyone explain what I'm doing wrong in my Camera class? UPDATE I made some progress in terms of getting things to look visually as I expect, but only through intuition: not an actual understanding of what I'm doing. Any enlightenment would be greatly appreciated. I realized that my view space was flipped both vertically and horizontally compared to what I expected, so I changed my view matrix to scale accordingly: this.viewMatrix = Matrix.CreateLookAt(this.location, this.target, this.up) * Matrix.CreateScale(this.zoom, this.zoom, 1) * Matrix.CreateScale(-1, -1, 1); I could combine the two CreateScale calls, but have left them separate for clarity. Again, I have no idea why this is necessary, but it fixed my view space: But now my screen space needs to be flipped vertically, so I modified my projection matrix accordingly: this.projectionMatrix = Matrix.CreatePerspectiveFieldOfView(0.7853982f, viewport.AspectRatio, 1, 2) * Matrix.CreateScale(1, -1, 1); And this results in what I was expecting from my first attempt: I have also just tried using Camera to render sprites via a SpriteBatch to make sure everything works there too, and it does. But the question remains: why do I need to do all this flipping of axes to get the space coordinates the way I expect? UPDATE 2 I've since improved my rendering logic in my test suite so that it supports geometries and so that lines get lighter the further away they are from the camera. I wanted to do this to avoid optical illusions and to further prove to myself that I'm looking at what I think I am. Here is an example: In this case, I have 3 geometries: a cube, a sphere, and a polyline on the top face of the cube. Notice how the darkening and lightening of the lines correctly identifies those portions of the geometries closer to the camera. If I remove the negative scaling I had to put in, I see: So you can see I'm still in the same boat - I still need those vertical and horizontal flips in my matrices to get things to appear correctly. In the interests of giving people a repro to play with, here is the complete code needed to generate the above. If you want to run via the test harness, just install the xunit package: Camera.cs: using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using System.Diagnostics; public sealed class Camera { private readonly Viewport viewport; private readonly Matrix projectionMatrix; private Matrix? viewMatrix; private Vector3 location; private Vector3 target; private Vector3 up; private float zoom; public Camera(Viewport viewport) { this.viewport = viewport; // for an explanation of the negative scaling, see: http://gamedev.stackexchange.com/questions/63409/ this.projectionMatrix = Matrix.CreatePerspectiveFieldOfView(0.7853982f, viewport.AspectRatio, 1, 2) * Matrix.CreateScale(1, -1, 1); // defaults this.location = new Vector3(this.viewport.Width / 2, this.viewport.Height, 100); this.target = new Vector3(this.viewport.Width / 2, this.viewport.Height / 2, 0); this.up = new Vector3(0, 0, 1); this.zoom = 1; } public Viewport Viewport { get { return this.viewport; } } public Vector3 Location { get { return this.location; } set { this.location = value; this.viewMatrix = null; } } public Vector3 Target { get { return this.target; } set { this.target = value; this.viewMatrix = null; } } public Vector3 Up { get { return this.up; } set { this.up = value; this.viewMatrix = null; } } public float Zoom { get { return this.zoom; } set { this.zoom = value; this.viewMatrix = null; } } public Matrix ProjectionMatrix { get { return this.projectionMatrix; } } public Matrix ViewMatrix { get { if (this.viewMatrix == null) { // for an explanation of the negative scaling, see: http://gamedev.stackexchange.com/questions/63409/ this.viewMatrix = Matrix.CreateLookAt(this.location, this.target, this.up) * Matrix.CreateScale(this.zoom) * Matrix.CreateScale(-1, -1, 1); } return this.viewMatrix.Value; } } public Vector2 WorldPointToScreen(Vector3 point) { var result = viewport.Project(point, this.ProjectionMatrix, this.ViewMatrix, Matrix.Identity); return new Vector2(result.X, result.Y); } public void WorldPointsToScreen(Vector3[] points, Vector2[] destination) { Debug.Assert(points != null); Debug.Assert(destination != null); Debug.Assert(points.Length == destination.Length); for (var i = 0; i < points.Length; ++i) { destination[i] = this.WorldPointToScreen(points[i]); } } } CameraFixture.cs: using Microsoft.Xna.Framework.Graphics; using System; using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Media; using Xunit; using XNA = Microsoft.Xna.Framework; public sealed class CameraFixture { [Fact] public void foo() { var camera = new Camera(new Viewport(0, 0, 250, 100)); DrawingVisual worldRender; DrawingVisual viewRender; DrawingVisual screenRender; this.Render( camera, out worldRender, out viewRender, out screenRender, new Sphere(30, 15) { WorldMatrix = XNA.Matrix.CreateTranslation(155, 50, 0) }, new Cube(30) { WorldMatrix = XNA.Matrix.CreateTranslation(75, 60, 15) }, new PolyLine(new XNA.Vector3(0, 0, 0), new XNA.Vector3(10, 10, 0), new XNA.Vector3(20, 0, 0), new XNA.Vector3(0, 0, 0)) { WorldMatrix = XNA.Matrix.CreateTranslation(65, 55, 30) }); this.ShowRenders(worldRender, viewRender, screenRender); } #region Supporting Fields private static readonly Pen xAxisPen = new Pen(Brushes.Red, 2); private static readonly Pen yAxisPen = new Pen(Brushes.Green, 2); private static readonly Pen zAxisPen = new Pen(Brushes.Blue, 2); private static readonly Pen viewportPen = new Pen(Brushes.Gray, 1); private static readonly Pen nonScreenSpacePen = new Pen(Brushes.Black, 0.5); private static readonly Color geometryBaseColor = Colors.Black; #endregion #region Supporting Methods private void Render(Camera camera, out DrawingVisual worldRender, out DrawingVisual viewRender, out DrawingVisual screenRender, params Geometry[] geometries) { var worldDrawingVisual = new DrawingVisual(); var viewDrawingVisual = new DrawingVisual(); var screenDrawingVisual = new DrawingVisual(); const int axisLength = 15; using (var worldDrawingContext = worldDrawingVisual.RenderOpen()) using (var viewDrawingContext = viewDrawingVisual.RenderOpen()) using (var screenDrawingContext = screenDrawingVisual.RenderOpen()) { // draw lines around the camera's viewport var viewportBounds = camera.Viewport.Bounds; var viewportLines = new Tuple<int, int, int, int>[] { Tuple.Create(viewportBounds.Left, viewportBounds.Bottom, viewportBounds.Left, viewportBounds.Top), Tuple.Create(viewportBounds.Left, viewportBounds.Top, viewportBounds.Right, viewportBounds.Top), Tuple.Create(viewportBounds.Right, viewportBounds.Top, viewportBounds.Right, viewportBounds.Bottom), Tuple.Create(viewportBounds.Right, viewportBounds.Bottom, viewportBounds.Left, viewportBounds.Bottom) }; foreach (var viewportLine in viewportLines) { var viewStart = XNA.Vector3.Transform(new XNA.Vector3(viewportLine.Item1, viewportLine.Item2, 0), camera.ViewMatrix); var viewEnd = XNA.Vector3.Transform(new XNA.Vector3(viewportLine.Item3, viewportLine.Item4, 0), camera.ViewMatrix); var screenStart = camera.WorldPointToScreen(new XNA.Vector3(viewportLine.Item1, viewportLine.Item2, 0)); var screenEnd = camera.WorldPointToScreen(new XNA.Vector3(viewportLine.Item3, viewportLine.Item4, 0)); worldDrawingContext.DrawLine(viewportPen, new Point(viewportLine.Item1, viewportLine.Item2), new Point(viewportLine.Item3, viewportLine.Item4)); viewDrawingContext.DrawLine(viewportPen, new Point(viewStart.X, viewStart.Y), new Point(viewEnd.X, viewEnd.Y)); screenDrawingContext.DrawLine(viewportPen, new Point(screenStart.X, screenStart.Y), new Point(screenEnd.X, screenEnd.Y)); } // draw axes var axisLines = new Tuple<int, int, int, int, int, int, Pen>[] { Tuple.Create(0, 0, 0, axisLength, 0, 0, xAxisPen), Tuple.Create(0, 0, 0, 0, axisLength, 0, yAxisPen), Tuple.Create(0, 0, 0, 0, 0, axisLength, zAxisPen) }; foreach (var axisLine in axisLines) { var viewStart = XNA.Vector3.Transform(new XNA.Vector3(axisLine.Item1, axisLine.Item2, axisLine.Item3), camera.ViewMatrix); var viewEnd = XNA.Vector3.Transform(new XNA.Vector3(axisLine.Item4, axisLine.Item5, axisLine.Item6), camera.ViewMatrix); var screenStart = camera.WorldPointToScreen(new XNA.Vector3(axisLine.Item1, axisLine.Item2, axisLine.Item3)); var screenEnd = camera.WorldPointToScreen(new XNA.Vector3(axisLine.Item4, axisLine.Item5, axisLine.Item6)); worldDrawingContext.DrawLine(axisLine.Item7, new Point(axisLine.Item1, axisLine.Item2), new Point(axisLine.Item4, axisLine.Item5)); viewDrawingContext.DrawLine(axisLine.Item7, new Point(viewStart.X, viewStart.Y), new Point(viewEnd.X, viewEnd.Y)); screenDrawingContext.DrawLine(axisLine.Item7, new Point(screenStart.X, screenStart.Y), new Point(screenEnd.X, screenEnd.Y)); } // for all points in all geometries to be rendered, find the closest and furthest away from the camera so we can lighten lines that are further away var distancesToAllGeometrySections = from geometry in geometries let geometryViewMatrix = geometry.WorldMatrix * camera.ViewMatrix from section in geometry.Sections from point in new XNA.Vector3[] { section.Item1, section.Item2 } let viewPoint = XNA.Vector3.Transform(point, geometryViewMatrix) select viewPoint.Length(); var furthestDistance = distancesToAllGeometrySections.Max(); var closestDistance = distancesToAllGeometrySections.Min(); var deltaDistance = Math.Max(0.000001f, furthestDistance - closestDistance); // draw each geometry for (var i = 0; i < geometries.Length; ++i) { var geometry = geometries[i]; // there's probably a more correct name for this, but basically this gets the geometry relative to the camera so we can check how far away each point is from the camera var geometryViewMatrix = geometry.WorldMatrix * camera.ViewMatrix; // we order roughly by those sections furthest from the camera to those closest, so that the closer ones "overwrite" the ones further away var orderedSections = from section in geometry.Sections let startPointRelativeToCamera = XNA.Vector3.Transform(section.Item1, geometryViewMatrix) let endPointRelativeToCamera = XNA.Vector3.Transform(section.Item2, geometryViewMatrix) let startPointDistance = startPointRelativeToCamera.Length() let endPointDistance = endPointRelativeToCamera.Length() orderby (startPointDistance + endPointDistance) descending select new { Section = section, DistanceToStart = startPointDistance, DistanceToEnd = endPointDistance }; foreach (var orderedSection in orderedSections) { var start = XNA.Vector3.Transform(orderedSection.Section.Item1, geometry.WorldMatrix); var end = XNA.Vector3.Transform(orderedSection.Section.Item2, geometry.WorldMatrix); var viewStart = XNA.Vector3.Transform(start, camera.ViewMatrix); var viewEnd = XNA.Vector3.Transform(end, camera.ViewMatrix); worldDrawingContext.DrawLine(nonScreenSpacePen, new Point(start.X, start.Y), new Point(end.X, end.Y)); viewDrawingContext.DrawLine(nonScreenSpacePen, new Point(viewStart.X, viewStart.Y), new Point(viewEnd.X, viewEnd.Y)); // screen rendering is more complicated purely because I wanted geometry to fade the further away it is from the camera // otherwise, it's very hard to tell whether the rendering is actually correct or not var startDistanceRatio = (orderedSection.DistanceToStart - closestDistance) / deltaDistance; var endDistanceRatio = (orderedSection.DistanceToEnd - closestDistance) / deltaDistance; // lerp towards white based on distance from camera, but only to a maximum of 90% var startColor = Lerp(geometryBaseColor, Colors.White, startDistanceRatio * 0.9f); var endColor = Lerp(geometryBaseColor, Colors.White, endDistanceRatio * 0.9f); var screenStart = camera.WorldPointToScreen(start); var screenEnd = camera.WorldPointToScreen(end); var brush = new LinearGradientBrush { StartPoint = new Point(screenStart.X, screenStart.Y), EndPoint = new Point(screenEnd.X, screenEnd.Y), MappingMode = BrushMappingMode.Absolute }; brush.GradientStops.Add(new GradientStop(startColor, 0)); brush.GradientStops.Add(new GradientStop(endColor, 1)); var pen = new Pen(brush, 1); brush.Freeze(); pen.Freeze(); screenDrawingContext.DrawLine(pen, new Point(screenStart.X, screenStart.Y), new Point(screenEnd.X, screenEnd.Y)); } } } worldRender = worldDrawingVisual; viewRender = viewDrawingVisual; screenRender = screenDrawingVisual; } private static float Lerp(float start, float end, float amount) { var difference = end - start; var adjusted = difference * amount; return start + adjusted; } private static Color Lerp(Color color, Color to, float amount) { var sr = color.R; var sg = color.G; var sb = color.B; var er = to.R; var eg = to.G; var eb = to.B; var r = (byte)Lerp(sr, er, amount); var g = (byte)Lerp(sg, eg, amount); var b = (byte)Lerp(sb, eb, amount); return Color.FromArgb(255, r, g, b); } private void ShowRenders(DrawingVisual worldRender, DrawingVisual viewRender, DrawingVisual screenRender) { var itemsControl = new ItemsControl(); itemsControl.Items.Add(new HeaderedContentControl { Header = "World", Content = new DrawingVisualHost(worldRender)}); itemsControl.Items.Add(new HeaderedContentControl { Header = "View", Content = new DrawingVisualHost(viewRender) }); itemsControl.Items.Add(new HeaderedContentControl { Header = "Screen", Content = new DrawingVisualHost(screenRender) }); var window = new Window { Title = "Renders", Content = itemsControl, ShowInTaskbar = true, SizeToContent = SizeToContent.WidthAndHeight }; window.ShowDialog(); } #endregion #region Supporting Types // stupidly simple 3D geometry class, consisting of a series of sections that will be connected by lines private abstract class Geometry { public abstract IEnumerable<Tuple<XNA.Vector3, XNA.Vector3>> Sections { get; } public XNA.Matrix WorldMatrix { get; set; } } private sealed class Line : Geometry { private readonly XNA.Vector3 magnitude; public Line(XNA.Vector3 magnitude) { this.magnitude = magnitude; } public override IEnumerable<Tuple<XNA.Vector3, XNA.Vector3>> Sections { get { yield return Tuple.Create(XNA.Vector3.Zero, this.magnitude); } } } private sealed class PolyLine : Geometry { private readonly XNA.Vector3[] points; public PolyLine(params XNA.Vector3[] points) { this.points = points; } public override IEnumerable<Tuple<XNA.Vector3, XNA.Vector3>> Sections { get { if (this.points.Length < 2) { yield break; } var end = this.points[0]; for (var i = 1; i < this.points.Length; ++i) { var start = end; end = this.points[i]; yield return Tuple.Create(start, end); } } } } private sealed class Cube : Geometry { private readonly float size; public Cube(float size) { this.size = size; } public override IEnumerable<Tuple<XNA.Vector3, XNA.Vector3>> Sections { get { var halfSize = this.size / 2; var frontBottomLeft = new XNA.Vector3(-halfSize, halfSize, -halfSize); var frontBottomRight = new XNA.Vector3(halfSize, halfSize, -halfSize); var frontTopLeft = new XNA.Vector3(-halfSize, halfSize, halfSize); var frontTopRight = new XNA.Vector3(halfSize, halfSize, halfSize); var backBottomLeft = new XNA.Vector3(-halfSize, -halfSize, -halfSize); var backBottomRight = new XNA.Vector3(halfSize, -halfSize, -halfSize); var backTopLeft = new XNA.Vector3(-halfSize, -halfSize, halfSize); var backTopRight = new XNA.Vector3(halfSize, -halfSize, halfSize); // front face yield return Tuple.Create(frontBottomLeft, frontBottomRight); yield return Tuple.Create(frontBottomLeft, frontTopLeft); yield return Tuple.Create(frontTopLeft, frontTopRight); yield return Tuple.Create(frontTopRight, frontBottomRight); // left face yield return Tuple.Create(frontTopLeft, backTopLeft); yield return Tuple.Create(backTopLeft, backBottomLeft); yield return Tuple.Create(backBottomLeft, frontBottomLeft); // right face yield return Tuple.Create(frontTopRight, backTopRight); yield return Tuple.Create(backTopRight, backBottomRight); yield return Tuple.Create(backBottomRight, frontBottomRight); // back face yield return Tuple.Create(backBottomLeft, backBottomRight); yield return Tuple.Create(backTopLeft, backTopRight); } } } private sealed class Sphere : Geometry { private readonly float radius; private readonly int subsections; public Sphere(float radius, int subsections) { this.radius = radius; this.subsections = subsections; } public override IEnumerable<Tuple<XNA.Vector3, XNA.Vector3>> Sections { get { var latitudeLines = this.subsections; var longitudeLines = this.subsections; // see http://stackoverflow.com/a/4082020/5380 var results = from latitudeLine in Enumerable.Range(0, latitudeLines) from longitudeLine in Enumerable.Range(0, longitudeLines) let latitudeRatio = latitudeLine / (float)latitudeLines let longitudeRatio = longitudeLine / (float)longitudeLines let nextLatitudeRatio = (latitudeLine + 1) / (float)latitudeLines let nextLongitudeRatio = (longitudeLine + 1) / (float)longitudeLines let z1 = Math.Cos(Math.PI * latitudeRatio) let z2 = Math.Cos(Math.PI * nextLatitudeRatio) let x1 = Math.Sin(Math.PI * latitudeRatio) * Math.Cos(Math.PI * 2 * longitudeRatio) let y1 = Math.Sin(Math.PI * latitudeRatio) * Math.Sin(Math.PI * 2 * longitudeRatio) let x2 = Math.Sin(Math.PI * nextLatitudeRatio) * Math.Cos(Math.PI * 2 * longitudeRatio) let y2 = Math.Sin(Math.PI * nextLatitudeRatio) * Math.Sin(Math.PI * 2 * longitudeRatio) let x3 = Math.Sin(Math.PI * latitudeRatio) * Math.Cos(Math.PI * 2 * nextLongitudeRatio) let y3 = Math.Sin(Math.PI * latitudeRatio) * Math.Sin(Math.PI * 2 * nextLongitudeRatio) let start = new XNA.Vector3((float)x1 * radius, (float)y1 * radius, (float)z1 * radius) let firstEnd = new XNA.Vector3((float)x2 * radius, (float)y2 * radius, (float)z2 * radius) let secondEnd = new XNA.Vector3((float)x3 * radius, (float)y3 * radius, (float)z1 * radius) select new { First = Tuple.Create(start, firstEnd), Second = Tuple.Create(start, secondEnd) }; foreach (var result in results) { yield return result.First; yield return result.Second; } } } } #endregion }

    Read the article

  • Parallelism in .NET – Part 6, Declarative Data Parallelism

    - by Reed
    When working with a problem that can be decomposed by data, we have a collection, and some operation being performed upon the collection.  I’ve demonstrated how this can be parallelized using the Task Parallel Library and imperative programming using imperative data parallelism via the Parallel class.  While this provides a huge step forward in terms of power and capabilities, in many cases, special care must still be given for relative common scenarios. C# 3.0 and Visual Basic 9.0 introduced a new, declarative programming model to .NET via the LINQ Project.  When working with collections, we can now write software that describes what we want to occur without having to explicitly state how the program should accomplish the task.  By taking advantage of LINQ, many operations become much shorter, more elegant, and easier to understand and maintain.  Version 4.0 of the .NET framework extends this concept into the parallel computation space by introducing Parallel LINQ. Before we delve into PLINQ, let’s begin with a short discussion of LINQ.  LINQ, the extensions to the .NET Framework which implement language integrated query, set, and transform operations, is implemented in many flavors.  For our purposes, we are interested in LINQ to Objects.  When dealing with parallelizing a routine, we typically are dealing with in-memory data storage.  More data-access oriented LINQ variants, such as LINQ to SQL and LINQ to Entities in the Entity Framework fall outside of our concern, since the parallelism there is the concern of the data base engine processing the query itself. LINQ (LINQ to Objects in particular) works by implementing a series of extension methods, most of which work on IEnumerable<T>.  The language enhancements use these extension methods to create a very concise, readable alternative to using traditional foreach statement.  For example, let’s revisit our minimum aggregation routine we wrote in Part 4: double min = double.MaxValue; foreach(var item in collection) { double value = item.PerformComputation(); min = System.Math.Min(min, value); } .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } Here, we’re doing a very simple computation, but writing this in an imperative style.  This can be loosely translated to English as: Create a very large number, and save it in min Loop through each item in the collection. For every item: Perform some computation, and save the result If the computation is less than min, set min to the computation Although this is fairly easy to follow, it’s quite a few lines of code, and it requires us to read through the code, step by step, line by line, in order to understand the intention of the developer. We can rework this same statement, using LINQ: double min = collection.Min(item => item.PerformComputation()); Here, we’re after the same information.  However, this is written using a declarative programming style.  When we see this code, we’d naturally translate this to English as: Save the Min value of collection, determined via calling item.PerformComputation() That’s it – instead of multiple logical steps, we have one single, declarative request.  This makes the developer’s intentions very clear, and very easy to follow.  The system is free to implement this using whatever method required. Parallel LINQ (PLINQ) extends LINQ to Objects to support parallel operations.  This is a perfect fit in many cases when you have a problem that can be decomposed by data.  To show this, let’s again refer to our minimum aggregation routine from Part 4, but this time, let’s review our final, parallelized version: // Safe, and fast! double min = double.MaxValue; // Make a "lock" object object syncObject = new object(); Parallel.ForEach( collection, // First, we provide a local state initialization delegate. () => double.MaxValue, // Next, we supply the body, which takes the original item, loop state, // and local state, and returns a new local state (item, loopState, localState) => { double value = item.PerformComputation(); return System.Math.Min(localState, value); }, // Finally, we provide an Action<TLocal>, to "merge" results together localState => { // This requires locking, but it's only once per used thread lock(syncObj) min = System.Math.Min(min, localState); } ); Here, we’re doing the same computation as above, but fully parallelized.  Describing this in English becomes quite a feat: Create a very large number, and save it in min Create a temporary object we can use for locking Call Parallel.ForEach, specifying three delegates For the first delegate: Initialize a local variable to hold the local state to a very large number For the second delegate: For each item in the collection, perform some computation, save the result If the result is less than our local state, save the result in local state For the final delegate: Take a lock on our temporary object to protect our min variable Save the min of our min and local state variables Although this solves our problem, and does it in a very efficient way, we’ve created a set of code that is quite a bit more difficult to understand and maintain. PLINQ provides us with a very nice alternative.  In order to use PLINQ, we need to learn one new extension method that works on IEnumerable<T> – ParallelEnumerable.AsParallel(). That’s all we need to learn in order to use PLINQ: one single method.  We can write our minimum aggregation in PLINQ very simply: double min = collection.AsParallel().Min(item => item.PerformComputation()); By simply adding “.AsParallel()” to our LINQ to Objects query, we converted this to using PLINQ and running this computation in parallel!  This can be loosely translated into English easily, as well: Process the collection in parallel Get the Minimum value, determined by calling PerformComputation on each item Here, our intention is very clear and easy to understand.  We just want to perform the same operation we did in serial, but run it “as parallel”.  PLINQ completely extends LINQ to Objects: the entire functionality of LINQ to Objects is available.  By simply adding a call to AsParallel(), we can specify that a collection should be processed in parallel.  This is simple, safe, and incredibly useful.

    Read the article

  • Can't install git on Ubuntu 12.10

    - by Lucas Windir
    I'm following these instructions to install git on my laptop: http://git-scm.com/download/linux When I do: $ sudo apt-get install git-core This is what my terinal shows: Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libasprintf0c2:i386 libcroco3:i386 libgettextpo0:i386 libgomp1:i386 libunistring0:i386 Use 'apt-get autoremove' to remove them. The following extra packages will be installed: git git-man liberror-perl Suggested packages: git-daemon-run git-daemon-sysvinit git-doc git-el git-arch git-cvs git-svn git-email git-gui gitk gitweb The following NEW packages will be installed: git git-core git-man liberror-perl 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 6,825 kB of archives. After this operation, 15.3 MB of additional disk space will be used. Do you want to continue [Y/n]? y WARNING: The following packages cannot be authenticated! liberror-perl git-man git git-core Install these packages without verification [y/N]? E: Some packages could not be authenticated lucas@lucas-Inspiron-N5050:~$ sudo apt-get install git-core Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libasprintf0c2:i386 libcroco3:i386 libgettextpo0:i386 libgomp1:i386 libunistring0:i386 Use 'apt-get autoremove' to remove them. The following extra packages will be installed: git git-man liberror-perl Suggested packages: git-daemon-run git-daemon-sysvinit git-doc git-el git-arch git-cvs git-svn git-email git-gui gitk gitweb The following NEW packages will be installed: git git-core git-man liberror-perl 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 6,825 kB of archives. After this operation, 15.3 MB of additional disk space will be used. Do you want to continue [Y/n]? y WARNING: The following packages cannot be authenticated! liberror-perl git-man git git-core Install these packages without verification [y/N]? y Err httpq://py.archive.ubuntu.com/ubuntu/ quantal/main liberror-perl all 0.17-1 Something wicked happened resolving 'py.archive.ubuntu.com:http' (-5 - No address associated with hostname) Err httpq://py.archive.ubuntu.com/ubuntu/ quantal/main git-man all 1:1.7.10.4-1ubuntu1 Something wicked happened resolving 'py.archive.ubuntu.com:http' (-5 - No address associated with hostname) Err httpq://py.archive.ubuntu.com/ubuntu/ quantal/main git amd64 1:1.7.10.4-1ubuntu1 Something wicked happened resolving 'py.archive.ubuntu.com:http' (-5 - No address associated with hostname) Err httpq://py.archive.ubuntu.com/ubuntu/ quantal/main git-core all 1:1.7.10.4-1ubuntu1 Something wicked happened resolving 'py.archive.ubuntu.com:http' (-5 - No address associated with hostname) Failed to fetch httpq://py.archive.ubuntu.com/ubuntu/pool/main/libe/liberror-perl/liberrorperl_0.17-1_all.deb Something wicked happened resolving 'py.archive.ubuntu.com:http' (-5 - No address associated with hostname) Failed to fetch httpq://py.archive.ubuntu.com/ubuntu/pool/main/g/git/git-man_1.7.10.4-1ubuntu1_all.deb Something wicked happened resolving 'py.archive.ubuntu.com:http' (-5 - No address associated with hostname) Failed to fetch httpq://py.archive.ubuntu.com/ubuntu/pool/main/g/git/git_1.7.10.4-1ubuntu1_amd64.deb Something wicked happened resolving 'py.archive.ubuntu.com:http' (-5 - No address associated with hostname) Failed to fetch http://py.archive.ubuntu.com/ubuntu/pool/main/g/git/git-core_1.7.10.4-1ubuntu1_all.deb Something wicked happened resolving 'py.archive.ubuntu.com:http' (-5 - No address associated with hostname) E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? How could I install git on Ubuntu 12.10? I can't even do it from the Ubuntu Software Center. Thanks in advance!

    Read the article

  • S#arp Architecture 1.5 released

    - by AlecWhittington
    The past two weeks have been wonderful for me, spending 12 days on Oahu, Hawaii. Then followed up with the S#arp Architecture 1.5 release. It has been a short 4 months since taking over as the project lead and this is my first major milestone. With this release, we advance S# even more forward with the ASP.NET MVC 2 enhancements. What's is S#? Pronounced "Sharp Architecture," this is a solid architectural foundation for rapidly building maintainable web applications leveraging the ASP.NET MVC framework...(read more)

    Read the article

  • WebCenter 11g (11.1.1.2) Certified with E-Business Suite Release 12

    - by Steven Chan
    Oracle WebCenter Suite is an integrated suite of products used to create social applications, enterprise portals, communities, composite applications, and Internet or intranet Web sites on a standards-based, service-oriented architecture (SOA).WebCenter 11g includes a multi-channel portal framework and a suite of horizontal Enterprise 2.0 applications which provide content, presence, and social networking capabilities.WebCenter 11g (11.1.1.2) is now certified with Oracle E-Business Suite Release 12.  For installation and configuration documentation, see:Using WebCenter 11.1.1 with Oracle E-Business Suite Release 12 (Note 1074345.1)

    Read the article

  • Talks Submitted for Ann Arbor Day of .NET 2010

    - by PSteele
    Just submitted my session abstracts for Ann Arbor's Day of .NET 2010.   Getting up to speed with .NET 3.5 -- Just in time for 4.0! Yes, C# 4.0 is just around the corner.  But if you haven't had the chance to use C# 3.5 extensively, this session will start from the ground up with the new features of 3.5.  We'll assume everyone is coming from C# 2.0.  This session will show you the details of extension methods, partial methods and more.  We'll also show you how LINQ -- Language Integrated Query -- can help decrease your development time and increase your code's readability.  If time permits, we'll look at some .NET 4.0 features, but the goal is to get you up to speed on .NET 3.5.   Go Ahead and Mock Me! When testing specific parts of your application, there can be a lot of external dependencies required to make your tests work.  Writing fake or mock objects that act as stand-ins for the real dependencies can waste a lot of time.  This is where mocking frameworks come in.  In this session, Patrick Steele will introduce you to Rhino Mocks, a popular mocking framework for .NET.  You'll see how a mocking framework can make writing unit tests easier and leads to less brittle unit tests.   Inversion of Control: Who's got control and why is it being inverted? No doubt you've heard of "Inversion of Control".  If not, maybe you've heard the term "Dependency Injection"?  The two usually go hand-in-hand.  Inversion of Control (IoC) along with Dependency Injection (DI) helps simplify the connections and lifetime of all of the dependent objects in the software you write.  In this session, Patrick Steele will introduce you to the concepts of IoC and DI and will show you how to use a popular IoC container (Castle Windsor) to help simplify the way you build software and how your objects interact with each other. If you're interested in speaking, hurry up and get your submissions in!  The deadline is Monday, April 5th! Technorati Tags: .NET,Ann Arbor,Day of .NET

    Read the article

  • C# Java Objective-C need expert advices

    - by Kevino
    Which platform as the edge today in 2012 with the rise of cloud computing, mobile development and the revolution of HTML5/Javascript between J2EE, .Net framework and IOS Objective-C ??? I want to start learning 1 language between Java, C# and Objective-C and get back into programming after 14 years and I don't know which to choose I need expert advices... I already know a little C++ and I remember my concepts in example pointers arithmetic, class etc so I tend to prefer learning C# and Objective-C but I've been told by some experienced programmers that Windows 8 could flop and .Net could be going away slowly since C++ and Html5/Javascript could be king in mobile is that true ? and that C# is more advanced compared to Java with Linq/Lambda... but not truly as portable if we consider android, etc but Java as a lot going for him too Scala, Clojure, Groovy, JRuby, JPython etc etc so I am lost Please help me, and don't close this right away I really need help and expert advices thanks you very much ANSWER : ElYusubov : thanks for everything please continue with the answers/explanations I just did some native C++ in dos mode in 1998 before Cli and .Net I don't know the STL,Templates, Win32 or COM but I remember a little the concept of memory management and oop etc I already played around a little with C# 1.0 in 2002 but things changed a lot with linq and lambda... I am here because I talked with some experienced programmers and authors of some the best selling programming books like apress wrox and deitel and they told me a few things are likely to happen like .Net could be on his way out because of Html5/Javascript combo could kill xaml and C++ native apps on mobile dev will outperform them by a lot... Secondly ios and android are getting so popular that mobile dev is the future so Objective-C is very hard to ignore so why get tied down in Windows long term (.Net) compared to Java (android)... but again android is very fragmented, they also said Windows 8 RT will give you access to only a small part of the .Net framework... so that's what they think so I don't know which direction to choose I wanted to learn C# & .Net but what if it die off or Windows 8 flop Windows Phone marketshare really can't compare to ios... so I'll be stuck that's why I worry is Java safer long term or more versatile if you want 'cause of the support for android ??

    Read the article

< Previous Page | 354 355 356 357 358 359 360 361 362 363 364 365  | Next Page >