tag:blogger.com,1999:blog-62853870775818426102024-03-17T20:04:19.956-07:00Belajar Bareng Pengembangan SoftwareDream.Make.BelieveWildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.comBlogger147125tag:blogger.com,1999:blog-6285387077581842610.post-85458382261765618062024-01-15T20:51:00.000-08:002024-02-12T22:39:17.031-08:00Vehicle Surround View<p>Apakah kamera seperti [10], dengan konektor rca to usb [11] dapat "dibaca" langsung di android atau minimal di linux dulu ? kalau bisa, bagaimana cara membaca ke empatnya sekaligus ? jika sudah bisa, coba pelajari dokumentasi terkait surround view [4]. </p><p>Kalau ini bisa dilakukan, maka untuk membuat surround view di kendaraan kita, kita cukup beli 4 buah kamera, konverter dan memanfaatkan device android yg kita punya.</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>The 3D surround view on Jetson Tegra TX2 platform, <a href="https://github.com/SokratG/Surround-View" target="_blank">https://github.com/SokratG/Surround-View</a></li><li>Cogent Surround View, <a href="https://www.cogentembedded.com/surround-view/" target="_blank">https://www.cogentembedded.com/surround-view/</a></li><li>Vehicle surround view in Libxcam, <a href="https://events19.linuxfoundation.org/wp-content/uploads/2017/11/360-Degree-Vehicle-Surround-View-in-an-Open-Source-Project-Libxcam-ALS-Junkai-Wu.pdf" target="_blank">https://events19.linuxfoundation.org/wp-content/uploads/2017/11/360-Degree-Vehicle-Surround-View-in-an-Open-Source-Project-Libxcam-ALS-Junkai-Wu.pdf</a></li><li>Surround view system, <a href="https://github.com/neozhaoliang/surround-view-system-introduction" target="_blank">https://github.com/neozhaoliang/surround-view-system-introduction</a></li><li>Valeo releases the first multitask fisheye camera open source dataset, aiming to take automated driving to the next level, <a href="https://www.valeo.com/en/valeo-releases-the-first-multitask-fisheye-camera-open-source-dataset-aiming-to-take-automated-driving-to-the-next-level/" target="_blank">https://www.valeo.com/en/valeo-releases-the-first-multitask-fisheye-camera-open-source-dataset-aiming-to-take-automated-driving-to-the-next-level/</a></li><li>Automatic Surround Camera Calibration Method in Road Scene for Self-driving Car, <a href="https://arxiv.org/abs/2305.16840" target="_blank">https://arxiv.org/abs/2305.16840</a></li><li>Head Unit Android 10 inch Nakamichi NA3102i Legend Pro Hi-Res Cam 360, <a href="https://tokopedia.link/gBtu8vBFoGb" target="_blank">https://tokopedia.link/gBtu8vBFoGb</a></li><li>Mini WiFi Taffware IP Camera CCTV 1080P - A9, <a href="https://tokopedia.link/vphT0H6MoGb" target="_blank">https://tokopedia.link/vphT0H6MoGb</a></li><li>Kamera Mundur Parkir Mobil Car DVR 360 Degree Waterproof SONY Sensor, <a href="https://tokopedia.link/zjCrRj2rpGb" target="_blank">https://tokopedia.link/zjCrRj2rpGb</a></li><li>Kamera depan Mobil universal model bulat Car DVR 360 Degree Waterproof, <a href="https://tokopedia.link/Dx6BcnuupGb" target="_blank">https://tokopedia.link/Dx6BcnuupGb</a></li><li>Video capture card - 4 input rca to USB 2.0, <a href="https://tokopedia.link/MDON09CupGb" target="_blank">https://tokopedia.link/MDON09CupGb</a></li><li>Backup camera working with android, <a href="https://www.youtube.com/watch?v=xKDPERyunJM" target="_blank">https://www.youtube.com/watch?v=xKDPERyunJM</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-9924641916110784382023-07-21T06:12:00.009-07:002023-08-14T19:04:12.100-07:00Dragonfly : source-available, multi-threaded Redis® replacement built for modern cloud workloads<p> </p><h3 style="text-align: left;">Migrasi Single Node Redis ke Dragonflydb</h3><p>File backup redis : dump.rdb<br /><br />Pastikan dragonlydb service sudah mati. <br /><br /><span style="font-family: courier;">sudo systemctl stop dragonfly.service</span><br /><br />load dump.rdb ke memory dengan dragonfly : </p><p><span style="font-family: courier;">sudo dragonfly --logtostderr --dbfilename dump</span></p><p>dengan redis-client, save ke format dfs : <br /><br /><span style="font-family: courier;">redis-cli </span><br /><span style="font-family: courier;">save df</span></p><p>Hapus data lama, dan pindahkan data baru : <br /><br /><span><span style="font-family: courier;"> sudo rm /var/lib/dragonfly/</span><br /> </span></p><p><span>dari path tadi menjalankan perintah </span>load dump.rdb : <br /><br /><span style="font-family: courier;">sudo mv *.dfs </span><span><span style="font-family: courier;"> /var/lib/dragonfly/</span><br /><br />Jalankan dragonfly : <br /><br /></span><span style="font-family: courier;">sudo systemctl start dragonfly.service</span><br /></p><p><span style="font-family: courier;"><br /></span></p><div _ngcontent-ng-c128079591="" class="query-content ng-tns-c128079591-11" id="user-query-content-0" style="-webkit-box-flex: 1; color: var(--bard-color-on-surface); flex: 1 1 0%; word-break: break-word;"><h3 style="text-align: left;">How to make dragonfly service start automatically in debian 12</h3><div><div _ngcontent-ng-c4016028642="" class="markdown markdown-main-panel" dir="ltr"><p data-sourcepos="1:1-1:96">To make the dragonfly.service start automatically in Debian 12, you can use the following steps:</p><ol data-sourcepos="3:1-5:0"><li data-sourcepos="3:1-3:26">Open a terminal window.</li><li data-sourcepos="4:1-5:0">Run the following command to edit the dragonfly.service file:</li></ol><code-block _nghost-ng-c275674713="" ng-version="0.0.0-PLACEHOLDER"><div _ngcontent-ng-c275674713="" class="code-block"><pre _ngcontent-ng-c275674713=""><code _ngcontent-ng-c275674713="" class="code-container no-decoration-radius ng-star-inserted" role="text">sudo nano /etc/systemd/system/dragonfly.service
</code></pre></div></code-block><ol data-sourcepos="10:1-11:0" start="3"><li data-sourcepos="10:1-11:0">In the dragonfly.service file, add the following lines to the [Unit] section:</li></ol><code-block _nghost-ng-c275674713="" ng-version="0.0.0-PLACEHOLDER"><div _ngcontent-ng-c275674713="" class="code-block"><pre _ngcontent-ng-c275674713=""><code _ngcontent-ng-c275674713="" class="code-container no-decoration-radius ng-star-inserted" role="text">Description=Dragonfly Service
After=network.target
</code></pre></div></code-block><ol data-sourcepos="17:1-18:0" start="4"><li data-sourcepos="17:1-18:0">In the [Service] section, add the following lines:</li></ol><code-block _nghost-ng-c275674713="" ng-version="0.0.0-PLACEHOLDER"><div _ngcontent-ng-c275674713="" class="code-block"><pre _ngcontent-ng-c275674713=""><code _ngcontent-ng-c275674713="" class="code-container no-decoration-radius ng-star-inserted" role="text">ExecStart=/usr/bin/dragonfly
Restart=always
</code></pre></div></code-block><ol data-sourcepos="24:1-26:0" start="5"><li data-sourcepos="24:1-24:60">Save the dragonfly.service file and exit the nano editor.</li><li data-sourcepos="25:1-26:0">Run the following command to reload the systemd daemon:</li></ol><code-block _nghost-ng-c275674713="" ng-version="0.0.0-PLACEHOLDER"><div _ngcontent-ng-c275674713="" class="code-block"><pre _ngcontent-ng-c275674713=""><code _ngcontent-ng-c275674713="" class="code-container no-decoration-radius ng-star-inserted" role="text">sudo systemctl daemon-reload
</code></pre></div></code-block><ol data-sourcepos="30:1-31:0" start="7"><li data-sourcepos="30:1-31:0">Run the following command to enable the dragonfly.service service to start automatically at boot:</li></ol><code-block _nghost-ng-c275674713="" ng-version="0.0.0-PLACEHOLDER"><div _ngcontent-ng-c275674713="" class="code-block"><pre _ngcontent-ng-c275674713=""><code _ngcontent-ng-c275674713="" class="code-container no-decoration-radius ng-star-inserted" role="text">sudo systemctl enable dragonfly.service
</code></pre></div></code-block><ol data-sourcepos="36:1-37:0" start="8"><li data-sourcepos="36:1-37:0">Run the following command to start the dragonfly.service service:</li></ol><code-block _nghost-ng-c275674713="" ng-version="0.0.0-PLACEHOLDER"><div _ngcontent-ng-c275674713="" class="code-block"><pre _ngcontent-ng-c275674713=""><code _ngcontent-ng-c275674713="" class="code-container no-decoration-radius ng-star-inserted" role="text">sudo systemctl start dragonfly.service
</code></pre></div></code-block><p data-sourcepos="42:1-42:103">The dragonfly.service service should now start automatically at boot and whenever your system restarts.</p></div></div></div><p>Referensi</p><ol style="text-align: left;"><li>Dragonfly, <a href="https://www.dragonflydb.io/" target="_blank">https://www.dragonflydb.io/</a><br /></li></ol>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-83895222036703446962023-02-16T05:29:00.003-08:002023-02-16T05:29:50.150-08:00rclone<p> </p><p>Untuk sync google sheet dan google docs files pastikan versi rsync yg digunakan adalah versi paling akhir. </p><p><br /></p><p>Untuk melakukan sync seluruh file .gsheet dan .gdoc dari remote jalankan perintah ini : </p><p><br /></p><p>rclone sync remote: --include "**/*.gsheet" /local/path/to/destination</p><div><div>rclone sync remote: --include "**/*.gdoc" /local/path/to/destination</div></div><div><br /></div>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-83541641304465935982022-12-10T07:07:00.007-08:002022-12-10T07:15:18.427-08:00Open Source Fitness App<p> ....</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>The Only Fitness App You Need – It’s Free!, <a href="https://medium.com/technology-hits/the-only-fitness-app-you-need-its-free-f0c77e765b58" target="_blank">https://medium.com/technology-hits/the-only-fitness-app-you-need-its-free-f0c77e765b58</a></li><li>Create Your Workout, <a href="https://fitness.sebhulse.com/index.html" target="_blank">https://fitness.sebhulse.com/index.html</a></li><li>Weight Loss, Machine Learning meets ketosis: how to effectively lose weight, <a href="https://github.com/openthinklabs/weight-loss" target="_blank">https://github.com/openthinklabs/weight-loss</a></li></ol><p></p><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-36037456169403177722022-09-17T04:36:00.005-07:002022-09-17T04:36:44.497-07:00Berkenalan dengan Open Accounting<p> ...</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>Open Accounting, <a href="https://openaccounting.io" target="_blank">https://openaccounting.io</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-91516892017009881322022-05-26T08:19:00.002-07:002024-01-13T04:45:44.093-08:00Moodle<style>
.table {
display: block;
overflow-y: hidden;
overflow-x: auto;
scroll-behavior: smooth;
}
.table thead {
display: table-header-group;
vertical-align: middle;
border-color: inherit;
color: white;
background: darkcyan;
}
tr {
display: table-row;
vertical-align: inherit;
border-color: inherit;
}
table th {
padding: 16px;
text-align: inherit;
border-bottom: 1px solid black;
color:white!important;
}
tbody {
display: table-row-group;
vertical-align: middle;
border-color: inherit;
}
table:not(.tr-caption-container) {
min-width: 100%;
border-radius: 3px;
}
</style>
<p><br /></p><h3 style="text-align: left;">Tuning</h3><p>Di [1] ada instruksi untuk mengubah settingan mysql menjadi : </p><br />[mysqld]<br />innodb_file_per_table = 1<br /><br /><div>character-set-server = utf8mb4<br />collation-server = utf8mb4_unicode_ci<br />skip-character-set-client-handshake<p>Konfigurasi ini, terutama : innodb_file_per_table, jika diterapkan di TAO, apakah dapat meningkatkan performa nya ?</p><h3 style="text-align: left;">Single Sign On </h3><p>Matriks fitur module-modul SAML SSO yang ada</p><p></p>
<div class="table">
<table border="1px" style="white-space: nowrap;">
<thead>
<tr>
<th>No</th>
<th>Moodle Plugins</th>
<th>Auto-create user </th>
<th>Auto-enroll</th>
<th>Single Sign Off</th>
<th>Limit concurrent login</th>
<th>Dual Login</th>
</tr>
</thead><tbody><tr><td>1</td>
<td><a href="https://moodle.org/plugins/auth_saml2sso" target="_blank">Authentication ::: auth_saml2sso</a></td>
<td style="text-align: center;">v</td>
<td><br /></td>
<td style="text-align: center;">v</td>
<td style="text-align: center;">v</td>
<td style="text-align: center;">v</td>
</tr>
<tr>
<td>2</td>
<td><a href="https://moodle.org/plugins/auth_saml2" target="_blank">Authentication ::: auth_saml2</a></td>
<td style="text-align: center;">v</td>
<td><br /></td>
<td style="text-align: center;">v</td>
<td><br /></td>
<td style="text-align: center;">v</td>
</tr>
<tr>
<td>3</td>
<td><br /></td>
<td><br /></td>
<td><br /></td>
<td><br /></td>
<td><br /></td>
<td><br /></td></tr></tbody></table></div><p></p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>MySQL full unicode support, <a href="https://docs.moodle.org/400/en/MySQL_full_unicode_support" target="_blank">https://docs.moodle.org/400/en/MySQL_full_unicode_support</a></li></ol><p></p></div>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-25692334478592899772022-05-25T08:25:00.006-07:002022-05-25T08:25:57.221-07:00Secure Exam Environment<p> TODO : Build ExamOS, <a href="https://github.com/konekoe/examosbuilder" target="_blank">https://github.com/konekoe/examosbuilder</a></p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li> Security of electronic exams on students’ devices, <a href="https://aaltodoc.aalto.fi/bitstream/handle/123456789/107614/master_Hietanen_Jussi_2021.pdf?sequence=1&isAllowed=y" target="_blank">https://aaltodoc.aalto.fi/bitstream/handle/123456789/107614/master_Hietanen_Jussi_2021.pdf?sequence=1&isAllowed=y</a></li><li>Guaranteeing High Availability of the „Secure Exam Environment“ (SEE), <a href="https://www.scitepress.org/papers/2018/67518/67518.pdf" target="_blank">https://www.scitepress.org/papers/2018/67518/67518.pdf</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-11719508804233251312022-04-15T23:29:00.003-07:002022-04-15T23:29:30.973-07:00Semantic Analysis<p> ...</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>ID-PHPSentiAnalysis - Indonesian Sentiment Analysis in PHP, <a href="https://github.com/yasirutomo/php-sentianalysis-id" target="_blank">https://github.com/yasirutomo/php-sentianalysis-id</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-5466354130449587492021-10-15T16:44:00.005-07:002022-04-06T18:53:58.735-07:00Bersahabat dengan GCP - Google Cloud Platform<h3 style="text-align: left;">Visualisasi Data Tagihan GCP</h3><p>...</p><p><br /></p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>Retrieve GCP Billing Data, <a href="https://docs.snowsoftware.com/commander/admin-portal/retrieve-billing-data-gcp.htm" target="_blank">https://docs.snowsoftware.com/commander/admin-portal/retrieve-billing-data-gcp.htm</a></li><li>Visualize GCP Billing using BigQuery and Data Studio, <a href="https://medium.com/google-cloud/visualize-gcp-billing-using-bigquery-and-data-studio-d3e695f90c08" target="_blank">https://medium.com/google-cloud/visualize-gcp-billing-using-bigquery-and-data-studio-d3e695f90c08</a></li><li>Analyze your Google Cloud Platform Bills w/BigQuery & Data Studio, <a href="https://medium.com/google-cloud/analyze-your-google-cloud-platform-bills-w-bigquery-data-studio-7c9ebeb31b56" target="_blank">https://medium.com/google-cloud/analyze-your-google-cloud-platform-bills-w-bigquery-data-studio-7c9ebeb31b56</a></li><li>Resource Labeling Best Practices for Google Cloud Platform, <a href="https://blog.doit-intl.com/google-cloud-platform-resource-labeling-best-practices-66fded7ba57" target="_blank">https://blog.doit-intl.com/google-cloud-platform-resource-labeling-best-practices-66fded7ba57</a></li><li>Database observability for developers: introducing Cloud SQL Insights, <a href="https://cloud.google.com/blog/products/databases/get-ahead-of-database-performance-issues-with-cloud-sql-insights" target="_blank">https://cloud.google.com/blog/products/databases/get-ahead-of-database-performance-issues-with-cloud-sql-insights</a></li><li>How to enable slow query log on Google Cloud SQL for MySQL and PostgreSQL, <a href="https://www.eversql.com/slow-query-log-on-google-cloud-sql-mysql/" target="_blank">https://www.eversql.com/slow-query-log-on-google-cloud-sql-mysql/</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-55112389202010780172021-10-13T00:17:00.008-07:002022-04-09T01:04:49.371-07:00WhatsApp Blaster<h3 style="text-align: left;">Baileys API</h3><br />git clone https://github.com/ookamiiixd/baileys-api.git<br /><br />cd baileys-api<br /><br />npm i <div><br /><div>npm i @adiwajshing/keyed-db<br /><br />sudo npm install pm2@latest -g<br /><br />pm2 start --name="baileys-api" npm -- start<h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>whatsapp-play, A command line software through which you can play with your WhatsApp, <a href="https://github.com/whatsplay/whatsapp-play" target="_blank">https://github.com/whatsplay/whatsapp-play</a></li><li>WhatsBlaster, <a href="https://github.com/kyleissuper/WhatsBlaster" target="_blank">https://github.com/kyleissuper/WhatsBlaster</a></li><li>Baileys - Typescript/Javascript WhatsApp Web API, <a href="https://github.com/adiwajshing/Baileys" target="_blank">https://github.com/adiwajshing/Baileys</a></li><li>Baileys API, <a href="https://github.com/ookamiiixd/baileys-api" target="_blank">https://github.com/ookamiiixd/baileys-api</a></li></ol><p></p></div></div>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-89243892919646117992021-10-12T21:52:00.008-07:002022-03-04T03:06:20.351-08:00Kutt : Free Modern URL Shortener<p>cd /opt/webapps/kutt</p><p>sudo -u www-data pm2 startup</p><p>sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u wildanm --hp /var/www</p><p>sudo -u www-data pm2 save</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>Kutt, a modern URL shortener with support for custom domains. Shorten URLs, manage your links and view the click rate statistics,<a href="https://github.com/openthinklabs/kutt" target="_blank"> https://github.com/openthinklabs/kutt</a></li><li>pm2 startup script, <a href="https://pm2.keymetrics.io/docs/usage/startup/" target="_blank">https://pm2.keymetrics.io/docs/usage/startup/</a></li><li>How to ensure Kutt process starts on server start? ,<a href="https://github.com/thedevs-network/kutt/issues/273" target="_blank"> https://github.com/thedevs-network/kutt/issues/273</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-4652334884989220742021-10-09T07:59:00.014-07:002021-10-23T06:30:55.917-07:00UVDesk : Open Source Helpdesk System<p>install extention imap </p><p>install mailparse : pecl install mailparse</p><p><br /></p><p>Setelah composer install, jika ada error : </p><p></p><blockquote><p>Executing script cache:clear [KO]</p><p> [KO]</p><p>Script cache:clear returned with error code 1</p><p>!!</p><p>!! In ArrayNode.php line 220:</p><p>!!</p><p>!! The child node "key" at path "cspoo_swiftmailer_mailgun" must be configured</p><p>!! .</p><p>!!</p><p>!!</p><p>!!</p><p>Script @auto-scripts was called via post-update-cmd</p><p><br /></p></blockquote><p>Ikuti langkah disini : <a href="https://github.com/tehplague/swiftmailer-mailgun-bundle/issues/74#issuecomment-428552701" target="_blank">https://github.com/tehplague/swiftmailer-mailgun-bundle/issues/74#issuecomment-428552701</a></p><p> </p>Untuk proses update jangan menuliskan perintah composer update, tapi lakukan hal berikut : <div><br />composer update uvdesk/core-framework<br /><div>composer update uvdesk/support-center-bundle<br />composer update uvdesk/mailbox-component<br />composer update uvdesk/automation-bundle<br />composer update uvdesk/extension-framework<div><br /></div><div> php bin/console swiftmailer:email:send --to=to@gmail.com --from='from@gmail.com'' --subject="test from cli" --body=test --mailer=smtp.mail.com</div><div><br /></div><div>smtp</div><h3 style="text-align: left;">Mailgun</h3><div><br /></div><div><div>composer require cspoo/swiftmailer-mailgun-bundle php-http/guzzle5-adapter</div><div>composer require guzzlehttp/psr7</div></div><div><br /></div><div><b>Error : </b></div><div><br /></div><div><div>doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php:90)"} []</div><div>[2021-10-13 08:15:51] php.CRITICAL: Call to undefined method cspoo\Swiftmailer\MailgunBundle\Service\MailgunTransport::setPassword() {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to undefined method cspoo\\Swiftmailer\\MailgunBundle\\Service\\MailgunTransport::setPassword() at /opt/webapps/uvdesk/vendor/uvdesk/core-framework/Services/EmailService.php:500)"} []</div></div><div><br /></div><div>Solusi : </div><div><br /></div><div>Pada file vendor/cspoo/swiftmailer-mailgun-bundle/Service/MailgunTransport.php</div><div><br /></div><div>tambahkan properties dan methods berikut : </div><div><br /></div><div><div> /**</div><div> * The password for authentication.</div><div> *</div><div> * @var string</div><div> */</div><div> private $password;</div></div><div><br /></div><div><div> /**</div><div> * Set the password to authenticate with.</div><div> *</div><div> * @param string $password</div><div> */</div><div> public function setPassword($password)</div><div> {</div><div> $this->password = $password;</div><div> }</div><div> </div><div> </div><div> /**</div><div> * Get the password to authenticate with.</div><div> *</div><div> * @return string</div><div> */</div><div> public function getPassword()</div><div> {</div><div> return $this->password;</div><div> } </div></div><div><br /></div><div>Perubahan ini sudah diterapkan pada <a href="https://github.com/openthinklabs/swiftmailer-mailgun-bundle" target="_blank">openthinklabs/swiftmailer-mailgun-bundle</a></div><div><br /></div><div>Konfigurasi .env : </div><div><div></div></div><blockquote><div><div>MAILER_URL=smtp://smtp.mailgun.org:587?encryption=tls&username=ausername&password=apassword</div><div>###< symfony/swiftmailer-bundle ###</div><div>MAILGUN_DOMAIN="domain.com"</div><div>MAILGUN_API_KEY="domain_key"</div><div>MAILGUN_SENDER="info@domain.com"</div></div><div></div></blockquote><div><br /></div><div><br /></div><div>Untuk mengetes mengirim email, gunakan perintah : </div><div><br /></div><div><blockquote>php bin/console swiftmailer:email:send --from=<from email> --to=<to email> --subject="Foo" --body="Bar" </blockquote></div><div><br /></div><h3 style="text-align: left;">MailBox</h3><div><br /></div><div>Contoh konfigurasi yang dapat digunakan adalah seperti ini: </div><div><br /></div><div>config/packages/uvdesk_mailbox.yaml</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9IdK2t5mEBqw1JMEaaG7VptzXjtonEMND6g1grgMjOunnZNfJIKTgXu-SIg1lc6Oliwr0PviNqM0sTPNUPGfPMH0EOjdDqGLb8HVw0TGP2wmvOLPQb43hMKqgkT2t9eSr4bZIzpmack3S/s1446/Screen+Shot+2021-10-23+at+15.26.47.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="946" data-original-width="1446" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9IdK2t5mEBqw1JMEaaG7VptzXjtonEMND6g1grgMjOunnZNfJIKTgXu-SIg1lc6Oliwr0PviNqM0sTPNUPGfPMH0EOjdDqGLb8HVw0TGP2wmvOLPQb43hMKqgkT2t9eSr4bZIzpmack3S/w400-h261/Screen+Shot+2021-10-23+at+15.26.47.png" width="400" /></a></div><br /><div>Untuk menarik data dari mailbox, dapat menggunakan perintah : </div><div><br /></div><div>php bin/console uvdesk:refresh-mailbox email-address@example.com</div><div><br /></div><div>Buat cron job untuk mengeksekusi perintah ini secara rutin, misal setiap 15 menit sekali. </div><div><br /></div><h4 style="text-align: left;">Mac</h4><div><br /></div><div>Jika perintah ini dijalankan di Mac, maka kita akan mendapatkan error : </div><div><br /></div><div></div><blockquote><div>....</div><div><div> Mailbox refreshed successfully !!!</div><div>PHP Fatal error: Uncaught ErrorException: Notice: Unknown: [ALERT] Filesystem notification initialization error -- contact your mail administrator (check for configuration errors with the FAM/Gamin library) in Unknown:0</div><div>Stack trace:</div><div>#0 [internal function]: Symfony\Component\Debug\ErrorHandler->handleError(8, 'Unknown: [ALERT...', 'Unknown', 0, NULL)</div><div>#1 {main}</div><div> thrown in Unknown on line 0</div><div><br /></div><div>Fatal error: Uncaught ErrorException: Notice: Unknown: [ALERT] Filesystem notification initialization error -- contact your mail administrator (check for configuration errors with the FAM/Gamin library) in Unknown:0</div><div>Stack trace:</div><div>#0 [internal function]: Symfony\Component\Debug\ErrorHandler->handleError(8, 'Unknown: [ALERT...', 'Unknown', 0, NULL)</div><div>#1 {main}</div><div> thrown in Unknown on line 0</div></div></blockquote><div><div></div></div><h3 style="text-align: left;">Referensi </h3><div><ol style="text-align: left;"><li>composer update caused uvdesk broken, <a href="https://github.com/uvdesk/community-skeleton/issues/263" target="_blank">https://github.com/uvdesk/community-skeleton/issues/263</a></li><li>SSL3_GET_SERVER_CERTIFICATE:certificate verify failed #544, <a href="https://github.com/swiftmailer/swiftmailer/issues/544" target="_blank">https://github.com/swiftmailer/swiftmailer/issues/544</a></li><li>How to Setup Mailbox : UVdesk Open Source Helpdesk, <a href="https://www.uvdesk.com/en/blog/setup-mailbox-uvdesk-open-source-helpdesk/" target="_blank">https://www.uvdesk.com/en/blog/setup-mailbox-uvdesk-open-source-helpdesk/</a></li><li>UVdesk- Custom Field, <a href="https://webkul.com/blog/uvdesk-custom-fields/" target="_blank">https://webkul.com/blog/uvdesk-custom-fields/</a></li></ol></div><div><br /></div></div></div>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-8937711454980327862021-09-08T05:02:00.006-07:002021-09-08T07:44:28.841-07:00Utilities untuk Zendesk<p> Export Tickets</p><p>Jika berlangganan paket Suite Team, maka kita tidak akan mendapat akses ke fungsionalitas Report untuk mengexport data ticket-ticket yang masuk. Jika menggunakan custom view, yg bisa diexport hanya 2000 tiket. </p><p>Ada beberapa solusi menggunakan API yg telah dibuat oleh komunitas. Dintaranya timpalac/zendeskexport [1], kelemahannya, hanya bisa meng-export maksimal 1000 tiket dalam satu requeat. </p><p>Zenpy pun menawarkan solusi, salah satu nya adalah yg telah ditulis oleh Paul [2][3], tapi sepertinya API nya sudah kadaluarsa (?). Setelah mencoba memodifikasi script diatas, Alhamdulillah, akhirnya bisa menarik data tiket Zendesk : </p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;"><div><span style="color: #9cdcfe;">credentials</span> = {</div><div> <span style="color: #ce9178;">'email'</span> : <span style="color: #ce9178;">'email'</span>,</div><div> <span style="color: #ce9178;">'token'</span> : <span style="color: #ce9178;">'token'</span>,</div><div> <span style="color: #ce9178;">'subdomain'</span>: <span style="color: #ce9178;">'subdomain'</span></div><div>}</div><br /><div><span style="color: #6a9955;"># Import the Zenpy Class</span></div><div><span style="color: #c586c0;">from</span> zenpy <span style="color: #c586c0;">import</span> Zenpy</div><div><span style="color: #c586c0;">from</span> <span style="color: #4ec9b0;">django</span>.<span style="color: #4ec9b0;">utils</span> <span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">timezone</span></div><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">requests</span></div><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">pandas</span> <span style="color: #c586c0;">as</span> <span style="color: #4ec9b0;">pd</span></div><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">datetime</span> <span style="color: #c586c0;">as</span> <span style="color: #4ec9b0;">dt</span></div><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">json</span></div><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">time</span></div><br /><div><span style="color: #9cdcfe;">zenpy_client</span> = Zenpy(**<span style="color: #9cdcfe;">credentials</span>)</div><br /><div><span style="color: #569cd6;">def</span> <span style="color: #dcdcaa;">export_data</span>(<span style="color: #9cdcfe;">start_date</span> = <span style="color: #4ec9b0;">dt</span>.<span style="color: #4ec9b0;">datetime</span>(<span style="color: #b5cea8;">2020</span>, <span style="color: #b5cea8;">1</span>, <span style="color: #b5cea8;">1</span>, <span style="color: #9cdcfe;">tzinfo</span>=<span style="color: #4ec9b0;">timezone</span>.<span style="color: #9cdcfe;">utc</span>)):</div><br /><div> <span style="color: #9cdcfe;">tickets_json</span> = <span style="color: #ce9178;">'['</span></div><div> <span style="color: #9cdcfe;">tickets_df</span> = <span style="color: #4ec9b0;">pd</span>.<span style="color: #4ec9b0;">DataFrame</span>()</div><div> <span style="color: #9cdcfe;">org_df</span> = <span style="color: #4ec9b0;">pd</span>.<span style="color: #4ec9b0;">DataFrame</span>()</div><div> <span style="color: #9cdcfe;">users_df</span> = <span style="color: #4ec9b0;">pd</span>.<span style="color: #4ec9b0;">DataFrame</span>()</div><div> </div><div> <span style="color: #9cdcfe;">df_tickets</span> = <span style="color: #4ec9b0;">pd</span>.<span style="color: #4ec9b0;">DataFrame</span>(<span style="color: #9cdcfe;">columns</span>=[<span style="color: #ce9178;">'id'</span>, <span style="color: #ce9178;">'requester_id'</span>, <span style="color: #ce9178;">'submitter_id'</span>, </div><div> <span style="color: #ce9178;">'created_at'</span>, <span style="color: #ce9178;">'subject'</span>, <span style="color: #ce9178;">'description'</span>, </div><div> <span style="color: #ce9178;">'tags'</span>, <span style="color: #ce9178;">'channel'</span>, <span style="color: #ce9178;">'status'</span>])</div><br /><div> <span style="color: #9cdcfe;">result_generator</span> = <span style="color: #9cdcfe;">zenpy_client</span>.tickets.incremental(<span style="color: #9cdcfe;">start_time</span>=<span style="color: #9cdcfe;">start_date</span>, <span style="color: #9cdcfe;">include</span>=[<span style="color: #ce9178;">'users'</span>,<span style="color: #ce9178;">'organizations'</span>,<span style="color: #ce9178;">'groups'</span>])</div><div> <span style="color: #c586c0;">for</span> <span style="color: #9cdcfe;">ticket</span> <span style="color: #c586c0;">in</span> <span style="color: #9cdcfe;">result_generator</span>:</div><div> <span style="color: #9cdcfe;">ticket</span> = <span style="color: #9cdcfe;">ticket</span>.to_dict()</div><div> <span style="color: #9cdcfe;">row</span> = {</div><div> <span style="color: #ce9178;">'id'</span>: <span style="color: #9cdcfe;">ticket</span>[<span style="color: #ce9178;">'id'</span>],</div><div> <span style="color: #ce9178;">'requester_id'</span>: <span style="color: #9cdcfe;">ticket</span>[<span style="color: #ce9178;">'requester_id'</span>],</div><div> <span style="color: #ce9178;">'submitter_id'</span>: <span style="color: #9cdcfe;">ticket</span>[<span style="color: #ce9178;">'submitter_id'</span>],</div><div> <span style="color: #ce9178;">'created_at'</span>: <span style="color: #9cdcfe;">ticket</span>[<span style="color: #ce9178;">'created_at'</span>],</div><div> <span style="color: #ce9178;">'subject'</span>: <span style="color: #9cdcfe;">ticket</span>[<span style="color: #ce9178;">'subject'</span>],</div><div> <span style="color: #ce9178;">'description'</span>: <span style="color: #9cdcfe;">ticket</span>[<span style="color: #ce9178;">'description'</span>], </div><div> <span style="color: #ce9178;">'tags'</span>: <span style="color: #9cdcfe;">ticket</span>[<span style="color: #ce9178;">'tags'</span>],</div><div> <span style="color: #ce9178;">'channel'</span>: <span style="color: #9cdcfe;">ticket</span>[<span style="color: #ce9178;">'via'</span>][<span style="color: #ce9178;">'channel'</span>],</div><div> <span style="color: #ce9178;">'status'</span>: <span style="color: #9cdcfe;">ticket</span>[<span style="color: #ce9178;">'status'</span>],</div><div> }</div><br /><div> <span style="color: #9cdcfe;">df_tickets</span> = <span style="color: #9cdcfe;">df_tickets</span>.<span style="color: #dcdcaa;">append</span>(<span style="color: #9cdcfe;">row</span>, <span style="color: #9cdcfe;">ignore_index</span>=<span style="color: #569cd6;">True</span>) </div><br /><div> <span style="color: #dcdcaa;">print</span>(<span style="color: #4ec9b0;">str</span>(<span style="color: #dcdcaa;">len</span>(<span style="color: #9cdcfe;">df_tickets</span>)) +<span style="color: #ce9178;">" Tickets Imported"</span>)</div><br /><br /><br /><div> <span style="color: #9cdcfe;">df_tickets</span>.<span style="color: #dcdcaa;">to_csv</span>(<span style="color: #ce9178;">'tickets_export_20200101_20210908.csv'</span>)</div><br /><br /><div><span style="color: #dcdcaa;">export_data</span>()</div><br /><br /><br /></div><p>Dari ekosistem Pentaho, ada yang menawarkan plugin untuk Zendesk [4], tapi ketika mencoba untuk dibuild, masih error : </p>
<pre>[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< org.pentaho.pdi:pdi-zendesk-plugin >-----------------
[INFO] Building PDI Zendesk Plugin 1.3.2-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.149 s
[INFO] Finished at: 2021-09-08T20:07:24+07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin org.pentaho.maven.plugins:license-helper-maven-plugin:1.26 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.pentaho.maven.plugins:license-helper-maven-plugin:jar:1.26: Could not transfer artifact org.pentaho.maven.plugins:license-helper-maven-plugin:pom:1.26 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [pentaho-public (http://nexus.pentaho.org/content/groups/omni/, default, releases+snapshots)] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException</pre><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>ZenDesk Export, <a href="https://github.com/timpalac/zendeskexport" target="_blank">https://github.com/timpalac/zendeskexport</a></li><li>Zenpy, <a href="https://github.com/facetoe/zenpy">https://github.com/facetoe/zenpy</a></li><li>How to Export all Tickets from Zendesk using the API and Python, <a href="https://www.pauldesalvo.com/how-to-export-all-tickets-from-zendesk-using-the-api-and-python/" target="_blank">https://www.pauldesalvo.com/how-to-export-all-tickets-from-zendesk-using-the-api-and-python/</a></li><li>Zendesk Plugin for PDI, <a href="https://github.com/matthewtckr/pdi-zendesk-plugin" target="_blank">https://github.com/matthewtckr/pdi-zendesk-plugin</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-80130523583102665302021-07-12T21:16:00.014-07:002021-07-13T05:10:09.188-07:00Goole Data Studio<h3 style="text-align: left;">Choropleth Map</h3><div><br /></div>Beberapa Provinsi yg belum masuk ke GeoChart : Papua Barat dan Maluku, tapi jika menggunakan code provinsi dari ISO_3166-2:ID, bisa, seperti dijelaskan di [4]<div><br /></div><h3 style="text-align: left;">Referensi</h3><div><ol style="text-align: left;"><li>Choropleth Map, <a href="https://www.blogger.com/blog/post/edit/6285387077581842610/8013052358310266530" target="_blank">https://www.blogger.com/blog/post/edit/6285387077581842610/8013052358310266530</a></li><li>Tutorial Google Data Studio Geo Chart Indonesia, <a href="https://www.youtube.com/watch?v=LZE_SJBjTXI" target="_blank">https://www.youtube.com/watch?v=LZE_SJBjTXI</a></li><li>ISO 3166-2:ID, <a href="https://en.wikipedia.org/wiki/ISO_3166-2:ID" target="_blank">https://en.wikipedia.org/wiki/ISO_3166-2:ID</a></li><li>GeoChart - Update for Provinces of Indonesia #2631, <a href="https://github.com/google/google-visualization-issues/issues/2631" target="_blank">https://github.com/google/google-visualization-issues/issues/2631</a></li></ol><p> </p></div>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-85987375395857630592021-07-06T02:46:00.008-07:002023-05-09T00:35:17.287-07:00Belajar Bareng Docker<p> ...</p><h3 style="text-align: left;">Referensi</h3><ol style="text-align: left;"><li>Docker for Beginner, <a href="https://docker-curriculum.com/" target="_blank">https://docker-curriculum.com/</a> <br /></li><li>When to pull from Docker repo and when from Git repo and then build?, <a href="https://stackoverflow.com/questions/49071356/when-to-pull-from-docker-repo-and-when-from-git-repo-and-then-build" target="_blank">https://stackoverflow.com/questions/49071356/when-to-pull-from-docker-repo-and-when-from-git-repo-and-then-build</a></li><li>Complete Docker Course - From BEGINNER to PRO! (Learn Containers), <a href="https://www.youtube.com/watch?v=RqTEHSBrYFw" target="_blank">https://www.youtube.com/watch?v=RqTEHSBrYFw</a></li></ol>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-18405038545199156512021-04-29T20:32:00.015-07:002021-07-11T18:13:13.194-07:00Social Network Analysis<p>Agar dapat dijalan dibackground dan tetap berjalan meskipun kita exit dari ssh, dapat menggunakan nohup : </p><p></p><blockquote>scrapy crawl TweetScraper -a query=TKA CHINA since:2020-05-10 until:2020-05-16</blockquote><p>Data hasil scraping disimpan ke database [5], hanya untuk memprosesnya, untuk mempermudah, kita dapat menggunakan Pentaho Data Integration [6]. </p><p>Jika ada masalah ketika memproses data ke database dengan Pentaho, bisa membaca [7][8]. </p><p>Untuk analisa dan visualisasi dengan Gephi dapat membaca [10], hanya saja, dataset yg disebutkan disini, sudah tidak dapat diakses lagi. </p><p>Jika ingin menggunakan Gephi - Twitter Streaming Importer dapat menonton [11].</p><p></p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>TweetScraper, <a href="https://github.com/jonbakerfish/TweetScraper" target="_blank">https://github.com/jonbakerfish/TweetScraper</a></li><li>Python Tutorial: Understanding Twitter JSON, <a href="https://www.youtube.com/watch?v=qrruEhHqwqY" target="_blank">https://www.youtube.com/watch?v=qrruEhHqwqY</a></li><li>Text Mining, Networks and Visualization: Plebiscito Tweets, <a href="https://juanitorduz.github.io/text-mining-networks-and-visualization-plebiscito-tweets/" target="_blank">https://juanitorduz.github.io/text-mining-networks-and-visualization-plebiscito-tweets/</a></li><li>Building a network graph from Twitter data, <a href="https://towardsdatascience.com/building-a-network-graph-from-twitter-data-a5e7b8672e3" target="_blank">https://towardsdatascience.com/building-a-network-graph-from-twitter-data-a5e7b8672e3</a></li><li>Building Twitter Conversation Graph, <a href="https://medium.com/analytics-vidhya/building-twitter-conversation-graph-5830bee5a7eb" target="_blank">https://medium.com/analytics-vidhya/building-twitter-conversation-graph-5830bee5a7eb</a></li><li>JSON-Input, <a href="https://pentaho.home.blog/2019/04/21/json-input/" target="_blank">https://pentaho.home.blog/2019/04/21/json-input/</a></li><li>Incorrect string value: '\xF0\x9F\x8E\xB6\xF0\x9F…' MySQL , <a href="https://stackoverflow.com/questions/20411440/incorrect-string-value-xf0-x9f-x8e-xb6-xf0-x9f-mysql" target="_blank">https://stackoverflow.com/questions/20411440/incorrect-string-value-xf0-x9f-x8e-xb6-xf0-x9f-mysql</a></li><li>Emoji characters can't be written to Mysql database, <a href="https://www.programmersought.com/article/9501164118/" target="_blank">https://www.programmersought.com/article/9501164118/</a></li><li>Social Network Analysis and Visualization in Gephi, <a href="https://www.uu.nl/sites/default/files/clue_training_gephi.pdf" target="_blank">https://www.uu.nl/sites/default/files/clue_training_gephi.pdf</a></li><li>Analyzing and visualizing your Twitter networks in Gephi , <a href="https://www.uu.nl/sites/default/files/analyzing_and_visualizing_your_twitter_networks_in_gephi.pdf" target="_blank">https://www.uu.nl/sites/default/files/analyzing_and_visualizing_your_twitter_networks_in_gephi.pdf</a></li><li>Lab 11 Collect and Visualize #Twitter Social Network in #Gephi, h<a href="ttps://www.youtube.com/watch?v=yYd8nSQRpis">ttps://www.youtube.com/watch?v=yYd8nSQRpis</a></li><li>How to work with bigger datasets in Gephi, <a href="https://www.databulle.com/blog/random/gephi-ram.html" target="_blank">https://www.databulle.com/blog/random/gephi-ram.html</a></li><li>Social Feed Manager, Helping researchers and archivists build social media collections, <a href="https://gwu-libraries.github.io/sfm-ui/" target="_blank">https://gwu-libraries.github.io/sfm-ui/</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-71360214490828419492021-02-02T06:34:00.006-08:002021-02-03T16:54:35.542-08:00Stress Test dengan Locust<p> <b> Pertanyaan :</b></p><p></p><ol><li>Bagaimana cara melakukan stress test untuk <a href="http://software.openthinklabs.com/2020/05/tao-assesment-platform.html" target="_blank">TAO</a> ? Login, kemudian klik delivery dan mengerjakan soal pertama dan seterusnya sampai end test. </li></ol><div>Real Browser support for Locust.io tidak mendukung Locust versi terbaru. Locust lebih untuk melakukan load test terhadap API end point. Mungkin bisa juga, mimicking real browser, ketika mengakses halaman, Locut mendownload semua asset nya, tapi tentu, tidak akan se-real, ketika menggunakan load test dgn real browser seperti WDS selenium. </div><h3 style="text-align: left;">Referensi</h3><div><ol style="text-align: left;"><li>Locust, An open source load testing tool. <a href="https://locust.io/" target="_blank">https://locust.io/</a></li><li>Real Browser support for Locust.io load testing, <a href="https://github.com/nickboucart/realbrowserlocusts" target="_blank">https://github.com/nickboucart/realbrowserlocusts</a></li><li>extension-tao-oauth, Extension to easily configure an OAuth client for OAT platform., <a href="https://github.com/OpenThinkLabs/extension-tao-oauth" target="_blank">https://github.com/OpenThinkLabs/extension-tao-oauth</a></li><li>Say Goodbye To Apache JMeter Drupal Load Testing with Locust.io,<a href="https://www.tag1consulting.com/blog/drupal-loadtest-locust" target="_blank"> https://www.tag1consulting.com/blog/drupal-loadtest-locust</a></li></ol></div>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-62251679964504685942021-01-31T19:21:00.008-08:002021-02-02T06:39:06.248-08:00Stress Test dengan JMeter<p><b> Pertanyaan :</b></p><p></p><ol style="text-align: left;"><li>Bagaimana cara melakukan stress test untuk <a href="http://software.openthinklabs.com/2020/05/tao-assesment-platform.html" target="_blank">TAO</a> ? Login, kemudian klik delivery dan mengerjakan soal pertama dan seterusnya sampai end test. </li></ol><h3 style="text-align: left;">JMeter dan Selenium Webdriver </h3><div>Paduan JMeter dan Selenium Webdriver, setelah dicoba, sepertinya hanya cocok untuk keperluan functional testing, tidak cocok untuk load testing, karena 1 virtual user itu menggunakan 1 CPU, jadi jika ingin mensimulasikan, misal, 1000 concurrent user, agak berat [6]. </div><div><br /></div><div>jmx, untuk TAO, dapat didownload disini : <a href="https://github.com/OpenThinkLabs/package-cbt-openthinklabs/blob/master/loadTesting/JMeter/jmx/jmeter-webdriver.jmx" target="_blank">https://github.com/OpenThinkLabs/package-cbt-openthinklabs/blob/master/loadTesting/JMeter/jmx/jmeter-webdriver.jmx</a></div><div><br /></div><div>Solusi alternatif yg ditawarkan, adalah menggunakan <a href="http://software.openthinklabs.com/2021/02/stress-test-dengan-locust.html" target="_blank">locust.io</a>, tapi karena kita perlu testing, yang mendukung javascript, apakah limitasi diatas masih berlaku ?</div><h3 style="text-align: left;">Referensi</h3><div><ol style="text-align: left;"><li>How to monitor End User Response Time of your Web Applications using JMeter + Webdriver, Containers, and Azure Pipelines. <a href="https://medium.com/microsoftazure/how-to-monitor-end-user-response-time-of-your-web-applications-using-jmeter-webdriver-4a609cbb4b57" target="_blank">https://medium.com/microsoftazure/how-to-monitor-end-user-response-time-of-your-web-applications-using-jmeter-webdriver-4a609cbb4b57</a></li><li>Web Driver Sampler, <a href="https://jmeter-plugins.org/wiki/WebDriverSampler" target="_blank">https://jmeter-plugins.org/wiki/WebDriverSampler</a>/</li><li>How to Fix Selenium’s “Element Is Not Clickable at Point”, <a href="https://www.testim.io/blog/selenium-element-is-not-clickable-at-point/" target="_blank">https://www.testim.io/blog/selenium-element-is-not-clickable-at-point/</a></li><li>Leverage your Load Testing using JMeter and Selenium WebDriver,<a href="https://www.ubik-ingenierie.com/blog/leverage-your-load-testing-using-jmeter-and-selenium-webdriver/" target="_blank"> https://www.ubik-ingenierie.com/blog/leverage-your-load-testing-using-jmeter-and-selenium-webdriver/</a></li><li>Selenium API Docs, <a href="https://www.selenium.dev/selenium/docs/api/java/index.html?overview-summary.html">https://www.selenium.dev/selenium/docs/api/java/index.html?overview-summary.html</a></li><li>How To Put Multiple User Loads Like ( 100 , 200 Users ) on a Premade Selenium Script In Python Webdriver In Odoo?, <a href="https://stackoverflow.com/questions/32437816/how-to-put-multiple-user-loads-like-100-200-users-on-a-premade-selenium-sc" target="_blank">https://stackoverflow.com/questions/32437816/how-to-put-multiple-user-loads-like-100-200-users-on-a-premade-selenium-sc</a></li></ol></div><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-81492953042971401802021-01-21T19:57:00.002-08:002021-01-21T19:57:21.426-08:00Latex to MathML Menggunakan MathJax-Node<p> ..</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>mathjax-node, <a href="https://github.com/mathjax/MathJax-node" target="_blank">https://github.com/mathjax/MathJax-node</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com1tag:blogger.com,1999:blog-6285387077581842610.post-68641172645279885272021-01-09T15:21:00.009-08:002021-01-09T15:22:16.302-08:00Hugo : Static The world’s fastest Static Site Generator Powered By Go<p> ..</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>Hugo, <a href="https://gohugo.io/" target="_blank">https://gohugo.io/</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-57819025701319156722021-01-09T15:04:00.005-08:002021-01-09T15:04:17.535-08:00Zulip : Chat for distributed teams<p> ...</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>Zulip, <a href="https://zulip.com/" target="_blank">https://zulip.com/</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-69057444360198747832021-01-03T23:07:00.004-08:002021-01-03T23:07:36.115-08:00Geolocation Attendance System<p> ...</p><p>Referensi</p><p></p><ol style="text-align: left;"><li>Attendance system using Geo-fencing technology, <a href="https://github.com/MadhavPruthi/HR-Management-and-Geo-Attendance-System" target="_blank">https://github.com/MadhavPruthi/HR-Management-and-Geo-Attendance-System</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-66319990287820540722020-11-02T19:30:00.004-08:002020-11-02T19:30:58.933-08:00Belajar Bareng API Platform : REST and GraphQL framework to build modern API-driven projects<p> ....</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>API Platform, REST and GraphQL framework to build modern API-driven projects, <a href="https://api-platform.com/" target="_blank">https://api-platform.com/</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0tag:blogger.com,1999:blog-6285387077581842610.post-62337984959092489512020-10-03T02:20:00.010-07:002020-10-03T02:23:37.837-07:00Cube.js : Open Source Analytical API Platform<p> ...</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>Cube.js, <a href="https://cube.dev/" target="_blank">https://cube.dev/</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com1tag:blogger.com,1999:blog-6285387077581842610.post-82597816631437729352020-09-06T09:38:00.004-07:002020-09-06T09:38:22.900-07:00Mobile App Design with Figma<p> ....</p><h3 style="text-align: left;">Referensi</h3><p></p><ol style="text-align: left;"><li>SPEED ART UI DESIGN MOBILE APP WITH FIGMA - HEALTH APP FOR HEMOPHILIA, <a href="https://www.youtube.com/watch?v=RAzlozsmi7w">https://www.youtube.com/watch?v=RAzlozsmi7w</a></li></ol><p></p>Wildan Maulanahttp://www.blogger.com/profile/03271713878662854306noreply@blogger.com0