一个小项目的笔记

每天一个Flutter开发小项目 (7) : 掌握Flutter数据持久化 - 构建你的简易笔记应用 然而,我们之前构建的应用大多还停留在“一次性”使用的阶段,应用数据无法在应用关闭后保存,这显然无法满足真实应用的需求。在实际开发中,数据持久化是至关重要的一环,它使得应用能够记住用户的操作、保存用户的创作,真正发挥应用的价值。在之前的六篇博客中,我们逐步解锁了 Flutter 移动开发的各项核心技能,从 UI 构建、交互设计、状态管理到页面导航,您已然具备了构建功能丰富 Flutter 应用的基础。,适用于存储结构化数据,支持关系型数据库的各种操作,例如,表创建、数据查询、事务处理等。 阅读详情

WeekPlan技术文档    2006-9-19    

1.         码表维护:

经常要用到StringCollection,      范型list<T>,        DBExcute,

(1)StringCollection 属于system.Collections.Specialized命名空间,感觉上类似于StringBuilder,都有Add()方法;区别:StringCollection是个数组,使用它跟使用数组一样方便;StringBuilder功能更强,方法更多,毕竟它是能够动态创建的。

(2)范型 属于 System.Collections.Generic命名空间。

(3)  DBExcute是个DLL,有很多的方法,例如DataAccess.ExceSP(),DataAccess.ExceSql(),各自都有各种重载,而且重载的参数都基本一致,区别就是一个是使用存储过程,一个是使用SQL语句。重载的参数有4种类型:

(string str_sql);    (无参)

(string sql,  List<DBParameter> dbParameter) ; (有参)

(DataTable dtTable,  string sql) (无参)

(DataTable dtTable,  string sql,  List<DBParameter> dbParameter)(有参)

 (4)一个处理时间的类System.Globalization.Calendar:将时间分成段来表示,如分成星期、月和年。

                   NameValueCollection:表示可通过键或索引访问的关联 String 键和 String 值的集合。 命名空间:System.Collections.Specialized

 

注意:DataAccess传递的都是DBParameter类型的参数。

2.#region 获取物理表里的字段

    private StringCollection GetFieldList()

    {

        string tableName = dplTable.SelectedValue;

 

        String SqlText = "Select * From " + tableName + " Where '1' <> '1'";

        DataTable tbFieldName = new DataTable();

        DataAccesser.ExecSql(tbFieldName, SqlText);

 

        StringCollection FieldNames = new StringCollection();

        for (int i = 0; i < tbFieldName.Columns.Count; i++)

        {

            FieldNames.Add(tbFieldName.Columns[i].Caption);

        }

        return FieldNames;

    }

#endregion

 

3.使物理表第一行值等于列名的SQL语句

String Sql = “SELECT FactoryName = 'FactoryName',FactoryAlias = 'FactoryAlias',nationalName = 'nationalName'”

            String  sql_Text = " SELECT ";

            for (int i = 0; i < GvAddFieldNames.Count; i++)

            {

                string CommiaFlag = (i == GvAddFieldNames.Count - 1) ? "" : ",";

                sql_Text += GvAddFieldNames[i] + " = " + "'" + GvAddFieldNames[i] + "'" + CommiaFlag;

            }

 

4.对GridView的操作

(1)定义GridView中某单元格类型

