GST: Go Bindings for GStreamer

Retired. I don't use/develop this package anymore.

Go bindings for GStreamer at a very early stage of maturity.

This package is based on GLib bindings. It should be goinstalable. Try

$ go get github.com/ziutek/gst

Documentation

See examples directory and http://gopkgdoc.appspot.com/pkg/github.com/ziutek/gst

To run examples use go run command:

$ cd examples
$ go run simple.go

To run live WebM example use go run live_webm.go and open http://127.0.0.1:8080 with your browser. You probably need to wait a long time for video because of small bitrate of this stream and big buffer in you browser.

Author: Ziutek
Source Code: https://github.com/ziutek/gst 
License: View license

#go #golang 

What is GEEK

Buddha Community

GST: Go Bindings for GStreamer
Fannie  Zemlak

Fannie Zemlak

1599854400

What's new in the go 1.15

Go announced Go 1.15 version on 11 Aug 2020. Highlighted updates and features include Substantial improvements to the Go linker, Improved allocation for small objects at high core counts, X.509 CommonName deprecation, GOPROXY supports skipping proxies that return errors, New embedded tzdata package, Several Core Library improvements and more.

As Go promise for maintaining backward compatibility. After upgrading to the latest Go 1.15 version, almost all existing Golang applications or programs continue to compile and run as older Golang version.

#go #golang #go 1.15 #go features #go improvement #go package #go new features

janvi sharma

janvi sharma

1622792223

GST Monthly Filing | Monthly GST Return Filing in India | ExpertBells

ExpertBells, India’s leading online business services platform announces registration service for businesses at an affordable cost. They provide GST experts to assist you in order to complete the GST registration service faster and without any mistakes. Experts will help you not only in registration for GST (Goods and Service Tax) but for the GST filing too. Whether you want to do monthly GST filing or annually GST return filing, they provide assistance and advice from the industry professionals at every step to make your work processes easier. You don’t need to go to any physical office for your registration or any license applies, you will get all the services under one roof.

Don’t know how to file the application and need help in documentation? Expertbells provide full written information and expert assistance to make your work complete without any issue. They will stick with you at every step whether you are filling the application form or making selection into mandatory documents. They constantly upgrade their services and processes to provide better customer satisfaction.

Now, who should register for goods and service tax (GST)? If you are running a business with an annual turnover above 40 lakhs, GST registration becomes mandatory for your business. The existing registered companies under central excise, service tax, VAT, or any other tax need to register themselves, and there comes Expertbells. They provide full information and also give you expert advice and backup for faster GST registration online in India.

Registering GST online makes it easier for the business owners, you just have to fill the GST application form and attach the required documents sitting inside your cabin. One more benefit of registering for the GST number online with ExpertBells is that once you submit all the required documents, their expert will perform all the paper work, file your application with the concerned authorities and resolve any query raised in this process.

After the documents submission, application filing, and approval, you will receive your GST number in hard as well as soft copy. Registering for GST online will save you a lot of time as it is an easy and helpful way to get your registration done with the help of experts.

On this announcement of GST registration service, owner of Expertbells said something to the entrepreneurs that are starting their business and need assist to register for GST number.

“GST registration is important to run a business whose turnover value is 40 lakhs or above. We provide our clients a complete hassle-free registration process with dedicated tax expert advice for help. You don’t need to visit any authority official offices or stand in a queue because the online registration of the GST process is purely online. From applying for the GST number to getting your GST number in your hand, everything is done online with the expert’s assistance.

Our experts assist the valuable clients to complete their process without facing any issues so that you got success in one go.”

He further adds “GST is the most significant tax reform in our country; you will replace all the multiple taxes that are applicable before GST arrives. The online registration procedure takes up to 5 to 6 working days to get approved and once it is done, ExpertBells management will contact you and send your GST number to you. If you are someone who needs help with the registration and ant no mistake while doing it, visit our website and do it conveniently with the help of professionals. ”

About ExpertBells

ExpertBells is a secure and faster platform for business owners that need crucial business services such as registration of business, tax filing, trademark registration, e-commerce accounting, public limited company registration and much more. They deliver top-quality services with professionally expert assistance to help their valuable clients in setting up a business by fulfilling all the legal and mandatory requirements. Their process is faster and secured and highly professionals are always there at every step when you start registering for any business or license to run it.

They say their aim is to help business owners and entrepreneurs to manage their critical business and legal compliances. With the help of ExpertBells, you can eliminate the barriers in your business processes. If you are looking for the best online business services platform that can help you in starting your business, visit ExpertBells and talk to experts for a better vision.

#gst expert #goods and service tax (gst) #gstin number #gst framework #gst filing #monthly gst filing

GST: Go Bindings for GStreamer

Retired. I don't use/develop this package anymore.

Go bindings for GStreamer at a very early stage of maturity.

This package is based on GLib bindings. It should be goinstalable. Try

$ go get github.com/ziutek/gst

Documentation

See examples directory and http://gopkgdoc.appspot.com/pkg/github.com/ziutek/gst

To run examples use go run command:

$ cd examples
$ go run simple.go

