• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

GhazaliTajuddin.com

Another Kuantan Blogger

  • Home
  • Blog
    • Kuantan
    • Foods
    • Technology
    • Health
  • Stock Photography
    • Senarai Microstock Agency
    • Membuka akaun contributor Shutterstock.com
    • Tips untuk 10 keping gambar pertama Shutterstock.com
    • Mengapa Shutterstock.com reject gambar / submission
    • Model Release
    • Bagaimana withdraw earning daripada Fotolia
    • Bagaimana untuk mengisi keyword kepada imej dengan menggunakan Adobe Photoshop

Kuantan Web Developer

Hari Last Promosi Back To School Udemy

August 28, 2018 by ghazalitajuddin 2 Comments

Ada tak dikalangan korang yang guna servis Udemy?

Udemy ni menyediakan perkhidmatan video kursus yang kebanyakannya high demand. Ada pelbagai video high quality yang disediakan yang boleh dibeli secara online. Kursus-kursus yang ditawarkan seriously memang rare lah. Ada kursus yang memang susah nak cari trainer di Malaysia ni tapi ada di Udemy. Untuk mereka2 yang ada background IT ni memang terbaik kalau nak cari kursus2 yang rare yang susah nak dapat kat tempat kita ni. Tapi bukan takat IT je, engineering, business, psikologi, nlp, music, macam2 lagi lah. Sign up dan ulang tengoklah sampai nak muntah hahaha. Memang berbaloi. Sekali bayar untuk course tu selamanya milik anda… best tak? Tapi harga pun boleh tahan lah. 

Cuma Udemy ni selalu buat promosi. Kalau korang rajin buka memang kerap diorang buat promosi. Kadang harga asal Rm700 per course, tapi diskaun jadi RM50, hah kau, tak ke gila buang harga tu. 

Jadi ni aku nak bagitau la kalau sempat. Udemy tgh ada promosi RM39.90! USD9.90 oit! 

Nak bayar pakai apa? Paypal boleh, kredit or debit card pun boleh!!!

So cepat2 la sign up. Sehari je tinggal! 

 

Filed Under: General, Kuantan Web Developer, Technology Tagged With: Back To School, high demand video ccourse, online, promotion, udemy

Sayangilah dan Lindungi Data Anda

August 10, 2018 by ghazalitajuddin Leave a Comment

Korang ada install tak antivirus dalam komputer  or laptop korang? Jangan buat main-main bang. Kalau tak kena takpe, kalau dah kena boleh bawak kemurungan berbulan-bulan.

Baru-baru ni aku dapat job install antivirus sebuah jabatan kerajaan. Total lebih kurang dalam 30 biji PC. Semua dah kena virus baru panggil nak install anti virus. Masalah bila kalau ada file yang dah infected, wassalam aje la silap gaya. 

Data Adalah Aset

Tuan-puan, data adalah aset korang, data adalah aset syarikat. Bagi pengguna windows, silalah ambil langkah berhati-hati dengan instal antivirus. Tak payah pikir lama-lama, memang sistem pengoperasian windows senang terdedah kepada virus. Harga Kapersky Antivirus untuk sebuah PC lebih kurang RM70 sahaja untuk setahun. Jauh lagi murah berbanding harga untuk perkhidmatan recovery data yang rosak, atau hilang yang boleh mencecah ratusan malahan ribuan ringgit.

Digital Risk

Kerja sambil selfie…

Lawyer, cikgu, dan phd student antara mereka yang pernah contact aku untuk bantuan recovery data yang disebabkan virus atau corrupted disk. Diorg maklumkan kos untuk recover data kat luar makan ribuan ringgit. Mahal satu hal, high risk pun ye. Especially kalau jenis hard disk corupt. Sesiapa sahaja pengguna data digital, korang ada risiko ini. So jangan percaya pada hardware anda, mereka boleh gagal.

Digital Era

So hati-hati dengan zaman digital ni. Data boleh rosak dan hilang. Kena selalu buat preventive maintenance pc korang ye. Backup pun kena selalu buat. Nanti ada masa aku share camne aku buat untuk backup data-data penting.