TextBox tb = gvAdd.Rows[0].Cells[i].FindControl(“cb”) as TextBox;

            tb.Text = "";

     CheckBox cb = gvAdd.Rows[i.Cells[0].Controls[0] as CheckBox

            Cb.Checked = true;(这种写法可能会出些问题,不安全,最好是第一种)

     TextBox txtInsert = (TextBox)gvAdd.Rows[e.RowIndex].Cells[i + 1].Controls[0];

            stringList.Add(txtInsert.Text); 注意:获取GridView里TextBox 的值(txtInsert.Text)

 即:可以把GridView的行里的控件当成对象,控件里所显示的值可以通过对该单元格的类型进行转换,来获取其值(例如CheckBox cb = gvAdd.Rows[i.Cells[0].Controls[0] as CheckBox)。

 

     (2)若要想在点击Update,Edit,Cancel按钮使页面返回原来状态,就要在该事件里的方法里使用

类似与GvAdd.EditIndex = -1; 或点击Cancel时写GvAdd.EditIndex = -1;gvAdd.Visible = false;

     (3)如何实现单选

     <asp:GridView ID="gvTableName" runat="server" DataSourceID="SqlDataSource1" Visible="False" Font-Names="Verdana" Font-Size="8pt" ForeColor="#333333" HorizontalAlign="Left" CellPadding="4" GridLines="None">

                <Columns>

                    <asp:TemplateField>

                        <ItemTemplate>

                            <%--<asp:RadioButton runat="server" Enabled="true" GroupName="TableRadio" OnCheckedChanged="GvRbtn_CheckedChanged" />--%>

                            <input name="MyRadioButton" type="radio" id="rb" value='<%#Eval("SheetTableName") %>' />

                        </ItemTemplate>

                    </asp:TemplateField>

                </Columns>

     </asp:GridView>

     (4)如果GridView与SqlDataSource绑定了,若要实现删除或编辑功能,需要加选择列,如果不加,虽然数据能够删除,但页面数据不再绑定

 <Columns>

                                <asp:CommandField ShowSelectButton="true" SelectText="Select" />

                                <asp:CommandField ShowDeleteButton="true" DeleteText="Delete" />

         </Columns>

   (4)对一些特殊字符,要进行字符串处理

·                         如:分别用 &amp;、&lt; 和 &gt; 替换字符 &、< 和 >。

·                 用数字字符实体(&#0; 到 &#0x1F)替换范围 0x-0x1F(不包括空白字符 0x9、0x10 和 0x13)中的字符值。

·                 如果在属性值的上下文中调用 WriteString,则分别用 &quot; 和 &apos; 替换双引号和单引号。

 

5.对TreeView的操作

(1)TreeView几个重要属性:

MaxDataBindDepth, ShowExpandCollapse, NodeIndent, ImageSet, RootNodeStyle-ImageUrl,

OnTreeNodePopulate, OnSelectedNodeChanged,

还可使用标签:<NodeStyle />,<Nodes>

对于节点可以分层,如:

<levelstyles>

<asp:TreeNodeStyle ImageUrl="Images/fileicon.gif" />

</levelstyles>

(2)对TreeView进行操作,同样也会对TreeNode进行操作,TreeNode里有很多属性,经常用的有:。。。。。。

对节点 Node的一般操作如下:

<asp:TreeView Runat="server">

  <Nodes>

    <asp:TreeNode Value="Child1" Expanded="True" Text="1">

      <asp:TreeNode Value="Grandchild1" Text="A" />

      <asp:TreeNode Value="Grandchild2" Text="B" />

    </asp:TreeNode>

    <asp:TreeNode Value="Child2" Text="2" />

    <asp:TreeNode Value="Child3" Expanded="True" Text="3">

      <asp:TreeNode Value="Grandchild1" Text="A" />

    </asp:TreeNode>

  </Nodes>

</asp:TreeView>

6.使用NExcel导入数据:

WP_DataCall.cs:

外部接口:public static void ExcelInsertDb( WP_WeekFileInfo   CurrWeekFileInfo,ref int InsertNum)

private static Boolean ExistsDataRowSplit(String FirstColStr, String DataRow   SplitNum)

private static Sheet GetCurrSheet(Workbook CurrWorkbook , WP_WeekFileInfo CurrWeekFileInfo)

    internal static String GetDataTableName(string sSheetTableName)

   private static DataTable GetDepictColInfo(string sSheetTableName)

private static DataRow GetInformationColInfo(string sSheetTableName)

      private static String DataIsExistWhere(

                WP_WeekFileInfo    CurrWeekFileInfo,           //数据文件信息

                Sheet           ExceSheet,                  //操作的Sheet 

                Int32           CurrRow)                   //当前行 

private static bool CheckRecordIsExists(String DataTableName,                                     String WhereSql)

private static StringDictionary CommonDataList( WP_WeekFileInfo CurrWeekFileInfo)

   private static Boolean IsSumSplitName(String sColSumSplitName, String CellStr)

private static StringDictionary GetFirstDataList(

                                        WP_WeekFileInfo    CurrWeekFileInfo,  //数据文件信息

                                        Sheet           ExceSheet,

                                        DataRow         InfoColDataRow,

                                        Int32           CurrRow)

     private static StringDictionary GetSecondDataList(

                                        WP_WeekFileInfo CurrWeekFileInfo,  //数据文件信息

                                        Sheet ExceSheet,

                                        DataRow InfoColDataRow,

                                        Int32 CurrRow)

private static StringDictionary GetThirdDataList(

                                        WP_WeekFileInfo CurrWeekFileInfo,    //数据文件信息

                                        Sheet ExceSheet,

                                        DataRow InfoColDataRow,

                                        Int32 CurrRow)

private static StringDictionary GetFourDataList(

                                        WP_WeekFileInfo CurrWeekFileInfo,   //数据文件信息

                                        Sheet ExceSheet,

                                        DataRow InfoColDataRow,

                                        Int32 CurrRow)

      private static Int32 GetCurrMonthTotal( WP_WeekFileInfo CurrWeekFileInfo,

                                                List<String> ColNames,

                                                List<String> ColValues)

   private static StringDictionary GetFiveDataList(

                                        WP_WeekFileInfo CurrWeekFileInfo,    //数据文件信息

                                        Sheet ExceSheet,

                                        DataRow InfoColDataRow,

                                        Int32 CurrRow)

private static SheetWorkType GetSheetWorkType(String SheetType)

  private static void CodeTableDataChange(   WP_WeekFileInfo     CurrWeekFileInfo,

                                       ref StringDictionary    DescHash)

private static String GetExcelInsertDbSqlForRow(

                WP_WeekFileInfo    CurrWeekFileInfo,           //数据文件信息

                DataRow         InfoColDataRow,

                Sheet           ExceSheet,                  //操作的Sheet 

                Int32           CurrRow,

                Int32           BeginRow,  

                ref String      StrItemCode,    

                ref String      PreFirstColStr)              //只为折行用

private static StringDictionary GetDataList(    SheetWorkType       sheetWorkType, 

                                               WP_WeekFileInfo        CurrWeekFileInfo,

                                                  Sheet ExceSheet,    int CurrRow,

                                          DataRow             InfoColDataRow)

private static String GetExceSqlText(   WP_WeekFileInfo        CurrWeekFileInfo, 

                                                SheetWorkType       sheetWorkType,

                                                StringDictionary    CommonHash,

                                                StringDictionary    DescHash,

                                                StringDictionary    DataHash)

private static void SetInsertSqlParameter(  StringDictionary HashStr,

                                                    ref String FieldName,

                                                    ref String ValueName,

                                                    Boolean IsLast)

  private static void SetWhereSqlParmeter(    StringDictionary    HashStr,

                                                    ref String          WhereSql,

                                                    Boolean             IsLast)

private static void SetUpdateSqlParmeter(   StringDictionary HashStr,

                                                    ref String UpdateSql,

                                                    Boolean IsLast)

private static String GetFirstSql(  WP_WeekFileInfo     CurrWeekFileInfo,

                                            StringDictionary CommonHash,

                                            StringDictionary DescHash,

                                            StringDictionary DataHash)

private static String GetSecondSql( WP_WeekFileInfo     CurrWeekFileInfo,

                                            StringDictionary CommonHash,

                                            StringDictionary DescHash,

                                            StringDictionary DataHash)

private static String GetThirdSql(  WP_WeekFileInfo     CurrWeekFileInfo,

                                            StringDictionary CommonHash,

                                            StringDictionary DescHash,

                                            StringDictionary DataHash)

    private static String GetFourthSql( WP_WeekFileInfo     CurrWeekFileInfo,

                                            StringDictionary CommonHash,

                                            StringDictionary DescHash,

                                            StringDictionary DataHash)

private static String GetFifthSql(WP_WeekFileInfo CurrWeekFileInfo,

                                            StringDictionary CommonHash,

                                            StringDictionary DescHash,

                                            StringDictionary DataHash)

 

 

WP_InsertDbAndAliasUpdate.cs,

WP_Weeker.cs,

WP_WeekFileInfo.cs:

 public struct WP_WeekFileInfo (结构体):里面包括文件名,用户名,Sheet名,Sheet表名,当前年,当前周,Sheet类型

WP_WorkExcel.cs

关系图:

ImportFileData.aspx.cs-- WP_InsertDbAndAliasUpdate.InserDbUpdateAlias(WeekFileInfoList, ref InsertNumList);

WP_InsertDbAndAliasUpdate.InserDbUpdateAlias--- WeekPlan_ExcelInsertDb.ExcelInsertDb(WeekFileInfoList[i], ref InsertNum);     //插入数据库中

public static void ExcelInsertDb( WP_WeekFileInfo   CurrWeekFileInfo,ref int InsertNum)

  /*

            根据 描述 字段表:WP_ColNameRelations

            数据项字段表:WP_InformationDefine

               Sheet以及所在行确定SQL语句

            ==================================================================

            用户接口

        */

        private static String GetExcelInsertDbSqlForRow(

                WP_WeekFileInfo    CurrWeekFileInfo,           //数据文件信息

                DataRow         InfoColDataRow,

                Sheet           ExceSheet,                  //操作的Sheet 

                Int32           CurrRow,

                Int32           BeginRow,  

                ref String      StrItemCode,    

                ref String      PreFirstColStr)              //只为折行用 

 

{  private static void CodeTableDataChange(   WP_WeekFileInfo     CurrWeekFileInfo,

                                                        ref StringDictionary    DescHash)

 

        private static String GetExceSqlText(   WP_WeekFileInfo        CurrWeekFileInfo, 

                                                SheetWorkType       sheetWorkType,

                                                StringDictionary    CommonHash,

                                                StringDictionary    DescHash,

                                                StringDictionary    DataHash)

}

附加:通过SQL语句读写EXCEL:

SELECT *

FROM OpenDataSource

('Microsoft.Jet.OLEDB.4.0','Data Source="C:/temp/b.xls";

Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False')...sheet1$

 

第二个SQL语句

它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。

SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:/Finance/account.xls";User properties=Excel 5.0')...xactions$
第三个:
//创建数据连接
objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + this.mFilePath + ";Extended Properties=/"Excel 8.0;IMEX=1;/"");
      
                //获取工作簿中的表
                strSql = "select * from [" + sheetName + "$]";
                //将sheet填入table中
                objDa = new OleDbDataAdapter(strSql, objConn);
                objDa.Fill(tTable);

 

7.使用XML导出数据

(1)    XmlTextWriter xm = null;

xm.WriteStartElement("Column");

            xm.WriteAttributeString("ss:Width", "158.25");

            xm.WriteEndElement();

 XmlTextWriter 中有两个方法经常用到:WriteStartElement()写出指定的开始标记,WriteAttributeString()当在派生类中被重写时,写出具有指定值的属性

WriteStartElement()

在调用此方法后,您可以书写属性,或使用 WriteComment、WriteString 或 WriteStartElement 为子元素创建内容。

可以用 WriteEndElement 或 WriteFullEndElement 关闭元素。

 

WriteAttributeString 执行以下操作:

如果属性值包含双引号或单引号,则分别用 &quot; 和 &apos; 替换它们。

如果编写 xml:space 属性,则编写器验证该属性值是否有效。(有效值为 preserve 或 default。)

如果编写 xml:lang 属性,则编写器不根据 W3C XML 1.0 建议验证该属性值是否有效。

 

注意:StreamWriter与XmlTextWriter的关系与区别

(2) weekplan.Report里的类:

8.如何配置Web.config里的节点

(1) <appSettings>

<addkey="UploadDirectoryName" 这句指定上传文件的名字

value="E:/WeekPlan/WeekPlanProject/WeekPlan.Web/WeekPlanUpload/" />

这句是设置该名字下上传文件的路径.这些都写在<appSettings>节中

(2) <connectionStrings>

此节是设置连接字符串,如: <add name="DBCon" connectionString="Data Source=192.168.0.248;Initial Catalog=WeekPlan;User providerName="System.Data.SqlClient"/>

可以设多个,只要< add name="名字” 不同就行.

(3) <system.web>

(4)以上三个都配置在

<configuration> <!-- xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0" --> </configuration>这个里面。

(5)对于UploadFile控件,需要在Web.Config里设置它上传文件的最大范围,语句要写在<system.web>这个里,如<httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="1024000" executionTimeout="900" />

如果没有设置的话,系统会默认上传文件的最大范围为4M,一旦上传大于4M,页面就不执行任何操作,变成无法刷新页!

9.页面设计(XHTML,CSS,JAVASCRIPT)

1)<%# 所有数据绑定表达式都必须包含在 <%# 和 %> 字符之间。例如:<input name="MyRadioButton" type="radio" id="rb" value='<%#Eval("SheetType") %>' />

2)<%$   美元符号 ($) 通知 ASP.NET 它的后面是一个表达式。表达式前缀定义了表达式的类型,如 AppSettings、ConnectionStrings 或 Resources。冒号 (:) 后面的部分是 ASP.NET 将解析的实际表达式值。例如:<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DBCon %>"。参见ASP.NET 表达式概述

3)<%@指令 指定当页和用户控件编译器处理 ASP.NET Web 窗体页 (.aspx) 和用户控件 (.ascx) 文件时所使用的设置。

 

