2017焦糖技术马拉松·第1期


前言

  • 如果你还没有电脑,抱歉国庆节这么好的机会快带啊
  • 记录你的完成情况并且发送到招新公共邮箱recruit@jotang.party,邮件主题格式:题目序号-姓名。 例如: #6-张馨悦
  • 由于题目难度提高,建议完成1道题目。当然,有余力可以完成多道题目,根据完成度有加分
  • 本次技术马拉松分为两期(本次是第二期),完成时间在一个月左右,希望大家合理安排时间~所有题目都可以自由提交**
  • 如果需要与我们交流(比如题目太简单了,题目出现错误等等),请同样发送邮件到招新公共邮箱
  • 不同累训的题目出题进度不同,会陆续发出并更新
  • 由于出题者水平有限,难免有不妥当的地方,敬希赐教

第1期

第1期的题目以实战项目为主,可能会频繁触及知识盲区
所以我们鼓励你养成使用Google的好习惯。
但我们更加看重你解决问题的思路与过程~

#6 这道题虽然看起来有点难但是实际上如果你读了参考资料那么做起来非常简单我把标题写的这么长你们肯定会注意到然后来做的对不对?

题目背景

JoTang 祖传的 记账软件 是一个单点的因为经常会被踢电源所以不可靠的应用,部署在内网的一台机器上。于是大家在需要记账的时候需要先连接进内网,然后打开网页进行操作;而且其单点的结构也给数据备份和如何防止负责人乱改记账记录带来了不便。
区块链技术基于去中心化的对等网络,用开源软件把密码学原理、时序数据和共识机制相结合,来保障分布式数据库中各节点的连贯和持续,使信息能即时验证、可追溯、但难以篡改和无法屏蔽,从而创造了一套隐私、高效、安全的共享价值体系。
上面那一段是我从维基百科抄的,因为我语文不好。
总之使用区块链技术实现记账系统可以保证
A. 大家可以离线完成记账操作,上线之后再同步
B. 数据不那么好修改

题目内容

基于区块链技术实现一个记账系统。

  • 不要看到区块链就觉得很难做,去看一下参考资料吧~
  • 考虑到实现的复杂程度,建议一个 block 中只记录一条支出(或收入)信息
  • 一条记账记录需要包含的信息: 时间、说明、交易额

参考资料

其他说明

  • 如果你之前没有基础,在完成这个题目的过程中可能会遇到一些问题。欢迎来招新群向学姐学姐提问~
  • 如果你在马拉松结束前没能完成整个系统,也欢迎把你的半成品发过来,我们会根据完成程度、架构与算法设计、代码风格综合评分
  • 把代码托管在 GitHub 上会获得加分; 优秀的编码习惯和代码风格会获得加分; 有完善的文档会大大的加分

#7 优化开启网站的速度

题目背景

目前为止你大概了解两个JoTang的网站:官网和论坛,我相信你应该都路过了。
它们有个共同的特点:访问速度比较慢…
为什么呢?就不能快一点吗?

题目内容

分析 焦糖工作室官网 访问速度缓慢的原因,给出你的解决方案。

  • 可以提供处理后的版本,可以是压缩包/ Docker 镜像,根据完成度获得加分
  • 如果需要,可以使用自签名证书

参考资料

其他说明

  • 如果你之前没有基础,在完成这个题目的过程中可能会遇到一些问题。欢迎来招新群向学长学长提问,但是在此之前建议先搜遍你能找到的所有资料

#8 ********

题目背景

