Search Results

Search found 5457 results on 219 pages for 'necessary'.

Page 21/219 | < Previous Page | 17 18 19 20 21 22 23 24 25 26 27 28  | Next Page >

  • Restructuring a large Chrome Extension/WebApp

    - by A.M.K
    I have a very complex Chrome Extension that has gotten too large to maintain in its current format. I'd like to restructure it, but I'm 15 and this is the first webapp or extension of it's type I've built so I have no idea how to do it. TL;DR: I have a large/complex webapp I'd like to restructure and I don't know how to do it. Should I follow my current restructure plan (below)? Does that sound like a good starting point, or is there a different approach that I'm missing? Should I not do any of the things I listed? While it isn't relevant to the question, the actual code is on Github and the extension is on the webstore. The basic structure is as follows: index.html <html> <head> <link href="css/style.css" rel="stylesheet" /> <!-- This holds the main app styles --> <link href="css/widgets.css" rel="stylesheet" /> <!-- And this one holds widget styles --> </head> <body class="unloaded"> <!-- Low-level base elements are "hardcoded" here, the unloaded class is used for transitions and is removed on load. i.e: --> <div class="tab-container" tabindex="-1"> <!-- Tab nav --> </div> <!-- Templates for all parts of the application and widgets are stored as elements here. I plan on changing these to <script> elements during the restructure since <template>'s need valid HTML. --> <template id="template.toolbar"> <!-- Template content --> </template> <!-- Templates end --> <!-- Plugins --> <script type="text/javascript" src="js/plugins.js"></script> <!-- This contains the code for all widgets, I plan on moving this online and downloading as necessary soon. --> <script type="text/javascript" src="js/widgets.js"></script> <!-- This contains the main application JS. --> <script type="text/javascript" src="js/script.js"></script> </body> </html> widgets.js (initLog || (window.initLog = [])).push([new Date().getTime(), "A log is kept during page load so performance can be analyzed and errors pinpointed"]); // Widgets are stored in an object and extended (with jQuery, but I'll probably switch to underscore if using Backbone) as necessary var Widgets = { 1: { // Widget ID, this is set here so widgets can be retreived by ID id: 1, // Widget ID again, this is used after the widget object is duplicated and detached size: 3, // Default size, medium in this case order: 1, // Order shown in "store" name: "Weather", // Widget name interval: 300000, // Refresh interval nicename: "weather", // HTML and JS safe widget name sizes: ["tiny", "small", "medium"], // Available widget sizes desc: "Short widget description", settings: [ { // Widget setting specifications stored as an array of objects. These are used to dynamically generate widget setting popups. type: "list", nicename: "location", label: "Location(s)", placeholder: "Enter a location and press Enter" } ], config: { // Widget settings as stored in the tabs object (see script.js for storage information) size: "medium", location: ["San Francisco, CA"] }, data: {}, // Cached widget data stored locally, this lets it work offline customFunc: function(cb) {}, // Widgets can optionally define custom functions in any part of their object refresh: function() {}, // This fetches data from the web and caches it locally in data, then calls render. It gets called after the page is loaded for faster loads render: function() {} // This renders the widget only using information from data, it's called on page load. } }; script.js (initLog || (window.initLog = [])).push([new Date().getTime(), "These are also at the end of every file"]); // Plugins, extends and globals go here. i.e. Number.prototype.pad = .... var iChrome = function(refresh) { // The main iChrome init, called with refresh when refreshing to not re-run libs iChrome.Status.log("Starting page generation"); // From now on iChrome.Status.log is defined, it's used in place of the initLog iChrome.CSS(); // Dynamically generate CSS based on settings iChrome.Tabs(); // This takes the tabs stored in the storage (see fetching below) and renders all columns and widgets as necessary iChrome.Status.log("Tabs rendered"); // These will be omitted further along in this excerpt, but they're used everywhere // Checks for justInstalled => show getting started are run here /* The main init runs the bare minimum required to display the page, this sets all non-visible or instantly need things (such as widget dragging) on a timeout */ iChrome.deferredTimeout = setTimeout(function() { iChrome.deferred(refresh); // Pass refresh along, see above }, 200); }; iChrome.deferred = function(refresh) {}; // This calls modules one after the next in the appropriate order to finish rendering the page iChrome.Search = function() {}; // Modules have a base init function and are camel-cased and capitalized iChrome.Search.submit = function(val) {}; // Methods within modules are camel-cased and not capitalized /* Extension storage is async and fetched at the beginning of plugins.js, it's then stored in a variable that iChrome.Storage processes. The fetcher checks to see if processStorage is defined, if it is it gets called, otherwise settings are left in iChromeConfig */ var processStorage = function() { iChrome.Storage(function() { iChrome.Templates(); // Templates are read from their elements and held in a cache iChrome(); // Init is called }); }; if (typeof iChromeConfig == "object") { processStorage(); } Objectives of the restructure Memory usage: Chrome apparently has a memory leak in extensions, they're trying to fix it but memory still keeps on getting increased every time the page is loaded. The app also uses a lot on its own. Code readability: At this point I can't follow what's being called in the code. While rewriting the code I plan on properly commenting everything. Module interdependence: Right now modules call each other a lot, AFAIK that's not good at all since any change you make to one module could affect countless others. Fault tolerance: There's very little fault tolerance or error handling right now. If a widget is causing the rest of the page to stop rendering the user should at least be able to remove it. Speed is currently not an issue and I'd like to keep it that way. How I think I should do it The restructure should be done using Backbone.js and events that call modules (i.e. on storage.loaded = init). Modules should each go in their own file, I'm thinking there should be a set of core files that all modules can rely on and call directly and everything else should be event based. Widget structure should be kept largely the same, but maybe they should also be split into their own files. AFAIK you can't load all templates in a folder, therefore they need to stay inline. Grunt should be used to merge all modules, plugins and widgets into one file. Templates should also all be precompiled. Question: Should I follow my current restructure plan? Does that sound like a good starting point, or is there a different approach that I'm missing? Should I not do any of the things I listed? Do applications written with Backbone tend to be more intensive (memory and speed) than ones written in Vanilla JS? Also, can I expect to improve this with a proper restructure or is my current code about as good as can be expected?

    Read the article

  • Enjoy High Traffic on Your Site With SEO

    Effective Internet marketing is necessary for a profitable online business. There are various advertising and marketing techniques that are used by business sites to increase website traffic. But one of the most important and effective techniques is SEO.

    Read the article

  • How to Create Network File Shares with No Passwords in Windows 8

    - by Taylor Gibb
    We have all had to connect to a network share at some point only to have the authentication dialog pop up. There are many ways around it, for example mapping a network drive, but if you have a lot of users connecting to copy some files you may want to disable the password dialog instead of distributing your password. How To Delete, Move, or Rename Locked Files in Windows HTG Explains: Why Screen Savers Are No Longer Necessary 6 Ways Windows 8 Is More Secure Than Windows 7

    Read the article

  • Reporting what's not there

    It's easy to write queries that will show data in the database that matches a criteria. However, if no data in the database matches the criteria, it becomes more difficult. This article examines two different scenarios where it's necessary to create data in order to be able to report zero values in queries.

    Read the article

  • Supermicro motherboards and systems

    - by jchang
    I used to buy SuperMicro exclusively for my own lab. SuperMicro always had a deep lineup of motherboards with almost every conceivable variation. In particular, they had the maximum memory and IO configuration that is desired for database servers. But from around 2006, I became too lazy to source the additional components necessary to complete the system, and switched to Dell PowerEdge Tower servers. Now, I may reconsider as neither Dell or HP are offering the right combination of PCI-E slots. Nor...(read more)

    Read the article

  • SEO Providers - Freelancers, Professionals, Or Spam Artists?

    Again, many of these offers you'll receive look legit enough. They come complete from a real email address, with a realistic name, a real phone number, and all of the other necessary credentials to look respectable. Sure, they're real people on the other end of the line, but unlike most reputable freelancers in the SEO business, these folks have chosen to use dubious tactics (sending mass emails and spam) to thousands and thousands of people in the hopes that one or two follow up and fall into the trap.

    Read the article

  • Using Site Explorer to Improve Yahoo Search Results

    It is the information generated within Yahoo Site Explorer, and the interpretation of that valuable data, that provides the necessary direction; to improve your Yahoo search results. As with any tool, Site Explorer must be used properly and effectively; to be beneficial.

    Read the article

  • Sending login form to an open-mesh acess point for authentication with my own RADIUS server

    - by PachinSV
    I have my RADIUS server up and running and a custom external captive portal. But I'm not sure: what information should I send to the Open-Mesh AP with my login form (it is necessary to encrypt the password?, because if I don't use a secret word to encrypt in my network configuration the RADIUS server complaints about it and in the log shows me some strange characters in the password) I don't know what to do with the "challenge" and "md" parameters in my login splash page. Thank you very much for your help.

    Read the article

  • Is there any software to clip a website, make changes to the code and republish it?

    - by user1445919
    I am working in the front end of an application and we provide the interface between the customers and several backend services. We have been using Kapow software to clip the html/jsp code we receive from the backend, make the necessary changes and publish them on the main website. I wanted to know if there is any other alternative to this software which suffices our requirement. Also, are any of those open source?

    Read the article

  • SEO and JavaScript since Google admits JS parsing

    - by schlingel
    We're planning on building a HTML snapshot creation service to provide the Google crawlers with static HTML of our JS driven single page application. Is this still necessary and/or encouraged since Google openly admits it is parsing JS now? How should I tackle this evaluation? Are there tools to provide data on when it's needed to provide snapshots and when google has sufficent parsing? Is it better because it would be much faster in comparison to the JS incremental rendering?

    Read the article

  • Create Websites Using Website Templates

    Websites have become necessary tool for any business including small, medium as well as big business firms. If you want to capture and spread your business all over the world, you need to have a webs... [Author: Alan Smith - Web Design and Development - May 28, 2010]

    Read the article

  • Ranking with PowerPivot – a different approach

    - by Marco Russo (SQLBI)
    Alberto Ferrari wrote an interesting post about a “different approach” in creating a ranking measure with PowerPivot . If you know DAX or you read our book , you will find that a DAX expression can solve the issue. However, such a formula is more complex than necessary. The next version of PowerPivot might have more built-in DAX functions and should solve the ranking need with a simpler formula. In the meantime, it is interesting to know a different approach that relies on Excel skills instead of...(read more)

    Read the article

  • technique for checking modifications in configuration file while starting up a program

    - by rajesh
    I'm writing a software for periodically checking a specific range of networked devices' reach-ability. I'm specifying the address range and the time frequency for checking their reachability, in an xml file. Which technique can I use to check that xml file during the start up of the program for any modifications done in either the range or the frequency and do the necessary update in specific database?

    Read the article

  • Chapters Two, Three, and Four

    - by drsql
    I am trying to blog all of the chapters of the book, but due to deadlines and a lot of shuffling about, I never got around it for these three chapters, two of which I have added since I wrote the original table of contents. All of these contain mostly material from previous editions of the book, updated a good amount, but nothing tremendously different if you had memorized the material from the previous edition. As such, the pre-writing blog ritual wasn’t as necessary (for me at least) as it is going...(read more)

    Read the article

  • Gnome Shell Blank edge until restart?

    - by jtaillon
    Since I installed Gnome Shell (which I much prefer over Unity), there has been a small annoyance appearing on the right side of my screen. As you can see in the picture below, there is a blank few pixels on the right side of the screen. It goes away if I reload gnome-shell ("r" command), but obviously, I'd prefer that this is not necessary. I'm not sure what exactly is causing this, but was hoping someone might be able to help. I'm running Ubuntu 11.10 on a Lenovo Thinkpad Edge E420s

    Read the article

  • Keywords Tools - Should You Be Using One?

    Is it necessary to be using keywords tools to gain high traffic to your site and ultimately to make money? If the answer is no, how do you optimise your site for keywords? If you choose to use keyword tools which ones do you pick? Free or paid for, there are so many to choose from.

    Read the article

  • Designing Tips For Real Estate Websites

    Once you have decided to design a website for pursuing your real estate interests online, there are certain things that should be considered prior taking up any designing task. First of all, it is necessary to identify the real purpose of building a website.

    Read the article

  • Yola Website Builder Review

    A website is necessary for any small business that wants to be taken seriously, but getting it out there can be a problem, especially for the technologically challenged small business owner. With easy-to-use online tools combined with domain name registration and web hosting, Yola provides a solution for anyone who can't build their own site and can't afford to hire someone to do it for them. When Yola says their online website builder is easy to use, they aren't kidding.

    Read the article

  • Handling Constraint Violations and Errors in SQL Server

    The database developer can, of course, throw all errors back to the application developer to deal with, but this is neither kind nor necessary. How errors are dealt with is dependent on the application, but the process itself isn't entirely obvious. Compress live data by 73% Red Gate's SQL Storage Compress reduces the size of live SQL Server databases, saving you disk space and storage costs. Learn more.

    Read the article

  • Kubuntu is not Ubuntu

    <b>Apachelogger's Log:</b> "This post is supposed to make it clear why Kubuntu is what it is. Writing this down is necessary because people constantly get the wrong picture."

    Read the article

  • You Can Manage Your Own Website

    It is necessary for you to manage your website properly so that visitors would be attracted to your site. Website management and maintenance are several activities which are performed to ensure that your web sites are current and updated. Web sites reflect the internal and current activities of that particular online business.

    Read the article

< Previous Page | 17 18 19 20 21 22 23 24 25 26 27 28  | Next Page >