Prophecis is a one-stop machine learning platform developed by WeBank

Overview

Prophecis

License

English | 中文

Introduction

Prophecis is a one-stop machine learning platform developed by WeBank. It integrates multiple open-source machine learning frameworks, has the multi tenant management capability of machine learning compute cluster, and provides full stack container deployment and management services for production environment.

Architecture

  • Overall Structure

    Prophecis

    Five key services in Prophecis:

  • Prophecis Machine Learning Flow:Distributed machine learning modeling tool, with stand-alone and distributed mode model training functions, supports Tensorflow, Python, XGBoost and other machine learning frameworks, and supports the complete pipeline from machine learning modeling to deployment;

  • Prophecis MLLabis:Machine learning development and exploration tools, providing development and exploration services. MLLabis is an online IDE based on Jupyter Lab. It also supports machine learning tasks for GPU and Hadoop clusters, supports Python, R, and Julia, and integrates Debug and TensorBoard plugins;

  • Prophecis Model Factory: MF provides machine learning model storage, model deployment, AB Test, model management and other services;

  • Prophecis Data Factory: DF provides feature engineering tools, data labeling tools and material management services;

  • Prophecis Application Factory:AF is jointly developed by the big data platform team and AI Department of Webank. It is based on QingCloud's open source system KubeSphere custom development, providing CI/CD and DevOps tools, GPU cluster monitoring and warning capabilities.

  • Features

    Prophecis功能特色

  • Whole Machine Learning Life Cycle Support:Prophecis's MLFlow can be nested into the workflow of DataSphere Stdudio through AppJoint. Support the entire machine learning process from data upload, data preprocessing, feature engineering, model training, model evaluation, model release to model deployment.

    DSS-Prophecis

  • One-Click Model Deployment Service:Prophecis MF supports deploying models generated by Prophecis Machine Learning Flow and Propheics MLLabis as restful API or RPC interface with one click, so as to realize seamless connection between model and business system.

  • Comprehensive Management Platform:Based on the community open source program customization, Prophecis provides complete, reliable, and highly flexible enterprise-level machine learning application release, monitoring, service management, log collection and query management tools, and realizes the full control of machine learning applications to meet the needs of enterprises Learn to apply all the work requirements of the online production environment.

Quick Start Guide

Developing

  • Read the Develop Guide guide to quickly get how to develop Prophecis.

Roadmap

  • See our Roadmap for what's coming soon in Prophecis.

Contributing

Contributions are warmly welcomed and greatly appreciated.

Communication

If you desire immediate response, please kindly raise issues to us or scan the below QR code by WeChat and QQ to join our group: :

Communication

License

Prophecis is under the Apache 2.0 license. See the LICENSE file for details.

