Pesquisar

Artigo
· Set. 24 3min de leitura

Celebrando uma Força Criativa na Comunidade de Desenvolvedores

Toda comunidade próspera tem membros cuja energia, criatividade e comprometimento ajudam a transformá-la em algo extraordinário. Na Comunidade de Desenvolvedores da InterSystems, um desses membros é @Henry Pereira — desenvolvedor, colaborador de código aberto, vencedor de concursos e um verdadeiro defensor do poder da colaboração.

👏 Vamos analisar mais de perto a jornada notável de Henry e seu legado contínuo no ecossistema InterSystems.

A história de Henry com os produtos da InterSystems começou há mais de 20 anos, quando, ainda jovem estagiário, trabalhou pela primeira vez com o InterSystems Caché (nada menos que a versão 4) e escreveu bastante código MUMPS. A vida o levou para outras direções por um tempo, mas em 2016, o destino — e a tecnologia — o trouxeram de volta. Ao ingressar na BPlus Tech em 2 de fevereiro daquele ano, Henry rapidamente redescobriu as tecnologias da InterSystems e ficou impressionado com o quanto elas haviam evoluído. Apenas três dias depois, enquanto procurava por projetos de código aberto, ele descobriu a Comunidade de Desenvolvedores e se inspirou no trabalho de @Dmitry Maslennikov, cujo código ajudou a moldar a abordagem de Henry ao Caché ObjectScript.

A primeira contribuição de Henry para o ecossistema de desenvolvedores foi o CosFaker, um projeto inicialmente inspirado em uma biblioteca JavaScript, mas que logo evoluiu para algo único. Foi também o tema do seu primeiro artigo na comunidade. A partir daí, Henry passou a se envolver cada vez mais em concursos, colaborações e projetos de código aberto.

Um destaque foi sua participação no projeto RestForms ao lado de @Eduard Lebedyuk e @Alberto Fuentes, o que se mostrou especialmente significativo em um momento desafiador de sua vida pessoal. Outro momento marcante ocorreu em 2021, quando Henry participou sozinho do Concurso de Segurança da InterSystems com seu projeto iris-disguise.

Nos últimos anos, Henry competiu como parte da equipe dos Mosqueteiros com @José Pereira (“o cérebro”) e @Henrique Dias (“o coração”), enquanto se autodenominava com humor de “a coceira no nariz”. Seu projeto iris-medicopilot ganhou o segundo lugar no Concurso de Pesquisa de Vetores, GenAI e ML, trazendo a Henry visibilidade profissional e interesse de clientes do mundo real na tecnologia de pesquisa de vetores.

Henry valoriza profundamente o calor humano, a receptividade e o profissionalismo da Comunidade de Desenvolvedores, destacando a ausência de hostilidade e o alto nível de organização. Ele é fã do programa de gamificação Global Masters e se impressiona continuamente com as ideias e inovações brilhantes produzidas nos concursos da comunidade.

O conselho do Henry para os novatos? Envolvam-se. Contribuam, participem e tratem cada projeto como uma experiência de aprendizado e uma demonstração pessoal.

Além da programação, Henry passa os fins de semana tocando guitarra em uma banda, valoriza o tempo com os filhos e serve ativamente à comunidade local, especialmente aos jovens. A cada ano, ele se desafia a aprender uma nova linguagem de programação, uma prova de sua curiosidade insaciável. Sua família e sua fé o mantêm com os pés no chão, lembrando-o da importância do descanso e do crescimento.

A jornada de Henry, desde seu primeiro código para MUMPS até concursos internacionais, da reinvenção pessoal à liderança comunitária, incorpora o espírito da Comunidade de Desenvolvedores da InterSystems. Por meio de suas contribuições técnicas, espírito colaborativo e presença sincera, ele se tornou uma força criativa e uma inspiração para todos que têm o privilégio de trabalhar ao seu lado.

🙏 Junte-se a nós para celebrar o Henry por sua dedicação, engenhosidade e o carinho que ele traz à Comunidade de Desenvolvedores.

