Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all 14821 articles
Browse latest View live

科学上网-邀请注册,挺好用的

$
0
0

科学上网-邀请注册,挺好用的 50g 免费流量 ,每天签到还可以获得500-1000m的流量. 我上 medium 速度还挺快的. 不能直接发,所以帖子我删掉了 需要的给我消息 ,我给你注册码. 好像刚才已经有坛友注册成功了. https://www.xingsu.me


大家对bucklescript什么看法?

$
0
0

大家对bucklescript什么看法?

诚招前端开发工程师,北京

$
0
0

API 接口文档

URL: http://45.78.50.9:8000/recruitment

获取职位描述

Method: GET
Hint: All info in HTTP HEAD

投递简历

Method: POST
Request Form Params: 
{
    email: String     // 'abc@example.com'
    name: String     // 'James Bond'
    resume: File    // your resume file
}

[大疆创新] [深圳] [招聘前端开发] 我怕大年三十的鞭炮太响,你会看不到我招聘广告

$
0
0

春天来了,又到了大疆创新前端团队招招招招招人了的季节! 前端攻城狮们,热烈欢迎邮件&简历勾搭 U •ェ•*U,戳戳戳: yulei.huang@dji.com。岗位详情见下文&链接。HR 小姐姐(认真地)比哈特♥!

**加入大疆前端团队,你将需要: **

  1. 与产品经理,开发,测试,运维同学一起就项目需求、版本进度、开发质量、迭代流程进行沟通与方案制定;
  2. 参与负责公司业务流程的技术支撑与流程的变革优化,研究创新的开发思路和前沿的前端技术,应用到团队与产品中;
  3. 编制和修改与项目相关的技术文档,参与组织前端兴趣小组,增进团队的技术深度。

你将有可能加入到:我们的业务涵盖智能制造、集成供应链管理,全球官网电商,企业级数据挖掘,决策支持,移动化协同办公等多个方向,加入大疆前端团队,你将有可能加入我们官网 /电商平台 /智能制造相关 /RobertMaster/行业应用 /… … 等技术队伍。

**我们希望你: **

  1. 本科及以上学历,计算机相关专业毕业优先,3 年及以上经验者为佳;
  2. 熟悉 W3C 标准,精通 HTML、JAVASCRIPT、CSS、NODEJS, 对 React/Vue/Angular, NW/electron 中的一种或多种框架工具有较丰富的实践经验;
  3. 深刻理解 Web 标准,对前端性能、可访问性、可维护性等相关知识有实际的了解和实践经验,并对前端工程化与模块化有实际的了解和实践经验;
  4. 保持对前端领域的新知识的关注与学习热情,且具备较强的问题分析能力及逻辑思维能力。

**More Details: ** 我们的官网: https://www.dji.com/cn还有招聘网址: https://we.dji.com/zh-CN/recruitment还有可以关注我们的招聘公众号,了解更多招聘前沿信息噢~ 二维码.jpg

nodejs 如何对引入的第三方包进行debug

$
0
0

有时候引入一些npm 上别人的包,想通过断点来看引入包的运行过程。我现在是用sublime 进行开发,只懂得用node 带的debugger 来进行断点调试,但是这只能用在我写的代码上面,当我引入像koa 等等包的时候,我想观察他运行过程的时候,我debugger 这个标记怎么搞?写到第三方包里面去? 或者还是有一些ide 可以做到这个功能?像eclipse那样可以再源码上面打断电? 请大家指教下。感谢

Fintend Technology Ltd. 招聘信息~求大神各种推荐转发勾搭~薪资待遇丰厚哟!~

$
0
0

[ Join us ] FULL STACK JAVASCRIPT DEVELOPER -Shenzhen

Job Description • Minimum 2+ years of strong development experience in Node.js, Express, Socket IO, and others. • Strong Experience in API design principles. • Ability to understand requirements and map to technical implementation. • Experience in building RESTful APIs and Best Practices • Solid foundation in data structures, algorithms. • Strong experience in No-SQL database query… • Work with app development teams and QA to deliver back-end services on time and quality • Build out unit tests and other automated tests. • Participate in code reviews and performance improvements.

