- 浏览: 300827 次
- 性别:
- 来自: 武汉
最新评论
-
masuweng:
如何给新人机会 -
masuweng:
多sql结果集按列合并新结果报表实现方案 -
Ahe:
赞
坚持长跑方能赢 -
masuweng:
好好好
程序员如何更好的了解自己所做的事情 -
小楠人:
laoguan123 写道楼主好,使用过一些excel导入导出 ...
excell导入导出
文章列表
B2B(Business-to-Business)是企业与企业的交易,作为B2B平台是怎样服务交易环节的?对应有什么职位角色?在此简单描述,并略述职位职责变化,以及随着平台势能发展业务变更迭代的一些体会。
职位:
BD(Business Development):客户开发
撮合:负责客户的询盘处理
采购:负责供应商的报价确认/订单发货
供管:供应商管理
客服:问题单等处理
仓库:寄售货品管理
财务:发票/汇款
品类分析:分析产品品类的走向
跑在客户服务最一线的是BD和撮合:
B ...
清明节过去很久了,爷爷去世后的第一个清明没有回去祭拜一下,深感遗憾。
回想起将爷爷抬入棺材,身体腐化流出的血水触碰到手心的那种感觉,真的体会到亲人已远去,而情感又那么难以割舍。
希望家人都安好,希望深藏这种感觉做更好的自己不留遗憾!
图片存base64
base64_code = Base64.encode64(File.read(file.tempfile))
if base64_code.length > 4*1024*1024
@size_error = true
else
ActiveRecord::Base.transaction do
@license = @transport_company.business_licenses.build(business_license_params.merge(base64 ...
用一个字断表示多判断条件
- 博客分类:
- 数学算法
status:default= 0
关联上user_id: status = status + 1
客户转化成功: status = status + 10
询盘转化成功: status = status + 100
订单转化成功: status = status + 1000
即0000 1111 每个位数用两种状态表示。
场景:某个报表一个sql出不来,需要多个sql的结果集合并加工
方案要点:按列抽取sql数据,再矩阵转置方式合成目标报表。
方案难点:
1,各sql结果行数不一致时,空列要按空集处理补数据加工。
2,实现跨表字断的表达式计算。
部分代码:
# 关联报表子报表
def association
@child_columns = []
@child_reports = []
@execute_child_reports = []
@child_temporary_reports = @temporary_report.child_repor ...
由于海外业务需求,服务器部署在新加坡。但是互相同步的业务部署在国内。
生产环境经常遇到海外api同步业务接口到国内运用掉包(国内调海外api很少出这种问题!)
为了解决这个问题,尝试了两种方案:
方案一:
在海外服务器,链接调用国内的redis-sidekiq写入任务,在国内服务器响应任务再链接海外数据库去取数据写到国内服务器。
这样貌似效果还不错,但是,海外调国内的任务队列,国内再写逻辑链接处理海外数据库。互相之间耦合太大。
方案二:
在海外api调用时,添加状态表记录,接口名称和参数以及反馈状态。
调用状态返回成功,则不再重复调用,否则5分钟轮询调用。
配合redis-sidekiq海外任 ...
最近和产品经理闲聊经济危机,创业等话题,让我想到了一个词:冒险。
对于冒险我还想到关于自己的一个故事!
小时候和小伙伴到一口大井里戏水,井是长宽各5米的公用饮水池,四周用墙围起来,中间也隔了一道墙,一边水深5米,另一边有阶梯一步步往下延伸,有的地方比较浅,越往下越深。
当时还没学会游泳,和很多年纪小的在浅区里玩,对于会游泳的他们跑到围墙上蹦下来跳到深井里去,看着他们美美的样子好不自在!有一次之前也在浅玩的小伙伴刚学会了游泳,看着他也能跑到围墙上跳到深井里了!我莫名冲动,觉得那么酷的事情我一定也可以做到,哈哈。
我战战兢兢来到围墙上,几经 ...
数据结构学习
数组学习:
题目一:
实现微信抢红包输出:100块钱十个包随机生成数组输出。
题目二:
str = "张三13409876543男,李四13407654328女,王五13402678896男"
输出二维数组结果: [["张三",13409876543, "男"],["李四",13407654328,"女"],["王五",13402678896,"男"]]
考核:字符串与数组互转,正则表达式。
题目三:
实现金额大写的翻译
一:区间find/call选取(重量范围与运费)
PROFIT = {
0...10 => ->(o){ 50 },
10...30 => ->(o){ 40 },
30...50 => ->(o){ o },
50...200 => ->(o){ o * 0.5 },
200...1000 => ->(o){ o * 0.4 },
1000..BigDecimal::INFINITY => ->(o){ o * 0.3 }
}
def comp ...
2018应该是一个非常出彩的年份,在此重要的一年之始要给自己留下点建议!
围绕如题,我想分享自己真实的三个小故事。
1.高三的时候,我参加了校运会400米跑步。第一次满怀信心的发起400米的挑战,内心是激动和忐忑的!脑海里想过一百遍起跑冲刺每个动作!
发令枪起,我就像离弓的箭一样飞奔而去,前200米我把第二名远远抛在身后10多米,同学们激动的说那是我们班的!300米我开始觉得疲惫,还有50米的时候我怎么努力都提不起速度了!最后20米被别人超过。那种无奈的感觉是多么的难忘!回来老师就说:“爆发力很好,耐力不行!”
2.大一的时候我再次参 ...
很多场景用到条件分发跳转
方案一:
def aa(condition,option)
if condition == 1
todo 1
elsif condition == 2
todo 2
end
end
示例:
def get_charge(serve)
if serve.is_a? QuantityServe
charge = serve.compute_price(good.unified_quantity * number, extra)
elsif serve.is_a? NumberServ ...
走出程序员的角色,看看自己所在做的事情是非常有必要的。
很多人对自己正在做的事情了解甚微,一个系统为了解决什么问题,为什么这样做,它的历史和未来是怎么样演进的,以及未来的发展方向如何。
只有了解自己做的事情,才能有更多的激情去做事。
对此我总结了三个方面:首先要懂业务,知道自己在做什么;其次是了解技术实现方案,知道怎么做的;最后是数据分析,即了解这样做的驱动力和理由。
一:业务分析
所谓的业务分析,就是不断总结系统迭代的业务流。
总结的重点放在两方面上:1.梳理当前业务流,2.总结业务更替历史分析(什么阶段什 ...
SETTING = Rails.application.config_for('settings/setting')
class Setting < OpenStruct
def initialize(hash = nil)
@table = {}
@hash_table = {}
if hash
hash.each do |k, v|
@table[k.to_sym] = v.is_a?(Hash) ? self.class.new(v) : v
@hash_table[k.to_sy ...
在两个内部平凡调度的系统间实现数据同步
可以考虑公用一个数据库或api协议互调。
常用api互调方案
1、在A系统提供api接口,B系统写job请求调用A系统接口
2、在A系统定义job,并且A系统的job方法调用B系统的数据库渲染。B系统需要通信请求A系统时,呼叫A系统的job方法(往往是对A系统的redis添加一个job线程)。《用于需要批量大量传数据,防止丢包》
1.绝对值,获取经纬度左右最近的地点
abs(latitude-1000) as min_latitude
2.时间相减取最近整数
((self.overdue_date.at_beginning_of_day - Time.now).to_f/(60*60*24)).ceil
3.矩阵转置
require 'matrix'
Matrix.columns([[a0,a1,a2,a3],[b0,b1,b2,b3]]).to_a
=> [[a0,b0],[a1,b1],[a2,b2],[a3,b3]]
常用在报表的拼装上
4.相反数
@real_orde ...