Giter Site home page Giter Site logo

adoptium's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adoptium's Issues

First Temurin release plan discussion

As the current release cycle is coming to a happy conclusion, time to start thinking about the first release under the new Eclipse project governance.

There are many new things we need to do, so rather than do them all for the first time in July alongside the critical fixes (our next scheduled release), it makes sense to do a carefully managed Eclipse-led release of the April code level to find the problems early, and show we can be just as successful again.

As you know, the project build code and resources are already well underway in their move to the Adoptium organization, and various fix-ups are being made in Jenkins and elsewhere to reflect the new home.

The first release of Adoptium will be achieved through a number of milestones, and we are using a Project on Github to track required items.

  • The initial milestone towards our first release is to create nightlies on x86_64 Win/Linux/OSX for OpenJDK8 code stream only, built from the Adoptium mirror, passing nightly tests, code signed binary, installers, and API updated.

  • Once we have that working we’ll focus on the second milestone, which is to fix problems on other platforms and OpenJDK versions to ensure we have the full set of binaries available.

  • The third milestone includes fixing up the docker images, homebrew installer, deb/rpm hosting, etc. final release tasks including sign-offs and approvals.

Finally, we'll go back and fix the nightly builds that we don't release, including Bisheng, Dragonwell, OpenJ9, etc and ensure access to the resulting binaries is limited.

We still don't have access to the JCK testing material, so at each stage we'll put the binaries through a "no-op" JCK holder pipeline, and enable that once we have the actual tests to run.

Please take a look at the project dashboard, and as you spot things missing please add them as issues. Once we have a good set of issues in hand we'll target a date for the first Eclipse Temurin release.

jdk8u292-b10 first release

TRSS link
Build URL https://ci.adoptopenjdk.net/job/build-scripts/job/openjdk8-pipeline/1672/
Started by user George Adams

⚠️ jdk8u-aix-ppc64-hotspot has a build result of FAILURE ⚠️

Test_openjdk8_hs_extended.openjdk_x86-64_windows
⚠️ Test Job Failed ⚠️

Test_openjdk8_hs_extended.openjdk_ppc64le_linux_testList_1
hotspot_jre_1 => deep history 0/3 passed | possible issues
jdk_rmi_1 => deep history 2/3 passed | possible issues
jdk_jfr_1 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_sanity.openjdk_aarch64_linux
jdk_util_1 => deep history 1/14 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_mac_testList_1
jdk_jfr_1 => deep history 0/2 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_linux_testList_0
jdk_management_1 => deep history 1/3 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_linux_testList_2
jdk_tools_1 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_mac
⚠️ Test Job Failed ⚠️

Test_openjdk8_hs_sanity.openjdk_x86-32_windows
jdk_jdi_jdk8_2 => deep history 2/10 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_linux
⚠️ Test Job Failed ⚠️

Test_openjdk8_hs_extended.openjdk_x86-32_windows_testList_1
hotspot_jre_2 => deep history 0/3 passed | possible issues
jdk_jfr_2 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_sanity.openjdk_x86-64_windows
jdk_util_1 => deep history 2/11 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_mac_testList_0
hotspot_jre_1 => deep history 1/2 passed | possible issues
jdk_instrument_1 => deep history 0/2 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-32_windows_testList_0
jdk_management_2 => deep history 0/3 passed | possible issues
jdk_jmx_2 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_extended.openjdk_aarch64_linux
hotspot_jre_1 => deep history 1/5 passed | possible issues
jdk_other_1 => deep history 3/5 passed | possible issues
jdk_nio_1 => deep history 3/5 passed | possible issues
jdk_text_1 => deep history 0/5 passed | possible issues
jdk_management_1 => deep history 0/5 passed | possible issues
jdk_tools_1 => deep history 0/5 passed | possible issues
jdk_jfr_1 => deep history 0/5 passed | possible issues
jdk_imageio_1 => deep history 3/5 passed | possible issues

Test_openjdk8_hs_extended.openjdk_ppc64le_linux
⚠️ Test Job Failed ⚠️

Test_openjdk8_hs_extended.openjdk_x86-32_windows
⚠️ Test Job Failed ⚠️

