Giter Site home page Giter Site logo

sentialabs / porpoise Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 3.0 71 KB

Rails caching with an RDBMS backend. Also a key/value store with a Redis compatible interface backed by an RDBMS.

Home Page: http://www.sentialabs.io

License: MIT License

Ruby 98.98% Shell 0.28% Dockerfile 0.74%
cache-storage key-value mysql ruby-on-rails

porpoise's People

Contributors

r-schipper avatar vhugo avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

porpoise's Issues

Cannot install on rails 7

When installing this on a rails 7 project I get the following errors on running the install task:

> rails generate porpoise:install
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:63:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'porpoise'. (Bundler::GemRequireError)
Gem Load Error is: Unknown alias: default
Backtrace for gem load error is:
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:430:in `visit_Psych_Nodes_Alias'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:345:in `block in revive_hash'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each_slice'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `revive_hash'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:167:in `visit_Psych_Nodes_Mapping'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:345:in `block in revive_hash'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each_slice'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `revive_hash'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:167:in `visit_Psych_Nodes_Mapping'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:318:in `visit_Psych_Nodes_Document'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych.rb:335:in `safe_load'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych.rb:370:in `load'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/porpoise-0.9.5/lib/porpoise/key_value_object.rb:18:in `<class:KeyValueObject>'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/porpoise-0.9.5/lib/porpoise/key_value_object.rb:1:in `<main>'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/porpoise-0.9.5/lib/porpoise.rb:7:in `<main>'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:60:in `block (2 levels) in require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:55:in `each'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:55:in `block in require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:44:in `each'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:44:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler.rb:176:in `require'
/home/pyra/upwork/ProductResearch/config/application.rb:7:in `<main>'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command/actions.rb:22:in `require_application!'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command/actions.rb:14:in `require_application_and_environment!'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/commands/generate/generate_command.rb:21:in `perform'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command/base.rb:87:in `perform'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command.rb:48:in `invoke'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/commands.rb:18:in `<main>'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:4:in `<main>'
Bundler Error Backtrace:
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:59:in `block (2 levels) in require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:55:in `each'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:55:in `block in require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:44:in `each'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:44:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler.rb:176:in `require'
	from /home/pyra/upwork/ProductResearch/config/application.rb:7:in `<main>'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command/actions.rb:22:in `require_application!'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command/actions.rb:14:in `require_application_and_environment!'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/commands/generate/generate_command.rb:21:in `perform'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command/base.rb:87:in `perform'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command.rb:48:in `invoke'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/commands.rb:18:in `<main>'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from bin/rails:4:in `<main>'
/home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:430:in `visit_Psych_Nodes_Alias': Unknown alias: default (Psych::BadAlias)
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:345:in `block in revive_hash'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each_slice'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `revive_hash'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:167:in `visit_Psych_Nodes_Mapping'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:345:in `block in revive_hash'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `each_slice'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:343:in `revive_hash'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:167:in `visit_Psych_Nodes_Mapping'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:318:in `visit_Psych_Nodes_Document'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:30:in `visit'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/visitor.rb:6:in `accept'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych/visitors/to_ruby.rb:35:in `accept'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych.rb:335:in `safe_load'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/psych.rb:370:in `load'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/porpoise-0.9.5/lib/porpoise/key_value_object.rb:18:in `<class:KeyValueObject>'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/porpoise-0.9.5/lib/porpoise/key_value_object.rb:1:in `<main>'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/porpoise-0.9.5/lib/porpoise.rb:7:in `<main>'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:60:in `block (2 levels) in require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:55:in `each'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:55:in `block in require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:44:in `each'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler/runtime.rb:44:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/3.1.0/bundler.rb:176:in `require'
	from /home/pyra/upwork/ProductResearch/config/application.rb:7:in `<main>'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command/actions.rb:22:in `require_application!'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command/actions.rb:14:in `require_application_and_environment!'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/commands/generate/generate_command.rb:21:in `perform'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command/base.rb:87:in `perform'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/command.rb:48:in `invoke'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/railties-7.0.2.3/lib/rails/commands.rb:18:in `<main>'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from /home/pyra/.asdf/installs/ruby/3.1.1/lib64/ruby/gems/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from bin/rails:4:in `<main>'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.