1024 code 使用说明

  • content {:toc}

1024 相关/ 项目

1 简介

拿到邀请码以后再去注册

主要功能

  • 在线多人协作, 包括代码
  • code 在线分享: 类似于 kaggle
  • 助手: gpt
  • Git版本管理: Git Commit,管理你的代码版本
  • 数据库: 云端数据库

建议 创建 github仓库

‌‌‌⁢⁤‍⁣‍‌‬‌‌⁡⁣⁤‌⁡⁣⁤‬⁣‬‍⁡⁢⁡⁣‬⁣⁡⁡⁤⁡‌1024Code 组队协作编程流程说明文档(后端) - 飞书云文档 (feishu.cn)

产品简介 | 1024Code 文档中心

2 github 联动

添加公钥到 GitHub/Gitee/GitLab

打开个人中心设置页面复制个人的 SSH 公钥:添加到你的 GitHub/Gitee/GitLab 账户中:

添加公钥到GitHub

  • 创建一个和代码空间同名的远程仓库,或在已存在的远程仓库中复制该仓库地址,如:git@github.com:li382112772/SimpleNES.git

3 创建团队

  • 登录1024Code账号,进入工作台后,点击我的团队区域的"创建团队“功能按钮创建团队.
  • 上传团队头像,填写团队名称以及团队简介信息后创建团队.

在团队工作台成员页面,添加或使用链接邀请成员加入团队. 在对团队成员列表里,可以更改成员角色、移出团队成员,可更改的角色包括:

  • 成员:可自由创建团队代码空间,可见团队所有代码空间,但不可编辑自己未加入协作的代码空间
  • 管理员:可自由创建团队代码空间,可见并可主动加入所有团队代码空间进行协作编辑,可处理团队加入申请、可管理团队
  • 所有者:拥有管理员全部权限的同时,可移交团队给其他成员(将其他成员设为所有者)

4 1024 创建代码空间

邀请队员加入代码空间协作

  • 在代码空间中点击协作浮窗,搜索添加或链接邀请队员加入代码空间进行实时协作编程.

使用git功能从远程仓库同步代码

  • 首先前往GitHub/GitLab网站创建一个项目,作为这次组队项目的远程代码仓库,并各自创建分支,以方便团队成员之间异步协作.
  • 之后,打开1024Code代码空间git功能侧边窗口,按照操作提示流程连接远程仓库,同步1024Code代码仓库代码和GitHub/GitLab远程库代.

连接App调试接口

  • 按照项目要求下载apk
  • 安装App后.在App中设置服务端地址,即1024Code代码空间浏览器输出窗口中的URL地址,进行接口调试,如下图:

注意:1024Code代码空间浏览器输出窗口中的URL地址,如https:/e398ab9bee48dc435e6fd167398b57c3-app.1024paas.com,伴随着代码空间所在容器的释放和重启激活(代码空间长时间无操作或者关闭页面后代码空间所在容器会被释放掉,再次打开后会重启一个容器),该URL地址会变.当服务端URL地址改变后,需要在App中重新设置下服务端地址. 此外,1024Code浏览器输出端口暂时仅支持8080端口,参照demo代码空间, listen and serve on 0.0.0.0:8080.

5 1024 的问题

  • 使用git clone命令克隆项目代码报错
    • 1024Code IDE环境默认为国内网络环境,国内网络环境连接 GitHub,使用git clone命令会有不稳定的情况导致clone失败,失败时可多次尝试.
  • 如何安装依赖1024
    • Code IDE代码空间基于Linux环境,并使用了Nixos来管理系统依赖,常用的第三方依赖我们可以使用npm install的方式进行安装,系统级依赖,如node.js和npm包,需要通过nix的方式,具体可参照:https://docs.1024code.com/Tutorials/practice
  • 项目编译被 Killed
    • 1024Code默认提供了1G内存大小的容器环境给每个代码空间,部分项目编译及运行时需要的内存大小瞬时超过1G,内存不足系统会kill掉该进程.遇到这种情况,大家在群里联系我们,青训营期间我们可以直接帮大家调大代码空间容器内存大小.

6 环境问题

  • 1024Code 使用 NixOS 对 IDE 进行环境管理(不支持 sudo 和 apt),我们需要通过修改代码空间的 nix 配置文件 .1024nix,在 .1024nix 的 packages 中添加新的依赖项。
  • .1024nix 为受限的隐藏文件,所以需要我们在 shell 中用 vim 命令对文件进行修改,或者使用 cp 命令将.1024nix 复制成新文件到文件树打开进行修改, 如 cp .1024nix 1。修改后,再执行 cp 1 .1024nix 命令,使 “1” 文件中的内容覆盖.1024nix 文件中的内容;然后点击运行按钮,重新运行项目,以更新环境基础依赖。
  • 需要哪个包可以提前在nixos.org搜索下;
1
2
3
4
5
6
7
# 复制为可见副本
cp .1024nix 1

# 修改

# 将副本修改为 配置文件
cp 1 .1024nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
    shellHook = ''
        alias ll="ls -l"
        export PS1="\[\e[0m\]\w\[\e[0m\]#\[\e[0m\] "
        export LANG=en_US.UTF-8
        export GO111MODULE=on
        export GOPROXY=https://goproxy.cn,direct
        export PATH=$PATH:~/go/bin
    '';
    packages = [
        # env
        pkgs.go_1_17
        pkgs.mysql57
        pkgs.mongodb
        pkgs.ffmpeg
        pkgs.minio
        pkgs.redis
        pkgs.postgresql
        # lsp
        pkgs.gopls
        pkgs.glibcLocales
    ];
}

7 go 如何设置 数据库

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package main

import (
	"database/sql"
	"fmt"
	"log"
	"os"

	_ "github.com/go-sql-driver/mysql"
)

func main() {
	db, err := sql.Open("mysql", getConnectionString())
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()

	err = db.Ping()
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("Connected to MySQL database!")
}

func getConnectionString() string {
	server := os.Getenv("MYSQL_HOST")
	port := os.Getenv("MYSQL_PORT")
	user := os.Getenv("MYSQL_USER")
	password := os.Getenv("MYSQL_PASSWORD")
	database := "mydatabase"

	return fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", user, password, server, port, database)
}
Licensed under CC BY-NC-SA 4.0
最后更新于 Oct 13, 2024 18:49 +0800
使用 Hugo 构建
主题 StackJimmy 设计