Authentication in Real-World Web Apps with JavaScript
Outline of ideas, concepts to cover, potential projects to write.
Setup Idea
- Book with a video for each chapter.
/** | |
* Returns the URL of a hyperlinked cell, if it's entered with hyperlink command. | |
* Supports ranges | |
* @param {A1} reference Cell reference | |
* @customfunction | |
*/ | |
function linkURL(reference) { | |
var sheet = SpreadsheetApp.getActiveSheet(); | |
var formula = SpreadsheetApp.getActiveRange().getFormula(); | |
var args = formula.match(/=\w+\((.*)\)/i); |
Outline of ideas, concepts to cover, potential projects to write.
#!/usr/bin/env bash | |
# | |
# Usage: | |
# s3-get.sh <bucket> <region> <source-file> <dest-path> | |
# | |
# Description: | |
# Retrieve a secured file from S3 using AWS signature 4. | |
# To run, this shell script depends on command-line curl and openssl | |
# | |
# References: |
# Put this function to your .bashrc file. | |
# Usage: mv oldfilename | |
# If you call mv without the second parameter it will prompt you to edit the filename on command line. | |
# Original mv is called when it's called with more than one argument. | |
# It's useful when you want to change just a few letters in a long name. | |
# | |
# Also see: | |
# - imv from renameutils | |
# - Ctrl-W Ctrl-Y Ctrl-Y (cut last word, paste, paste) |
# On a Mac: /Users/<username>/.oh-my-zsh/custom/themes | |
local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )" | |
local emojis=("👋" "🤡" "🦄" "🤙" "🐼" "😊" "🔥" "⚡" "😎" "🌎") | |
local selectedEmoji=${emojis[$[1+($RANDOM%${#emojis[@]})]]} | |
local today=$(date +%m.%d) | |
# local ipCountry=`curl -s ip-api.com/json | python -c "import sys, json; print json.load(sys.stdin)['country']"` | |
# local country=$emoji_flags[${ipCountry}] | |
# } | |
case $today in | |
"01.01") |
const util = require('util'); | |
const result = title => err => { | |
if (err instanceof Error) { | |
console.log(`✖ ${title}`); | |
console.error(err.actual || err); | |
} else { | |
console.log(`✔ ${title}`); | |
} | |
}; |
import { useState, useEffect } from 'react' | |
// wordList is expected to be an array | |
const TypeText = ({ wordList }) => { | |
const words = wordList | |
const [text, setText] = useState(null) | |
let wordIndex = 0 | |
let typingIndex = 0 | |
let timer |
const addContext = (report, screenshots, videoUrl) => { | |
const getTests = t => t.tests | |
const getSuites = t => t.suites | |
const addSuiteContext = (suite, previousTitles = []) => { | |
const titles = suite.title ? previousTitles.concat(suite.title) : previousTitles | |
getTests(suite).forEach(test => { | |
test.timedOut = false // for some reason this is dropped | |
const context = [ | |
{ |
<?php | |
## Generate a Github user token at https://github.com/settings/tokens | |
$githubToken = 'EnterYourGithubTokenHere'; | |
## Your organization name (from https://github.com/yourOrganizationName) | |
$organization = 'yourOrganizationName'; | |
## Enter the name of the remote file you want to place | |
$remoteFile = "pull_request_template.md"; |
# This is a blocklist to block samsung smart tv's sending meta data at home. | |
# Please help to collect domains! | |
# It could be that the TV does not receive any more updates or other services no longer work. Please report such an incident. | |
abtauthprd.samsungcloudsolution.com | |
acr0.samsungcloudsolution.com | |
ad.samsungadhub.com | |
ads.samsungads.com | |
amauthprd.samsungcloudsolution.com | |
api-hub.samsungyosemite.com |