Test_openjdk8_hs_extended.openjdk_ppc64le_linux_testList_0
jdk_management_1 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_linux_testList_1
hotspot_jre_1 => deep history 0/3 passed | possible issues
jdk_jfr_1 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_extended.openjdk_ppc64le_linux_testList_2
jdk_tools_1 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_windows_testList_1
hotspot_jre_1 => deep history 0/3 passed | possible issues
jdk_jfr_1 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_windows_testList_0
jdk_management_1 => deep history 0/3 passed | possible issues
jdk_jmx_1 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_extended.perf_x86-32_windows
renaissance-als_0 => deep history 0/4 passed | possible issues
renaissance-chi-square_0 => deep history 0/4 passed | possible issues
renaissance-dec-tree_0 => deep history 0/4 passed | possible issues
renaissance-gauss-mix_0 => deep history 0/4 passed | possible issues
renaissance-log-regression_0 => deep history 0/4 passed | possible issues
renaissance-movie-lens_0 => deep history 0/4 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_mac_testList_2
jdk_tools_1 => deep history 0/2 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-32_windows_testList_2
jdk_nio_2 => deep history 2/3 passed | possible issues
jdk_tools_2 => deep history 0/3 passed | possible issues

Test_openjdk8_hs_extended.openjdk_x86-64_windows_testList_2
jdk_tools_1 => deep history 0/3 passed | possible issues

Separate and add access controls for non-Temurin interim builds

As Adoptium builds non-Temurin code streams for the purposes of developing flexible build and test material, the results of such builds should only be available to developers. Eclipse denotes developers as those with an Eclipse account.

This issue covers putting the access control in place at Jenkins and elsewhere as required to ensure only those with an Eclipse account can download the non-Temurin code stream builds.

Change java -version/vendor output to be Temurin

Here is what I've got so far:

java -version

./bin/java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment Temurin-17+19-202104272346 (build 17+19-202104272346)
OpenJDK 64-Bit Server VM Temurin-17+19-202104272346 (build 17+19-202104272346, mixed mode, sharing)

java -XshowSettings:properties -version

./bin/java -XshowSettings:properties -version
Property settings:
    file.encoding = ANSI_X3.4-1968
    file.separator = /
    java.class.path = 
    java.class.version = 61.0
    java.home = /java/jdk-linux-hotspot/jdk-17+19
    java.io.tmpdir = /tmp
    java.library.path = /usr/java/packages/lib
        /usr/lib64
        /lib64
        /lib
        /usr/lib
    java.runtime.name = OpenJDK Runtime Environment
    java.runtime.version = 17+19-202104272346
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 17
    java.vendor = Eclipse Foundation
    java.vendor.url = https://adoptium.net/
    java.vendor.url.bug = https://github.com/adoptium/adoptium-support/issues
    java.vendor.version = Temurin-17+19-202104272346
    java.version = 17
    java.version.date = 2021-09-14
    java.vm.compressedOopsMode = 32-bit
    java.vm.info = mixed mode, sharing
    java.vm.name = OpenJDK 64-Bit Server VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 17
    java.vm.vendor = Eclipse Foundation
    java.vm.version = 17+19-202104272346
    jdk.debug = release
    line.separator = \n 
    os.arch = amd64
    os.name = Linux
    os.version = 4.19.121-linuxkit
    path.separator = :
    sun.arch.data.model = 64
    sun.boot.library.path = /java/jdk-linux-hotspot/jdk-17+19/lib
    sun.cpu.endian = little
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = ANSI_X3.4-1968
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    sun.stderr.encoding = ANSI_X3.4-1968
    sun.stdout.encoding = ANSI_X3.4-1968
    user.country = US
    user.dir = /java/jdk-linux-hotspot/jdk-17+19
    user.home = /root
    user.language = en
    user.name = root

Create AQAvit certification request template and workflow

The AQAvit project needs a mechanism for binary producers to submit AQAvit results for certification under the AQAvit quality branding program.

This issue covers the top level requirement for such a mechanism.

The certification request should be public (e.g. a templated issue in an AQAvit repository) and have a well defined workflow from submission to completion.

Provide Twitter Cards for Adoptium

We want to create some cards for twitter that we can use to spread the word about Adoptium and Temurin. Example:
Adoptium Questions 004

Next Steps:

  • Create a Google Doc that we can use to collect the content of the cards
  • Discuss with Eclipse marketing
  • Create the final cards

Setup TCK infrastructure to begin TCK testing binaries

