Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Rogalskiy committed Apr 9, 2022
2 parents 5f9085f + 0eaefa6 commit 4853bf0
Show file tree
Hide file tree
Showing 2 changed files with 258 additions and 55 deletions.
58 changes: 28 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,36 +44,34 @@
## 🎹 *Table of contents*

<!--ts-->

- [Java Design Patterns](#java-design-patterns)
- [<em>Table of contents</em>](#-table-of-contents)
- [<em>Summary</em>](#-summary)
- [<em>Documentation</em>](#-documentation)
- [<em>Kubernetes</em>](#-kubernetes)
- [<em>Statistics</em>](#-statistics)
- [<em>Versioning</em>](#-versioning)
- [<em>Authors</em>](#-authors)
- [<em>Contributing</em>](#-contributing)
- [<em>Visitor stats</em>](#-visitor-stats)
- [<em>Licensing</em>](#-licensing)
- [<em>Development Support</em>](#-development-support)
- [<em>Acknowledgement</em>](#-acknowledgement)
- [<em>OpenGraph Card</em>](#-opengraph-card)
- [<em>Feeds and Podcasts</em>](#-feeds-and-podcasts)
- [<em>Reddit posts</em>](#reddit-posts)
- [<em>InfoWorld posts</em>](#infoworld-posts)
- [<em>Let's talk posts</em>](#lets-talk-posts)
- [<em>Random thoughts posts</em>](#random-thoughts-posts)
- [<em>Better code posts</em>](#better-code-posts)
- [<em>Inside Java posts</em>](#inside-java-posts)
- [<em>Java programmer posts</em>](#java-programmer-posts)
- [<em>Dreamix posts</em>](#dreamix-posts)
- [<em>Plumbr posts</em>](#plumbr-posts)
- [<em>Thorben Janssen posts</em>](#thorben-janssen-posts)
- [<em>Redhat posts</em>](#redhat-posts)
- [<em>JavaCodeGeeks posts</em>](#javacodegeeks-posts)
- [<em>DevCases posts</em>](#devcases-posts)

* [Java Design Patterns](#java-design-patterns)
* [<em>Table of contents</em>](#-table-of-contents)
* [<em>Summary</em>](#-summary)
* [<em>Documentation</em>](#-documentation)
* [<em>Kubernetes</em>](#-kubernetes)
* [<em>Statistics</em>](#-statistics)
* [<em>Versioning</em>](#-versioning)
* [<em>Authors</em>](#-authors)
* [<em>Contributing</em>](#-contributing)
* [<em>Visitor stats</em>](#-visitor-stats)
* [<em>Licensing</em>](#-licensing)
* [<em>Development Support</em>](#-development-support)
* [<em>Acknowledgement</em>](#-acknowledgement)
* [<em>OpenGraph Card</em>](#-opengraph-card)
* [<em>Feeds and Podcasts</em>](#-feeds-and-podcasts)
* [<em>Reddit posts</em>](#reddit-posts)
* [<em>InfoWorld posts</em>](#infoworld-posts)
* [<em>Let's talk posts</em>](#lets-talk-posts)
* [<em>Random thoughts posts</em>](#random-thoughts-posts)
* [<em>Better code posts</em>](#better-code-posts)
* [<em>Inside Java posts</em>](#inside-java-posts)
* [<em>Java programmer posts</em>](#java-programmer-posts)
* [<em>Dreamix posts</em>](#dreamix-posts)
* [<em>Plumbr posts</em>](#plumbr-posts)
* [<em>Thorben Janssen posts</em>](#thorben-janssen-posts)
* [<em>Redhat posts</em>](#redhat-posts)
* [<em>JavaCodeGeeks posts</em>](#javacodegeeks-posts)
* [<em>DevCases posts</em>](#devcases-posts)
<!--te-->

<div style="text-align: right"><a href="https://github.com/AlexRogalskiy/java-patterns#java-design-patterns"><i>(back to top)</i></a></div>
Expand Down
255 changes: 230 additions & 25 deletions reports/pagespeedresultmobile.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

1 comment on commit 4853bf0

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented on 4853bf0 Apr 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@check-spelling-bot Report

Unrecognized words, please review:

  • ADR
  • akka
  • api
  • arcver
  • boopickle
  • bugfixes
  • ceb
  • committers
  • dropdown
  • eab
  • facebook
  • fastai
  • fastpages
  • fastparse
  • FRP
  • fthomas
  • getquill
  • GIFs
  • gitbook
  • gitflow
  • Gradle
  • guideslines
  • Hashids
  • Hasids
  • hmil
  • IPhone
  • japgolly
  • JDK
  • JRE
  • julienrf
  • Jupyter
  • lihaoyi
  • logfile
  • mades
  • matryoshka
  • mcve
  • milessabin
  • modelviewculture
  • monix
  • mtl
  • nullables
  • nvie
  • objectmappers
  • oyanglul
  • pasteable
  • paypal
  • PITMP
  • precog
  • quicklens
  • reactify
  • Rogalskiy
  • Rogalsky
  • rubyonrails
  • scalacss
  • scalafiddle
  • scalafmt
  • scalajs
  • scalameta
  • scalanlp
  • scalastyle
  • scalaz
  • scm
  • softwaremill
  • spamming
  • squants
  • squbs
  • sscce
  • stakeholders
  • sttp
  • stylegu
  • suggestig
  • suzaku
  • tilda
  • typelevel
  • udash
  • upickle
  • ussue
  • violoate
  • wix
  • zio
Previously acknowledged words that are now absent acl activesupport adaoraul addons aeiou AFile afterall Alexey alfredxing algolia allowfullscreen Anatoliy andreyvit Ankit Anning apps appveyor arengu args ariejan arounds asciinema asdf ashmaroli attr Autobuild autocompletion autogenerated Autolink autoload autoreconf autosave awood aws awscli backend backport backtick barcamp baseurl bashrc baz bbatsov bdimcheff bellvat benbalter Beney binstubs bip bitbucket Blogger blogging bonafide Bou breadcrumbs briandoll bridgetown bridgetownrb brightbox brighterplanet buddyworks Bugfix Burela byparker cachegrind calavera callgraphs cartera cavalle CDNs cgi changefreq chango charset Chayoung chcp chdir Cheatsheet Checkoway chmod chown Chrononaut chruby cibuild cimg circleci CJK classname cloudcannon Cloudinary cloudsh CLT codeclimate CODEOWNERS coderay codeslinger coffeescript colorator commandline commonmark compat compatibilize concat config configyml contentblocks CORS Cov CRLFs cron crontab cruft css csv Currin CVE CWD cygwin daringfireball Dassonville datafiles datetime DCEU Debian debuggability defunkt delegators deployer deps dest Devkit devops digitalocean dirs disqus ditaa dnf doclist doctype doeorg dommmel dotfile Dousse downcase downcased duckduckgo duritong Dusseau dysinger ecf editorconfig eduardoboucas Elasticsearch elsif Emacs emails emoji endcapture endcomment endfor endhighlight endif endraw endrender endtablerow Enumerables EOL erb errordocument Espinaco eugenebolshakov evaled exe execjs extensionpack extname exts favicon Fengyun ffi figcaption filesystem Finazzo firstimage FIXME flakey flickr fnmatch fontello forloop formcake formcarry formester formingo formkeep formspark formspree formx Forwardable frameborder freenode frontend frontmatter fsnotify ftp fullstory Gaudino gcc gcnovus gemfile gemset gemspec getform getset getsimpleform gettalong gfm ghp ghpages giraffeacademy githubcom githubusercontent gitignore gitlab gjtorikian globbed globbing google gotcha Goulven gridism GSo gsub gsubbing Hakiri hardcode hashbang hashmap helaili henrik heredoc heroku highlighter hilighting Hoizey homepage hostman hostname href htaccess htm htmlproofer httpd httpdocs hyperlinks Iaa ial ico icomoon iconset ified iframe img Impl Inlining invokables irc ivey ize jalali jameshamann jamstackthemes jan javascript Jax jayferd jcon jdoe jeffreytse jeffrydegrande Jekpack jekyllbot jekyllconf Jekyllers Jekyllin Jekylling jekyllized jekylllayoutconcept jekyllrb jekyllthemes jemoji jmcglone jneen johnreilly jpg jqr jruby jsonify juretta jwarby Kacper Kasberg kbd Kentico Kewin keycdn kickster Kinnula kiwifruit Kolesky konklone kontent Kotvinsky kramdown Kulig Kwokfu Lamprecht laquo lastmod launchctl launchy laurilehmijoki ldquo learnxinyminutes lexer LGTM libcurl libffi lightgray limjh linenos linkify linux liufengyun livereload localheinz localhost localtime Locher loglevel Losslessly lovin lsi lsquo lstrip lyche macos macromates mademistakes Manmeet markdownify Maroli Marsceill maruku mathjax mathml mattr Maximiliano mchung mdash memberspace Memoize memoized memoizing mentoring mergable Mertcan mertkahyaoglu microdata microsoft mimetype mingw minibundle minifier minitest Mittal mixin mkasberg mkd mkdir mkdn mkdown mmistakes modernizr mojombo moncefbelyamani moz mreid msdn mswin MSYS mtime multiline munging Mvvm myblog mycontent mydata mydoc myimage mypage myposts myproject myrepo mysite myvalue myvar myvariable Nadjib nakanishi namespace namespaced navbar nbsp nearlyfreespeech nethack netlify netlifycms Neue nginx ngx nielsenramon nior nodejs noifniof nokogiri notextile onclick onebox oneclick onschedule openssl Optim orderofinterpretation orgs OSVDB osx packagecontrol pacman paginator pandoc pantulis params parkr parseable paspagon passthrough pathawks Pathutil paywall pdf Pelykh permalink PHP pinboard Piwigo pjhyett pkill pkpass placeholders planetjekyll plantuml plugin png podcasts popen Porcel Posterous postfiles postlayout postmodern prefetching preinstalled prepends Prioritise Probot projectlist pubstorm pufuwozu pwa pwd pygments qrush Quaid quickstart rackup Rakefile razorops rbenv rdiscount rdoc rdquo readme realz rebund redcarpet redcloth redgreen redhat refactor Refheap regen regex regexp remi reqs Responsify revertable rfc rfelix RHEL ridk roadmap rowspan rspec rsquo rss rstrip rsync rtomayko Rubo rubocop rubychan rubygem rubyinstaller rubyprof Ruparelia Rusiczki rvm ryanflorence saas samplelist samrayner sandboxed Sassc sassify schemastore Schroers Schwartzian scp scrollbar scroller scss scssify sdk SDKROOT sectore seo serverless setenv SFTP shingo shopify shortlog shoulda sieversii sigpipe simplecov Singhaniya siteleaf sitemap SITENAME Slicehost slugified slugify smartforms smartify snipcart somedir sonnym Sonomy sourced sourcemaps spam spotify src ssg ssh SSL staticfiles staticman statictastic STDERR stdout Stickyposts strftime stringified Stringify stylesheet subdir subdomain subfolder subfolderitems subnav subpages subpath subpiece subsubfolderitems subthing subvalues subwidget sudo superdirectories superdirs SUSE sverrirs svg svn swfobject swupd symlink symlinking tablerow tada Taillandier talkyard tbody technicalpickles templating templatize Termux textilize textpattern thead therubyracer Theunissen Thornquest thoughtbot throughs Tidelift timeago timezone titleize TLS tmm tmp toc tok tomjoht toml tomo toolset toshimaru triaged triaging truncatewords tsv ttf Tudou Tumblr Tweetsert txtpen Tyborska tzinfo ubuntu uby ujh ultron undumpable unencode Unescape unescaping unicode uniq upcase uppercasing uri urlset username usr utf utils utime utm vanpelt Vasovi vendored vercel versioned versioning vertycal Veyor vilcans Vishesh visualstudio vnd vohedge vps vscode vwochnik Walkthroughs wdm We'd webfont webhook webhosting webmentions webrick website weekdate whitelist whitelisting wikipedia wildcards willcodeforfoo woff wordpress Workaround wsl xcode xcrun xdg Xhmikos xhtml Xiaoiver XMinutes xmlns xmlschema yajl Yarp Yashu Yastreb yml Youku youtube yunbox zeropadding Zlatan zlib zoneinfo zpinter Zsh zshrc zypper zzot
Some files were were automatically ignored

These sample patterns would exclude them:

^docs/CHANGELOG\.md$

You should consider adding them to:

.github/actions/spelling/excludes.txt

File matching is via Perl regular expressions.

To check these files, more of their words need to be in the dictionary than not. You can use patterns.txt to exclude portions, add items to the dictionary (e.g. by adding them to allow.txt), or fix typos.

To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands

... in a clone of the git@github.com:AlexRogalskiy/java-patterns.git repository
on the master branch:

update_files() {
perl -e '
my @expect_files=qw('".github/actions/spelling/expect.txt"');
@ARGV=@expect_files;
my @stale=qw('"$patch_remove"');
my $re=join "|", @stale;
my $suffix=".".time();
my $previous="";
sub maybe_unlink { unlink($_[0]) if $_[0]; }
while (<>) {
if ($ARGV ne $old_argv) { maybe_unlink($previous); $previous="$ARGV$suffix"; rename($ARGV, $previous); open(ARGV_OUT, ">$ARGV"); select(ARGV_OUT); $old_argv = $ARGV; }
next if /^(?:$re)(?:(?:\r|\n)*$| .*)/; print;
}; maybe_unlink($previous);'
perl -e '
my $new_expect_file=".github/actions/spelling/expect.txt";
use File::Path qw(make_path);
use File::Basename qw(dirname);
make_path (dirname($new_expect_file));
open FILE, q{<}, $new_expect_file; chomp(my @words = <FILE>); close FILE;
my @add=qw('"$patch_add"');
my %items; @items{@words} = @words x (1); @items{@add} = @add x (1);
@words = sort {lc($a)."-".$a cmp lc($b)."-".$b} keys %items;
open FILE, q{>}, $new_expect_file; for my $word (@words) { print FILE "$word\n" if $word =~ /\w/; };
close FILE;
system("git", "add", $new_expect_file);
'
(cat '.github/actions/spelling/excludes.txt' - <<EOF
$should_exclude_patterns
EOF
) |grep .|
sort -f |
uniq > '.github/actions/spelling/excludes.txt.temp' &&
mv '.github/actions/spelling/excludes.txt.temp' '.github/actions/spelling/excludes.txt'
}

comment_json=$(mktemp)
curl -L -s -S \
  --header "Content-Type: application/json" \
  "https://api.github.com/repos/AlexRogalskiy/java-patterns/comments/70874377" > "$comment_json"
comment_body=$(mktemp)
jq -r .body < "$comment_json" > $comment_body
rm $comment_json

patch_remove=$(perl -ne 'next unless s{^</summary>(.*)</details>$}{$1}; print' < "$comment_body")
  

patch_add=$(perl -e '$/=undef;
$_=<>;
s{<details>.*}{}s;
s{^#.*}{};
s{\n##.*}{};
s{(?:^|\n)\s*\*}{}g;
s{\s+}{ }g;
print' < "$comment_body")
  

should_exclude_patterns=$(perl -e '$/=undef;
$_=<>;
exit unless s{(?:You should consider excluding directory paths|You should consider adding them to).*}{}s;
s{.*These sample patterns would exclude them:}{}s;
s{.*\`\`\`([^`]*)\`\`\`.*}{$1}m;
print' < "$comment_body" | grep . || true)

update_files
rm $comment_body
git add -u
If you see a bunch of garbage

If it relates to a ...

well-formed pattern

See if there's a pattern that would match it.

If not, try writing one and adding it to the patterns.txt file.

Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

Note that patterns can't match multiline strings.

binary-ish string

Please add a file path to the excludes.txt file instead of just accepting the garbage.

File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

Please sign in to comment.