4)<%= %> 可以使用多种方法从 ASP.NET 程序显示信息。一种方法是使用 <%= %> 结构。另一种方法是使用 Response.Write 语句。

<%= %> 结构在显示单条信息时最为有用。

显示文本的另一种方法是使用 Response.Write 语句。可以将它放在 <% %> 块内。

<% Response.Write("Hello, World!") %>

Response.Write 语句还可以在脚本块内的函数或方法中使用。

5)<% %>  代码呈现块定义当呈现页时执行的内联代码或内联表达式。存在两种样式的代码呈现块:内联代码和内联表达式。使用内联代码可以定义独立的行或代码块。将内联表达式用作调用 Write 方法的快捷方式。

 

在 ASP.NET 页中,函数和变量应当在 <script> 块内定义,而可执行代码必须括在 <% %> 块内。   

10.WeekPlan编程体会:

(1).编程前思路要清晰,不要着急写代码,要多想程序实现中会遇到哪些问题,技术难点,要有全局观,遇到实在解决不了的就要及时问别人,听听别的思路,一句话:“思路很重要!”。最后加一句,考虑问题要从根上思考,思考问题的本质。这样写出来的代码能够达到重用的效果,实现重构。

(2).写程序尽量把程序写的能够抽象化,能够达到共通的效果,这样无论以后怎么改,怎么维护,都很方便.相反,如果写死,事倍功半.写的活,而且以后还能用的上.

