我有一些CodeIgniter控制器只能由已登录的用户访问(即$ this-> session-> userdata('username')不为null).如果未经过身份验证的人试图访问所述控制器,他们应该收到:
header('location: /auth/login');
Run Code Online (Sandbox Code Playgroud)
必须有一个更好的方法来做到这一点,而不是把一个
if (!$this->session->userdata('username'))
header('location: /auth/login');
else
{
[rest of function]
}
Run Code Online (Sandbox Code Playgroud)
在控制器的每个功能面前......
我知道DX_Auth有类似的功能,但我没有使用身份验证插件,我不愿意这样做.
谢谢!
马拉
我有一个SQL表,包含当前100万行,随着时间的推移会增长.
特定用户需要提供可排序网格,该网格显示所有行而不进行分页.用户希望能够通过使用滚动条快速地从一行跳到另一行以及从上到下跳转.
我熟悉"虚拟模式"网格,它只显示整个数据的可见子集.它们可以提供出色的UI性能和最小的内存要求(我甚至多年前使用这种技术实现了一个应用程序).
Windows窗体DataGridView提供了一个看起来应该是答案的虚拟模式.但是,与我遇到的其他虚拟模式不同,它仍然为每一行分配内存(在ProcessExplorer中确认).显然,这会导致整体内存使用量不必要地大大增加,并且在分配这些行时,会出现明显的延迟.滚动性能也会受到100万+行的影响.
真正的虚拟模式不需要为未显示的行分配任何内存.您只需给它总行数(例如1,000,000),所有网格都会相应地缩放滚动条.当它首次显示时,网格只询问数据前n个(比如30个)可见行,即时显示.
当用户滚动网格时,提供简单的行偏移和可见行的数量,并且可用于从数据存储中检索数据.
这是我正在使用的DataGridView代码的示例:
public void AddVirtualRows(int rowCount)
{
dataGridList.ColumnCount = 4;
dataGridList.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
dataGridList.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dataGridList.VirtualMode = true;
dataGridList.RowCount = rowCount;
dataGridList.CellValueNeeded += new DataGridViewCellValueEventHandler(dataGridList_CellValueNeeded);
}
void dataGridList_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
{
e.Value = e.RowIndex;
}
Run Code Online (Sandbox Code Playgroud)
我在这里遗漏了什么,或者DataGridView的"虚拟"模式根本不是虚拟的?
[更新]
看起来好的旧ListView实现了我正在寻找的那种虚拟模式.但不幸的是ListView没有DataGridView的单元格格式化功能,所以我无法使用它.
对于其他可能的人,我使用四列ListView(详细模式),VirtualMode = True和VirtualListSize = 100,000,000行测试它.
该列表立即显示,前30行可见.然后我可以毫不拖延地快速滚动到列表的底部.内存使用量始终为10 MB.
我的代码是这样的
try
{
using (TransactionScope iScope = new TransactionScope())
{
try
{
isInsertSuccess = InsertProfile(account);
}
catch (Exception ex)
{
throw;
}
if (isInsertSuccess)
{
iScope.Complete();
retValue = true;
}
}
}
catch (TransactionAbortedException tax)
{
throw;
}
catch (Exception ex)
{
throw;
}
Run Code Online (Sandbox Code Playgroud)
现在发生的是,即使我的值为TRUE,也会随机发生TransactionAbortedException异常,但是在DB中插入/更新数据.
知道出了什么问题吗?
我想知道是否可以将Firefox浏览器作为基于Java Swing的应用程序中的组件嵌入.
我从互联网上做了一些研究,但我找不到答案.有些人建议使用Java中可用的其他浏览器组件.我不认为这是更可取的,因为渲染引擎会与Firefox不同.
任何的想法?非常感谢.
我有一个视频博客,我想跟踪某些统计信息,包括来自Google Analytics,Twitter,YouTube,Facebook等的统计信息.
问题是各种统计数据在不同的网站上,需要不同的登录等.实际查看所有内容需要很长时间.我正在寻找一种方法,能够在一个地方汇总所有这些信息.
我在Google,Mashable,Delicious等上搜索了很多,但我没有找到任何我想要的网站.我的搜索技能是不好的,还是真的不存在?
我感兴趣的数据似乎以易于分析的形式提供(见下文),但我自己编写一个应用程序来做这件事犹豫不决,因为已经有超过完整的工作量.
我要汇总的数据:
Google Analytics - 在我的网站上进行跟踪
推特
Facebook粉丝专页
tumblr
视频
饲料燃烧器(RSS)
SEO的东西
那么有一个应用程序已经这样做了,或者我应该自己这样做?我想要一个快速而肮脏的方法来做到这一点 - 我在想像Yahoo管道这样的东西,但它似乎不能胜任这项任务.我可能在Grails中完成它,但这可能比它的价值更麻烦.其他想法?
我有一个网页,我希望人们能够上传内容.(只有少数人使用它,因为它是访问限制的,所以我不太担心任何DOS类型的攻击.)
我正在使用fileUpload控件来执行此操作:
protected void Button1_Click(object sender, EventArgs e)
{
if (fileUploader.HasFile)
try {
fileUploader.SaveAs(Server.MapPath("Uploads\\") + fileUploader.FileName);
errorMessage.Text = "File name: " +
fileUploader.PostedFile.FileName + "<br>" +
fileUploader.PostedFile.ContentLength + " kb<br>";
}
catch (Exception ex) {
errorMessage.Text = "ERROR: " + ex.Message.ToString();
}
else
{
errorMessage.Text = "You have not specified a file.";
}
}
Run Code Online (Sandbox Code Playgroud)
文件最大可达50MB(我已更改web.config以允许此操作).我遇到的问题是,对于大文件,用户无法看到上传的进度.
我想知道如何在页面上显示进度,以便用户可以看到正在发生的事情.没有任何想象力的东西 - 只是像:
上传的字节数/总字节数
没关系.我可以使用postingFile.ContentLength获取总字节数,但不知道如何获取上传的字节数.
此外 - 我是否能够在上传过程中刷新屏幕?
干杯,
本
有谁知道如何根据时间戳显示flot中的日期
<script id="source" language="javascript" type="text/javascript">
$(function () {
var d1 = [
[1262818800,100],[1262732400,100],[1262646000,100],[1262559600,100],[1262473200,100],[1262386800,100],[1262300400,100],[1262214000,100],[1262127600,100],[1262041200,100],[1261954800,100],[1261868400,100],[1261782000,100],[1261695600,100],[1261609200,100],[1261522800,95],[1261436400,110],[1261350000,110],[1261263600,110],[1261177200,100];
var d2 = [
[1262818800,23],[1262732400,23],[1262646000,23],[1262559600,23],[1262473200,23],[1262386800,23],[1262300400,25],[1262214000,25],[1262127600,25],[1262041200,25],[1261954800,25],[1261868400,25],[1261782000,25],[1261695600,25],[1261609200,25],[1261522800,25],[1261436400,10],[1261350000,10],[1261263600,10],[1261177200,10]
$.plot($("#placeholder"), [{data:d1,lines:{show: true},label:"Mountain"},{data:d2,lines:{show: true},label:"Valley"}],{yaxis: {label:"cm"}},
{xaxis: {mode:"time"
}}
);
});
</script>
Run Code Online (Sandbox Code Playgroud) 我刚刚发布这个作为回答有关"最佳"错误跟踪软件的问题的一部分......
嗯,一个工具本身只是一个工具.虽然所有人都谈到工具链,但大多数只是意味着松散的工具集合.为什么不寻找一个"与其他孩子一起玩得很好"的问题跟踪器?也就是说,与您的IDE,构建工具,版本控制系统良好接口......
事实上,我想我现在就去问一个关于最好的链接工具链的问题......
那么,有什么意见吗?我更希望回复在Linux上开发C/C++并使用FOSS(但如果您认为它会帮助其他人,请不要让它阻止您发布基于Windows的答案).我们不需要一个完整的链条,但也许一些链接工具组仍然比链中完全独立的"链接"更好
我用
我似乎缺少一个项目管理工具,它与工具链中的其他"链接"接口.我们如何完成它,端到端,还有一个"最佳"链(或者至少是一个链接最多的链)?
编辑:我们不要忘记需求跟踪和项目计划与跟踪 - 结束编辑
并且每个人都绘制了各种工具之间的关系(即哪个接口与哪个接口,哪个方向可以以另一个的导入格式导出等)?
我在Android应用程序中使用水平进度条,我想更改其进度颜色(默认情况下为黄色).我怎么能用code(不是XML)呢?
c# ×3
.net ×1
aggregation ×1
analytics ×1
android ×1
asp.net ×1
c++ ×1
codeigniter ×1
controller ×1
datagridview ×1
date ×1
file-upload ×1
firefox ×1
flot ×1
git ×1
graph ×1
java ×1
jquery ×1
swing ×1
transactions ×1
twitter ×1
winforms ×1
youtube ×1