Simple MVC, Part 1

SimpleMVC

Pada tutorial kali ini kita akan membuat sebuah MVC sederhana dengan memanfaatkan SqlAlchemy sebagai database toolkitnya.

step pertama(1)

buat sebuah project dengan nama SimpleMVC kemudian buat sebuah environment untuk project tersebut. baca tutorial sebelumnya tentang virtual environment

sebelum ke step berikutnya buat sebuah database dan tambahkan table berikut

CREATE TABLE IF NOT EXISTS `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `full_name` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  `password` varchar(150) NOT NULL,
  PRIMARY KEY (`id`)
)

 

step ke-dua(2)

di step kedua install requirements yang di butuhkan (mysqlclient,SQLAlchemy
) dengan pip

pip install mysqlclient SQLAlchemy

Step ke-tiga(3)

buat sebuah model sebagai class schema table di database dengan nama models.py

import os
import sys
from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
 
Base = declarative_base()
 
class User(Base):
    __tablename__ = 'user'
    id = Column(Integer, primary_key=True)
    full_name = Column(String(50), nullable=False)
    email = Column(String(50), nullable=False)
    password = Column(String(150), nullable=False)
 
engine = create_engine('mysql://alfin:admin@localhost/pymysqlalchemy')
Base.metadata.create_all(engine)
Base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)

Step ke-empat(4)

buat sebuah view untuk menamplikan data dengan nama views.py

def showAllView(list):
    lst =[]
    ldata={}
    for xc in list:
        ldata['full_name'] = xc.full_name
        ldata['email'] = xc.email
        lst.append(ldata)
    print(lst)

Step ke-lima(5)

buat sebuah controller untuk melakukan proses manipulasi data dengan nama controller.py

from models import User,DBSession
from views import *
 
class Controller(object):
    def __init__(self):
        self.session = DBSession()
 
    def selUser(self):
        get_data = self.session.query(User).all()
        return showAllView(get_data)
 
 
 
if __name__ == '__main__':
    c = Controller()
    c.selUser()

Step ke-enam(6)

run pada command line

python controller.py

 

download source lengkap : https://github.com/alfinfanther/SimpleMVC

selamat mencoba 🙂

Sample Django CRUD Mysql

crud django

Python Django

untuk memulai tutorial ini baca tutorial sebelumnya tentang install django.

pip install -r requirements.txt

pastikan di komputermu sudah terinstall mysql, perhatikan file settings.py yang ada di folder djangocrud sebagai berikut

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangocrud',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

 

download source lengkap : https://github.com/alfinfanther/DjangoCrud

note : sample diatas berjalan pada python 3.6.x

 

Hello World, Flask

Flask adalah micro web framework yang ditulis dalam bahasa pemrograman Python dan berdasarkan Werkzeug toolkit dan template engine Jinja2. Berlisensi BSD.

sebelum menginstall flask buat sebuah virtual environment dengan nama flaskstarter.

mkvirtualenv flaskstarter

kemudian install flask dengan pip

pip install flask

untuk melihat dependencies gunakan

pip freeze

simpan dependencies ke dalam file requirements.txt

pip freeze > requirements.txt

buat sebuah file dengan nama hello_world.py

# hello_world.py
 
from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'Hello World!'

jalankan flask dengan cara

set FLASK_APP=hello_world.py

flask run

jalankan di browser http://127.0.0.1:5000/

flask started

source : https://github.com/alfinfanther/flaskstarter

Database Transactions, CodeIgniter

transaction complite codeigniter

CodeIgniter menggunakan pendekatan terhadap transaksi yang sangat mirip dengan proses yang digunakan oleh database populer ADODB. Codeigniter  menyederhanakan jalanya proses transaksi.

Secara tradisional, transaksi membutuhkan cukup banyak pekerjaan untuk diterapkan karena mereka menuntut agar Anda melacak kueri Anda dan menentukan apakah akan megeksekusi query atau melakukan pengembalian berdasarkan keberhasilan atau kegagalan kueri Anda. Proses ini akan menjadi sangat rumit jika kita mengeksekusi query bersarang. Sebaliknya, codeigniter telah menerapkan sistem transaksi cerdas yang melakukan semua ini untuk Anda secara otomatis.

Running Transactions

untuk menjalankan transaksi

$this->db->trans_start()

untuk eksekusi akhir transaksi

$this->db->trans_complete()

seperti sample di bawah ini

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
$this->db->trans_complete();

Strict Mode

Secara default CodeIgniter menjalankan semua transaksi dalam Strict Mode. Bila Strict Mode diaktifkan, jika Anda menjalankan beberapa kelompok transaksi, jika satu grup gagal, semua grup akan diluncurkan kembali. Jika mode ketat dinonaktifkan, masing-masing kelompok diperlakukan secara independen, artinya kegagalan satu kelompok tidak akan mempengaruhi orang lain.

strict mode dapat di disable:

$this->db->trans_strict(FALSE);

Managing Errors

dalam proses transaksi kita sering menemukan anomali yang bisa di sebabkan dari kegagalan query ataupun type character yang tidak sesuai dengan format di database. untuk itu kita perlu menerapkan managing errors. codeigniter menyediakan function yang dapat kita manfaatkan. perhatikan script di bawah ini.

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->trans_complete();

if ($this->db->trans_status() === FALSE)
{
        // generate an error... or use the log_message() function to log your error
}

 

sumber referensi codeiginiter user guide

Calculations over entire arrays, Numpy

scipy numpy python

 

Numpy adalah modul komputasi ilmiah dalam python. objek utama numpy adalah array multidimensi. sebagai contoh awal pada tutorial kali ini kita akan menjumlahkan dua variable array.

height =[1,2,3,4,5,6]

weight =[6,5,4,3,2,1]

dua variable diatas akan kita jumlahkan dengan menggunakan tanpa numpy

jumlahkan dengan memanfaatkan numpy

selamat mencoba