(3).编程中,发现任何Bug,都要用N次贴把Bug记下,都贴到记事本里,这样在整理程序时对Bug一目了然,积累的多了还方便以后写程序避免这些Bug.

补充:这个项目中会用到VS2005里新的控件,比如:GridView,TreeView,SqlDataSource,以后还应该用到DetailsView这个控件。

(4)发现问题时,要想办法做测试,锻炼出一种能够模拟环境的精神。这点非常重要。

(5)敢于否定自己,不要怕麻烦,有想法赶快写出来,然后去实践,再否定,再实践去验证。在这过程中不要忘记多思考。

(6)遇到问题要把解决问题的思路在脑子里反复的思考几遍,而且有必要把这些都记在纸上。

(7)解决一个问题的过程就等于把一个大问题划分成几个小部分。

(8)分析一个问题时会遇到很多难点,注意有的难点是能够通过算法来解决的,如果不能够通过算法解决,就要思考用程序结构或框架解决,比如用Switch语句,接口,继承,多态。而且在把问题分析成各个部分时,要考虑到各个部分连接的接口(接口里的参数);还要分清哪些是可以写在外部的,哪些是需要内部来完成的。

(9)代码完成后要有的心态,要多测试,学学测试。

附:

每天遇到的问题:

1:如何把本机的数据库导入到服务器

