Code Monkey home page Code Monkey logo

node-mdbx's People

Contributors

dependabot[bot] avatar sergeyfromhell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

node-mdbx's Issues

First key do not returns first key indeed

Hi Team,

I have written this code , which basically stores three numbers in the DB (1,8,10) and then tries to print them one by one.
I call dbi.first() to get the first key, however the code below does not returns first key, instead creates an infinite loop.

Please assist whats wrong?

const MDBX = require("node-mdbx");
const db = new MDBX({
    path: '/tmp/test_db',
    maxDbs: 5,
    syncMode: 'safeNoSync',
    readOnly: false,
    pageSize: 65536,
    keyMode: 'string',
    valueMode: 'buffer',
  });
  
  const result = db.transact(txn => {
    const dbi = txn.getDbi('main');

    { 
        //insert
        let buff = Buffer.alloc(8);
        buff.writeDoubleBE(10.2);
        dbi.put(buff, '10');
     }
    
   {
      //insert
      let buff = Buffer.alloc(8);
      buff.writeDoubleBE(1);
      dbi.put(buff, '1');
   }

   {
    //insert
    let buff = Buffer.alloc(8);
    buff.writeDoubleBE(8);
    dbi.put(buff, '8');
    }
  
   {
    //reading first key
    let key = dbi.first();
     
    let value = dbi.get(key);
    console.log(String(value));
    while(key){
        key=dbi.next(key);
        if(key){
            let b = Buffer.alloc(8,key);
            console.log("found key:",b.readDoubleBE(),"found value:", String(dbi.get(key)));
        }
    }
   }
  });

DupSort support

Do I understand it right, that this library doesn't support MDBX DupSort feature and DB flags in general (MDBX_DUPFIXED)?

Failed to install on mac m1

