我是一个业余爱好者程序员(开始使用VBA使excel更快)并且一直在使用VB.NET/C#.NET并且正在尝试学习ADO.NET.
编程总是让我感到沮丧的是"好"的样子?我不是专业人士所以没有什么可比的.是什么让一个更好的程序员?是吗:
换句话说,如果我要查看专业程序员的代码,我会注意到他们的代码相对于我的第一件事情是什么?例如,我读过Wrox出版社的"Professional ASP.NET"等书.该书中的代码示例是"世界级"吗?那是巅峰吗?任何一位高级程序员都会看看那段代码并认为它是好代码吗?
我有一个网页,它使用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)
当页面首次加载时,如果我单击屏幕上可见的任何日期选择器图标(即不滚动),则会按预期显示日期选择器.
但是,如果我向下滚动页面然后单击一个日期选择器图标,则日期选择器不会出现在屏幕窗口中,而是会在屏幕顶部附近向右渲染.
任何想法如何解决这个问题?
我在用:
我在工作表上有十个下拉菜单,每个菜单都应对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) 注意
我完全重写了我原来的帖子,以便更好地解释我想要了解的问题.我试图尽可能地概括这个问题.
另外,我要感谢回应的原始人.希望这篇文章能让事情变得更加清晰.
上下文
简而言之,我正在努力理解设计小规模数据库以处理(我认为是)多个多对多关系的最佳方法.
想象一下公司组织结构的以下场景:
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表示在该区域工作的雇员名单
当我第一次开始这个问题时,我做了四个单独的表:
Divisions - >纺织,营销(PK = DivisionID)Departments - >人力资源,财务(PK = DeptID) …我已经构建了一个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)上做了一堆阅读,这是我尝试过的,没有一个解决了这个问题:
使用SQL Server身份验证设置新登录.我在SQL中创建了一个新的登录名,并为我的DB提供了正确的访问权限.我在web配置中使用了以下连接字符串:
数据源= myServer;初始目录= myDB;用户ID = myUsername;密码= myPassword;
创建新登录名IIS APPPOOL\DefaultAppPool.我在SQL中创建了具有正确访问权限的新登录并使用了Windows身份验证.连接字符串如下:
服务器= myServer上;数据库= MyDatabase的; Trusted_Connection = TRUE;
使用现有的网络登录NT AUTHORITY\NETWORK SERVICE.我将此用户映射到具有正确访问权限的数据库.连接字符串如下:
服务器= myServer上;数据库= MyDatabase的; Trusted_Connection = TRUE;
当我在线阅读材料时,这些似乎是主要的选择.最后,这里还有一些其他可能有帮助的事情:
UAC没有帮助 …我正在使用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)?
全部
我已经使用 VS 2005 标准版构建了一个 Windows 窗体应用程序,它使用 SQL Express 作为数据库。
我现在想将我的应用程序部署到另一台已经安装了 .NET 框架和 SQL Server 的 PC。
我不清楚的是我需要做什么来确保我的数据库也与我的应用程序一起部署?
我花了一天的大部分时间阅读从 msdn 到其他博客的各种文章,但我无法清楚地了解部署应用程序的最佳方式是什么。一些不同的建议包括:
任何人都可以为我解决困惑并帮助我吗?
谢谢
我有一个二维的字符串,由行分隔,并在每个由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数组/变体,然后将整个事物一次写入命名范围?
语境
\n我想使用 Yolo (v8) 训练自定义模型。我已经让它在我的本地计算机上运行,但速度非常慢,并且希望在 Azure 机器学习工作室上运行该作业以提高效率。我在用Azure ML SDK v2。
问题
\n当我在 Azure ML 上运行时,收到一条错误消息,指出 YOLO 无法找到我的训练图像。
\nTraceback (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\']\nRun Code Online (Sandbox Code Playgroud)\n代码/分析
\n这是我用来运行该作业的代码:
\ncommand_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)\nRun Code Online (Sandbox Code Playgroud)\n在我的本地计算机上(使用 Visual Studio 代码),该custom.yaml文件位于 …
machine-learning azure yolo azure-machine-learning-service azuremlsdk
我有一个存储过程返回一个结果集(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 ×3
excel ×2
vba ×2
azure ×1
azure-machine-learning-service ×1
azuremlsdk ×1
class ×1
coding-style ×1
cookies ×1
datepicker ×1
httpcookie ×1
jquery ×1
jquery-ui ×1
linq-to-sql ×1
parsing ×1
string ×1
winforms ×1
writing ×1
yolo ×1