When developing a website [closed] - performance

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Very often, I just create a new folder and test things out in there. I use remote upload and then edit and refresh the page to see if it works. Now, one time when I was asked to work on a friend's website, he told me to change the IP for his domain in my HOSTS windows file. He had a clone of his website on another server, so I could edit everything and still visually see my work. Is it ideal to work like this? What's a good strategy for programming when developing websites? e.g. Back up before you begin working, working on the files in a separate directory, etc...
I know everyone has their own style and I understand there's no right way. I'm simply just interested in everyone's common practices and I hope to pick up a few tips here and there and incorporate it to my own style.

If you're not already doing it, start using a version control system like git or subversion for keeping track of changes. That way, you'll always be able to revert to an older version if new changes breaks something.
I develop and test changes on my workstation or a development server with a configuration that resembles the web server's config as closely as possible, so that I can be confident that things won't break when I deploy the new version on the web server. I commit my changes as I go, and when I'm satisfied with the new version I deploy it to the web server by checking out the new version on the server.

Fiddling with the /etc/hosts file is a quick and simple way to simulate a Web address for testing purposes - nothing wrong with that at first blush.
However, if decently done then working on the site shouldn't need that kind of trickery, because all links inside the site should be relative. i.e. if the original site had an address like http://true.app.com and you were testing on a server with address mock.app.com, then you should be able to point your browser at http://mock.app.com and once you're there all the links should work. If the links are absolute (i.e. the page is full of references to true.app.com) then there might be a problem with the design/architecture/structure.
If your friend doesn't have a domain name for his testing server, then the same applies to the numeric address; the links should still work if you start off browsing to http://1.2.3.4.
A valid reason for "faking" the address might be if your site does a lot of back-and-forth with another, and the other site's links send your browser back to your site.
To answer the question: A good strategy is to work with relative links as much as possible; that way, when your friend's business and software get sold to another company, or he goes out of business and has to re-surface under another name you'll have much less work adapting the links - ideally, none.

