Coder Social home page Coder Social logo

liyupi / code-nav Goto Github PK

View Code? Open in Web Editor NEW
2.5K 39.0 541.0 94.17 MB

💎 专业的编程导航,帮你找到优质的编程学习资源!公众号【编程导航】 ☁️ 前后端均开源,励志成为最好的全栈云开发项目!

Home Page: https://www.code-nav.cn

License: MIT License

JavaScript 83.36% Dockerfile 0.01% TypeScript 8.15% Less 0.50% HTML 6.38% CSS 0.67% Java 0.72% EJS 0.21%
code resources guide java python cpp javascript frontend backend algorithm

code-nav's Introduction

编程导航

All Contributors

专业灵活的编程导航站,发现优质编程学习资源!微信公众号『 编程导航 』

另外一个项目:免费编程资源大全 ,对优质资源做了进一步整理!

项目介绍

编程导航不仅仅是一个网站,而是以 “帮助大家发现优质编程资源,提升学习效率” 为目标的完整生态。

包含多个子项目,技术栈包括 React、Java SpringBoot、腾讯云云开发等,都开源给大家学习,让你也能轻松开发精美的信息导航类网站!

进入对应目录可查看子项目详情:

子项目 描述 目录
🔍 编程导航主站 发现优质编程资源 code-nav-main
🏡 编程主页 程序员必备主页 code-nav-home
📚 编程导航文档 项目使用指南和详情,深入了解项目必读 code-nav-doc
📱 编程导航小程序 在微信中直接搜索资源、浏览优质文章 code-nav-mini
🌿 编程导航公众号后台 提供获取动态码、关注回复、动态菜单等服务 code-nav-mp-server
☘️ 编程导航微信公众号 分享、介绍、评测优质编程资源,不要错过!

项目展示

编程导航主站 - 发现优质编程资源

推荐资源

编程主页 - 程序员必备主页

透明主页

编程导航 - 微信小程序

编程导航小程序

编程导航 - 微信公众号

编程导航微信公众号

编程导航 - 微信公众号后台

编程导航微信公众号后台

编程导航文档 - 深入了解项目

编程导航文档


项目特色

  • 多端适配响应式网站
  • 提供测试数据,易学习、易接入
  • 覆盖云开发大部分功能特性
  • 支持容器部署,全量上云
  • 遵循统一代码规范

站点由来

总是有很多学编程的朋友问我 “有没有学 xx 的资源”、“我需要 xx 资源,能发我一份么”。

在重复接收类似讯息后,我陷入深思。

如今编程资源获取的大环境雾气重重,有很多不太好的现象:

  1. 很多名不副实的编程资源被捧上了天,名人效应、一叶障目
  2. 好的编程资源被商业利益化,很多人利用信息差,将本来免费的资源进行贩卖
  3. 好的编程资源由于作者不出名,没有被人发现
  4. 网上的编程资源非常零散,真实性、有效性很不确定

意识到这些问题后,作为一个开发者,我可以做些什么? 继续去网上搜好的资源,然后传到网盘上,分享给大家?

一个人的力量终归渺小,好的编程资源环境需要大家的共同努力。

这是『 编程导航 』问世的原因:提供人人皆可推荐的编程资源导航平台,帮助大家发现优质编程资源。

本质是 资源碎片 => 列表化 => 文档化 => 系统化 的过程。就像准备复习面试题一样,有人给你分享单一的面试题目(碎片)、有人分享题目列表(列表化)、有人分享一本面试小书(文档化),而这些在灵活性上远远不如一个 “可搜索”、“可复用”、“可量化” 、“可定制” 的 资源系统

想象一下,当你想要学习算法时,在系统上轻轻一点,优质算法学习资源尽收眼底,不是很棒么?

作者在腾讯顶着上班的压力,熬了一个月的大夜,终于完成了基础版本,欢迎大家体验、推荐资源、提出意见!

整个项目也开源给大家,可供学习。觉得不错的话,求个 star、分享给身边的朋友吧,这对我非常重要 😭 有你们的支持才有前进的动力!


QA

  1. Q:编程类导航网站都烂大街了,为什么还要做导航?

    A:大多数编程导航网年久失修,也有不错的导航,但是在搜索、归类上比较局限,而且没有自主推荐、喜欢等功能,不具备可持续发展性。

  2. Q:资源太多的话,会不会同样让人眼花缭乱,不知道看哪个?

    A:现在编程资源非常多,肯定会出现这种情况,这也是我们做 系统 而不是整理文档的原因。可以通过评分、评论、排序、推荐等方式缓解,大家觉得好的资源才会有更多被发现的机会!

  3. Q:分享资源时直接给别人可访问的链接不就行了,为什么要从编程导航分享?

    A:的确,分享链接在很多场景下都很方便。但如果分享资源时,能让他人直接看到资源的描述、详情,可以更快地帮助他人使用和理解。还可以通过评论区来对资源的质量进行区分。后续还会为每个资源添加视频介绍,帮助大家快速上手!


全部功能

一张思维导图足矣,详细介绍请进入 对应项目子目录


版本

日期 版本 详情
2021 年 01 月 10 日 0.0.1 内测 编程导航主站基本功能完成
2021 年 01 月 20 日 0.0.2 公测 编程导航主站、编程导航主页、微信服务端上线,开源

联系作者

作者微信 code_nav ,添加时请备注事由,开门见山。

微信 code_nav