Skills Required: • Strong Experience in frameworks such as Node.js, Express, and Socket IO … • Strong NoSQL and SQL database experience ex. MongoDB, PostgreSQL, MSSQL… • Strong experience in Gulp, web pack, NPM, and others. • Strong experience in testing framework like jasmine or mocha. • Strong experience in Swagger, YAML. • Build out restful endpoints and lightweight aggregation layers. • Experience in performance improvement and Memory leakage. • Experience in API Gateway, REST API and Best Practices. • Experience in debugging and analyzing issues in a complex, service oriented environment • Experience with web services API integration (Rest, JSON, XML). • Experience in OAuth, JWT, SAML and other security systems. • Experience with mobile application development is a plus. • Proficient understanding of code versioning tools such as GIT • Strong knowledge of unit testing patterns and practices • Strong knowledge of asynchronous and Promise patterns

[招聘岗位] 全栈 javascript 工程师-深圳

职位描述 • 至少两年 Node.js, Express, Socket IO 开发经验. • 丰富的 API 设计经验. • 能很好地理解需求并对其进行技术实现. • 丰富的 RESTful API 设置经验. • 数据结果, 算法等基础知识扎实. • 熟悉 No-SQL 数据库. • 与团队其它成员和 QA 合作, 保质保量地交付代码, 单元测试和进行自动化测试. • 参与代码评审和性能调优.

技能要求: • 熟悉 Node.js, Express, Socket IO 等常用框架. • 熟悉 NoSQL 和 SQL 数据库, 如: MongoDB, PostgreSQL, MSSQL. • 熟悉 Gulp, web pack, NPM 或其它构建工具… • 熟悉如 jasmine, mocha 测试框架. • 熟悉 Swagger, YAML. • 构建 RESTful 服务与轻量级的数据聚合层. • 熟悉性能调优及常见内存泄漏处理. • 熟悉 API Gateway, RESTful API. • 具有在复杂环境下的代码调试与问题分析能力. • 熟悉 web 服务中的 API 集成, 如 RESTful, JSON, XML 等. • 熟悉如 OAuth, JWT, SAML 或其它安全框架. • 熟悉移动 APP 开发加分. • 至少掌握一种版本控制工具, 最好是 GIT. • 对单元测试有实际经验. • 对 asynchronous 和 promise 编程模式有实际经验. ----------------------------------------分割线------------------------------------------- 公司简介: 我们运用区块链产业的领先经验和先进技术,为企业级用户提供全面专业的金融服务解决方案和技术支持,包括多边资产管理系统、支付网关、电商平台、交易结算系统、硬件加密安全系统等。实现更公开透明、更有效率、更安全的多中心化信任机制,帮助企业快捷高效地利用区块链技术实现行业升级。 公司网站:Fintend Cloud

在这里: 老板亲切,氛围轻松,支持你的一切自我学习 每周两次下午茶,从诗词歌赋谈到人生哲学 不定期参与行业活动,了解风口行业最新动态 无限制的科 学 上 网,随你驰骋 每周一天英语日+间歇性英文交流,让你的口语 upup 老司机不定时开车,氛围轻松,高大上的办公环境

一切准备就绪!就等你来~ 有意向者请将简历发送至: grinnerluo@fintend.com叮咚!你的 HR 小仙女已上线~~

Fintend Technology Ltd. C++招聘 薪资待遇丰厚

$
0
0

Senior C++ Developer

Description: • Develop and maintain our trading platform, including low latency order management, order handling interface, rule engines, messaging layer • Add new order types to keep up with business requirements • Perform functional test, integration tests and stress test to ensure the quality of code. Requirement: • Profound test-driven-development experience, preferred in GoogleTest • Experience in Financial Services Industry preferred • Strong background in C++ Software Development, very familiar with CMake, Boost, C++ 11, etc. • Strong Devops skillsets, preferred in Docker, Kubernates, GCP. • Knowledge in Java Development would be a good advantage • Very good at inter personal communication, love to learn and share knowledge • BS/BA degree or higher in Mathematics, Engineering and/or Computer Science or equivalent experience.