Jangan lupa install antivirus ye bang. Heh.

 

Filed Under: Kuantan Web Developer, Technology Tagged With: antivirus, corrupt, data recovery, disinfected, hard disk, infected, kaspersky, maintenance, preventive

Berapa kos membangunkan sebuah website?

August 6, 2018 by ghazalitajuddin Leave a Comment

Wordpress
Open source = Free ???

Sebenarnya persoalan tentang kos pembangunan website ni memang tiada penghujung. Sentiasa ada perdebatan sana sini isu harga pembangunan sebuah website dikalangan pembangun website. Kebanyakan pelanggan menganggap kos pembangunan website terlalu mahal tidak setimpal dengan kerja yang dilakukan. Walhal kerja pembangunan website ini kalau dilakukan ikut SOP yang betul, tersangatlah rumit.

Website Tidak Releven?

Tetapi isu sebenar pada aku bukan tentang harga, isu sebenar adalah ramai usahawan online menganggap website tidak releven masa sekarang. Bila mereka menganggap website tidak releven, sebab itu mereka merasakan harga membangunkan sebuah website adalah mahal, betul tak? Mereka lebih rasa Facebook dan Instagram cukup untuk membantu perniagaan mereka. Begitulah setakat pengalaman aku bersembang dengan usahawan2 yang berdekatan.

[Read more…] about Berapa kos membangunkan sebuah website?

Filed Under: General, Kuantan, Kuantan Web Developer, Technology Tagged With: buat website, digital marketing, harga website, kos buat website, kuantan web developer, website bajet

Ionic Geolocation

March 9, 2018 by ghazalitajuddin

Command prompt check npm module version

npm -v

Command prompt check ionic version

ionic -v

Command prompt  npm update global

sudo npm update -g

Command prompt date ionic cli global

npm update -g ionic

Command prompt create new project

ionic start geomap blank

Command prompt install geolocation plugin

ionic cordova plugin add cordova-plugin-geolocation --variable GEOLOCATION_USAGE_DESCRIPTION="To locate you"
npm install --save @ionic-native/geolocation

Home.html

<ion-header>
  <ion-navbar>
    <ion-title>
      Geolocation Test 3
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
 <p>Latitude: {{ lat }}</p>
 <p>Longitude: {{ lng }}</p>
</ion-content>

Home.ts

import { Component } from '@angular/core';
import { Geolocation } from '@ionic-native/geolocation';
import { NavController, Platform } from 'ionic-angular';


@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  lat: any;
  lng: any;

  constructor(public platform: Platform, public navCtrl: NavController, public geo: Geolocation) {

    platform.ready().then(() => {
      this.initMap();
    });
    

  }

  ionViewDidLoad(){
    
    // this.geo.getCurrentPosition().then( pos => {
    //   this.lat = pos.coords.latitude;
    //   this.lng = pos.coords.longitude;
    // }).catch( err => console.log(err) );  
   
  
  }

  initMap(){

    this.geo.getCurrentPosition({ maximumAge: 3000, timeout: 5000, enableHighAccuracy: true }).then( pos => {
      this.lat = pos.coords.latitude;
      this.lng = pos.coords.longitude;
    }).catch( err => console.log(err) );

    let watch = this.geo.watchPosition({
      enableHighAccuracy: true,
      timeout: 7000,
      maximumAge: 0
    });
    watch.subscribe((data) => {
    //this.deleteMarkers();
    //let updatelocation = new google.maps.LatLng(data.coords.latitude,data.coords.longitude);
    //let image = 'assets/imgs/blue-bike.png';
    //this.addMarker(updatelocation,image);
    //this.setMapOnAll(this.map);

    this.lat = data.coords.latitude;
      this.lng = data.coords.longitude;

  });
    
  }

}

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { Geolocation } from '@ionic-native/geolocation';
import { StatusBar } from '@ionic-native/status-bar';


