我期待在新的工作环境中,有更多成长和发展的机会,也希望能不断提升自己,为安卓开发和技术创新贡献力量。 谢谢大家的阅读 )
这篇文章来讲,做独立开发,在新功能的开发上、个人工作量的排布上,该做什么,该不做什么。 ?...如果一个需求,既不能在功能上对你的产品有明显改变、也不能在体验上有明显优化,那么投资回报率就是很低的,就不值得去做。...这是不行的,这是低效的,让用户来主动做一件对他没什么好处的事情,我们要积极主动,而不能冷淡处理。更不能嫌麻烦,觉得这和产品本身无关,就不去做。 ?...当用户发现自己的反馈,及时地出现在新产品中时,用户也会有一种参与感,从而帮助你的产品形成口碑效应。...该不做 - 永远自己写后台 之前写过一篇 《入门:独立开发者如何解决后台问题》 也提到过。 我的建议是,有适当的需求和能力的话,独立开发者是可以自己写后台的。
这个产品解决了什么样的问题,用什么方式解决的,其他产品解决了这个问题吗,它们是怎么解决的,你和它们相比有什么不同……这款产品有自己的设计风格吗,如果是依照平台的风格,那么有什么地方没遵循平台的规范吗,能不能先破再立...但其实真的没必要这样,因为对方是来提出需求的,假如让我进入一个完全没有概念的领域,比如说挑选木材,我也只能说我想要像什么什么一样的木材,我叫不上名字的。所以甲方这样无可厚非。...但同时我们也知道,一个好的甲方,我们可能希望他懂技术、懂设计、懂产品,和我们交流起来纵享丝滑。...那么作为程序员,你应该能看得懂 #6B4449 是什么意思,并具有把它转换成 RGB 或 HSB 数值的能力,这样可以保证你在遇到了相对糟糕的设计师的时候,也能完成任务。...类似的例子太多太多了…… ---- 或许这篇文章的标题还可以改成: 在这个行当,不做设计师也得懂设计 在这个行当,不做产品经理也得懂产品 不想吐槽,只想分享一点自己的看法,我觉得真正的专业,不仅是把自己份内的事做好这么简单
整体思路很清晰,分析的也比较完整,对胃癌的临床治疗具有一定的实际意义!
PC,APP,Pad多端流行 前后端开发职责不清晰: 各司其职,最大程度减少开发难度,方便协作 开发效率问题: 一般后端开发需要等前端页面准备好,有时候前端也一直配合后端,能力受限 前后端代码混合,...日积月累,维护成本增加 后端开发语言和模板耦合 前后端分离后 前后端分离后: 后端仅返回前端所需的数据,不再渲染HTML页面,不在控制前端效果,至于前端展示什么效果,由前端来定 前后端分离后存在的问题...: 维护成本高 学习曲线增高 协作成本高 RestfulAPI 什么是RestfulAPI: REST(Representational State Transfer,表征状态转移)是一种Web服务的软件架构风格...\day1\django_user_info>python manage.py shell In [1]: from myapp.models import User In [2]: User.objects.create...(name="zhangsan",city="北京",sex="男",age=18) In [3]: User.objects.create(name="ashan",city="上海",sex="女"
今天跟大家聊一聊数仓为什么分层? 01经典的数仓分层 首先跟大家聊一个经典的数仓分层结构,主要包括ODS、DWS、DW、APP四层。...一句话:从业务系统增量抽取,数据不做清洗转换,与业务系统数据模型保持一致。 DWS:根据ODS层,增加一些维度信息,过滤一些异常数据。...02数仓为什么分层 那么为什么数据仓库会有分层呢? 每多一层不就会多一些开发工作吗?还会经常有多层数据重复?不分层可不可以?...等一些关系型数据库来做数仓,但随着数据量的发展,特别是电信和银行业务的快速发展(那时候互联网企业还没起来),在进行一个数仓应用开发过程中,我们需要分很多步骤来进行,所以会考虑用空间来换时间,包括现在市面上也会有一些用空间换时间这样的...复杂的问题简单化:做过传统数仓的都知道,以前Oracle的存储过程会写几千行,所以现在我们一般很少写几千行的业务ETL逻辑了,而是分为多个ETL过程,从明细层到应用层进行逻辑拆解,中间也会进行一些逻辑合并
安装django 1.11 pip install django 2.安装pymysql 我是Python3.5,所以必须用pymysql pip install pymysql 3.用PyCharm...'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages',...password = request.POST['password'] email = request.POST['email'] #此处遇坑 k = User.objects.create...数据库.jpg 10.遇到的问题 报错save() missing 1 required positional argument: 'self' 原代码 User.objects.create...(username=username,password=password,email=email) User.save() 改后代码 k = User.objects.create
Task >>> from guardian.shortcuts import assign_perm >>> boss = User.objects.create(username="Big Boss...") # 创建用户boss >>> joe = User.objects.create(username="joe") # 创建用户joe >>> task = Task.objects.create(...assign_perm("change_task", group, task) >>> jack = User.objects.create...也可以使用get_user_perms获得直接分配权限给用户(而不是从它的超级用户权限或组成员资格继承的权限)。同样的,get_group_perms仅返回其是通过用户组的权限。...Task object>]> >>> get_objects_for_user(jack, 'todo.view_task') 注意:这里的全权限前面要加app的名字(不知道什么
但是这两个方法的步骤以及代码量都很多,而且都是首先需要降维聚类分群后才能去确定具体的有意义的亚群。如果我们的降维聚类分群步骤里面的亚群并不纯粹或者分群时候的分辨...
我们前面说过,仅仅靠ONCOMINE数据库的数据,还很难发表论文。而且,ONCOMINE数据库的数据,是芯片或测序的结果,是从转录水平进行的检测。而差异表达,最...
GNE 从一开始就不相信各种各样的列表页能自动化完美提取,所以也不会去做完美自动化提取列表页的功能。GNE 要做的是,有限的自动化。 什么叫做有限自动化呢?如下图所示: ?...这样做的好处是显而易见的——第一,这个 XPath 本身已经限定了我需要的列表页所在的位置,所以即使当前页面有多个列表页也能正确识别;第二,feature 参数也能表示出我们需要提取的标题所在的具体标签...所以即使一个列表每一行有多个 标签,也能提取到正确的标题和 URL。 除了 XPath 外,feature 参数也可以接收关键词,如下图所示: ?...什么叫做有限的自动化 有限的自动化就是永远相信人的力量。基于统计学的所有 AI 算法都是不可靠的。 上线时间 有限自动化提取列表页的功能,将会在8月2号上线。
在Django的开发模式中,最简单的一点,也就是说对数据库的操作,可以通过app应用中的models.py模块来控制,下面就来详细的说明,来看看它有什么优势。...首次执行python manage..py migrate同时也会创建其他的表,因为本人之前已经执行过该命令,所以么有显示出创建的表,首次执行创建的表为: ?...def Insert(request): '''实现数据库的insert操作''' User.objects.create( username=u'wuya',...def Insert(request): '''实现数据库的insert操作''' User.objects.create( username=u'wuya',...def Insert(request): '''实现数据库的insert操作''' User.objects.create( username=u'wuya',
一、Celery入门 介绍 Celery 是一个简单、灵活且可靠的分布式任务队列系统,专注于实时处理的异步任务队列,同时也支持任务调度。Celery是实现异步任务、定时任务的一种工具。...项目目录(包含manage.py的目录) celery -A mysite worker -l INFO -P solo 启动Django项目 # 进入Django项目目录(包含manage.py的目录...# views.py def create_user(request): user = User.objects.create(username=request.POST['username']...如果事务回滚,任务也不会被调度。...def create_user(request): user = User.objects.create(username="zhangsan") # 数据库操作 # 正确:事务提交后才会触发任务
至于pg为什么不做这个功能我也想了很久,下面是我自己的一点猜测。...当然这样也带来膨胀的问题,这其实也是pg最遭人诟病的问题。 再来说说最大可用。...那么再来看看最大可用有什么问题。最大可用模式的解释是:在主备连接正常情况下,主备之间以同步模式提交数据,当主备之间遭遇异常导致主备连接失败那么会自动切为异步模式,不影响主机可用性。...所以我猜测pg的考虑是将低概率事件也进行消灭,给用户确切的保证,追求完美。
你有考虑过如果不做程序员,你会从事什么职业吗?或者你现在正在发展什么第二职业?...曾经的机会 刚工作那会淘宝还没出天猫,没事跟同事在淘宝搞搞代理,每个月也能收入上千块,没事也给自己的淘宝店刷刷信誉,也5钻了,走的实体的。...其实违法的事还是不能干,也算是一次机会吧,只是这个机会放弃也不可惜。...每天泡在书海里,没习惯看书也会看上几本吧。 培训讲师,至少自己这么多年入的坑和开发的心得分享跟各位老铁,接触年轻的人保持年轻心态!没事吹吹牛!至少不用加班吧!而且可以没事去研究点东西分享给别人。...PS:愿你岁月无波澜,愿我余生不悲观,我身边儿呐大多数人都已经认命,但我还在拼命,我不赶什么潮,我也不搭什么船,我有自己的海,程序员老铁们,加油吧。 * * * [欢迎关注]
也正是一直苦于自己并没有做好程序员的职业规划,所以迟迟没有动笔来写。今天趁着1024程序员节,不是说要讲一讲程序员的职业生涯规划,而是要从反面来说一下不规划的不安。...因而作为过来人来说,个人的建议还是希望每一位程序员或者是编程工业者,在认真做牛马的同时,也一定要做好职业生涯规划。...这样有了明确的目标,你才能在追逐目标的路上不断的成就自己,这样既可以保持自己对职业的敏感度,同样也可以让自己时刻处于核心地位而免遭闹心之举。...新的时代,作为程序员,你可以充分的利用AI 带来的便利,正如文章标题【不做牛马,编程人生 也能易如反掌】。...AI 同样也给各行各业带来了挑战,不管你是文本从业者或者是图片,视频创作者,AI 带来的风险与机遇并存,不管你是什么行业,你都需要保持一定的敏感性,不断的提升自己,提高自己驾驭科技的能力
三、为什么选择Django? 首先介绍一下Django,Django具有以下特点: 功能完善、要素齐全:该有的、可以没有的都有,自带大量常用工具和框架,无须你自定义、组合、增删及修改。...从Github的数据来看,Django的开发非常活跃,迭代速度也非常快。...2.是否可以满足需求: Django以要素齐全、工具丰富、框架庞大著称,基本上别的框架有的它有,别的框架没有的它也有,如果Django满足不了需求,那么别的框架同样也一样。...Django在这一点做的非常好。 四、Django的不足 不能光说优点,也说说一些缺点: 框架庞大,被认为不够精简、捆绑的内容太多 其实我不认同这一条,我真不认为这是个缺点。...Django帮你把它们都集成好了,而且保证兼容性、可用性和方便性,就好比联想一体机,开机即用,效率也高。
抽取的思想 为什么要封装/抽取?...很多地方都用到了重复的代码) 抽取/封装的步骤 1.定义一个函数(方法),把要抽取的代码复制过来 2.哪里有问题改哪里,没有的变量以参数的形式定义 3.验证抽取方法 什么时候进行抽取...import render,redirect from django.views import View from app.users.models import User from django import...http from django.urls import reverse # 系统也能自己去帮助我们实现 登陆状态的保持 from django.contrib.auth import authenticate...# 3.验证数据没有问题才入库 # 当我们在操作外界资源(mysql,redis,file)的时候,我们最好进行 try except的异常处理 # User.objects.create
Generated by 'django-admin startproject' using Django 2.0.13....', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', '...]): return Response({'msg':'数据不完整','code':400}) #create添加 # user_obj = User.objects.create...validated_data["password"] = make_password(validated_data.get('password')) user_obj = User.objects.create...user_obj.token = token return user_obj #2.set_password加密 # user_obj = User.objects.create