岗位职责: • 负责构建开发和维护公司交易平台,包括低延迟订单管理, 订单界面,交易引擎规则,消息队列 • 持续添加新型订单种类,以匹配业务发展的需求 • 持续进行功能测试,集成测试和压力测试以保证代码健壮性 岗位要求: • 深厚的测试功底,熟悉 C++测试框架,如 GoogleTest • 有金融行业经验,交易系统经验的为佳 • 丰富的 C++开发经验,熟悉 CMake,Boost,C++ 11 等 • 丰富的 devops 经验,有 docker,k8s, GCP 经验为佳 • 如果能写 Java 就更好了 • 良好的中英文沟通能力,责任心,逻辑思维能力和问题解决能力。

公司简介: 我们运用区块链产业的领先经验和先进技术,为企业级用户提供全面专业的金融服务解决方案和技术支持,包括多边资产管理系统、支付网关、电商平台、交易结算系统、硬件加密安全系统等。实现更公开透明、更有效率、更安全的多中心化信任机制,帮助企业快捷高效地利用区块链技术实现行业升级。

公司网站:Fintend cloud

在这里: 老板亲切,氛围轻松,支持你的一切自我学习 每周两次下午茶,从诗词歌赋谈到人生哲学 不定期参与行业活动,了解风口行业最新动态 无限制的科 学 上 网,随你驰骋 每周一天英语日+间歇性英文交流,让你的口语 upup 老司机不定时开车,氛围轻松,高大上的办公环境

一切准备就绪!就等你来~ 有意向者请将简历发送至: grinnerluo@fintend.com叮咚!你的 HR 小仙女已上线~~

音频格式转换处理

$
0
0

amr - > mp3 有什么好点的包吗,npm上没找到。。


问个数据库表设计的问题. 如果是影院订票系统,如何设计放映厅和座位的时间轴问题?

$
0
0

如果是影院订票系统,如何设计放映厅和座位的时间轴问题? 这个地方看起来比电商系统要复杂,
每个座位在每天,每个时段的信息是不同的 ,怎么在数据库设计的时候体现出这一点?

具体到某天,某时间段,每个座位,可以认为和商品一样,库存为1, 售出就为0 . 前面的时间作为商品目录和子目录, 可以这样思考吗? 这样做,这个表就感觉就是动态的, 不知道怎么描述了.

现在确实佩服12306的系统, 比电商系统复杂多了.

egg这样定义controller是否有歧义

$
0
0

这是官方的文档代码

// app/controller/post.js
const Controller = require('egg').Controller;
class PostController extends Controller {
  async create() {
    const { ctx, service } = this;
    const createRule = {
      title: { type: 'string' },
      content: { type: 'string' },
    };
    // 校验参数
    ctx.validate(createRule);
    // 组装参数
    const author = ctx.session.userId;
    const req = Object.assign(ctx.request.body, { author });
    // 调用 Service 进行业务处理
    const res = await service.post.create(req);
    // 设置响应内容和响应状态码
    ctx.body = { id: res.id };
    ctx.status = 201;
  }
}
module.exports = PostController;

其中 const { ctx, service } = this;

this按理来说,应该指向的是PostController,但是在实际当中,串改了执行上下文。

this指向了app, 这样是否产生歧义? 如果this被更改了,那么为什么不是暴露function,而是一个class。

CNode 官网API 删除帖子

$
0
0

看了一下API的接口文档,没有暴露删除帖子的api,但是在web 查看源码看到了删除 帖子api 请求,想问问管理人员是故意没暴露出来还是忘记写到API 文档里面去了?还有就是在客户端开发的时候可以直接用删除帖子的接口吗?用了会不会被封号什么的

ShadowNode v0.7.0 发布

$
0
0