Pull the site down (if you're going to edit an existing) to your local development web and database server/workstation. Make it run and develop locally. Have the source (code, images, stylesheets, db scripts and so fourth) go into your own version control system.

Related

Best practices for collaborative web development in Mac environment? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
At my current job I've been the only web developer for almost 3 years. So for that whole time I just used MAMP on my own local machine. We have a 2nd developer that will be starting pretty soon and I need to figure out the best way to set everything up so we can both work on the same project.
All of the machines at our office are connected to a Mac OS X server. Is it possible to host our web projects on the server and have them be accessible via a short url such as exampleproject.dev?
The reason I want to have our web projects reside on our server is because it is always on. So if I'm not in the office I want our other developer to be able to access our web projects.
Also, I'd like to get some kind of version control software set up. Any recommendations? Thanks!!
This is a hazard I've seen two companies fall into, and then emerge out of. Your other developer should also work locally (optionally against a common dev database though).
I would recommend putting Subversion or Git on the server. Just from personal preference and both of which work well with local environment setups, you have to push your changes into the repository before others will see them.
You can then set up an automated build system that pushes your code from your source control to the server for common viewing (if necessary).
From personal experience I would not recommend everyone developing against the same code on the same machine. People will break things and temporarily halt development for others as well as accidental code overwrites. It can't help but get ugly occasionally.
Definitely an advocate of: Work locally, commit often, but only once you're sure it's not going to blatantly break the site.
But — If you feel you still want to do the 1 dev environment at least make sure everyone is using an editor that prompts you (or updates) when someone changes the same file. As an example I use Sublime.
oh there are many ways. You could check out the thoughtbot dotfiles on github (https://github.com/thoughtbot/dotfiles) which are meant for just that or you could investigate into different setups for tmux and session sharing. I'd recommend you get yourself used to git and homebrew because that's at the base of every common shared environment on the mac.

Whether to choose Joomla or not for a job portal [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am currently looking to get my job portal (www.jobsinajiffy.com) revamped by an outsourced contract. In its new version, it would use LinkedIn and Twitter APIs and would also have microsites for employers with videos and blogposts. I have to decide between Joomla and hand-coding/PHP for the portal development, since competing contractors have suggested these two approaches.
There are several opinions out there regarding what to choose but none of them address a site like this. I am reaching out to you in the hope that you (or somebody you know) can help me make a choice between Joomla and hand-coding with respect to the following parameters:
a)Page load speeds
b)Design customization
c)Stability
d)Ability to handle high traffic
e)Any other points to keep in mind
Well - if I were going the Joomla route for this project I would consider one of the following paths:
a) SOBI Pro - allows you to create multiple directories within one component. Create a directory of positions that people can browse, and a separate directory of potential employees that an agency (or the employers - depending upon how you want it) can search, sort, filter the applicants
b) use an off the shelf employment component - there are a number, but to be honest all the ones I've tried have had limitations in their flexibility. If you find one that is close to what you want you could have it modified.
JomSocial or Community builder could facilitate the subsites areas perhaps - depending upon what you need. Alternatively there are plenty of blogging add-ons available. In fact K2 or one of the other CCK extensions (Zoo, for example) might be capable of being both blog and job directory. Insertion of video is trivial, whether hosted locally, or remotely Amazon S3, YouTube, etc.
The Joomla Extensions Directory JED http://extensions.joomla.org/ is your friend. Start by browsing the top components and think through how they could fit into the bigger picture of your site - either now or down the line.
I'm on record as stating that there are very few online project where you can't get close to what you need with Joomla. I know others who say the same about other Open Source CMSs and I won't argue.
Hand rolling your own solution is possible - but a solution pieced together with off the shelf components is generally massively cheaper - but may not have the same shelf life as hand rolling your own.
In the end you pays your money, you make your choice. One thing I would suggest though - is not 'designing' your complete solution up front. Roll it out in stages. Begin with the bare minimum to make it workable - and add features over time.
Edited to add:
In terms of page load, etc - there is no reason a Joomla site can't be as fast as any other site on the web - as long as it has solid hosting. I may be breaking a community rule here but I'd offer our own site http://www.deanmarshall.co.uk/ as an example. We aim for the front page to load in under 1.5 seconds, with other pages in under 1 second.
You should try PyroCMS, way much easier than joomla and pretty good with the features for a portal.

