关于四维的有关问题
关于四维的问题
知乎:为什么人类想象不出四维的空间?
https://www.zhihu.com/question/40217873/answer/91882011?group_id=701375890050789376
我说:
再看一下下面的代码..............
基本是如何接手这样的代码呢?
这是一个人类典型的多维度思考方式的自然体现
我要说的是学习编程的人应该用升维练习来解读
加入备注
知乎:为什么人类想象不出四维的空间?
https://www.zhihu.com/question/40217873/answer/91882011?group_id=701375890050789376
引用
很想知道高维空间是怎样的
物理学认为高维坍缩成小尺度了 是什么意思 理解不了?
还有就是二元方程用平面 三元方程可以用立体
多元方程怎么用几何表示?
有人说人类的大脑是三维结构的无法想象出四维,这有什么关系嘛?理解不了
还有生活中有没有体现高维的东西?
物理学认为高维坍缩成小尺度了 是什么意思 理解不了?
还有就是二元方程用平面 三元方程可以用立体
多元方程怎么用几何表示?
有人说人类的大脑是三维结构的无法想象出四维,这有什么关系嘛?理解不了
还有生活中有没有体现高维的东西?
我说:
引用
0. 教学是线性的(书是字符 一维的, 老师讲课 一维的, 文章一维的)
1. 人类智商低 (初中 教学只能教到二维)
2. 学的不够(在高中期间 大量的升维 思维练习 , 数字化, 抽象化 )(楼主在这里掉队了)
3. 知识被垄断了( 大学学习的高数 可以简单把三维变方程,用方程变换 来进行思考, 线数把方程 维度无限推高) ;
1. 人类智商低 (初中 教学只能教到二维)
2. 学的不够(在高中期间 大量的升维 思维练习 , 数字化, 抽象化 )(楼主在这里掉队了)
3. 知识被垄断了( 大学学习的高数 可以简单把三维变方程,用方程变换 来进行思考, 线数把方程 维度无限推高) ;
再看一下下面的代码..............
基本是如何接手这样的代码呢?
$goods = M("SightGoods")->field('id')->where(array('sight_id'=>$id))->select(); if($goods){ $ids = array(); foreach ($goods as $v) { $ids[] = $v['id']; } if(count($ids) > 0){ $orderWhere['gid'] = array('in',$ids); $orderWhere['comment_status'] = 2; $orderWhere['goods_type'] = 'sight'; $orders = D('SightOrderView')->field('id')->where($orderWhere)->select(); if($orders){ $oids = array(); foreach ($orders as $v) { $oids[] = $v['id']; } if(count($oids) > 0){ $page = $page-1; $pageCount = 10; $limit = $page*$pageCount.",".$pageCount; $comment = M('OrdersComment')->where(array('oid'=>array('in',$oids)))->limit($limit)->order('create_time DESC')->select(); if($comment){ foreach ($comment as &$v) { $user = M('Users')->field('mobile,openid,nickname,email,img,sex,ind_signature')->find($v['uid']); $user['img'] = $this->eve->arrangeUserImgPath($user['img']); $v['user'] = $user; $imgs = M('UserAlbum')->field('image_path')->where(array('obj_id'=>$v['id'],'image_type'=>1))->select(); $images = array(); if($imgs){ foreach ($imgs as $img) { $images[] = $this->eve->arrangeUserImgPath($img['image_path']); } } $v['images'] = $images; } $this->apiRetrun(1,'ok',$comment); } } } } } $this->apiRetrun(0,'no data'); }
这是一个人类典型的多维度思考方式的自然体现
我要说的是学习编程的人应该用升维练习来解读
1 楼
抛出异常的爱
20 小时前
如果使用不同的技巧与知识
那么升维之后思考就不是那么困难了
那么升维之后思考就不是那么困难了
public function getCommentBySight($id,$page=1){ $goods = M("SightGoods")->field('id')->where(array('sight_id'=>$id))->select(); if(!$goods){ $this->apiRetrun(0,'no data'); //升一维 } $ids = array(); foreach ($goods as $v) { $ids[] = $v['id']; } if(count($ids) <= 0){ $this->apiRetrun(0,'no data'); //升二维 } $orderWhere['gid'] = array('in',$ids); $orderWhere['comment_status'] = 2; $orderWhere['goods_type'] = 'sight'; $orders = D('SightOrderView')->field('id')->where($orderWhere)->select(); if(!$orders){ $this->apiRetrun(0,'no data'); //升三维 } $oids = array(); foreach ($orders as $v) { $oids[] = $v['id']; } if(count($oids) <= 0){ $this->apiRetrun(0,'no data'); //升四维 } $page = $page-1; $pageCount = 10; $limit = $page*$pageCount.",".$pageCount; $comment = M('OrdersComment')->where(array('oid'=>array('in',$oids)))->limit($limit)->order('create_time DESC')->select(); if($comment){ foreach ($comment as &$v) { $user = M('Users')->field('mobile,openid,nickname,email,img,sex,ind_signature')->find($v['uid']); $user['img'] = $this->eve->arrangeUserImgPath($user['img']); $v['user'] = $user; $imgs = M('UserAlbum')->field('image_path')->where(array('obj_id'=>$v['id'],'image_type'=>1))->select(); $images = array(); if($imgs){ foreach ($imgs as $img) { $images[] = $this->eve->arrangeUserImgPath($img['image_path']); } } $v['images'] = $images; } $this->apiRetrun(1,'ok',$comment); } }
2 楼
抛出异常的爱
20 小时前
public function getCommentBySight($id, $page = 1) { $goods = M("SightGoods")->field('id')->where(array( 'sight_id' => $id ))->select(); if (!$goods) { $this->apiRetrun(0, 'no data'); //升一维 } $ids = array(); foreach ($goods as $v) { $ids[] = $v['id']; } if (count($ids) <= 0) { $this->apiRetrun(0, 'no data'); //升二维 } $orderWhere['gid'] = array( 'in', $ids ); $orderWhere['comment_status'] = 2; $orderWhere['goods_type'] = 'sight'; $orders = D('SightOrderView')->field('id')->where($orderWhere)->select(); if (!$orders) { $this->apiRetrun(0, 'no data'); //升三维 } $oids = array(); foreach ($orders as $v) { $oids[] = $v['id']; } if (count($oids) <= 0) { $this->apiRetrun(0, 'no data'); //升四维 } $page = $page - 1; $pageCount = 10; $limit = $page * $pageCount . "," . $pageCount; $comment = M('OrdersComment')->where(array( 'oid' => array( 'in', $oids ) ))->limit($limit)->order('create_time DESC')->select(); if ($comment) { foreach ($comment as & $v) { $user = M('Users')->field('mobile,openid,nickname,email,img,sex,ind_signature')->find($v['uid']); $user['img'] = $this->eve->arrangeUserImgPath($user['img']); $v['user'] = $user; $imgs = M('UserAlbum')->field('image_path')->where(array( 'obj_id' => $v['id'], 'image_type' => 1 ))->select(); $images = array(); if ($imgs) { foreach ($imgs as $img) { $images[] = $this->eve->arrangeUserImgPath($img['image_path']); } } $v['images'] = $images; } $this->apiRetrun(1, 'ok', $comment); } }
3 楼
抛出异常的爱
20 小时前
加入备注
public function getCommentBySight($id, $page = 1) { // 景点 下有多少 票种 $goods = M("SightGoods")->field('id')->where(array('sight_id' => $id))->select(); if (!$goods) { return $this->apiRetrun(0, 'no data'); //升一维 } $ids = array(); foreach ($goods as $v) { $ids[] = $v['id']; } if (count($ids) <= 0) { return $this->apiRetrun(0, 'no data'); //升二维 } $orderWhere['gid'] = array('in', $ids); $orderWhere['comment_status'] = 2; $orderWhere['goods_type'] = 'sight'; // 票种 下了多少定单 TODO ids 可用子查寻来作 $orders = D('SightOrderView')->field('id')->where($orderWhere)->select(); if (!$orders) { return $this->apiRetrun(0, 'no data'); //升三维 } $oids = array(); foreach ($orders as $v) { $oids[] = $v['id']; } if (count($oids) <= 0) { return $this->apiRetrun(0, 'no data'); //升四维 } $page = $page - 1; $pageCount = 10; $limit = $page * $pageCount . "," . $pageCount; //定单中的评价 TODO 可用子查寻来作 $comment = M('OrdersComment')->where(array('oid' => array('in', $oids)))->limit($limit)->order('create_time DESC')->select(); if ($comment) { foreach ($comment as &$v) { // 补充评价的用户信息 $user = M('Users')->field('mobile,openid,nickname,email,img,sex,ind_signature')->find($v['uid']); // 补充头像实际地址 $user['img'] = $this->eve->arrangeUserImgPath($user['img']); $v['user'] = $user; // 此评价的上传图 $imgs = M('UserAlbum')->field('image_path')->where(array('obj_id'=> $v['id'],'image_type' => 1,))->select(); $images = array(); if ($imgs) { foreach ($imgs as $img) { //补充上传图的实际地址 $images[] = $this->eve->arrangeUserImgPath($img['image_path']); } } $v['images'] = $images; } $this->apiRetrun(1, 'ok', $comment); } }
4 楼
抛出异常的爱
20 小时前
4分析
景点所有的评价:
评价的内容填充
景点所有的评价:
// 景点 下有多少 票种 $goods = M("SightGoods")->field('id')->where(array('sight_id' => $id))->select(); if (!$goods) { return $this->apiRetrun(0, 'no data'); //升一维 } $ids = array(); foreach ($goods as $v) { $ids[] = $v['id']; } if (count($ids) <= 0) { return $this->apiRetrun(0, 'no data'); //升二维 } $orderWhere['gid'] = array('in', $ids); $orderWhere['comment_status'] = 2; $orderWhere['goods_type'] = 'sight'; // 票种 下了多少定单 TODO ids 可用子查寻来作 $orders = D('SightOrderView')->field('id')->where($orderWhere)->select(); if (!$orders) { return $this->apiRetrun(0, 'no data'); //升三维 } $oids = array(); foreach ($orders as $v) { $oids[] = $v['id']; } if (count($oids) <= 0) { return $this->apiRetrun(0, 'no data'); //升四维 } $page = $page - 1; $pageCount = 10; $limit = $page * $pageCount . "," . $pageCount; //定单中的评价 TODO 可用子查寻来作 $comment = M('OrdersComment')->where(array('oid' => array('in', $oids)))->limit($limit)->order('create_time DESC')->select();
评价的内容填充
foreach ($comment as &$v) { // 补充评价的用户信息 $user = M('Users')->field('mobile,openid,nickname,email,img,sex,ind_signature')->find($v['uid']); // 补充头像实际地址 $user['img'] = $this->eve->arrangeUserImgPath($user['img']); $v['user'] = $user; // 此评价的上传图 $imgs = M('UserAlbum')->field('image_path')->where(array('obj_id'=> $v['id'],'image_type' => 1,))->select(); $images = array(); if ($imgs) { foreach ($imgs as $img) { //补充上传图的实际地址 $images[] = $this->eve->arrangeUserImgPath($img['image_path']); } } $v['images'] = $images;
5 楼
抛出异常的爱
19 小时前
5.1 景点所有的评价:
comment->order -> goods -> sight
多对一
5.2 评价的内容填充用户信息
5.3合并上二个sql (逻辑上不应进行合并但性能就需要合并了)
5.4 分页 排序 等等
5.5 一个for循环套查寻也没什么不好
但为了性能什么的 增加一些东西:
comment->order -> goods -> sight
多对一
select * from OrdersComment comments left join SightOrderView orders on comments.oid = orders.id left join SightGoods goods on orders.gid = goods.id left join Sight sights on goods.sight_id = sights.id where sights.id = :id
5.2 评价的内容填充用户信息
select comments.*,users.* from OrdersComment comments left join User users on comments.uid =users.id
5.3合并上二个sql (逻辑上不应进行合并但性能就需要合并了)
select comments.*,users.* from OrdersComment comments left join SightOrderView orders on comments.oid = orders.id left join SightGoods goods on orders.gid = goods.id left join Sight sights on goods.sight_id = sights.id left join User users on comments.uid =users.id where sights.id = :id
5.4 分页 排序 等等
5.5 一个for循环套查寻也没什么不好
但为了性能什么的 增加一些东西:
select albums.obj_id,albums.image_path from UserAlbum albums left join OrdersComment comments on albums.obj_id=comments.id left join SightOrderView orders on comments.oid = orders.id left join SightGoods goods on orders.gid = goods.id left join Sight sights on goods.sight_id = sights.id left join User users on comments.uid =users.id where sights.id = :id
foreach ($comments as $comment) { foreach ($albums as $album) { if($comment['id']==$album['obj_id']){ $comment['images'][] = $album['image_path']; } } }
6 楼
抛出异常的爱
19 小时前
6.调试
6.1 sight类型的定单才显示
6.2 开放评论的定单才显示
6.3 图片应该为未删除的
select albums.obj_id,albums.image_path from UserAlbum albums
left join OrdersComment comments on albums.obj_id=comments.id
left join SightOrderView orders on comments.oid = orders.id
left join SightGoods goods on orders.gid = goods.id
left join Sight sights on goods.sight_id = sights.id
left join User users on comments.uid =users.id
where sights.id = :id
and image_type = 1
6.4 可能还有很多问题
.................
7.代码化
OrdersCommentViewModel //6行有效
UserAlbumViewModel //8行有效
8 总结
人的眼睛智商
总是不够用的状态
所以要学习升维,降维
才能读懂别的代码
写出不那么隔心的代码
6.1 sight类型的定单才显示
select albums.obj_id,albums.image_path from UserAlbum albums left join OrdersComment comments on albums.obj_id=comments.id left join SightOrderView orders on comments.oid = orders.id left join SightGoods goods on orders.gid = goods.id left join Sight sights on goods.sight_id = sights.id left join User users on comments.uid =users.id where sights.id = :id and orders.goods_type='sight'
6.2 开放评论的定单才显示
select albums.obj_id,albums.image_path from UserAlbum albums left join OrdersComment comments on albums.obj_id=comments.id left join SightOrderView orders on comments.oid = orders.id left join SightGoods goods on orders.gid = goods.id left join Sight sights on goods.sight_id = sights.id left join User users on comments.uid =users.id where sights.id = :id and orders.goods_type='sight' and orders.comment_status=2
6.3 图片应该为未删除的
select albums.obj_id,albums.image_path from UserAlbum albums
left join OrdersComment comments on albums.obj_id=comments.id
left join SightOrderView orders on comments.oid = orders.id
left join SightGoods goods on orders.gid = goods.id
left join Sight sights on goods.sight_id = sights.id
left join User users on comments.uid =users.id
where sights.id = :id
and image_type = 1
6.4 可能还有很多问题
.................
7.代码化
引用
OrdersCommentViewModel //6行有效
UserAlbumViewModel //8行有效
//20行有效行数 $comments = D('OrdersCommentView')->where(array('id'=>$id ))->select(); $albums = D('UserAlbumView')->where(array('id'=>$id ))->select(); foreach ($comments as $comment) { foreach ($albums as $album) { if($comment['id']==$album['obj_id']){ $comment['images'][] = $album['image_path']; } } }
8 总结
人的眼睛智商
总是不够用的状态
所以要学习升维,降维
才能读懂别的代码
写出不那么隔心的代码