小编Ale*_*x P的帖子

优秀程序员的代码是什么样的?

我是一个业余爱好者程序员(开始使用VBA使excel更快)并且一直在使用VB.NET/C#.NET并且正在尝试学习ADO.NET.

编程总是让我感到沮丧的是"好"的样子?我不是专业人士所以没有什么可比的.是什么让一个更好的程序员?是吗:

  • 他们对给定语言中的所有对象/类/方法有了更好的理解?
  • 他们的节目更有效率?
  • 他们的程序设计在更好的文档,更好的函数名称选择等方面要好得多?

换句话说,如果我要查看专业程序员的代码,我会注意到他们的代码相对于我的第一件事情是什么?例如,我读过Wrox出版社的"Professional ASP.NET"等书.该书中的代码示例是"世界级"吗?那是巅峰吗?任何一位高级程序员都会看看那段代码并认为它​​是好代码吗?

coding-style

88
推荐指数
11
解决办法
7万
查看次数

向下滚动网页时jQuery ui datepicker定位问题

我有一个网页,它使用jQuery ui datepicker的多个实例.我的网页将显示约80条记录,这些记录超出了单个屏幕截图.

<% foreach (var record in Model) { %>
    <div class="recordname"><%=record.name%></div>
    <%=Html.TextBox("DateTimePicker", null, new { @class = "date-pick" } )%>
    // <-- additional html here -->
<% } %> 
Run Code Online (Sandbox Code Playgroud)

我已经设置了datepicker的默认值,如下所示:

    $(".date-pick").each(function() {
    $(this).datepicker({
        dateFormat: 'dd M yy',
        showOn: 'button',
        buttonImage: '/Images/datepickericon.png',
        buttonImageOnly: true
        });
    });
Run Code Online (Sandbox Code Playgroud)

当页面首次加载时,如果我单击屏幕上可见的任何日期选择器图标(即不滚动),则会按预期显示日期选择器.

但是,如果我向下滚动页面然后单击一个日期选择器图标,则日期选择器不会出现在屏幕窗口中,而是会在屏幕顶部附近向右渲染.

任何想法如何解决这个问题?

我在用:

  • IE7
  • asp.net mvc
  • jquery.ui.datepicker.js(UI/API/1.8/Datepicker)

jquery jquery-ui datepicker

8
推荐指数
2
解决办法
2万
查看次数

如何使用excel vba为多个对象分配事件?

我在工作表上有十个下拉菜单,每个菜单都应对GotFocus()事件做出相同的响应.

我编写了以下代码,但是我得到了一个运行时错误(459) - "对象或类不支持set if if"

在一个名为clsPDRinputI 的课程中,我有以下内容:

Public WithEvents inputObj As OLEObject

Public Property Set myInput(obj As OLEObject)
    Set inputObj = obj
End Property

Public Sub tbPDRInput_GotFocus()
    //Do some stuff...
End Sub
Run Code Online (Sandbox Code Playgroud)

然后我运行以下代码产生错误:

Dim tbCollection As Collection

Public Sub InitializePDRInput()
    Dim myObj As OLEObject
    Dim obj As clsPDRInput

    Set tbCollection = New Collection
        For Each myObj In Worksheets("1. PDR Documentation").OLEObjects
            If TypeName(myObj.Object) = "ComboBox" Then
                Set obj = New clsPDRInput
                Set obj.myInput = myObj <-- …
Run Code Online (Sandbox Code Playgroud)

excel vba class

7
推荐指数
1
解决办法
8220
查看次数

SQL Server 2005数据库设计 - 与层次结构的多对多关系

注意

我完全重写了我原来的帖子,以便更好地解释我想要了解的问题.我试图尽可能地概括这个问题.

另外,我要感谢回应的原始人.希望这篇文章能让事情变得更加清晰.

上下文

简而言之,我正在努力理解设计小规模数据库以处理(我认为是)多个多对多关系的最佳方法.

想象一下公司组织结构的以下场景:

             Textile Division                    Marketing Division
                    |                                     |
          ----------------------               ----------------------
          |                    |               |                    |
       HR Dept           Finance Dept        HR Dept           Finance Dept
          |                    |               |                    |
      ----------          ----------       ----------           ---------
     |          |         |        |       |        |           |       |
  Payroll     Hiring    Audit     Tax   Payroll   Hiring      Audit  Accounts
     |          |         |        |       |        |           |       |
    Emps      Emps       Emps     Emps    Emps     Emps        Emps    Emps    
Run Code Online (Sandbox Code Playgroud)

NB:Emps表示在该区域工作的雇员名单