2:Wrap属性

3:值类型,引用类型。

静态变量,静态类

4:强类型

5:反射。

6:如何调用控件本身的事件。

7:客户端事件OnClientClick

<asp:TemplateField ShowHeader="False">

                        <ItemTemplate>

                            <asp:LinkButton ID="BtnDelete" runat="server" CommandName="Delete" Text="Delete"

                              OnClientClick="return confirm('Are you sure to Delete the row ?');" ></asp:LinkButton>

                        </ItemTemplate>

                    </asp:TemplateField>

8. Unicode和ANSI编码

9.如何发布程序。建好发布好的文件,和数据库文件,拷贝到服务器路径下,然后建立虚拟路径,再建立数据库。

   需要注意 Framework版本,安装的是否正确。

10.DllImport属性,可以调用非托管代码写的类库,可以调用外部的类库。具体做法参见MSDN DllImport属性。

11.Asp.net指令语法,页语法,数据绑定表达式语法,ASP.NET表达式概述,从ASP.NET显示方法。这些方法参见MSDN。

12.测试Sql 语句,发现有错误的地方,它就把那段出错误的SQL文 写到LOG日志里。

   public static void WriteLog(String FileFullName,String StrLog)

        {

            FileStream FStream = new FileStream(FileFullName, FileMode.OpenOrCreate, FileAccess.Write);

            StreamWriter SWriter = new StreamWriter(FStream);

            try

            {

                SWriter.BaseStream.Seek(0, SeekOrigin.End);

                SWriter.WriteLine(StrLog);

                SWriter.Flush();

            }

            finally

            {

                SWriter.Close();

                FStream.Close();

            }

        }

 

