A basic installation of Node.js, Express, and Socket.io served over https://
using a Letsencrypt SSL certificate.
- Spin up DO droplet
- Set up DNS
- Access the server via SSH
A basic installation of Node.js, Express, and Socket.io served over https://
using a Letsencrypt SSL certificate.
// MIT License | |
// | |
// Copyright (c) 2019 Simon Lightfoot | |
// | |
// Permission is hereby granted, free of charge, to any person obtaining a copy | |
// of this software and associated documentation files (the "Software"), to deal | |
// in the Software without restriction, including without limitation the rights | |
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
// copies of the Software, and to permit persons to whom the Software is | |
// furnished to do so, subject to the following conditions: |
# Optimized MySQL configuration for cPanel servers by Kani Baspinar - Updated June 2016 | |
# | |
# The settings provided below are a starting point for a 24GB RAM server with 8 CPU cores. | |
# If you have less or more resources available you MUST adjust accordingly to save CPU, RAM and disk I/O usage. | |
# To fine tune these settings for your system, use MySQL DB diagnostics tools like: | |
# Test your configuration ; https://launchpad.net/mysql-tuning-primer | |
# or | |
# http://blog.mysqltuner.com/download/ | |
# Note that if there is NO comment beside a setting, then you don't need to adjust it. | |
# |
#!/bin/sh | |
# vim: ts=8 | |
######################################################################### | |
# # | |
# MySQL performance tuning primer script # | |
# Writen by: Matthew Montgomery # | |
# Report bugs to: https://bugs.launchpad.net/mysql-tuning-primer # | |
# Inspired by: MySQLARd (http://gert.sos.be/demo/mysqlar/) # | |
# Version: 1.6-r1 Released: 2011-08-06 # |
class Point { | |
final int x,y; | |
Point(this.x, this.y); | |
@override | |
String toString() { | |
return "(${this.x}, ${this.y})"; | |
} | |
} |
<?php | |
Collection::macro('recursive', function () { | |
return $this->map(function ($value) { | |
if (is_array($value) || is_object($value)) { | |
return collect($value)->recursive(); | |
} | |
return $value; | |
}); |
<?php | |
error_reporting(E_ALL); | |
ini_set('display_errors', '1'); | |
/* Attempt MySQL server connection. Assuming you are running MySQL | |
server with default setting (user 'root' with no password) */ | |
$link = mysqli_connect("192.168.1.7", "said", "saidsaid", "unirow"); | |
// Check connection |
import 'dart:ui'; | |
import 'package:flutter/material.dart'; | |
void main() { | |
runApp(const MyApp()); | |
} | |
List<Offset> getBresenhamCirclePoints( | |
Offset center, |
INSERT INTO `templates` (`id`, `nama_template`, `subject_email`, `template_email`, `template_wa`, `list_variabel`, `created_at`, `updated_at`) VALUES (NULL, 'otp_reschedule_order', 'Otp Cancel Order', '<p><br></p>', '<p><span style=\"color: rgb(75, 86, 117);\">Gunakan kode OTP {{$OTP}} untuk reschedule order {{$NO_ORDER}}.</span></p><p><br></p><p><br></p><p><span style=\"color: rgb(75, 86, 117);\"><span class=\"ql-cursor\"></span>Testing template notifikasi ya.</span></p>', '[\"{{OTP}}\",\"{{NO_ORDER}}\",\"{{PELANGGAN}}\",\"{{TOTAL_ORDER}}\",\"{{REKENING_PEMBAYARAN}}\",\"{{BATAS_PEMBAYARAN}}\",\"{{DETAIL_ORDER}}\",\"{{STATUS_PELANGGAN}}\",\"{{JENIS_PELANGGAN}}\",\"{{LEVEL_PELANGGAN}}\",\"{{JUDUL_KUPON}}\",\"{{JUMLAH_POTONGAN}}\",\"{{RENTAL_REWARD_POIN}}\",\"{{RENTAL_REWARD_EXPIRED}}\"]', NULL, '2024-06-28 14:29:18'); |
import 'package:flutter/material.dart'; | |
class GoogleMapsClonePage extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
body: Stack( | |
children: <Widget>[ | |
CustomGoogleMap(), | |
CustomHeader(), |