This is the high-level view of the activities under this Epic (based off of the action plan from the Eclipse transition document):

  • Setup eclipse Jenkins server with the plugins listed in the requirements doc - done https://ci.eclipse.org/temurin-compliance (EF infra)
  • Create empty repos for the test material (for each version JCK8-unzipped, JCK11-unzipped, and so forth) and for the Test results - to push the results artifacts from the release pipelines (EF infra / PMC)
  • Coordinate with Wayne B. to transfer private JCK repo (which contains helpful FAQ and troubleshooting docs/wiki) to a private eclipse owned JCK repo (can be wiki off of the Test results repo (Shelley)
  • Generate test pipelines (including Grinders) (Shelley)
  • Create various triggers, both remotely triggered from open Temurin pipelines on the public server (for nightly/weekly runs), and top-level pipeline at the private Jenkins server that pull from the API and can trigger child pipelines by version/platform) (Shelley)
  • Attach Eclipse controlled machines (static and/or Eclipse controlled cloud instances to the private Jenkins server (and label appropriately), to cover all of the the different platforms we wish to distribute. (Stewart/George/Mikael)
  • Confirm machines for each platform have been added and configured properly (including at least 1 of each platform that can be used by committers to run manual TCK tests, see #3 (comment)) (@sxa, @gdams, @mbarbero)
  • Set up necessary jck servers (ubuntu-jckservices.yml for reference) (EF infra/Stewart)
  • Trial runs of other types of tests (non-JCK) to ensure Jenkins and nodes are setup correctly (on each platform/version) (Shelley / Temurin-compliance committers)
  • Download TCK material from Oracle site to populate the JCKxx-unzipped repos (preferably using jckUpdater script supplied to Mikael directly). (pending Oracle signature on 3way agreement, EDIT: 3way agreement signed June 1st, will proceed with this item now) (Mikael / Temurin-compliance committers)
  • Configure Jenkins server with credentials that allow test jobs access to clone private JCKxx-unzipped repos (@mbarbero)
  • Dry run automated TCK runs (nightly/weekly/full release), starting with 1 version and 1 platform and then expanding to the complete set (Shelley / Temurin-compliance committers)

Include required notices on website, in source tree, and in non-release builds

The Eclipse Adoptium Interim Build Labeling Requirements are described in
ATTACHMENT D TO ORACLE ECLIPSE OCTLA ASSIGNMENT, AMENDMENT, AND PARTICIPANT AGREEMENT
It contains text that is intended to be made public via the Adoptium project website, and obligations for the source and binaries produced by Eclipse.

This issue covers the work required to adhere to those requirements.

  • Create readme's in OpenJDK source trees (#15)
  • Mark intermediate builds (#17)
  • Update website intermediate build download site notice

Discuss options and details around Adoptium Marketplace

Issue by smlambert
Tuesday Mar 09, 2021 at 14:41 GMT
Originally opened as AdoptOpenJDK/TSC#209


Based on some conversation both in working group, transition meetings and the Adoptium community call, let's put down some additional details about an Adoptium marketplace and start to flush out implementation details and challenges.

What is a marketplace?

  • a place where member distributors can market their binaries, essentially a centralized location on a website
  • TBD - determine if marketplace extends into serving up Docker images via a 'marketplace' Dockerhub repo

Criteria?

  • member of Adoptium WG
  • binaries pass compliance (TCKed by vendors)
  • binaries pass AQA suite

How can these be served up?

  • based on what we do today, the API can serve up binaries that sit in a Github releases repo, least friction path would be to
    • ask members to push their binaries to a Github releases repo
    • our API can pick up tarballs from the releases repo and serve it up directly and (optionally) feed it into an installers pipeline to produce installers to be served up via the marketplace
    • if Docker images are also considered as part of the marketplace, our tooling can pull tarballs from releases repos to generate various images (and push to Dockerhub)

It may be useful to look at the diagram from AdoptOpenJDK/TSC#158 (comment) where the JDK production swim lane is owned by the member who in the publish stage pushes to a releases repo.

Then the installers and docker images swim lane could (potentially) be a mechanism of the marketplace rather than expect members to each deliver unique solutions for these artifacts.

Provide slide theme & graphics for Adoptium slide decks

We should provide a Keynote / Powerpoint theme for Adoptium talks.
Next to this we should provide common graphics / diagrams regarding Adoptium that can be used in presentations.

Open points:

  • should such artifacts be stored in this repo or as a shared Google drive folder?

Create AQAvit testing and reporting process

Define the process whereupon binary producers can run applicable AQAvit quality tests against their build, and report the results in a manner suitable for submission as an AQAvit Certification Request (see #21).

Add required source tree notices

Part of #5

Add the README.JAVASE notices as required by agreement.

To complete, in order:

  • Add in the README.JAVASE with required text to Temurin branches of OpenJDK.
  • Update the build scripts to look for this notice file, rather than the Temurin.md marker file. That ensures the notice is present every time.
  • Remove the old Temurin.md marker files.

Change build metadata to refer to Temurin

There are several code changes that will likely be required here:

off the top of my head we will need to make changes in the build, ci-jenkins-pipelines and installer repos

Mark intermediate builds appropriately

Part of #5

Intermediate builds (which are formally defined here, but take as non-JCK'd builds) need to be marked with the word "UNTESTED" or "INCOMPATIBLE" or "UNSTABLE" or "BETA".

Retrospective for July 2021 Releases

Using Community call timeslot and link for the retrospective
Time

Wednesday Sept 1, 2021 4pm-5pm GMT (11am-noon EST/Ontario)

Location

https://bluejeans.com/956754991/2833?src=calendarLink

A bulleted list of all proposed agenda items in this issue (whether at the top or in a comment) will be created on the day of the call, with a list of actions added at the end.

Invited @adoptium/adoptium-committers @adoptium/adoptium-temurin-committers @adoptium/adoptium-aqavit-committers and anyone else interested in improving our release process

Retrospective Owner Tasks (in order):

  • Post this issue's URL on the #Release Slack channel around the start of the new release.
  • Copy actions from the previous retrospective into this issue, while ignoring actions that have an issue link (i.e. clearly-completed actions).
  • Wait until all builds have been released, with no clear signs of additional respins.
  • Announce the retrospective Slack call's date + time on #Release at least one full week in advance, and send out meeting invites.
  • On the day of the call, compile all of the agenda items into a tick-box list inside a single comment.
  • Host the slack call for the retrospective, including:
    • Iterating over the actions from the previous retrospective issue, annotating both issues with any issues that have been raised for them.
    • Iterate over the agenda tick-list, ensuring everything gets debated.
    • Create a clear list of actions at the end of the retrospective, including volunteer names.
  • Close the issue for the previous retrospective, ensuring that every action is annotated with its conclusion (issue link, ignored, etc).
  • Create a new retrospective issue for the next release.
  • Set yourself a calendar reminder so that you remember to commence step 1 (in the new issue) just before the next release.

Add proposed agenda items as comments below.

Bi-weekly Adoptium Community Call - May 18, 2021

Time

Tuesday May 18, 2021 4pm-5pm GMT (11am-12pm EST/Ontario)

Location

https://bluejeans.com/956754991/2833?src=calendarLink

Add this recurring bi-weekly Adoptium Community Call to your calendar, if you wish.

Overall Purpose

Mainly to make announcements regarding planned actions that affect the Adopt community
(Emphasis on non-test efforts, as those are covered in AQAvit call on Wednesdays)

Secondary purposes include debate, discussion, and community socializing.

Call to be recorded for reference, and linked in this issue afterwards.

Proposed Meeting Agenda - TBD / topics to be confirmed

  • First Temurin release - status update
  • Update on linux installers work
  • Update on reproducible builds prototype

Bi-weekly Adoptium Community Call - June 1, 2021

Time

Tuesday June 1, 2021 4pm-5pm GMT (11am-12pm EST/Ontario)

Location

https://bluejeans.com/956754991/2833?src=calendarLink

Add this recurring bi-weekly Adoptium Community Call to your calendar, if you wish. Available via the Adoptium community calendar.

Overall Purpose

Mainly to make announcements regarding planned actions that affect the Adopt community
(Emphasis on non-test efforts, as those are covered in AQAvit call on Wednesdays)

Secondary purposes include debate, discussion, and community socializing.

Call to be recorded for reference, and linked in this issue afterwards.

Proposed Meeting Agenda - TBD / topics to be confirmed

  • First Temurin release - status update
  • Update on linux installers work
  • Update on reproducible builds prototype
  • Review PMC Highlights.
  • Make a “revoked public access to builds” announcement.
  • Review this issue growth chart.

image

Notify Eclipse Foundation of cryptography implementation/usage

Temurin contains encryption software, ensure necessary Contribution Questionnaires are raised to indicate which project(s) under Adoptium contain cryptography (Cryptography Declaration).

By doing so, Eclipse Foundation tooling will flag the project(s) accordingly to ensure the project(s) are encompassed in reporting requirements for Export Controls Notification to the US Government Bureau of Industry and Security.

The Eclipse Project Handbook has more information regarding Notice File updates with respect to cryptography for Eclipse projects.

Bi-weekly Adoptium Community Call - July 7, 2021

Time

Wednesday July 7, 2021 3pm-4pm GMT (10am-11am EST/Ontario)

Location

https://bluejeans.com/956754991/2833?src=calendarLink

Add this recurring bi-weekly Adoptium Community Call to your calendar, if you wish. Available via the Adoptium community calendar.

Overall Purpose

Mainly to make announcements regarding planned actions that affect the Adopt community
(Emphasis on non-test efforts, as those are covered in AQAvit call on oppposite bi-weekly Wednesdays)

Secondary purposes include debate, discussion, and community socializing.

Call to be recorded for reference, and linked in this issue afterwards.

Proposed Meeting Agenda - TBD / topics to be confirmed

  • 1st Temurin release / July release planning / Review related projects - all
  • Update on reproducible builds prototype - @andrew-m-leonard
  • Future of Adoptium documentation - @hendrikebbers
  • Marketing activities - @hendrikebbers

Bi-weekly Adoptium Community Call - June 15, 2021

Time

Tuesday June 15, 2021 4pm-5pm GMT (11am-12pm EST/Ontario)

Location

https://bluejeans.com/956754991/2833?src=calendarLink

Add this recurring bi-weekly Adoptium Community Call to your calendar, if you wish. Available via the Adoptium community calendar.

Overall Purpose

Mainly to make announcements regarding planned actions that affect the Adopt community
(Emphasis on non-test efforts, as those are covered in AQAvit call on Wednesdays)

Secondary purposes include debate, discussion, and community socializing.

Call to be recorded for reference, and linked in this issue afterwards.

Proposed Meeting Agenda - TBD / topics to be confirmed

  • First Temurin release - status update
  • Update on reproducible builds prototype
  • Review PMC Highlights.

Provide definition for online documentation structure & used technology

For the new Adoptium.net page we want to improve how documentation can be created and how it is rendered on the page. It must be much easier to provide new documentation or update documentation for the page. Next to this it must be possible to provide some important documentations in multiple languages.

The current version of the definition can be found here:
https://docs.google.com/document/d/1AHxz5hSr4MJApAuPOYzjY7CLRTOHJgh7gxgGFUV2WAk/edit#

The student project regarding asciidoc based documentation can be found here:
https://github.com/AdoptOpenJDK/website-adoptium

Bi-weekly Adoptium Community Call - July 21, 2021

Time

Wednesday July 21, 2021 3pm-4pm GMT (10am-11am EST/Ontario)

Location

https://bluejeans.com/956754991/2833?src=calendarLink

Add this recurring bi-weekly Adoptium Community Call to your calendar, if you wish. Available via the Adoptium community calendar.

Overall Purpose

Mainly to make announcements regarding planned actions that affect the Adopt community
(Emphasis on non-test efforts, as those are covered in AQAvit call on oppposite bi-weekly Wednesdays)

Secondary purposes include debate, discussion, and community socializing.

Call to be recorded for reference, and linked in this issue afterwards.

Proposed Meeting Agenda - TBD / topics to be confirmed

  • July release week update - all
  • Update on documentation on future Adoptium.net webpage - Hendrik
  • Update on Temurin on logo design - Hendrik
  • GHC opensource day 'results'
  • Welcome to new contributors

Switch our builds to use Eclipse Codesigning certificates

From EF:

We provide various services for signing binaries: jar, Portable Executable (aka PE - the windows exe) and macOS bundles (.app, .dmg. pkg). We also provide a notarization service for macOS.

Code signing certificates owned by the Foundation are never directly accessible, all projects have to go trough those services to sign binaries. Services are also only accessible behind our firewall for security reasons.

Currently, projects who need access to the services all have a Jenkins instance running inside our infra, so it's usually not a problem. But as far as I understood, your main Jenkins instance will be hosted outside of our infra, so I'm not sure yet how we will proceed. Could you please give me some pointer to how/where you do code signing currently?

Documentation of signing services is available on our wiki https://wiki.eclipse.org/IT_Infrastructure_Doc#Sign_my_Jar.2Fplugins.2FWindows_exe.2FmacOS_App_files.3F

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.