Original link: https://blog.zoomquiet.io/230519-1024code101.html
1024code¶
1024Code is a free, collaborative, browser-based IDE environment that supports more than 10 programming languages, supports Spring, Vue, React and other frameworks, and also supports many graphics libraries. The best choice for creating works together and sharing and communicating.
background¶
1024code new online development environment,
Worth experiencing, and deciding what is the most suitable to toss
goal¶
- Key function experience
- record intuitive itch
- Planning Small-Scale Usage Strategies
tracing¶
Experience in several engineering processes
Jerry¶
possible flashpoint
- Don’t know which level of GPT is based on
- At least the understanding and generation of natural language is fluent enough, and the generated answers are timely enough
- Of course, the words of the wheel when other AI answers are indispensable
~/app$ nix-env -i htop nix-env: /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/libc.so.6: version `GLIBC_2.33' not found (required by /nix/store/mc6f3fxw7zv1gshdff7wyb17kyxhymnd-gcc-10.3.0-lib/lib/libstdc++.so.6)
PS:
Jerry has it, just wait for Tom…
PPS:
The various hints suggested by Jerry may be the most interesting part of the whole system:
I need you to play the role of programming expert. I will provide all the information I need about my programming problem and your role is to solve my problem XX. You should apply your computer science, network infrastructure, and programming domain knowledge to solve my problem. In answering, using intelligent, simple, and understandable language can be helpful for people of all levels. It is best to explain your solution in steps and bullet points. Try to avoid excessive technical details, but use them when necessary. I want you to reply in the form of a solution instead of writing any explanation.
If there is a mechanism to recommend the most used and most effective prompts for users,
Then, with the accumulation of time,
1024code is likely to become the largest library of Chinese programming tips…
This market space is more imaginative than ordinary online IDEs now…
囧: ¶
~/app$ cargo build
There is no proper auto-completion support in the shell, so all common commands can only be manually memorized and typed.
Does not meet day-to-day productivity expectations
warning: build failed, waiting for other jobs to finish…
error: build failed
The most common dependency append behaviors in Rust projects:
- Modify Cargo.toml
- cargo build or other commands
- Automatically download/compile/install modules
Failed…
[dependencies.ncurses] git = "https://github.com/jeaye/ncurses-rs.git"
Tried other forms of module dependencies, also can’t install correctly…
Label
When the general IDE changes the content of the opened file,
Open other files again, the original tab will be kept to prompt the developer to save…
Now in 1024, because of the high-speed automatic saving, only one file can be opened forever?
Then, when you want to quickly switch files, you can only open them every time in the directory tree…
IMHO¶
First 42 hours initial intuition…
Simply put, 1024code can be considered as a SaaS service:
- Provides a basic development interface that can be started immediately
- Relatively complete real Linux runtime
- Supporting VSCode-style editor and common shortcut keys such as Vim/Emacs
- Sufficient git support for daily use, and can smoothly associate/introduce/bind external warehouses
- Original Surprise:
- Direct MySQL real database resources can be enabled at any time
- Jerry AI Assistant
- Built-in chat window
- …
That is to say:
- As a demo-level exploration and development/study room, it is enough
- The problem is, and it is impossible to solve the problem of no feedback that is difficult to persist when studying alone
- However, whether it can be developed as a lightweight formal project has to be observed
- After all, Nix is not a popular distribution environment, if you really develop a formal project
- Then we must first solve the DevOps compatibility issues with other common distributions of Ubuntu/Gentoo/…
For daily development, such as Python, there are also more and more complete best practices:
For example: Hypermodern Python Cookiecutter documentation
However, no matter what kind of combination, it is not an easy task to build it on your own every day.
If 1024code can address the practical experience explored in each development language community,
Configured in advance, then, everyone may become more and more accustomed to developing here,
When it is not possible, migrate back to the local area…
Furthermore, can it be used as a better online course publishing platform?
- If it is a public course, it feels better than the previous only video or only code and text
- It’s a bit like the Jupyter interface that is more in line with the daily development process. Although it lacks some potentially key features, it is much more usable than building this environment yourself
- However, curriculum and development are not a logic
- Not to mention other anti-anxiety pseudo courses
- There are generally two types of courses:
- General Getting Started
- special skills
- The former faces Xiaobai, while the latter focuses on specific frameworks/systems/applications/problems
- However, there is one core problem to be solved:
- How do you know what you know is the right process?
- In other words, how to obtain targeted and reasonable feedback in a timely manner during the process
- Although there is currently Jerry trigger feedback, there may be a trigger threshold
- There is also a chat window, but this window is random, and it is not known whether it is centralized:
- That is to say, if multiple learners open a project at the same time,
- Everyone typing in the chat window is visible to everyone
- For project publishers, there is also a management interface, which can review/summary/statistics/private chat/…
- Otherwise, it is difficult to match this key function with the course
- This channel is a bit like feedback from real users in open source projects
- Correct feedback may lead to addition and enhancement of course content
- In addition, other payments can be seen, rewards… Regardless of supporting functions
- Just talk about the process of an available course with 1024codr as the background:
- Tutor builds the lesson first, with questions, guides, examples for all stages
- May be decomposed into different branches, or directories
- Bootstrap via
README
- However, rust-lang/rustlings at 5.0.0, a checkpoint environment combined with code, is a better interaction
- Of course, this requires the language itself to support
- And how to ensure that each student has his own progress, without affecting the construction of the instructor?
- That’s another question…
- Students enter randomly or organized
- Follow
README
to explore and debug- Regularly conduct live broadcasts to answer questions raised in chat, or organize joint attempts to conduct the same rhythm questions
- Among them, group pair programming is a key scene of programming courses, how to realize it in 1024code?
- After completing all course content, pass a certain assessment and get the corresponding certificate/badge
- Furthermore, if excellent students can be allowed to obtain the joint maintenance authority of the corresponding project, then the programming course with the online code warehouse as the core may form a completely different experience…
- Tutor builds the lesson first, with questions, guides, examples for all stages
- The biggest problem in the above MVP process is:
- lead to not knowing who is studying
- Learners don’t know how to interact with tutors and other students naturally
- Learners’ exploratory behavior cannot be naturally recorded and shared in the course space/organization:
- For example, a student opens a course
- A modification was made in a file, triggering a bug
- Then at this time, git is inoperable, this is the tutor’s warehouse
- If the fork is your own, you can record the changes
- However, there is no reason to pull-request back, this is a personality problem in the learning process
- At the same time, there is no traceable way to invite the tutor or other students to come and solve the problem together
- That is to say, the real learning behavior in the learning process does not have a reasonable process for recording and targeted sharing/tracking, and further becomes the knowledge accumulation of the course itself…
logging¶
- 230520 ZQ summary of the stage of complaining
- 230514 ZQ tried to develop
- 230513 ZQ init.
This article is transferred from: https://blog.zoomquiet.io/230519-1024code101.html
This site is only for collection, and the copyright belongs to the original author.