I'm very impressed with my initial tests with db4o. However, i'm wondering just how many enterprise class websites are out there powered by db4o, i couldn't see any on the main website?
I can't see any reason why db4o should not be used. There appears to be decent enough support for transactions and ways to handle concurrency for example.
Anyone got a list of websites i could look at?
See:
http://developer.db4o.com/Projects/html/projectspaces/gaabormarkt.html
A particular search engine used to be powered by db4o (I say "used to" because I haven't talked to the author about this since a long time).
http://www.rel8r.com/
The author is Travis Reeder.
Although I cannot see websites specifically, here is a list of Open Source Projects from the db4o website:
http://developer.db4o.com/ProjectSpaces/view.aspx/Open_Source_Products
Related
We are supposed to make a web-based project using postgres. The topic is library management system, where on a website a user can search whether a book is available in the library, if it is present then where, and so on.
The problem is just that I don't know anything about web development. I do have a pretty good knowledge of sql, but I'm confused a bit in that too, because I don't know if I'll just have to run the queries in my laptop in postgres and link if it "somehow" to the website, or will I have to upload my data on some server (for eg., firebase in case Android development) to be used in my website.
So briefly, I've just two questions:-
How should I start, because I have no idea where to begin with(I do have all the data needed btw)?
About postgres, will the queries run on my laptop or some server?
Please help me with this. Some online resources for the same are way more than just welcome, because I was unable to find any. Thank you!
First of all, you'd take a look at some design pattern in order to learn some theory on how to make (web) apps in the right way. You can visit Martin Fowler's web site and read them.
Once studied, you'd follow my advice. If you've got Java expetise, I'd start by learning Spring Boot, which has every piece you need to achieve your goal. This project follows lot's of design patterns (MVC, Repository, DAO, AOP, IoC/DI...) and lets you follow others (DTO). Anyway, choose the right template engine (I like Thymeleaf) or any other framework (Angular 2...).
Hope it helps.
welcome to development world. When starting out it seems very confusing but it is not that much.
Start slow, there are many tutorials across which helps.. just do a bit of google.
To answer your question :
How should I start, because I have no idea where to begin with(I do have all the data needed btw)?
-- Google simple website with postgres db. For that you will require the database to be installed and a webserver on your machine. All of which will be used when you host the website
About postgres, will the queries run on my laptop or some server?
-- It will run on where you have installed the database..
hope this helps :)
Company I work for is currently preparing to expand and take on emergency support (after hours support).
We currently have a wiki setup with a lot of information.
However, due to the fact that bits and pieces are scattered across entire wiki (dependable on what department etc).
Whoever is on support that night/weekend needs to quickly be able to help customer with their problems. eg. if our server is being very slow there needs to be troubleshooting guide of some sort so that person can dig straight into it.
I have googled quite a bit but I was not able to find anything useful. So here is a question:
How would you structure your wiki (by topic, by symptoms, by solutions?) to minimize time person has to look for information?
Personally, I think using some sort of syntax such as
Symptom: large CPU utilization
Keywords: slow server, large cpu usage
That way when you search through wiki it would most likely come up in search. But what if issue is more software related - such as miss-configuration?
This is wiki API url
http://en.wikipedia.org/w/api.php
Also you need to have a Web Service which will accept the params on which search will be performed as well as UI page.
Web Service will have all the logics which ever needed.
Is there a Wikipedia API?
I keep seeing references to the idea that "CouchDB may not be the best tool in every situation." This is good to know, but unfortunately also applies to every technology.
What would be much more helpful is a description of how CouchDB was tried on a project and subsequently abandoned for a traditional SQL database.
If you've tried CouchDB on a project and later gone back to a SQL database, what factors played the biggest role?
You might want to check out the following articles, which describe a few examples:
Why CouchDB Sucks
Stack Overflow - When to use CouchDB vs RDBMS
When to use CouchDB, when not to...
Top 10 Reasons to Avoid the SimpleDB Hype
Does CouchDB supports referential integrity?
There’s a good CouchDB post-mortem from Sauce Labs here:
http://sauceio.com/index.php/2012/05/goodbye-couchdb/
And another from Signal here:
http://blog.signalhq.com/2012/01/24/getting-off-the-couchdb/
Its marketing slogans "Relax, it's easy" and "CouchDB bult for the Web" - it's not true.
Because:
It's not easy. Ha-ha, writing map/reduce for every query is easy, really? Did someone who advocates it actually tried this approach, on something real I mean, not just two-weekends-blog app?
Some common web-app tasks is hard to do with CouchDB (try to get Post with its Comments Count in one query or Tag Cloud (top N tags, not just counts of tags) to see it for Yourself.
So, CouchDB has very interesting and unique features, but its marketing is wrong. It's not for a general web app, it's a nice but a very specialized tool.
P.S. More details http://alex-craft.com/blog/2013/a-little-about-cochudb-and-comparison-with-mongodb
you might find this page useful http://www.mongodb.org/display/DOCS/Comparing+Mongo+DB+and+Couch+DB
Ubuntu stopped using CouchDB for UbuntuOne, because it failed to deliver its promises, even for small load: https://lists.ubuntu.com/archives/ubuntu-desktop/2011-November/003474.html
What are the most common things to test in a new site?
For instance to prevent exploits by bots, malicious users, massive load, etc.?
And just as importantly, what tools and approaches should you use?
(some stress test tools are really expensive/had to use, do you write your own? etc)
Common exploits that should be checked for.
Edit: the reason for this question is partially from being in SO beta, however please refrain from SO beta discussion, SO beta got me thinking about my own site and good thing too. This is meant to be a checklist for things that I, you, or someone else hasn't thought of before.
Try and break your own site before someone else does. Your web site is basically a publicly accessible API that allows access to a database and other backend systems. Test the URLs as if they were any other API. I like to start by cataloging all URLs that have some sort of permenant affect on the state of the system - this is easy if you are doing Ruby on Rails development or trying to follow a RESTful design pattern. For each of those URLs, try running a GET, POST, PUT or DELETE HTTP methods with different parameters so that you can ensure that you're only giving access to what you want to give access to.
This of course is in addition to obvious: Functional testing, Load Testing, SQL Injection, XSS etc.
Turn off javascript and make sure your site can still be navigated.
Even if you want to ignore the small but significant number of people who have it disabled, this will impact search engines as well.
YSlow can give you a quick analysis of different metrics.
What do friendly bots see (eg: Google); check using Google Webmaster Tools;
Regarding tools for running functional tests of a web pages, I've found that Selenium IDE to be useful.
The Firefox (version 2 only compatible at the moment) plug in lets your capture almost all web events, and save them and replay them in the same browser.
In conjunction with another Firefox https://addons.mozilla.org/en-US/firefox/addon/1843"> Firebug
you can create some very powerful tests.
If you want to set up Selenium Remote Control
you can then convert the Selenium IDE tests into nUnit tests, which you can run automatically.
I use cruise control and run these web tests as part of a daily build.
The nice thing about using Selenium remote control is that it can run the same functional tests on multiple browsers and operating systems, something that you can't do with the IDE.
Although the web tests will take ages to run, there is an version of Selenium called Selenium Grid that lets you use any old hardware you have spare to run the tests in parallel as part of a computing grid. Not tried this myself, but it sounds interesting.
All of the above is open source and free which helped me convince management to use if :-)
For checking the cross browser and cross platform look of your site, browershots.org is maybe the best free tool that can safe a lot of time and costs.
There's seperate stages for this one.
Firstly there's the technical testing, where you check all technical functionality:
SQL injections
Cross-site Scripting (XSS)
load times
stress levels
Then there's the phase where you have someone completely computer-illiterate sit down and ask them to find something. Not only does it show you where there's flaws in your navigational logic (I find that developers look upon things way differently than 'other people') but they're also guaranteed to find some way to break your site.
we're developing a web app to cover all aspects of a printing company from finances, to payroll, to job costing. Its important to be able to control who can access what parts of these applications. Don't want a line employee giving himself a raise, etc...
I've heard of the concept of ACL & ACO, but haven't found a good example that we could adapt to our project.
Anyone know where I can find good information to work from?
A brief rundown on ACLs, where they should be used and how they should be structured and implemented for various applications and user levels can be found here:
LINK
I've had to implement that type of security a couple of times. Unfortunately I don't know of any really good articles that provide examples. My implementations were mainly piecing together the parts through trial and error.
However, I did come across this link on MSDN:
http://msdn.microsoft.com/en-us/library/52kd59t0(VS.71).aspx
It has some of the concepts.
After my original post, I did some more research. I found this article:
http://www.aspfree.com/c/a/C-Sharp/Implementing-Role-Based-Security-using-CSharp/
it seems pretty promising, I didn't go through all the details, but it at least guides you through the high-level topics.
If you're using .NET/Windows you might want to look into Windows Authorization Manager (AzMan). There are support for AzMan in Enterprise Library but there are other ways of using it as well.
http://msdn.microsoft.com/en-us/library/ms998336.aspx
http://alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/WhatIsAuthorizationManager.html