激情与梦想,我的CSDN开源夏令营

6月有幸参与到CSDN开源夏令营当中,加入了Ubuntu kylin的开源项目组,负责优麒麟手机助手的开发。初识Ubuntu是在两年前,那时候刚刚接触编程,总希望可以尽量多接触一些有逼格的东西。

后来花了一天时间在U盘里装了一个Ubuntu,还没开始骄傲就发现同学在电脑里装了13个操作系统,从那时候开始,我就学会了……只要折腾不死,就往死里折腾。

图 1 Ubuntu kylin

喜欢折腾是我能参与到优麒麟手机助手这个项目中的重要原因。大学三年我花了大部分的时间编程,只要接触到的东西有实战之处我都会去尝试,到后来码出的代码在我不知道原理的情况下就可以成功跑起来。这种开发习惯一直延续到今年6月,编程重要并不是你有多强的实践能力。

我开始领会到思考的重要性,在CSDN开源夏令营中有幸结识到Jonas导师,Jonas导师对我的帮助可谓是空前的,我们花了大概三周的时间来讨论需求,分析技术的可行性。这让我更加坚定地去改变之前错误的开发习惯。我相信,有了正确的方向,哪怕退回原点也是进步。

优麒麟手机助手是Ubuntu kylin下的一款应用软件,致力为Linuxer创造一个可视化的手机管理工具。经过和导师的交流,我们最终决定首先实现优麒麟手机助手的无线连接,以Android作为服务器,实现所有的功能,Ubuntu kylin下的桌面软件作为客户端和Android端交互。这样一来优麒麟手机助手实际上也成了跨平台的手机管理软件,用户可以在任意一个浏览器中使用它的全部功能。

因为自己对Android很感兴趣,之前也开发了一些app,在Android端的开发上没有出现太大的障碍。底层直接使用Paw作为服务器,这样一来Android的本地代码只暴露出一个Activity和一个Service。再通过Paw加载HTML文件,前台布局开发的也很顺利,桌面式的布局可以提供很友好的用户接口,虽然现在还有很多小问题,但是已经不影响整个项目的使用,开源的魅力也在于大家可以一起改进,共同学习。

花了大概一个月的时间,一个独立的Android应用版优麒麟手机助手已经完成了。用户可以在任意浏览器中通过应用中显示的URL进行访问,效果如图2。URL包含手机IP和端口号,因为Linux的非Root用户是拿不到80端口的,所以端口号不能省去。端口号是固定死的,手机IP会根据网络动态分配。

图 2 优麒麟手机助手浏览器版界面-照片查看器

下一步的工作就是实现优麒麟手机助手在Ubuntu kylin下的桌面应用,虽然工作量已经剩下的不多,但对我来说,这一步工作的挑战难度并不低于在Android上实现全部功能。

在Ubuntu kylin桌面软件的开发中,现在流行的是Qt/QML混合编程和Qt+HTML5混合编程。实在不想承认我的C真的很渣,网上几乎找不到新版Qt/QML的中文教程,于是这一个月的时间里,很大一部分时间呆在StackOverflow上。一个在QML中注册C++类的问题让我痛苦了三个夜晚,工期其实挺紧的,任务量大到我没办法系统地地学习Qt/QML的混合编程,这让开发变的有些乱,我没有很好的处理自己。更痛苦的是没有人可以和我一起交流技术,有一天食堂大妈看着我心事从从,让我说出来她帮忙参考参考,我只能呵呵呵了,心想以后一定要去一家有技术交流氛围的公司,食堂大妈都得懂开发:)


万万没想到最终我还是完成了优麒麟手机助手桌面端的开发,桌面端换用Qt+HTML5的技术架构(如图3)。

图 3 优麒麟手机助手Ubuntu桌面版界面

CSDN开源夏令营的工作就这样结束了,但是优麒麟手机助手的开发才刚刚开始,我的程序员之路也刚刚开始。