为何知乎的回答被「政治敏感」?为何微博下的评论神秘消失?为何论坛发帖总是发生未知错误?
为何你的博客莫名被查水表?这一定是因为’[piouhgy6frwds[piouyghfjm,j.ert3yujkjhgfhjk

题目内容

任选语言(建议使用Python),设计一个敏感词监测算法,(可选)实现一个敏感词监测系统。
监测到敏感词之后,将敏感词替换为[-1s]。

参考资料

其他说明

  • 你可以选择简单的关键词匹配,但是在关键词很多的时候怎么提升匹配速度是一个问题
  • 虽说二十行代码就能搞定,但如果你从算法入手解决了这个问题,大大的加分
  • 如果你之前没有程序设计基础,在完成这个题目的过程中可能会遇到一些问题。欢迎来招新群向学长学长提问,但是在此之前建议先搜遍你能找到的所有资料

#9 Hacktoberfest 2017

题目背景

Hacktoberfest 2017 is here for a month-long festival of supporting and contributing to open-source. Digital Ocean is partnering with GitHub again this year to support open source software contributions. If you contribute four pull requests in October to any public repo on GitHub, you will get a limited edition T-shirt.

题目内容

参加今年的 Hacktoberfest ,在给我们的邮件里附上你发送的 PR 地址。

参考资料

其他说明

  • 如果大佬你懒得做题,又恰巧参加了 Hacktoberfest ,那这道题就很合适。

#10 BrainF**k,为什么我的题目有这么多

题目背景

BrainFuck是一种极小化的计算机语言。这种语言是一种按照"Turingcomplete(完整图灵机)“思想设计的语言,它的主要设计思路是:用最小的概念实现一种"简单” 的语言,BrainF**k语言只有八种符号,所有的操作都由这八种符号的组合来完成

题目内容

一大波内容正在来袭…

  1. 在Linux下进行Git和GitHub环境的搭建,完成简单的关于Git的一些操作
  2. 尝试在Linux下运行Brainfuck(参考资料中有代码来源,GitHub上自己pull下来)的C语言实现,并且在代码中注释上自己对代码的理解,再commit,push回自己的GitHub(前提是你已经学会gcc,gdb的运用)

提交内容:

.PDF 文件:包含每一步操作实现的截图与说明
Brainfuck的代码(加注释后)提交方式:在PDF最后一页加上对应GitHub的地址

加分项:

  • 关于Git的操作,尽量多使用它的功能。
  • Brainfuck的源代码注释的详尽程度。
  • 尝试用已学的知识自己去编写Brainfuk,成功编译并成功实现。

参考资料

其他说明

有任何问题欢迎直接向 whtsky@gmail.com 提问。

#11 来,干了这口雾霾

题目背景

雾霾,我只吸四川的。相比于京霾的厚重、冀霾的激烈、粤霾的阴冷,我更喜欢四川霾的醇厚、真实和独一无二的乡土气息。脱硫脱硝的低温湿润煤烟与秸秆焚烧的碳香充分混合,加上尾气的催化和低气压的衬托,最后再经袅袅硫烟的勾兑,使得它经久而爽口,干冽且绵长,吸入后挂肺、沁心、入髓,让品味者肺腑欲焚,欲罢而不能。雾为帝都厚,霾是四川醇。

题目内容

编写一个程序, 可以定时检查成都的 AQI(空气污染指数)值。 如果当前 AQI 值小于 50 , 则通过 PushBullet 发送一个“空气质量不错,开窗通风吧”的推送; 如果 AQI 大于 150 , 则发送“ 空气质量很糟糕, 快关窗户为自己续一秒!”的推送。
实现语言不限。

参考资料:

  • 如果你不知道怎么设置定时任务, 可以去搜一下 cronjob
  • 不知道用什么语言写的话,不妨去看一下 Python ? 推荐的教材: https://learnpythonthehardway.org/book/

其它说明:

  • 这个其实是去年的题目。
  • 成都的冬天有雾霾。
  • 欢迎做一些附加功能, 比如支持自定义提醒阀值,自定义检测地点等……
  • 良好的编码习惯(PEP-8)和代码管理工具的使用(Git, Mercurial)都会是加分项。

#12 记账前端界面设计

题目背景

焦糖工作室有一个祖传的记账前端,它的界面是这样的,看起来简洁大方。


但是你还可以进行很多改进(๑•̀ㅂ•́)و✧

题目内容

重新设计记账页面并提交设计稿和说明(工具不限)。

参考资料

Google和自己

其他说明

  • 虽然看起来这个界面更像移动端,但是这道题不限尺寸。
  • 记账前端项目的源代码也在Github上:JoTang/B-frontend

#13 Limited Edition

题目背景

成都,一座走在时尚前沿的城市。走在春熙路上,各色各样的衣服让人眼花缭乱。这个时候,如果我们穿着焦糖独一无二的文化衫结伴而行,无疑会为成都增添一抹只属于我们的鲜艳色彩!(这真的不是我写的

题目内容

以你目前对焦糖的理解,设计一件独一无二的焦糖文化衫,展现焦糖人的精神
提交形式不限。

参考资料

Google和自己

其他说明

  • 这道题其实就是让大家放松一下,请尽情发挥自己的想象力与创造力吧~

#14 我29岁了,所以也想着有一天要结婚

题目背景

新垣结衣在10月9日节目中公布的择偶标准:





嗷!要被结衣酱萌化了!
Jotang工作室中V_c学长作为嘎癌晚期患者,在听到Gakki这段话之后陷入了深深的沉思…
唔……或许可以用机器学习中的内容来帮助“老婆”找到意中人,可学长忙于学习(chiji),你能帮帮学长吗?如果可以真是万分感激~笔芯

题目内容

① 学习机器学习中的决策树内容,用决策树实现书中习题预测隐形眼镜类型,并python中使用Matplotlib注解绘制树形图。
② 后续加分:做完习题之后,尝试给个思路(可不用代码实现),通过决策树的特征值针对温柔的人和喜欢Gakki的人分类,做出一个Gakki择偶筛选框架,用文档描述,越详细越具体越好

参考资料

其他说明

  • 提交python源文件+一份对决策树理解文章(可写在blog上)+对Gakki择偶决策树实现思路(word)
  • 机器学习是比较复杂的板块,有兴趣的同学请多看书,可能理论的东西多一点,但请慢慢思考和理解,切忌太功利

#15 花开两朵

题目背景

目前,机器学习与人工智能是计算机领域一个较为前沿的研究方向。而感知机(Perceptron Learn Algorism)作为机器学习中一种经典的基础算法(基础很重要),在现实应用中部署广泛。

题目内容

现在有100朵花的四维的数据集,请编写一个四维的感知机(推荐C语言),根据数据的分布,将这100朵花分为两种类别。

参考资料

教程-度盘 密码:7pn8
数据样本.txt (3.0 KB)

其他说明

如果看完题目你一脸懵逼,看完教程你就会很明白了。