Lokakarya ini membahas tentang Git dan GitHub serta berbagai kegunaannya. Git digunakan untuk mengelola berkas-berkas yang diedit oleh banyak orang secara bersama-sama, sedangkan GitHub merupakan situs untuk berbagi kode secara online dan menyimpan proyek-proyek pengguna. Lokakarya ini juga menjelaskan berbagai fitur GitHub seperti penyimpanan kode terbuka, penyimpanan data geospasial, pengerjaan
2. Welcome
Apakah Anda ingin jadi programmer?
Apakah Anda suka dengan matematika atau ilmu pengetahuan alam?
Kalau jawaban Anda ya, pada hal-hal diatas, maka Anda perlu keahliah
untuk memprogram (kode), dan harus dapat bisa melakukannya dengan
baik (tidak asal bisa). Lokakarya ini akan memberi anda beberapa alat
untuk memulai.
Apakah Anda ingin jadi programmer?
Apakah Anda suka dengan matematika atau ilmu pengetahuan alam?
Kalau jawaban Anda ya, pada hal-hal diatas, maka Anda perlu keahliah
untuk memprogram (kode), dan harus dapat bisa melakukannya dengan
baik (tidak asal bisa). Lokakarya ini akan memberi anda beberapa alat
untuk memulai.
3. Git adalah
Github adalah situs web yang dibangun disekitar Git.
Setiap orang harus tahu Git itu apa (terutama pemrogram perangkat
lunak)
Github adalah situs web yang dibangun disekitar Git.
Setiap orang harus tahu Git itu apa (terutama pemrogram perangkat
lunak)
5. Apa itu Git?
● Git adalah kanvas dimana Anda bekerja dan
berkolaborasi
● Git adalah distributor perangkat lunak terbuka dengan
dengan sistem terkendali (VCS)
● Git diciptakan oleh Linus Torvalds, untuk
membantunya membangun sistem operasi Linux.
https://github.com/GitIndonesia/handbook
https://github.com/endymuhardin/buku-git
https://github.com/endymuhardin/belajarGit
6. Git adalah
Git mengelola
berkas yang
disunting oleh
orang-orang dari
seluruh dunia, dan
memberikan setiap
berkas identifiernya,
sehingga setiap
orang tahu versi
yang mana yang
mereka punya, dan
bagaimana mereka
bisa
menggabungkan
perubahan yang
mereka punya
dengan perubahan
yang dilakukan oleh
orang lain ke berkas
yang sama.
7. Git adalah
Remote: tempat
dimana saling
berbagi terjadi,
contoh: Sistem
Github.
Branches
(cabang) adalah
dimana
perubahan
direncanakan.
Begitu
perubahan
selesai dan
dianggap baik,
maka cabang
dikirim balik ke
“remote”.
8. Kelemahan Git
Git tidak baik digunakan untuk:
Berkas Binary (files)
Berkas besar
Repo besar
Kendali akses (Access control)
Perforce adalah jawaban untuk seluruh
masalah diatas
9. GitHub.com
35 juta repo
Publik : Sumber terbuka (Open Source)
Privat : Untuk komersil
125,000 baris kode (lines of code -LOC)
diciptakan per hari
14 juta pengguna
Halaman GitHub – hosting situs web
gratis
18. Repo Indonesia yang keren
https://github.com/GitIndonesia/awesome-indonesia-repo
https://facebook.com/groups/GitHubID
19. GitHub – bukan sekedar perangkat
lunak
Perangkat lunak (software) itu bukan hal
istimewa, mereka hanya berkas
Publik atau pribadi (privat)
Publik:
●
Data terbuka
●
Rumah terbuka
●
Perusahaan terbuka
●
Situs web terbuka
●
Tulisan
●
Terjemahan
20. Berbagi berkas di GitHub
https://github.com/CMAA/nova-organi-harmonia
21. Berbagi berkas di GitHub
https://github.com/CMAA/nova-organi-harmonia
24. Data terbuka di GitHub
https://github.com/cstrzadala/ballarat-town-planning
dan beberapa data yang tidak terlalu terbuka:
https://github.com/jayvdb/era_data
https://github.com/edwardsamuel/Wilayah-Administratif-Indonesia
25. Rumah terbuka di GitHub
https://github.com/frabcus/house/labels/building
GitHub memiliki
alat untuk
merekam jejak
masalah (issue
tracking system)
sampai sampai
digunakan secara
ekstrim untuk
menandai
perbaikan
pegangan pintu
rumah
GitHub memiliki
alat untuk
merekam jejak
masalah (issue
tracking system)
sampai sampai
digunakan secara
ekstrim untuk
menandai
perbaikan
pegangan pintu
rumah
26. Rumah terbuka di GitHub
https://github.com/frabcus/house/labels/building
28. Perusahaan terbuka di GitHub
Open Company pledge
− “We who belong to the Open Company Initiative commit to
openness as a defining element in how we create value.”
https://github.com/opencompany/www.opencompany.org/issue
38. GitHub dengan SiteLeaf
Perangkat tambahan Github lainnya adalah SiteLeaf, yang termasuk alat
penyuntingan beta WYISWYG (apa yang anda lihat anda dapatkan)
Perangkat tambahan Github lainnya adalah SiteLeaf, yang termasuk alat
penyuntingan beta WYISWYG (apa yang anda lihat anda dapatkan)
40. Continuous Integration (CI)
Integrasi berkelanjutan
https://github.com/integrations/feature/continuous-integration
Continuous Integration (CI) atau
integrasi berkelanjutan adalah sebuah
cara untuk membuat tes berjalan
secara otomatis (seperti menyusun
program, menjalankan unit tes, dll).
CI digunakan dengan cara
memerintahkan apa yang harus
dilakukan ( seperti: susun program ini
dengan clang, jalankan program ini, Tes
kecepatan program, dll ).
Instruksi ini biasanya ditulis dengan
berkas konfigurasi (configure files), dan
perintahnya adalah command
Linux/*nix. Karena itu, pengetahuan
dasar Linux dibutuhkan untuk memakai
CI.
42. Kualitas perangkat lunak GitHub
https://github.com/integrations/feature/code-quality
Alat yang memberi peringatan untuk
aspek aspek yang mencurigakan
dalam kode sumber, yang bisa jadi
kesalahan (bug)
Biasanya menggunakan analisa statik
– dimana mereka tidak menjalankan
program saat analisa berjalan.
43. Code Climate
https://codeclimate.com/dashboard
Code Climate menyatukan hasil-hasil dari serangkaian analisa statik menjadi
satu laporan langsung, yang memberikan tim Anda informasi yang mereka
perlukan apabila mereka perlu untuk mengidentifikasikan daerah daerah kritis,
mengevaluasi cara-cara baru, dan memperbaiki kualitas kode.
48. blissai.com
BLISSAI
Blissai mendukung
banyak bahasa
pemrograman dan
memiliki banyak
tipe linters.
BLISSAI
Blissai mendukung
banyak bahasa
pemrograman dan
memiliki banyak
tipe linters.
Go
JavaScript
TypeScript
Java
C
C++
C#
Objective-C
Objective-C++
PHP
Python
Ruby
CoffeeScript
Rails
CSS
SCSS
Swift
Scala
Elixir
Perl
Stylus
Editor's Notes
Do you want to become a programmer?
Do you like mathematics or natural science?
Then you need to code, and code well!
This workshop will show you a few tools, to help you get started.
Github is website built around Git.
Everyone must know git.
Git is the canvas on which you work and collaborate.
Git is an open source distributed version control system (VCS).
Git was created by Linus Torvalds, to help him build an operating system that you may have heard of, called Linux.
<number>
Git is the canvas on which you work and collaborate.
Git is an open source distributed version control system (VCS).
Git was created by Linus Torvalds, to help him build an operating system that you may have heard of, called Linux.
<number>
Git manages files that are being edited by people all over the world, giving each copy its own version identifier. So each person knows which version they have, and how to merge their changes with other peoples changes, to the same file.
The ‘remote’ is where the sharing occurs, such as the Github system.
The ‘branches’ are where changes are planned.
Once changes are good, they are sent to the remote.
There are some weaknesses in Git.
Some large commercial companies have repositories that are unsuitable for git. They use other tools, and the most common is Perforce.
Perforce, but is not open source, and it is not cheap for companies. <<how much>>?
But you can download it for free, for personal use.
https://www.quora.com/What-are-some-advantages-of-Perforce-over-git
https://bitbucket.org/mats_ekberg/boar/wiki/Rationale
https://en.wikipedia.org/wiki/Comparison_of_version_control_software
Github has more than 14 million users and more than 35 million repositories. 125,000 LOC added per day.
It the largest host of source code in the world.
It also host websites on Github Pages.
53rd most visited site on the Internet
Up 10 in last three months
i.e. was 63rd three months ago
Your Github profile is your most important CV.
It doesnt lie.
It does not include information, such as I am a PLSQL programmer extrordinaire, but PLSQL is not in my github repositories as it is all commercial.
And Github publishes their prime asset; thier metadata .
You can download it on Github Archive.
People fetch the Github Archive data, and publish new statistics
Such as http://octoboard.com/ (Defunct) showing statistics as of March 11, 2012
https://web.archive.org/web/20150801193208/http://octoboard.com/
Another tool shows the most “starred” developers, per country
Notice faisalman, best in Bandung
Per city
If you are a startup company in Bandung, and you need a good developer, who are you going to call…
Another way to look for Indonesians is to look for Awesome repositories
This is an awesome github project, linking to all the other awesome github projects by Indonesians
This list is managed by the GitIndonesia organisation
Any thing you can legally share
Public domain, Creative Commons, and other Open Licenses.
The Nova Organi Harmonia , by German priest and musicologist Jules Van Nuffel
Organ accompaniments for Gregorian Chant
LilyPond transcription
LilyPond is a computer program and file format for music *engraving* , to make printed music look beautiful, accurately representing the original printing .
One of those contributions is by “Mylee”, who is Mika from Finland.
Who knows what this change does?
It is not surprising that it requires someone outside of USA to fix this bug.
And here is their bug tracker.
Maybe you do not want to create a website by hand?
GitBook will help you focus on writing,
And they will create a beautiful website for you.
Here is the Github Repository
A research paper with Latex formula
Another Github addon tool is SiteLeaf, which includes a beta WYSIWYG editor.
This is a Wordpress killer.
Free cloud servers, building open source projects.
Travis CI provides free virtual machines for open source projects.
In return, Open source programmers fix bugs for them.
Everyone wins.
Finding bugs.
We dont need to open a text editor, or a command prompt.
Github integrates many online services that do the linting for us.
Here are some projects I have in Code Climate.
Code Climate consolidates the results from a suite of static analysis tools into a single, real-time report, giving your team the information it needs to identify hotspots, evaluate new approaches, and improve code quality.
It supports many languages and linters.
But it doesnt support C.
Some of the problems it finds
An explanation of the problem.
Blissai supports the most languages, with many types of linters.
Includes the C family of languages.