Skip to main content

Posts

পাইথন এবং জ্যাঙ্গো কোডিং স্টাইল-১

প্রোগ্রামারদের মধ্যে একটা জোকস আছে যে কোনো একটা প্রোগ্রাম লিখতে যে সময় লাগে, প্রোগ্রামটা ডিবাগ করতে তার থেকে বেশি সময় লাগে। উপরের ছবিটা সুন্দর না ? আসল কথা হলো আমাদের কোড লেখার থেকে কোড পড়তে হয় বেশি।আন্ডারস্ট্যান্ডএবল কোড আমাদের ব্রেইনের ব্যান্ডউইথ কে ফ্রি করে দেয়।  ক্লিন,রিডএবল কোড লেখা কিন্তু একটা যোগ্যতা। এজন্য আমাদের চেষ্টা করতে হবে যতটা সম্ভব রিবাবলে কোড লেখার যে কোড নিজে কথা বলে। যেমন: আমি যদি কোনো ভ্যারিয়েবল  নাম c_t_num এর পরিবর্তে calculate_total_number নেই তাহলে বেশি রিডেবল হবে। পাইথন এ পেপ ৮ নামে অফিসিয়াল কোডিং স্টাইল এর গাইড আছে।  পেপ ৮ এর কিছু জিনিশ আমি লিখছি - পাইথন কোডিং কনভেনশন - ১.  ৪ টা স্পেস / ১ ট্যাব ব্যবহার করতে হবে ইনডেন্ট  হিসেবে             ২. প্রত্যেক  ক্লাসের মধ্যে ২ টা ব্ল্যান্ক লাইন দিতে হবে ৩. ক্লাসের মধ্যে মেথড ডেফিনেশন করতে ১ তা ব্ল্যান্ক লাইন দিতে হবে। pycharm পাইথন এর একটা জনপ্রিয় IDE . এতে ডিফল্ট স্টাইল বলা আছে। আপনি ফলো না করলে ইয়েলো কালার এর একটা দাগ আসবে।  তাছাড়া যারা অন্য টেস্ট এডিটর ব্যবহার করেন তারা flake৮ প্যাকেজ ইনস্টল করে ন
Recent posts

Constructor and Destructor in Python

পাইথন এ ডিফল্ট কিছু  মেথড আছে  যাদেরকে ম্যাজিক মেথড বলা হয়। এই  মেথড গুলা __ মেথড নাম __ দিয়ে লেখা হয় .( আন্ডার স্কোর আন্ডার স্কোর একসাথে ডান্ডার ও বলা যায় ) __init__(): এটাকে  কন্সট্রাক্টর বলা হয়।  কাজ কি ? কাজ হলো যখন কোনো ক্লাস এর ইনস্ট্যান্স create  করা হয় তখন এই মেথড নিজে থেকে কল হয়।  যেমন আমার যদি একটা ক্যাট  ক্লাস নেই। class Cat : def __init__ ( self , legs , colour ): self . legs = legs self . color = color def get_name(self, name): return self.name = name fido = Cat ( 4 , "brown" ) spot = Cat ( 3 , "yellow" ) এই  ক্লাস এ যদি আমরা ক্যাট এর নাম পেতে  চাই তাহলে আমাদের Cat ().get_name ("Mini") কল করতে হবে।  কিন্তু লেগ্স এন্ড কালার এর জন্য কিন্তু Cat ().get_name ("Mini") কল করা লাগসে না।  আমি যখন এ  Cat ( 4 , "brown" )      initializeকরছি  তখনই   __init__   কল হইয়া গেসে । সাধারণত কোনো ক্লাস কল করার সাথে সাথে যদি কোনো ভ্যালু এসাইন করতে চাই তাহলে  __init__ব্যবহার   করা হয়

Day 1: React JS

ধরে নিচ্ছি আগে থেকে কোনো কিছু  ইনস্টল নেই। react js জাভাস্ক্রিপ্ট লাইব্রেরি যা ফ্রন্টএন্ড এর জন্য ব্যবহার করা হয়. স্টেপ ১:  রিএক্ট এর জন্য node.js  এবং npm  ইনস্টল দেওয়া লাগবে।             sudo apt-get install nodejs npm একটু চেক করে নেই। ওপেন টার্মিনাল এন্ড টাইপ   node -v   এবং npm -v react app এর  জন্য প্রজেক্ট ডিরেক্টরি create করি mkdir reactApp cd reactApp স্টেপ ২: npm প্রজেক্ট initialized করলাম। npm init -y দিলে question গুলা স্কিপ করা যাবে।  লাইব্রেরী ব্যবহার করে install দিলাম যেন আমাকে webpack , babel এগুলা আলাদা করে সেটিং না করা লাগে। লাইব্রেরী ব্যবহার করে install দিলে globally install হয়।  react এর জন্য babel এবং webpack লাগবে কারণ babel code compiler হিসেবে এবং webpack package manager হিসেবে কাজ করে।  npm init OR npm init -y npm install npm install -g create-react-app create-react-app myapp cd myapp npm start স্টেপ ৩: src ফোল্ডার এর মধ্যে app.js ফাইল modify করে নিজের react code লেখা  যাবে। Happy React Coding !

