manbudezhu

manbudezhu 查看完整档案

鄂尔多斯编辑包头师范学院  |  计算机科学 编辑teacher  |  事业单位 编辑填写个人主网站
编辑

php+mysql

个人动态

manbudezhu 提出了问题 · 1月22日

go 增删改查 通用封装

开发语言: go

问题描述:

做项目时多数时间在做增删改查操作 , 耗费了很多的时间 , 且觉得自己的代码不是很规范.
请教各位大神 , 有没有go语言关于curd的通用的封装方案 , 或者代码生成器 , 推介一下 , 做一下参考. 任何框架 , 任何orm都可以 , 基于rest api接口方式的更好 , 非常感谢.

关注 2 回答 1

manbudezhu 提出了问题 · 2020-11-09

goland 和postman debug调试接口

请教各位高手一个问题:

goland如何和postman 做接口的断点调试了。
是从php转过来的,记得phpstorm中做接口断点调试,是在postman中传递一个xdebugsession就行。访问register接口就在postman访问接口时加一个参数。
但是在goland中完全不知道怎么和postman结合进行端口测试.在网上搜了好多,都是针对普通断点的调试的.

关注 3 回答 2

manbudezhu 提出了问题 · 2020-09-08

推荐几个开源系统

在工作中遇到下面两个场景, 效率很差,用的方式也很 low 。希望能用信息系统解决下面的问题

两个应用场景:

  1. 第一个需要各单位部门上报各种表格,目前都是采用 excel+邮箱的方式,汇总统计都非常不智能化。有没有合适的数据上报的开源系统,支持导出 excel 的.
  2. 需要把一些项目的档案的纸质扫描件和电子存起来,有没有合适的开源档案管理系统推介一下,(目前已经有一个内部网盘了,所以排除网盘系统)

希望各路大神推荐几个开源系统, 最好是 php 或者 golang 的, 其它语言的也行, 非常感谢!

还有什么好的成熟的企业开源项目也能推介一下,伪开源限制用户数 10 人以下的就算了,不做商业用途,自己内部使用的

关注 1 回答 0

manbudezhu 提出了问题 · 2020-06-11

goland 做网页接口的断点调试

学习go 项目,vscode对go mod的支持不稳定,语法提示时有时无,转换回了goland .习惯用断点的方式调试程序,但是不知道goland如何进行接口和网页的断点调试,网上也搜不到相应的文章.谁能指点一二,或者有相关的资料参考一下,谢谢

func main(){

http.HandleFunc("/",demo)
http.ListenAndServe(":8080",nil)

}

func demo(w http.ResponseWriter, r *http.Request) {
断点 var a=1
断点 var b=2
断点 var c=a+b

fmt.Fprintln(w,c)

}

关注 3 回答 2

manbudezhu 提出了问题 · 2020-02-22

go 文件头打印

go 语言在做文件上传时, 代码如下:

func UploadHandler(w http.ResponseWriter, r *http.Request) {
        //接收文件上传数据
        file, head, err := r.FormFile("file")
        fmt.Printf("%v", head)
        defer file.Close()

    }
}

r.FormFile返回的head是一个*multipart.FileHeader
查手册结构如下

type[FileHeader]

type FileHeader struct {
    Filename [string]
    Header   [textproto]
    Size     [int64]
}

怎么显示head的信息了我用println 和Printf("%v",head)打印出来是一堆数字

关注 4 回答 3

manbudezhu 赞了回答 · 2020-01-15

go 匿名函数

上面的可以转换成这样:

func main() {
    // nextInt := intSeq()
    i := 0

    nextInt := func() int {
        i++
        fmt.Printf("%#+v \n", &i)
        return i
    }

    fmt.Println(nextInt())
    fmt.Println(nextInt())
    fmt.Println(nextInt())
}

输出:

(*int)(0xc000014098) 
1
(*int)(0xc000014098) 
2
(*int)(0xc000014098) 
3

内部声明的变量return func() 变量没在一个func内应用回收掉, 就产生内存逃逸了, 把i这个内存从栈上分配到堆上了

关注 4 回答 4

manbudezhu 提出了问题 · 2020-01-10

