VQ: Vector Quantization

چندی سازی برداری

VQ: Vector Quantization

چندی سازی برداری

مقایسه OpenSource با ویژوال استودیو

متن باز یا Open Source

به نرم افزارهایی گفته می شود که کد اصلی آن ها در دسترس همگان باشد. بدان معنی که آنچه که توسط توسعه دهندگان نرم افزار برنامه نویسی شده است، به طور کامل در اختیار دیگران قرار بگیرد. OpenSource به نقل از  ویکی پدیا به نرم افزارهایی گفته می شود که افراد می توانند در کد منبع آن ها تغییر ایجاد کرده و یا اشکالات (باگ) احتمالی آن ها را رفع کنند. این یک شیوه ی توسعه نرم افزار است که می تواند هم برای نرم افزارهای آزاد و هم برای نرم افزارهایی با مالکیت انحصاری و تجاری به کار رود. دلیل حمایت بعضی از افراد از ایده Open Source  این است که آنها معتقدند که با اچازه دادن به اشخاصی که علاقه مند به تغییر کد اولیه می باشند، امکان استفاده مفیدتر از برنامه فراهم و احتمال بروز خطا در آنان، کاهش خواهد یافت و همچنین ممکن است نسخه هایی بهتر از آنچه که هست تولید شود. 

 

 OpenSource های معروف

·  لینوکس

·  اندروید که خود نیز از هسته لینوکس می باشد.

· نرم افزار محبوب تلگرام (سمت کلاینت)

· وردپرس

· جوملا

· PHP، زبان اسکریپت نویسی سمت سرور

ویژگی نرم افزارهای OpenSource

· رایگان

· توزیع مجدد آزاد: نرم بدون نیاز به حق امتیاز یا هرگونه پرداختی جهت فروش، بتواند به صورت آزاد توزیع شود.

· کد منبع : کد نرم افزار باید شامل نرم افزار باشد و مجوز توزیع کد نرم افزار داده شود.

· کار مشتق شده: اعمال تغییرات و کارهای بعدی روی نرم افزار امکان پذیر باشد و بتوان آن را تحت شرایط نرم افزار اولیه و اصلی تکثیر کرد.

· نگهداری تمامیت کد منبع نویسنده اصلی نرم افزار: مجوز نرم افزار ممکن است اجازه تغییر در اصل متن برنامه را به کاربران ندهد و تنها اجازه افزودن وصله های نرم افزاری و کامپایل برنامه را به آنها بدهد. که توسعه دهندگان فقط می توانند توزیع هایی توسط وصله های نرم افزاری خود ایجاد کنند. مجوز نرم افزاری باید بطور صریح ایجاد توزیع تازه با تغییر مجدد در کد اصلی را محدود نماید. و نرم افزار توزیع شده حتما باید نام نسخه ای تازه را داشته باشد.

· بین افراد و گروهها تبعیضی گذاشته نشود: بین افراد یا گروهها نباید توسط اجازه نامه تبعیضی گذاشته شود.

· هیچ تبعیضی در نوع استفاده از نرم افزار وجود نداشته باشد: هیچ گونه تبعیض و تمایزی نباید بین هرگونه فعالیتی که در راستای نرم افزار انجام می گیرد، وجود داشته باشد.به طور مثال نرم افزار نباید بین استفاده تجاری یا تحقیقاتی تمایز قائل شود.

· توزیع اجازه نامه: باید به هر کسی که یک کپی از نرم افزار را دریافت می کند مجوز اختصاص یابد، بدون اینکه نیاز به توافق و هماهنگی با اجازه نامه دیگری داشته باشد.

· اجازه نامه نباید مخصوص یک محصول باشد: حقوق داده شده در یک مجوز مرتبط به یک نرم افزار نباید وابسته به مطلب باشد که بخشی از بسته بزرگتری است. اگر نرمافزار از محصول دریافت شده نیز جدا گردد همچنان باید همان حقوق را در استفاده، توزیع و ویرایش، به دریافت کننده نرم افزار بدهد. تمام کسانی که آن نرم‌افزار را، که قبلاً به عنوان بخشی از محصول بزرگتری بوده است، دریافت و یا توزیع مجدد می‌کنند باید تمامی حقوق را مانند محصول اصلی داشته باشند. 

           · اجازه نامه نباید نرم افزارهای دیگر را محدود کند: شرایط مشخص شده در مجوز نباید توزیع نرم افزار را در کنار نرم افزارها با مجوزهای دیگر محدود نماید.