কিভাবে Django তে চেঞ্জ পাসওয়ার্ড ভিউ Create করতে হয় ?

ইউসার প্রোফাইল থাকলে পাসওয়ার্ড চেঞ্জ এর অপশনের দরকার হয়।  Django তে বিল্ট ইন PasswordChangeForm ব্যবহার  করে খুব সহজে এই অপশন আনা যায়।  এজন্য  ফাঙ্কশন বেসড ভিউ ব্যবহার করা ভালো কারণ PasswordChangeForm , ModelForm কে ইনহেরিট করে না এবং ইউসার আর্গুমেন্ট কন্সট্রাক্টর হিসেবে নেয় . আমরা views.py এভাবে লিখতে পারি from django.contrib.auth import update_session_auth_hash from django.contrib.auth.decorators import login_required from django.contrib.auth.forms import PasswordChangeForm from django.shortcuts import render, redirect @login_required def change_password(request):     if request.method == 'POST':         form = PasswordChangeForm(request.user, request.POST)         if form.is_valid():             user = form.save()             update_session_auth_hash(request, user)                       return redirect('/') # you can redirect others url you like     else:         form = PasswordChangeForm(request.user)     return render(request, 'accounts

One-To-One লিংক ব্যবহার করে কিভাবে Django ডিফল্ট User মডেলকে এক্সটেন্ড করতে হয়?

Django User মডেলকে ব্যবহার করে কয়েক ভাবে ইউসার মডেল এর ফিল্ড বাড়ানো যায় ।  One-To-One লিংক তার মধ্যে একটা।  আমি ম্যাক্সিমাম সময় এই পদ্ধতি এপলাই করে থাকি।  এজন্য আমাদের একটা নতুন মডেল বানাতে হবে এক্সট্রা ফিল্ড গুলা অ্যাড করার জন্য যেগুলা ইউসার মডেল এর সাথে সম্পর্কিত।  Profile নামে  একটা মডেল লিখি যেখানে আমরা ইউসার এর birthdate,  এবং address অ্যাড করবো। models.py  from django.db import models from dajngo.contrib.auth.models import User class Profile(models.Model):     user = models.OneToOneField(User, on_delete=models.CASCADE)     birth_date = models.DateField(null=True, blank=True)     address = models.TextField(max_length=500, blank=True)  আমরা এখন কিছু সিগন্যাল অ্যাড করবো যাতে আমরা যখন কোনো ইউসার অ্যাড/আপডেট করবো তখন যেন আমাদের Profile মডেলটা ও অটোমেটিক অ্যাড/আপডেট হয়ে যায় । from django.db import models from django.contrib.auth.models import User from django.db.models.signals import post_save from django.dispatch import receiver class Profile(models.Model):    

How to set auto save in Sublime text editor

1. Press Ctrl+Shift+P 2 Package install/install package 3.Search autosave 4. Click to install 5. Go to Preference -> Package setting -> Auto Save -> Settings User 6. Paste the code   // Auto save default setting { "auto_save_on_modified": true, "auto_save_delay_in_seconds": 1, "auto_save_all_file": true, "auto_save_current_file": "", "auto_save_backup": false, "auto_save_backup_suffix": "autosave" } 7. Save the file, close the file and finally done :) .

Sales Target & Sales Commission

Definition of Sales Target: A sales target is a sales tool that enables you to easily measure and estimate your opportunity contribution to your sales goal. Types Of Sales Target: Sales targets by product Sales targets by market segment Sales targets by region Sales targets by profit Sales Target Strategies: keep existing customers (e.g. a customer rewards program) attract new customers (e.g. marketing and advertising) sell more to existing customers (e.g. up-sell). A realistic sales target is often based on a solid marketing strategy.  You can help your sales staff achieve their targets by generating qualified leads and brand awareness from your marketing activities. Sales Target Allocation: Group wise target allocation Individual target allocation Sales Person Contribution: If more than one sales persons are working together on an order, then contribution (%) should be set for each Sales Person. Total % Contribution for al