Pesquisar

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
Pergunta
· Set. 23

Poached Austin TX: Smarter Restaurant Hiring and Job Search

 

Austin has become one of the leading food and hospitality cities in the country. New restaurants, food trucks, and cocktail bars are opening every month, and the demand for experienced staff continues to rise. Meeting that demand is not always easy. Traditional job boards often waste time with irrelevant listings, leaving employers and workers frustrated. Poached Austin TX, solves this challenge by focusing entirely on hospitality, giving restaurants and job seekers a reliable way to connect.

What is Poached Austin  TX

Poached Austin TX is part of Poached Jobs, a hiring platform built specifically for the food and beverage industry. Unlike general job boards, Poached only lists positions for hospitality roles. This makes the hiring process faster and more relevant for both sides. Employers can post jobs for cooks, bartenders, servers, and managers, while job seekers know every opportunity is tailored to their profession. The result is a streamlined system that saves time and delivers better matches.

Why Restaurants in Austin Depend on Poached Jobs

The restaurant scene in Austin is fast paced and competitive. Businesses often need to hire quickly to keep up with growth, seasonal demand, and frequent staff changes. Poached Austin TX gives them an advantage because it connects them directly with candidates who are already committed to hospitality. Restaurants benefit from quicker hiring, fewer mismatched applications, and access to workers who understand the expectations of the industry. From local food trucks to fine dining venues, Poached Jobs has become the trusted resource for staffing in Austin.

Features That Make Poached Austin TX Stand Out

Poached Jobs has introduced tools that go beyond standard job listings. Candidates can highlight certifications such as food handler permits or bar training to make their applications stronger. Employers can filter applicants by skills, experience, or availability, which speeds up the hiring process. The platform also offers a shift marketplace where restaurants can post last minute openings and workers can pick up shifts quickly. These features reflect the unique pace of Austin’s restaurant industry, where staffing needs can change daily.

How Job Seekers Succeed on Poached Austin TX

For workers, success begins with a complete profile. Including relevant job titles and hospitality experience makes it easier for employers to find the right match. Availability is another key factor. Many restaurants in Austin operate during nights, weekends, and festivals, so applicants who show flexibility stand out. Knowledge of local dining areas can also help, since employers value workers who understand the culture of neighborhoods like Rainey Street, East Sixth, or South Lamar. Acting quickly on new listings is important as well, because employers often review applications as soon as they are posted on Poached Jobs.

How Employers Can Maximize Poached Jobs

Employers who want the best results in Poached Austin TX should focus on clarity and speed. Job titles that include both the role and location, such as “Server Austin TX” or “Sous Chef Downtown Austin,” perform well because they match the way candidates search. Clear pay ranges and benefit details encourage more applications and build trust. Responding to candidates quickly shows professionalism and helps secure strong talent before competitors do. During busy times like SXSW or Austin City Limits, using Poached Jobs to post short-term roles or shift coverage keeps operations running smoothly.

The Future of Poached Austin TX

Austin’s hospitality industry will continue to expand, and staffing needs will become even more complex. Poached Jobs is preparing for that future by testing tools such as video interviews and predictive hiring features that anticipate demand during major events. For workers, the future of Poached Austin TX, could mean stronger digital profiles that showcase reputation and skills across multiple employers. For businesses, it means faster, smarter, and more reliable hiring to keep pace with a city that never stops growing.

Conclusion

Austin thrives on its food and hospitality culture, but behind every successful dining experience is a team of skilled professionals. Poached Austin TX makes it possible for restaurants to build those teams and for job seekers to find meaningful opportunities. By focusing only on hospitality, Poached Jobs has become the most trusted hiring platform in Austin.

If you are looking for your next role or searching for the right staff to grow your restaurant, visit https://poachedjobs.com/jobs/all/everywhere today and see why it is the leading choice for hospitality hiring in Austin.

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

La puissance graphique d'IRIS

La situation de départ

Une "Class Query" dans l'espace de noms %SYS fournissant des valeurs système réelles.

L' objectif à atteindre

Présentation des données dans le navigateur, accompagnée de
quelques visualisations graphiques, par exemple un graphique à barres.
L’ objectif est d’obtenir les valeurs réelles en un seul clic ou en actualisant.
La solution doit être indépendante de Windows, Linux, OSX, AIX, ...

Il existe suffisamment de collections de bibliothèques graphiques
dans différents langages, comme JavaScript, Python, ... 
Mais ils ont tous besoin d'un code à ajouter en dehors d'IRIS. 
Cela peut entraîner une dépendance au système d'exploitation du serveur.

À ce moment-là, je me suis retourné vers IRIS. Je me suis rappelé que DeepSee
possède toutes les options requises et s'adapte toujours à l'environnement.
Et comme il s'agit d'une approche interne d'IRIS, je pourrais tout faire en utilisant
InterSystems ObjectScript et appliquer toutes les astuces que j'ai utilisées et
développées moi-même dans le passé.

Maintenant le développement étape par étape

Les valeurs système ne peuvent être collectées que dans l'espace de noms %SYS
Le transport de valeurs vers un autre espace de noms est réalisé par une table temporaire
Class Parameter DEFAULTGLOBAL = "^mtemp.ZX";  est l'approche la plus simple.
Il est situé dans la database IRISTEMP et évite la journalisation. C'est vite.
Après un effacement total, le SystemClassQuery insère ses résultats et
ajoute la date et l'heure. La collection de valeurs est complète.

