首页 \ 问答 \ 为什么选择Emacs / Vim / Textmate?(Why Emacs/Vim/Textmate? Isn't Xcode good enough?)

为什么选择Emacs / Vim / Textmate?(Why Emacs/Vim/Textmate? Isn't Xcode good enough?)

嗨,我主要做C ++,Objective-C编程。 我发现Xcode加上一个自动完成/宏插件(完成字典)相当充足。

然而,所有人似乎赞美他们纯文本编辑。 我尝试了Textmate一点; 喜欢它的简单性,但不喜欢它的文件/框架处理。

我在这里遗漏了什么吗? 或者,Vim或Emacs自动完成与Xcode一样好吗?


Hi I mostly do C++, Objective-C programming. And I found Xcode plus an auto completion/macro plugin (Completion Dictionary) quite adequate.

However, all people seem to praise over their pure text editors. I tried Textmate for a bit; liked its simplicity but dislike its files/framework handling.

Am I missing something here? Or, do Vim or Emacs have auto-completion as good as Xcode?


原文:https://stackoverflow.com/questions/649000
更新时间:2024-02-06 08:02

最满意答案

如果您使用数据库,则可以删除用户的会话。 只需为当前所有会话创建一个后端。 我使用连接到会话的“online_activities”来跟踪user_id。

假设您已启用cookie auth(已实施),您可以轻松强制浏览器以这种方式刷新用户会话。 用户本身甚至没有注意到。


if you use the database you can delete the user's session. just create a backend for all current sessions. i use "online_activities" which are connected to the session to track the user_id.

assuming that you have cookie auth enabled (implemented) you can easily force the browser to refresh the user session this way. the user itself doesnt even notice.

相关问答

更多
  • 如果您使用数据库,则可以删除用户的会话。 只需为当前所有会话创建一个后端。 我使用连接到会话的“online_activities”来跟踪user_id。 假设您已启用cookie auth(已实施),您可以轻松强制浏览器以这种方式刷新用户会话。 用户本身甚至没有注意到。 if you use the database you can delete the user's session. just create a backend for all current sessions. i use "onlin ...
  • 有些人可能会不同意,但是我想在Model :: afterSave()中使用MVC,并在写入之前使用$ _SESSION - 测试会话,以防它未启动,例如在shell中保存模型或一些东西。 MVC是一个普遍的模式 - 一个指导方针,你可以用头来反对它,试图找出如何实现不太合适的事情,或者以另一种方式去做,并转向更重要的事情。 带上火焰。 Some might disagree but I'd screw MVC, do it in Model::afterSave() and use $_SESSION - ...
  • 请在beforeFilter函数的app控制器中使用它 if(!$this->request->is('ajax')){ $LastActivity = $this->Session->read('LastActivity'); if ($LastActivity != '' && (time() - $LastActivity) > 1200) {//for 20 minute $this->Auth->logout(); ...
  • 不,auth组件不应该清除用户数据以外的任何会话数据,甚至该数据也不会被明确清除,而是被覆盖。 在适用的情况下,您可以在尝试登录之前调用$this->Auth->logout() ,这将显式删除用户数据(但在任何情况下都会注销用户,即使新登录尝试无论出于何种原因失败)。 唯一对auth组件应用于会话的更改(除了写入该会话之外)是为了更新它(为了防止会话固定攻击),即它会导致生成一个新的会话ID,并创建一个新的会话cookie组。 手动删除数据 如果你需要清除额外的会话数据,那么你需要自己做。 销毁会话肯定有 ...
  • 好吧,一个选项是设置“ACL版本”号(适用于所有用户或每个用户)。 然后在初始化会话时(好吧,当你调用session_start() )检查存储的版本是否与会话的版本匹配。 如果没有,请刷新ACL。 另一种稍微不同的方法是在会话表中添加一列(“status”或“dirty”等)。 然后,只需将该状态更新为1 ,而不是终止会话。 然后在加载会话时,检查该标志以查看它是否为1.如果是,请重新加载会话中的缓存数据并将其设置为0.如果不是,请继续... 至于更新另一个用户的会话,我不会这样做...如果会话由PHP管 ...
  • 您可以使用Admin会话在Application上下文中编写一个布尔变量(例如ResetSessions = true),每个用户会话将读取并在必要时调用Reset方法。 // Admin Application["ResetSessions"] = true; // User if (Convert.ToBoolean(Application["ResetSessions"])) { ... reset session ... } You could use the Admin session ...
  • 这是愚蠢的事情。 我想在这里记录以供其他人参考: 它与www子域有关。 我碰巧在整个过程中将它留在了各个地方,包括AJAX请求本身,这保证了只能通过www访问的新会话。 这不是Cake独有的,但我认为这是一个重要因素,需要注意的是任何人都要经历类似的东西,这些东西在本地机器上不易复制。 仅供参考,您可以通过.htaccess在整个域内强制使用www: RewriteEngine on RewriteCond %{HTTPS} off Re ...
  • 如果您查看AuthComponent的源代码,您可以看到它是cake 2.x中的默认行为,以防止会话固定。 我认为最简单的解决方案是在调用登录操作之前读取会话数据,并在成功写入或将数据合并回新会话之前。 如果您需要保留旧会话ID,请在登录后将其添加到会话中。 if ($this->Session->check('Cart.session_id')) { $sessionId = $this->Session->read('Cart.session_id'); } else { $sessio ...
  • 你就在那里。 请记住,返回的数组$user包含“用户”键,例如: array( 'User' => array( 'id' => 1 ) ) 因此将其保存到Auth.User下的会话实际上会保存会话数组,如下所示: array( 'Auth' => array( 'User' => array( 'User' => array( 'id' => 1 ) ) ) ) 而是将其保存到Auth键中,您可以像往常一样继续访问它: $ ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)