import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    HomePage
  ],
  providers: [
    StatusBar,
    SplashScreen,
    Geolocation,
    {provide: ErrorHandler, useClass: IonicErrorHandler}
  ]
})
export class AppModule {}

config.xml

<preference name="FadeSplashScreenDuration" value="300" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<config-file overwrite="true" parent="NSLocationWhenInUseUsageDescription" platform="ios" target="*-Info.plist">
  <string>Allow the app to know your location</string>
</config-file>

Run apps on device

ionic cordova run android

Reference

https://ionicframework.com/docs/v1/guide/testing.html

https://ionicframework.com/docs/native/geolocation/

https://github.com/apache/cordova-plugin-geolocation

https://www.npmjs.com/package/cordova-plugin-geolocation

https://techionichybride.blogspot.my/2017/09/how-to-reduce-white-screen-after-splash.html

Xcode 7.3.1 with iOS 10 support
 

import { Component, ViewChild, ElementRef} from '@angular/core';
import { NavController, Platform } from 'ionic-angular';
import { Geolocation } from '@ionic-native/geolocation'

 declare var google: any;

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
   @ViewChild('map') mapElement: ElementRef;
   map: any;

  lat: any;
  lng: any;

  markers = [];
  marker : any;

  constructor(public navCtrl: NavController, public geo: Geolocation, public platform: Platform) {
    platform.ready().then(()=>{
      this.initMap();
    });
  }

  initMap(){

    //get the latest object position 

    this.geo.getCurrentPosition(
      { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true }
    ).then( pos => {
      this.lat = pos.coords.latitude;
      this.lng = pos.coords.longitude;

     let mylocation = new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);
    
      this.map = new google.maps.Map(this.mapElement.nativeElement, {
      zoom: 21,
      center: mylocation });

    } 
    ).catch( err => {
      console.log( err );
    });

    //watch if object move

    let watch = this.geo.watchPosition({
      enableHighAccuracy: true,
      timeout: 5000,
      maximumAge: 0
    });

    watch.subscribe((data) => {

      this.lat = data.coords.latitude;
      this.lng = data.coords.longitude;

      
      this.deleteMarkers();
      //this.marker.setMap(null);

      
      let updatelocation = new google.maps.LatLng(data.coords.latitude,data.coords.longitude);
      let image = 'http://maps.google.com/mapfiles/ms/icons/truck.png';
      
      //this.map.setCenter({"lat": this.lat, "lng": this.lng});
    
      this.addMarker(updatelocation,image);
      this.setMapOnAll(this.map);

   
      

    });

  }

  addMarker(location, image) {
    let marker = new google.maps.Marker({
      position: location,
      map: this.map,
      icon: image
    });
    //this.map.setCenter(location);
    this.markers.push(marker);
    
  }
  
  setMapOnAll(map) {
    for (var i = 0; i < this.markers.length; i++) {
      this.markers[i].setMap(map);
    }
  }
  
  clearMarkers() {
    this.setMapOnAll(null);
  }
  
  deleteMarkers() {
    this.clearMarkers();
    this.markers = [];
  }

  

}//close class

 

Filed Under: Kuantan Web Developer, Technology Tagged With: android, apps, developer, ios

Memilih Virtual Private Server (VPS)

July 23, 2017 by ghazalitajuddin 1 Comment

Salam.

Hari ni aku nak share secara umum pasal Virtual Private Server atau VPS, atau ada sesetengah org panggil Cloud Hosting. Sebab nak kata aku pakar sangat pasal cloud ni tak ler, sekadar nak kongsi basic info kenapa aku pilih VPS ni berbanding lain.

Dulu biasa kita guna Shared Hosting, atau Dedicated Server. Sekarang ada Cloud Hosting pulak.

So baru-baru ni ada keperluan untuk menggunakan cloud hosting ni, so terpaksa la aku study sikit pada vps ni.