当我第一次开始这个问题时,我做了四个单独的表:

  1. Divisions - >纺织,营销(PK = DivisionID)
  2. Departments - >人力资源,财务(PK = DeptID) …

database-design sql-server-2005 hierarchical-data

6
推荐指数
1
解决办法
2780
查看次数

如何设置SQL Server/IIS 7.0以允许ASP.NET MVC网站访问数据库?

我已经构建了一个ASP.NET MVC 2网站,我使用IIS 7.0托管Rackspace Cloud Server.

当我尝试在服务器上使用IIS 7.0在localhost下测试网站时,我得到一个错误页面.这来自SQL日志(我正在使用SQL Web Edition):

Error: 18456, Severity: 14, State: 11
Login failed for user 'IIS APPPOOL\DefaultAppPool'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: <local machine>]
Run Code Online (Sandbox Code Playgroud)

我的网站在家用电脑上工作正常,因此问题与连接数据库有关.

研究了错误消息代码后,它表明我有一个有效的数据库登录但服务器访问失败了.我在各种论坛(包括stackoverflow/serverfault)上做了一堆阅读,这是我尝试过的,没有一个解决了这个问题:

  1. 使用SQL Server身份验证设置新登录.我在SQL中创建了一个新的登录名,并为我的DB提供了正确的访问权限.我在web配置中使用了以下连接字符串:

    数据源= myServer;初始目录= myDB;用户ID = myUsername;密码= myPassword;

  2. 创建新登录名IIS APPPOOL\DefaultAppPool.我在SQL中创建了具有正确访问权限的新登录并使用了Windows身份验证.连接字符串如下:

    服务器= myServer上;数据库= MyDatabase的; Trusted_Connection = TRUE;

  3. 使用现有的网络登录NT AUTHORITY\NETWORK SERVICE.我将此用户映射到具有正确访问权限的数据库.连接字符串如下:

    服务器= myServer上;数据库= MyDatabase的; Trusted_Connection = TRUE;

当我在线阅读材料时,这些似乎是主要的选择.最后,这里还有一些其他可能有帮助的事情:

  • 将SQL设置为以管理员身份运行并不能解决问题
  • 关闭UAC没有帮助 …

asp.net-mvc database-connection sql-server-2008

6
推荐指数
1
解决办法
9747
查看次数

持久cookie过期设置为asp.net mvc中的Session?

我正在使用ASP.NET MVC,并希望能够在返回站点时自动记录某人(与该站点完全相同).

当用户首次注册或登录时,我按如下方式设置cookie:

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
    1,
    "playerid",
    DateTime.Now, 
    DateTime.Now.AddMinutes(1), //This will be set to a longer period in live...
    true, 
    Username + "|" + item.PlayerID.ToString(), 
    FormsAuthentication.FormsCookiePath);

string encTicket = FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
Run Code Online (Sandbox Code Playgroud)

如果我通过以用户身份登录进行测试,然后查看该Cookies选项卡,Firebug则将到期时间设置为Session.如果我关闭浏览器然后回到我的网站,我就不再登录了.这是我期望的,因为当浏览器关闭时会话结束(但这不是我想要发生的事情!).

但是,如果我登录并浏览网站,那么过了一分钟后,到期时间不再显示为,Session而是显示为实际日期戳.如果我然后关闭浏览器并返回我的网站,我将自动登录.

总之,似乎我的到期时间设置为Session我已经规定的实际到期日期(在这种情况下为t + 1分钟)并且我在网站上一直处于活动状态(我正在使用滑动到期).

任何想法我如何将我的到期设置为我在FormsAuthentication票证中的陈述(而不是显示为Session)?

cookies asp.net-mvc forms-authentication httpcookie

6
推荐指数
1
解决办法
9082
查看次数

如何将包含数据库的 Windows 窗体应用程序部署到另一台 PC?

全部

我已经使用 VS 2005 标准版构建了一个 Windows 窗体应用程序,它使用 SQL Express 作为数据库。

我现在想将我的应用程序部署到另一台已经安装了 .NET 框架和 SQL Server 的 PC。

我不清楚的是我需要做什么来确保我的数据库也与我的应用程序一起部署?

我花了一天的大部分时间阅读从 msdn 到其他博客的各种文章,但我无法清楚地了解部署应用程序的最佳方式是什么。一些不同的建议包括:

  • 添加一个“setup”项目并创建一个 setup.exe 文件
  • 在安装期间使用自定义操作创建数据库(使用安装程序类)
  • 从数据库中手动分离 .mdf 和 .ldf 并在目标 PC 上使用命令行重新附加到数据库
  • 修改 .config 文件以获取新的连接字符串(来自目标机器),然后在我的 ado.net 代码中引用它
  • 等等等等