Issues
  • 创建notebook一直是waiting状态

    创建notebook一直是waiting状态

    • helm version:version.BuildInfo{Version:"v3.2.1", GitCommit:"fe51cd1e31e6a202cba7dead9552a6d418ded79a", GitTreeState:"clean", GoVersion:"go1.13.10"}
    • docker version:
    Client: Docker Engine - Community
     Version:           19.03.9
     API version:       1.40
     Go version:        go1.13.10
     Git commit:        9d988398e7
     Built:             Fri May 15 00:25:27 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.9
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.13.10
      Git commit:       9d988398e7
      Built:            Fri May 15 00:24:05 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.4.13
      GitCommit:        9cc61520f4cd876b86e77edfeb88fbcd536d1f9d
     runc:
      Version:          1.0.3
      GitCommit:        v1.0.3-0-gf46b6ba
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    

    -k8s version:

    Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.4", GitCommit:"e6c093d87ea4cbb530a7b2ae91e54c0842d8308a", GitTreeState:"clean", BuildDate:"2022-02-16T12:38:05Z", GoVersion:"go1.17.7", Compiler:"gc", Platform:"linux/amd64"}
    Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.20", GitCommit:"1f3e19b7beb1cc0110255668c4238ed63dadb7ad", GitTreeState:"clean", BuildDate:"2021-06-16T12:51:17Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
    

    创建NoteBook之后,状态一直都是waiting,该如何处理?哪里能看到日志?

    opened by marstalk 5
  • 镜像无法拉取!!!

    镜像无法拉取!!!

    您好! wedatasphere/prophecis:metrics-0.2.0 wedatasphere/prophecis:jobmonitor-0.2.0 wedataspere/prophecis:minio-2020-06-14 wedatasphere/prophecis:lcm-0.2.0 wedatasphere/prophecis:trainer-0.2.0 这些镜像都无法拉取,请问仓库里有这些镜像吗?

    opened by gugumituo 3
  • I encountered the following problems:nginx: [emerg] host not found in resolver

    I encountered the following problems:nginx: [emerg] host not found in resolver "kube-dns.kube-system.svc.cluster.local" in /etc/nginx/conf.d/ui.conf:46

    [[email protected] Prophecis]# kubectl logs -f bdap-ui-deployment-595f6c44bf-jmkb5 -n prophecis /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf is not a file or does not exist /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Configuration complete; ready for start up nginx: [emerg] host not found in resolver "kube-dns.kube-system.svc.cluster.local" in /etc/nginx/conf.d/ui.conf:46 [[email protected] Prophecis]#

    opened by ATM006 1
  • which version of k8s supported?

    which version of k8s supported?

    I had test kubernetes v1.20.0 and v1.18.6 and it shows errors, and below is the detail information:

    run helm install notebook-controller . in folder Prophecis/helm-charts/k8s 1.18.6/notebook-controller it shows: Error: template: MLSS/templates/notebook-controller-0.5.1.yaml:115:24: executing "MLSS/templates/notebook-controller-0.5.1.yaml" at <.Values.aide.controller.notebook.repository>: nil pointer evaluating interface {}.controller

    run helm install notebook-controller . in folder Prophecis/helm-charts/notebook-controller it shows: Error: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "Deployment" in version "apps/v1beta1", unable to recognize "": no matches for kind "StatefulSet" in version "apps/v1beta2"

    opened by xueyoo 1
  • feat(mllabis): Add resource modification and release in notebook server

    feat(mllabis): Add resource modification and release in notebook server

    1、Add resource modification and resource release in notebook server. 2、Optimize log and status viewing function. 3、Add notebook controller(From Kubeflow Controller).

    opened by alexzyWu 0
  • Update Docs

    Update Docs

    1、Update User Guide MLLabis: notebook management and use of SparkClient, SparkMagic, LinkisMagic in notebook DI: use of distributed modeling and CLI . Controller Center: namespace, user and group management.

    2、Update development Doc: Add CI/CD Pipeline construction and remote debugging guide.

    3、Update deployment Doc: Add Q&A and update quick start guide.

    opened by finalTestin 0
  • 自身创建notebook镜像

    自身创建notebook镜像

    可自身创建notebook运行镜像: 1.Dockerfile:

    其他的镜像类似

    docker pull jupyter/scipy-notebook:notebook-6.4.10

    FROM jupyter/scipy-notebook:notebook-6.4.10 USER root RUN echo "Asia/shanghai" > /etc/timezone ENTRYPOINT ["sh","-c", "jupyter lab --notebook-dir=/home/jovyan --ip=0.0.0.0 --no-browser --allow-root --port=8888 --NotebookApp.token='' --NotebookApp.password='' --NotebookApp.allow_origin='*' --NotebookApp.base_url=${NB_PREFIX}"]

    2.编译:

    编译成自身tag

    docker build -t "xxxx/jupyter/scipy-notebook:notebook-6.4.10" .

    opened by GodfreyGuo 0
  • mlss-controlcenter-go 源码是否和线上的cc-apiserver-v0.3.0中编译的源码不一致

    mlss-controlcenter-go 源码是否和线上的cc-apiserver-v0.3.0中编译的源码不一致

    我将GitHub源码编译成的 mlss-controlcenter-go 替换 了 cc-apiserver-v0.3.0中的执行文件,但是线上运行时页面报如下两个错:

    path /cc/v1/groups/group/storage was not found Error when checking namespace from cc, {"code":404,"message":"path /cc/v1/groups/users/roles/1/namespaces was not found"}

    线上cc-apiserver-v0.3.0中的mlss-controlcenter-go是否和GitHub上一源码致呢?

    opened by wallyell 1
  • Prophecis-0.3.0部署步骤

    Prophecis-0.3.0部署步骤

    安装helm-3.2.1:

    wget https://get.helm.sh/helm-v3.2.1-linux-amd64.tar.gz
    
    tar -xzvf helm-v3.2.1-linux-amd64.tar.gz
    
    cd linux-amd64/
    
    mv helm /usr/bin/
    
    helm version
    
    helm repo list
    
    helm repo add aliyuncs https://apphub.aliyuncs.com
    

    安装Istio-1.8.2

    wget https://github.com/istio/istio/releases/download/1.8.2/istio-1.8.2-linux-amd64.tar.gz
    
    #设置istioctl环境变量
    export PATH=$PATH:/opt/istio-1.8.2/bin
    
    #部署
    istioctl install
    #验证,查看相关Pod是否正常Running
    kubectl -n istio-system get pods 
    

    安装seldon core-1.13.0

    wget https://github.com/SeldonIO/seldon-core/archive/refs/tags/v1.13.0.tar.gz
    
    cd seldon-core-1.13.0/helm-charts
    
    helm install seldon-core seldon-core-operator --set usageMetrics.enabled=true --namespace seldon-system --set istio.enabled=true
    
    
    #如果镜像拉取报错
    docker pull registry.cn-shenzhen.aliyuncs.com/shikanon/google_containers.spartakus-amd64:v1.1.0
    docker tag registry.cn-shenzhen.aliyuncs.com/shikanon/google_containers.spartakus-amd64:v1.1.0 gcr.io/google_containers/spartakus-amd64:v1.1.0
    
    
    
    helm list -n seldon-system
    
    
    helm del seldon-core -n seldon-system 
    
    

    安装nfs:

    yum install -y nfs-utils rpcbind
    
    
    
    systemctl start rpcbind
    systemctl enable rpcbind
    
    systemctl start nfs-server
    systemctl enable nfs-server
    
    

    环境准备

    1.增加配置文件
    vim /root/.docker/config.json
    #增加如下配置
    {
            "auths": {
                    "": {
                            "auth": ""
                    }
            },
            "HttpHeaders": {
                    "User-Agent": "Docker-Client/20.10.8-ce (linux)"
            }
    }
    
    
    2.NFS服务端挂载共享文件
    mkdir -p /data/bdap-ss/mlss-data/tmp
    mkdir -p /mlss/di/jobs/prophecis
    mkdir -p /cosdata/mlss-test
    
    
    vim /etc/exports
    /data/bdap-ss/mlss-data/tmp xx.xx.xx.0/24(rw,sync,no_root_squash)
    /mlss/di/jobs/prophecis xx.xx.xx.0/24(rw,sync,no_root_squash)
    /cosdata/mlss-test xx.xx.xx.0/24(rw,sync,no_root_squash)
    
    exportfs -arv
    
    3.NFS客户端挂载共享文件
    showmount -e xx.xx.xx.xx
    
    mkdir -p /data/bdap-ss/mlss-data/tmp
    mkdir -p /mlss/di/jobs/prophecis
    mkdir -p /cosdata/mlss-test
    
    
    mount xx.xx.xx.xx:/data/bdap-ss/mlss-data/tmp /data/bdap-ss/mlss-data/tmp
    mount xx.xx.xx.xx:/mlss/di/jobs/prophecis /mlss/di/jobs/prophecis
    mount xx.xx.xx.xx:/cosdata/mlss-test /cosdata/mlss-test
    
    4.调整部分问题

    (1) 文件重复问题:

    /install/Prophecis/templates/di 文件下:learner-configmap.yml 与 learner-rsa-keys.yml 移动至 /install/Prophecis/templates/services 下,然后删除 /install/Prophecis/templates/di 文件夹。

    (2) 镜像地址问题

    安装配置文件中,所有 uat.sf.dockerhub.stgwebank/webank/prophecis 的镜像地址 更换成 wedatasphere/prophecis

    (3) 修改sql数据库配置信息

    install/sql下,数据库创建文件:

    prophecis.sql 与 prophecis-data.sql 前两行的数据库地址

    CREATE DATABASE IF NOT EXISTS `mlss_gzpc_bdap_uat_01` /*!40100 DEFAULT CHARACTER SET utf8 */;
    USE `mlss_gzpc_bdap_uat_01`;
    

    改成自己的数据库地址,地址对应下一条中mysql配置的 db —> name

    然后,先后复制 prophecis.sql 与 prophecis-data.sql 内容至数据库sql脚本编辑器中执行,生成对应表与文件。

    5.修改配置信息

    /install/Prophecis/values.yaml中需要修改如下部分

    # 改成自己的,mysql的用户名密码
    db:
      server: 127.0.0.1
      port: 3306
      name: prophecis_db
      user: prophecis
      pwd: [email protected]
    
    # 用户访问的网页地址,改成宿主机节点ip
    gateway:
      address: 127.0.0.1
      port: 30778
    
    #超级管理员的用户名密码,可以改成自己需要的,需对应数据库表t_superadmin
    admin:
        user: hadoop
        password: hadoop
    

    安装各个组件

    kubectl create namespace prophecis
    
    kubectl label nodes xx.xx.xx.xx mlss-node-role=platform
    #如果有GPU计算节点,则标注NVIDIAGPU
    kubectl label nodes xx.xx.xx.xx hardware-type=NVIDIAGPU
    
    
    
    ## 安装Notebook Controller组件
    helm install notebook-controller ./notebook-controller
    ## 安装MinIO组件
    helm install minio-prophecis --namespace prophecis ./MinioDeployment
    ## 安装prophecis组件
    helm install prophecis ./Prophecis
    
    
    #查看与删除
    helm list --all
    helm del prophecis --namespace default
    helm del notebook-controller --namespace default
    helm del minio-prophecis --namespace prophecis
    
    
    
    opened by wallyell 0
