Skip to content

Instantly share code, notes, and snippets.

@iampaul83
iampaul83 / READMD.md
Last active April 23, 2024 09:19
Spring Data JPA Enum converter

Spring Data JPA Enum converter

Column 使用 NUMBER 型別,如何在 JPA 中用 Enum 做 mapping,且不使用 @Enumerated(EnumType.ORDINAL)

CREATE TABLE CHALLENGE_LOG (
  ACTION NUMBER(1) NOT NULL
);
COMMENT ON COLUMN CHALLENGE_LOG.ACTION IS '0=Send OTP, 1=Verify OTP';
@iampaul83
iampaul83 / AbstractEnumConverter.java
Created November 14, 2019 10:37
Spring Data JPA Enum converter
import javax.persistence.AttributeConverter;
/*
Base Enum converter for JPA
*/
// @Converter
public abstract class AbstractEnumConverter<T extends Enum<T> & PersistableEnum<E>, E>
implements AttributeConverter<T, E> {
private final Class<T> clazz;
@iampaul83
iampaul83 / download-file.js
Last active January 21, 2019 09:46 — forked from javilobo8/download-file.js
Download files with AJAX (axios)
axios({
url: 'http://localhost:5000/static/example.pdf',
method: 'GET',
responseType: 'blob', // important
}).then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.pdf');
document.body.appendChild(link);
@iampaul83
iampaul83 / ooxx.html
Last active November 7, 2018 15:12
OOXX
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>井字遊戲</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<style>
h1{
text-align: center;
}
@iampaul83
iampaul83 / LoggerFilter.java
Created June 19, 2018 13:58 — forked from calo81/LoggerFilter
Filter for reading and logging HttpServletRequest body, and resetting the input stream
package com.paddypower.financials.market.management.rest.logging;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
@iampaul83
iampaul83 / amazon-images.php
Created June 13, 2018 14:26
amazon-images.php
<?php
include_once('simplehtmldom_1_5/simple_html_dom.php');
// $curl = curl_init('https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dautomotive&field-keywords=76250ST7A24ZC');
$curl = curl_init('https://www.amazon.com/Mirrors-Smooth-Replacement-76250ST7A24ZC-76200ST7A24ZC/dp/B00OVT6UKU/ref=sr_1_1?s=automotive&ie=UTF8&qid=1528855755&sr=1-1&keywords=76250ST7A24ZC');
// $curl = curl_init('https://www.amazon.com/Wireless-Charger-Veidoo-Gravity-Standard/dp/B07CJPRNN9/ref=sr_1_2_sspa?s=wireless&ie=UTF8&qid=1528899106&sr=1-2-spons&keywords=s9+plus&psc=1');
curl_setopt($curl, CURLOPT_VERBOSE, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'accept-language: en',
'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'
));
@iampaul83
iampaul83 / example.js
Created May 24, 2018 09:51
puppeteer amazon
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=s9+plus&rh=i%3Aaps%2Ck%3As9+plus');
// await page.screenshot({path: 'example.png'});
// await page.pdf({path: 'page1.pdf', format: 'A4'});
console.log(await parse(page))
{
"name": "covalent-quickstart",
"version": "1.0.0",
"private": true,
"description": "Quickstart App with @covalent packages",
"keywords": [
"angular",
"components",
"reusable"
],
@iampaul83
iampaul83 / detect-private-browsing.js
Created March 13, 2018 07:14 — forked from cou929/detect-private-browsing.js
Detect private browsing mode (InPrivate Browsing or Incognito).
function retry(isDone, next) {
var current_trial = 0, max_retry = 50, interval = 10, is_timeout = false;
var id = window.setInterval(
function() {
if (isDone()) {
window.clearInterval(id);
next(is_timeout);
}
if (current_trial++ > max_retry) {
window.clearInterval(id);
@iampaul83
iampaul83 / README.md
Created September 22, 2017 15:04
9/22 - Props、State、Refs 與表單處理