我的创作纪念日

机缘

转眼间,我已经完成了一年的创作。在大数据科班毕业后,我发现自己对Java语言情有独钟,因此立志从事Java开发。然而,当我去面试时,才发现自己的技能还远远不够。于是,在家自学了Spring MVC、Spring Boot和MyBatis等技术,并通过撰写博客的方式巩固所学知识,将学习到的知识分享出去。尽管如此,我依然没有找到理想的Java工作机会。不过,幸运的是,我找到了一家使用C#语言的公司,并从实习开始一直工作至今。这段经历让我踏上了持续学习与开发的旅程。

进入公司实习后,我发现其实公司业务中并不是单一语言的,我参与了Java、Python、C#等多个开发项目,发现不管什么语言,只是一个工具,无非是干什么活用什么工具顺手而已。入职半年后,GPT横空出世,使用GPT给自己提升了很大的工作效率。建议大家在学习中也多去接触这些前沿的东西。


收获

在这一年的创作中,我收获了2821个粉丝、6万个阅读量和500多个收藏。非常高兴我的博客能够帮助到大家,也祝愿大家在学习的道路上越走越顺。

在工作一年的时间里,我学会了使用ASP.NET Core进行Web开发,掌握了如何使用Git管理代码,以及如何使用YOLO训练模型并进行识别等技术。

并且收获了

蓝桥 Java 职业技能中级证书

大数据平台运维职业技能中级证书

这两个证书

日常

每天的日常生活包括早上起床做饭,然后去上班;下班后继续学习工作上使用的技术,并在掌握新技术后进行总结和记录,最终写成博客分享给更多人。


成就

最有成就感的应该这这个类的代码吧,第一次在项目中自己对表单数据导入做一个数据的校验

public class ZjImportBeforeCommandHandler : IRequestHandler
{
    private readonly GlobalOptions _options;
    private readonly ISession _session;

    public ZjImportBeforeCommandHandler(IOptionsMonitor options, ISession session)
    {
        _session = session;
        _options = options.CurrentValue;
    }

    public async Task HandleAsync(Commands.ZjGlBeforeImportCommand command,
        CancellationToken cancellationToken = new())
    {
        await using var conn =
            DatabaseUtilities.CreateNpgsqlConnection(_options.DataConnectionString);

        var selectXzq = $@"with xzqsj as (
        SELECT LEFT(xzq_dm||'',4)as xzq_dm ,xzq_mc as shi FROM xzqsj),
        xzqxj as(
            SELECT LEFT(xzq_dm||'',4) as xzq_dm,xzq_mc as xian FROM xzqxj )

        SELECT shi,xian FROM xzqxj LEFT JOIN xzqsj ON xzqsj.xzq_dm =xzqxj.xzq_dm";
        var xzqNames = await conn.QueryAsync(selectXzq);

        var xmmcList = new List();

        foreach (var commandAttributesTable in command.AttributesTables)
        {
            foreach (var keyValuePair in commandAttributesTable)
            {
                if (keyValuePair.Key == "xm_mc")
                {
                    if (string.IsNullOrWhiteSpace(keyValuePair.Value?.ToString()))
                    {
                        throw new MicroserviceFrameworkFriendlyException("项目名称不可为空");
                    }

                    xmmcList.Add(keyValuePair.Value.ToString());
                }

                if (keyValuePair.Key == "shi_mc")
                {
                    if (string.IsNullOrWhiteSpace(keyValuePair.Value?.ToString()))
                    {
                        throw new MicroserviceFrameworkFriendlyException("市名称不可为空");
                    }

                    var xzqs = xzqNames.Where(d => d.shi == keyValuePair.Value.ToString()).ToList();
                    if (!xzqs.Any())
                    {
                        throw new MicroserviceFrameworkFriendlyException($"系统中不存在该市:{keyValuePair.Value}");
                    }

                    var xianName = commandAttributesTable.GetValueOrDefault("xian_mc")?.ToString();
                    if (!string.IsNullOrWhiteSpace(commandAttributesTable.GetValueOrDefault("xian_zj")?.ToString()))
                    {
                        if (string.IsNullOrWhiteSpace(xianName))
                        {
                            throw new MicroserviceFrameworkFriendlyException("存在县级资金时,县名称不可为空");
                        }
                        var xzq = xzqs.Where(d => d.xian == xianName).ToList();
                        if (!xzq.Any())
                        {
                            throw new MicroserviceFrameworkFriendlyException($"{keyValuePair.Value}中不存在该县:{xianName}");
                        }
                    }
                }

                if (ZjGlEnums.Mobile.Any(d => d == keyValuePair.Key))
                {
                    var value = keyValuePair.Value?.ToString();

                    if (string.IsNullOrWhiteSpace(value) || !Regex.IsMatch(value.ToString(), @"^1[3456789]\d{9}$"))
                    {
                        throw new MicroserviceFrameworkFriendlyException("手机号码不合规");
                    }
                }

                if (ZjGlEnums.Fund.Any(d => d == keyValuePair.Key))
                {
                    var value = keyValuePair.Value?.ToString();
                    if (!string.IsNullOrWhiteSpace(value))
                    {
                        if (!double.TryParse(value, out var num))
                        {
                            throw new MicroserviceFrameworkFriendlyException("格式错误,资金字段出现非数字内容");
                        }

                        if (num < 0)
                        {
                            throw new MicroserviceFrameworkFriendlyException("格式错误,资金字段内容不可小于0");
                        }
                    }
                }
            }
        }
        var type = command.LayerId switch
        {
            "637490dd8ab7559c6f00b" => 1,
            "63749171668d55970b3ed" => 2,
            "637491782e40559a944ff" => 3
        };
        var sql = $@"SELECT EXISTS (select 1 from zjgl where type = @type And is_deleted = false And xm_mc =any(@xmmcList))";
        var whetherThereIsName = await conn.QueryFirstOrDefaultAsync(sql, new { type, xmmcList });
        var result = from xm_mc in xmmcList
                     group xm_mc by xm_mc
            into g
                     select new { Count = g.Count() };
        if (result.Count() != xmmcList.Count || (whetherThereIsName.HasValue && whetherThereIsName.Value))
        {
            throw new MicroserviceFrameworkFriendlyException("导入数据中存在重复项目");
        }
    }
}

憧憬

梦想是月薪过万,成为微软mvp这样的大牛,哈哈!

你可能感兴趣的:(蓝桥杯,程序人生,学习方法)