What are the advantages / disadvantages of a Cloud-based / Web-based IDE? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I'm writing this as DevConnections in Las Vegas is happening. Visual Studio 2010 has been released and I now have this 3GB beast installed to my machine. (I'll admit, it has some nice features.)
However, while the install was monopolizing my computer's resources I began to wish that my IDE worked more like Google Documents (instantly available, available anywhere, easy to share, easy to collaborate, naturally versioned).
A few Google (and StackOverflow) searches led me to :
Coderun
Bespin
I'm well aware that these IDE's are missing a lot of what exists in VS 2010. However, that isn't my question. Instead, I'm wondering what benefits a web-based IDE might have? Assuming a company invests the time to create the missing features, what is the downside?
Benefits:
Code available anywhere an internet connection is available
Simple sharing mechanisms
Simplified build mechanism
Many modern IDE features available (Autocomplete, syntax highlighting, etc...)
Requires a modern browser
Drawbacks:
Code is only available where an internet connection is available
Requires a modern browser (this might be an issue in some corporate settings)
Simplified build mechanism
At the mercy of the latency gods
No native debugger
No choice of revision-control
No clear backup solution
No clear way to fully remove source code from the provider's servers
No support available
No choice over maintenance schedule of servers
No control over IDE or environment features and tools
Must trust provider's security and privacy controls
As you can see, many of its benefits are also potential drawbacks. So I think the use of a browser-based IDE is very project dependent.
However, IMHO, I don't think browser-based IDEs have enough features or provide enough necessary services to replace desktop IDEs in most modern enterprises.
Just being devils advocate here and listing the disadvantages:
Disconnection!
The fact that you don't really own any software - if you stop paying the monthly bills you can't access it any more but you can keep using offline installed products after the initial payment.
Big / valuable projects may be uncomfortable not having their source code tucked away inside a network they control - one hacked account and their main IP is out on the net.
Limited extension ecosystem - with online services there is generally a control over it like facebook for example, but nobody tells resharper what features they can include
Forced upgrade - big corporations are still running .net 2.0 (.net 4 just came out). They can be slow to move and being forced to use the latest and greatest version of the app could be a too fast a pace for them.
Exposed to bugs - some people have wierd personal rules like they dont touch v1 software. If you always have the latest version you are exposing yourself to being hit by productivity consuming errors (security updates are a different category to feature updates but still if you are running desktop software you can isolate your security exposure and decide your own reasons to upgrade)
Interoperability - perhaps your app works with another app - they might not be able to keep up with the release pace of the main app and the interoperability functionality might lag while the other developers play catch up.
Centralised point of failure - no control over backups, redundancy, etc - its in the hands of the developers of the service.
Personally I find cloud based services very convenient and as time goes on now that I have a laptop and a desktop and a work computer and my friends have computers it becomes a chore to sync data between the lot. At the current stage we are still dealing with toy apps on the web but hopefully in a few years Silverlight will put a big dent in that.
The web is inheritly less featureful than a native application. Also, how do you compile and test out your code? No sane web host will let strangers compile, run, and test their code on their servers.
Besides "ubiquitous" availability (note the quotes), you get the "benefit" of editing code on the server. So, you get to skip many of the deployment steps that are necessary for many server side apps today. There's a simplicity of editing code like you'd edit a blog, but it can also be a curse as well. You still need a way to separate development from production.
But that said, if you use the Blog or many CMS applications, millions of folks use "Web based IDES" every day, so there's obviously applicability for specific application areas. I can tell you there are times I wish fixing a quick bug on a deployed app were as simply as clicking an "edit" button.

