TinyMce介绍、环境配置与使用心得

  TinyMCE 是一个基于浏览器(例如MSIE或Mozilla)的强大的所见即所得的编辑器,它使用户可以方便的编辑HTML内容。它非常灵活并且是为系统集成而设计的,比如在Intranets、CMS、LMS等系统中应用。

  特点

  • 易于集成,只需要简短几行代码。
  • 支持主题和模板。
  • 易于使用自定义代码扩展(插件和回调)
  • 可定制HTML输出。屏蔽元素和强制属性。
  • 国际语言支持(通过语言包)。
  • 支持多种浏览器, 目前有 Mozilla (PC/Mac/Linux), MSIE (PC) 和 FireFox (PC/Mac/Linux)。

  下面是使用/集成TinyMCE的内容:(您也可以查看TinyMCE中文手册了解一下内容

  初始化

  在初始化TinyMCE的时候,需要把以下代码加入到页面的HEAD标签中。按以下例子中的设置,所有的TEXTAREA文本域在页面加载时将被转换成编辑器。另外还有其他模块,我们将在后面详细讲述。








 

初始化
注意以上红色部分是tiny_mce.js脚本文件的位置,该文件中包含了编辑器所需要的全部代码,主题及语言包将在初始化时被加载。蓝色部分是初始化调用,它生成TinyMCE的全局实例,其中的设置及名称-值属性将在以后描述。

设置

名称-值属性方式传递给tinyMCE的init方法的设置控制着程序的全局行为。所有的键及可能的键值如下表所示。注意,用[]括起来的名称是可选的,不是必须的设置。

常规设置
mode Mode可以是以下几个值之一:

textareas - 页面加载时把所有TEXTAREA组件转换成编辑器.
specific_textareas - 将所有"mce_editable"属性值为true的TEXTAREA转换成编辑器.
exact - 只转换在"elements"设置中指定的确切组件.
[theme] 指定要使用的主题名称,主题将被放在TinyMCE的themes目录下,默认为default。TinyMCE自带三个内置的主题,它们是simple,default和advanced。
如果你想创建自己的主题,请仔细阅读文档的 主题 部分。
[plugins] 此选项是一系列以逗号分隔的主题插件列表(例如,可以只用来扩展图像对话框)。这些插件覆盖了主题模板中定义的功能。插件逻辑应该包含在一个叫"editor_plugin.js"的文件中,它是插件目录中唯一被包含进来的文件。
例如:"my_image_dialog,my_link_dialog".
如果你想创建自己的插件,请仔细阅读文档的 主题 部分。
[language] TinyMCE中使用的语言包,这应该是像se,uk,us等诸如此类的FN代码,它被用来从"langs"目录中获取语言包,该设置的默认值为"uk".
中文用户建议您使用"zh-CN"
[elements] 以逗号分隔的用来转换成编辑器的组件列表,该选项仅在"mode"选项被设置成"exact"时使用。该列表中的元素可以是任何有id或name属性的HTML组件。
[ask] 当"mode"被设置成"textareas"或"specific_textareas"的时候,该选项被应用,询问用户输入框是否将被转换成编辑器。
如果你想使用这个选项,将它设置为true.
[textarea_trigger] textarea(文本域)触发器的属性,默认值为"mce_editable"。
该选项仅在"mode"被设置为"specific_textareas"时使用。
[valid_elements] 以逗号分隔开的组件转换部分的列表。

例如: a[href|target=_blank],strong/b,div[align],br.

以上例子告诉TinyMCE移除所有除了"a, strong, div"和"br"的组件,将元素b转换成strong,默认target设为"_blank"并保持href、target、align属性。在匹配组件及属性的名称时可以使用像*,+,?这样的通配符。

字符:
, 各组件定义之间的分隔符。
/ 两个同义组件之间的分隔符。第一个组件是会被用来输出的那个(即第二个组件被第一个替换)。
| 各属性定义之间的分隔符。
[ 定义某组件的属性列表的开始符号。
] 定义某组件的属性列表的结束符号。
= 将属性的默认值设为特定值。例如:"target=_blank"
: 将属性的值强行设为特定值。例如:"border:0"
< 校验某个属性的值。例如:"target<_blank?_self"
? 属性校验值之间的分隔符,见上。

特殊变量:
{$uid} - 产生一个唯一ID号。 例如:"p[id:{$uid}]".

此选项的默认值是以下模式:
"a[href|target],strong/b[class],em/i[class],strike[class],u[class],p[class|align],ol,ul,li,br,
img[class|src|border=0|alt|hspace|vspace|width|height|align],sub,sup,blockquote[dir|style],
table[border=0|cellspacing|cellpadding|width|height|class|align],tr[rowspan],
td[colspan|rowspan|width|height],div[class|align],span[class|align],pre[class|align],
address[class|align],h1[class|align],h2[class|align],h3[class|align],
h4[class|align],h5[class|align],h6[class|align],hr".

要包含所有组件及属性,请使用 *[*] ,这在使用invalid_elements选项时特别有用。
[extended_valid_elements] 向"valid_elements"列表末尾添加可用组件。此选项在你仅仅想往默认列表中增添部分组件时相当有用。
格式与"valid_elements"一致。
[invalid_elements] 输出时需要排除在外的组件名称列表,以逗号分隔开。
[trim_span_elements] True/False选项。如果设置为true,不需要的组件将被移除。默认值即为true。
[verify_css_classes] True/False选项。如果设置为true,将会校验CSS的class属性。默认值即为true。
[verify_html] True/False选项。代表着HTML内容是否需要校验。默认值为true。
[urlconvertor_callback] 当清理进程处理URL的时候调用的函数名。此函数必须遵从以下的格式:func(url, node, on_save) ,返回转换后的URL。此设置专为集成目的而设。参数url代表要转换的地址,node代表包含URL的那个节点,on_save是一个布尔值(在用户提交表单时为真)。
[preformatted] True/False选项。如果设置为true,编辑器将把制表符(TAB)转换成缩进,除此外保持其他whitespace(空白字符、换行等)字符,就如同HTML标签中的PRE的效果。默认值为false。
[insertlink_callback] 当执行"insertlink"命令时调用的函数名。此函数获取选定链接的地址和目标,返回一个以"href", "target"和 "title"为collection名称的数组。当使用新窗口时,为了兼容Mozilla,会在window.opener(弹出窗口的母窗口,译者注)上调用tinyMCE.insertLink。
[insertimage_callback] 当执行"insertimage"命令时调用的函数名。此函数获取选定图像的url并返回一个以src和alt为collection名称的数组。当使用新窗口时,为了兼容Mozilla,会在window.opener上调用tinyMCE.insertImage。
函数格式:insertimage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action).
[setupcontent_callback] 当编辑器初始化时调用的函数名。函数格式:setupContentCallback(editor_id, node),其中editor_id是编辑器的id,node是编辑器所在的body组件节点。
[save_callback] 当执行triggerSave(触发保存)命令被调用时调用的函数名。函数格式:save(id, content, node),如果有特定返回值,其值将会被加到HTML表单组件上。所以可以通过此函数来自定义用户转换逻辑。
[docs_language] TinyMCE文档中使用的语言,这应该是像se,uk,us等诸如此类的FN代码,它被用来从"/docs/"目录中获取文档。 该选项的默认值跟language选项一致。
[width] 编辑器的宽度,它默认的宽度是原先被替换的组件宽度。
[height] 编辑器的高度,它默认的高度是原先被替换的组件高度。
[content_css] 编辑窗口中要使用的CSS文件,其路径应该跟页面相关。
[popups_css] 像插入链接和图片时的弹出窗口中使用的CSS文件,其路径应该跟页面相关。
[editor_css] 编辑器使用的CSS文件,其路径应该跟页面相关。
[encoding] 编辑器的输出编码,此选项目前只能为"html"或者空。如果设置为"html",编辑器的输出将经过HTML编码处理。
例如:<将会变成<,依此类推。默认值是空。
[debug] True/False选项。如果设置成true,像css文件路径等调试信息将会被显示。
[visual] True/False选项。如果设置成true,当边框设置成0的时候,为达到更好的视觉效果在编辑器中表格会有虚线出现。
默认值为true。
[visual_table_style] 用户可自定义表格的样式,默认值为:"border: 1px dashed #BBBBBB"。
[add_form_submit_trigger] True/False选项。如果设置成true,将强制进行所有表单的"onsubmit"事件处理并引发保存。此选项默认值为true。
[add_unload_trigger] True/False选项。如果设置成true,在"onunload"事件发生时,当前窗口会引发一个triggerSave调用。此triggerSave调用不会做任何清理工作,因为它是用来处理 前进/后退 按钮的。此选项默认值为true。
[force_br_newlines] True/False选项。此选项强制编辑器将段落符号(P)替换成换行符(BR)。此选项默认值为false。(实验阶段)
[force_p_newlines] True/False选项。如果打开此选项,在按下回车键(Enter)时Mozilla/Firefox浏览器会生成段落符号(P),在按下Shift+Enter时会生成换行符(BR)。此选项默认为true。
[relative_urls] True/False选项。如果设置成true,绝对路径将被转换成相对路径。默认值为true。
[remove_script_host] True/False选项。在设置成true的情况下,如果URL中的主机名、端口号跟编辑器当前所在一致,它们会被移除。
例如:编辑器所在站点为 http://www.somesite.com ,那么以下链接 http://www.somesite.com/somedir/somepage.html 将会被转换成 /somedir/somepage.html 。
如果relative_urls被设置成false,此选项默认为true。
[focus_alert] True/False选项。如果设置成true,编辑器在失去焦点的时候就会出现一个烦人的警告框。默认值为true。
[document_base_url] 在将绝对路径转换成相对路径的时候会用到此文档的URL。这个选项指定了编辑器当前的默认文档。
注意如果此选项指定到一个域名,请添加协议前缀,并以斜杠结尾。例如:http://www.somehost.com/mydir/
[custom_undo_redo] True/False选项。此选项可以使 撤消/重做 功能更加完善。默认值为true。
[custom_undo_redo_levels] 自定义最多可撤消操作的次数,默认是无限制。
[custom_undo_redo_keyboard_shortcuts] 如果使用,编辑器可以使用Ctrl+Z和Ctrl+Y快捷键来实现撤消和重做。默认允许。
[fix_content_duplication] True/False选项。此选项修正了MSIE中一个内容重复的bug。默认启用,但是为了兼容性也可以禁用(false)。
[directionality] 此选项可以设置像阿拉伯语等语言的文字方向。可能的值为:ltr, rtl。默认值: ltr(从左到右)。
[auto_cleanup_word] 如果启用,从MS office/Word粘贴的HTML将会自动被清理。此选项默认值为false。
注意:此操作当前仅支持MSIE。
[cleanup_on_startup] 如果启用,在编辑器初始化时文本域及组件将会被清理。默认值为false。
[inline_styles] 如果启用,像width,height,vspace,hspace和align等属性将会被风格属性替代。默认值为false。
在使用此选项时记得要把风格属性应用在正确的组件上。
[convert_newlines_to_brs] 如果启用,所有的/n(新行)将会在编辑器启动时被转换成
组件。此选项默认值为false。
[auto_reset_designmode] 因为在调用style.display的none/block方法来显示/隐藏某个TinyMCE编辑器的时候有bug,设计模式需要被重置。此选项一旦启用,当编辑器聚焦时,将自动重置。默认值为false。
[entities] 一张以字符代码来查找名称的表,该表中元素是以逗号分隔开的实体列表。该列表以奇数项、偶数项区分,其中奇数项是被用来转换的字符代码,偶数项是代表那个字符代码的实体名称。例如:"8205,zwj,8206,lrm,8207,rlm,173,shy"。
[cleanup_callback] 自定义清理函数。此选项能让用户在默认的清理基础上有所扩展。此函数调用跟默认的调用是分开的,它并不替换默认的清理函数,而仅仅是扩展。点击 插件清理 查看更多细节。
主题的高级特定设置
[theme_advanced_toolbar_location] 此选项用来改变工具栏的默认位置。可能的值为:"top"和"bottom"。默认值是"bottom"。
[theme_advanced_toolbar_align] 此选项用来设置工具栏的对齐方式是left, center还是right。默认值是center。
[theme_advanced_styles] 此选项可以用来增加风格下拉框中的CSS类和名称。格式如下:"=<class>;.."。<br>如果没有指定此选项,主内容部分的CSS类将会被自动导入。<br>例如:"Header 1=header1;Header 2=header2;Header 3=header3"</td> </tr> <tr> <td><strong>[theme_advanced_buttons1]</strong></td> <td>工具栏上第一行要包含的按钮列表,以逗号分隔开。例如:"bold,italic,underline"。<br><br>允许的按钮名称如下:<br>bold, italic, underline, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, styleselect, bullist, numlist, outdent, indent, undo,redo, link, unlink, image, cleanup, help, code, table, row_before, row_after, delete_row, separator, rowseparator, col_before, col_after, delete_col, hr, removeformat, sub, sup, formatselect, fontselect, fontsizeselect, forecolor,charmap,visualaid,spacer,cut,copy,paste</td> </tr> <tr> <td><strong>[theme_advanced_buttons2]</strong></td> <td>同上,差别在于指定的是工具栏第二行。</td> </tr> <tr> <td><strong>[theme_advanced_buttons3]</strong></td> <td>同上,差别在于指定的是工具栏第三行。</td> </tr> <tr> <td><strong>[theme_advanced_buttons<N>_add]</strong></td> <td>向工具栏上特定的第N行中增加额外的控制/按钮。例如:theme_advaned_buttons3_add : "iespell".</td> </tr> <tr> <td><strong>[theme_advanced_buttons<N>_add_before]</strong></td> <td>向工具栏上特定的第N行的默认按钮前面增加额外的控制/按钮。例如:theme_advaned_buttons3_add_before : "iespell"。</td> </tr> <tr> <td><strong>[theme_advanced_disable]</strong></td> <td>要禁用的按钮/组件的列表,以逗号分隔。例如:"formatselect".</td> </tr> <tr> <td><strong>[theme_advanced_source_editor_width]</strong></td> <td>源文件编辑器窗口的宽度。</td> </tr> <tr> <td><strong>[theme_advanced_source_editor_height]</strong></td> <td>源文件编辑器窗口的高度。</td> </tr> <tr> <td><strong>[theme_advanced_path_location]</strong></td> <td>组件路径列表的位置,可能的值为:"top"或"bottom"。默认值为:"none" </td> </tr> <tr> <td><strong>[theme_advanced_blockformats]</strong></td> <td>formatselect列表要屏蔽的格式列表,以逗号分隔开。默认值:p,address,pre,h1,h2,h3,h4,h5,h6。</td> </tr> </tbody> </table> <p> </p> <div class="right"> 以下是一个较为复杂的初始化例子: </div> <div class="right"></div> <div class="right"> <table style="border-right:#cccccc 1px dotted;table-layout:fixed;border-top:#cccccc 1px dotted;border-left:#cccccc 1px dotted;border-bottom:#cccccc 1px dotted;" width="95%" align="center" border="0"> <tbody> <tr> <td><!-- tinyMCE --> <br><script language="javascript" type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script> <br><script language="javascript" type="text/javascript"> <br>    tinyMCE.init({ <br>       mode : "exact", <br>       theme : "mytheme", <br>       language : "se", <br>       elements : "elm1,elm2" <br>   }); <br></script> <br><!-- /tinyMCE --><br><!-- tinyMCE --><br><script language="javascript" type="text/javascript" src="<font color="#990000">jscripts/tiny_mce/tiny_mce.js</font>"></script><br><script language="javascript" type="text/javascript"><br>   <font color="#000099">tinyMCE.init({<br>       mode : "exact",<br>       theme : "mytheme",<br>       language : "se",<br>       elements : "elm1,elm2"<br>   });</font><br></script><br><!-- /tinyMCE --></td> </tr> </tbody> </table> <p> </p> <p> </p> <div class="right"> <span class="subtitle"><strong>函数</strong></span> <strong> (供高级使用)</strong> <br> <br>TinyMCE有一个全局实例,它能提供一些可从页面调用的公用函数。 <br> </div> <p class="right"> </p> <div class="right"> <hr> </div> <p class="right"><strong>语法:</strong> tinyMCE.triggerSave([skip_cleanup]);<br><br><strong>描述:</strong>进行清除操作,并将编辑器内容移回到表单域中。tinyMCE通过向表单提交方法中增加触发器来自动调用此函数。<br><br><strong>参数:</strong><br>[skip_cleanup] - 禁用保存触发器的清除功能,默认为false。(可选)<br><br><strong>返回:</strong> 无<br></p> <div class="right"> <hr> </div> <p class="right"><strong>语法:</strong> tinyMCE.updateContent(form_element_name);<br><br><strong>描述:</strong>将表单组件的内容转移到编辑器中,此操作的功能跟triggerSave()正好相反。当你想动态改变编辑器内容时可以使用此方法。<br><br><strong>参数:<br></strong>form_element_name - 要获取内容的组件所在表单的名称。<br><br><strong>返回:</strong> 无 </p> <div class="right"> <hr> </div> <p class="right"><strong>语法:</strong> tinyMCE.execInstanceCommand(editor_id, command, [user_interface], [value]);<br><br><strong>描述:</strong>此方法通过editor_id参数找到某个编辑器实例,在此编辑器上执行一个命令。<br><br><strong>参数:</strong><br>editor_id - 编辑器实例的ID或者被替换后的组件id/名称。<br>command - 要执行的命令。查看execCommand函数以获取更多细节。<br>[user_interface] - 是否使用用户界面。<br>[value] - 执行命令时要传递的参数,例如:一个URL。<br></p> </div> <p class="right"><strong>语法:</strong> tinyMCE.execCommand(command, [user_interface], [value]);<br><br><strong>描述:</strong>此方法在选定编辑器中通过名称执行特定命令。<br><br><strong>参数:<br></strong>command - 要执行的命令,例如:"Bold" or "Italic"。<font color="#000000">你可以通过此连接来查看Mozilla Midas spec</font>。但是tinyMCE也有自身一些特殊的命令如下表所示:<br><br></p> <p class="right"> </p> <table> <tbody> <tr> <td width="150"><strong>mceLink</strong></td> <td>打开插入链接对话框并插入链接。</td> </tr> <tr> <td width="150"><strong>mceImage</strong></td> <td>打开插入图像对话框并插入图像。</td> </tr> <tr> <td><strong>mceCleanup</strong></td> <td>从HTML代码中移除不需要的组件和属性。</td> </tr> <tr> <td><strong>mceHelp</strong></td> <td>打开文档页面。</td> </tr> <tr> <td><strong>mceInsertTable</strong></td> <td>在鼠标位置插入表格,默认尺寸为:2×2。如果execCommand函数中有指定value参数,它的格式必须为name/value形式的数组,其中name有以下选项:cols, rows, border, cellspacing, cellpadding。border(边框)的默认大小为:0。</td> </tr> <tr> <td><strong>mceTableInsertRowBefore</strong></td> <td>在当前鼠标所在位置之前插入一行。</td> </tr> <tr> <td><strong>mceTableInsertRowAfter</strong></td> <td>在当前鼠标所在位置之后插入一行。</td> </tr> <tr> <td><strong>mceTableDeleteRow</strong></td> <td>将当前鼠标所在行删除。</td> </tr> <tr> <td><strong>mceTableInsertColBefore</strong></td> <td>在当前鼠标所在位置之前插入一列。</td> </tr> <tr> <td><strong>mceTableInsertColAfter</strong></td> <td>在当前鼠标所在位置之后插入一列。</td> </tr> <tr> <td><strong>mceTableDeleteCol</strong></td> <td>将当前鼠标所在列删除。</td> </tr> <tr> <td><strong>mceAddControl</strong></td> <td>向编辑器添加组件控制,此编辑器的id/name由value指定。</td> </tr> <tr> <td><strong>mceRemoveControl</strong></td> <td>通过editor_id名称来移除特定控制。value是要移除的editor_id(编辑器ID),编辑器ID格式如下:"mce_editor_<index>"。<br>也可以使用DOM组件的ID和表单名。</td> </tr> <tr> <td><strong>mceFocus</strong></td> <td>使以value的值为ID的编辑器获得焦点。编辑器ID格式如下:"mce_editor_<index>"。也可以使用DOM组件的ID和表单名。</td> </tr> <tr> <td><strong>mceSetCSSClass</strong></td> <td>设置CSS类属性,或者在选择框中创建新的span。value的值是要给选定组件指派的css类名或者要新创建的span组件名称。</td> </tr> <tr> <td><strong>mceInsertContent</strong></td> <td>在当前鼠标所在位置插入value的内容。</td> </tr> <tr> <td><strong>mceReplaceContent</strong></td> <td>将当前选定部分替换为value中的HTML代码。{$selection}变量由当前选定部分的文字内容替换。</td> </tr> <tr> <td><strong>mceSetAttribute</strong></td> <td> <p>为当前选定组件设置属性。此命令的value应该是name/value数组,其参数如下:<br><br><strong>name</strong> - 要设置的属性名。<br><strong>value</strong> - 要设置的属性值。<br><strong>[targets]</strong> - 要增加属性的目标组件,默认为:p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address。<br><br>使用示例:<br>tinyMCE.execCommand('mceSetAttribute',false,{name:'align',value:'right'});</p> </td> </tr> <tr> <td><strong>mceToggleVisualAid</strong></td> <td> <p>是否开启视觉帮助模式</p> </td> </tr> <tr> <td><strong>mceAnchor</strong></td> <td> <p>插入名称锚点。value是锚点的名称。</p> </td> </tr> <tr> <td><strong>mceResetDesignMode</strong></td> <td> <p>重置所有编辑器实例的设计模式状态。在Firefox中,当编辑器被放在制表符中或者用style.display="none/block"来控制隐显的时候,此命令非常有用。在编辑器重新显示时调用此命令。</p> </td> </tr> <tr> <td><strong>mceSelectNode</strong></td> <td> <p>选定value指定的节点/组件。同时此命令会使编辑器滚动到此组件所在位置。</p> </td> </tr> <tr> <td><strong>mceSelectNodeDepth</strong></td> <td> <p>从当前节点以深度关系选择指定的节点/组件。所以0值会选定当前聚焦的节点。同时此命令会使编辑器滚动到此组件所在位置。</p> </td> </tr> </tbody> </table> <p class="right"><br>user_interface - 申明某命令是否会显示用户界面。True/False选项。<br>value - 要传递给命令的值。例如,插入链接时,它就是链接的URL。<br><br><strong>返回:</strong> 无<br><br><strong>示例:</strong><br></p> <div class="right"> <font face="Webdings" color="#000000"></font><a href=" <font color="#990000">javascript:tinymce.execCommand('Bold');</font>">[Do bold]</a> </div> <div class="right"></div> <div class="right"> <p><strong>语法:</strong> tinyMCE.insertLink(href, target);<br><br><strong>描述:</strong>此方法在当前选定编辑器实例的鼠标位置插入一个链接,或者用新的数据来更新已有链接。当你创建自己的主题时,此方法应在插入链接的弹出窗口中的OK按钮按下时被调用。<br><br><strong>参数:<br></strong>href - 链接的地址/URL。<br>target - 链接的目标。<br><br><strong>返回:</strong> 无 </p> <hr> <p><strong>语法:</strong> tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);<br><br><strong>描述:</strong>此方法在当前选定编辑器实例的鼠标位置插入图像,或者用新的数据来更新已有图像。当你创建自己的主题时,此方法应在插入图像的弹出窗口中的OK按钮按下时被调用。<br><br><strong>参数:<br></strong>src - 图像地址。<br>alt - 图片的替代文字。<br>border - 图像边框。<br>hspace - 图像水平间距。<br>vspace - 图像垂直间距。<br>width - 图像宽。<br>height - 图像高。<br>align - 图像对齐方式。<br>title - 图像链接的标题。<br>onmouseover - 图像在鼠标放上去时的事件处理。<br>onmouseout - 图像在鼠标移开时的事件处理。<br><br><strong>返回:</strong> 无 </p> <hr> <p><strong>语法:</strong> tinyMCE.triggerNodeChange();<br><br><strong>描述:</strong>当编辑器发生外部变化时此方法被调用。然后此方法回调主题的"handleNodeChangeCallback"方法。<br><br><strong>参数: </strong>None<br><br><strong>返回:</strong> 无 </p> <hr> <p><strong>语法:</strong> tinyMCE.getContent();<br><br><strong>描述:</strong>此方法返回当前选定编辑器中的HTML内容。如果没有任何选定编辑器,该方法返回null。<br><br><strong>参数: </strong>None<br><br><strong>返回:</strong>当前选定编辑器中的HTML内容或者null。 </p> <font face="Webdings" color="#000000"></font> </div> <p><strong>语法:</strong> tinyMCE.setContent(html);<br><br><strong>描述:</strong>此方法设定当前选定编辑器的HTML内容。<br><br><strong>参数:<br></strong>html - 要设定的HTML源代码。<br><br><strong>返回:</strong> None. </p> <hr> <p><strong>语法:</strong> tinyMCE.getEditorInstance(editor_id);<br><br><strong>描述:</strong>此方法通过editor_id返回某个编辑器实例。<br><br><strong>参数:<br></strong>editor_id - 要获取的编辑器实例。<br><br><strong>返回:</strong>编辑器实例(TinyMCEControl)。 </p> <hr> <p><strong>语法:</strong> tinyMCE.importThemeLanguagePack([theme]);<br><br><strong>描述:</strong>此方法导入主题中特定的语言包。自定义主题中可以调用此方法。<br><br><strong>参数:</strong><br>[theme] - 当前主题名称。此选项可选,默认为全局的"theme"设定。此参数在主题插件中非常有用。<br><br><strong>返回:</strong> None. </p> <hr> <p><strong>语法:</strong> tinyMCE.importPluginLanguagePack(plugin, valid_languages);<br><br><strong>描述:</strong>此方法导入插件中特定的语言包。自定义插件中可以调用此方法。<br><br><strong>参数:</strong><br>plugin - 当前插件的名称。<br>valid_languages - 以逗号分隔的所支持语言包列表。<br><br><strong>返回:</strong> None. </p> <hr> <p><strong>语法:</strong> tinyMCE.applyTemplate(html);<br><br><strong>描述:</strong>此方法替换主题中的设置及语言变量。<br><br><strong>参数:</strong> <br>html - 要替换主题变量的HTML代码。<br><br><strong>返回:</strong> 转换后的HTML代码。 </p> <p><strong>语法:</strong> tinyMCE.openWindow(template, [args]);<br><br><strong>描述:</strong>此方法通过从指定的template参数中获取width, height及html数据来打开新窗口。数组参数args中包含要替换的变量名。<br><br>还有一些自定义的窗口参数:<br>mce_replacevariables - 启用/禁用HTML文档中的语言/变量替换。默认启用。<br>mce_windowresize - 启用/禁用弹出窗口的自动resize特征,默认启用。<br><br><strong>参数:</strong> <br>template - Name/Value数组,以width, height, html和file为键。<br>[args] - 包含要替换变量名的Name/Value数组。模板文件中的键值变量被参数列表所替换。<br>例如:image.php?src={$src}被替换为:image.php?src=image.gif。<br><br><strong>返回:</strong> None. </p> <hr> <p><strong>语法:</strong> tinyMCE.getWindowArg(name, [default_value]);<br><br><strong>描述:</strong>此方法根据name返回窗口参数,它可以用在主题中的弹出窗口中,以获取对话框中的参数。<br><br><strong>参数:</strong> <br>name - 要获取的窗口参数的名称。<br>[default_value] - 窗口参数丢失时返回的默认值。<br><br><strong>返回:</strong> 窗口参数的值。 </p> <hr> <p><strong>语法:</strong> tinyMCE.setWindowArg(name, value);<br><br><strong>描述:</strong>此方法根据name设定窗口参数,例如它在某插件调用其他插件时非常有用。<br><br><strong>参数:</strong> <br>name - 要设置的窗口参数。<br>value - 窗口参数中要设置的值。<br><br><strong>返回:</strong> 窗口参数值。 </p> <p><strong>语法:</strong> tinyMCE.getParam(name, [default_value], [strip_whitespace]);<br><br><strong>描述:</strong>此方法返回TinyMCE的配置参数。<br><br><strong>参数:</strong> <br>name - 要获取的窗口参数名。<br>[default_value] - 窗口参数丢失时返回的默认值。<br>[strip_whitespace] - 如果为真,所有返回值中的空白字符将会被除去。默认:false。<br><br><strong>返回:</strong>TinyMCE配置参数。<br></p> </div> </div> </td> </tr> </tbody> </table> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1280394501956845568"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(TinyMce介绍、环境配置与使用心得)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1902397085693571072.htm" title="深入了解 Ubuntu 中的 build-essential:开发者的必备工具" target="_blank">深入了解 Ubuntu 中的 build-essential:开发者的必备工具</a> <span class="text-muted">scoone</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>摘要:本文将介绍Ubuntu系统中的build-essential包,包括其作用、包含的工具和库,以及如何在Ubuntu上安装和使用build-essential。正文:一、什么是build-essential?build-essential是Ubuntu和其他基于Debian的Linux发行版中的一个元包,它包含了编译软件所必需的工具和库。这个包主要面向开发人员,尤其是那些需要从源代码编译软件的</div> </li> <li><a href="/article/1902396074623037440.htm" title="Gitlab Fork Workflow(协作工作流)" target="_blank">Gitlab Fork Workflow(协作工作流)</a> <span class="text-muted">蓝白小手套</span> <a class="tag" taget="_blank" href="/search/Gitlab/1.htm">Gitlab</a><a class="tag" taget="_blank" href="/search/gitlab/1.htm">gitlab</a> <div>GitlabForkWorkFlow(协作工作流)ForkWorkFlow用于团队间的协作开发。在开发过程中,我们都需要将最新修改的代码合并到代码库上,在代码合并之前,为了保证代码符合上传要求(符合需求、代码规范等),往往需要进行CodeReview之后没有问题,才允许合并。Gitlab拥有合并请求这一功能,开发者向审批者发起一个合并请求,审批者通过后,代码合并。开发流程介绍管理员创建项目代码库开</div> </li> <li><a href="/article/1902388257430237184.htm" title="Python 爬虫实战:如何爬取小红书数据并进行分析" target="_blank">Python 爬虫实战:如何爬取小红书数据并进行分析</a> <span class="text-muted">Python爬虫项目</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a> <div>一、引言随着社交电商的崛起,小红书(Xiaohongshu)作为一款结合了社交和电商的应用,吸引了大量年轻用户。用户在平台上分享购物心得、生活经验以及个性化的消费推荐内容,形成了庞大的用户数据与内容生态。因此,如何从小红书获取数据进行分析,成为了数据科学、市场营销和社交媒体研究中的一个重要课题。本文将介绍如何使用Python编写爬虫爬取小红书的数据,分析如何通过小红书的开放API获取用户信息、帖子</div> </li> <li><a href="/article/1902383334336557056.htm" title="数据增强:扩充数据集提升模型泛化能力" target="_blank">数据增强:扩充数据集提升模型泛化能力</a> <span class="text-muted">AI天才研究院</span> <a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97/1.htm">计算</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/ChatGPT/1.htm">ChatGPT</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/1.htm">神经计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a> <div>1.背景介绍1.1.数据增强的重要性在机器学习领域,模型的泛化能力至关重要。一个泛化能力强的模型能够在未见数据上表现良好,而过拟合的模型则会在训练数据上表现出色,但在新数据上表现糟糕。数据增强是一种有效提升模型泛化能力的技术,它通过对现有数据进行各种变换,人为地扩充数据集,从而增加训练数据的数量和多样性。1.2.数据增强的应用场景数据增强广泛应用于各种机器学习任务中,包括:图像识别:对图像进行旋转</div> </li> <li><a href="/article/1902383330721067008.htm" title="数据增强:扩充数据集,提升模型的鲁棒性" target="_blank">数据增强:扩充数据集,提升模型的鲁棒性</a> <span class="text-muted">AI天才研究院</span> <a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大数据AI人工智能大模型</a><a class="tag" taget="_blank" href="/search/LLM%E5%A4%A7%E6%A8%A1%E5%9E%8B%E8%90%BD%E5%9C%B0%E5%AE%9E%E6%88%98%E6%8C%87%E5%8D%97/1.htm">LLM大模型落地实战指南</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/1.htm">神经计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a> <div>数据增强:扩充数据集,提升模型的鲁棒性1.背景介绍1.1数据集的重要性在机器学习和深度学习领域中,数据集是训练模型的基础。高质量的数据集对于构建准确、鲁棒的模型至关重要。然而,在现实世界中,获取大量高质量的数据通常是一个巨大的挑战。数据采集过程耗时耗力,而且成本高昂。此外,某些领域的数据存在隐私和安全问题,难以获取。1.2数据集不足的挑战当数据集规模有限时,模型很容易过拟合,无法很好地推广到新的、</div> </li> <li><a href="/article/1902381817533624320.htm" title="【Leetcode】430. 扁平化多级双向链表" target="_blank">【Leetcode】430. 扁平化多级双向链表</a> <span class="text-muted">海绵波波107</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E5%92%8Cleetcode/1.htm">算法和leetcode</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>目录一、题目二、思路2.1解题思路2.2代码尝试2.3疑难问题2.4AI复盘三、解法四、收获4.1心得4.2举一反三一、题目二、思路2.1解题思路2.2代码尝试/*//DefinitionforaNode.classNode{public:intval;Node*prev;Node*next;Node*child;};*/classSolution{public:Node*flatten(Node</div> </li> <li><a href="/article/1902378793721458688.htm" title="NL2SQL 优化之 Schema 编写标准" target="_blank">NL2SQL 优化之 Schema 编写标准</a> <span class="text-muted">kakaZhui</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/llama/1.htm">llama</a><a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a> <div>写在前面在自然语言转SQL(NL2SQL,或Text-to-SQL)任务中,数据库Schema的质量和表示方式对模型的性能有着至关重要的影响。一个清晰、规范、易于理解的Schema能够帮助模型更好地理解数据库结构,从而生成更准确的SQL查询。相反,一个混乱、不规范的Schema会增加模型的理解难度,导致生成的SQL查询错误百出。本文将深入探讨NL2SQL任务中Schema的编写标准,详细介绍如何为</div> </li> <li><a href="/article/1902378791708192768.htm" title="weixin049校园外卖平台设计与实现+ssm(文档+源码)_kaic" target="_blank">weixin049校园外卖平台设计与实现+ssm(文档+源码)_kaic</a> <span class="text-muted">开心毕设kaic_kaic</span> <a class="tag" taget="_blank" href="/search/%E6%A8%A1%E6%8B%9F%E9%80%80%E7%81%AB%E7%AE%97%E6%B3%95/1.htm">模拟退火算法</a><a class="tag" taget="_blank" href="/search/%E6%95%A3%E5%88%97%E8%A1%A8/1.htm">散列表</a><a class="tag" taget="_blank" href="/search/%E9%9A%8F%E6%9C%BA%E6%A3%AE%E6%9E%97/1.htm">随机森林</a><a class="tag" taget="_blank" href="/search/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/1.htm">支持向量机</a><a class="tag" taget="_blank" href="/search/%E5%90%AF%E5%8F%91%E5%BC%8F%E7%AE%97%E6%B3%95/1.htm">启发式算法</a><a class="tag" taget="_blank" href="/search/%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92/1.htm">逻辑回归</a> <div>校园外卖平台设计与实现摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了校园外卖平台的开发全过程。通过分析校园外卖平台管理的不足,创建了一个计算机管理校园外卖平台的方案。文章介绍了校园外卖平台的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。本校园外卖平台有管理员,用户,商家。管理员功能有个人中心,用户管理,商家管理,菜</div> </li> <li><a href="/article/1902378665333813248.htm" title="在 Ansys Mechanical 中创建等效应力结果并使用 Python 导出到文件" target="_blank">在 Ansys Mechanical 中创建等效应力结果并使用 Python 导出到文件</a> <span class="text-muted">David WangYang</span> <a class="tag" taget="_blank" href="/search/%E7%A1%AC%E4%BB%B6%E5%B7%A5%E7%A8%8B/1.htm">硬件工程</a> <div>介绍在AnsysMechanical模型中,通常需要对许多实体/曲面体或它们组进行后处理等效应力或总变形等。使用分组在TreeGrouping文件夹中的NamedSelections,可以在Mechanical中编写Python脚本来自动生成结果对象。此外,once可以获取新创建的结果对象,并再次使用Mechanical中的Python脚本将所有结果集的结果导出到.csv文件。在本文中,我们将探讨</div> </li> <li><a href="/article/1902367573689823232.htm" title="从基础到实践(十九):DC/DC由来和工作原理介绍" target="_blank">从基础到实践(十九):DC/DC由来和工作原理介绍</a> <span class="text-muted">硬件进化论</span> <a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95/1.htm">压力测试</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E8%84%91/1.htm">电脑</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA/1.htm">智能手机</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%A0%81%E7%9B%B8%E6%9C%BA/1.htm">数码相机</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E6%89%8B%E8%A1%A8/1.htm">智能手表</a> <div>第一章DC/DC技术的起源与演进之路1.1电力革命的早期困境(1880s-1940s)在爱迪生与特斯拉的"电流战争"时期,直流供电系统暴露出传输损耗大的致命缺陷。尽管交流电最终成为电网主流,但直流电在终端设备供电的不可替代性催生了最早的电压转换需求。1930年代真空管收音机的普及使这一问题凸显:车载6V蓄电池需升压至200V以上供电子管工作,工程师们通过笨重的机械振动子式换流器(VibratorC</div> </li> <li><a href="/article/1902367321347911680.htm" title="vscode连接远程服务器docker里的容器--使用remote ssh" target="_blank">vscode连接远程服务器docker里的容器--使用remote ssh</a> <span class="text-muted">欢仔要学习</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a> <div>背景介绍:因为工作的原因,图像相关,模型训练,需要在服务器上面搞,同时,服务器上面的环境配置,全部使用的是docker创建容器的方式。但是呢,之前没有配置好服务器与本机的交互环境,每次更改代码,要上传,下载,很不方便,同时图片也没办法可视化。很不友好。于是就想要使用vscode来连接远程服务器docker;因为docker创建的那个容器相当于是一台ubuntu主机,配置好端口,然后我们从外面去连接</div> </li> <li><a href="/article/1902365553733988352.htm" title="MyBatis-Plus分页查询IPage的使用方法,如何自定义分页查询功能?" target="_blank">MyBatis-Plus分页查询IPage的使用方法,如何自定义分页查询功能?</a> <span class="text-muted">程序猿ZhangSir</span> <a class="tag" taget="_blank" href="/search/Spring%E5%85%A8%E5%AE%B6%E6%A1%B6/1.htm">Spring全家桶</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/MyBatis/1.htm">MyBatis</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>目录1.MyBatis-Plus分页插件介绍2.准备工作-创建项目配置环境2.1创建数据库表Product商品表2.2创建Maven项目,创建包,接口,类2.3添加MyBatisPlus依赖和Lombok插件2.4编写Configuration分页插件配置文件2.5编写application.properties配置文件2.6实体类代码,接口代码3.IPage分页的使用方式4.自定义分页查询5.Q</div> </li> <li><a href="/article/1902364293693763584.htm" title="chatgpt赋能python:Python处理雷达基数据:从入门到实践" target="_blank">chatgpt赋能python:Python处理雷达基数据:从入门到实践</a> <span class="text-muted">lvsetongdao123</span> <a class="tag" taget="_blank" href="/search/ChatGpt/1.htm">ChatGpt</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA/1.htm">计算机</a> <div>Python处理雷达基数据:从入门到实践随着气象技术的不断发展,雷达探测技术已成为当今天气预报和气象研究的主要手段之一。雷达基数据是气象雷达接收到的未经加工的原始数据,因其包含大量天气信息,不仅在天气预报、天气预警等方面得到了广泛应用,还被广泛地用于气象科研和大气环境研究。本文将介绍如何使用Python处理雷达基数据,解析其中的信息,获取有效的天气数据,以及分析和可视化这些数据。雷达基数据格式与处</div> </li> <li><a href="/article/1902363912066625536.htm" title="PyCINRAD 安装和配置指南" target="_blank">PyCINRAD 安装和配置指南</a> <span class="text-muted">颜欢钰Edith</span> <div>PyCINRAD安装和配置指南PyCINRADDecodeCINRAD(ChinaNewGenerationWeatherRadar)dataandvisualize.项目地址:https://gitcode.com/gh_mirrors/py/PyCINRAD1.项目基础介绍和主要编程语言项目基础介绍PyCINRAD是一个开源的气象雷达数据处理和可视化库,专门用于解码中国新一代天气雷达(CINR</div> </li> <li><a href="/article/1902363028544876544.htm" title="使用TensorFlow、OpenCV和Pygame实现图像处理与游戏开发" target="_blank">使用TensorFlow、OpenCV和Pygame实现图像处理与游戏开发</a> <span class="text-muted">UwoiGit</span> <a class="tag" taget="_blank" href="/search/tensorflow/1.htm">tensorflow</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a><a class="tag" taget="_blank" href="/search/pygame/1.htm">pygame</a> <div>在本篇文章中,我们将介绍如何结合使用TensorFlow、OpenCV和Pygame来进行图像处理和游戏开发。这三个工具在机器学习、计算机视觉和游戏开发领域都非常流行,并且它们的结合可以提供强大的功能和无限的创造力。我们将逐步介绍如何安装和配置这些工具,并提供相关的源代码示例。安装TensorFlowTensorFlow是一个基于数据流图的开源机器学习框架,提供了丰富的工具和库来构建和训练各种深度</div> </li> <li><a href="/article/1902357355878739968.htm" title="做电池寿命预测有福了---2024最新退化数据集,来自cell子刊" target="_blank">做电池寿命预测有福了---2024最新退化数据集,来自cell子刊</a> <span class="text-muted">优化算法侠Swarm-Opti</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E9%9B%86/1.htm">数据集</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E6%B1%A0%E5%AF%BF%E5%91%BD%E9%A2%84%E6%B5%8B/1.htm">电池寿命预测</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>引言本期介绍2024年最新发表在cell子刊CellReportsPhysicalScience上的电池退化数据集。该数据集是世界上规模最大,最贴近实际运行场景,持续时间最长的电池退化数据集。在实验室和现实生活中对电池退化进行了为期4年的广泛实验调查,考虑了随机充放电电流、频率、深度以及多电池成组、环境温度的影响,涉及数百个电池和电池组的大约546,000次充放电循环。参考文献DongzhenLy</div> </li> <li><a href="/article/1902350215839543296.htm" title="Neo4j GDS-02-graph-data-science 简单聊一聊图数据科学插件库" target="_blank">Neo4j GDS-02-graph-data-science 简单聊一聊图数据科学插件库</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AFjava/1.htm">后端java</a> <div>neo4japoc系列Neo4jAPOC-01-图数据库apoc插件介绍Neo4jAPOC-01-图数据库apoc插件安装neo4jonwindows10Neo4jAPOC-03-图数据库apoc实战使用使用Neo4jAPOC-04-图数据库apoc实战使用使用apoc.path.spanningTree最小生成树Neo4jAPOC-05-图数据库apoc实战使用使用labelFilter是什么?</div> </li> <li><a href="/article/1902350088798269440.htm" title="低成本入门!盘点6款适合中小企业的ERP系统" target="_blank">低成本入门!盘点6款适合中小企业的ERP系统</a> <span class="text-muted"></span> <div>在竞争激烈的市场环境中,中小企业亟需通过数字化工具提升运营效率。ERP系统(企业资源计划)能够整合财务、库存、销售等核心业务流程,是降低成本、优化管理的关键利器。今天,我将为大家推荐6款便宜又好用的ERP系统,分别从功能、价格、适用场景等方面为大家详细介绍这些产品,希望能帮助你找到最适合自己企业的ERP系统。一、ZohoBooks:轻量级ERP,中小企业的全能助手ZohoBooks是Zoho旗下专</div> </li> <li><a href="/article/1902347940022775808.htm" title="实现音视频播放功能鸿蒙示例代码" target="_blank">实现音视频播放功能鸿蒙示例代码</a> <span class="text-muted"></span> <div>本文原创发布在华为开发者社区。介绍本示例基于Avplayer构建了一个音视频播放器,包括音视频的播放、暂停、全屏播放、倍速播放、快进等基本操作。实现音视频播放功能源码链接效果预览使用说明打开应用,展示视频播放器,选择不同按钮进行不同操作。切换音频,展示音频播放器,选择不同按钮进行不同操作。实现思路AVPlayer播放主流程播放的全流程包含:创建AVPlayer,设置播放资源,设置播放参数(音量/倍</div> </li> <li><a href="/article/1902345636582322176.htm" title="简要介绍C++中的 max 和 min 函数以及返回值" target="_blank">简要介绍C++中的 max 和 min 函数以及返回值</a> <span class="text-muted">*TQK*</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E7%9F%A5%E8%AF%86%E7%82%B9/1.htm">编程语言知识点</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E7%9F%A5%E8%AF%86%E7%82%B9/1.htm">编程知识点</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a> <div>目录编辑简要介绍C++中的max和min函数1.std::max函数基本用法比较多个值2.std::min函数基本用法比较多个值3.使用自定义比较函数示例:自定义比较函数4.使用std::max和std::min与容器示例:在容器中使用总结详解返回值std::max和std::min的返回值std::maxstd::min使用std::max和std::min与容器std::max_element</div> </li> <li><a href="/article/1902344909445197824.htm" title="06.动态代理设计模式" target="_blank">06.动态代理设计模式</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>06.动态代理设计模式目录介绍01.为何要动态代理1.1为何要动态代理1.2动态代理思考02.动态代理的概念2.1动态代理定义2.2动态代理类比理解2.3动态代理参与者2.4动态代理步骤03.动态代理的实现3.1罗列一个场景3.2用一个例子理解代理3.3基于接口动态代理3.4基于类动态代理3.5动态代理模版代码04.动态代理案例4.1动态代理和反射4.2Java中代理4.3Retrofit核心思想</div> </li> <li><a href="/article/1902344782320037888.htm" title="04.原型模式设计思想" target="_blank">04.原型模式设计思想</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>04.原型模式设计思想目录介绍01.原型模式介绍1.1原型模式由来1.2原型模式定义1.3原型模式场景1.4原型模式思考02.原型模式原理与实现2.1罗列一个场景2.2用例子理解原型2.3案例演变分析2.4原型模式基本实现03.原型模式分析3.1原型模式VS工厂模式3.2原型模式VS深拷贝04.原型模式应用解析4.1使用clone方法4.2实现接口Cloneable4.3深克隆和浅克隆05.原型模</div> </li> <li><a href="/article/1902344781011415040.htm" title="03.建造者模式设计思想" target="_blank">03.建造者模式设计思想</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>03.建造者模式设计思想目录介绍01.建造者模式介绍1.1建造者模式由来1.2建造者模式定义1.3建造者模式场景1.4建造者模式思考02.建造者模式实现2.1罗列一个场景2.2创造对象弊端场景2.3案例演变分析2.4用例子理解建造者03.建造者模式分析3.1建造者模式结构图3.2建造者模式时序图3.3基本代码实现04.建造者案例实践4.1盖房子案例开发4.2普通盖房子开发4.3构造者优化盖房子05</div> </li> <li><a href="/article/1902338832217468928.htm" title="乐观锁与悲观锁的 MyBatis-Plus 实现" target="_blank">乐观锁与悲观锁的 MyBatis-Plus 实现</a> <span class="text-muted">drebander</span> <a class="tag" taget="_blank" href="/search/mybatis-plus/1.htm">mybatis-plus</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a> <div>在高并发场景下,数据库的并发控制是确保数据一致性的关键。乐观锁和悲观锁是两种常见的并发控制机制,它们分别适用于不同的场景。MyBatis-Plus提供了对乐观锁的支持,使得开发者可以轻松实现并发控制。本文将详细介绍乐观锁与悲观锁的概念、MyBatis-Plus如何实现乐观锁、实现乐观锁的场景,以及如何使用@Version注解进行版本控制。1.乐观锁与悲观锁的概念1.1乐观锁(OptimisticL</div> </li> <li><a href="/article/1902338832674648064.htm" title="扩展 MyBatis-Plus 支持的查询条件" target="_blank">扩展 MyBatis-Plus 支持的查询条件</a> <span class="text-muted">drebander</span> <a class="tag" taget="_blank" href="/search/mybatis-plus/1.htm">mybatis-plus</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/Mybatis-Plus/1.htm">Mybatis-Plus</a> <div>MyBatis-Plus是一个强大的MyBatis增强工具,提供了丰富的查询条件构造器和便捷的CRUD操作。然而,在实际开发中,我们可能会遇到一些复杂的查询需求,需要扩展MyBatis-Plus的功能。本文将详细介绍如何扩展MyBatis-Plus支持的查询条件,包括自定义SQL查询、Lambda查询与条件构造器扩展、动态查询条件的实现,以及扩展自定义查询方法与接口。1.自定义SQL查询1.1使用</div> </li> <li><a href="/article/1902336059375677440.htm" title="使用 Vue 2.x + Element UI 搭建后台管理系统详解" target="_blank">使用 Vue 2.x + Element UI 搭建后台管理系统详解</a> <span class="text-muted">不知名靓仔</span> <a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>引言Vue.js是一个非常流行的前端框架,而ElementUI是基于Vue2.x的一套完整的UI组件库,非常适合用来构建企业级的后台管理系统。本文将详细介绍如何使用Vue2.x和ElementUI来搭建一个后台管理系统,包括项目初始化、路由配置、状态管理、权限验证等关键步骤。vue2后台管理项目源码合集下载地址见最下方1.环境准备确保你的开发环境中已安装Node.js和npm。接下来,我们将使用V</div> </li> <li><a href="/article/1902333408516829184.htm" title="使用LangChain实现大规模语言模型自发现推理结构" target="_blank">使用LangChain实现大规模语言模型自发现推理结构</a> <span class="text-muted">VYSAHF</span> <a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>使用LangChain实现大规模语言模型自发现推理结构在现代自然语言处理(NLP)的研究中,大规模语言模型(LLMs)已经展示了强大的能力。然而,在应对复杂的推理问题时,传统的提示方法常常力不从心。这篇文章将带您了解SELF-DISCOVER,一种新兴的框架,如何通过LangChain来实现自动化、动态化的推理结构构建,以提高LLMs的性能。技术背景介绍大规模语言模型(如GPT-4和PaLM2)已</div> </li> <li><a href="/article/1902332778385567744.htm" title="C#搭建Json RPC2.0 Server/Client" target="_blank">C#搭建Json RPC2.0 Server/Client</a> <span class="text-muted">Flora*.*</span> <a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a> <div>写在前面这篇文章写了改,改了写,中间耽搁好长时间,最终还是决定坚持写下来,因为我自己在学习这部分开发时也花了很长时间去理解,所以这篇文章也相当于是对我这部分开发和学习的一个总结,希望它能给你带来帮助。因为本人能力有限,所以文中有些写的不明白或者有错误的地方还请大佬批评指正,我也会不断在项目中进行总结,更新这篇文章,让其更加通俗易懂!背景介绍在MES项目开发中,我们不希望经常改动主程序,但因为不同客</div> </li> <li><a href="/article/1902332652006993920.htm" title="成为编程大佬!!----->数据结构与算法(2)——顺序表!!" target="_blank">成为编程大佬!!----->数据结构与算法(2)——顺序表!!</a> <span class="text-muted">Elnaij</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a> <div>前言:线性表是数据结构与算法的重中之重,所有具有线性逻辑结构的数据结构,都能称为线性表。这篇文章我们先来讨论线性表中的顺序表,顺序表和线性表都是后续实现栈,树,串和图等等结构的重要基础。目录❀简单介绍线性表❀顺序表❀顺序表的存储❀动态存储❀静态存储❀静态存储与动态存储的优缺点❀顺序表操作❀1.初始化顺序表❀2.销毁顺序表❀3.插入数据❀插入数据之判断已满否❀插入操作之尾插❀插入操作之头插❀插入数据</div> </li> <li><a href="/article/1902332273089376256.htm" title="基于C语言的数据结构之串——带你熟练掌握串的基本操作!!超级详细!!" target="_blank">基于C语言的数据结构之串——带你熟练掌握串的基本操作!!超级详细!!</a> <span class="text-muted">Elnaij</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>目录前言1.数据结构——串1.1基本知识主串、子串、模式串1.2对几个字符串库函数的简单介绍1.2.1strcmp1.2.2strcpy1.2.3strlen1.2.4strcat1.3串的分类1.3.1静态分配内存的串1.3.2动态分配内存的串2.串的基本操作2.1初始化串2.2输出字符2.3插入子串2.4删除子串2.5取子串操作2.6撤销删除操作结束语前言掌握串之前最好先去学习好顺序表和单链表</div> </li> <li><a href="/article/26.htm" title="设计模式介绍" target="_blank">设计模式介绍</a> <span class="text-muted">tntxia</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>设计模式来源于土木工程师 克里斯托弗 亚历山大(http://en.wikipedia.org/wiki/Christopher_Alexander)的早期作品。他经常发表一些作品,内容是总结他在解决设计问题方面的经验,以及这些知识与城市和建筑模式之间有何关联。有一天,亚历山大突然发现,重复使用这些模式可以让某些设计构造取得我们期望的最佳效果。 亚历山大与萨拉-石川佳纯和穆雷 西乐弗斯坦合作</div> </li> <li><a href="/article/153.htm" title="android高级组件使用(一)" target="_blank">android高级组件使用(一)</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/RatingBar/1.htm">RatingBar</a><a class="tag" taget="_blank" href="/search/Spinner/1.htm">Spinner</a> <div>1、自动完成文本框(AutoCompleteTextView) AutoCompleteTextView从EditText派生出来,实际上也是一个文本编辑框,但它比普通编辑框多一个功能:当用户输入一个字符后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个菜单项之后,AutoCompleteTextView按用户选择自动填写该文本框。 使用AutoCompleteTex</div> </li> <li><a href="/article/280.htm" title="[网络与通讯]路由器市场大有潜力可挖掘" target="_blank">[网络与通讯]路由器市场大有潜力可挖掘</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>          如果国内的电子厂商和计算机设备厂商觉得手机市场已经有点饱和了,那么可以考虑一下交换机和路由器市场的进入问题.....        这方面的技术和知识,目前处在一个开放型的状态,有利于各类小型电子企业进入  &nbs</div> </li> <li><a href="/article/407.htm" title="自写简单Redis内存统计shell" target="_blank">自写简单Redis内存统计shell</a> <span class="text-muted">商人shang</span> <a class="tag" taget="_blank" href="/search/Linux+shell/1.htm">Linux shell</a><a class="tag" taget="_blank" href="/search/%E7%BB%9F%E8%AE%A1Redis%E5%86%85%E5%AD%98/1.htm">统计Redis内存</a> <div>#!/bin/bash address="192.168.150.128:6666,192.168.150.128:6666" hosts=(${address//,/ }) sfile="staticts.log" for hostitem in ${hosts[@]} do ipport=(${hostitem</div> </li> <li><a href="/article/534.htm" title="单例模式(饿汉 vs懒汉)" target="_blank">单例模式(饿汉 vs懒汉)</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a> <div>package 单例模式; /* * 应用场景:保证在整个应用之中某个对象的实例只有一个 * 单例模式种的《 懒汉模式》 * */ public class Singleton { //01 将构造方法私有化,外界就无法用new Singleton()的方式获得实例 private Singleton(){}; //02 申明类得唯一实例 priva</div> </li> <li><a href="/article/661.htm" title="springMvc json支持" target="_blank">springMvc json支持</a> <span class="text-muted">杨白白</span> <a class="tag" taget="_blank" href="/search/json+springmvc/1.htm">json springmvc</a> <div>1.Spring mvc处理json需要使用jackson的类库,因此需要先引入jackson包 2在spring mvc中解析输入为json格式的数据:使用@RequestBody来设置输入 @RequestMapping("helloJson") public @ResponseBody JsonTest helloJson() { </div> </li> <li><a href="/article/788.htm" title="android播放,掃描添加本地音頻文件" target="_blank">android播放,掃描添加本地音頻文件</a> <span class="text-muted">小桔子</span> <div>        最近幾乎沒有什麽事情,繼續鼓搗我的小東西。想在項目中加入一個簡易的音樂播放器功能,就像華為p6桌面上那麼大小的音樂播放器。用過天天動聽或者QQ音樂播放器的人都知道,可已通過本地掃描添加歌曲。不知道他們是怎麼實現的,我覺得應該掃描設備上的所有文件,過濾出音頻文件,每個文件實例化為一個實體,記錄文件名、路徑、歌手、類型、大小等信息。具體算法思想,</div> </li> <li><a href="/article/915.htm" title="oracle常用命令" target="_blank">oracle常用命令</a> <span class="text-muted">aichenglong</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/dba/1.htm">dba</a><a class="tag" taget="_blank" href="/search/%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/1.htm">常用命令</a> <div>1 创建临时表空间 create temporary tablespace user_temp  tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m  autoextend on  next 50m maxsize 20480m  extent management local</div> </li> <li><a href="/article/1042.htm" title="25个Eclipse插件" target="_blank">25个Eclipse插件</a> <span class="text-muted">AILIKES</span> <a class="tag" taget="_blank" href="/search/eclipse%E6%8F%92%E4%BB%B6/1.htm">eclipse插件</a> <div>提高代码质量的插件1. FindBugsFindBugs可以帮你找到Java代码中的bug,它使用Lesser GNU Public License的自由软件许可。2. CheckstyleCheckstyle插件可以集成到Eclipse IDE中去,能确保Java代码遵循标准代码样式。3. ECLemmaECLemma是一款拥有Eclipse Public License许可的免费工具,它提供了</div> </li> <li><a href="/article/1169.htm" title="Spring MVC拦截器+注解方式实现防止表单重复提交" target="_blank">Spring MVC拦截器+注解方式实现防止表单重复提交</a> <span class="text-muted">baalwolf</span> <a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a> <div>原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过。   1.新建注解:   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 </div> </li> <li><a href="/article/1296.htm" title="《Javascript高级程序设计(第3版)》闭包理解" target="_blank">《Javascript高级程序设计(第3版)》闭包理解</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>“闭包是指有权访问另一个函数作用域中的变量的函数。”--《Javascript高级程序设计(第3版)》         看以下代码: <script type="text/javascript"> function outer() { var i = 10; return f</div> </li> <li><a href="/article/1423.htm" title="AngularJS Module类的方法" target="_blank">AngularJS Module类的方法</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/Module/1.htm">Module</a> <div>        AngularJS中的Module类负责定义应用如何启动,它还可以通过声明的方式定义应用中的各个片段。我们来看看它是如何实现这些功能的。 一.Main方法在哪里         如果你是从Java或者Python编程语言转过来的,那么你可能很想知道AngularJS里面的main方法在哪里?这个把所</div> </li> <li><a href="/article/1550.htm" title="[Maven学习笔记七]Maven插件和目标" target="_blank">[Maven学习笔记七]Maven插件和目标</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/maven%E6%8F%92%E4%BB%B6/1.htm">maven插件</a> <div>插件(plugin)和目标(goal) Maven,就其本质而言,是一个插件执行框架,Maven的每个目标的执行逻辑都是由插件来完成的,一个插件可以有1个或者几个目标,比如maven-compiler-plugin插件包含compile和testCompile,即maven-compiler-plugin提供了源代码编译和测试源代码编译的两个目标   使用插件和目标使得我们可以干预</div> </li> <li><a href="/article/1677.htm" title="【Hadoop八】Yarn的资源调度策略" target="_blank">【Hadoop八】Yarn的资源调度策略</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>1. Hadoop的三种调度策略 Hadoop提供了3中作业调用的策略, FIFO Scheduler Fair Scheduler Capacity Scheduler 以上三种调度算法,在Hadoop MR1中就引入了,在Yarn中对它们进行了改进和完善.Fair和Capacity Scheduler用于多用户共享的资源调度   2. 多用户资源共享的调度 </div> </li> <li><a href="/article/1804.htm" title="Nginx使用Linux内存加速静态文件访问" target="_blank">Nginx使用Linux内存加速静态文件访问</a> <span class="text-muted">ronin47</span> <div>Nginx是一个非常出色的静态资源web服务器。如果你嫌它还不够快,可以把放在磁盘中的文件,映射到内存中,减少高并发下的磁盘IO。 先做几个假设。nginx.conf中所配置站点的路径是/home/wwwroot/res,站点所对应文件原始存储路径:/opt/web/res shell脚本非常简单,思路就是拷贝资源文件到内存中,然后在把网站的静态文件链接指向到内存中即可。具体如下: </div> </li> <li><a href="/article/1931.htm" title="关于Unity3D中的Shader的知识" target="_blank">关于Unity3D中的Shader的知识</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/unity%E8%B5%84%E6%96%99/1.htm">unity资料</a><a class="tag" taget="_blank" href="/search/unity%E6%95%99%E7%A8%8B/1.htm">unity教程</a><a class="tag" taget="_blank" href="/search/unity%E8%A7%86%E9%A2%91/1.htm">unity视频</a><a class="tag" taget="_blank" href="/search/unity%E8%87%AA%E5%AD%A6/1.htm">unity自学</a> <div>首先先解释下Unity3D的Shader,Unity里面的Shaders是使用一种叫ShaderLab的语言编写的,它同微软的FX文件或者NVIDIA的CgFX有些类似。传统意义上的vertex shader和pixel shader还是使用标准的Cg/HLSL 编程语言编写的。因此Unity文档里面的Shader,都是指用ShaderLab编写的代码,然后我们来看下Unity3D自带的60多个S</div> </li> <li><a href="/article/2058.htm" title="CopyOnWriteArrayList vs ArrayList" target="_blank">CopyOnWriteArrayList vs ArrayList</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>package com.ljn.base; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; /** * 总述: * 1.ArrayListi不是线程安全的,CopyO</div> </li> <li><a href="/article/2185.htm" title="内存中栈和堆的区别" target="_blank">内存中栈和堆的区别</a> <span class="text-muted">chicony</span> <a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98/1.htm">内存</a> <div> 1、内存分配方面:     堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。     栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中</div> </li> <li><a href="/article/2312.htm" title="回答一位网友对Scala的提问" target="_blank">回答一位网友对Scala的提问</a> <span class="text-muted">chenchao051</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a> <div>本来准备在私信里直接回复了,但是发现不太方便,就简要回答在这里。 问题 写道 对于scala的简洁十分佩服,但又觉得比较晦涩,例如一例,Map("a" -> List(11,111)).flatMap(_._2),可否说下最后那个函数做了什么,真正在开发的时候也会如此简洁?谢谢    先回答一点,在实际使用中,Scala毫无疑问就是这么简单。</div> </li> <li><a href="/article/2439.htm" title="mysql 取每组前几条记录" target="_blank">mysql 取每组前几条记录</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E7%BB%84/1.htm">分组</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%A7%E5%80%BC/1.htm">最大值</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%B0%8F%E5%80%BC/1.htm">最小值</a><a class="tag" taget="_blank" href="/search/%E6%AF%8F%E7%BB%84%E4%B8%89%E6%9D%A1%E8%AE%B0%E5%BD%95/1.htm">每组三条记录</a> <div>一、对分组的记录取前N条记录:例如:取每组的前3条最大的记录 1.用子查询: SELECT * FROM tableName a  WHERE 3> (SELECT COUNT(*) FROM  tableName b WHERE b.id=a.id AND b.cnt>a. cnt) ORDER BY a.id,a.account DE</div> </li> <li><a href="/article/2566.htm" title="HTTP深入浅出 http请求" target="_blank">HTTP深入浅出 http请求</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/http/1.htm">http</a> <div>  HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后We</div> </li> <li><a href="/article/2693.htm" title="判断MySQL记录是否存在方法比较" target="_blank">判断MySQL记录是否存在方法比较</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>把数据写入到数据库的时,常常会碰到先要检测要插入的记录是否存在,然后决定是否要写入。   我这里总结了判断记录是否存在的常用方法:   sql语句: select   count ( * )  from  tablename;   然后读取count(*)的值判断记录是否存在。对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要全部都查出来。</div> </li> <li><a href="/article/2820.htm" title="对HTML XML的一点认识" target="_blank">对HTML XML的一点认识</a> <span class="text-muted">e200702084</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>感谢http://www.w3school.com.cn提供的资料 HTML 文档中的每个成分都是一个节点。 节点 根据 DOM,HTML 文档中的每个成分都是一个节点。 DOM 是这样规定的: 整个文档是一个文档节点 每个 HTML 标签是一个元素节点 包含在 HTML 元素中的文本是文本节点 每一个 HTML 属性是一个属性节点 注释属于注释节点 Node 层次 </div> </li> <li><a href="/article/2947.htm" title="jquery分页插件" target="_blank">jquery分页插件</a> <span class="text-muted">genaiwei</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E9%A1%B5/1.htm">分页</a><a class="tag" taget="_blank" href="/search/%E6%8F%92%E4%BB%B6/1.htm">插件</a> <div>//jquery页码控件// 创建一个闭包    (function($) {      // 插件的定义      $.fn.pageTool = function(options) {        var totalPa</div> </li> <li><a href="/article/3201.htm" title="Mybatis与Ibatis对照入门于学习" target="_blank">Mybatis与Ibatis对照入门于学习</a> <span class="text-muted">Josh_Persistence</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%88%AB/1.htm">区别</a><a class="tag" taget="_blank" href="/search/%E8%81%94%E7%B3%BB/1.htm">联系</a> <div>一、为什么使用IBatis/Mybatis         对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 Hibernate、JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择。即使在持久层框架层出不穷的今天,iBatis 凭借着易学易用、</div> </li> <li><a href="/article/3328.htm" title="C中怎样合理决定使用那种整数类型?" target="_blank">C中怎样合理决定使用那种整数类型?</a> <span class="text-muted">秋风扫落叶</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/1.htm">数据类型</a> <div>如果需要大数值(大于32767或小于32767), 使用long 型。 否则, 如果空间很重要 (如有大数组或很多结构), 使用 short 型。 除此之外, 就使用 int 型。 如果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字节时避免符号扩展的问题, 请使用对应的无符号类型。 但是, 要注意在表达式中混用有符号和无符号值的情况。    &nbs</div> </li> <li><a href="/article/3455.htm" title="maven问题" target="_blank">maven问题</a> <span class="text-muted">zhb8015</span> <a class="tag" taget="_blank" href="/search/maven%E9%97%AE%E9%A2%98/1.htm">maven问题</a> <div>  问题1: Eclipse 中 新建maven项目 无法添加src/main/java 问题    eclipse创建maevn web项目,在选择maven_archetype_web原型后,默认只有src/main/resources这个Source Floder。     按照maven目录结构,添加src/main/ja</div> </li> <li><a href="/article/3582.htm" title="(二)androidpn-server tomcat版源码解析之--push消息处理" target="_blank">(二)androidpn-server tomcat版源码解析之--push消息处理</a> <span class="text-muted">spjich</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/androdipn/1.htm">androdipn</a><a class="tag" taget="_blank" href="/search/%E6%8E%A8%E9%80%81/1.htm">推送</a> <div>在 (一)androidpn-server tomcat版源码解析之--项目启动这篇中,已经描述了整个推送服务器的启动过程,并且把握到了消息的入口即XmppIoHandler这个类,今天我将继续往下分析下面的核心代码,主要分为3大块,链接创建,消息的发送,链接关闭。 先贴一段XmppIoHandler的部分代码 /** * Invoked from an I/O proc</div> </li> <li><a href="/article/3709.htm" title="用js中的formData类型解决ajax提交表单时文件不能被serialize方法序列化的问题" target="_blank">用js中的formData类型解决ajax提交表单时文件不能被serialize方法序列化的问题</a> <span class="text-muted">中华好儿孙</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6/1.htm">上传文件</a><a class="tag" taget="_blank" href="/search/FormData/1.htm">FormData</a> <div> var formData = new FormData($("#inputFileForm")[0]); $.ajax({ type:'post', url:webRoot+"/electronicContractUrl/webapp/uploadfile", data:formData, async: false, ca</div> </li> <li><a href="/article/3836.htm" title="mybatis常用jdbcType数据类型" target="_blank">mybatis常用jdbcType数据类型</a> <span class="text-muted">ysj5125094</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/mapper/1.htm">mapper</a><a class="tag" taget="_blank" href="/search/jdbcType/1.htm">jdbcType</a> <div>  MyBatis 通过包含的jdbcType 类型 BIT         FLOAT      CHAR          </div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>