什么将取代 Solr 9.0 中的 DataImportHandler?
Apache Solr的最新文档(8.8)表示,将在以后的版本中删除数据导入处理程序.它仅列出了GitHub上维护的第三方插件,也没有其他本机替代方法可以从关系数据库中导入数据.我是否缺少某些东西,或者Solr为此提供了本机支持? 解决方案 数据导入处理程序仍将存在,但作为贡献软件包. 我会在数据导入处理程序存在之前做我所做的事情,并编写一个单独的程序.我更喜欢python,其中阅读数据库和发送JSON更新非常简单. 确保批量更新. 其他解决方案 替代性solr dih https://github.com/saro-lab/saro-lab/solr-db-importer 我做了一个替代程序来dih并发布了源代码和手册. 其他解决方案 我想实现您的Solr-SB-Importer 但这似乎一直困扰着跑步. 我怀疑模式的负载不起作用 http://localhost:8983/solr/succesbooken_sb/sb-schema 我得到
14 2024-04-23
编程技术问答社区
如何在 PHP 中正确启动会话?
我最近遵循了如何为我的网站制作自定义CMS的教程.我目前正在进行后端,因此用户可以创建和编辑页面.该教程有点古老,因此各种功能已被贬低.除了" session_register()",我能够修复其中的大多数.功能.我在许多网站上看到了这个网站,该网站告诉我使用" $ _session ['admin'] = $用户名;例如.这对我不起作用,因为我将其应用于许多页面,每个页面都要求我重新输入信息. 这是我正在使用的文件: admin_check.php:
2 2024-04-22
编程技术问答社区
如何将一个类标记为废弃的?
可能的重复: 我如何将方法标记为过时/折旧/折旧? -c# 您如何将班级标记为弃用?我不想在我的项目中再使用课程,但不想在2周之前删除它. 解决方案 您需要使用[Obsolete]属性. 示例: [Obsolete("Not used any more", true)] public class MyDeprecatedClass { //... } 参数是可选的.第一个参数是为了提供其过时的原因,最后一个参数是在编译时间而不是警告. . 其他解决方案 根据Doak的答案,但是如果您要编译代码,则应将属性的第二个参数设置为false: [Obsolete("Not used any more", false)] public class MyDeprecatedClass { //... } 这只会发出警告. 其他解决方案 不删除班级并贬低的原因是,当您的代码是估计的API,然后被第三方食用时,请遵守某些
10 2024-04-14
编程技术问答社区
Unity 5.5过时的粒子系统代码
在5.5粒子系统变量之前,可以通过 premantleferrer"> presentemystem 读取/写入.现在,它们通过 prementlesysystem.mainmodule 过时的. api Updater 无法解决大多数问题.我已经阅读了新文档,但我无法弄清楚应该如何使用新的变量类型.例如,在JetParpicleFect.cs中,此行引起警告: // set the original properties from the particle system m_OriginalLifetime = m_System.startLifetime; 警告指出:"颗粒系统.startlifetime"是过时的:'startlifetime属性被弃用.使用main.startlifetime或main.startlifetimemultiplier.' 我尝试了以下内容: m_OriginalLifetime = m_System.main.startLif
8 2024-04-11
编程技术问答社区
如何将一个方法标记为过时或废弃的方法?
如何使用C#? 将方法标记为已过时或弃用 解决方案 最短的方法是添加[Obsolete("Method1 is deprecated, please use Method2 instead.")] public void Method1() { … } 您还可以导致汇编失败,将方法视为 错误而不是警告 ,如果该方法从这样的代码中调用了该方法: [Obsolete("Method1 is deprecated, please use Method2 instead.", true)] 其他解决方案 标记为已淘汰,并带有警告: [Obsolete] private static void SomeMethod() 使用它时会收到警告: 和Intellisense: 如果您想要一条消息: [Obsolete("My message")] private static void SomeMethod() 这是Intellisense工具提示
0 2024-04-10
编程技术问答社区
MySqlCommand Command.Parameters.Add已经过时。
我正在Visual Studio 2010中进行C#Windows形式应用程序. 该应用程序正在连接到MySQL数据库,我想在其中插入数据. 现在,我有代码的这一部分: MySqlConnection connection; string cs = @"server=server ip;userid=username;password=userpass;database=databse"; connection = new MySqlConnection(cs); connection.Open(); MySqlCommand command = new MySqlCommand(); string SQL = "INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES ('@mcUserName', '@mcUserPass', '@twU
2 2024-04-10
编程技术问答社区
SETVBUF的哪些参数执行与SETBUF(STDIN,NULL)相同的动作?
我有一个问题,该问题被问到在这里. 最高答案有两个建议,其中之一(提出更可靠)是使用setbuf(stdin, NULL);.但是,setbuf()函数被弃用,替换功能为setvbuf() .我不确定如何以复制旧功能的方式使用此新功能的参数;我该怎么做? 背景:当我在循环中使用getchar()时,循环的第二个迭代总是会读取" \ n"字符,我想摆脱它. 解决方案 在回答您所陈述的问题时,最好的setvbuf相当于 setbuf(stdin, NULL); 应该是 setvbuf(stdin, NULL, _IONBF, 0); 与您链接的文档中的注释相反,但是,我不知道setbuf被弃用了,但我不知道使用它的任何拒绝. 和,正如我在评论中提到的那样,如果您要禁用缓冲的原因是解决scanf的问题,scanf倾向于"在缓冲区"中留下newlines,因此以后会导致问题完全缓冲是解决该问题的一种特别糟糕的方法. 其他解决方案 manpag
2 2024-04-09
编程技术问答社区
如何处理在MacOS/X 10.8.x中被废弃的碳函数?
我有一个已经存在了一段时间(10年以上)的C ++代码库,并且可以编译并运行良好,但是我注意到,当我在OS/x 10.8.x(Mountain Lion)下编译时,编译器会发出关于其称为某些碳功能的贬值警告: ../system/SetupSystem.cpp:575:44: warning: 'UpTime' is deprecated: first deprecated in OS X 10.8 [-Wdeprecated-declarations] ../system/SetupSystem.cpp:575:22: warning: 'AbsoluteToNanoseconds' is deprecated: first deprecated in OS X 10.8 [-Wdeprecated-declarations] ../system/SystemInfo.cpp:249:25: warning: 'MPProcessors' is deprecated: f
6 2024-04-08
编程技术问答社区
Microsoft下划线C函数的目的是什么?
这个问题与 strdup或_strdup或_strdup?相同.这个问题询问了如何在 MS的重置上工作,这个问题询问他们为什么首先这样做.. 由于某种原因,Microsoft弃用了整个POSIX C函数,并用_>固定的变体代替了它们.其中一个例子是isatty: This POSIX function is deprecated. Use the ISO C++ conformant _isatty instead. ISO C ++对_isatty的一致性到底是什么?在我看来,MSDN帮助完全错误. 其他问题答案解释了如何解决这个问题.您添加_CRT_NONSTDC_NO_DEPRECATE定义.美好的.但是我想知道微软的想法是什么.他们在重命名和贬低功能方面有什么意义?这只是为了使C程序员更加努力吗? 解决方案 如果您认为它像_isatty()是ISO C ++一致的事实是有意义的.标记为"语言律师"的问题" aria-label ="显示问题标记为"
4 2024-04-08
编程技术问答社区
如何在GCC中废止一个C预处理器宏?
我知道如何使用__attribute__((deprecated))或[[deprecated]]贬低这样的函数: int old_fn() __attribute__ ((deprecated)); [[deprecated]] int old_fn2(); 但是如何将这样的宏弃用: #define OLD_MACRO 1 解决方案 很好,优雅的解决方案,但是取决于启用C99(使用GCC 4.8.2或更晚,未在早期版本上测试): #define DEPRECATED_MACRO1 _Pragma ("GCC warning \"'DEPRECATED_MACRO1' macro is deprecated\"") 7 #define DEPRECATED_MACRO2(...) _Pragma ("GCC warning \"'DEPRECATED_MACRO2' macro is deprecated\"") printf(__VA_ARGS__) in
0 2024-04-07
编程技术问答社区
为什么我不能使用fopen?
在上一个问题上,我问过关于所谓的安全库折旧,我发现自己对为什么要弃用fopen()也同样感到困惑. 该功能需要两个C字符串,并返回文件* ptr或失败时null.线程安全问题/字符串超出问题在哪里?还是其他东西? 预先感谢 解决方案 有一个官方的ISO/IEC JTC1/SC22/WG14(C语言)技术报告 tr24731-1 (界限检查接口)及其理由可提供: /a> 也有针对TR24731-2(动态分配函数)的工作. fopen_s()的规定理由是: 6.5.2文件访问功能 创建文件时,fopen_s和freopen_s函数通过设置文件保护并使用独家访问打开文件来保护文件免受未经授权的访问来改善安全性. 规格说: 6.5.2.1 fopen_s函数 概要 #define __STDC_WANT_LIB_EXT1__ 1 #include errno_t fopen_s(FILE * restr
2 2024-04-06
编程技术问答社区
gets()是否已正式废弃?
基于基于我可以安全地说gets()在C和C ++中均已弃用? 解决方案 有关系吗?您唯一可以使用gets的方法是,如果已知stdin已连接到您可以完全控制的内容的文件上.这种情况几乎无法满足,尤其是在其他流程可能会对您的程序异步修改文件的多流程系统上.因此,出于所有实际目的,使用gets的任何程序都具有不确定的行为(即,它可能会有不确定的行为的输入/环境条件),特别是UB,尤其是UB,如果您的程序具有,则可能导致特权妥协比数据提供商更高的特权. 编辑:好,这是我唯一可以想到的一个安全用途gets ... if (feof(stdin)) gets(buf); 当然,即使已经为流设置了EOF指示器,也可以读取一些错误的实现(可能包括glibc ..?)允许读取,所以.... 其他解决方案 弃用意味着您不应该使用它,并且将来可能会将其删除.由于两种标准都表示已弃用,这意味着它已被官方弃用. 其他解决方案 即使是通过从库中删除get()删除的代码,在此类
2 2024-04-06
编程技术问答社区
为什么我不能使用strerror?
我将一些代码移植到Windows,Microsoft编译器(Visual C ++ 8)告诉我strerror()不安全. 将Microsoft的所有安全弦乐内容放在一边,我实际上可以看到某些弃用功能很危险.但是我不明白strerror()可能出了什么问题.它采用代码(int),并返回相应的字符串,如果该代码不知道. 危险在哪里? c? 中是否有很好的替代方法 C ++中有很好的选择? [编辑] 有了一些很好的答案,现在了解某些实现可能足够疯狂,可以实际写入一个共同的共享缓冲区 - 在单线程中不安全地重新进入,在线程之间没关系! - 我的问题不再是"我为什么不能使用它,还有什么选择?"要" C和/或C ++中是否有体面的,简洁的替代方案?" 预先感谢 解决方案 strerror由于它不是线程安全而被弃用. strerror在内部静态缓冲区上工作,该缓冲区可能会被其他并发线程覆盖.您应该使用称为strerror_s的安全变体. 安全的变
2 2024-04-06
编程技术问答社区
strcmp有什么问题?
在对问题的回答中并进行比较c ,一个以上的人劝阻strcmp()的使用,说 之类的话 我也强烈建议您习惯使用strncmp() 现在,...避免了许多问题. or(在我的字符串比较为什么失败?) 确保您使用strncmp而不是strCMP. StrcMP是深刻的 不安全. 他们提到什么问题? 原因 scanf() scanf()带有字符串Specifiers and 和 gets() 是因为它们几乎不可避免地会导致缓冲区溢出脆弱性.但是,不可能用strcmp()溢出缓冲液,对吗? "缓冲区溢出或缓冲区溢出是一个异常现象,在将数据写入缓冲区时,程序会超越缓冲区的边界并覆盖相邻的内存." ( - wikipedia:buffer溢出). ) 由于strcmp()函数永远不会写入任何缓冲区,因此strcmp()函数不会导致缓冲区溢出,对吗? 人们不鼓励使用strcmp()的原因是什么原因,并推荐strncmp()? 解决方案 str
0 2024-04-06
编程技术问答社区
一个替代glibc中被废弃的__malloc_hook功能的方法
我正在为C编写一个内存探测器,并通过malloc_hooks拦截对malloc,realloc>和free函数的拦截.不幸的是,这些因素在多螺纹环境中的行为差而被贬低.我找不到描述替代性最佳实践解决方案的文件,有人可以启发我吗? 我已经读到一个简单的#define malloc(s) malloc_hook(s)可以解决问题,但这与我所考虑的系统设置不起作用,因为它对于原始代码库来说太侵入了,无法在分析中使用/跟踪工具.对于任何体面的剖面人员来说,必须手动更改原始应用程序代码都是杀手.最佳地,我要寻找的解决方案应仅通过链接到可选的共享库来启用或禁用.例如,我当前的设置使用__attribute__ ((constructor))声明的函数来安装拦截malloc钩. 谢谢 解决方案 尝试了一些事情后,我终于设法弄清楚了如何做到这一点. 首先,在glibc中,malloc定义为弱符号,这意味着它可以被应用程序或共享库覆盖.因此,LD_PRELOAD不一定需要.相反,
4 2024-04-06
编程技术问答社区
getch已被弃用
回到时代的某个地方我在大学里做了一些C和C ++,但是我对C ++没有很多关注.现在,我希望注意C ++,但是当我使用getch()函数时,我会从下面获取警告. 警告C4996:'getch':此项目的POSIX名称已弃用.而是使用ISO C ++符合名称:_getch.有关详细信息,请参见在线帮助. 现在,我正在使用VS 2005 Express,我不知道该警告该怎么办.我需要在i printf()后使用getch()错误消息或其他需要键命中的其他内容. 你能帮我吗? 解决方案 Microsoft决定在不透露不推荐的情况下标记名称,因为这些名称是为程序员选择的.实施特定的扩展名如果要遵守C或C ++标准,应使用全局名称空间中的姓名,或者它们应将自己标记为合并的标准环境,例如POSIX/ANSI/ISO C,其中这样然后,功能对应于这些标准之一. 阅读这个关于getcwd()的答案同样,对于P. J. Plauger的解释,当然非常了解东西. 如果您
8 2024-04-06
编程技术问答社区
为什么JSR/RET是废弃的Java字节码?
有人知道为什么JSR/RET BYTECODE对在Java 6中弃用? 我在网上发现的唯一有意义的解释是,他们通过运行时进行了更难和较慢的执行时间进行代码分析.有人知道另一个原因吗? 解决方案 JSR和RET使字节码验证比其他正常字节码约束的放松(例如进入JSR时具有一致的堆栈形状)要困难得多.上升空间非常小(在某些情况下可能会稍微稍小),并且验证器中持续的困难处理了奇数JSR/RET模式(以及潜在的安全性漏洞,以及相关的全面验证运行时成本)使其成为无用的功能继续拥有. 堆栈地图和由于数据而启用的较轻的重量验证者是在上课期间的巨大胜利,因此没有安全牺牲.
10 2024-04-05
编程技术问答社区
升级ffmpeg时处理ffmpeg库的接口变化
我们目前正在尝试升级程序使用的FFMPEG版本.跳跃很大,因为到目前为止我们使用的是FFMPEG 0.8,最新版本为1.2. 在这些测试中,我正在使用(让我说​​)惊人的包裹,我发现在这里. 首先,我尝试下载和构建FFMPEG 1.2,当然我收到了很多警告和错误,有关功能和变量已贬低或不存在的变量. 为了平滑过渡,我尝试根据FFMPEG 1.0构建,这是最接近的较高版本相对于0.8.我在下面列出了一个警告和错误列表. 我的问题是:是否存在任何指南可以帮助这些过渡,以新版本中转换旧的ffmpeg/functions呼叫??,因为我们正在谈论很多代码我没有写,也想不按线进行分析,如果可能会对旧函数进行一对一的转换,我会很高兴P> 这是警告和错误列表(我已经清理了它,所以每个错误/警告只有一个条目) warning: 'AVStream* av_new_stream(AVFormatContext*, int)' is deprecated (declared
8 2024-04-05
编程技术问答社区
在android中使用Xlint:deprecation
所以当我编译我的Android应用时,我几乎总是会收到这样的消息: [javac] Note: /home/kurtis/sandbox/udj/androidApp/src/org/klnusbaum/udj/PlaylistFragment.java uses or overrides a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. 如何重新编译此选项?我必须在build.xml中编辑某些内容吗? 解决方案 是的,根据build.xml文件中以下语句,如果要... - Customize only one target: - copy/paste the target into this file, *before* the task.
2 2024-04-05
编程技术问答社区
Chrome和其他浏览器会放弃对同步XMLHttpRequest的支持吗?
同步xmlhttprequest正在弃用,这意味着最终将删除它的支持,这是我在Chrome中收到的消息: 主线程上的同步XMLHTTPREQUEST被弃用,因为它对最终用户的体验有害.有关更多帮助,请检查 http://xhr.spec.whatwg.org/. 所以,我的问题是,如果是,如果是,主要浏览器(尤其是Chrome)将放弃对同步XMLHTTPREQUEST的支持? 解决方案 更新:( 2019年2月上次更新) Chrome 54 删除Microtask期间同步XHR的支持 执行. Chrome 80 emoves emoves XHR在页面解雇期间,企业用户可以使用策略标志进行解决,直到Chrome 82. IMHO,现在(比6年前)更有可能最终删除此功能.与往常一样,建议避免使用同步XHR的新用途,并在浏览器可以选择仅几个月的通知中删除现有的XHR. 我没有内部信息,但是这里有一些研究. 决定在2月决定 2014年.Chrome
2 2024-04-03
编程技术问答社区