Hi,大家好!我在这里很高兴地宣布,在过去20天里,ShadowNode 伴随着XX需要,已经悄悄地增加了很多新功能,并且已经在这不到一个月的时间,迭代了N个小版本了(目前版本管理还不是特别规范了),主要包含如下:

  1. 增加了 TLS 模块,实现了客户端功能;
  2. 重写了原有地 HTTPS 客户端功能,使用 TLS 替换掉了之前地 libcurl 和 openssl,架构更加清晰明了;
  3. 增加了 MQTT 模块,并且支持 MQTT/MQTTS 协议,与 MQTT.js 接口保持对齐;
  4. 增加了像 Node.js N-API 一样地原生模块加载方式;
  5. 开放了部分 ES2015 特性如:箭头函数、字符串模版等;
  6. 修复了若干与 Node.js 的兼容性问题;

我也在今天抽空增加了在 TravisCI 的自动构建,在 ShadowNode 下个版本(v0.8.0)将会着手优化内存和性能方面的问题,以及 100% 兼容 N-API 的写法。内置模块以及社区兼容性将暂时不会再增加更多特性。

彩蛋!破壳记

另外,今天将放出一个彩蛋,ShadowNode 的破壳记分享给大家。

之所以会产出 ShadowNode 的原因完全是因为之前大量基于 Node.js 在设备端开发的应用程序,在移植到一些更低端的平台时,遇到的最大问题就是内存,想过很多办法包括:

  • 参考 node-charkracore,把 Node.js 移植到其他轻量级的 JavaScript 引擎,如 JerryScript、Duketype;
  • 使用 TypeScript 重写我们的业务逻辑,然后生成 LLVM 后,再编译成纯机器代码;

上述的两个方案,在我看来都是可行性不错的,不过前者对 V8 以及相关 API 的工作量依然很大,后者我个人倒是相当感兴趣去实现,不过这样会失去脚本语言的优势,再加上增加了交叉编译的门槛,得不偿失。

最终机缘巧合之下,我找到了三星开源的 IoT.js,当时发现这个项目时,看到文档的时候就已经开心得想跳起来了。IoT.js 已经做了相当一部分重要的工作了,包括增加 CommonJS 模块系统、文件系统模块、网络模块、UDP 模块、Buffer 还有最重要的 Stream 类族,而且整个构建系统也相当简单易懂,基于这些工作,我才可以轻松得往完成目前 ShadowNode 的工作。

然而在慢慢迁移的过程中,有一些观点与 IoT.js 的开发团队是不同的:

  • IoT.js 原来并不支持从 node_modules 下加载模块,理由是希望区分两个社区的模块,而 ShadowNode 的原则则是兼容更多的 NPM 模块;
  • IoT.js 由于需要支持其更低端的设备,RAM 一般在几百 KB 左右,不过也损失了很多开发体验,比如不支持调试,const/let 关键字,以及对内存的严格控制,然而 ShadowNode 环境相对宽松一些,因此开发体验将优于 IoT.js;

好,以上其实就是 ShadowNode 的一则短小的开发故事,如果你从中觉得有趣,不妨也加入到 ShadowNode 开发社区中来,下面的链接,欢迎 Star

Rokid/ShadowNode on GitHub

下次将分享在开发 ShadowNode 过程中,对于 NPM 以及模块化的一些看法重塑,敬请期待!

cnode APP 开发总结(一)

$
0
0

react native CNode APP

由React Native 开发的移动APP,数据接口由 http://cnodejs.org/提供

注意

在运行debug模式的apk可能会比较,但是在真机上运行release版本不会出现这种情况

使用教程

  1. 三方库列表

    1. color
    2. lodash
    3. mobx
    4. mobx-react
    5. moment
    6. native-base
    7. react-native-easy-toast
    8. react-native-material-menu
    9. react-navigation
  2. 下载项目

    git clone git@github.com:25juan/CNode.git
  3. 执行 yarn 命令安装项目运行所需要的包

    yarn
  4. 运行程序

    react-native run-ios or react-native run-android
  5. 如果想查看真实数据请将CNode/src/store/url.js中的 let dev = true置为true即可

