- run in memory, only for intra-domain communication, within the same transaction scope
- raised from the domain entity class before transaction is committed
- cross transactions, to propagate state changes to other microservices
/** | |
** Author: @MonokaiJs | |
** Contact: [email protected] | https://fb.me/monokaijssss | monokaijs.com | |
** | |
** Free to use, but don't abuse :> | |
**/ | |
(()=>{let a=location.href.match(/\/(?:videos|reel|watch)(?:\/?)(?:\?v=)?(\d+)/);if(a.length<2){console.log("Please open a video before running this script.");return}let c=function(d,e){let f=[],a;for(a in d)if(d.hasOwnProperty(a)){let g=e?e+"["+a+"]":a,b=d[a];f.push(null!==b&&"object"==typeof b?c(b,g):encodeURIComponent(g)+"="+encodeURIComponent(b))}return f.join("&")},b=function(a,b){return fetch("https://www.facebook.com/api/graphql/",{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:c({doc_id:a,variables:JSON.stringify(b),fb_dtsg:require("DTSGInitialData").token,server_timestamps:!0})})};console.log("Getting info..."),b("5279476072161634",{UFI2CommentsProvider_commentsKey:"CometTahoeSidePaneQuery",caller:"CHANNEL_VIEW_FROM_PAGE_TIMELINE",displayCommentsContextEnableComment:null,displayCommentsContextIsAdPreview:null,displayComm |
function main() { | |
findSharedDocuments("[email protected]"); | |
} | |
function findSharedDocuments(email) { | |
var files = DriveApp.searchFiles('("' + email + '" in readers OR "' + email + '" in writers) AND NOT ("' + email + '" in owners)'); | |
var success = 0; | |
while (files.hasNext()) { | |
var file = files.next(); | |
try { |
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Linq.Expressions; | |
using System.Text; | |
using System.Threading.Tasks; | |
namespace ETP | |
{ | |
/// <summary> |
Step 1. Make a copy of the spreadsheet in an empty directory. Rename the extension to .zip | |
Step 2. Extract the zip file. | |
Step 3. In the extracted contents, goto the folder \xl\worksheets\ | |
Step 4. There should be one xml file per sheet? I editing "sheet1.xml" with NotePad++. From nearly the very end of the file, remove the tag that starts with: | |
<sheetProtection | |
My entire tag was as follows: | |
<sheetProtection algorithmName="SHA-512" hashValue="ALciNBSIqRcjDiFbCuyWoGk4iOcC/ZRKnEjwEVi1skb6G5JbHhp+QVZ9+rlPVbGILOS7lYiCvJmR4Q7IuSphXA==" saltValue="8OVKXrG0VacLOLVztUpEYw==" spinCount="100000" sheet="1" objects="1" scenarios="1" selectLockedCells="1"/> | |
Step 5. Save the file. Open the ZIP file in 7zip, find the same file, drag and drop, save, exit, rename the file back to (xlsx) and open |
' src: http://www.mcgimpsey.com/excel/removepwords.html | |
' | |
' Removing Internal XL passwords | |
' | |
' Note: For a discussion of File or VBA Project password protection, see here. | |
' | |
' Internal XL passwords are about as useful for security as tissue paper. The | |
' reason is that the passwords you enter (i.e., with Tools/Protect/Protect | |
' Worksheet or /Protect Workbook) are not used directly in protection. Instead | |
' they are hashed (mathematically transformed) into a much less secure code. |
Attribute VB_Name = "PasswordBreaker" | |
Sub PasswordBreaker() | |
'Breaks worksheet password protection. | |
Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer, f As Integer | |
Dim g As Integer, h As Integer, i As Integer, j As Integer, k As Integer, l As Integer | |
On Error Resume Next | |
For a = 65 To 66: For b = 65 To 66: For c = 65 To 66: For d = 65 To 66: For e = 65 To 66: For f = 65 To 66 | |
For g = 65 To 66: For h = 65 To 66: For i = 65 To 66: For j = 65 To 66: For k = 65 To 66: For l = 32 To 126 |
# remove sheet protection in Excel | |
# Sample file: https://www.dropbox.com/s/4ul0kowrscyr8cz/excel_protected.xlsx?dl=0 | |
library(stringr) | |
library(zip) | |
# file with protected sheets | |
file <- "data/excel_protected.xlsx" | |
# file name and path after removing protection |