Search Results

Search found 31562 results on 1263 pages for 'dell mini 10'.

Page 449/1263 | < Previous Page | 445 446 447 448 449 450 451 452 453 454 455 456  | Next Page >

  • Rotate camera around player and set new forward directions

    - by Samurai Fox
    I have a 3rd person camera which can rotate around the player. When I look at the back of the player and press forward, player goes forward. Then I rotate 360 around the player and "forward direction" is tilted for 90 degrees. So every 360 turn there is 90 degrees of direction change. For example when camera is facing the right side of the player, when I press button to move forward, I want player to turn to the left and make that the "new forward". I have Player object with Camera as child object. Camera object has Camera script. Inside Camera script there are Player and Camera classes. Player object itself, has Input Controller. Also I'm making this script for joystick/ controller primarily. My camera script so far: using UnityEngine; using System.Collections; public class CameraScript : MonoBehaviour { public GameObject Target; public float RotateSpeed = 10, FollowDistance = 20, FollowHeight = 10; float RotateSpeedPerTime, DesiredRotationAngle, DesiredHeight, CurrentRotationAngle, CurrentHeight, Yaw, Pitch; Quaternion CurrentRotation; void LateUpdate() { RotateSpeedPerTime = RotateSpeed * Time.deltaTime; DesiredRotationAngle = Target.transform.eulerAngles.y; DesiredHeight = Target.transform.position.y + FollowHeight; CurrentRotationAngle = transform.eulerAngles.y; CurrentHeight = transform.position.y; CurrentRotationAngle = Mathf.LerpAngle(CurrentRotationAngle, DesiredRotationAngle, 0); CurrentHeight = Mathf.Lerp(CurrentHeight, DesiredHeight, 0); CurrentRotation = Quaternion.Euler(0, CurrentRotationAngle, 0); transform.position = Target.transform.position; transform.position -= CurrentRotation * Vector3.forward * FollowDistance; transform.position = new Vector3(transform.position.x, CurrentHeight, transform.position.z); Yaw = Input.GetAxis("Right Horizontal") * RotateSpeedPerTime; Pitch = Input.GetAxis("Right Vertical") * RotateSpeedPerTime; transform.Translate(new Vector3(Yaw, -Pitch, 0)); transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.z); transform.LookAt(Target.transform); } }

    Read the article

  • Why doesn't Mozilla release .deb and .rpm packages for their software?

    - by ushabtay
    i use and enjoy Firefox on my Ubuntu 10.04.2 laptop (although Firefox needs work for the Linux/Ubuntu version..) Yet i realize that in comparison to other pieces of software that have an "Ubuntu/Debian" version (.deb file, and usually .rpm files as well), i don't see it in one of the most profound assets of the FLOSS world. The Question is - Why? If Chrom/ium can - why can't they? Easier to get up-to-date software and features and so forth.. cheers,

    Read the article

  • fdisk shows overlapping partitions

    - by Campa
    At every boot to start Ubuntu, a partition gets re-mounted more than 1 times, sometimes causing very long boots. Example below: > dmesg ... [ 21.472020] EXT4-fs (sda5): re-mounted. Opts: errors=remount-ro ... [ 42.021537] EXT4-fs (sda5): re-mounted. Opts: errors=remount-ro,commit=0 ... I suspect there is a problem of overlapping partitions here, regarding sda4 and sda5: > sudo fdisk -l Device Boot Start End Blocks Id System /dev/sda1 63 610469 305203+ de Dell Utility /dev/sda2 612352 32069631 15728640 7 HPFS/NTFS/exFAT /dev/sda3 * 32069632 238979788 103455078+ 7 HPFS/NTFS/exFAT /dev/sda4 238983166 625141759 193079297 5 Extended /dev/sda5 238983168 612630527 186823680 83 Linux /dev/sda6 612632576 625141759 6254592 82 Linux swap / Solaris Further details: > more /etc/fstab ... # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/sda6 during installation UUID=b33be99b-5c9e-449e-ad48-be608aeff001 / ext4 errors=remount-ro 0 1 # swap was on /dev/sda7 during installation UUID=7c9071cc-b77b-40da-9f80-6b8a9a220cb1 none swap sw and > mount /dev/sda5 on / type ext4 (rw,errors=remount-ro,commit=0) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) fusectl on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) udev on /dev type devtmpfs (rw,mode=0755) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) gvfs-fuse-daemon on /home/piero/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=piero) I am Running Ubuntu Oneiric + LXDE on Dell Studio XPS machine 64-bit, dual booting with Windows 7. A months ago, I resized the Ubuntu partition and maybe I messed up something by doing that. Do you have any idea, why this long booting is happening?

    Read the article

  • Microsoft dévoile Dynamics CRM "5", la CTP 3 de sa future solution de gestion de relation client plu

    Mise à jour du 29/03/10 Microsoft dévoile Dynamics CRM 5 La CTP 3 de sa future solution de gestion de la relation client plus simple d'utilisation et plus sécurisée Microsoft vient de lancer la troisième community technology preview (CTP 3) de la prochaine version de son logiciel de gestion de relation client : Dynamics CRM. Baptisé «CRM 5», cette CTP est destinée en priorité aux développeurs d'applications et aux pertenaires «à haute valeur ajoutée», pour reprendre l'expression du blog de l'équipe de Microsoft Dynamics CRM Blog. Bien qu'il s'agisse d'un nom de code, «CRM 5» pourrait bien être le nom définitif du...

    Read the article

  • Can't Run Assault Cube

    - by Debashis Pradhan
    I installed assault cube from the Software centre and it just opens for half a second and closes. When i run in it from the terminal, this is what i get - d@d-platform:~$ assaultcube Using home directory: /home/d/.assaultcube_v1.104 current locale: en_IN init: sdl init: net init: world init: video: sdl init: video: mode X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 129 (XFree86-VidModeExtension) Minor opcode of failed request: 10 (XF86VidModeSwitchToMode) Value in failed request: 0xb3 Serial number of failed request: 131 Current serial number in output stream: 133

    Read the article

  • Upgrade Workshops in Bucharest, Athens and Warsaw

    - by Mike Dietrich
    Finally travel time is not over yet. There are 3 more workshops Upgrade, Migrate & Consolidate to Oracle Database 12c due to happen within the next few weeks:. June 17 in Bucharest, Romaniain the Radisson Blu Hotel - Register here!. July 10 in Athens, Greece in the Pentelikon Hotel - Register here!. July 15 in Warsaw, Poland in the Marriot Warsaw Hotel - Register here!. - CU there - Mike 

    Read the article

  • SQLAuthority News SQL Server 2008 R2 Hosted Trial

    This is a bit old news but for me but it will new for many of you know. SQLPASS, Dell, Microsoft and MaximumASP has come together and build hosted environment for free to all of us to use and experiment with. Register now to try out up to seven labs: SQL Server 2008 R2 [...]...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Google I/O 2012 - Data Driven Storytelling

    Google I/O 2012 - Data Driven Storytelling Michael Fink, Yinnon Haviv, Dani Bacon From a single chart to elaborate data driven storytelling, Google Chart Tools now provides a crisp and accessible experience based on our new HTML5 gallery. Come and learn how you can use animations, annotations and other visual semantics and to take user-interaction with rich data, to the next level. For all I/O 2012 sessions, go to developers.google.com From: GoogleDevelopers Views: 563 10 ratings Time: 53:05 More in Science & Technology

    Read the article

  • Google I/O 2012 - Integrating Google+ Into Mobile Apps

    Google I/O 2012 - Integrating Google+ Into Mobile Apps Julia Ferraioli Create a more engaging and personalized experience for your users by incorporating aspects of Google+ into your mobile app. Learn how your users can share pictures, links, and more into Google+ from your app, and how doing so can raise visibility and discoverability of your application. For all I/O 2012 sessions, go to developers.google.com From: GoogleDevelopers Views: 1224 23 ratings Time: 50:10 More in Science & Technology

    Read the article

  • bought computer with messed up Ubuntu

    - by linda stecker
    I recently got a dell inspiron B130 with an Ubuntu OS and the main users desktop is scattered allover the place , files everywhere but not in folders,how do i fix this? I am new working with this operating system ,used to windows versions. if i go into a guest profile the desktop is perfectly fine and everything works but i cannot make the system fix itself or dont really know where to start help???????

    Read the article

  • Oracle OpenWorld - Events of Interest

    - by Larry Wake
    I mentioned the "Focus On Oracle Solaris" document the other day, which lists many of the Solaris-related events at Oracle OpenWorld this year; today I thought I'd highlight a few sessions you might find interesting. Monday, October 1st: 4:45 PM - Get Proactive: Best Practices for Maintaining and Upgrading Oracle Solaris (Moscone South 252) This session covers best practices for upgrading and patching and how to take advantage of unique technologies in Oracle Solaris 10 and 11. Learn how to get maximum value from My Oracle Support for both reactive and proactive requirements. Understand the benefits of secure remote access and how Oracle Support experts use collaborative shared sessions combined with Oracle Solaris technologies such as DTrace. Tuesday, October 2nd: 10:15 AM -  How to Increase Performance and Agility with an Open Data Center Fabric (Moscone South 200) If you haven't had a chance to hear about Xsigo Systems, this is a golden opportunity while you're at OpenWorld. Now part of Oracle, Xsigo's network virtualization technology is designed to increase both application performance and management efficiency, through a combination of software-defined network technology and the industry’s fastest fabric, allowing data center to converge Ethernet and Fibre Channel connectivity to a single fabric, to reduce complexity by 70 percent and CapEx by 50 percent while providing more I/O bandwidth to your applications. Wednesday, October 3rd: 10:15 AM - General Session: Oracle Solaris 11 Strategy, Engineering Insights, and Roadmap (Moscone South 103) Markus Flierl, head of Oracle Solaris Core Engineering, will outline the strategy and roadmap for Oracle Solaris,  how Oracle Solaris 11 is being deployed in cloud computing and the unique optimizations in Oracle Solaris 11 for the Oracle stack. The session also offers a sneak peek at the latest technology under development in Oracle Solaris, and what customers can expect to see in the coming updates. Plus, there are several Hands-On Labs: Monday, October 1st: 10:45 AM - 11:45 AM - Reduce Risk with Oracle Solaris Access Control to Restrain Users and Isolate Applications (Marriott Marquis - Salon 14/15) 4:45 PM - 5:45 PM - Managing Your Data with Built-In Oracle Solaris ZFS Data Services in Release 11  (Marriott Marquis - Salon 14/15) Tuesday, October 2nd: 1:15 PM - 2:15 PM - Virtualizing Your Oracle Solaris 11 Environment  (Marriott Marquis - Salon 10/11) Wednesday, October 3rd: 3:30 PM - 4:30 PM - Large-Scale Installation and Deployment of Oracle Solaris 11 (Marriott Marquis - Salon 14/15) There's plenty more--see the "Focus On Oracle Solaris" guide. See you next week in San Francisco!

    Read the article

  • Einstieg in Solaris 11

    - by Stefan Hinker
    Fuer alle die, die jetzt mit Solaris 11 anfangen wollen, gibt es eine gute Zusammenfassung der Neuerungen und Aenderungen gegenueber Solaris 10.  Zu finden als Support Dokument 1313405.1.Auch in OTN gibt es ein ganzes Portal zu Solaris 11.  Besonders hervorheben moechte ich hier die umfangreiche "How-To" Sammlung. Und nicht zuletzt gibt es natuerlich die "ganz normalen" Admin Guides.

    Read the article

  • Week in Geek: Microsoft Warns of First Critical Security Flaws in Windows 8 & RT

    - by Asian Angel
    This week’s edition of WIG is filled with news link coverage on topics such as Mozilla Firefox turns 8 and Android turns 5, Windows (File) Explorer is the app that crashes most on Windows 8, Classic Mode (Session) will be dropped from GNOME 3.8, and more. 6 Ways Windows 8 Is More Secure Than Windows 7 HTG Explains: Why It’s Good That Your Computer’s RAM Is Full 10 Awesome Improvements For Desktop Users in Windows 8

    Read the article

  • SSH from external network refused

    - by wulfsdad
    I've installed open-ssh-server on my home computer(running Lubuntu 12.04.1) in order to connect to it from school. This is how I've set up the sshd_config file: # Package generated configuration file # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for #Port 22 Port 2222 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 768 # Logging SyslogFacility AUTH #LogLevel INFO LogLevel VERBOSE # Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords #PasswordAuthentication yes # Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes X11Forwarding no X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net Banner /etc/sshbanner.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM yes #specify which accounts can use SSH AllowUsers onlyme I've also configured my router's port forwarding table to include: LAN Ports: 2222-2222 Protocol: TCP LAN IP Address: "IP Address" displayed by viewing "connection information" from right-click menu of system tray Remote Ports[optional]: n/a Remote IP Address[optional]: n/a I've tried various other configurations as well, using primary and secondary dns, and also with specifying remote ports 2222-2222. I've also tried with TCP/UDP (actually two rules because my router requires separate rules for each protocol). With any router port forwarding configuration, I am able to log in with ssh -p 2222 -v localhost But, when I try to log in from school using ssh -p 2222 onlyme@IP_ADDRESS I get a "No route to host" message. Same thing when I use the "Broadcast Address" or "Default Route/Primary DNS". When I use the "subnet mask", ssh just hangs. However, when I use the "secondary DNS" I recieve a "Connection refused" message. :^( Someone please help me figure out how to make this work.

    Read the article

  • La marque Nexus One n'est pas libre, Google risque de devoir changer le nom de son smartphone

    Mise à jour du 17/03/10 [Les commentaires de cette mise à jour commencent ici] Justice : la marque Nexus One n'est pas libre Google va-t-il devoir changer le nom de son smartphone ? Les mauvaises nouvelles s'enchaînent à grande vitesse pour le smartphone de Google. Le jour même de la révélation des premiers chiffres de vente, très décevants (lire ci-avant), la Justice américaine vient de signifier à Moutain View que la marque Nexus One n'était pas disponible. Elle ap...

    Read the article

  • what technologies or functionalites can be considered as innovative nowadays?

    - by ts01
    For some unholy reasons (New Year maybe?) I was charged with listing all "innovative things" which my company is doing internally in IT. So, my first question is of course: what can be considered nowadays "innovative" in software, in terms of a/ technologies - like, lets say, cloud computing was 10 years ago or facial recognition 15 years ago b/ functionalities - ie. migration of desktop application to web (last decade) or using voice to control computer (last century) My personal focus is on web, but I am also curious of opinions from others domains.

    Read the article

  • Meta Tag and Search Engine Ranking

    According to SEO Services India, Meta Tag is a coding statement in Hyper Text Markup Language (HTML). It is the information displayed on the head, which comes after the title tag of a Web site. This ... [Author: John Anthony - Web Design and Development - June 10, 2010]

    Read the article

  • Multiple Vulnerabilities in libpng

    - by chandan
    CVE DescriptionCVSSv2 Base ScoreComponentProduct and Resolution CVE-2010-0205 Resource Management Errors vulnerability 7.8 libpng Solaris 8 SPARC: 114816-04 X86: 114817-04 Solaris 9 SPARC: 139382-03 X86: 139383-03 Solaris 10 SPARC: 137080-05 X86: 137081-05 Solaris 11 Express snv_151a CVE-2010-1205 Buffer Overflow vulnerability 7.5 CVE-2010-2249 Resource Management Errors vulnerability 5.0 This notification describes vulnerabilities fixed in third-party components that are included in Sun's product distribution.Information about vulnerabilities affecting Oracle Sun products can be found on Oracle Critical Patch Updates and Security Alerts page.

    Read the article

  • Hotspot is getting disconnected from other windows system?

    - by Gaurav_Java
    I created Hotspot for sharing my system internet for other system . but after 5 - 10 min my system internet is not able to share internet but it is connected with other windows system .windows showing (No internet access ) But after running this sudo killall dnsmasq windows is able to use internet connection not happening with one system same thing is happening with 2 -3 windows system . In many cases i have 2 restart my system Here My Hotspot setting

    Read the article

  • Help with Strategy-game AI

    - by f20k
    Hi, I am developing a strategy-game AI (think: Final Fantasy Tactics), and I am having trouble coming up for the design of the AI. My main problem is determining which is the optimal thing for it to do. First let me describe the priority of what action I would like the AI to take: Kill nearest player unit Fulfill primary directive (kill all player units, kill target unit, survive for x turns) Heal ally unit / cast buffer Now the AI can do the following in its turn: Move - {Attack / Ability / Item} (either attack or ability or item) {Attack / Ability / Item} - Move Move closer (if targets not in range) {Attack / Ability / Item} (if move not available) Notes Abilities have various ranges / effects / costs / effects. Each ai unit has maybe 5-10 abilities to choose from. The AI will prioritize killing over safety unless its directive is to survive for x turns. It also doesn't care about ability cost much. While a player may want to save a big spell for later, the AI will most likely use it asap. Movement is on a (hex) grid num of player units: 3-6 num of ai units: 3-7 or more. Probably max 10. AI and player take turns controlling ONE unit, instead of all at the same time. Platform is Android (if program doesnt respond after some time, there will be a popup saying to Force Quit or Wait - which looks really bad!). Now comes the questions: The best ability to use would obviously be the one that hits the most targets for the most damage. But since each ability has different ranges, I won't know if they are in range without exploring each possible place I can move to. One solution would be to go through each possible places to move to, determine the optimal attack at that location - which gives me a list of optimal moves for each location. Then choose the optimal out of the list and execute it. But this will take a lot of CPU time. Is there a better solution? My current idea is to move as close as possible towards the closest, largest group of people, and determine the optimal attack/ability from there. I think this would be a lot less work for the CPU and still allow for wide-range attacks. Its sub-optimal but the AI will still seem 'smart'. Other notes/questions: Am I over-thinking/over-complicating it? Better solution? I am open to all sorts of suggestions I have taken a look at the spell-casting question, but it doesn't take into account the movement - so perhaps use that algo for each possible move location? The top answer mentioned it wasn't great for area-of-effect and group fights - so maybe requires more tweaking? Please, if you mention a graph/tree, let me know basically how to use it. E.g. Node means ability, level corresponds to damage, then search for the deepest node.

    Read the article

  • Acronis restore Wubi Ubuntu 12.04 parition with error

    - by user287082
    I'm on Win 8.1, then I download ubuntu-12.04.4-desktop-amd64.iso I mount the iso and copy wubi.exe to the same folder with above iso I run wubi.exe and install to another partition Everything works fine, then I make a backup with Acronis True Image 2013 Today, I use Acronis to restore that backup, after that I boot into Ubuntu and see this error http://i291.photobucket.com/albums/ll293/sniper_awm/2014-05-31_161817_zpsfe7a21c8.png And can see the folder structure of Wubi partition from Win 8.1, I copied root.disk to another place How can I fix this? (Dell 2420)

    Read the article

  • Maps We Like, and Why We Like Them

    Maps We Like, and Why We Like Them Live from Sydney (now in HD!) Paul and Chris talk about their favorite maps, why we like them, and how we find cool maps. 1:40 Showcase | 5:45 Geo Developer Blog | 8:25 GTA4 Street View map | 11:00 Internet Map | 14:40 How we find cool maps | 20:30 Map of the Dead | 24:50 Old Maps Online | 27:10 Wind Map From: GoogleDevelopers Views: 3 0 ratings Time: 29:18 More in Science & Technology

    Read the article

  • Query optimization using composite indexes

    - by xmarch
    Many times, during the process of creating a new Coherence application, developers do not pay attention to the way cache queries are constructed; they only check that these queries comply with functional specs. Later, performance testing shows that these perform poorly and it is then when developers start working on improvements until the non-functional performance requirements are met. This post describes the optimization process of a real-life scenario, where using a composite attribute index has brought a radical improvement in query execution times.  The execution times went down from 4 seconds to 2 milliseconds! E-commerce solution based on Oracle ATG – Endeca In the context of a new e-commerce solution based on Oracle ATG – Endeca, Oracle Coherence has been used to calculate and store SKU prices. In this architecture, a Coherence cache stores the final SKU prices used for Endeca baseline indexing. Each SKU price is calculated from a base SKU price and a series of calculations based on information from corporate global discounts. Corporate global discounts information is stored in an auxiliary Coherence cache with over 800.000 entries. In particular, to obtain each price the process needs to execute six queries over the global discount cache. After the implementation was finished, we discovered that the most expensive steps in the price calculation discount process were the global discounts cache query. This query has 10 parameters and is executed 6 times for each SKU price calculation. The steps taken to optimise this query are described below; Starting point Initial query was: String filter = "levelId = :iLevelId AND  salesCompanyId = :iSalesCompanyId AND salesChannelId = :iSalesChannelId "+ "AND departmentId = :iDepartmentId AND familyId = :iFamilyId AND brand = :iBrand AND manufacturer = :iManufacturer "+ "AND areaId = :iAreaId AND endDate >=  :iEndDate AND startDate <= :iStartDate"; Map<String, Object> params = new HashMap<String, Object>(10); // Fill all parameters. params.put("iLevelId", xxxx); // Executing filter. Filter globalDiscountsFilter = QueryHelper.createFilter(filter, params); NamedCache globalDiscountsCache = CacheFactory.getCache(CacheConstants.GLOBAL_DISCOUNTS_CACHE_NAME); Set applicableDiscounts = globalDiscountsCache.entrySet(globalDiscountsFilter); With the small dataset used for development the cache queries performed very well. However, when carrying out performance testing with a real-world sample size of 800,000 entries, each query execution was taking more than 4 seconds. First round of optimizations The first optimisation step was the creation of separate Coherence index for each of the 10 attributes used by the filter. This avoided object deserialization while executing the query. Each index was created as follows: globalDiscountsCache.addIndex(new ReflectionExtractor("getXXX" ) , false, null); After adding these indexes the query execution time was reduced to between 450 ms and 1s. However, these execution times were still not good enough.  Second round of optimizations In this optimisation phase a Coherence query explain plan was used to identify how many entires each index reduced the results set by, along with the cost in ms of executing that part of the query. Though the explain plan showed that all the indexes for the query were being used, it also showed that the ordering of the query parameters was "sub-optimal".  Parameters associated to object attributes with high-cardinality should appear at the beginning of the filter, or more specifically, the attributes that filters out the highest of number records should be placed at the beginning. But examining corporate global discount data we realized that depending on the values of the parameters used in the query the “good” order for the attributes was different. In particular, if the attributes brand and family had specific values it was more optimal to have a different query changing the order of the attributes. Ultimately, we ended up with three different optimal variants of the query that were used in its relevant cases: String filter = "brand = :iBrand AND familyId = :iFamilyId AND departmentId = :iDepartmentId AND levelId = :iLevelId "+ "AND manufacturer = :iManufacturer AND endDate >= :iEndDate AND salesCompanyId = :iSalesCompanyId "+ "AND areaId = :iAreaId AND salesChannelId = :iSalesChannelId AND startDate <= :iStartDate"; String filter = "familyId = :iFamilyId AND departmentId = :iDepartmentId AND levelId = :iLevelId AND brand = :iBrand "+ "AND manufacturer = :iManufacturer AND endDate >=  :iEndDate AND salesCompanyId = :iSalesCompanyId "+ "AND areaId = :iAreaId  AND salesChannelId = :iSalesChannelId AND startDate <= :iStartDate"; String filter = "brand = :iBrand AND departmentId = :iDepartmentId AND familyId = :iFamilyId AND levelId = :iLevelId "+ "AND manufacturer = :iManufacturer AND endDate >= :iEndDate AND salesCompanyId = :iSalesCompanyId "+ "AND areaId = :iAreaId AND salesChannelId = :iSalesChannelId AND startDate <= :iStartDate"; Using the appropriate query depending on the value of brand and family parameters the query execution time dropped to between 100 ms and 150 ms. But these these execution times were still not good enough and the solution was cumbersome. Third and last round of optimizations The third and final optimization was to introduce a composite index. However, this did mean that it was not possible to use the Coherence Query Language (CohQL), as composite indexes are not currently supporte in CohQL. As the original query had 8 parameters using EqualsFilter, 1 using GreaterEqualsFilter and 1 using LessEqualsFilter, the composite index was built for the 8 attributes using EqualsFilter. The final query had an EqualsFilter for the multiple extractor, a GreaterEqualsFilter and a LessEqualsFilter for the 2 remaining attributes.  All individual indexes were dropped except the ones being used for LessEqualsFilter and GreaterEqualsFilter. We were now running in an scenario with an 8-attributes composite filter and 2 single attribute filters. The composite index created was as follows: ValueExtractor[] ve = { new ReflectionExtractor("getSalesChannelId" ), new ReflectionExtractor("getLevelId" ),    new ReflectionExtractor("getAreaId" ), new ReflectionExtractor("getDepartmentId" ),    new ReflectionExtractor("getFamilyId" ), new ReflectionExtractor("getManufacturer" ),    new ReflectionExtractor("getBrand" ), new ReflectionExtractor("getSalesCompanyId" )}; MultiExtractor me = new MultiExtractor(ve); NamedCache globalDiscountsCache = CacheFactory.getCache(CacheConstants.GLOBAL_DISCOUNTS_CACHE_NAME); globalDiscountsCache.addIndex(me, false, null); And the final query was: ValueExtractor[] ve = { new ReflectionExtractor("getSalesChannelId" ), new ReflectionExtractor("getLevelId" ),    new ReflectionExtractor("getAreaId" ), new ReflectionExtractor("getDepartmentId" ),    new ReflectionExtractor("getFamilyId" ), new ReflectionExtractor("getManufacturer" ),    new ReflectionExtractor("getBrand" ), new ReflectionExtractor("getSalesCompanyId" )}; MultiExtractor me = new MultiExtractor(ve); // Fill composite parameters.String SalesCompanyId = xxxx;...AndFilter composite = new AndFilter(new EqualsFilter(me,                   Arrays.asList(iSalesChannelId, iLevelId, iAreaId, iDepartmentId, iFamilyId, iManufacturer, iBrand, SalesCompanyId)),                                     new GreaterEqualsFilter(new ReflectionExtractor("getEndDate" ), iEndDate)); AndFilter finalFilter = new AndFilter(composite, new LessEqualsFilter(new ReflectionExtractor("getStartDate" ), iStartDate)); NamedCache globalDiscountsCache = CacheFactory.getCache(CacheConstants.GLOBAL_DISCOUNTS_CACHE_NAME); Set applicableDiscounts = globalDiscountsCache.entrySet(finalFilter);      Using this composite index the query improved dramatically and the execution time dropped to between 2 ms and  4 ms.  These execution times completely met the non-functional performance requirements . It should be noticed than when using the composite index the order of the attributes inside the ValueExtractor was not relevant.

    Read the article

  • 3 Simple Steps to Achieving a Front Page Search Listing on Google

    It's a fact that most website owners struggle to get traffic to their sites. Unless you are very fortunate or have invested a lot of time and money in SEO then getting a front page ranking on Google for a highly searched keyword phrase is normally just a pipe dream. After all, there are only 10 front page spots to be had and competition to secure one is incredibly high - as are the rewards.

    Read the article

< Previous Page | 445 446 447 448 449 450 451 452 453 454 455 456  | Next Page >