Posts

Showing posts from March, 2018

সফটওয়্যার ডেভেলপার হিসেবে জবের প্রস্তুতি

বাংলাদেশে সফটওয়্যার ডেভেলপার হিসেবে জবের মার্কেট ধরার জন্য ইমেডিয়েটলি কিছু বিষয়ে নজর দেয়া দরকার। 


স্কিল
যাহোক, প্রথমত আপনি সবকিছু একসাথে না করে যেকোন একটায় ভালো স্কিল জোগাড় করার চেষ্টা করুন। আপ্নি যদি জ্যাংগোতে ওয়েব ডেভেলপমেন্ট করে মজা পান তবে সেটাতেই লেগে থাকুন। কিংবা জাভাস্ক্রীপ্ট।
কোটলিনের জব অপরচুনিটি কিছুটা কম বাংলাদেশে। কিন্তু শিখলে ক্ষতি নাই। সাজেশন থাকবে যে কোন একটায় ভালো স্কিলড হতে চেষ্টা করেন, সেই সাথে কিছু ওপেনসোর্স প্রোজেক্টে কন্ট্রিবিউট করেন।
ওপেনসোর্স প্রোজেক্টে কাজ করলে যেটা হবে,
আপনি অনেক কিছু শিখতে পারবেন।
আপনার প্রোফাইল/সিভি ভারী হবে।
আপনার কাজ অন্যকে দেখানোর সুযোগ পাবেন, নেটওয়ার্কিং হবে। গিটহাব প্রোফাইলে আপনার কন্ট্রিবিউশনগুলো কিন্ত আপনার প্রোফাইলে সোনার অক্ষরে লেখা থাকবে সারাজীবন।
প্রোফেশনাল নেটওয়ার্কিং
সফটওয়্যার ডেভেলপাররের বেশীরভাগ জবই নিজেদের অদৃশ্য নেটওয়ার্কের মাধ্যমে হয়। কোন কোম্পানীর রিসোর্স দরকার হলে তাদের এক্সিস্টিং এমপ্লয়িরা নিজের নেটওয়ার্ক থেকে রিসোর্স খুজে নিয়ে নেয়। একারনে দেখবেন বিডিজবসের মত ওয়েবসাইটগুলোতে জবের এপ্লিকেশন করলে বেশীরভাগই খুলেও …

Uploading files on filesystem spring boot

In this article, I'll show you a very simple way to upload and save your file in the filesystem rather than saving as a blob in the database.
It'll be a very flexible way to do that. We can provide a root path for a filesystem (aws or other service, or our servers file system) where it'll consider saving files.

1. Create a Pojo for keeping the file informationspublic class UploadProperties { private String namespace; private String uniqueProperty; private String rootPath; private String fileName; public enum NameSpaces{ USERS("users"), COMPANIES("companies"); String value; NameSpaces(String value){ this.value = value; } public String getValue() { return value; } } public String getDirPath() { if (namespace == null || namespace.isEmpty() || uniqueProperty == null || uniqueProperty.isEmpty() || rootPath …

জাভা বেসিক টু অ্যাডভান্সড প্রোগ্রামিং গাইডলাইন

জাভা প্রোগ্রামিং এর বেসিক শিখে অনেকে দ্বিধায় পড়ে যায়, এর পরে কি করা উচিত। কোথায় কোথায় আমার এই স্কিলটা কাজে লাগানো যাবে।
আমি প্রায় তিন বছর ধরে জাভায় কাজ করছি। প্রথম দিকে এরকম দ্বিধান্বিত আমি নিজেও ছিলাম। একটা প্রশ্নই মাথায় আসত সবসময়, What is it good for?
সহজ উত্তর হল, It’s good for everything!

এখন কাজের কথায় আসি। জাভা মূলত একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ। কন্সিডার ইট অ্যাজ এ টুল। যে টুলটা লজিক্যালি ব্যাবহার করে একজন প্রোগ্রামার তার প্রব্লেম সমাধান করবে। জাভার বেসিক কনসেপ্ট শেখা হয়ে গেছে? বেশ। প্রব্লেম সলভিং করে নিজের হাত পাকা করে নেয়াটা ভালো। এতে দুইটা উপকার হবে।

১। কোর ল্যাঙ্গুয়েজে হাত পাকা হবে।
২। লজ্যিক্যাল স্কিল ডেভেলপ হবে।

এই গেল টুলের কথা। এখন আসি প্রব্লেমে। কোন ধরনের প্রব্লেম আমাদের সলভ করতে হবে এবং কোন প্ল্যাটফর্মে। ওয়েব এপ্লিকেশন, ডেস্কটপ অথবা মোবাইল এপ্লিকেশন? অথবা অন্য যেকোন ধরনের প্রব্লেম?
জাভা প্রোগ্রামারদের কাজ করার প্ল্যাটফর্ম এই সবগুলোই। তবে সাধারণত এখন সবচেয়ে বেশী যে প্ল্যাটফর্মে জাভা ব্যাবহৃত হয় সেটা মোবাইল এবং ওয়েব এপ্লিকেশন। এছাড়াও মেশিন লার্নিং এ জাভা ইউ…

Implement password Reset feature for your java application

Grettings!

In this article I'll show you how you can implement a password reset feature in your java application.
You have to follow this {var} simple steps to implement this feature.

1. Create a model for validation token You can create a parent class ValidationToken that you can extend in any specific type of validation token class.


Extend it to AcValidationToken class that you are going to use for this purpose.

@MappedSuperclass public class ValidationToken extends BaseEntity { private String token; private boolean tokenValid; // getters and setters }
Extend it to AcValidationToken class that you are going to use for this purpose.

@Entity public class AcValidationToken extends ValidationToken{ @OneToOne private User user; private String reason; // getters and setters } Here we've created a @OneToOne relationship with user because we are going to reset password for that user.
2. Repository and Service for t…