功能列表

  1. 主题列表展示
  2. 主题列表详情展示
  3. 换肤功能
  4. 主题刷新在浏览器中打开
  5. 主题刷新、分享、转发功能
  6. app 桌面图标
  7. 个人资料查看
  8. APP启动页
  9. 个人登录
  10. 退出登录功能
  11. 文章发布
  12. 图片单击预览功能(待完成)
  13. 主题收藏(待完成)
  14. 杂项(待完成)

项目截图

Android

ask.jpgdetail.jpgdetail2.jpgjob.jpgjob.jpgmine.jpgshare.jpgtheme.jpguser.jpg

IOS

detail.pngdetail2.pngjob.pngmine.pngshare.pnguser.pngtheme.png

总结

在这一次的开发中,目前已经完成了大部分功能,剩下后续会慢慢完善,在开发过程中遇到了不少的问题,但是其中也学到了不少的东西,这里做一个记录,方便以后查阅.

Q&A

Q: 为什么不用redux 而用 mobx

A: redux对于初学者来说比较复杂,学习曲线比较陡峭。mobx相对来说比较轻量级,容易上手,redux含有 中间件的配置,也是比较复杂的。如果把redux比作拖拉机的话,mobx就是跑车。比较适合小型项目。不用考虑 太多的东西,所以选择mobx。但是具体选择哪一种根据自己的业务逻辑来进行选择。

Q: TabNavigator嵌套在某组件中,某组件再加入到StackNavigator中,那么TabNavigator

的子组件可以导航到 StackNavigator里面的组件吗?

A: 不能。解决方法,将 StackNavigatornavigation传入到 TabNavigatorscreenProps里面, TabNavigator的子组件可以 调用 this.props.screenProps.navigate("StackNavigator配置的路由")

Q: mobx componentWillReact第一次没有执行?

A: mobx componentWillReact方法在组件第一次渲染的时候是不会调用的,只有当接受到新的Props 或者 state 改变的时候才会调用。在以后的组件生命周期里面,都会执行componentWillReact,如果组件渲染完成 要执行代码,则可以调用React 的组件生命周期方法componentDidMount

Q: 在windows 下进行Android开发的是运行react-native run-android的报错?

A: 可以将cmd 切换到 项目名/android文件夹下,执行gradlew clean,然后再执行react-native run-android

Q: mobx数据改变了没更新UI?

A: mobx数据是响应式的,请确保你的组件加上了 @observer注解,需要的数据可以通过@inject(需要的数据)来 注入到组件的属性上面。

Q: 在使用webview的时候比较慢?

A: 在使用webview 的时候,可以先把数据准备好(异步)然后再打开对应画面加载webview, 这样数据回来的时候webview 已经加载了部分css和js资源了。能够提高webview 打开的速度 。但是能够用RN 解决的尽量不用webview,毕竟会影响用户体验性的。

Q: 下载 gradle-wrapper.jar慢 ?

A: 将 android\gradle\wrapper\gradle-wrapper.properties上面的文件通过迅雷下载下来,然后将 distributionUrl 指向本地的文件

Q: ios下配置启动图标和启动屏之后运行react-native run-ios没有生效?

A: 删除项目 ios文件夹下的build 文件夹,当通过xcode 改变了底层的代码的时候,如:app 图标,app 的启动屏应该重新build

年末了,如果你觉得本文章对你有帮助,请帮作者star。作者是前端小白一名。如果有写错的地方请指正,谢谢! 传送门

Fintend Technology Ltd. SENIOR JAVA DEVELOPER招聘 薪资待遇丰厚

$
0
0

SENIOR JAVA DEVELOPER

Job Description:

  • Contributing to all aspects of the services under the team’s ownership, which includes design, implementation, refactoring, automated testing, deployment, and uptime of the services.
  • Helping other team members grow as engineers through code review, pairing, and mentoring.
  • Participate in Code Reviews and support QA initiatives to ensure high-quality delivery