Web Hosting for OS Commerce [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am trying to get started with some SQL software. I would like to know the best webhosting provider to go with. The software is called "OS Commerce" its quite terrible but I am used to working with it from work. It needs C-Panel and so on. Any recomendations?
Pretty much any webhost which runs *AMP (Apache, Mysql and PHP) will be able to run osCommerce.
When choosing a webhost I'd reccomend you steer clear of any host that offers any kind of "unlimited" bandwidth / diskspace. If you read the small print you'll see that it's not actually unlimited, so chances are they're overselling their resources (Cramming as many people on to one server as possible).
When I'm looking for a host I always check to see if they have a public forum, and if they do have a look around to see the attitude of the community & how quickly (if at all) staff respond to support requests. As Stephane said, Webhostingtalk.com is also a good resource for finding out a host's reputation.
Another good technique is to google "COMPANY_NAME sucks" or "COMPANY_NAME downtime". The results can be very interesting.
I've personally had good experiences with Unitedhosting.co.uk & webfaction.com
Stay away from 1&1, Godaddy etc. 1&1 are notorious for their poor support and it's very hard to cancel a contract with them.
EDIT: osCommerce won't require cpanel - pretty much every host will provide you with some sort of interface for managing databases etc.
EDIT2: Also, from what I've heard the original osCommerce project is no longer maintained properly, you might be best going with the new osCommerce project
WebHostingTalk.com. It's the best discussion forum I've seen where people review and talk about the various web hosts
The requirements for OSCommerce are here http://www.oscommerce.info/kb/osCommerce/Installation_and_Upgrades/46 all that is needed is php and access to a mysql database.
right now im using http://www.justhost.com/, things seem to work fine.
osCommerce should run on any LAMP stack so pick whichever host you feel comfortable with.
You could run it on your own computer for private development (XAMPP is popular). If you still want to find a host, look for one local to you and keep regular backups!
I've used ASmallOrange in the past, give them a try if you want. Everything worked great when I used them.

which open source project is most like Google Notebook? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
As we knew, Google stopped the development of Google Notebook. Though lots of alternatives exist, no one satisfies me (see below for the reasons). Many suggest Google to open source it, but Google didn't response by so far. So I'd like to turn to open source world to develop one. In a nutshell, Google Notebook attracts me in the following ways:
Every notes of a certain notebook present in the form of "list" intuitively. Notes can be dragged to rearrange and organized into Sections, meanwhile notes and sections can be collapsed and expanded easily. To the best of my knowledge, no other note taking software or web service functions like that.
Need to begin a new note? Just move the mouse cursor to any "blank strip" between two notes and click--a new note will emerge there, waiting for your edition, or you can change it into Section freely. No need for the stupid "New Note" button or anything of the kind, and you can always make your new note in the exact place you want. That's the best part that Google Notebook offers, and that I'd like to seek for in the world of existed open source projects.
Well, these are the most valuable things I'd like to have in my new note taking software. Please tell me which open source projects I should learn for, whether web-based (e.g. PHP projects) or executable software (cross-platform is better) will be OK. Thanks very much.
Closest thing I've found was WorkFlowy. Dividing things into categories is not as straightforward (you need to create "subnotes"), but otherwise the interface and the features are similar (although I still prefer Google Notebook's).
Will give OneNote a try as well. If the OneNote webapp is any good, I might end up going in that direction.
the tomboy project guys are developing a django-based web client with and additional api for desktop-sync. it looks interesting. check it out:
http://live.gnome.org/Snowy
http://automorphic.blogspot.com/2009/05/tomboy-0151-release-brings-new-online.html
http://mindby.com/2009/05/tomboy-snowy-nirvana/
Well, there's Chandler. My first thought when I saw Google Notebook was that Chandler had better get its ass in gear...
I have been using Zim-Wiki for along time, really liked it. Will evaluate chandler. Actually we all read articles takes notes, and wish a smiple but powerful desktop wiki or notebook.
Zim-wiki doesnot start a page by clinking over a empty space, as its not ajax based. Anyways here's a set of tools i use to keep my notes.
Zim-Wiki, for something i read, and wish to add my perspective for late reference.
Bokmark, the links for later reference
BScrapBook feature in firefox, or scrapbook+ feature of firefox3.5
I have not found a one-solution product as of now. I hope someone provides a better integrated product.
Zim is extra-simple, usual keyboard shortcuts and intuitive layout , thus hardly any learning cure. It is cross platform, and i share my same common notebook across my windows and linux.
It's not open source, but Microsoft OneNote is pretty stellar in my opinion. It's pretty similar to Notebook(click to start a new note, tags, searching across all notebooks, etc..) and it's easy to move your notebooks around if you have OneNote installed on more than one machine. I've used a handful of others and none of them have been as intuitive and easy to use.
Not open source, but Evernote has an API. I haven't seen any other app with so many modes of getting notes to their system (cell phone with camera integration, web, desktop app). Everything can synchronize. If you have the desktop app installed, it has command-line capability.
There is a tagging system similar to Stackoverflow. All the different notebooks, drag-and-drop arrangements are in the desktop version.
I actually started using fishCode Library.Net and I really like it. I sync it to Live Mesh so database nodes are always in sync.
I just moved from Google Notebook to Google Documents. I essentially just use it as a log book creating an entry for each day with a few lines of details. Works fine for me so far.
I created a webapplication called jottinx to replace Google Notebook for me. It is not open source, but it is free to use. I looked at the alternatives, and frankly found none to be really to my liking. Honestly it still is very much a work in progress, so I do not yet have the drag/drop/collapsing notes, but I am working on that.
You can import your Google Notebook Atom xml files, and work from there again.
For the moment it is a simple clean application, and I use markdown to write your notes, which I personally prefer as I tend to keep also code snippets and scripts in my notes.
As this is still in progress, I am always keen to receive feedback ...

Resources