【QT】自我学习笔记第四章——整合一个小项目 制作小项目 利用之前学习的方法,整合一个具有基本布局的小程序 头文件: #pragma once #include <QtWidgets/QMainWindow> #include <QtGui> #include <QtWidgets> #include <QMainWindow> #include "ui_Myproject01.h" cla... 阅读详情

相关推荐

第一个vue项目开发笔记

node环境安装 下载地址为:https://nodejs.org/en/ 全局安装vue-cli:npm install --global vue-cli 进入你的项目目录,创建一个基于 webpack 模板的新项目: vue init webpack 项目名 说明:     Vue build ==> 打包方式,回车即可;     Install vue-router ==> 是否要安装 vue-router,项目中肯定要使用到 所以Y 回车;     Use ESLint to..

fmtzy1991的博客 313

通用码表设计

背景 检验iMedicalLIS刚开发的阶段,有很多基础数据维护页面要做,非常浪费时间,风格不统一,一修改每个维护界面都要拿来修改。有个周末做了十来个质控的基础数据维护界面,拷贝代码修改,加两天班头昏眼花的刚做完,结果开会一讨论界面风格、编辑模式又要调整,只好一个个过一遍再修改。基础数据维护大部分还是重复性劳动。随着检验ORM开发出模拟视图查询的方法后(表关系在实体类特性化),萌发出开发通用码表的...

zhanglianzhu_91的博客 1431

Unity学习笔记(二)——第一个Unity项目Hello Unity

在这一篇文章里,参照宣雨松的《Unity 3D游戏开发》第38页的例子,用C#写出我的第一个Unity项目 Hello Unity。 第一步,新建项目: 点击“Create Project”创建项目之后,我们看到项目中只有一个摄像机对象“Main Camera”。 并且Unity为我们创建了一个未命名(untitled)的场景,点击“File -> Save Scen

码农的理想国 5457

对于一个云计算的初学者来说,这几本书籍是我们需要学习的

云计算是一种全新的计算模式,其核心思想是将处于整个互联网上的空闲计算资源调度并集中起来,服务于某一台终端计算机,从而实现终端计算机的处理能力极大地提升。由于该计算模式是将处于互联网上不同位置的计算资源集中起来,而且这种集中过程中各种计算资源有可能是动态变化的,因此将这种处于互联网的计算资源形象地称为云。 云计算的书籍,还是有非常多的,初学者也不知道需要看哪些书籍,在这里为大家推荐几本书:   本...

多智时代的博客 1万+

歌谣学前端之react笔记之第一个react项目

歌谣学前端之react笔记之第一个react项目

geyaoisnice的博客 194

STM32 HAL 硬件IIC驱动BNO085:从移植到姿态解算全流程解析(附源码)

本文详细解析了STM32 HAL库下硬件IIC驱动BNO085 IMU传感器的全流程,包括CubeMX配置、驱动移植、传感器初始化、Q格式数据处理及四元数转欧拉角解算。提供了完整的源码实现和常见问题解决方案,帮助开发者快速掌握高精度姿态测量技术。

palm99的专栏 1047

血泪教训,云计算项目实施的众多教训

       作为一家运营商,从事云计算的工作,从战略上绝对是正确的选择。公司内部的承接举措是如何跟上呢?最近中了一个大型集团公司的标,我作为主要售前的负责人,以为作了一件很了不起的事,顺便也把售中实施的项目经理工作给接了,其实也想从管理角度看看到底运营商做云计算从全流程存在什么问题。         结果,很多平常觉得很正常或者很小的问题,亲身经历后,发现问题很大,也是系统性的问题。以下对问题...

qq_29718979的博客 566

第二十届全国大学生智能汽车竞赛极速光电组:MicroPython与恩智浦RT1021的硬件编程实战指南