任何人都可以为我解决困惑并帮助我吗?

谢谢

setup-deployment winforms

5
推荐指数
1
解决办法
4846
查看次数

VBA将2D分隔的字符串解析为excel中的范围

我有一个二维的字符串,由行分隔,并在每个由value分隔的行中.

所以它是一个逗号分隔的字符串,每行末尾都有一个EOL标记.例:

val1, val2, val3 ... valn [EOL]
val1, val2, val3 ... valn [EOL]
...
val1, val2, val3 ... valn [EOL]
Run Code Online (Sandbox Code Playgroud)

如果我通过[EOL]创建一个循环来split()每一行,然后在其中的另一个循环将split()每个值分别用','然后将每个值一次写入工作表中的一个单元格,这需要永远,所以我正在寻找更有效的解决方案.

是否可以将字符串解析为2D数组/变体,然后将整个事物一次写入命名范围?

string excel parsing vba writing

5
推荐指数
1
解决办法
668
查看次数

如何配置YOLOv8 yaml文件来访问Azure上的blob存储数据集?

语境

\n

我想使用 Yolo (v8) 训练自定义模型。我已经让它在我的本地计算机上运行,​​但速度非常慢,并且希望在 Azure 机器学习工作室上运行该作业以提高效率。我在用Azure ML SDK v2。

\n

问题

\n

当我在 Azure ML 上运行时,收到一条错误消息,指出 YOLO 无法找到我的训练图像。

\n
Traceback (most recent call last):\nFile "/opt/conda/envs/ptca/lib/python3.8/site-packages/ultralytics/yolo/engine/trainer.py", line 125, in __init__\n  self.data = check_det_dataset(self.args.data)\nFile "/opt/conda/envs/ptca/lib/python3.8/site-packages/ultralytics/yolo/data/utils.py", line 243, in check_det_dataset\n  raise FileNotFoundError(msg)\nFileNotFoundError: \nDataset \'custom.yaml\' not found \xe2\x9a\xa0\xef\xb8\x8f, missing paths [\'/mnt/azureml/cr/j/18bdc3371eca4975a0c4a7123f9adaec/exe/wd/valid/images\']\n
Run Code Online (Sandbox Code Playgroud)\n

代码/分析

\n

这是我用来运行该作业的代码:

\n
command_job = command(\n    display_name=\'Test Run 1\',\n    code="./src/",\n    command="yolo detect train data=custom.yaml model=yolov8n.pt epochs=1 imgsz=1280 seed=42",\n    environment="my-custom-env:3",\n    compute=compute_target\n)\n
Run Code Online (Sandbox Code Playgroud)\n

在我的本地计算机上(使用 Visual Studio 代码),该custom.yaml文件位于 …

machine-learning azure yolo azure-machine-learning-service azuremlsdk

5
推荐指数
1
解决办法
1898
查看次数

如何使用linq-to-sql将存储过程结果映射到自定义类?

我有一个存储过程返回一个结果集(4列xn行).数据基于我的数据库中的多个表,并为公司内的每个部门提供摘要.这是样本:

usp_GetDepartmentSummary

DeptName      EmployeeCount      Male      Female
HR            12                 5         7
etc...
Run Code Online (Sandbox Code Playgroud)

我正在使用linq-to-sql从我的数据库中检索数据(nb - 必须使用sproc,因为它是我继承的东西).我想调用上面的sproc并映射到一个department类:

public class Department
{
     public string DeptName {get; set;}
     public int EmployeeCount {get; set;}
     public int MaleCount {get; set;}
     public int FemaleCount {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

在VS2008中,我可以将我的sproc拖放到linq-to-sql设计器的方法窗格中.当我检查designer.cs这个sproc的返回类型时,定义为:

ISingleResult<usp_GetDepartmentSummaryResult>
Run Code Online (Sandbox Code Playgroud)

我想做的是以某种方式修改它,以便它返回一个Department类型,以便我可以将sproc的结果作为强类型视图传递:

<% foreach (var dept in Model) { %>
<ul>
    <li class="deptname"><%= dept.DeptName %></li>
    <li class="deptname"><%= dept.EmployeeCount %></li>
    etc...
Run Code Online (Sandbox Code Playgroud)

任何想法如何实现这一目标?

注意 - 我曾尝试直接修改designer.cs,dbml xml file但成效有限.我承认在直接更新这些文件方面有点超出我的深度,我不确定这是最佳做法?得到一些指示会很好​​.

非常感谢

asp.net-mvc stored-procedures linq-to-sql

4
推荐指数
1
解决办法
3245
查看次数