Maison base de données tutoriel mysql 通过数据库数据构建树结构(二)

通过数据库数据构建树结构(二)

Jun 07, 2016 pm 03:41 PM
单击 右键 打开 数据 数据库 窗口 结构 passer 项目

打开项目窗口,右键单击Web页节点,然后从弹出菜单中选择新建 可视化 Web JSF 页。将新页命名为Trip。 打开服务窗口,然后将表 TRIP 节点拖放到Trip页的可视 编辑器上。 导航窗口将在 Trip 部分显示 tripDataProvider 节点 , 在 SessionBean1 部分中显示 tr

打开“项目”窗口,右键单击“Web页”节点,然后从弹出菜单中选择“新建>可视化Web JSF页”。将新页命名为Trip。

打开“服务”窗口,然后将“表> TRIP 节点”拖放到Trip页的可视编辑器上。

导航窗口将在“Trip”部分显示“tripDataProvider”节点“SessionBean1”部分中显示“tripRowSet1”节点。

在导航窗口中,右键单击“tripRowSet1”节点,然后选择“编辑SQL语句”。

在查询编辑器的“设计网格”中,右键单击TRIPID行中的任意单元格,然后选择“添加查询条件”。在对话框中,将“比较”下拉列表设置为“= 等于”,然后选中“参数”单选按钮。单击“确定”按钮。

我们可以在TRIPID<span>“</span>条件列中看到“= ?”,并在SQL查询中添加以下WHERE子句

<span><font><font>WHERE TRAVEL.TRIP.TRIPID = ? <p></p></font></font></span>
Copier après la connexion

在可视编辑器中打开Trip页。从组件面板的Basic部分拖动一个“超级链接”组件到页面上,键入<span>“主页”,然后按回车键。</span>

在超级链接组件的<span>“</span>属性窗口中单击action属性的省略号 按钮然后从下拉列表中选择<span>hyperlink1_action</span>单击<span>“</span>确定”按钮

IDE会将<span>hyperlink1_action</span>事件处理程序添加到Java源代码中。

从组件面板拖动一个“消息组”组件到页面上,然后将其放在“超级链接”组件的右侧。

从组件面板的“布局”部分拖动一个“属性表单”组件到页面上,然后将它放在“超级链接”组件的下面。

“属性表单”组件提供了一个设置行程信息布局的容器。“属性表单”组件包含了一个“属性表单部分”,而该部分又包含一个“属性”组件。

选择“属性表单部分1”。在“属性”窗口中,将label属性设置为Trip Details。

注:

<span>“</span>概要窗口中展开“propertySheet1>div1”节点,然后选择“property1”节点。在<span>“</span>属性窗口中<span>label</span><span>属性设置为</span><span>“</span><span>启程日期</span><span>:”,</span>然后按回车键。

在“概要”窗口中,选择“div1”,然后单击鼠标右键,从弹出菜单中选择“添加属性”。在“属性”窗口中,将<span>label属性设置为“出发城市:”,</span>然后按回车键。

从组件面板拖放一个“静态文本”组件到“概要”窗口的“property1”节点上。

该静态文本将成为property1的一个子节点。同时该静态文本还将出现在可视编辑器中。

TRIP.DEPDAT,然后单击“确定”。

当前日期会出现在可视编辑器的静态文本组件中。

 

添加静态文本组件到property2中,然后将静态文本绑定到TRIP.DEPCITY

添加代码

    现在,我们将添加一些代码,以便Trip页可以获取存储在页面1中的tripid,同时页面1也可以获取存储在Trip页中的personid。

Java 编辑器中打开Trip页,然后找到<span>prerender</span>方法。添加以下粗体显示的代码,使得该方法可以获取存储在页面1中的tripId。

代码示例2:Trip页中的prerender方法