· اجازه‌نامه باید از نظر تکنولوژی بی‌طرف باشد: اجازه‌نامه نباید مختص یک تکنولوژی خاص باشد.

مزایای نرم افزار متن باز

مهمترین مزیت نرم افزار متن باز این است که هسته ی اصلی آن رتیگان می باشد. مزیت دیکر قابلیت اصلاح کد منبع آنها م باشد در نتیجه به منظور توسعه دادن نسخه بعدی نرم افزار دیگر نیازی نیست که تا آزاد شدن کد منبع صبر کنید و با دریافت یک نسخه از نرم افزار می توانید به کد منبع موجود در نرم افزار دسترسی پیدا کنید.

معایب نرم افزار متن باز

این نرم افزارها هیچ پشتیبان فنی ندارند. در نتیجه در صورت بروز مشکل در نرم افزار ممکن است شخص نتواند آن ها را خودش حل کند. این ویژگی را می‌توان به این واقعیت نسبت داد که این نوع نرم افزارها طوری طراحی شده‌اند که تغییر آن توسط کاربران مختلف و پشتیبانی فنی امکان پذیر باشد.

با این حال دانلود نرم افزار، جوانب مثبت و منفی دارد. فرد باید قادر باشد نرم افزار واقعی را از یک نرم افزار مخرب تشخیص دهد.

PyCharm یک IDE متن باز برای پایتون می باشد که در زیر یک نمونه کد پایتون که توسط این IDE نوشته شده به عنوان مثال نوشته ام

class Car:

 

    def __init__(self, speed=0):

        self.speed = speed

        self.odometer = 0

        self.time = 0

 

    def say_state(self):

        print("I'm going {} kph!".format(self.speed))

 

    def accelerate(self):

        self.speed += 5

 

    def brake(self):

        self.speed -= 5

 

    def step(self):

        self.odometer += self.speed

        self.time += 1

 

    def average_speed(self):

        if self.time != 0:

            return self.odometer / self.time

        else:

            pass

 

if __name__ == '__main__':

 

    my_car = Car()

    print("I'm a car!")

    while True:

        action = input("What should I do? [A]ccelerate, [B]rake, "

                 "show [O]dometer, or show average [S]peed?").upper()

        if action not in "ABOS" or len(action) != 1:

            print("I don't know how to do that")

            continue

        if action == 'A':

            my_car.accelerate()

        elif action == 'B':

            my_car.brake()

        elif action == 'O':

            print("The car has driven {} kilometers".format(my_car.odometer))

        elif action == 'S':

            print("The car's average speed was {} kph".format(my_car.average_speed()))

        my_car.step()

        my_car.say_state()

ویژوال استودیو(Visual Studio)

یک محیط یکپارچه توسعه نرم افزار (IDE) می باشد که توسط شرکت مایکروسافت ساخته شده است. از این نرم افزار برای توسعه برنامه های کامپیوتری، وب سایت ها، اپلیکیشن های وب، وب سرویس و اپلیکیشن های موبایل استفاده می شود. ویژوال استودیو 36 زبان برنامه نویسی را پشتیبانی می کند بنابراین این امکان را برای ویرایشگرها و دیباگرهای کد فراهم می کند که بتوانند تقریبا هر زبان برنامه نویسی را (با درجه های مختلف) را پشتیبانی کنند.  این زبان های از پیش تعبیه شده شامل C, C++/CLI, Visual Basic .NET, C#, F#, JavaScript, TypeScript, XML, XSLT, HTML و CSS می شوند. با استفاده ازپلاگین ها، زبان هایی نظیر Python ، Ruby،Node.js و M نیز قابل پشتیبانی هستند. زبان های Java و J# نیز در گذشته پشتیبانی می شدند، اما نسخه های جدید ویژوال استودیو از جاوا پشتیبانی نمی کند.

ابتدایی ترین ویرایش نرم افزار ویژوال استودیو Community edition می باشد که به صورت رایگان در دسترس همگان می باشد. آخرین نسخه وژوال استودیو، نسخه 2019  می باشد. شرکت مایکروسافت در تاریخ 6 جولای 2018 اعلام کرده بود که نسخه 2019 در تاریخ 2 اوریل 2019 عرضه میشود.