Ada banyak option sebenarnya. Bergantung kepada keperluan dan ketebalan poket kita. So yang aku nak introduce ni adalah yang bajet biasa2 punya. Kebanyakan orang akan recommed 2 host ni, sama ada LINODE atau DIGITAL OCEAN. Nak lagi power Amazon punya. Not in our list today. Mahal hahaha.

Kebetulan aku sempat explore Digital Ocean sebelum ini, package paling murah USD 5/month, manakala LINODE pun sama USD 5/month.

Comparison antara DO & LINODE

DIGITAL OCEAN

512 MB RAM
1 CPU Core
20 GB SSD Storage
1 TB Transfer
Unknown  Gbps Network In
1000 Mbps Network Out
USD5/Month Price (Pakej Lain)

LINODE 

1 GB RAM
1 CPU Core
20 GB SSD Storage
1 TB Transfer
40 Gbps Network In
1000 Mbps Network Out
USD5/Month Price (Pakej Lain)

Kenapa Linode & DO?

  • Murah – Dua-dua sama bagus dan murah base on applikasi kecil macam yang aku buat la. Jika applikasi yg lagi besar mungkin lain cerita la kot.
  • Flexible – Jika sampai satu masa nanti ada keperluan untuk upgrade amat mudah. Boleh add servis atau apa2 yang ko suka. (Tp aku mula2 tak tau nak install apa! Nak mula kat mana huhuhu)
  • Support – Kedua-dua ada community support yang boleh membantu.
  • Documentation – Kedua-dua ada documentation masing-masing. 

SEDIKIT MENCABAR…

Haaa. Walau pun guna LINODE, DIGITAL OCEAN atau mana-mana cloud host ni best, tetapi untuk pengetahuan ko, ko bayar untuk sebuah host kosong dengan IP je! Yer, tiada OS di dalamnya. Tak macam shared hosting yang lain yang dah ready. Sebab tu kena install sendiri, melalui terminal console! Command line! Dari install operating system, add domain, sehinggalah running service apache, sql etc. Kira macam ko sertup server lah secara remote! Huhuhu. So kalau tak biasa macam aku mula2 haritu memang menangis la google documentation.

SOLUSI

Namun ada cara mudah iaitu dengan menggunakan bantuan RUNCLOUD.IO!

RUNCLOUD.IO ini adalah satu applikasi yang membantu untuk install segala item yang kita perlukan untuk server kita melalui interface yang disediakan. So kita just key in basic information diperlukan, mereka akan tolong installkan semua.

Selain itu, support RUNCLOUD.IO pun superb. Memang depa ada live chat yang memudahkan lagi kita nak bertanya secara terus. Bukan sebarang orang yang jawab live chat tu, bukan salesman, tapi technical terus. Memang terbaik RUNCLOUD.IO!

So itulah review newb aku setakat ini. Ada sebarang soalan bagitau ajelah. Apa2 hal selamat mencuba ya!

Filed Under: General, Kuantan Web Developer, Technology Tagged With: amazon, aws, bagaimana memilih vps, cloud, cloud hosting, cloud server, digital ocean, do, linode, runcloud, runcloud.io, Virtual Private Server

Opencart Custom Page

July 4, 2017 by ghazalitajuddin Leave a Comment

Baru-baru ni ada projek memerlukan penggunaan penggunaan Opencart Custom Page.

Maka, terpaksala menggodek bagaimana nak buat custom page.

Kebanyakan tutorial custom page menggunakan Opencart 1.5, aku guna Opencart 2.3.0.3 maka disebabkan itu aku pun edit code org lain dan reshare tutorial ini untuk kegunaan sendiri kemudian hari.

Agak bernasib baik sebenarnya, rupanya Opencart ni pun menggunakan konsep MVC (Model-View-Controller). Sama je macam Laravel. Maka kerja pun jadi mudahlah. 

Controller

/catalog/controller/custompage/mycustompage.php