<span><font><font><span>    </span>public void prerender() {<p></p></font></font></span>
Copier après la connexion
<span><p><font> </font></p></span>
Copier après la connexion
Copier après la connexion
<span><font><font><span>        </span>// Get the person id from the request parameters<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>        </span>String parmTripId = (String)<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>        </span>getExternalContext().getRequestParameterMap().get("tripId");<p></p></font></font></span>
Copier après la connexion
<span><p><font> </font></p></span>
Copier après la connexion
Copier après la connexion
<span><font><font><span>        </span>if (parmTripId != null) {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>            </span>Integer tripId = new Integer(parmTripId);<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>            </span>try {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>                </span>getSessionBean1().getTripRowSet1().setObject(1, tripId);<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>  </span><span>              </span>tripDataProvider.refresh();<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>            </span>} catch (Exception e) {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>                </span>error("Cannot display trip " + tripId);<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>                </span>log("Cannot display trip " + tripId, e);<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>            </span>}<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>        </span>}else {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>            </span>error("No trip id specified.");<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>        </span>}<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>     </span>}<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>                  </span><p></p></font></font></span>
Copier après la connexion
Copier après la connexion
Copier après la connexion


<span>setObject方法</span>将行程查询的第一个参数设置为tripId。也就是说,该方法将查询中的?替换为 tripId。此查询只有一个参数,因此我们只需调用<span>setObject</span>一次。对<span>tripDataProvider1.refresh()的调用</span>会同时调用<span>CachedRowSet.release()</span>,并且重置CachedRowSetDataProvider的光标。但是此时不会执行CachesRowSet

找到<span>hyperlink1_action方法。</span>添加以下粗体显示的代码,将personId传递给页面1:

代码示例3:Trip页的hyperlink1_action方法

<span><font><font><span>    </span>public String hyperlink1_action() {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>        </span>getRequestBean1().setPersonId(<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>                </span>(Integer)tripDataProvider.getValue("trip.personid"));<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>        </span>return null;<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>    </span>}<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>    </span><span>           </span><p></p></font></font></span>
Copier après la connexion

定义页面导航

    最后,指定页面1上的树节点与Trip页之间的导航。

在可视编辑器的设计视图中的任意位置单击鼠标右键,选择“页面导航”。

Page1.jsp图标上单击连接器接口,然后拖动一条连线到Trip.jsp图标。

展开Trip.jsp图标,然后从“超级链接”组件拖动一条连线到Page1.jsp图标。页面导航设置。

 

运行该应用程序。在主页上,展开游客的姓名,然后单击某个旅行日期。

此时将打开Trip页打开,其中包含该行程的详细信息。

 

Trip页中,单击“主页”链接。请注意,在主页上我们选择的最后一个行程的一级节点仍处于展开状态。

通过展开和折叠一级树节点并单击旅行日期,我们可以继续浏览该应用程序。

更多功能:将Action方法和树节点绑定

    如果我们使用的是JavaServer Faces 1.2树组件也就是说项目的Java EE版本设置为Java EE 5平台),则可以将action方法与树节点绑定并且通过在action方法中调用树组件的<span>getSelected()</span>方法可以确定单击的是哪个节点如以下步骤所示。

添加一个tripId属性到Integer类型的Request Bean中。

将以下方法添加页面1的Java源代码中:

代码示例4:页面1的tripNode_action方法

