Git Product home page Git Product logo

go's Introduction

go

This repository contains libraries I wrote for the Go language. GoDoc

Copyright 2016 Rafael Lorandi [email protected]

Unless declared otherwise, all code under this repository complies with the GNU General Public License version 3. See LICENSE file for a detailed description of this license, or access http://www.gnu.org/licenses/ for more information.

go's People

Contributors

coolparadox avatar

Stargazers

 avatar

Watchers

James Cloos avatar

go's Issues

Point documentation to GoDoc site

README.md files must be manually updated after documentation changes.
Better if they just point to GoDoc site, so updated documentation is generated on the fly.

[lazydb] Support multiple values per key

Instad of a single io.Writer or io.Reader in Load and Save calls, make LazyDB support multiple values (eg slices of Reader/Writer) and "do the expected thing" when saving and loading them.

Minimally the ordering of values shall be respected when saving and loading. If so, the caller is expected to bind semantics in the ordering of values for a given key.

[concur] Rename read & write methods

(In b98892c)

Following BerkeleyDB's nomenclature "Put" and "Get" sounded good at first, until "Save" and "Load" were created... Seems odd because Load() is synonymous for Get() in the implementation, however Save() and Put() have distinct meanings.

How about:

  • rename Put() to SaveAs()
  • remove Get()

So there will remain: Save(), SaveAs() and Load()?

[concur] Concurrent Save() can return same key

Concurrent execution of free key lookup mechanism in Save() method may eventually return the same key.
This leads to distinct concurrent Save() operations return the same key, one overwritting another.

[keep] implement typed data indexing in collection

Finding values in a Keep collection by comparation is currently "possible" by brute force only. Keep needs indexing mechanisms for fast lookup of values.

A suggestion would be to accept user comparation functions between values of typed data -- say, "Less(a, b MyType) bool" -- and maintain a sorted list of value references that honors these functions.

[concur] Let caller chose key component base

(in afe94ef)

Base of key components for subdirectory naming in filesystem is currently harcoded at 36 (characters [0..9a..z]).
Is this optimal for the client workflow? Can a smaller or larger value perform better?

In order to provide choice, make the key component base a parameter when creating a database.

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.