想更好地学习编程?

最近鱼皮开了自己的付费编程学习圈子,在这里可以收获更多编程经验、和几千名小伙伴一起学习交流打卡、向鱼皮等大厂同学提问、看内部直播学会做项目等等。

点击了解详情:https://docs.qq.com/doc/DUG93dVNHbVZjZXpo

欢迎扫码加入 / 体验:

image

贡献指南

  1. 提交产品或 Bug 反馈意见

致谢

liyupi ringozzt jonssonyan 前端LeBron

Contributors ✨

Thanks goes to these wonderful people (emoji key):


程序员鱼皮

🤔

wxy521

💻

Ringo

💻

前端LeBron

💻

Jonsson Yan

💻

brysonLin247

💻

wenjingyuer

💻

腾讯全栈开发 IT-CJF

💻

Florence

💻

luoshuai990529

💻

NaissanceFy

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

code-nav's People

Contributors

allcontributors[bot] avatar chelestewang avatar jonssonyan avatar lebronchao avatar liyupi avatar ringozzt avatar

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  avatar  avatar

code-nav's Issues

无法登录

公众号获取验证码后,一直转圈,在控制台看,报错显示失败
image
image

打包失败

利用 npm run build 时,一直卡在 95%

提示为 OptimizeCssAssetsWebpackPlugin

是否能通过PWA+P2P防御攻击

  • index.html/chunk.js/main.js 使用service worker 在用户客户端做持久化缓存
  const cacheName = "ashes";
  const cacheFiles = ["index.html", "webtorrent.min.js", "test.css", "register.js"];
  self.addEventListener("install", (e) => {
    console.log("[Service Worker] Install");
    e.waitUntil(
      (async () => {
        const keys = await caches.keys();
        console.log(keys);
        if (keys.includes(cacheName)) {
          return;
        }
        const cache = await caches.open(cacheName);
        console.log("[Service Worker] Caching all: app shell and content");
        await cache.addAll(cacheFiles);
      })()
    );
  • 热点数据缓存:

    • 首页数据使用
      window.addEventListener("fetch", async (data)=>{
        //cache name 定期更新,用来进行首页数据更新
      		const cache = await caches.open(cacheName);
      		await cache.addAll(cacheFiles);
      })
  • 核心数据接口使用webtorrent生成磁链

const sourceFiles = new blob(JSON.stringify(dataObj))

export const createTorrent = async (sourceFiles) => {
	const isMultiFiles = sourceFiles.length > 1;
	const listItem = await new Promise<CustomStruct>((res, rej) => {
		client.seed(
			sourceFiles,
			{
        //辅助打洞服务
				announce: ["udp://ip:port", "ws://ip:port", "http://ip:port", "http://ip:port/announce"],
			},
			(torrent) => {
				const { files, magnetURI, name, infoHash, torrentFileBlobURL } = torrent;
				const type = isMultiFiles ? "hybrid" : sourceFiles[0].type;
				const names = isMultiFiles ? files.map(({ name }) => name).join(" | ") : name;
				res({
					name: names,
					magnetURI,
					id: infoHash,
					fileUrl: torrentFileBlobURL,
					lastModified: Date.now(),
					type,
				});
			}
		);
		client.on("error", (err) => rej(err));
	});
	return listItem;
};
  • 协议层/server配置
    udp/tcp协议访问时,发送磁链,如磁链未建立新的peer,则判定为无意义访问,加入封禁列表

  • Q&A
    为什么使用磁链:使用网站的人越多,数据访问的速度越快
    为什么需要辅助打洞:解决多层NAT导致的无法访问/丢包问题
    如何迁移现有项目:

  • 使用nginx转发现有服务,让现有用户逐步成为P2P的节点,提供基础访问速度

  • 页面端使用现有的npm包,可以让项目自带service worker

再加一种主题

主页的透明主题和白底太少了,应该再加一个亚克力的

mock数据应该如何运行呢?

我在vscode中通过npm run start把编程导航主站的项目运行起来了,
image
点用户登录没有反应,现在想添加mock里的数据试试,在config/config.ts中把"mock: false,"这句去掉之后就报错了
ZSXQ_20220217_232811032
报错信息:“mock value of MOCK_OPEN should be function or object, but got boolean”
应该是要怎么才能使用mock里的数据呢?

样式问题

未登录状态

头像位置出现提示

导致出现了横向滚动条

image

优化建议:资源大全下,点击标签

优化建议:资源大全下,点击标签切换时,应该设置一个多个筛选条件还是单个筛选条件。默认应该为单个筛选条件,都比较喜欢点一下就换一个筛选标签,而不是默认多个筛选条件叠加

关于登陆

如何设置某个页面可以不用登陆访问呢
我添加 authority:{['admin', 'user', 'guest']} 没有效果

心愿墙显示问题

image

截图中右边还有充足空间,第三个卡片显示每行只显示 4 个字,阅读体验不佳。

推荐后无法自行修改推荐内容

能否提供修改功能并且修改后内容需要重新审核,应用场景如更换域名更换资源等,无法及时更新,或错误操作导致内容无法正常处理

Issue: Bug report 🐞

Bug report 🐞

编程导航 个人中心部分 点击编辑 弹出的修改信息对话框 输入邮箱 在没有输入完的时候就做了邮箱验证 我觉得这样是不符合交互预期的。

Expection

期望在用户脱离光标的时候在做验证

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.