<span><font><font><span>   </span>public String tripNode_action() {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>// Get the id of the currently selected tree node<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>String nodeId = displayTree.getSelected();<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>// Find the tree node component with the given id<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>TreeNode selectedNode =<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>               </span>(TreeNode) this.getForm1().findComponentById(nodeId);<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>         </span>try {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>           </span>// Node's id property is composed of "trip" plus the trip id<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>           </span>// Extract the trip id and save it for the next page<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>           </span>Integer tripId = Integer.valueOf(selectedNode.getId().substring(4));<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>           </span>getRequestBean1().setTripId(tripId);<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>} catch (Exception e) {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>           </span>error("Can't convert node id to Integer: " +<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>           </span><span>        </span>selectedNode.getId().substring(4));<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>           </span>return null;<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>}<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>return "case1";<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>   </span>}<p></p></font></font></span>
Copier après la connexion
Copier après la connexion
<span><font><font><span>                  </span><p></p></font></font></span>
Copier après la connexion
Copier après la connexion
Copier après la connexion

在页面1的<span>prerender方法中,将以下代码替换为代码示例5中的代码。</span>

<span><font><font><span>     </span>tripNode.setUrl("/faces/Trip.jsp?tripId=" +<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>            </span>tripDataProvider.getValue("TRIP.TRIPID").toString());<span>  </span><p></p></font></font></span>
Copier après la connexion

代码示例5:调整Prerender方法

<span><font><font><span>    </span>ExpressionFactory exFactory =<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>getApplication().getExpressionFactory();<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>    </span>ELContext elContext =<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>getFacesContext().getELContext();<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>    </span>tripNode.setActionExpression(<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>exFactory.createMethodExpression(<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>       </span>elContext, "#{Page1.tripNode_action}",<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>                  </span>String.class, new Class>[0]));<p></p></font></font></span>
Copier après la connexion

按Alt-Shift-F组合键来修复导入。

在Trip页的<span>prerender()方法中,将主体替换为以下代码:</span>

代码示例6:Trip页的prerender方法

<span><font><font><span>   </span>public void prerender() {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>        </span><span>  </span>Integer tripId =<span>  </span>getRequestBean1().getTripId();<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>             </span>try {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>               </span>getSessionBean1().getTripRowSet1().setObject(1, tripId);<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>               </span>tripDataProvider1.refresh();<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>           </span>} catch (Exception e) {<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>               </span>error("Cannot display trip " + tripId);<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>      </span><span>         </span>log("Cannot display trip " + tripId, e);<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>           </span>}<p></p></font></font></span>
Copier après la connexion
<span><font><font><span>   </span>}<p></p></font></font></span>
Copier après la connexion
Copier après la connexion
<span><font><font><span>                  </span><p></p></font></font></span>
Copier après la connexion
Copier après la connexion
Copier après la connexion

运行应用程序。

关于树节点选择的注意事项

    如果我们的项目是J2EE 1.4项目,则在选择树节点时应注意以下一些事项:

JavaServer Faces 1.1树组件无法使用<span>getSelected</span><span>方法或</span><span>getCookieSelectedTreeNode</span><span>方法来确定我们选择的是哪个节点。</span>如果用户禁用了浏览器中的cookie那么这些方法将不能返回到正确值。另外,对于开启cookies的浏览器,用户第一次访问页面并单击某个节点时,cokkie 可能会返回错误值。如果浏览器中有前一次访问时遗留的cookie信息,则有可能返回前一次选定的值。由于在JavaServer Faces 1.2版本中,树组件不使用cookie来保存选定的信息,所以1.2版本中不存在上述问题。

树节点的突出显示部分不在两个会话之间被清除。如果多次运行本教程中的程序,则上次会话中选择的节点将在页面刚打开时突出显示在新会话中。这个问题是由于使用cookie来传输选定的节点ID而造成的。

结束语

    在本教程中,我们通过数据库数据构建了一个树结构。我们构建了一个由两个页面组成的应用程序,其中第一页包含一个树组件。我们将数据库中的名字填充到树结构的一级节点,然后用此人的行程来填充二级节点。然后我们将第一页上的每个行程链接到第二页,在第二页中显示了该行程的详细信息。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Vitesse Internet lente des données cellulaires sur iPhone : correctifs Vitesse Internet lente des données cellulaires sur iPhone : correctifs May 03, 2024 pm 09:01 PM

Vous êtes confronté à un décalage et à une connexion de données mobile lente sur iPhone ? En règle générale, la puissance de l'Internet cellulaire sur votre téléphone dépend de plusieurs facteurs tels que la région, le type de réseau cellulaire, le type d'itinérance, etc. Vous pouvez prendre certaines mesures pour obtenir une connexion Internet cellulaire plus rapide et plus fiable. Correctif 1 – Forcer le redémarrage de l'iPhone Parfois, le redémarrage forcé de votre appareil réinitialise simplement beaucoup de choses, y compris la connexion cellulaire. Étape 1 – Appuyez simplement une fois sur la touche d’augmentation du volume et relâchez-la. Ensuite, appuyez sur la touche de réduction du volume et relâchez-la à nouveau. Étape 2 – La partie suivante du processus consiste à maintenir le bouton sur le côté droit. Laissez l'iPhone finir de redémarrer. Activez les données cellulaires et vérifiez la vitesse du réseau. Vérifiez à nouveau Correctif 2 – Changer le mode de données Bien que la 5G offre de meilleures vitesses de réseau, elle fonctionne mieux lorsque le signal est plus faible

La vitalité de la super intelligence s'éveille ! Mais avec l'arrivée de l'IA qui se met à jour automatiquement, les mères n'ont plus à se soucier des goulots d'étranglement des données. La vitalité de la super intelligence s'éveille ! Mais avec l'arrivée de l'IA qui se met à jour automatiquement, les mères n'ont plus à se soucier des goulots d'étranglement des données. Apr 29, 2024 pm 06:55 PM

Je pleure à mort. Le monde construit à la folie de grands modèles. Les données sur Internet ne suffisent pas du tout. Le modèle de formation ressemble à « The Hunger Games », et les chercheurs en IA du monde entier se demandent comment nourrir ces personnes avides de données. Ce problème est particulièrement important dans les tâches multimodales. À une époque où rien ne pouvait être fait, une équipe de start-up du département de l'Université Renmin de Chine a utilisé son propre nouveau modèle pour devenir la première en Chine à faire de « l'auto-alimentation des données générées par le modèle » une réalité. De plus, il s’agit d’une approche à deux volets, du côté compréhension et du côté génération, les deux côtés peuvent générer de nouvelles données multimodales de haute qualité et fournir un retour de données au modèle lui-même. Qu'est-ce qu'un modèle ? Awaker 1.0, un grand modèle multimodal qui vient d'apparaître sur le Forum Zhongguancun. Qui est l'équipe ? Moteur Sophon. Fondé par Gao Yizhao, doctorant à la Hillhouse School of Artificial Intelligence de l’Université Renmin.

L'US Air Force présente son premier avion de combat IA de grande envergure ! Le ministre a personnellement effectué l'essai routier sans intervenir pendant tout le processus, et 100 000 lignes de code ont été testées 21 fois. L'US Air Force présente son premier avion de combat IA de grande envergure ! Le ministre a personnellement effectué l'essai routier sans intervenir pendant tout le processus, et 100 000 lignes de code ont été testées 21 fois. May 07, 2024 pm 05:00 PM

Récemment, le milieu militaire a été submergé par la nouvelle : les avions de combat militaires américains peuvent désormais mener des combats aériens entièrement automatiques grâce à l'IA. Oui, tout récemment, l’avion de combat IA de l’armée américaine a été rendu public pour la première fois, dévoilant ainsi son mystère. Le nom complet de ce chasseur est Variable Stability Simulator Test Aircraft (VISTA). Il a été personnellement piloté par le secrétaire de l'US Air Force pour simuler une bataille aérienne en tête-à-tête. Le 2 mai, le secrétaire de l'US Air Force, Frank Kendall, a décollé à bord d'un X-62AVISTA à la base aérienne d'Edwards. Notez que pendant le vol d'une heure, toutes les actions de vol ont été effectuées de manière autonome par l'IA ! Kendall a déclaré : "Au cours des dernières décennies, nous avons réfléchi au potentiel illimité du combat air-air autonome, mais cela a toujours semblé hors de portée." Mais maintenant,

Les robots Tesla travaillent dans les usines, Musk : Le degré de liberté des mains atteindra 22 cette année ! Les robots Tesla travaillent dans les usines, Musk : Le degré de liberté des mains atteindra 22 cette année ! May 06, 2024 pm 04:13 PM

La dernière vidéo du robot Optimus de Tesla est sortie, et il peut déjà fonctionner en usine. À vitesse normale, il trie les batteries (les batteries 4680 de Tesla) comme ceci : Le responsable a également publié à quoi cela ressemble à une vitesse 20 fois supérieure - sur un petit "poste de travail", en sélectionnant et en sélectionnant et en sélectionnant : Cette fois, il est publié L'un des points forts de la vidéo est qu'Optimus réalise ce travail en usine, de manière totalement autonome, sans intervention humaine tout au long du processus. Et du point de vue d'Optimus, il peut également récupérer et placer la batterie tordue, en se concentrant sur la correction automatique des erreurs : concernant la main d'Optimus, le scientifique de NVIDIA Jim Fan a donné une évaluation élevée : la main d'Optimus est l'un des robots à cinq doigts du monde. le plus adroit. Ses mains ne sont pas seulement tactiles

Une seule carte exécute Llama 70B plus rapidement que deux cartes, Microsoft vient de mettre le FP6 dans l'Open source A100 | Une seule carte exécute Llama 70B plus rapidement que deux cartes, Microsoft vient de mettre le FP6 dans l'Open source A100 | Apr 29, 2024 pm 04:55 PM

Le FP8 et la précision de quantification inférieure en virgule flottante ne sont plus le « brevet » du H100 ! Lao Huang voulait que tout le monde utilise INT8/INT4, et l'équipe Microsoft DeepSpeed ​​​​a commencé à exécuter FP6 sur A100 sans le soutien officiel de NVIDIA. Les résultats des tests montrent que la quantification FP6 de la nouvelle méthode TC-FPx sur A100 est proche ou parfois plus rapide que celle de INT4, et a une précision supérieure à celle de cette dernière. En plus de cela, il existe également une prise en charge de bout en bout des grands modèles, qui ont été open source et intégrés dans des cadres d'inférence d'apprentissage profond tels que DeepSpeed. Ce résultat a également un effet immédiat sur l'accélération des grands modèles : dans ce cadre, en utilisant une seule carte pour exécuter Llama, le débit est 2,65 fois supérieur à celui des cartes doubles. un

Quelques heures après sa sortie, Microsoft a supprimé un grand modèle open source comparable à GPT-4 en quelques secondes ! J'ai oublié de faire un test anti-poison Quelques heures après sa sortie, Microsoft a supprimé un grand modèle open source comparable à GPT-4 en quelques secondes ! J'ai oublié de faire un test anti-poison Apr 23, 2024 pm 05:22 PM

La semaine dernière, Microsoft a largué WizardLM-2, un modèle open source appelé niveau GPT-4. Mais je ne m’attendais pas à ce qu’il soit supprimé immédiatement quelques heures après sa publication. Certains internautes ont soudainement découvert que les poids des modèles et les annonces de WizardLM avaient tous été supprimés et ne faisaient plus partie de la collection Microsoft. Hormis la mention du site, aucune preuve n'a pu être trouvée pour prouver qu'il s'agissait d'un projet officiel de Microsoft. La page d'accueil du projet GitHub est devenue un 404. Adresse du projet : https://wizardlm.github.io/ Y compris le poids du modèle sur HF, tous ont disparu... Tout le réseau est plein de confusion, pourquoi WizardLM est-il parti ? Cependant, la raison pour laquelle Microsoft a fait cela était que l'équipe avait oublié de « tester » le modèle. Plus tard, micro

Les startups d'IA ont collectivement transféré leurs emplois vers OpenAI, et l'équipe de sécurité s'est regroupée après le départ d'Ilya ! Les startups d'IA ont collectivement transféré leurs emplois vers OpenAI, et l'équipe de sécurité s'est regroupée après le départ d'Ilya ! Jun 08, 2024 pm 01:00 PM

" sept péchés capitaux" » Dissiper les rumeurs : selon des informations divulguées et des documents obtenus par Vox, la haute direction d'OpenAI, y compris Altman, était bien au courant de ces dispositions de récupération de capitaux propres et les a approuvées. De plus, OpenAI est confronté à un problème grave et urgent : la sécurité de l’IA. Les récents départs de cinq employés liés à la sécurité, dont deux de ses employés les plus en vue, et la dissolution de l'équipe « Super Alignment » ont une nouvelle fois mis les enjeux de sécurité d'OpenAI sur le devant de la scène. Le magazine Fortune a rapporté qu'OpenA

Mise à niveau open source complète d'Open-Sora : prend en charge la génération vidéo 16 s et la résolution 720p Mise à niveau open source complète d'Open-Sora : prend en charge la génération vidéo 16 s et la résolution 720p Apr 25, 2024 pm 02:55 PM

Open-Sora a été discrètement mis à jour dans la communauté open source. Il prend désormais en charge la génération de vidéos jusqu'à 16 secondes, avec des résolutions allant jusqu'à 720p, et peut gérer le texte en image, le texte en vidéo, l'image en vidéo, et vidéo à vidéo de n'importe quel rapport d'aspect et aux besoins de génération de vidéos infiniment longues. Essayons-le. Générez une scène de neige de Noël sur écran horizontal, publiez-la sur le site B, puis générez un écran vertical et utilisez Douyin pour générer une vidéo de 16 secondes. Désormais, tout le monde peut vivre une vie de accro à l'écriture de scénarios. Conseils GitHub : https://github.com/hpcaitech/Open-Sora Ce qui est encore plus cool, c'est qu'Open-Sora est toujours entièrement open source, y compris la dernière architecture de modèle, les derniers poids de modèle, multi-time/resolution/long-term

See all articles