IDS: Intrusion Detection System

intrusion detection system concepts and techniques

IDS: Intrusion Detection System

intrusion detection system concepts and techniques

ارتباط Composition در جاوا

Composition راه حلی است برای طراحی و یا پیاده‌سازی ارتباط has-a (دارد یک) .Composition و Inheritance هر دو از تکنیک های طراحی هستند.از inheritance برای پیاده‌سازی رابطه is-a استفاده می‌شود .ارتباط hast-a برای از اطمینان از قابلیت استفاده مجدد در برنام های ما مورد استفاده قرار می گیرد.در Composition ما از متغیری (instance variable) استفاده می‌کنیم که به دیگر اشیاء ارجاع می شود. ارتباط Composition دو شی زمانی ممکن می‌شود که یک شی شامل اشیاء دیگر باشد و آن شی کاملاً وابسته به شی دیگر باشد به نحوی که آن شی شامل شده بدون شی پدر قابلیت موجود بودن نداشته باشد
نکات کلیدی:
  • Composition بخشی از ارتباط را نمایش می‌دهد
  • هر دو موجودیت در Composition به یکدیگری مرتبط هستند
  • Composition بین دو موجودیت زمانی ایجاد می‌شود که یک شی شامل اشیاء دیگر باشد و آن شی دیگر بدون شی اصلی موجودیت خارجی نداشته باشد.برای مثال یک دانشگاه لیستی از دانشکده ها دارد و حالا دانشکده و لیست دانشکده ها بخشی از این دانشگاه هستند و اگر دانشگاه از بین برود به تبع آن دانشکده ها هم از بین خواهد رفت
  • Composition بر ارث بری در پیاده‌سازی ارجهیت دارد
  • اگر دانشگاه حذف شود سپس همه دانشکده های وابسته برای آن دانشگاه نیز باید حذف شود.
اجازه بدهید با یک مثال از دانشگاه و دانشکده های آن مفهوم Composition را بیشتر درک کنیم
کلاسی تحت نام دانشکده College ایجاد می‌کنیم که شامل متغیر هایی است مثال نام و آدرس .همچنین کلاسی تحت نام دانشگاه University ایجاد می‌کنیم که شامل یک یک ارجاع به لیستی از دانشکده هاست.دانشگاه می‌تواند یک یا چند دانشکده داشته باشد .همچنین اگر دانشگاه برای همیشه بسته شود سپس همه دانشکده های موجود در آن دانشگاه نیز بسته خواند شد زیرا دانشکده بدون دانشگاه موجودیت نخواهد داشت.ارتباط بین دانشگاه و دانشکده یک ارتباط Composition خواهد بود

package compositionexample;
import  java.io.*;
import  java.util.*

/**
 *
 * @author mahdi
 */
 class College {
    public String name;
    public String address;
    public College(String name, String address)
    {
        this.name=name;
        this.address=address;
    }
}
class University
{
    private  final List<College> colleges;
    public University(List<College> colleges)
    {
        this.colleges=colleges;
    }
    public List<College> getTotalCollegesInUniversity()
    {
        return colleges;
    }
}
public class CompositionExample {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        College c1=new College("computer", "main block");
        College c2=new College("chimical", "Second Block");
        College c3=new College("history", "Third block");
        List<College> college = new ArrayList<College>();   
        college.add(c1);   
        college.add(c2);   
        college.add(c3);   
        University university = new University(college);   
        List<College> colleges = university.getTotalCollegesInUniversity();   
        for (College cg : colleges) {   
            System.out.println("Name : " + cg.name   
                               + " and "  
                               + " Address : " + cg.address);   
    }
    }
    
}

کد برنامه نویسی حل یک معادله ساده ریاضی در زبان متلب

در پست قبل حل یک معادله ساده ریاضی را توسط الگوریتم ژنتیک توضیح دادیم.در این پست کد پیاده سازی این مثال در زبان متلب آورده می شود.زبان متلب یک زبان بسیار قوی برای پیاده سازی مسائل علمی است که با قابلیت های زیاد کار برنامه نویسی را برای کاربر بسیار آسان می نماید.کدها دقیقا پیاده سازی همان چیزی است که در مثال قبل گفته شده است و برای درک آن نیاز به آشنایی با کدنویسی تحت زبان برنامه نیسی متلب می باشد.

global popSize;
global chromosomeLength;
global F_OBJ;
global Fitness;
global arrProbability;
global arrCumulative;
global newPop;
global population;

global xoRate;
global mutRate;
global maxTor;
maxTor=100;
popSize=6;
chromosomeLength=4;
xoRate =0.3;
mutRate = 0.4;


initalPopulation();
for maxTorIndex=1:maxTor
   
    global Fitness;
    calculateFOBJ();
    solution=find(F_OBJ==0);
    if ~(isempty(solution))
        numRuleFound=size(solution,1);
        fprintf("We Finde %d Solution in generation %d \n",numRuleFound,maxTorIndex);
        for i=1:numRuleFound
            ruleIndex=solution(i);
            disp(population(ruleIndex,:))
        end
    return;
    end
    calculateFitness();
   
    calculateprobability();
    calculateCumulative();
    rouletteWheel();
    OnePointCrossOver();
    MutateGens();
   
end
function pop=initalPopulation()
%global population;
global popSize;
global population;
x=popSize;
population(1,:)= [12,05,23,08];
population(2,:)= [02,21,18,03];
population(3,:)= [10,04,13,14];
population(4,:)= [20,01,10,06];
population(5,:)= [01,04,13,19];
population(6,:)= [20,05,17,01];
%pop=population;
end
function calculateFOBJ()
global F_OBJ;
global popSize;
global population;
for i=1:popSize
    a=population(i,1);
    b=population(i,2);
    c=population(i,3);
    d=population(i,4);
    F_OBJ(i)=abs(a+2*b+3*c+4*d-30);
end
end
 
ادامه مطلب ...