<?php 
class ControllerCustompageMycustompage extends Controller{
  public function index(){

    // set title of the page
    $this->document->setTitle("My Custom Page");
     
    	$data['column_left'] = $this->load->controller('common/column_left');
		$data['column_right'] = $this->load->controller('common/column_right');
		$data['content_top'] = $this->load->controller('common/content_top');
		$data['content_bottom'] = $this->load->controller('common/content_bottom');
		$data['footer'] = $this->load->controller('common/footer');
		$data['header'] = $this->load->controller('common/header');
     
    // set data to the variable
    $data['my_custom_text'] = "This is my custom page.";



 	// set view
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/custompage/mycustompage.tpl')) {
			$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/custompage/mycustompage.tpl', $data));
		} else {
			$this->response->setOutput($this->load->view('custompage/mycustompage.tpl', $data));
		}
  }
}
?>

View

/catalog/view/theme/default/template/custompage/mycustompage.tpl

<?php
    echo $header;
    //echo $column_left;
     //echo $column_right; 
    ?>



    <div class="container">
     
     <div class="row">
   
        <?php

            // echo $header;
            echo $content_top;
           
           // echo $column_left; 


           echo $my_custom_text;
           
           //echo $column_right;
           echo $content_bottom;
          //echo $footer;
        ?>


    </div>
    </div>
<?php 

echo $footer; 

?>

 

Filed Under: Kuantan Web Developer, Technology Tagged With: custom page, model-view-controller, MVC, opencart, opencart custompage

  • « Go to Previous Page
  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Page 5
  • Go to Next Page »

Primary Sidebar

“Solat. Sabar. Syukur. Senyum. Sedekah.”

For Collaboration, Events & Review, kindly contact me at +6016[-]9212092 or click Whatsapp button on this page.

Sponsor

Recent Posts

BadMethodCallException Method Illuminate\Database\Eloquent\Collection::roles does not exist.

User Roles And Permissions Without Package Laravel 10

Laravel Many To Many Relationship

Makan malam bersama keluarga di Awangan Palace

Sarapan pagi di Warung Gulai Kawah

Recent Comments

  • helmi on Personal Tips Berhenti Merokok
  • ghazalitajuddin on Personal Tips Berhenti Merokok
  • helmi on Personal Tips Berhenti Merokok
  • ghazalitajuddin on Nasi Lemak Kukus Restoran Zaman. Otai masih berbisa.
  • ghazalitajuddin on Air tangki radiator Proton Exora cepat kering? Cuba tukar penutup radiator!
  • Mal on Nasi Lemak Kukus Restoran Zaman. Otai masih berbisa.
  • Firdaus on Air tangki radiator Proton Exora cepat kering? Cuba tukar penutup radiator!

My Link

  • Takaful Insurance Web

JJCM

Roti Canai Pulau Gerai Mat Zam-Zam

Laksam Terbaik Di Kuantan, Sanggup Menunggu Sejam

Lain macam Nasi Kerabu Mekla ni

Singgah beli keropok di Keropok Warisan Losong Kuala Terengganu

Patin Tempoyak Frozen Resepi Temerloh

Tags

bebas rokok berhenti merokok breakfast Controller Framework Gezzeg Photography & Design health jalan-jalan cari makan jalan-jalan cari makan kuantan jjcm jjcm kuantan Jurufoto Kuantan Kuantan Kuantan Photographer kuantan programmer kuantan web developer kuantan webmaster laravel merokok merbahayakan kesihatan model MVC nikmat rokok OOP Pahang Pahangtourism pahang tourism Photo Manipulation PHP rajalanun retired smoking revisit pahang 2018 shutterstock stop smoking stop smoking tips stop smoking withdrawal symptom tips tips berhenti merokok View visit malaysia 2020 visit pahang visitpahang white wordpress yii Yii Framework

Recent Posts

  • BadMethodCallException Method Illuminate\Database\Eloquent\Collection::roles does not exist.
  • User Roles And Permissions Without Package Laravel 10
  • Laravel Many To Many Relationship
  • Makan malam bersama keluarga di Awangan Palace
  • Sarapan pagi di Warung Gulai Kawah

Copyright © 2025 — Ghazali Tajuddin • All rights reserved. •