Giter Club home page Giter Club logo

bluejet's Introduction

BlueJet Build Status

Blue jet is a rare type of a lightning with a very blue colour with near-ultraviolet emission lines from neutral and ionized molecular nitrogen. It typically occurs in the lower levels of ionosphere at ~50km above the surface of the earth.

Synopsis

BlueJet is a modern Swift/Cocoa wrapper around Lightning Memory-Mapped Database Manager (LMDB). It fully utilises the multi-threaded access, transations and provides a simple enumeration interface for fetching subsets of the database. Key/Value pairs are using Swift's Encoder/Decoder protocol when dealing with the data.

Value Type-oriented

With many data persistence options available for both Cocoa (Touch) and Server-side Swift BlueJet aims to be the simplest and fast Value Type store without the complexity of confusing query language, sub-classing your data models or large set of dependencies. This framework is designed to take any Swift's value type such as String, Int, Float and Data but also provide set of protocols to allow for custom type-to-Data conversion.

Encoder/Decoder support

With the upcoming release of Swift 4, BlueJet will support struct encoder/decoder features making it even easier to store any data you use within your app.

What is LMDB?

LMDB is an incredibly fast key-value store written by Howard Chu for the OpenLDAP project. Given the nature of LDAP workloads the design of LMDB is read-optimised (but writes are super fast too!). This particular database allows for multiple databases within one environment which makes separating different data sets much easier to handle. It also allows for multiple processes to access a single database without locking it and supports transactions for making series of fail-safe reads/write routines. For more details on the design and implementation of LMDB go to the website.

Installation

Carthage

Add BlueJet to your Cartfile:

github "bobek-balinek/BlueJet"

Then run:

carthage update --use-submodules

Swift Package Manager

Add BlueJet as a dependency in your Package.swift file and import it in your project:

import PackageDescription

let package = Package(
    name: "YourGreatNewProject",
    dependencies: [
        .Package(url: "https://github.com/bobek-balinek/BlueJet.git", majorVersion: 0, minor: 1)
    ]
)

Basic Usage

Data (De)Serialisation

Getting data

Storing data

Enumeration

Storage protocol

Documentation

TODO

Contributing

See CONTRIBUTING.md for more details!

This project adheres to the Code of Conduct.

License

BlueJet is available under the MIT license. See the LICENSE files for more info.

bluejet's People

Contributors

bobek-balinek avatar dmbarbour avatar dw avatar erthink avatar heirecka avatar hfuru avatar hyc avatar jahewson avatar jcdubois avatar lmb avatar lukeyeager avatar nacho avatar orivej avatar oskaritimperi avatar pmed avatar quanah avatar runaum avatar salortiz avatar slaunay avatar

Watchers

 avatar

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.