سیر تکاملی ویژوال استودیو

در سال 1997 اولین ورژن ویژوال استودیو تحت نان ویژوال استودیو 97 منتشر گردید و ورژن آن 5.0 بود. جدیدترین نسخه آن 16.5.2 می باشد که در تاریخ 21 فوریه 2019 تحت عنوان ویژوال استودیو 2019 به طور عمومی منتشر شد. دات نت فریم ورک پشتیبانی شده در این نسخه 4.0 تا 4.7.2 است. و دارای سه ویرایش متفاوت می باشد.

ویرایش های ویژوال استودیو

1.Community

                         این ویرایش که در سال 2014 معرفی گردید به صورت رایگان در اختیار کاربران قرار گرفته است مابقی   ویرایشها نیازمند خرید لایسنس می باشد. امکانات ویرایش کامیونیتی مانند ویرایش پروفشنال است

                          با استفاده از این ویرایش هر فرد می‌تواند اپ خود را بنویسد و به اشتراک بگذارد؛ اپ هایی بر مبنای .net، وب اپلیکیشن ها و موارد بسیار دیگر.  این نسخه برای موارد سازمانی قابل استفاده نمی باشد اما 

                        برای شرکت های کوچک این نسخه را می توان روی 5 دستگاه نصب کرد. هدف اصلی از ارائه نسخه رایگان ایجاد اکوسیستم و دسترسی به زبان‌های مختلف برنامه نویسی است. مانندC#، Visual Basic، F#, C++، HTML، JavaScript، Python.

2. Professional

           این ویرایش تجاری ویژوال استودیو می باشد که با ویژوال استودیو 2010 معرفی شد و نسخه های بعدی آن نیز با این ویرایش ارائه شده اند. از ادیت فایل های XML و XSLT پشتیبانی می کند و 

          شامل ابزارهایی مانند سرور اکسپلوور و یکپارچه سازی با مایکروسافت اس کیو ال سرور(SQL Server) می شود. مایکروسافت امکان استفاده از این ویرایش را به طور آزمایشی فراهم می کند و پس از 

          پایاندوره کاربر باید لایسنس این محصول را تهیه کند.

3. Enterprise

         این ویرایش از ویژوال استودیو دارای امکانات انعطاف پذیر برای تیم های بزرگ می باشد. مایکروسافت به کاربران اجازه می دهد از این نسخه به مدت 90 روز به صورت آزمایشی استفاده کنند و بعد ازاتمام 

         این دوره برای استفاده باید لایسنس تهیه کنند. مهمترین مزیت این ویرایش امکان شخصی سازی قابلیت ها و ابزارهای نرم افزار است.

یک نمونه کدنویسی پایتون در ویژوال استودیو

# Python program for simple calculator

 

# Function to add two numbers 

def add(num1, num2):

    return num1 + num2

 

# Function to subtract two numbers 

def subtract(num1, num2):

    return num1 - num2

 

# Function to multiply two numbers

def multiply(num1, num2):

    return num1 * num2

 

# Function to divide two numbers

def divide(num1, num2):

    return num1 / num2

 

print("Please select operation -\n"

        "1. Add\n"

        "2. Subtract\n" 

        "3. Multiply\n" 

        "4. Divide\n")

 

 

# Take input from the user 

select = input("Select operations form 1, 2, 3, 4 :")

 

number_1 = int(input("Enter first number: "))

number_2 = int(input("Enter second number: "))

 

if select == '1':

    print(number_1, "+", number_2, "=",

                    add(number_1, number_2))

 

elif select == '2':

    print(number_1, "-", number_2, "=",

                    subtract(number_1, number_2))

 

elif select == '3':

    print(number_1, "*", number_2, "=",

                    multiply(number_1, number_2))

 

elif select == '4':

    print(number_1, "/", number_2, "=",

                    divide(number_1, number_2))

else:

    print("Invalid input")

 

منابع

https://fullkade.com/1395/01/opensource-%D9%85%D8%AA%D9%86-%D8%A8%D8%A7%D8%B2-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F/

https://microsoftme.ir/what-is-visual-studio/

 https://opensource.com/resources/python/ides

https://www.geeksforgeeks.org/make-simple-calculator-using-python/

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد