In my previous post, I completed the first phase of my Bird Log application. I can use this application to view my current sightings and add new sightings. I also implemented very basic support for content filtering. In this post, I am going to use eBird APIs to display current bird sightings reported on ebird.org, near my current location. I plan to use HTML5 Geolocation APIs to find out my current location automatically and then use Google Geocoding APIs to map my current Geographic coordinates (latitude and longitude) to a human-readable address. (more…)
In my previous posts (Part 1, Part 2 and Part 3), I developed a starter web application using AngularJS, Bootstrap, Spring Boot and Maven. In this post, I am going use this starter app to build the Bird Log app.
The Bird Log is a simple web-based, Single Page Application (SPA), used to record my bird sightings.
This application:
HTML5 Geocoding APIs
to find my current locationGoogle Geocoding APIs
to map latitude/longitude to the location/addressIn the previous post, I added AngularJS support to my base Spring Boot Application. In this post, I am going to integrate Bootstrap CSS and Javascript framework to make it pretty.
Bootstrap CSS
and Javascript
files are included in the application.<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" >
and
<script src="bower_components/jquery/dist/jquery.js"></script >
<script src="bower_components/bootstrap/dist/js/bootstrap.js"></script >
In my previous post, I created a project for a simple web application using Spring Boot and Maven. I want to take it further and add AngularJS support to the setup.
I am an avid birder so I am going to develop a Bird Log app to log my bird sightings. Recently, I was introduced to AngularJS and have become a big fan of this framework. I am going to develop a Single Page Application (SPA) using AngularJS and Twitter Bootstrap Framework for HTML and CSS.
I have been using Spring Framework and Maven for my enterprise application development for long time now. I am a big fan of Spring Framework but a typical Maven and Spring based application requires a fair amount XML configuration to get started.
Along comes the new Spring initiative called Spring Boot that aims at accelerating application development. As per Spring Boot website, it takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible. You can use it to create stand-alone Java applications that can be started using ‘java -jar’ or more traditional WAR deployments. (more…)
I recently got my new MacBook Pro. I plan to use this laptop for my development (Enterprise Java, Spring, AngularJS, Web et al.) as well as photo editing. This post explains steps I followed to setup my development environment on my new MacBook Pro.
(more…)
Recently I was trying to setup a simple database schema in MySQL and was presented with this rather cryptic message:
Can't create table 'test.user_role' (errno: 150).
After scratching my head for long time and trying many options, I finally figured out what was wrong with my SQL script.
The following script resulted in the error mentioned above.
CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `email` varchar(255) NOT NULL, `username` varchar(20) NOT NULL, `password` varchar(50) NOT NULL, `is_password_temporary` bit(1) NOT NULL, `is_enabled` bit(1) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email_UNIQUE` (`email`), UNIQUE KEY `username_UNIQUE` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `role` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `description` varchar(64) DEFAULT NULL, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `user_role` ( `user_id` int(10) NOT NULL, `role_id` int(10) NOT NULL, PRIMARY KEY (`user_id`,`role_id`), KEY `FK_ROLE_ID` (`role_id`), KEY `FK_USER_ID` (`user_id`), CONSTRAINT `FK_USER` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`), CONSTRAINT `FK_ROLE` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
The user_id
column in the user_roles
table was defined as int(10)
.
This column points to the primary key id
in the user
table, which is defined as int(10) unsigned
.
This mismatch in the datatype resulted in the error mentioned above.
The following change in the definition of user_roles
table fixed the issue.
CREATE TABLE `user_role` ( `user_id` int(10) unsigned NOT NULL, `role_id` int(10) unsigned NOT NULL, PRIMARY KEY (`user_id`,`role_id`), KEY `FK_ROLE_ID` (`role_id`), KEY `FK_USER_ID` (`user_id`), CONSTRAINT `FK_USER` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`), CONSTRAINT `FK_ROLE` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
I wish the error message was little more user-friendly.
Uninstalling MySQL on Mac OS X involves manually removing following directories and files from your drive.
Assuming your MySQL is installed in /usr/local
, perform the following steps:
cd /usr/local
sudo rm mysql
removes the symbolic link to the actual mysql installation. You may be prompted for your administrator’s password at this point.sudo rm -rf mysql-5.1.47-osx10.6-x86/
removes the actual mysql installation. You may have a different version of mysql installed on your system.sudo rm -rf /Library/StartupItems/MySQLCOM
removes the MySQL startup option.rm -rf ~/Library/PreferencePanes/My*
removes preference panes.sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
I was hoping for a much simpler process for cleanly uninstalling MySQL from my system.
Thanks to Rob Allen for this tip: Rob Allen’s DevNotes
One of the best, to the point explanation I found was on stackoverflow.com. Check it out.. Thanks Mike.