To run live WebM example use go run live_webm.go and open http://127.0.0.1:8080 with your browser. You probably need to wait a long time for video because of small bitrate of this stream and big buffer in you browser.

Author: Ziutek
Source Code: https://github.com/ziutek/gst 
License: View license

#go #golang 

Apache Cayenne | Mirror Of Apache Cayenne Written in Java

Apache Cayenne

Apache Cayenne is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services.

Quick Start

Create XML mapping

Modeler GUI application

You can use Cayenne Modeler to manually create Cayenne project without DB. Binary distributions can be downloaded from https://cayenne.apache.org/download/

Modeler

See tutorial https://cayenne.apache.org/docs/4.2/getting-started-guide/

Maven plugin

Additionally, you can use Cayenne Maven (or Gradle) plugin to create model based on existing DB structure. Here is example of Cayenne Maven plugin setup that will do it:

<plugin>
    <groupId>org.apache.cayenne.plugins</groupId>
    <artifactId>cayenne-maven-plugin</artifactId>
    <version>4.2.RC1</version>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.29</version>
        </dependency>
    </dependencies>

    <configuration>
        <map>${project.basedir}/src/main/resources/demo.map.xml</map>
        <cayenneProject>${project.basedir}/src/main/resources/cayenne-demo.xml</cayenneProject>
        <dataSource>
            <url>jdbc:mysql://localhost:3306/cayenne_demo</url>
            <driver>com.mysql.cj.jdbc.Driver</driver>
            <username>user</username>
            <password>password</password>
        </dataSource>
        <dbImport>
            <defaultPackage>org.apache.cayenne.demo.model</defaultPackage>
        </dbImport>
    </configuration>
</plugin>

Run it:

mvn cayenne:cdbimport
mvn cayenne:cgen

See tutorial https://cayenne.apache.org/docs/4.2/getting-started-db-first/

Gradle plugin

And here is example of Cayenne Gradle plugin setup:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath group: 'org.apache.cayenne.plugins', name: 'cayenne-gradle-plugin', version: '4.2.RC1'
        classpath 'mysql:mysql-connector-java:8.0.29'
    }
}

apply plugin: 'org.apache.cayenne'
cayenne.defaultDataMap 'demo.map.xml'

cdbimport {   
    cayenneProject 'cayenne-demo.xml'

    dataSource {
        driver 'com.mysql.cj.jdbc.Driver'
        url 'jdbc:mysql://127.0.0.1:3306/cayenne_demo'
        username 'user'
        password 'password'
    }

    dbImport {
        defaultPackage = 'org.apache.cayenne.demo.model'
    }
}

cgen.dependsOn cdbimport
compileJava.dependsOn cgen

Run it:

gradlew build

Include Cayenne into project

Maven

<dependencies>
    <dependency>
        <groupId>org.apache.cayenne</groupId>
        <artifactId>cayenne-server</artifactId>
        <version>4.2.RC1</version>
    </dependency>
</dependencies>

Gradle

compile group: 'org.apache.cayenne', name: 'cayenne-server', version: '4.2.RC1'
 
// or, if Gradle plugin is used
compile cayenne.dependency('server')

Create Cayenne Runtime

ServerRuntime cayenneRuntime = ServerRuntime.builder()
    .addConfig("cayenne-demo.xml")
    .dataSource(DataSourceBuilder
             .url("jdbc:mysql://localhost:3306/cayenne_demo")
             .driver("com.mysql.cj.jdbc.Driver")
             .userName("username")
             .password("password")
             .build())
    .build();

Create New Objects

ObjectContext context = cayenneRuntime.newContext();

Artist picasso = context.newObject(Artist.class);
picasso.setName("Pablo Picasso");
picasso.setDateOfBirth(LocalDate.of(1881, 10, 25));

Gallery metropolitan = context.newObject(Gallery.class);
metropolitan.setName("Metropolitan Museum of Art");

Painting girl = context.newObject(Painting.class);
girl.setName("Girl Reading at a Table");

Painting stein = context.newObject(Painting.class);
stein.setName("Gertrude Stein");

picasso.addToPaintings(girl);
picasso.addToPaintings(stein);

girl.setGallery(metropolitan);
stein.setGallery(metropolitan);

context.commitChanges();

Queries

Select Objects

List<Painting> paintings = ObjectSelect.query(Painting.class)
        .where(Painting.ARTIST.dot(Artist.DATE_OF_BIRTH).year().lt(1900))
        .prefetch(Painting.ARTIST.joint())
        .select(context);

Aggregate functions

// this is artificial property signaling that we want to get full object
Property<Artist> artistProperty = Property.createSelf(Artist.class);

List<Object[]> artistAndPaintingCount = ObjectSelect.columnQuery(Artist.class, artistProperty, Artist.PAINTING_ARRAY.count())
    .where(Artist.ARTIST_NAME.like("a%"))
    .having(Artist.PAINTING_ARRAY.count().lt(5L))
    .orderBy(Artist.PAINTING_ARRAY.count().desc(), Artist.ARTIST_NAME.asc())
    .select(context);