2 Comments
Discussão (2)1
Entre ou crie uma conta para continuar
Discussão
· Set. 24

Picking up an Interop Business Host setting programmatically

Hi all,

I needed to pick up the username from a set of credentials configured for a business operation in an interop production, and it turned out to take a few steps, so I'm sharing my method here, in the dual hope that someone has an easier way to do it, or failing that, that it is useful to someone.

Best,

Otto

/// Fetch the user name from the credentials configured for a production item.
/// Parameters:
///  productionName - The name of the production where the config iterm lives.
///  configItemName - The name of the config item that holds the credential setting.
///  settingName - Defaults to "Credentials". Provide if different.
///  userName - Output parameter.
/// Sample call, omitting 'settingName' to use the default:
///  set status = ##(MyClass).GetUserNameFromCredentials("Acme.Production", "My Operation", , .name)
ClassMethod GetUserNameFromCredentials(productionName As %String, configItemName As %String, settingName As %String = "Credentials", Output userName As %String) As %Status
{
   try {
      set userName = ""
      
// Find the id of the requested config item.
      &sql(select %ID into :configItemId
         from Ens_Config.Item
         where Production = :productionName
            and Name = :configItemName
      )
      if SQLCODE throw ##class(%Exception.SQL).CreateFromSQLCODE(SQLCODE, "Config item '" _ configItemName _ "' not found in production '" _ productionName _ ".")
      
// Open the config item.
      set configItem = ##class(Ens.Config.Item).%OpenId(configItemId)
      if (configItem = "") throw ##class(%Exception.General).%New(,5001,,"Failed to open config item '" _ configItemName _ "' in production '" _ productionName _ ".")
      
// Try to fetch the name of the credentials.
      if ('configItem.GetSetting(settingName, .credentials)) throw ##class(%Exception.General).%New(,5001,,"Setting '" _ settingName _ "' not found for config item '" _ configItemName _ "' in production '" _ productionName _ ".")
      if (credentials = "") throw ##class(%Exception.General).%New(,5001,,"Setting '" _ settingName _ "' not configured for config item '" _ configItemName _ "' in production '" _ productionName _ ".")
      
// Look up the corresponding user name, setting the output parameter 'userName'.
      &sql(select Username into :userName
         from Ens_Config.Credentials
         where %ID = :credentials
      )
      if SQLCODE throw ##class(%Exception.SQL).CreateFromSQLCODE(SQLCODE, "'" _ credentials _ "' not found in credentials table.")
   
catch ex {
      set status = ex.AsStatus()
   }
   return $get(status, $$$OK)
}
4 Comments
Discussão (4)2
Entre ou crie uma conta para continuar
Anúncio
· Set. 24

Bonus tecnológicos para el Concurso de .Net, Java, Python, y JavaScript de InterSystems

¡Hola, desarrolladores!

Aquí tenéis los bonus tecnológicos para el Concurso de .Net, Java, Python, y JavaScript de InterSystems, que os darán puntos extra en la votación:

  • XEP API para Java, .NET – 2
  • SDK Nativo para Java, .NET, Python, node.js – 2
  • PEX Interoperability para Java, .NET, Python – 3
  • Java persister – 2
  • ADONET y .NET Entity Framework – 2
  • Uso de contenedores Docker – 2
  • Demo online – 2
  • Implementar una Idea de la Comunidad InterSystems – 4
  • Encontrar un bug en las Ofertas de Lenguajes .Net, Java, Python, y JavaScript con InterSystems InterSystems IRIS – 2
  • Primer artículo nuevo en la Comunidad de Desarrolladores – 2
  • Segundo artículo nuevo en la Comunidad de Desarrolladores – 1
  • Primera participación – 3
  • Vídeo en YouTube – 3

Ved los detalles a continuación.

XEP API para Java, .NET – 2

XEP es una librería de InterSystems que introduce tecnología de persistencia de alto rendimiento para jerarquías de objetos en Java o .NET. Usadla y conseguid 2 puntos extra por Java y/o .NET (máx. 4 puntos). Leed más sobre JAVA ZEPNET XEP.

SDK Nativo para Java, .NET, Python, node.js – 2 puntos

Los SDK Nativos de InterSystems IRIS son interfaces ligeras que permiten a aplicaciones en PythonJava.NET, y Node.js acceder a potentes recursos de InterSystems IRIS. Usadlos y conseguid 2 puntos extra por cada lenguaje implementado (máx. 8 puntos). Documentación.

PEX Interoperability para Java, .NET, Python – 3 puntos

El framework Production EXtension (PEX) ofrece la posibilidad de usar lenguajes Java, .NET y Python para desarrollar producciones de interoperabilidad. Usadlo y conseguid 3 puntos extra por cada lenguaje implementado (máx. 9 puntos). Documentación. Here is a pex-demo application.

The Production EXtension (PEX) framework provides a choice of external languages Java, .NET and Python that you can use to develop interoperability productions. Use it and collect 3 extra points for for every language(Python, Java, .Net) implemented (9 max). Documentation. Aquí tenéis una demo de aplicación de pex

Java Persister -2 points

El Persister de InterSystems IRIS para Java está diseñado para ingerir flujos de datos y persistirlos en una base de datos a gran velocidad. Conseguís 2 puntos extra al implementarlo en vuestra solución. Aquí está la Documentación.

ADONET y .NET Entity Framework – 2 puntos

InterSystems permite acceder a los datos de clases persistentes a través de ADONET. Implementadlo en vuestra aplicación para conseguir 2 puntos extra. Documentación.
Lo mismo podéis lograr con .NET Entity Framework en IRIS (2 puntos). Documentación.

Uso de contenedores Docker – 2 puntos

La aplicación consigue la bonificación “Docker container” si utiliza InterSystems IRIS ejecutándose en un contenedor Docker. Aquí está la plantilla más sencilla con la que empezar.

Demo online de vuestro proyecto – 2 puntos
Collect 2 more bonus points if you provision your project to the cloud as an online demo at any public hosting.  

Implement Community Opportunity Idea - 4 points

Implementad cualquier idea del portal de Ideas de la Comunidad de InterSystems que tenga el estado «Community Opportunity». Esto os dará 4 puntos adicionales de bonificación.

Encontrad un bug en las ofertas de lenguajes .Net, Java, Python, y JavaScript con InterSystems InterSystems IRIS – 2 puntos

Queremos una adopción más amplia de las ofertas de java, python, .NET y node.js de InterSystems, así que os animamos a informar de los bugs que encontréis durante el desarrollo de vuestras aplicaciones de lenguajes externos con IRIS para poder corregirlos. Por favor, enviad los bugs de Java, Python, .NET y Node.js e indicad cómo reproducirlos. Podéis conseguir 2 puntos de bonificación por el primer bug reproducible en cada lenguaje (Java, .NET, Node.js, Python), hasta un máximo de 8 puntos.

Primer artículo nuevo en la Comunidad de Desarrolladores – 2 puntos

Escribid un artículo completamente nuevo en la Comunidad de Desarrolladores que describa las características de vuestro proyecto y cómo trabajar con él. Conseguiréis 2 puntos por el artículo.

Segundo artículo nuevo en la Comunidad de Desarrolladores – 1 punto

Podéis conseguir 1 punto extra por el segundo artículo nuevo o por una traducción relacionada con la aplicación. El tercero y siguientes no darán más puntos, pero sí atraerán la atención hacia vuestro proyecto.

Primera participación – 3 puntos

Conseguid 3 puntos de bonificación si participáis por primera vez en los concursos de InterSystems Open Exchange.

Vídeo en YouTube – 3 puntos

Haced nuevos vídeos en YouTube que muestren vuestro producto en acción y conseguid 3 puntos de bonificación por cada uno.

La lista de bonificaciones puede cambiar. ¡Permaneced atentos!

¡Mucha suerte en la competición!

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Set. 24 3min de leitura

Celebrando una Fuerza Creativa en la Comunidad de Desarrolladores

Toda comunidad próspera tiene miembros cuya energía, creatividad y compromiso ayudan a convertirla en algo extraordinario. En la Comunidad de Desarrolladores de InterSystems, uno de esos miembros es @Henry Pereira — desarrollador, colaborador de código abierto, ganador de concursos y un verdadero creyente en el poder de la colaboración.

👏 Vamos a echar un vistazo más de cerca al increíble recorrido de Henry y a su legado continuo en el ecosistema de InterSystems.

La historia de Henry con los productos de InterSystems comenzó hace más de 20 años, cuando, siendo un joven becario, trabajó por primera vez con InterSystems Caché (versión 4, nada menos) y escribió bastante código en MUMPS. La vida lo llevó en otras direcciones durante un tiempo, pero en 2016, el destino —y la tecnología— lo trajeron de vuelta. Al unirse a BPlus Tech el 2 de febrero de ese año, Henry redescubrió rápidamente las tecnologías de InterSystems y quedó impresionado con lo mucho que habían evolucionado. Solo tres días después, mientras buscaba proyectos de código abierto, descubrió la Comunidad de Desarrolladores y encontró inspiración en el trabajo de @Dmitry Maslennikov, cuyo código ayudó a moldear su enfoque hacia Caché ObjectScript.

La primera contribución de Henry al Ecosistema de Desarrolladores fue CosFaker, un proyecto inicialmente inspirado en una librería de JavaScript pero que pronto evolucionó hacia algo único. También fue el tema de su primer artículo en la comunidad. A partir de ahí, Henry se fue involucrando cada vez más en concursos, colaboraciones y proyectos de código abierto.

Un hito destacado fue su participación en el proyecto RestForms junto a @Eduard Lebedyuk y @Alberto Fuentes, que resultó especialmente significativo en un momento difícil de su vida personal. Otro momento memorable llegó en 2021, cuando Henry participó en solitario en el Concurso de Seguridad de InterSystems con su proyecto iris-disguise.

En los últimos años, Henry ha competido como parte del equipo Musketeers junto a @José Pereira (“el cerebro”) y @Henrique Dias (“el corazón”), mientras él mismo se apodaba con humor “el picor en la nariz”. Su proyecto iris-medicopilot obtuvo el segundo puesto en el Concurso de Vector Search, GenAI y ML, lo que le dio visibilidad profesional y despertó el interés real de clientes en la tecnología de vector search.

Henry valora profundamente la calidez, la capacidad de respuesta y la profesionalidad de la Comunidad de Desarrolladores, destacando la ausencia de hostilidad y el alto nivel de organización. Es fan del programa de gamificación Global Masters y siempre se siente impresionado por las brillantes ideas e innovaciones que surgen en los concursos de la Comunidad.

¿El consejo de Henry para los recién llegados? Involucraos. Contribuid, participad y tratad cada proyecto como una experiencia de aprendizaje y también como una carta de presentación personal.

Fuera del código, Henry pasa los fines de semana tocando la guitarra eléctrica en una banda, disfruta del tiempo con sus hijos y colabora activamente con su comunidad local, especialmente con los jóvenes. Cada año, se reta a sí mismo a aprender un nuevo lenguaje de programación, lo que demuestra su insaciable curiosidad. Su familia y su fe lo mantienen con los pies en la tierra, recordándole la importancia de descansar junto al crecimiento.

El recorrido de Henry, desde su primer código en MUMPS hasta concursos internacionales, desde la reinvención personal hasta el liderazgo comunitario, encarna el espíritu de la Comunidad de Desarrolladores de InterSystems. A través de sus contribuciones técnicas, su espíritu colaborador y su presencia cercana, se ha convertido en una fuerza creativa e inspiración para todos los que tienen el privilegio de trabajar a su lado.

🙏 Celebremos la dedicación, ingenio y calidez que aporta Henry a la Comunidad de Desarrolladores.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Set. 23 4min de leitura

2024年の応募作品紹介:第 2 回 InterSystems Japan 技術文書ライティングコンテスト

開発者の皆さん、こんにちは!

10月1日(水)から今年の「技術文書ライティングコンテスト」が始まります!💨みなさま、応募の準備は進んでいますか??👀

この記事では、昨年開催したコンテストにご応募いただいた素晴らしい作品を審査員コメントを添えてご紹介します。

(審査員コメントは昨年 11 月に開催したミートアップ内で行ったコンテスト表彰式で紹介した内容です)

 

@Akio Hashimoto さんが投稿された「Embedded Python を利用する時の注意点 

審査員コメント:

Embedded Pythonをこれから操作される人が同様の問題に遭遇したときの解決策が提示されているありがたい記事だと感じました。

昨年もコンテストに投稿いただき、今年同様に、これから体験される方向けの道標となるような素晴らしい記事を投稿いただいています。

 

@Yusuke Kojima さんが投稿された「FHIR Object Modelを使ったInteroperability開発

審査員コメント:

2024.1 から新しく導入された FHIR Object Model にいち早く取り組まれてそれをユーザ視点からみたメリット、デメリットを含め、実際のソースを GitHub で公開しながらコミュニティメンバーに紹介されている素晴らしい記事です。新機能への探求心、精度の高い技術力、いずれも兼ね備えたコンテストのお手本のような内容でした。

IRIS の機能を使用した具体的なコードの開発という点を評価しました。コミュニティに参加している人々にもっと色々なコードを投稿いただき、それを共有してもらうことに一番の意義がある、と感じています。

 

@Kosaku Ikeda さんが投稿された「UnitTest(ユニットテスト)の自動化について考察

審査員コメント:

インターオペラビリティで CD オートメーションを作成、その発想力と技術力に脱帽しました。実際の開発で使用開始されましたら是非また記事を書いて下さい。

CI/CD を IRIS に含まれる機能だけで実装することができることを示していただいたのは興味深いです。

 

@Kawasaki Kazuhito さんが投稿された「SourceControlを用いた自動ソースチェックツールについて

審査員コメント:

目視確認になりがちなソースチェック、自動化することでレビュー時間の短縮だけでなくチェック漏れも無くなり開発全体の効率も上がることと思います。

プロジェクトに参加したての場合、方針に慣れるまでは自分流の書き方が出てしまいがちかと思いますが、その部分をシステム的にチェックすることで、メンバー全員にとって統制のとれた読みやすいコードを維持できる素晴らしい取り組みだと感じました。

 

@So Ochi さんが投稿された「IRIS開発における生成AIの活用について

審査員コメント:

「なんとなく知っている」だけで終わることも多いコード生成での AI 活用を、実際に IRIS を使って動かし、さらに精度向上まで記事内で紹介されており、コミュニティメンバーへの現実的な情報共有として、非常に素晴らしいと感じました。実業務への展開だけでなく、単純に技術的な興味としても、とても感銘を受けた記事でした。

コード生成の生産性向上の取り組みとして興味深いと思いました。多くの人の関心が高い部分だと思う点を評価しました。

 

@Saori Murata さんが投稿された「IRIS環境設定の自動化について~インストールマニフェストの利用~

審査員コメント:

環境設定の自動化に興味を持たれるコミュニティメンバーは多いと思いますが、IRIS の自動展開の具体的なサンプルをふんだんに掲載された記事で、IRIS をお使いの方であれば誰もが興味をもって読める内容に仕上がっていると思います。「いちど試してみよう」と自然に感じられる良記事でした。

文章から面倒で間違いの起こりえる管理ポータルでの作業から解放された喜びを感じられました。

 

昨年開催のコンテストの順位や贈られた賞品について詳しくは👉 ★受賞者発表!★ 第2回 InterSystems Japan 技術文書ライティングコンテスト をご参照ください。

第 3 回開催も投稿いただいた方全員に参加賞、そして、1 位~ 3 位の作品には素敵な🎁賞品🎁を予定しております。

皆様が日頃お使いの良い方法、便利な使い方、試して面白かった機能や使用時の注意点などありましたら、ぜひコミュニティメンバーに共有いただければと思います。

🔥ご応募お待ちしております!🔥

Discussão (0)1
Entre ou crie uma conta para continuar