npm ERR! code 1
npm ERR! path /Users/riz/Documents/base/node_modules/node-mdbx
npm ERR! command failed
npm ERR! command sh -c node build.js
npm ERR! [
npm ERR! '/Users/riz/.fnm/node-versions/v16.4.0/installation/bin/node',
npm ERR! '/Users/riz/Documents/base/node_modules/.bin/cmake-js',
npm ERR! 'rebuild'
npm ERR! ]
npm ERR! Not searching for unused variables given on the command line.
npm ERR! -- The C compiler identification is AppleClang 12.0.5.12050022
npm ERR! -- The CXX compiler identification is AppleClang 12.0.5.12050022
npm ERR! -- Detecting C compiler ABI info
npm ERR! -- Detecting C compiler ABI info - done
npm ERR! -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
npm ERR! -- Detecting C compile features
npm ERR! -- Detecting C compile features - done
npm ERR! -- Detecting CXX compiler ABI info
npm ERR! -- Detecting CXX compiler ABI info - done
npm ERR! -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
npm ERR! -- Detecting CXX compile features
npm ERR! -- Detecting CXX compile features - done
npm ERR! -- Configuring done
npm ERR! -- Generating done
npm ERR! -- Build files have been written to: /Users/riz/Documents/base/node_modules/node-mdbx/build
npm ERR! [ 16%] Building C object CMakeFiles/node-mdbx-native.dir/deps/mdbx/mdbx.c.o
npm ERR! [ 33%] Building CXX object CMakeFiles/node-mdbx-native.dir/src/bindings.cc.o
npm ERR! info TOOL Using Unix Makefiles generator.
npm ERR! info CMD CLEAN
npm ERR! info RUN [
npm ERR! info RUN 'cmake',
npm ERR! info RUN '-E',
npm ERR! info RUN 'remove_directory',
npm ERR! info RUN '/Users/riz/Documents/base/node_modules/node-mdbx/build'
npm ERR! info RUN ]
npm ERR! info CMD CONFIGURE
npm ERR! info RUN [
npm ERR! info RUN 'cmake',
npm ERR! info RUN '/Users/riz/Documents/base/node_modules/node-mdbx',
npm ERR! info RUN '--no-warn-unused-cli',
npm ERR! info RUN '-G',
npm ERR! info RUN 'Unix Makefiles',
npm ERR! info RUN '-DCMAKE_JS_VERSION=6.1.4',
npm ERR! info RUN '-DCMAKE_BUILD_TYPE=Release',
npm ERR! info RUN '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/riz/Documents/base/node_modules/node-mdbx/build/Release',
npm ERR! info RUN '-DCMAKE_JS_INC=/Users/riz/.cmake-js/node-arm64/v16.4.0/include/node',
npm ERR! info RUN '-DCMAKE_JS_SRC=',
npm ERR! info RUN '-DNODE_RUNTIME=node',
npm ERR! info RUN '-DNODE_RUNTIMEVERSION=16.4.0',
npm ERR! info RUN '-DNODE_ARCH=arm64',
npm ERR! info RUN '-DCMAKE_CXX_FLAGS=-D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION',
npm ERR! info RUN '-DCMAKE_SHARED_LINKER_FLAGS=-undefined dynamic_lookup'
npm ERR! info RUN ]
npm ERR! CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
npm ERR! Compatibility with CMake < 2.8.12 will be removed from a future version of
npm ERR! CMake.
npm ERR!
npm ERR! Update the VERSION argument value or use a ... suffix to tell
npm ERR! CMake that the project does not need compatibility with older versions.
npm ERR!
npm ERR!
npm ERR! CMake Warning (dev):
npm ERR! Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
npm ERR! --help-policy CMP0042" for policy details. Use the cmake_policy command to
npm ERR! set the policy and suppress this warning.
npm ERR!
npm ERR! MACOSX_RPATH is not specified for the following targets:
npm ERR!
npm ERR! node-mdbx-native
npm ERR!
npm ERR! This warning is for project developers. Use -Wno-dev to suppress it.
npm ERR!
npm ERR! info CMD BUILD
npm ERR! info RUN [
npm ERR! info RUN 'cmake',
npm ERR! info RUN '--build',
npm ERR! info RUN '/Users/riz/Documents/base/node_modules/node-mdbx/build',
npm ERR! info RUN '--config',
npm ERR! info RUN 'Release'
npm ERR! info RUN ]
npm ERR! In file included from /Users/riz/Documents/base/node_modules/node-mdbx/src/bindings.cc:1:
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:140:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf<int8_t>; ///< Typed-array of signed 8-bit integers
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:142:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf<uint8_t>; ///< Typed-array of unsigned 8-bit integers
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:144:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf<int16_t>; ///< Typed-array of signed 16-bit integers
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:146:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf<uint16_t>; ///< Typed-array of unsigned 16-bit integers
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:148:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf<int32_t>; ///< Typed-array of signed 32-bit integers
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:150:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf<uint32_t>; ///< Typed-array of unsigned 32-bit integers
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:152:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf; ///< Typed-array of 32-bit floating-point values
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:154:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf; ///< Typed-array of 64-bit floating-point values
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:157:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf<int64_t>; ///< Typed array of signed 64-bit integers
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:159:7: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! TypedArrayOf<uint64_t>; ///< Typed array of unsigned 64-bit integers
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:164:34: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! using ModuleRegisterCallback = Object ()(Env env, Object exports);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:207:45: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! template using Finalizer = void (
)(Env, T*);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:208:65: error: a space is required between consecutive right angle brackets (use '> >')
npm ERR! template <typename T, Finalizer fini = Env::DefaultFini>
npm ERR! ^~
npm ERR! > >
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:208:40: warning: default template arguments for a function template are a C++11 extension [-Wc++11-extensions]
npm ERR! template <typename T, Finalizer fini = Env::DefaultFini>
npm ERR! ^ ~~~~~~~~~~~~~~~~~~~
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:212:31: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! using FinalizerWithHint = void ()(Env, DataType, HintType*);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:216:60: error: a space is required between consecutive right angle brackets (use '> >')
npm ERR! Env::DefaultFiniWithHint<DataType, HintType>>
npm ERR! ^~
npm ERR! > >
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:215:53: warning: default template arguments for a function template are a C++11 extension [-Wc++11-extensions]
npm ERR! FinalizerWithHint<DataType, HintType> fini =
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:569:26: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
npm ERR! PropertyLValue() = delete;
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:751:20: error: no template named 'initializer_list' in namespace 'std'
npm ERR! const std::initializer_list& properties
npm ERR! ~~~~~^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:916:5: error: unknown type name 'constexpr'
npm ERR! constexpr
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:918:5: warning: variable templates are a C++14 extension [-Wc++14-extensions]
npm ERR! napi_typedarray_type TypedArrayTypeForPrimitiveType() {
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:918:25: error: expected ';' at end of declaration list
npm ERR! napi_typedarray_type TypedArrayTypeForPrimitiveType() {
npm ERR! ^
npm ERR! ;
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:954:8: error: unknown type name 'napi_typedarray_type'; did you mean '::napi_typedarray_type'?
npm ERR! napi_typedarray_type type =
npm ERR! ^~~~~~~~~~~~~~~~~~~~
npm ERR! ::napi_typedarray_type
npm ERR! /Users/riz/.cmake-js/node-arm64/v16.4.0/include/node/js_native_api_types.h:71:3: note: '::napi_typedarray_type' declared here
npm ERR! } napi_typedarray_type;
npm ERR! ^
npm ERR! In file included from /Users/riz/Documents/base/node_modules/node-mdbx/src/bindings.cc:1:
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:977:8: error: unknown type name 'napi_typedarray_type'; did you mean '::napi_typedarray_type'?
npm ERR! napi_typedarray_type type =
npm ERR! ^~~~~~~~~~~~~~~~~~~~
npm ERR! ::napi_typedarray_type
npm ERR! /Users/riz/.cmake-js/node-arm64/v16.4.0/include/node/js_native_api_types.h:71:3: note: '::napi_typedarray_type' declared here
npm ERR! } napi_typedarray_type;
npm ERR! ^
npm ERR! In file included from /Users/riz/Documents/base/node_modules/node-mdbx/src/bindings.cc:1:
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1010:18: error: unknown type name 'napi_typedarray_type'; did you mean '::napi_typedarray_type'?
npm ERR! napi_typedarray_type type,
npm ERR! ^~~~~~~~~~~~~~~~~~~~
npm ERR! ::napi_typedarray_type
npm ERR! /Users/riz/.cmake-js/node-arm64/v16.4.0/include/node/js_native_api_types.h:71:3: note: '::napi_typedarray_type' declared here
npm ERR! } napi_typedarray_type;
npm ERR! ^
npm ERR! In file included from /Users/riz/Documents/base/node_modules/node-mdbx/src/bindings.cc:1:
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:955:24: error: no member named 'TypedArrayTypeForPrimitiveType' in 'Napi::TypedArray'
npm ERR! TypedArray::TypedArrayTypeForPrimitiveType()
npm ERR! ~~~~~~~~~~~~^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:955:55: error: 'T' does not refer to a value
npm ERR! TypedArray::TypedArrayTypeForPrimitiveType()
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:940:22: note: declared here
npm ERR! template
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:955:58: error: expected expression
npm ERR! TypedArray::TypedArrayTypeForPrimitiveType()
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:978:24: error: no member named 'TypedArrayTypeForPrimitiveType' in 'Napi::TypedArray'
npm ERR! TypedArray::TypedArrayTypeForPrimitiveType()
npm ERR! ~~~~~~~~~~~~^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:978:55: error: 'T' does not refer to a value
npm ERR! TypedArray::TypedArrayTypeForPrimitiveType()
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:940:22: note: declared here
npm ERR! template
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:978:58: error: expected expression
npm ERR! TypedArray::TypedArrayTypeForPrimitiveType()
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1070:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! using VoidCallback = void ()(const CallbackInfo& info);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1071:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
npm ERR! using Callback = Value (
)(const CallbackInfo& info);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1111:32: error: no template named 'initializer_list' in namespace 'std'
npm ERR! Value operator()(const std::initializer_list<napi_value>& args) const;
npm ERR! ~~~~~^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1113:26: error: no template named 'initializer_list' in namespace 'std'
npm ERR! Value Call(const std::initializer_list<napi_value>& args) const;
npm ERR! ~~~~~^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1117:26: error: no template named 'initializer_list' in namespace 'std'
npm ERR! const std::initializer_list<napi_value>& args) const;
npm ERR! ~~~~~^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1122:34: error: no template named 'initializer_list' in namespace 'std'
npm ERR! const std::initializer_list<napi_value>& args,
npm ERR! ~~~~~^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1132:26: error: no template named 'initializer_list' in namespace 'std'
npm ERR! Object New(const std::initializer_list<napi_value>& args) const;
npm ERR! ~~~~~^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1207:27: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! Reference(Reference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1208:42: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! Reference& operator =(Reference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1209:5: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
npm ERR! NAPI_DISALLOW_ASSIGN(Reference)
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:94:69: note: expanded from macro 'NAPI_DISALLOW_ASSIGN'
npm ERR! # define NAPI_DISALLOW_ASSIGN(CLASS) void operator=(const CLASS&) = delete;
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1252:38: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! ObjectReference(Reference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1253:50: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! ObjectReference& operator =(Reference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1254:36: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! ObjectReference(ObjectReference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1255:48: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! ObjectReference& operator =(ObjectReference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1256:5: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
npm ERR! NAPI_DISALLOW_ASSIGN(ObjectReference)
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:94:69: note: expanded from macro 'NAPI_DISALLOW_ASSIGN'
npm ERR! # define NAPI_DISALLOW_ASSIGN(CLASS) void operator=(const CLASS&) = delete;
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1289:42: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! FunctionReference(Reference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1290:54: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! FunctionReference& operator =(Reference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1291:40: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! FunctionReference(FunctionReference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1292:52: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
npm ERR! FunctionReference& operator =(FunctionReference&& other);
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1293:5: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
npm ERR! NAPI_DISALLOW_ASSIGN_COPY(FunctionReference)
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:98:5: note: expanded from macro 'NAPI_DISALLOW_ASSIGN_COPY'
npm ERR! NAPI_DISALLOW_ASSIGN(CLASS)
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:94:69: note: expanded from macro 'NAPI_DISALLOW_ASSIGN'
npm ERR! # define NAPI_DISALLOW_ASSIGN(CLASS) void operator=(const CLASS&) = delete;
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:1293:5: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:99:5: note: expanded from macro 'NAPI_DISALLOW_ASSIGN_COPY'
npm ERR! NAPI_DISALLOW_COPY(CLASS)
npm ERR! ^
npm ERR! /Users/riz/Documents/base/node_modules/node-addon-api/napi.h:95:58: note: expanded from macro 'NAPI_DISALLOW_COPY'
npm ERR! # define NAPI_DISALLOW_COPY(CLASS) CLASS(const CLASS&) = delete;
npm ERR! ^
npm ERR! fatal error: too many errors emitted, stopping now [-ferror-limit=]
npm ERR! 33 warnings and 20 errors generated.
npm ERR! make[2]: *** [CMakeFiles/node-mdbx-native.dir/src/bindings.cc.o] Error 1
npm ERR! make[1]: *** [CMakeFiles/node-mdbx-native.dir/all] Error 2
npm ERR! make: *** [all] Error 2
npm ERR! ERR! OMG Process terminated: 2

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.