Releases(v0.3.0)
  • v0.3.0(Apr 7, 2022)

    Prophecis v0.3.0 mainly publish MLFlow module and Model Factory module.

    Enhancement

    [1] Add mlflow module to support the workflow management of machine learning experiment; #42 #43 #48 #51 #53 [2] Add mlflow appconn module to support embedding machine learning workflow into datasphere studio workflow; #44 [3] A new databrick mlflow server is added to support the storage and tracking of the recorded data of modeling experiments; #48 [4] Add a new model factory service to support model registration, deployment and image construction; #45 [5] Optimize the notebook instance management capability of mllabis, and add log viewing, resource modification, resource release and other functions; #47 #50 [6] Optimize the notebook sparkclient of mllabis and support the creation of multiple sparkclient instances; #47 [7] Optimize doc module, add appconn compilation and deployment documents, and update relevant documents of user_manual; #50 [8] Optimize the install module and add a model factory deployment script (helm chart). #46

    Source code(tar.gz)
    Source code(zip)
    mlflow-appconn-lib.zip(58.85 MB)
    prophecis-appconn-lib.zip(59.66 MB)
  • v0.2.2(Aug 10, 2021)

  • v0.2.1(Jul 29, 2021)

    Prophecis 0.2.1 release

    Prophecis v0.2.1 mainly updates the installation, development and use documents, while optimizing the Helm Chart.

    Enhancement

    [1] Add CC user document, DI user document, development document and configuration document, modify the deployment document. #28 [2] Move the LogCollectorDS component to the Prophecis component. #27 [3] Reduce the varaiables exposed by values.yaml in the Prophecis component. #27

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Mar 15, 2021)

    Prophecis 0.2.0 release

    Prophecis v0.2.0 mainly publish distributed modeling module(DI). This module is based on FfDL and mainly provides single machine modeling and distributed tensorflow tasks.

    Enhancement

    [1] Add Prophecis-DI Rest Module. #12 [2] Add Prophecis-DI Trainer & JobMonitor Module, which is responsible for managing the task lifecycle. #13 [3] Add Prophecis-DI LCM Module, which is responsible task scheduling, building single machine and distributed tasks. #8 [4] Add Prophecis-DI Storage Module, which is Responsible for the operation of storage module, such as Minio, ES, Mongo, etc. #14 [5] ADD Log in CLI Program, a command-line interface tool. #11

    Bugfix

    [1] Fix Helm Chart Setting Error. #16

    Prophecis-DI module is built based on the FfDL. The main modifications are as follows:

    [1] Integrate Kubeflow Arena,Provide distributed tensorflow task ability. [2] Modify the creation mode of single machine modeling task:remove helper and job jobmonitor in task, and change deploy pod to deploy job. [3] The log collection service is changed to daemonset, and the collection tool is changed to fluent bit. [4] The task status update mode is changed to an independent service job monitor. [5] Add user GUID control in container data directory. [6] Enhance CLI, added parameter replacement of yaml template, and the train command was modified to websocket connect, providing log and state. [7] The code file storage server is changed to Minio.

    Source code(tar.gz)
    Source code(zip)
  • v0.1.1(Dec 21, 2020)

    Prophecis 0.1.1 release

    Prophecis v0.1.1 is mainly a bug fix version, this version aim to fix some login error and adds helm chart for notebook controller deployment.

    Enhancement

    [1] User login add password RSA encryption verification. #1 [2] Add configurable administrator users to the system. #1 [3] Add Notebook Controller Deploy Helm Chart. #1

    Bugfix

    [1] Fix LDAP BUG:Add BaseDN config. #1 [2] Fix Helm Chart BUG:Wrong repository and variable. #1

    Source code(tar.gz)
    Source code(zip)