go 匿名函数

刚开始学习go语言,在做匿名函数的例子,遇到一些问题

func intSeq() func() int {
    i := 0
    return func() int {
        i++
        return i
    }
}
func main() {

    nextInt := intSeq()

    fmt.Println(nextInt())
    fmt.Println(nextInt())
    fmt.Println(nextInt())
}

上面的代码执行的结果是 1 2 3
为什么结果不是1 1 1哪
哪位大神能从原理上给解答一下,非常感谢

关注 4 回答 4

manbudezhu 提出了问题 · 2019-08-07

laravel dingo 开发路由参数的问题

使用laravel+dingo 开发接口
路由

$api->get('banners/{id}', "BannersController@index");

控制器

    public function index(BannerRequest $request)
    {
        $Banner=Banner::find($request->id);
        if(!$Banner){
           throw new ResourceException('没有找到相应banner');
        }
        return $this->response->item($Banner,new BannerTransformer());
    }

request

    public function rules()
    {
        return [
            'id'=>"required"
        ];
    }

postman请求

clipboard.png

id 值那里一直验证通不过去,哪出问题了. 改成这种也不行

clipboard.png

关注 3 回答 1

manbudezhu 提出了问题 · 2019-08-02

laravel+dingo 开发 API 异常处理封装的问题

从TP转到laravel中一年多了,非常喜欢laravel这个框架。但是在做TP项目中有一些很好的做法不知道如何转到laravel 开发中。

最近使用dingo开发api接口,dingo封装了很多非常方便的方法,但是在处理接口返回异常时觉的我在TP中的异常处理思路更清晰规范,但不知道如何在dinggo中实现。

下面我说一下我在TP中的思路

>  接口请求的异常分为了两类:(1)服务器内部异常,显示通用错误,并记录日志。(2)用户请求操作异常,抛出错误信息 code(http状态码)errorCode(自定义异常码) msg(异常信息)。

重写了TP异常处理handle

代码实现如下:

/*
 * 重写Handle的render方法,实现自定义异常消息
 */
class ExceptionHandler extends Handle
{
    private $code;
    private $msg;
    private $errorCode;

    public function render(Exception $e)
     {
     //BaseException 为自定义异常基类,其他异常类继承它
        if ($e instanceof BaseException)
        {
            //如果是自定义异常,则控制http状态码,不需要记录日志
            //因为这些通常是因为客户端传递参数错误或者是用户请求造成的异常
            //不应当记录日志

            $this->code = $e->code;
            $this->msg = $e->msg;
            $this->errorCode = $e->errorCode;
        }
        else{
            // 如果是服务器未处理的异常,将http状态码设置为500,并记录日志
            if(config('app_debug')){
                // 调试状态下需要显示TP默认的异常页面,因为TP的默认页面
                // 很容易看出问题
                return parent::render($e);
            }

            $this->code = 500;
            $this->msg = '服务器内部错误';
            $this->errorCode = 999;
            //记录错误日志
            $this->recordErrorLog($e);
        }
//如果为自定义异常,返回如下代码
        $request = Request::instance();
        $result = [
            'msg'  => $this->msg,
            'error_code' => $this->errorCode,
            'request_url' => $request = $request->url()
        ];
        return json($result, $this->code);
    }

使用方式

定义自定义异常类

OrderException.php

class OrderException extends BaseException
{
    public $code = 404;
    public $msg = '订单不存在,请检查ID';
    public $errorCode = 80000;
}

异常的抛出

throw new OrderException(); //抛出订单异常错误

throw new \Exception();//抛出系统异常

请教各位laravel 的老鸟 , 我如何在dingo中实现如上效果,或者您有更好的建议和思路。### 问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

关注 2 回答 1

manbudezhu 回答了问题 · 2019-05-20

laravel jwt-auth 的问题

问题解决, token 复制的时候发现里面有换行符

关注 1 回答 1

认证与成就

  • 获得 5 次点赞
  • 获得 86 枚徽章 获得 1 枚金徽章, 获得 19 枚银徽章, 获得 66 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2017-05-10
个人主页被 1.2k 人浏览