Yesterday I replaced my Macbook’s HDD with Sandisk Extreme SSD. It feels like I renewed my mac. It is 3x faster than before. So, if you don’t have SSD which it asap, it will increase your productivity at least 3x.
This is the second part of the my post on Spring & JEE first impressions. This part is a quick glance to development environments. Netbeans 7.2 is used for JEE and IntelliJ IDEA 12 is used for Spring Framework. IntelliJ IDEA is a general purpose IDE for Android, Java, J2ME, JEE, Spring ..etc.
Netbeans provides best integration with Java EE technology stack, it handles configuration automatically and helps developers with suggestions. Whenever an entity class is annotated Netbeans checks for persistent unit, if not available it makes suggestions for persistence unit.
Also, It has also code generators for entity classes, especially ones from database tables. It generates necessary classes and named JPA queries.
Netbeans comes with Glassfish bundle, application can be deployed to the app server through one click. Everything is handled by IDE.
If you are on Spring Framework which is generally developed by Eclipse, you have to generate maven configuration and related dependencies for spring and sub spring projects. After having Spring libraries, there are configurations need to be set up for the application. Sometimes its annoying to define datasource, transactions, beans … etc. At this point IntelliJ IDEA helps to handle configurations easily. It can detect enabled modules in applications.
Syntax highlighting is amazing, it is available in almost any files, java, xml … etc. It can suggest which actions to take against problems.
Entity generators work smoothly with any given datasource.
No doubt that ORM is a power tool for managing data through OOP manner however, some times specific OOP queries needed. But, writing and testing these queries a little harder when compared to SQL since, there are no ORM manager. IntelliJ IDEA helps it with built in console for executing object queries inside the IDE without deploying application. The most amazing tool in the IDE (personal opinion).
This post is about comparing IDEs than technology stack. Next parts will focus on more related to technologies like Persistence, MVC, JSF and Security on Spring and JEE.
I’ve worked with Java Enterprise Edition 5 in a real enterprise environment but never had a chance for Java EE 6. Java EE is getting better in every release Java EE 7 is on the way and supports from companies increasing every year. A few months a go I started to use Spring Framework as my primary web framework for Java, It is too early to make comparisons but I can tell my first impressions on these two technologies.
Both two are open source and have a big community to support enterprise application development, spring seems more developers than JEE for now. Things that I like JEE ecosystem is , all components are developed (lead) by one company. The language itself Java, framework JEE, IDE Netbeans even database MySQL and the application server Glassfish. It provides really nice integration. Spring has STS but never used it and I haven’t seen anyone using it either. One thing that I don’t like Spring is configurations…. There are uncountable XML files and tags, in general I lost my self in it. This gap can be closed by Intellij IDEA which has better support for Spring than others. I’ll try to share my thoughts here for Spring + Intellij IDEA combination.
“Foundations of Security” kitabının arkasından okumaya başladığım “Secure Java For Web Application Development” kitabın sonua geldim. Kitap 300+ sayfa anlatılan içerik 100 sayfaya rahat sığar. Bazı konular çok kez tekrar edilmiş. Konular örnek bir uygulama üzerinden anlatılmış, yeni başlayanlar için oldukça ideal. Kitaptan beklediğim ve ismindede geçen Java’yı görmekti, malesef Java’dan pek fazla bahsedilmiyor ve hatta Java Enterprise’ın ismi bile geçmiyor desem abartmış olmam. Çok detaylı teknik bilgi bulmak zor, bu yüzden genel bir kesime hitap ediyor.
Dr. Emin İslam Tatlı tarafından incelenen iki güvenlik kitabı da okunacaklar listemde yerini aldı. Okumaya başlayacağım birinci kitap “Architecting Secure Software Sytesm”.
Geçtiğimiz hafta boş zamanlarımda okumaya başladığım “Fundation of Security: What Every Programmer Needs to Know” kitabı, an itibarı ile bitirmiş durumdayım. İsmindende anlaşılacağı gibi güvenlik ile ilgili temel bilgiler vermekte. Özellikle uygulama güvenliği açısından bir çok konu başlığını açıklamışlar. Kendi adıma konuşacak olursam, kitaptan herhangi bir şey öğrendim diyemem. Fakat, genel bir tekrar yapmış oldum. Bazı bilgileri kavramları yeniden hatırladım. Yazılım geliştirmeye yeni başlayan arkadaşlar için kesinlikle tavsiye ediyorum. Önümüzdeki hafta uygulama güvenliği üzerine (Java platformu tercihimdir) yeni bir kitap bitirmeyi planlıyorum.
Future, will be more connected with devices, sensors which will introduce new market, new methods, new concepts to us. IoT will be the most important part of future technology. Recently, designing electronic circuits complexity mostly eliminated by projects like arduino, mbed … etc. However, this complexity will be completely hidden in near future. There will be more generic programble devices. Everyone will be able to buy these devices easily and develop their own apps, even they will be distribute these apps via online markets. Not only, device part but also, cloud part of this process will be easy to connect, log, analyze and take necessary actions on devices. Already some companies started to build their solutions and they are triggering this process these days. Electric Imp is an example company provides device and cloud solutions to bring internet everything.
In my opinion, any kind of investments (knowledge, technology, resource … etc.) on IoT will more logical in the near future.
Internet of Things (IoT) is happening, things we use in our everyday life connecting to the Internet. Electronic devices are getting more accurate sensors, batter power and communication interfaces with affordable costs. And this leads tiny devices to attached to our lifes, sensing environment and logging data. Future technology and technology companies will be mostly in either developing small devices or analyzing data generated by this components.
I’m always interested in interactions things, people and nature. It’s all about understanding the place where we live. Since, I have a computer engineering background, my interests are focused on wireless communications (WSN, NFC, Cognitive Radio) and how future devices will be in our lives. As a researcher I study cognitive radio and its applications. But, in my free times I play with electronic devices to built my own IoT. Recent, I got my Arduino Uno and Ethernet Shield and spending my free time for hacking this little devices. I need a wireless component but waiting for Bluetooth Low Energy (4.0) extensions.
My Macbook Pro’s superdrive was death, it was ejecting every cd/dvd when I insert it. Since new macbook’s unibody is not easy to dissemble every time to to clean something.So, easiest way to clean it, Philips Lazer Lens Cleaner which works very well. I wasn’t expected to get my drive back.
There are several network simulators available which are design for different purposes. Quick google will result survey papers discussing these simulator both advantages, disadvantages and usage areas. After deep diving into these simulator environments, OMNeT++ is the best logical option for simulating WSN (Wireless Sensor Networks). OMNeT++ is available as commercial and academic uses and actively developed.
Also, OMNeT++ provides infrastructure to develop components top off on it and WSN is available as 3rd party component. OMNeT++ models are available in its website. Mixim is a modeling framework for mobility and fixed networks which is necessary simulating wireless networks with OMNeT++.
OMNeT++ 4.2.1 and MiXiM 2.2.1 is greatly integrated and works well under Mac OS X Lion. After installing OMNeT++ MiXiM is imported into workspace and compiled under OMNeT++. To be able to compile and build tools latest XCode version is needed.