On-line Machine Learning in Go (and so much more)

goml Golang Machine Learning, On The Wire goml is a machine learning library written entirely in Golang which lets the average developer include machi

Conner DiPaolo 1.3k Jun 30, 2022
Gorgonia is a library that helps facilitate machine learning in Go.

Gorgonia is a library that helps facilitate machine learning in Go. Write and evaluate mathematical equations involving multidimensional arrays easily

Gorgonia 4.5k Jun 26, 2022
Machine Learning libraries for Go Lang - Linear regression, Logistic regression, etc.

package ml - Machine Learning Libraries ###import "github.com/alonsovidales/go_ml" Package ml provides some implementations of usefull machine learnin

Alonso Vidales 193 Jun 23, 2022
Gorgonia is a library that helps facilitate machine learning in Go.

Gorgonia is a library that helps facilitate machine learning in Go. Write and evaluate mathematical equations involving multidimensional arrays easily

Gorgonia 4.5k Jun 26, 2022
Go Machine Learning Benchmarks

Benchmarks of machine learning inference for Go

Nikolay Dubina 23 May 27, 2022
Deploy, manage, and scale machine learning models in production

Deploy, manage, and scale machine learning models in production. Cortex is a cloud native model serving platform for machine learning engineering teams.

Cortex Labs 7.8k Jun 21, 2022
A High-level Machine Learning Library for Go