本文为参加第二十届全国大学生智能汽车竞赛极速光电组的同学提供了一份详尽的MicroPython与恩智浦RT1021硬件编程实战指南。文章深入剖析了选择MicroPython与RT1021这对组合的优势,详细讲解了从开发环境搭建、基础硬件控制(如GPIO、PWM、编码器、CCD)到系统集成(平衡控制、循迹算法)与多任务调试的全过程,旨在帮助参赛者降低嵌入式开发门槛,高效备赛。

wdx0123456的博客 843

一口一口吃掉Hibernate(三)——Hibernate给表和字段设置前后缀及分隔符

在《一口一口吃掉Hibernate(一)——使用SchemaExport生成数据表》中介绍了如何生成数据表。但是这只是最基本的。Hibernate在生成或者操作数据库时,会受一些限制。比如一开始设计表的时候,直接写成了user(id,name,password,createTime) 这种格式的。但是客户后来要求表名称要以“t_”开头,字段名要以“stu_”开头,可以是一些数据库的关键字...

445822357 257

【文献阅读笔记】之基于注意力机制的深度学习路面裂缝检测

中文,计算机辅助设计与图形学学报,第 32 卷 第 8 期,2020 年 8 月。 DOI: 10.3724/SP.J.1089.2020.18059 摘要: 为实现自动准确地检测路面裂缝, 提升路面裂缝检测效果, 提出了一种基于注意力机制的裂缝检测网络 (attention-based crack networks, ACNet). 该网络采用编码器-解码器网络构架, 编码器采用 ResNet34 为骨干网, 提取路面裂缝特征; 在编码器和解码器间加入基于注意力机制的特征模块(attention-b

qq_44785998的博客 7593

荔枝派Nano内核编译

上文编译好uboot之后,想刷内核和根文件系统进去。其实官方的网盘里面,已经有打包好的系统镜像,包含所有的东西,可以直接烧录进flash或者TF卡,但是都是基于winbond芯片的,国产的xt25f128b刷进去妥妥的。所以没办法,只能自己再动手重新编译内核了。(PS:搞的我都想直接买一片w25q128换上了,有点麻烦,希望官方直接涨价或者出两版就行,不然对新手不友好啊)

木子点灯的博客 546

一个 react 的小项目方便查看 github 上的笔记

前言 平时写了一些笔记放在 github 上,为了能够手机随时查看,故写了这个小项目,如果大家喜欢,希望大家 star 下,感谢大家支持。另外,本人觉得该项目不适合新手作为 react 系列学习,请另找其他优质项目。 react-laoergege-blog 一个基于 GitHub Pages 和 GitHub Api,无需本地生成静态文件或搭建服务器的博客, 使用用途:便于随时任意设备查看 gi...

weixin_34082854的博客 347

认知网络分析实战:用Python复现课堂对话研究(含LSA代码)

本文通过Python实战,详细演示了如何运用认知网络分析(ENA)和滞后序列分析(LSA)两种方法,对课堂对话数据进行深度挖掘。文章提供了从数据清洗、行为编码到网络构建、序列统计及可视化的完整代码流程,帮助教育研究者和数据分析师量化分析对话中的认知结构与动态互动模式,从而获得超越文本表面的研究洞见。

weixin_28559803的博客 155

我的第一个c语言项目和笔记

什么是c语言 第一个c语言项目和笔记 链接(https://gitee.com/libravvzz/learning–c-language-knowledge

libravvz的博客 107

Docker 安装 CentOS7

本文主要介绍了docker 下安装centos7。访问 CentOS 镜像库地址:https://hub.docker.com/_/centos?tab=tags&page=1。可以通过 Sort by 查看其他版本的 CentOS 。默认是最新版本 centos:latest 。 使用以下命令来查看是否已安装了 centos7: 启动centos容器,并把docker上centos的22端口映射到本机60001端口(端口号可以自己指定) 3、进入到Centos容器 4.安装ssh服务和网络必须软件

折腾java的博客 1万+

赛灵思KV260视觉AI套件实战:从模型到边缘部署全流程解析

边缘计算与AI推理加速是当前嵌入式系统和物联网领域的关键技术。其核心原理在于将计算任务从云端下沉至网络边缘的设备端,通过专用硬件加速器(如FPGA、ASIC或NPU)执行神经网络推理,从而显著降低延迟、减少带宽消耗并提升数据隐私性。这一技术为实时性要求高的应用场景(如工业视觉检测、智能安防、自动驾驶等)提供了关键支撑。以赛灵思(Xilinx)的Zynq UltraScale+ MPSoC平台为例,其集成了ARM处理器与可编程逻辑,通过预置的深度学习处理器单元(DPU)为卷积神经网络提供高效INT8加速。开发

weixin_28719225的博客 326

第一个项目笔记

Django学习第一课笔记 first_project1 ##创建项目: 1.通过命令行的方式,首先要进入到安装了django的虚拟环境中,然后执行命令: ‘’’ django-admin startproject[项目的名称] ‘’’ 这样就可以在当前目录下创建一个项目了 2.通过pycharm的方式:文件-&gt;新建项目-&gt;选择django。然后指定项目所在的路径,以及python解释...

qq1713802040的博客 160

将物理信息神经网络(PINN)应用于微通道湍流的拓扑优化,并结合COMSOL数据进行训练与快速预测

本文提出一种基于物理信息神经网络(PINN)的微通道散热器流场快速预测方法。通过有限组COMSOL仿真数据训练神经网络,结合Navier-Stokes方程和能量方程作为物理约束,构建可快速预测新拓扑结构下速度场和温度场的替代模型。该方法包含数据准备、网络构建、损失函数设计等关键步骤,利用自动微分计算方程残差,显著降低传统CFD优化的计算成本,实现秒级/分钟级的流场预测,为微通道散热器拓扑优化提供高效解决方案。

huanghm88的专栏 536

Spring boot学习笔记之一:简介及创建第一个项目

一、简介现如今,互联网的热点已经成为微服务了,如果你到现在还没有听说过微服务,或者还不了解,那表示你已经out了,需要开始作准备了。现在主流的微服务框架包括早期阿里的Dubbo,以及现在热门的SpringCloud,所以我们开始要准备开始学习SpringCloud了,扯远了,因为SpringCloud是基于SpringBoot结构上去进行开发,所以我们也要学习SpringBoot,平时我们使用SS...

HeJD的博客 685

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java云笔记开源项目,开源一个私人笔记管理项目

介绍Leafer是基于 Java 实现的面向 Web 端的一个私人笔记管理项目,现在还是处于 beta 版本,如果有任何的 bug 或者功能改进方面上的建议,欢迎大家提 issues 帮我改进,thanks :-)部署$ git clone https://github.com/ziwenxie/leafer$ cd leafer然后修改/src/main/resources/applicatio...

weixin_39834205的博客 741

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【Java学习笔记】--如何解读一个项目

很多人拿到一个开源项目的源码之后啊,不知道走从哪里下手。其实都是因为没有掌握正确的解读方法。又或者说,项目运行起来之后啊,看一下代码没再深究了。这样子的话不当浪费了时间,项目也没有很好的读懂。读一个项目,有输入就要输出。也就是说,读一个项目一定要做好笔记。 那么如何才能做好一个Java项目的解读笔记呢。   我把这个过程分为八个点。首先第一点,你要明确你自己想学什么东西?比如说你想学某一...

十年磨一剑,沉淀…… 8368

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

一个秒杀项目的笔记

Java高并发秒杀API之业务分析与DAO层 第一门课—Java高并发秒杀API之业务分析与DAO层 2-1 相关技术介绍 MySQL:表设计, SQL技巧, 事务和行级锁 MyBatis: DAO层的设计与开发, MyBatis的合理使用, MyBatis与Spring的整合 Spring: Spring IoC整合Service, 声明式事务的运用 Spring MVC: R...

fungus的博客 2782

【笔记】将一个svn下的项目复制到新建的空svn项目中

需要多做笔记,以作备份。如果这篇笔记对你有帮助的话,就请留下一个赞再走吧~

苗老八的博客 7141

如何创建一个项目(学习笔记)

本文供学习交流使用,使用技术栈:pinia vue3 axios element_plus vant4 JSON-server 不包含后端内容,不提供接口使用

qq_46773111的博客 2407

第一个深度学习项目的笔记

本人计算机专业,考研调剂环境,读微生物方向,目前研一。现在准备向着机器学习或者深度学习与微生物结合的方向研究,今天开始找资料复现一个项目,选中这个项目进行复现,记录一下其中的基础操作以及解决bug的笔记

yfilwzy的博客 895
上一篇: 让程序跑的更快
下一篇: c++ 与 数据结构的学习笔记---欢迎大家指点
popeer
博客等级 码龄20年 44粉丝 51原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值