Minggu, 31 Mei 2020

mysql server

// https://www.shellhacks.com/mysql-show-users-privileges-passwords/
//melihat user dan host yang diizinkan
SELECT user,host FROM mysql.user;

//distinct atau grouping user berdasarkan username
SELECT DISTINCT user FROM mysql.user;

//update host user di mysql
UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='username';

SELECT
-- *
JSON_EXTRACT(object_json_namakolomnya, "$.penyedia_id")
FROM
permohonan_pembaruan_staging
WHERE
permohonan_pembaruan_id = '4512';

//buat user dan bisa di remote menggunakan IP lokal Server
CREATE USER 'nama_usernya'@'%' IDENTIFIED BY 'passwordnya_apa';
GRANT ALL ON *.* TO 'nama_usernya'@'%';
FLUSH PRIVILEGES;

- membuat user mysql dan privilege nya
CREATE USER 'nama_user'@'192.168.ipnya' IDENTIFIED BY 'passXXXX';
GRANT ALL PRIVILEGES ON * . * TO 'nama_user'@'192.168.ipnya';
flush privileges;

- cara melihat whitelist server linux : sudo iptables -L -v -n | more

- import data menggunakan terminal server
mysql -u <username> -p <databasename> < <filename.sql>

Minggu, 17 Mei 2020

html

Beauty html (mengubah script html menjadi rapih) : https://www.freeformatter.com/html-formatter.html#ad-output

-> solusi select2 tidak muncul di modal box :
-hilang tabindex="-1" di class modal box (https://stackoverflow.com/questions/18487056/select2-doesnt-work-when-embedded-in-a-bootstrap-modal/33884094#33884094)

Rabu, 06 Mei 2020

Fungsi fungsi View Laravel

- untuk convert tanggal di form html dan php
<input type="text" name="tgl_awal_upload" class="form-control required single-daterange" value= "<?php echo date('d/m/Y', strtotime($kegiatan->tgl_awal_upload)); ?>">

- kondisi php untuk radiobutton
<div class='col-md-12'>
                      <label class="radio-inline">
                        <input type="radio" name="is_aktif" value="1"
                        <?php if ($kegiatan->is_aktif == 1): ?>
                          checked="checked"
                          <?php endif ?> > Aktif
                      </label>

                      <label class="radio-inline">
                        <input type="radio" name="is_aktif" value="0"
                        <?php if ($kegiatan->is_aktif == 0): ?>
                          checked="checked"
                          <?php endif ?> > Tidak Aktif
                      </label>
                    </div>

- cara memanggil extention file di view atau blade laravel :
<p class="size8 red lh2">File Path: {{ pathinfo($row->file_path, PATHINFO_EXTENSION)}}</p>
-> solusi select2 tidak muncul di modal box :

-> kondisi untuk input type radio get value dari db:
<div class="form-check"><label class="form-check-label"><input {{ ($dokumen->status_dokumen=='publish')? 'checked' : '' }} class="form-check-input" name="status_dokumen" type="radio" value="publish">Publish</label></div>
- render dengan membawa current url untuk search biasanya :
{!! $dokumens->appends(Request::except('page'))->render() !!}

Fungsi fungsi laravel controller

- untuk convert data  date time dari post view ke controller :
print_r(date('Y-m-d', strtotime($request->tahun)));

- convert embed link url youtube video untuk diputar di view blade laravel

$shortUrlRegex = '/youtu.be\/([a-zA-Z0-9_]+)\??/i';
        $longUrlRegex = '/youtube.com\/((?:embed)|(?:watch))((?:\?v\=)|(?:\/))(\w+)/i';

        if (preg_match($longUrlRegex, $user->video->link, $matches)) {
            $youtube_id = $matches[count($matches) - 1];
        }

        if (preg_match($shortUrlRegex, $user->video->link, $matches)) {
            $youtube_id = $matches[count($matches) - 1];
        }

        $user->link_video = 'https://www.youtube.com/embed/' . $youtube_id;

- Penggunaan Try Catch untuk validasi data jika error :
try {
          // execute process
          $kegiatan = Kegiatan::findOrFail($id);
          $kegiatan->delete();
        } catch (\Exception $e) {
         // if failed or error
          return Redirect::action('KegiatanController@index')->with('flash-failed','Maaf Data Tidak Bisa Dihapus, Karena Telah Digunakan Sebagai Relasi.');
        }
return Redirect::action('KegiatanController@index')->with('flash-success','Data anda berhasil dihapus.');

- Cara group ing array menjadi untuk looping :
$result = array();
foreach ($data as $element) {
    $result[$element['id']][] = $element;
}
https://stackoverflow.com/questions/12706359/php-array-group/32293789

Fungsi gitlab github

gunakan terminal dan gunakan sintak ini :
- echo .DS_Store >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global

staging sudah direplace, untuk yang punya reponya di lokal, tolong jalankan command
1. git fetch --all
2. git checkout staging
3. git reset --hard origin/staging

- Jika error gitlab :

    fatal: unable to access 'https://gitlab.com/iwr/hehe.git/': Peer's Certificate issuer is not recognized.

    git config --global http.sslVerify "false"



- jika muncul error saat push :

git pull origin dev

From https://gitlab.com/xxx

 * branch              dev        -> FETCH_HEAD

fatal: Not possible to fast-forward, aborting.

gunakan console dibawah, pastikan update code telah di commit dan backup biar aman

git pull origin develop --rebase

Sabtu, 02 Mei 2020

konfigurasi domain dan pointing ke server dengan ip public, dan konfigurasi di server ubuntu

- Masuk Ke domain->manage dns :
tambahkan domain/subdomain, gunakan TYPE A, dan address ke IP Public kita->simpan



- tambahkan di vim /etc/hosts :
            untuk sett ip public dan domain
            100.ip-publicnya domainnya.id www.domainnya.id

- masuk ke /var/apache dan copykan 000.conf untuk sett ke punya kita vhostnya :
cp 000-default.conf bebas.conf

- setelah di seuaikan lalu simpan, dan jalankan :
            sudo a2ensite example.com.conf

ada juga yang disimpan disini :

- setting VHost:
/etc/nginx/sites-available
dan conf nya ada di :
/etc/nginx/sites-enabled

- membuat link shortcut :
sudo ln -s ../sites-available/nama_file_sasara nama_file_shortcut

- menghilangkan link shortcut

unlink nama_file

- mengatur jaringan ip public :
vim /etc/network/interfaces

- restart service2
sudo systemctl restart apache2
sudo systemctl restart nginx

- sett nama owner dan group
sudo chown owner:www-data folder/ -R

Cara Membangun Membuat Website Terlihat Di Halaman Publik Atau Online

Disini saya menggunakan Layanan Qwords,
- Membeli domain (biasanya aktif setahun dan harga berbeda-beda)
*noted : jangan mengotak-atik DNS Zone kalau anda nanti mau membeli hosting dari Qwords
- Membeli hosting (untuk penyimpanan aplikasi kalian dan database)