Overview Goro is a high-level machine learning library for Go built on Gorgonia. It aims to have the same feel as Keras. Usage import ( . "github.

AUNUM 300 Jun 16, 2022
Standard machine learning models

Cog: Standard machine learning models Define your models in a standard format, store them in a central place, run them anywhere. Standard interface fo

Replicate 2.6k Jun 30, 2022
Katib is a Kubernetes-native project for automated machine learning (AutoML).

Katib is a Kubernetes-native project for automated machine learning (AutoML). Katib supports Hyperparameter Tuning, Early Stopping and Neural Architec

Kubeflow 1.2k Jun 23, 2022
PaddleDTX is a solution that focused on distributed machine learning technology based on decentralized storage.

中文 | English PaddleDTX PaddleDTX is a solution that focused on distributed machine learning technology based on decentralized storage. It solves the d

null 58 Jun 23, 2022
Self-contained Machine Learning and Natural Language Processing library in Go

Self-contained Machine Learning and Natural Language Processing library in Go

NLP Odyssey 1.2k Jun 24, 2022
The open source, end-to-end computer vision platform. Label, build, train, tune, deploy and automate in a unified platform that runs on any cloud and on-premises.

End-to-end computer vision platform Label, build, train, tune, deploy and automate in a unified platform that runs on any cloud and on-premises. onepa

Onepanel, Inc. 605 Jun 24, 2022
Reinforcement Learning in Go

Overview Gold is a reinforcement learning library for Go. It provides a set of agents that can be used to solve challenges in various environments. Th

AUNUM 272 Jun 29, 2022
Spice.ai is an open source, portable runtime for training and using deep learning on time series data.

Spice.ai Spice.ai is an open source, portable runtime for training and using deep learning on time series data. ⚠️ DEVELOPER PREVIEW ONLY Spice.ai is

Spice.ai 738 Jun 21, 2022
FlyML perfomant real time mashine learning libraryes in Go

FlyML perfomant real time mashine learning libraryes in Go simple & perfomant logistic regression (~100 LoC) Status: WIP! Validated on mushrooms datas

Vadim Kulibaba 1 May 30, 2022
Go (Golang) encrypted deep learning library; Fully homomorphic encryption over neural network graphs

DC DarkLantern A lantern is a portable case that protects light, A dark lantern is one who's light can be hidden at will. DC DarkLantern is a golang i

Raven 1 Dec 2, 2021
A tool for building identical machine images for multiple platforms from a single source configuration

Packer Packer is a tool for building identical machine images for multiple platforms from a single source configuration. Packer is lightweight, runs o

null 2 Oct 3, 2021
Social-gold - Social Gold is the blockchain that powers the Social Gold Social platform

Social Gold is Proof of authority (POA) blockchain that powers the Social Gold S

Willis Ayres 1 Feb 20, 2022
The one-stop shop for most common Go functions

Pandati The one stop shop for most common Go functions Table of contents Pandati The one stop shop for most common Go functions Table of contents Purp

Lukasz Raczylo 2 Mar 21, 2022
Dev Lake is the one-stop solution that integrates, analyzes, and visualizes software development data

Dev Lake is the one-stop solution that integrates, analyzes, and visualizes software development data throughout the software development life cycle (SDLC) for engineering teams.

Merico 22 Jun 30, 2022
One-stop shop for english-translated licensed hentai manga and doujins, beat your meat in peace, without any bullshit and drama attached to it.

koushoku Source code of site [redacted] for those who are willing to run their own instance. How it serve and index the archives Archives and its file

rs 29 Jun 20, 2022
ecsk is a CLI tool to interactively use frequently used functions of docker command in Amazon ECS. (docker run, exec, cp, logs, stop)

English / 日本語 ecsk ECS + Task = ecsk ?? ecsk is a CLI tool to interactively use frequently used functions of docker command in Amazon ECS. (docker run

null 101 Jun 20, 2022
A simple go program which checks if your websites are running and runs forever (stop it with ctrl+c). It takes two optional arguments, comma separated string with urls and an interval.

uptime A simple go program which checks if your websites are running and runs forever (stop it with ctrl+c). It takes two optional arguments: -interva

Markus Tenghamn 6 Jan 6, 2022
Simple docker tui to list, start and stop your containers

docker-tui Simple docker tui that lets you list, start and stop your containers. Current status Rough, initial prototype. Build with This tool relies

Olek 5 Apr 2, 2022
Ever wanted to stop a PVC from deleting?

cnskunkworks-unterminate Oh no! This repository will show you how to unterminate terminating kubernetes resources. It relies on manipulating the data

Cloud Native Skunkworks 1 Nov 18, 2021
Automatically stop GCE instances

auto-stop-gce-instances Architecture How to deploy 1. Deploy Pub/Sub $ gcloud pubsub topics create $PUBSUB_NAME 2. Deploy Cloud Functions $ gcloud fu

Tomomasa Uchida 0 Nov 28, 2021
run/stop goroutines/tasks securely, recursively

grunner - run/stop goroutines/tasks securely, recursively. s1 := grunner.New() s1.Defer(func() { fmt.Println("s1 stopped 2") }) s1.Defer(func() {

vogo 0 Apr 22, 2022
Stop using install.sh! Start using install.yml! DAJE...

Daje - A general purpose Ansible dotfiles installer Configure one time and run everywhere. What is this I've never liked using a big bash script to in

Schrödinger Hat 18 May 17, 2022
This is the repository for the LinkedIn Learning course Learning Go.

Learning Go This is the repository for the LinkedIn Learning course Learning Go. The full course is available from LinkedIn Learning. What is Go? Go i

Zhenguan Tang 0 Nov 2, 2021