Cukup banyak pertanyaan tentang apa teknologi di balik CodeSaya. Bahkan ada yang berspekulasi bahwa CodeSaya dibuat dengan wordpress. Seriously, wordpress? Untuk menghindari pencemaran nama baik berbagi dengan teman-teman developer yang lain, maka di sini kami akan menceritakan apa saja teknlogi yang digunakan di CodeSaya. Mungkin jika ada yang ingin membuat website serupa bisa terbantukan dengan artikel ini. Atau jika anda rasa teknologi yang dipakai oleh kami kurang mumpuni atau salah cara pemakaiannya, silahkan informasikan kami.
Umumnya banyak startup atau perusahaan yang menceritakan technology stack mereka ketika mereka sudah memiliki traffic jutaan page views perhari. CodeSaya tentunya belum sampai pada level tersebut, walaupun begitu kami tetap ingin berbagi, gapapa kan? Berikut adalah arsitektur dari CodeSaya:
Arsitektur Server CodeSaya
Django
Django adalah sebuah framework dalam membuat web apps. Alasan pertama kenapa Django yang dipilih adalah karena Django menggunakan Python. Menulis dan membaca code di python sangatlah mudah dan menyenangkan. Saat proyek menjadi sangat besar, keringkasan dan kekuatan dari sebuah bahasa sangatlah penting. Karena kita lebih banyak membaca code dibandingkan menuliskannya. Jika code sudah ngejelimet, jangankan untuk menambahkan fitur, memperbaiki bugs saja pasti malas.
... kita lebih banyak membaca code dibandingkan menuliskannya. Jika code sudah ngejelimet, jangankan untuk menambahkan fitur, memperbaiki bugs saja pasti malas.
Framework di python bukan hanya Django tentunya, tetapi Django adalah framework yang sangat powerful dan sudah mature. Belajar django pertama kali cukup sulit tetapi setelah sudah terbiasa maka development sebuah fitur baru di app anda akan sangat cepat.
Bootstrap
Bootstrap adalah framework untuk HTML dan CSS. Menggunakan bootstrap membuat tampilan CodeSaya menjadi lebih sedap di mata. Keputusan memilih bootstrap adalah karena framework ini memiliki tampilan yang indah, mudah dimengerti, dan sangat populer. Popularitas dari framework sangatlah penting, karena akan lebih mudah untuk mencari solusi jika ada masalah.
Jquery
JQuery mungkin merupakan framework JavaScript de facto untuk pengembangan website. Sebenarnya framework ini adalah framework default dari bootstrap, jadi jika anda menggunakan bootstrap maka anda harus menggunakan JQuery. I don't mind at all, because JQuery is AWESOME! Jquery sebenarnya punya framework CSS sendiri, yang disebut JQuery UI, tetapi tidak terlihat bagus dan modern.
PostgreSQL
Mungkin anda sering mendengar sebaiknya menggunakan MySQL sebagai database untuk website anda. Tetapi menurut kami sebaiknya anda menggunakan PostgreSQL. PostgreSQL memiliki lebih sedikit masalah dan performa yang lebih baik dibandingkan dengan MySQL. Selain itu, PostgreSQL tidak dimiliki oleh perusahaan seperti halnya MySQL yang dimiliki oleh Oracle. Untungnya, banyak hosting di Indonesia yang telah mendukung PostgreSQL. Jika anda masih ingin menggunakan MySQL, alangkah lebih baiknya anda menggunakan MariaDB. MariaDB dibuat oleh coder asli dari MySQL (sebelum 'dibajak' oracle) dan 100% open source!
Oh ya, Django memiliki ORM yang sangat hebat. Di CodeSaya, karena ORMnya, kami tidak perlu menuliskan code SQL sama sekali untuk melakukan operasi terhadap database. Dan juga dengan Django, berpindah dari satu system database ke database yang lainnya sangatlah mudah.
Nginx + Gunicorn
Nginx berguna sebagai web dan proxy server yang akan mengatur request dari internet. Jika requestnya adalah file statis (gambar, dokumen js atau css, dll) maka Nginx akan melayaninya sendiri. Tetapi jika requestnya bukan file statis, maka Nginx akan mengarahkannya ke Gunicorn. Gunicorn adalah server yang berguna untuk menjalankan code python untuk melayani permintaan HTTP. Selain Gunicorn sebenarnya ada uWSGI yang memiliki performa sedikit lebih baik, tetapi Gunicorn dipilih karena mudah untuk konfigurasi dan untuk menjalankannya. Jika ada dua solusi untuk permasalahan anda, pilihlah solusi yang paling sederhana untuk diimplementasikan. Sementara Nginx adalah pemain baru jika dibandingkan dengan apache tetapi Nginx memiliki performa yang lebih baik dan bisa melayani ribuan concurrent request.
Jika ada dua solusi untuk permasalahan anda, pilihlah solusi yang paling sederhana untuk diimplementasikan.
Lainnya
Memcached untuk caching di CodeSaya. Untuk code editor onlinenya, sebuah proyek open source bernama CodeMirror digunakan. CKeditor dipakai untuk editor dalam menulis artikel. Untuk analisa traffic kami menggunakan Google Analytic. Dan akhirnya Ubuntu 14 adalah operating system yang menjalankan semua software tersebut.
Teknologi Kedepannya
Saat ini kami hanya menggunakan satu virtual machine (VM) dari DigitalOcean. Seluruh komponen di atas berada di satu VM. Untuk saat ini itu cukup, tetapi jika traffic terus bertambah, kami akan menggunakan lebih dari satu VM. Untuk berikutnya kami mempertimbangkan untuk menggunakan Docker dan Ansible di technology stack kami untuk mempermudah menjalankan CodeSaya di lebih dari satu VM. Kami juga memikirkan kemungkinan bagi Varnish untuk masuk membantu Nginx. Dan juga kami mengkaji penggunaan Redis di stack kami untuk menggantikan memcached.
Jika anda memiliki komentar atau pandangan terhadap pilihan teknologi kami, silahkan sampaikan di komentar. Atau lebih baik lagi, tuliskan artikel anda sendiri untuk menceritakan technology stack di web app anda!
Level artikel ini adalah beginner.
Dituliskan oleh
Ganis (ganis)
pada 4 Agustus 2015 dan telah dibaca sebanyak 16037 kali.
Tag:
server,
software,
technology stack
Komentar:
ganis
198
841
penulis
·
9 tahun, 4 bulan yang lalu
·
1 jempol
Terimakasih @kaptenkompi, ditunggu juga tulisan anda di CodeSaya ^^
abrahamSN
123
0
·
9 tahun, 4 bulan yang lalu
·
2 jempol
haha ku kira pake code igniter. :3
ganis
198
841
penulis
·
9 tahun, 4 bulan yang lalu
·
2 jempol
Hahaha,, @abrahamSN, kenapa anda kira seperti itu? ^^ Tuliskan juga dong technology stack web anda Mas Abraham!
abrahamSN
123
0
·
9 tahun, 4 bulan yang lalu
·
1 jempol
haha web saya sisa domain sama hosting nya aja. :v isinya dah saya hapus bingung mau bikin apaan. :v mubazir 1 tahun. sisa 2 tahun lagi tapi :v
abrahamSN
123
0
·
9 tahun, 4 bulan yang lalu
·
1 jempol
dulu pertama ikutan codesaya berasa ada detak jantung di dada. ku kira codeigniter :v wkwkwkkw
puntodamar
190
10
·
9 tahun, 4 bulan yang lalu
·
1 jempol
rencana sih iseng2 websiteku (laravel) mau tak kembangin jadi ginian om, tapi spesifik untuk javascript (game). salah perencanaan? enaknya gimana ya?
ganis
198
841
penulis
·
9 tahun, 4 bulan yang lalu
·
3 jempol
@abrahamSN haha,, bisa aja ente @puntodamar laravel, seperti django, adalah backendnya, keduanya sama saja bisa saling menggantikan. Dan untuk yang mau anda buat menggunakan laravel itu sangat mungkin sekali ^^ saya tunggu gamenya ya, bisa diumumkan di CodeSaya juga!
aryandiw
214
6
·
9 tahun, 4 bulan yang lalu
·
5 jempol
Saya harap di CodeSaya juga menyediakan latihan untuk Python & Django juga. Sangat saya tunggu sebagai seorang pemula. Masalahnya, kalau di website sebelah yang sejenis terkendala dengan bahasa yang membuat proses latihan menjadi sedikit lambat :v Harap menjadi perhatian Terima kasih :)
puntodamar
190
10
·
9 tahun, 4 bulan yang lalu
·
2 jempol
boleh dong om ganis berguru sama ente :v *ngarep* codesaya yang ngerjain berapa orang kalau boleh tau?
ganis
198
841
penulis
·
9 tahun, 4 bulan yang lalu
·
2 jempol
@aryandiw Terimakasih sarannya,, tunggu terus ya ^^ @puntodamar boleh om punto, kalo ada pertanyaan bisa ditanyakan, mungkin di diskusi aja, biar yang lain juga bisa bantu dan belajar
aryandiw
214
6
·
9 tahun, 4 bulan yang lalu
·
2 jempol
@ganis Selalu pak! :D
abrahamSN
123
0
·
9 tahun, 4 bulan yang lalu
·
2 jempol
ngisi materi codeigniter dong. :v biar skalian rame. :v
Agan
124
15
·
9 tahun, 4 bulan yang lalu
·
3 jempol
mas di forum diskusi gak ada search engine ya? biar mudah nyari diskusi yg dipikirkan gitu
kumizcribs
60
2
·
9 tahun, 4 bulan yang lalu
·
3 jempol
Suksek terus buat codesaya.com
ganis
198
841
penulis
·
9 tahun, 4 bulan yang lalu
·
2 jempol
@abrahamSN.. terimakasih sarannya, tapi kita cenderung ke laravel nih, bagaimana tanggapan anda? @Agan.. iya belum ada, apakah gak apa2 jika menggunakan Google Search? @kumizcribs.. terimakasih ^^ tetap dukung CS terus ya
Agan
124
15
·
9 tahun, 4 bulan yang lalu
·
2 jempol
yap tentu aja gpp mas, cuman baru kepikiran aja pake google, mungkin dgn sedikit teknik. oke makasih...
wedus98
87
2
·
9 tahun, 4 bulan yang lalu
·
3 jempol
@ganis Mas ganis di tunggu utk pembelajaran laravelnya :D klo bisa di tambah ajax & jquery (y)
ganis
198
841
penulis
·
9 tahun, 4 bulan yang lalu
·
2 jempol
@Agan sudah dipasang google search khusus untuk diskusi, semoga membantu coder yang sedang mencari bantuan dalam mengerjakan soal. Bagaimana menurut anda?
Agan
124
15
·
9 tahun, 4 bulan yang lalu
·
2 jempol
@ganis, sip mas! :) makasih banyak...
abrahamSN
123
0
·
9 tahun, 4 bulan yang lalu
·
2 jempol
ya sama aja sih. :D codeigniter juga dah kalah tenar sama laravel. :v
Kaito
177
0
·
9 tahun, 4 bulan yang lalu
·
2 jempol
Apa cuma gue yang masih di wordpress :v kalau ada tugas kuliah sih pake CI, mau belajar Laravel masih bingung dengan syntax nya T^T
ganis
198
841
penulis
·
9 tahun, 4 bulan yang lalu
·
4 jempol
@Kaito Wordpress masih rame bgt kok. Dan juga ikutilah paham "pick the right tool for the job"... jika menggunakan wordpress sudah memenuhi semua persyaratan, kenapa tidak? Tapi jika anda ingin membuat website yg costumized dan tidak ada di CMS seperti wordpress maka anda harus menyisingkan lengan baju anda dan tulislah codenya baris perbaris! Mungkin anda pernah mendenger quote "I skate to where the puck is going to be, not where it has been." yang artinya untuk kasus kita adalah kuasailah teknologi yang akan ngetrend, bukan yg sedang turun trendnya. Yang lagi populer skrg itu emang Laravel. Dan juga Laravel bukan hanya populer saja, tetapi memang lebih baik daripada CI.
Agan
124
15
·
9 tahun, 4 bulan yang lalu
·
4 jempol
mas @ganis mau ngasih masukan, nggak diterima juga gapapa, hehe gimana mas kalau ditambah fitur bookmark dalam list materinya. karena saya ngerasa ada materi yang memang penting untuk diingat kembali, entah itu susah ataupun berpotensi lupa. karena kalau sudah begini mesti cari satu-satu. dan makin bingung. hee
ganis
198
841
penulis
·
9 tahun, 4 bulan yang lalu
·
4 jempol
@agan, ide yang bagus sekali. Bukannya gak diterima, tetapi waktu yg terbatas untuk mengimplementasikannya dan banyak sekali fitur dan perawatan yang harus dilakukan. Hm.. untuk sekarang mungkin bisa anda akalin dengan membuat bookmark di browser anda sendiri? XD Terimakasih idenya, keep them coming!
Agan
124
15
·
9 tahun, 4 bulan yang lalu
·
1 jempol
wkwk... oke :D
coby
109
14
·
9 tahun, 3 bulan yang lalu
·
2 jempol
Mas @ganis , btw menurut mas ganis sendiri kira2 teknogi apa yang di gunakan situs2 sperti tokopedia dan lazada ? sama dengan CS atau sedikit berbeda ?
ganis
198
841
penulis
·
9 tahun, 3 bulan yang lalu
·
1 jempol
@coby Sulit sekali untuk menebak apa teknologi yang digunakan oleh kedua website tersebut. Tetapi jika dilihat dari http://builtwith.com/lazada.co.id dan http://builtwith.com/tokopedia.com bisa dilihat bahwa kesamaannya dengan CS hanya di NGINX. Di situ terlihat kalo Lazada menggunakan Yii, sehingga kemungkinan besar banyak sekali perbedaannya. Kalo di tokopedia untuk menebak2 apa yang digunakan di sana bisa dilihat di sini https://www.tokopedia.com/career.... Tebakan saya mereka juga menggunakan PHP. Wajar karena PHP memang bahasa yang paling populer di Indonesia. Yang pasti lagi, mereka akan memiliki banyak server (tidak seperti CS) sehingga strukturnya akan berbeda sekali dengan CS.
sakdan
171
28
·
9 tahun, 3 bulan yang lalu
·
1 jempol
@ganis cara membuat game gimana sih mas. maklum masih newbie mas
ganis
198
841
penulis
·
9 tahun, 3 bulan yang lalu
·
1 jempol
Gamenya di platform apa? Ada web, windows, android, etc. Saya belum berpengalaman, tapi nanti saya bantu cari via google XD
sakdan
171
28
·
9 tahun, 3 bulan yang lalu
·
1 jempol
@ganis . android mas
ganis
198
841
penulis
·
9 tahun, 3 bulan yang lalu
·
2 jempol
oh berarti anda harus belajar java dulu,, sudah bisa java?
sakdan
171
28
·
9 tahun, 3 bulan yang lalu
·
2 jempol
@ganis .blom mas. masih tahap belajar. hmmm mas ganis tolong d tambahin JAVA dan HTML5 atau HTML juga dong d sini. agar lebih banyak yg d pelajari DI web mas.
ganis
198
841
penulis
·
9 tahun, 3 bulan yang lalu
·
3 jempol
terimakasih sarannya,, tapi untuk Java di CodeSaya sepertinya masih lama, soalnya belum masuk prioritas... kalo mo belajar java di browser bisa di http://beling.co/ buatan anak indonesia lho itu ^^ tapi sepertinya cuman sampe 3 video ya itu, terus kok ilang ya coding di web langsungnya,, hm, kalo ga di http://www.learnjavaonline.org/ aja
sakdan
171
28
·
9 tahun, 3 bulan yang lalu
·
2 jempol
@ganis. ok mas. di tunggu bahasa java dan html ny mas
anggit97
214
2
·
9 tahun, 3 bulan yang lalu
·
4 jempol
@ganis fitur yang sangat awesome!! ini sangat luar biasa mas. Website yang ringan sangat diakses tapi tidak meninggalkan kesan professional didalamnya. Lanjutkan mas... Saya tunggu mas laravelnya...
sakdan
171
28
·
9 tahun, 3 bulan yang lalu
·
3 jempol
@ganis untuk layanan korporasi ny kapan tu di buat ny mas ganis
ganis
198
841
penulis
·
9 tahun, 3 bulan yang lalu
·
2 jempol
@anggit97 terimakasih ^^ untung deh kalo webnya ringan dan cepat dibukanya, sempet khawatir @sakdan Layanan korporasi nanti menunggu kalo sistem belajar di CodeSaya sudah baik sekali. Sekarang kita fokus ke nambah konten dan memperbaiki pengalaman belajar di sini.
sakdan
171
28
·
9 tahun, 3 bulan yang lalu
·
3 jempol
@ ganis. oke deh. d tunggu mas
blegoh
32
0
·
9 tahun, 3 bulan yang lalu
·
5 jempol
keren, semoga bisa mengalahkan codeacademy gan. btw kalo make docker pasti lebih optimal
succi23
192
2
·
9 tahun, 2 bulan yang lalu
·
4 jempol
gan abis laravelnya selesai, request materi Django atau RoR dong :D
hammurabi
179
4
·
8 tahun, 12 bulan yang lalu
·
4 jempol
Seneng bacanya, jadi tambah pengen belajar
VanAfandi62
65
0
·
8 tahun, 11 bulan yang lalu
·
3 jempol
salam sukses semuannya semoga codesaya semakin maju aamiin..
hafidz28
152
0
·
8 tahun, 11 bulan yang lalu
·
3 jempol
saya jadi memiliki referensi untuk membuat sebuah website, trims mas :D
musliadi
210
0
·
8 tahun, 10 bulan yang lalu
·
3 jempol
codesaya telah membangkitkan saya lagi.. :-D maju terus untk codesaya... dan semoga nambah terus topiknya..
codingw
218
5
·
8 tahun, 10 bulan yang lalu
·
3 jempol
Cuma saran aja gan, ketika traffic udh tinggi sebaiknya pakai AWS biar mudah scale nya dan mudah maintenance infrastructure... Secara keseluruhan codesaya.com sudah sangat baik dan stabil.. Semangat terus ya...
uyulcrack
35
0
·
8 tahun, 9 bulan yang lalu
·
2 jempol
ditunggu code python dan django nya :3 :D
Hendrabro
9
1
·
8 tahun, 8 bulan yang lalu
·
3 jempol
Buat saya apa pun teknologi yang digunakan di codesaya, saya berterima kasih banyak sudah dibuatkan tempat untuk menimbah ilmu coding. All the best
dianugroho
125
1
·
8 tahun, 7 bulan yang lalu
·
2 jempol
Udah setahun ga "ngoprek", sekalinya mulai nemu web ini. Jadi bikin semangat ! Terimakasih banyak !
pucita
37
0
·
8 tahun, 7 bulan yang lalu
·
2 jempol
ternyata arsitekturnya begini toh... kirain njelimet se njelimet ngodingnya hehehe
ganis
198
841
penulis
·
8 tahun, 7 bulan yang lalu
·
1 jempol
sederhana tapi powerful ^^
mulyadisianturi
71
0
·
8 tahun, 7 bulan yang lalu
·
3 jempol
Wow, saya aja masih bingung apa yg diijelaskan karena bahasa nya tingkat kompleks wkwwk. Maklum baru kenal ngode wkwkw ^_^
musyaffa2010
141
0
·
8 tahun, 7 bulan yang lalu
·
2 jempol
terima kasih untuk mas @ganis. nemu codesaya.com dari kaskus akhirnya mampu kembali membangkitkan semangat belajar saya yang hampir hilang....ditunggu karya2nya mas @ganis...
vidyahaikal
172
1
·
8 tahun, 6 bulan yang lalu
·
2 jempol
wah ternyata pake django,, min bikin tutor django dong,, jarang banget tutor django termasuk bahasa indonesia.. hebat deh mas @ganis.. saya tunggu djangonya,, tentang python makasih mas nambah ilmu,,
raviyanto
108
0
·
8 tahun, 6 bulan yang lalu
·
2 jempol
Salam kenal, Mas Ganis. Selamat dan sukses atas berjalannya CS (code saya). Semoga semakin berkembang di masa hadapan:)
rijalrich
43
4
·
8 tahun, 5 bulan yang lalu
·
2 jempol
terima kasih untuk codesaya.com semoga sukses selalu.
ZihxS
300
816
·
8 tahun, 5 bulan yang lalu
·
2 jempol
Maju terus untuk codesaya.com, GO Nasional/Internation buat codesaya.com, & Thanks buat codesaya.com , Berkat codesaya.com saya memahami bahasa pemrograman, GO! GO! GO! codesaya.com
ur__DNA
131
53
·
8 tahun, 3 bulan yang lalu
·
2 jempol
Okay! Bertambah setapak lagi. Trims kak admin @ganis.
mufidhadi
300
1
·
8 tahun, 3 bulan yang lalu
·
2 jempol
baca ini jadi makin keracunan dunia websie developing :D codesaya.com kece parah :D
darks07
183
6
·
8 tahun, 3 bulan yang lalu
·
1 jempol
keren codesaya.com ,saya sebagai mahasiswa informatika masih banyak ilmu di kampus kurang maksimal sehingga sayc ari situs yang interaktif dan berbahsa indo pulsa,senang nya, thanks codesaya,com
fauzipadaw
300
3
·
7 tahun, 10 bulan yang lalu
·
1 jempol
Mantaap, terimakasih telah menyediakan wadah belajar yg menarik, Dev.
Efron
30
0
·
7 tahun, 10 bulan yang lalu
·
2 jempol
Website yg sangat membantu.sukses terus buat kedepanya.can't wait for the codesaya for mobile app!!
coder69RidhoAsfian
271
2
·
7 tahun, 8 bulan yang lalu
·
2 jempol
Meskipun gue masih pemula & ga terlalu paham, tp ni artikel, KOMPOR GAZZ 😅 (^o^)
ibus
0
0
·
7 tahun, 8 bulan yang lalu
·
1 jempol
Salam kenal Mas Ganis... Saya masih newbie utk django, dan saya mau tanya mengenai pasar django, mana yg paling banyak Mas? Luar atau dalam negeri? Saya jg blm tau apakah saya kerja sendiri atau di perusahaan krn msh sedikit yg saya tau perush pengguna python django... Tapi saya suka dg framework ini. Saya juga msh blm paham utk memodifikasi user aksesnya (misalnya user yg terbagi atas usertype: manager, supervisor dan operator, di mana manager memiliki akses terbanyak ke semua halaman dan paling sedikit adalah operator). Mohon petunjuknya Mas Ganis. Sebelumnya, terima kasih..
Anjelosonlibertiano
41
3
·
7 tahun, 5 bulan yang lalu
·
1 jempol
mantap jiwa men, baca komentarnya jadi serasa kaya pengin curhat hahahaha.....
Ardi464
19
0
·
7 tahun, 3 bulan yang lalu
·
1 jempol
Mantab CodeSaya. Semoga Bisa Semakin Sukses dan Nambah Konten Bahasa Pemrograman nyaa 😊
paman1987
116
0
·
7 tahun, 3 bulan yang lalu
·
1 jempol
Mantap gan.. Materinya ditambah django donk.. Makasih
Henddrii
111
1
·
6 tahun, 11 bulan yang lalu
·
1 jempol
Ternyata ngoding ga cuma belajar python :(
faiz_ridwan
51
0
·
5 tahun, 9 bulan yang lalu
·
1 jempol
Aku gak begitu faham soal teknologi2 ini, soale aku masih baru banget. Tapi yang pasti aku tertarik banget...
agustri
149
0
·
5 tahun, 2 bulan yang lalu
·
1 jempol
mas nanya, di bagian mengakses array asosiatif (PHP) kenapa masih dianggap ada error ya, padahal kode sudah benar. (OOT)
mommon
4
0
·
5 tahun yang lalu
·
1 jempol
Sebagai Prajurit, sekarang sedang belajar memahami dan praktek. Terima kasih artikelnya Mentor.
Artikel Lainnya
Ganis
4 Agustus 2015Hargailah member anda, amankan password mereka!
Beberapa waktu yang lalu saya menghubungi support dari penyedia domain saya untuk meminta bantuan lewat chat. Sebagai autentikasinya, operator meminta saya menuliskan 3 huruf terakhir dari password saya. Hal ini ...
10 menit bacaan · beginner
Ganis
4 Agustus 20157 alasan kenapa anda akan menyukai menulis di CodeSaya
CodeSaya baru saja meluncurkan fitur terbaru yaitu Artikel. Di fitur baru ini anggota dari CodeSaya bisa menuliskan artikel tentang apa saja yang berhubungan dengan dunia komputer dan coding. Dan kami ...
6 menit bacaan
kaptenkompi190
0
·
9 tahun, 4 bulan yang lalu
·
1 jempol