for(Object[] next : artistAndPaintingCount) {
    Artist artist = (Artist)next[0];
    long paintingsCount = (Long)next[1];
    System.out.println(artist.getArtistName() + " has " + paintingsCount + " painting(s)");
}

Raw SQL queries

// Selecting objects
List<Painting> paintings = SQLSelect
    .query(Painting.class, "SELECT * FROM PAINTING WHERE PAINTING_TITLE LIKE #bind($title)")
    .params("title", "painting%")
    .upperColumnNames()
    .localCache()
    .limit(100)
    .select(context);

// Selecting scalar values
List<String> paintingNames = SQLSelect
    .scalarQuery(String.class, "SELECT PAINTING_TITLE FROM PAINTING WHERE ESTIMATED_PRICE > #bind($price)")
    .params("price", 100000)
    .select(context);

// Insert values
int inserted = SQLExec
    .query("INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME) VALUES (#bind($id), #bind($name))")
    .paramsArray(55, "Picasso")
    .update(context);

Documentation

Getting Started

https://cayenne.apache.org/docs/4.2/getting-started-guide/

Getting Started Db-First

https://cayenne.apache.org/docs/4.2/getting-started-db-first/

Full documentation

https://cayenne.apache.org/docs/4.2/cayenne-guide/

JavaDoc

https://cayenne.apache.org/docs/4.2/api/

About

With a wealth of unique and powerful features, Cayenne can address a wide range of persistence needs. Cayenne seamlessly binds one or more database schemas directly to Java objects, managing atomic commit and rollbacks, SQL generation, joins, sequences, and more.

Cayenne is designed to be easy to use, without sacrificing flexibility or design. To that end, Cayenne supports database reverse engineering and generation, as well as a Velocity-based class generation engine. All of these functions can be controlled directly through the CayenneModeler, a fully functional GUI tool. No cryptic XML or annotation based configuration is required! An entire database schema can be mapped directly to Java objects within minutes, all from the comfort of the GUI-based CayenneModeler.

Cayenne supports numerous other features, including caching, a complete object query syntax, relationship pre-fetching, on-demand object and relationship faulting, object inheritance, database auto-detection, and generic persisted objects. Most importantly, Cayenne can scale up or down to virtually any project size. With a mature, 100% open source framework, an energetic user community, and a track record of solid performance in high-volume environments, Cayenne is an exceptional choice for persistence services.

Collaboration

Download Details:
Author: apache
Source Code: https://github.com/apache/cayenne
License:

#java

Zander  Herzog

Zander Herzog

1596793260

Secure HTTPS servers in Go

In this article, we are going to look at some of the basic APIs of the http package to create and initialize HTTPS servers in Go.

Image for post

(source: unsplash.com)

In the “Simple Hello World Server” lesson, we learned about net/http package, how to create routes and how [ServeMux](https://golang.org/pkg/net/http/#ServeMux) works. In the “Running multiple HTTP servers” lesson, we learned about [Server](https://golang.org/pkg/net/http/#Server) structure and how to run multiple HTTP servers concurrently.

In this lesson, we are going to create an HTTPS server using both Go’s standard server configuration and custom configuration (using [_Server_](https://golang.org/pkg/net/http/#Server) structure). But before this, we need to know what HTTPS really is?

HTTPS is a big topic of discussion in itself. Hence while writing this lesson, I published an article just on “How HTTPS works?”. I advise you to read this lesson first before continuing this article. In this article, I’ve also described the encryption paradigm and SSL certificates generation process.


If we recall the simplest HTTP server example from previous lessons, we only need http.``[ListenAndServe](https://golang.org/pkg/net/http/#ListenAndServe) function to start an HTTP server and http.``[HandleFunc](https://golang.org/pkg/net/http/#HandleFunc) to register a response handler for a particular endpoint.

Image for post

(https://play.golang.org/p/t3sOenOYAzS)

In the example above, when we run the command go run server.go , it will start an HTTP server on port 9000. By visiting http://localhost:9000 URL in a browser, you will be able to see a Hello World! message on the screen.

Image for post

(http://localhost:9000)

As we know, the nil argument to ListenAndServe() call invokes Go to use the [DefaultServeMux](https://golang.org/pkg/net/http/#DefaultServeMux) response multiplexer, which is the default instance of ServeMux structure provided globally by the Go. The HandleFunc() call adds a response handler for a specific route on the multiplexer instance.

The http.ListenAndServe() call uses the Go’s standard HTTP server configuration, however, in the previous lesson, how we can customize a server using [Server](https://golang.org/pkg/net/http/#Server) structure type.

To start an HTTPS server, all we need do is to call ServerAndListenTLS method with some configuration. Just like ServeAndListen method, this method is available on both the http package and the Server structure.

The http.``[ServeAndListenTLS](https://golang.org/pkg/net/http/#ListenAndServeTLS) method uses the Go’s standard server implementation, however, both [Server](https://golang.org/pkg/net/http/#Server) instance and Server.``[ServeAndListenTLS](https://golang.org/pkg/net/http/#Server.ListenAndServeTLS) method can be configured for our needs.

#go-programming-language #go #golang-tutorial #go-programming #golang