Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
github.com/y0ssar1an/q
q is a better way to do print statement debugging.
Type q.Q
instead of fmt.Printf
and your variables will be printed like this:
fmt.Printf
?$TMPDIR/q
.import "q"
...
q.Q(a, b, c)
For best results, dedicate a terminal to tailing $TMPDIR/q
while you work.
git clone https://github.com/ryboe/q "$(go env GOPATH)"/src/q
Put these functions in your shell config. Typing qq
or rmqq
will then start
tailing $TMPDIR/q
.
qq() {
clear
logpath="$TMPDIR/q"
if [[ -z "$TMPDIR" ]]; then
logpath="/tmp/q"
fi
if [[ ! -f "$logpath" ]]; then
echo 'Q LOG' > "$logpath"
fi
tail -100f -- "$logpath"
}
rmqq() {
logpath="$TMPDIR/q"
if [[ -z "$TMPDIR" ]]; then
logpath="/tmp/q"
fi
if [[ -f "$logpath" ]]; then
rm "$logpath"
fi
qq
}
You also can simply tail -f $TMPDIR/q
, but it's highly recommended to use the above commands.
Preferences > User Snippets > Go
"qq": {
"prefix": "qq",
"body": "q.Q($1) // DEBUG",
"description": "Pretty-print to $TMPDIR/q"
}
Tools > Developer > New Snippet
<snippet>
<content><![CDATA[
q.Q($1) // DEBUG
]]></content>
<tabTrigger>qq</tabTrigger>
<scope>source.go</scope>
</snippet>
Atom > Open Your Snippets
'.source.go':
'qq':
'prefix': 'qq'
'body': 'q.Q($1) // DEBUG'
Settings > Editor > Live Templates
In Go
, add a new template with:
qq
Pretty-print to $TMPDIR/q
q.Q($END$) // DEBUG
Go
scopeAdd a new snippet file to the go-mode snippets directory
($HOME/.emacs.d/snippets/go-mode/qq
). This should
contain:
# -*- mode: snippet -*-
# name: qq
# key: qq
# --
q.Q(${1:...}) // DEBUG
For SirVer/ultisnips, use :UltiSnipsEdit
to add the new snippet:
snippet qq "qq"
q.Q(${1:})
${2}
endsnippet
Python programmers will recognize this as a Golang port of the
q
module by zestyping.
Ping does a great job of explaining q
in his awesome lightning talk from
PyCon 2013. Watch it! It's funny :)
q.Q
?It's quick to type and unlikely to cause naming collisions.
q.Q()
safe for concurrent use?Yes.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.