我已经学习了C#几年,贪婪地阅读,甚至从微软那里学习了一些C#数据访问课程.我也一直在读OOP上的书.我正在编写一个基于Web的数据库应用程序.虽然我的职位不是"程序员",但我很幸运能够将其作为一个辅助项目.我在80年代早期用Basic进行编码,甚至擅长利用pokes和peeks来操纵Apple []和TRS-80让我的朋友惊叹不已.但这是一种非常线性的编码方法.
所有这一切都说,有些事情只是没有点击我.我没有C#或OOP的那个时刻让我能够坐下来,打开VS2008并开始编码.我必须研究其他人的代码,以至于我似乎没有自己做任何事情.我气馁了.
这不像我没有能力.我很快就拿起了t-sql.有人可以告诉我他们想从数据库中获取什么信息,我可以在几分钟内编写出tsql来给他们想要的东西.SQL是我得到的东西.OOP或C#不会发生这种情况.当然,C#本质上更复杂,但在某些时候它必须点击.对?
我阅读了stackoverflow,我对你们这些人的无限智慧感到不知所措.
让它点击的是什么?
编辑补充说: 这里的很多答案都非常出色.然而,特别是一个人似乎已经上升到了顶部,这就是我标记为"答案"的那个.我也讨厌不用答案标记我的问题.
我想在Linux系统上用C编写一个简单,愚蠢的X终端模拟器.
起初,我只是想我必须打开一个shell并显示它的输出.我检查了xterm和rxvt代码,看起来有点复杂.
首先,我必须用openpty打开一个伪终端.所以我看一下手册页,看看openpty填充了2个文件描述符,即master和slave.xterm和rxvt代码都很混乱,因为这些特殊文件的系统依赖性.
我理解termios的东西:它只是关于终端转义码的一堆信息.我真正没有得到的是:我想对主/从文件描述符做什么?
打开终端,登录,在shell上执行"ls"的示例程序将是非常棒的.
(英语不是我的母语,原谅我最终的错误)
编辑:这是我提出的示例代码:
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <pty.h>
#include <utmp.h>
#include <ctype.h>
void
safe_print (char* s)
{
while(*s) {
if(*s == '\n')
putchar("\n");
else if(iscntrl(*s))
printf("\\e(%d)", *s);
else
putchar(*s);
s++;
}
}
int
main (int argc, char** argv)
{
char buf[BUFSIZ] = {0};
int master;
int ret = forkpty(&master, NULL, NULL, NULL);
if(ret == -1)
puts("no fork"), exit(0);
if(!ret) {
execl("/bin/sh", "sh", NULL);
exit(0);
}
sleep(1); /* let the shell run …Run Code Online (Sandbox Code Playgroud) 我在emacs中使用bsd缩进样式,我想稍微修改一下.我的.emacs文件的相关部分如下.当我用try catch块编写函数时,大括号会缩进.我希望他们不要像函数那样缩进.
它现在在做什么.
try
{
}
catch
{
}
Run Code Online (Sandbox Code Playgroud)
我想要它做什么.
try
{
}
catch
{
}
Run Code Online (Sandbox Code Playgroud)
.emacs文件
(defun my-c-mode-common-hook ()
;; my customizations for all of c-mode and related modes
;; other customizations can go here
(setq c-default-style "bsd")
(setq c-basic-offset 4)
(setq indent-tabs-mode nil)
)
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
如何要求在一行中显示多个变量?所以我希望获得如下输出:
30 if(s[i] != '\0')
5: s[i] = 101 'e'
4: exp = 14
3: val = 123.45
2: sign = 1
1: i = 6
Run Code Online (Sandbox Code Playgroud)
我一直在输入disp s [i] ENTER disp exp ENTER(等等),我只知道在一行打字中必须有更好的方法.
我正在编写一个相当简单的Django应用程序,用户可以输入字符串查询.应用程序将通过数据库搜索此字符串.
Entry.objects.filter(headline__contains=query)
Run Code Online (Sandbox Code Playgroud)
这个查询非常紧张,但对于那些不能100%确定他们正在寻找什么的人来说并没有真正帮助.所以我扩大了搜索范围.
from django.utils import stopwords
results = Entry.objects.filter(headline__contains=query)
if(!results):
query = strip_stopwords(query)
for(q in query.split(' ')):
results += Entry.objects.filter(headline__contains=q)
Run Code Online (Sandbox Code Playgroud)
我想为此添加一些额外的功能.搜索未拼写拼写单词,复数形式,常见同音异义词(声音拼写不同),等等.我只是想知道这些东西是否内置于Djangos查询语言中.对我来说写一个巨大的算法并不重要,因为我真的只是在寻找内置的东西.
提前感谢所有答案.
我有一个表Parent和一个表Child.Child包含Parent表的外键,创建一对多关系.这是我使用流畅的NHibernate定义的映射的一部分:
public class ParentMap : ClassMap<Parent>
{
public ParentMap()
{
WithTable("Parents");
Id(x => x.Id, "ParentID")
.WithUnsavedValue(0)
.GeneratedBy.Identity();
Map(x => x.Description, "Description");
HasMany<Child>(x => x.Childs)
.LazyLoad()
.WithKeyColumn("ParentID")
.IsInverse()
.AsSet();
}
}
public class ChildMap : ClassMap<Child>
{
public ChildMap()
{
WithTable("Childs");
Id(x => x.Id, "ChildID")
.WithUnsavedValue(0)
.GeneratedBy.Identity();
References(x => x.Parent, "ParentID")
.CanNotBeNull()
.LazyLoad();
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我已经在关系上设置了LazyLoad.另请注意,在我的模型类中,所有属性都设置为虚拟.
现在进行简单查询:
ICriteria crit = Session.CreateCriteria(typeof(Child))
.Add(Expression.Eq("Id", 18));
IList<Child> list = crit.List<Child>();
Run Code Online (Sandbox Code Playgroud)
并生成SQL:
SELECT this_.ChildID as ChildID5_1_,
this_.ParentID as ParentID5_1_,
parent2_.ParentID as ParentID4_0_,
parent2_.Description as Descript2_4_0_ …Run Code Online (Sandbox Code Playgroud) 与数据库规范化相同的行 - 是否存在对象规范化的方法,而不是设计模式,而是用于规范化对象创建的相同数学方法.例如:第一个普通形式:没有重复字段....这里是DB规范化的一些链接:
http://en.wikipedia.org/wiki/Database_normalization http://databases.about.com/od/specificproducts/a/normalization.htm
这会使对象创建和自我文档更好吗?
这是一本关于类规范化的书的链接(猜测我们真的在谈论类) http://www.agiledata.org/essays/classNormalization.html
我有一个HTML表单 - 使用PHP,我将表单的数据发送到MySQL数据库.表单上的问题的一些答案有复选框.显然,用户不必勾选一个问题的所有复选框.我还想让其他问题(包括无线电组)可选.
但是,如果我提交带有空框,无线电组等的表单,我会收到一个很长的"未定义索引"错误消息列表.
我怎么能绕过这个?谢谢.
我来自LAMP世界,那里的"缓存一切"心态很普遍.一切都放在memcache中.
我正在使用ASP.NET MVC和SQL Server开始一个新项目.我可能会使用LINQ to SQL或Entity Framework.我现在需要做出有关缓存的设计决策吗,或者如果有必要,是否可以轻松开始使用Velocity?为了清楚起见,我说的是微软的Velocity缓存,而不是Apache Velocity模板引擎.
我希望我暂时可以忽略缓存,因为学习C#,ASP.NET MVC,LINQ,IIS,SQL Server,并且熟练掌握VS,这样可以保持我的版本.
Javascript中是否有空合并运算符?
例如,在C#中,我可以这样做:
String someString = null;
var whatIWant = someString ?? "Cookies!";
Run Code Online (Sandbox Code Playgroud)
我可以为Javascript找出的最佳近似值是使用条件运算符:
var someString = null;
var whatIWant = someString ? someString : 'Cookies!';
Run Code Online (Sandbox Code Playgroud)
这有点ick嘿恕我直言.我可以做得更好吗?
javascript operators null-coalescing-operator null-coalescing