Özgür Adem Işıklı

Polisoft

Neden Paketlere İhtiyacımız Var?

Dillere Göre Paket/Bağımlılık Yöneticileri

Genel Başlıklar

  • Neden Paketlere İhtiyacımız Var?
  • Paket/Bağımlılık Yöneticileri
  • Hazır Paket Kullanımı
  • Kendi Paketinizi Geliştirme
  • Versiyon Kontrol Sistemi
  • Semantik Versiyonlama
  • Test ve Dokümantasyon
  • Yayınlama ve Sürdürme İşlemleri 

Neden Paket Kullanmalıyız?

  • Aynı şeyler, tekrardan.
  • Kopyala/Yapıştır
  • Tek kodla N sayıda proje
  • Don't Repeat Yourself
  • Riskleri paylaşmak

Package Managers

package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing software packages for a computer's operating system in a consistent manner. 

https://en.wikipedia.org/wiki/Package_manager

  • apt
  • homebrew
  • macports
  • rpm

Application-Level Package Managers

  • Pip
  • Composer
  • NPM
  • Bower
  • RubyGems

Paket Yöneticisi - Kurulum

curl -L https://www.npmjs.com/install.sh | sh

npm install -g bower

- download get-pip.py
- python get-pip.py

curl -sS https://getcomposer.org/installer | php

Paket Yöneticisi - Yükleme

npm install yo

bower install jquery

pip install tproxy

composer require symfony/console

Paket Yöneticisi - Güncelleme

npm update

bower update

pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 pip install -U

composer update

Paket Yöneticisi - Arama

~191.000, npmjs.org

~42.000, bower.io

~67.000, pypi.python.org

~72.000, packagist.com

Paket Geliştirme

  • Amaç Belirleme
  • Diğer Bağımlılıkları Kullanma
  • Test Geliştirme
  • Dokümantasyon
  • Sürüm Kontrolü
  • Yayınlama
  • Continuous Integration

Paket Geliştirme - Dokümantasyon

Paket Geliştirme - Sürüm Kontrol

4.2.0

4.3.0

4.3.1

5.0.0

Paket Geliştirme - Sürüm Kontrol

public function getBaslik()
{
    return 'açık kaymak günleri';
}
public function getBaslik()
{
    return 'Açık Kaynak Günleri';
}
public function getBaslik()
{
    return 'Açık Kaynak Günleri';
}

public function getTarih()
{
    return '11 EKİM 2015';
}
public function getTitle()
{
    return 'Açık Kaynak Günleri';
}

public function getDate()
{
    return '11 EKİM 2015';
}

1.0.0

1.0.1

1.1.0

2.0.0

Paket Geliştirme - Muhafaza Etme

Paket Geliştirme - Yayınlama

  • Packagist
  • PyPi
  • NPM

Paket Geliştirme - Yönetim

  • Issues
  • Milestones
  • Branch
  • Pull Request

Paket Geliştirme - Branch

Paket Geliştirme - Continuous Integration

Paket Geliştirme - Continuous Integration

Paket Geliştirme - Continuous Integration

Paket Geliştirme - Continuous Integration

Özgür Adem Işıklı

Polisoft

ozguradem.net

i.ozguradem@gmail.com

github.com/ozziest

@iozguradem

Teşekkürler

Neden Paketlere İhtiyacımız Var? Dillere Göre Paket/Bağımlılık Yöneticileri

By iozguradem

Neden Paketlere İhtiyacımız Var? Dillere Göre Paket/Bağımlılık Yöneticileri

11 Eim 2015 tarihinde düzenlenen Açık Kaynak Günleri'nde gerçekleştirdiğim sunum.

  • 961
Loading comments...

More from iozguradem