Dans mon espace de noms opérationnel, j'ai la même définition de classe.
Class Parameter DEFAULTGLOBAL = "^mtemp.ZX";  pointe vers le même stockage.
Et  Class Parameter MANAGEDEXTENT As INTEGER = 0; permet cela.
À ce stade, nous pouvons déjà voir le résultat numérique avec n'importe quelle
vue de table dans SystemManagementPortal. Il n'y a simplement aucun graphique.

Prochaine étape :

DeepSee crée des cubes basés sur des classes persistantes (des tables)
Utiliser DeepSee Architect n'est qu'une question de minutes pour construire un cube adapté
Et il dispose également de l'outil pour remplir le cube avec du contenu.

Prochaine étape :

DeepSeeAnalyzer nous permet de composer une belle vue de tableau et propose
une collection de présentations graphiques. Formidable !
Mais les valeurs de 2000 et d'autres de 33 ne semblent pas si bien dans un
graphique commun. Je n'ai pas trouvé d'option pour un axe logarithmique.
Alors, j'ai ajouté des propriétés calculées à ma table pour renvoyer $ZLOG(val).

Et un deuxième cube est alimenté avec des valeurs logarithmiques.
Le graphique est désormais plus pratique. Le tableau est moins impressionnant.

Prochaine étape :

Dans DeepSeeUserPortal, vous pouvez composer un Dashboard qui est une
page Web indépendante. Ici, vous organisez les vues de tableau et les graphiques
comme vous le souhaitez. 
Et voici ma seule exception à l'utilisation exclusive d'InterSystems ObjectScript:
Un Portlet est un petit morceau de code HTML que j'ai utilisé pour afficher
la date et l'heure des valeurs collectées.

Dernière étape furieuse :

Comment cela marche-t-il?
Notre joli Dashboard est démarré par une page CSP. La page elle-même est vide.
Mais chaque page CSP possède une
ClassMethod OnPreHTTP(). Ça commence

  • Premiere étape - Collecter les valeurs de %SYS
  • Prochaine étape - Reconstruiser les deux cubes
  • Redirection vers l'URL de notre joli Dashboard.

Alors on danse !

Quelques morceaux de code :

Class ZX.timestamp Extends %DeepSee.Component.Portlet.abstractPortlet
{
Method %DrawHTML()
{
	&html<<div style="font-size: 25px;" height=50 class="portletDiv">#(^mtemp.ZXD)#</div>>
}
}
Class ZX.dbdash Extends %CSP.Page [ Not ProcedureBlock ]
{
ClassMethod OnPreHTTP() As %Boolean [ ServerOnly = 1 ]
{
    do ##class(%ZX.dbfree).Load()
    set sc=##class(%DeepSee.Utils).%BuildCube("ZX.DBdata",,0)
    set sc=##class(%DeepSee.Utils).%BuildCube("ZX.DBlog",,0)
    Set %response.ServerSideRedirect="/csp/user/_DeepSee.UserPortal.DashboardViewer.zen?DASHBOARD=ZXfree.dashboard"
    quit $$$OK
}
ClassMethod OnPage() As %Status
{
    quit $$$OK
}
}
Class ZX.dbfree Extends %Persistent [ Final, SqlRowIdPrivate ]
{
Parameter MANAGEDEXTENT As INTEGER [ Constraint = "0,1", Flags = ENUM ] = 0;
Parameter DEFAULTGLOBAL = "^mtemp.ZX";
Property DatabaseName As %String;
Property mbSize As %Integer;
Property logSize As %Decimal(SCALE = 2) [ Calculated, SqlComputeCode = {set {*}=$s({mbSize}<1:0,1:$ZLOG({mbSize}))}, SqlComputed ];
Property mbAvail As %Decimal(SCALE = 1);
Property logAvail As %Decimal(SCALE = 2) [ Calculated, SqlComputeCode = {set {*}=$s({mbAvail}<1:0,1:$ZLOG({mbAvail}))}, SqlComputed ];
Property FreePrz As %Decimal(SCALE = 2);
Property logFreePrz As %Decimal(SCALE = 2) [ Calculated, SqlComputeCode = {set {*}=$s({FreePrz}<1:0,1:$ZLOG({FreePrz}))}, SqlComputed ];
Property Timestamp As %String [ Calculated, SqlComputeCode = {set {*}=^mtemp.ZXD}, SqlComputed ];
Index idx On DatabaseName [ IdKey ];

Il-y-a une nouvelle version 1.0.0

En raison des commentaires très positifs, j'ai ajouté une nouvelle fonctionnalité
Il est désormais possible de prendre également un instantané à partir d'un système distant.
Il est implémenté à l'aide de Native-API-For-ObjectScript
Il vous suffit d'ajouter un paramètre URL Comme ça:

?SERVER=IP-Address[:SuperServerPort[:Username[:Password]]]

defaults: port=1972 user=_SYSTEM pw=SYS

Exemple de conteneur Docker
http://localhost:42773/csp/user/ZX.dbdash.cls?SERVER=192.168.0.11:11972:SuperUser:SYS​​​​​

Il-y- a aussi :

GitHub     Open Exchange Package
 

Discussão (0)1
Entre ou crie uma conta para continuar
Pergunta
· Set. 23

Is there any kind of garbage collector?

Some languages ​​have the concept of a garbage collector for automatic memory management. I'd like to know if something like this exists in InterSystems Caché in the context of routines, %CSP.REST, or %CSP.Page.

The question arises from the %Close() method of the %RegisteredObject class. This indicates that I need to manually clear the object from memory if it's no longer in use, or in the web context, if the request has completed. Is this correct? Or am I completely wrong?

Thank you!

1 novo comentário
Discussão (8)3
Entre ou crie uma conta para continuar