Requirements:

  • BS or MS degree in Computer Science / Engineering / or related experience
  • Strong analytical and design skills, including the ability to understand business requirements and translate them into efficient and effective technical designs that work well within large-scale, well-structured enterprise environments
  • At least 3+ years of hands-on web application development utilizing Java for Web Development purposes, primarily with Spring Framework,Spring Cloud experience is a plus
  • Experience in the development of service oriented architecture application, good understanding of Object Oriented Design and Design Patterns
  • Devops experience in build CI/CD, branch and release management, day in and day out Test Driven
  • Experience with MV* patterned applications using JavaScript frameworks, preferably VUE, React, Angular2

高级 JAVA 工程师

职位描述:

  • 全面负责微服务各方面的工作,包括设计,实现,重构,自动化测试,自动化部署,生产环境支持。
  • 培养高效的团队协作,进行结对编程,代码审计和培养新队员
  • 参与全局的代码审计并且配合QA确保高品质的产出

岗位要求:

  • 本科以上计算机/软件或者相关学位
  • 棒棒的沟通技巧,分析和设计能力,可以直接对接客户并且归纳,分析,总结出技术需求
  • 至少3年以上的 JAVA 实战经验,主要是Spring框架相关的经验就最好了
  • 充分的OOP理解和良好的OOP设计经验
  • 熟悉Docker,K8s等容器类技术,熟悉TDD开发模式,熟练构建CI/CD。
  • 熟悉Web前端MV*框架,如VUE,React,Angular2
  • 懂产品设计流程,懂团队分工标准,能够独立领导团队敏捷开发

公司简介: 我们运用区块链产业的领先经验和先进技术,为企业级用户提供全面专业的金融服务解决方案和技术支持,包括多边资产管理系统、支付网关、电商平台、交易结算系统、硬件加密安全系统等。实现更公开透明、更有效率、更安全的多中心化信任机制,帮助企业快捷高效地利用区块链技术实现行业升级。

公司网站:Fintend

在这里: 老板亲切,氛围轻松,支持你的一切自我学习 每周两次下午茶,从诗词歌赋谈到人生哲学 不定期参与行业活动,了解风口行业最新动态 无限制的科 学 上 网,随你驰骋 每周一天英语日+间歇性英文交流,让你的口语 upup 老司机不定时开车,氛围轻松,高大上的办公环境 坐标深圳市南山区科兴科学园

一切准备就绪!就等你来~ 有意向者请将简历发送至: grinnerluo@fintend.com叮咚!你的 HR 小仙女已上线~~

[英] 深入理解React源码-界面更新(单个组件)VIII


cnpm的管理员密码在哪里设置的?

$
0
0

我想给公司设置一些固定账号作为管理员,但是只有设置管理员名称的地方,没有设置密码的地方,谁能讲一下在哪里设置密码? // default system admins admins: { // name: email fengmk2: ‘fengmk2@gmail.com’, admin: ‘admin@cnpmjs.org’, dead_horse: ‘dead_horse@qq.com’, },

鞭炮齐鸣! 旺 旺 旺

题图 深入理解React源码 - 界面更新(单个DOM元素) VIII

$
0
0

界面更新本质上就是数据的变化。React把所有会动的东西收敛到状态(state),使得大部分的界面任务都可以用一个姿势搞定

Screen Shot 2018-02-10 at 8.27.02 PM.png

没错,我说的是 setState()。本文会揭示setState()的内部实现,并通过改变在改变单一DOM元素属性来一探diffing算法的实现细节。

继续阅读

UDP报文结构

$
0
0

UDP的报文结构 UDP.jpg在创建UDP套接字的时候需要目的IP地址和端口号 套接字在发送的时候会默认的带上本地的IP 端口 但是UPD的报文结构中不存在IP信息(这个是因为不需要建立连接 不需要存储那么多数据吗)
IP在对传输层报文封装的时候,应该是不会解析传输层报文的,那他是怎么获取到目的IP 和 源IP的呢?

echarts

$
0
0

echarts怎么画只有x轴的时间轴,不要y轴和网格

Viewing all 14821 articles
Browse latest View live