总(软)结(文)写完了,不知道能不能把自己推销出去。最后希望有兴趣的各位看客可以加入到优麒麟手机助手的开发之中,我们来者不拒。



 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 开源c算法csdn是一个编程学习和交流的平台,主要关注开源的C语言算法和数据结构。在这个平台上,学习者可以找到大量的开源C语言算法代码,可以通过阅读这些源码来学习C语言的算法实现和优化方法。同时,学习者也可以在csdn上分享自己的C语言算法实现,通过与其他开发者的交流和讨论来不断提高自己的编程能力。 在开源c算法csdn上,你可以找到各种各样的算法实现,包括排序算法、查找算法、图算法、字符串算法等等。通过研究和使用这些算法,你可以更好地理解算法的原理和应用场景,提高编程的效率和质量。 除了算法代码,开源c算法csdn还提供了丰富的教程和学习资源,例如算法导论、算法设计与分析等方面的书籍推荐,以及算法相关的博文和技术文章。借助这些资源,你可以系统地学习和掌握C语言算法的知识。 此外,开源c算法csdn还建立了一个活跃的社区,你可以在社区中与其他学习者和专业人士交流和讨论。在这个社区中,你可以提问疑惑、解答他人的问题、分享经验和思考等。 总之,开源c算法csdn为学习者提供了一个便捷的平台,让他们能够学习和交流C语言算法知识,不断提升自己的编程水平。无论是初学者还是专业人士,都可以从中获益,并找到解决问题和提高技术的途径。 ### 回答2: 开源C算法是指基于C语言开发的算法代码具有开源性质,可以在网上自由获取和使用。CSDN是一个面向IT技术人员的专业技术社区和论坛,提供了海量技术博文、论坛问答、源代码下载等服务。 在CSDN上,开源C算法的相关资源非常丰富。首先,CSDN上有很多开发者和技术专家分享了自己开发的开源C算法代码,这些代码可以直接下载和使用,节省了开发者的时间和精力。 其次,CSDN上有很多关于C算法的教程和学习资料,可以帮助开发者更好地了解和学习C算法的原理和实现方法。这些教程通常由经验丰富的技术专家编写,内容详尽,易于理解。 此外,CSDN上还有很多开源C算法相关的讨论和问答,可以帮助开发者解决遇到的问题和困惑。在这些讨论中,开发者们可以相互交流经验,共同探讨C算法的优化和改进方法。 总的来说,CSDN为广大开发者提供了一个交流与学习的平台,通过CSDN,开发者可以获取开源的C算法代码、学习C算法的知识和技巧、解决C算法中的问题。这对于提高开发者的技术水平和开发效率都有着重要的意义。 ### 回答3: 开源C算法是指将C语言编写的算法公开并允许其他人自由使用、修改和发布的行为。CSDN是一个为程序员提供学习、交流和分享的开发者社区。 在CSDN上,许多开源的C算法可以找到。这些算法通常由广大开发者们共享而来,涵盖了各种领域和应用。开源C算法在CSDN上的发布,有助于推动技术的进步和分享,让更多人受益。 通过在CSDN上共享开源C算法,有以下几个好处: 1. 学习交流:开发者可以通过学习他人的开源C算法来扩展自己的知识和技能。CSDN提供了评论、留言和私信等交流方式,可以使开发者之间更好地分享和讨论,提高学习效果。 2. 节省时间:利用别人已经实现并公开的开源C算法,可以避免从零开始编写相同的功能,节省了开发时间和精力。 3. 质量保证:开源的C算法通常经过了众多开发者的反复测试和优化,更加稳定和可靠,可以提高程序的质量和性能。 4. 助于解决问题:在CSDN上,开发者可以提出自己遇到的问题并求助于其他开发者。其他开发者可以通过提供已有的开源C算法或给出实现思路来帮助解决问题。 5. 社区贡献:通过分享自己编写的开源C算法,开发者不仅可以获得他人的反馈和支持,还可以为整个开发者社区做出贡献,促进技术的共同进步。 总的来说,开源C算法通过CSDN的平台,促进了开发者之间的学习交流和分享,提高了开发效率和质量,同时也为整个开发者社区带来了相互支持和共同进步的机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值