tag:blogger.com,1999:blog-201805492024-03-05T04:53:37.071-03:00Blog do Valdemar Arantes NetoKotlin, Java, Gradle, ... Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.comBlogger32125tag:blogger.com,1999:blog-20180549.post-3349849212245718762019-09-07T10:46:00.001-03:002019-09-07T11:02:55.420-03:00Microsserviços e Domain Driven DesignTaquei na busca do Youtube "Java Arquitetura" e uma apresentação me chamou a atenção: <a href="https://www.youtube.com/watch?v=OZ5NgGUheII&t=928s" target="_blank">Micro serviços muito além da teoria: a prática da concepção ao deploy - André Nobre</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/OZ5NgGUheII/0.jpg" src="https://www.youtube.com/embed/OZ5NgGUheII?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
Achei um pouco lento o ritmo da apresentação, mas, com muitas informações, ainda que sem se aprofundar tanto quanto eu gostaria. Afinal, coitado, com meia hora de apresentação não dá pra aprofundar muito mesmo.<br />
<br />
Um dos assuntos foi o DDD (Domain Driven Design) para definir, ou, mais precisamente, delimitar um microsserviço. A ideia brilhou pra mim: claro! Uma relação 1 para 1! Mas, como sempre, fui ao Google para uma iluminação plena sobre o assunto.<br />
<br />
<a href="https://medium.com/@justinmichaelholmes/microservices-and-the-bounded-context-part-1-5a3337b6b9de" target="_blank">Microservices and The Bounded Context: Part 1</a> - como não poderia ser diferente, não era tão simples quanto minha ignorância, fiel escudeira, me fez supor, mas é muito mais rico, muito mais interessante. Bóra aprender! Antes, conhecer (de verdade) DDD é, claro, um pré-req. Continuo minhas leituras, mesmo porque parei no meio para vir aqui escrever o que fiz até agora, caso minha senilidade passe pra falar um oi e eu feche o computador tendo esquecido tudo.<br />
<br />
<a href="https://www.boldare.com/blog/event-storming-guide/" target="_blank">A step by step guide to Event Storming – our experience</a> - tá na lista de leitura: esta é uma técnica pra se modelar no DDD.<br />
<br />
Por enquanto, é isso. Fico devendo algumas atualizações.<br />
<br />
[]sBlog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-42058666960522646152019-09-01T11:53:00.004-03:002019-09-01T11:53:43.862-03:00AWS CLI - Comandos que tenho usado no trabalhoListar as stacks:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">aws cloudformation describe-stacks</span><br />
<br />
Apagar uma stack chamada "stack-inutil":<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">aws cloudformation delete-stack --stack-name stack-inutil</span><br />
<br />
<br />Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-49170487315221718882019-09-01T11:53:00.003-03:002019-09-02T18:15:51.256-03:00Android, Flutter e Kotlin - minhas primeiras pesquisasEstou me acabando de tanto estudar Android com Kotlin. Sim, porque já utilizo Kotlin nos backends que desenvolvo, nos Spring Boots da vida.<br />
<br />
Agora ouço todo esse burburinho em torno do Flutter, para desenvolvimento multiplataforma Android e iOS. Fala sério!<br />
<br />
Estou atrás de leituras agora: qual as vantagens, por que o Dart, por que, por queeeeeee?<br />
<br />
Num Hello World que fiz aqui, a velocidade do Hot Reload do Android Studio no meu celular foi impressionante, quase instantâneo...<br />
<br />
Este são alguns textos que sites que acessei até agora:<br />
<br />
<a href="https://www.reddit.com/r/FlutterDev/comments/82ojv0/should_google_have_chosen_kotlin_for_flutter/" target="_blank">Should Google have chosen Kotlin for Flutter instead of Dart?</a> - é uma pergunta lançada com Reddit, com várias respostas legais<br />
<br />
<a href="https://medium.com/yakka/flutter-doesnt-need-kotlin-or-anything-else-5773965d5905" target="_blank">Flutter doesn’t need Kotlin (or anything else)</a> - hummm, convincente<br />
<br />
<a href="https://hackernoon.com/why-flutter-uses-dart-dd635a054ebf?source=post_page-----5773965d5905----------------------" target="_blank">Why Flutter Uses Dart</a> - muuuuito convincente! Agora já quero testar Dart com bem mais atenção.Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-71711595009962194522018-06-01T11:07:00.000-03:002018-08-05T17:36:25.509-03:00GIT - Versionar uma subpasta de uma pasta ignoradaMeu objetivo parecia simples. Tenho uma pasta que é ignorada, a .idea, e que, portanto, está no arquivo .gitignore:<br />
<br />
<pre style="background-color: #2b2b2b; color: #a9b7c6; font-family: 'DejaVu Sans Mono'; font-size: 9.0pt;"><span style="background-color: #3a3a3a; color: #8c8c8c; font-weight: bold;">### IntelliJ IDEA ###</span>
<span style="color: #629755;">.idea</span>
<span style="color: grey; font-style: italic;">*.iws</span>
<span style="color: grey; font-style: italic;">*.iml</span>
<span style="color: grey; font-style: italic;">*.ipr</span>
</pre>
<br />
Acontece que queria versionar a pasta .idea/runConfigurations. Olhando a documentação, a solução me pareceu simples:<br />
<br />
<pre style="background-color: #2b2b2b; color: #a9b7c6; font-family: "dejavu sans mono"; font-size: 9pt;"><span style="background-color: #3a3a3a; color: #8c8c8c; font-weight: bold;">### IntelliJ IDEA ###</span>
<span style="color: #629755;">.idea</span>
<span style="color: yellow;"><b>!.idea/runConfigurations</b></span>
<span style="color: grey; font-style: italic;">*.iws</span><span style="color: #a9b7c6;"></span>
<span style="color: grey; font-style: italic;">*.iml</span><span style="color: #a9b7c6;"></span>
<span style="color: grey; font-style: italic;">*.ipr</span><span style="color: #a9b7c6;"></span>
</pre>
<div>
<span style="color: grey; font-style: italic;"><br /></span></div>
Mas não funcionou. No IntelliJ, as pastas ignoradas aparecem num tom mais esmaecido, e a pasta runConfigurations não estava nada esmaecida, mas simplesmente não era incluída nos commits.<br />
<br />
Enfim, a solução, simples, mas que sempre apanho para encontrar na WEB: basta alterar a linha .idea para .idea/*, e voilá, funcionou!<br />
<br />
<pre style="background-color: #2b2b2b; color: #a9b7c6; font-family: "dejavu sans mono"; font-size: 9pt;"><span style="background-color: #3a3a3a; color: #8c8c8c; font-weight: bold;">### IntelliJ IDEA ###</span>
<span style="color: yellow;"><b>.idea/*</b></span>
<span style="color: #629755;">!.idea/runConfigurations</span>
<span style="color: grey; font-style: italic;">*.iws</span><span style="color: #a9b7c6;"></span>
<span style="color: grey; font-style: italic;">*.iml</span><span style="color: #a9b7c6;"></span>
<span style="color: grey; font-style: italic;">*.ipr</span><span style="color: #a9b7c6;"></span>
</pre>
<br />
Fui!Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-64980751504706701892017-07-20T15:57:00.000-03:002018-06-01T11:08:42.658-03:00Iniciar um CMD como administrador por linha de comando no WindowsTendo o NodeJS instalado, executar:<br />
<br />
<span style="background-color: #eff0f1; color: #242729; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 13px; white-space: pre-wrap;">npm install -g windosu</span><br />
<br />
Depois, basta executar o comando:<br />
<br />
<span style="background-color: #eff0f1; color: #242729; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 13px; white-space: pre-wrap;">sudo cmd</span><br />
<br />Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-71812369165441528272017-06-12T17:56:00.000-03:002017-06-13T09:23:41.683-03:00Invalid Host Header & WebpackPara que o erro "Invalid Host Header" não ocorra quando utilizado o <b>Webpack Dev Server</b>, basta definir a opção <code>disableHostCheck. </code>Seguindo a orientação <a href="https://webpack.github.io/docs/webpack-dev-server.html#additional-configuration-options">deste documento</a>, o arquivo webpack.config.js deve ser alterado da seguinte forma:<br />
<br />
<pre style="font-family: "courier new";"><span style="background-color: white;"><span style="color: #660e7a; font-weight: bold;">module</span>.<span style="color: #660e7a; font-weight: bold;">exports </span>= {
<span style="color: grey; font-style: italic;">// entry point of our application</span><span style="color: grey; font-style: italic;"> </span><span style="color: #660e7a; font-weight: bold;">entry</span>: {
<span style="color: #660e7a;"><b>...</b></span>
},
<span style="color: grey; font-style: italic;">// where to place the compiled bundle</span><span style="color: grey; font-style: italic;"> </span><span style="color: #660e7a; font-weight: bold;">output</span>: {
<span style="color: #660e7a;"><b>...</b></span><span style="color: green; font-weight: bold;">
</span><span style="color: green; font-weight: bold;"> </span>},
</span><span style="background-color: yellow;"> <b><span style="color: purple;"><span style="color: #660e7a; font-weight: bold;">devServer</span>: {
<span style="color: #660e7a; font-weight: bold;">disableHostCheck</span>: <span style="color: navy; font-weight: bold;">true</span></span></b></span></pre>
<pre style="font-family: "courier new";"><span style="background-color: yellow;"><b><span style="color: purple;"><span style="color: navy; font-weight: bold;"> </span>}</span></b>,</span></pre>
<pre style="font-family: "courier new";"><pre style="font-family: "Courier New";"><span style="color: navy; font-weight: bold;"> ...</span></pre>
<span style="background-color: white;">}</span></pre>
Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-73764914112643172412017-06-06T10:07:00.002-03:002017-06-06T10:10:52.173-03:00Intersection of arrays in Javascript ES6<code>
</code>
<br />
<div>
<div>
<code>var roles = ['a', 'b', 'c']</code></div>
<div>
<code>var myRoles = ['b', 'c', 'd']</code></div>
<div>
<code><br /></code></div>
<div>
<code>var intersection = roles.filter(r => myRoles.find(myR => r === myR) != null)</code></div>
<div>
<code>console.log(intersection)</code><br />
<code><br /></code></div>
</div>
<code>
</code>Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-11595925504621310202016-09-24T15:27:00.002-03:002017-07-26T13:33:46.266-03:00Gradle - Alguns comandos que é sempre bom ter à mãoUtilizando o <a href="https://gradle.org/">Gradle </a>no meu dia a dia, notei que acabo utilizando alguns comandos que são chatinhos de lembrar porque não são utilizados no ciclo de desenvolvimento no dia a dia, mas apenas em alguns momentos na vida do projeto. Pra eu não precisar ficando buscando no Google denovo, e de novo, e de novo, decidi coloc-alos aqui. Talvez acabe sendo útil pra alguém também.<br />
<br />
<h4>
Definir a versão do Gradle utilizado no projeto</h4>
<pre class="screen" style="background-color: white; border-radius: 5px; border: 0px; box-shadow: darkgray 0px 0px 7px 0px inset; color: darkgreen; font-family: "Ubuntu Mono", courier, monospace; font-size: 16px; font-stretch: inherit; font-variant-numeric: inherit; line-height: 1.3; margin-bottom: 0.6em; padding: 0.8em; vertical-align: baseline;">./gradlew wrapper --gradle-version=4.0.1</pre>
Ver <a href="https://docs.gradle.org/current/userguide/gradle_wrapper.html">Chapter 5. The Gradle Wrapper</a> do <a href="https://docs.gradle.org/current/userguide/userguide.html">User Guide</a> do Gradle.<br />
<br />
Se você precisar da distribuição completa:<br />
<pre class="screen" style="background-color: white; border-radius: 5px; border: 0px; box-shadow: darkgray 0px 0px 7px 0px inset; color: darkgreen; font-family: "Ubuntu Mono", courier, monospace; font-size: 16px; font-stretch: inherit; font-variant-numeric: inherit; line-height: 1.3; margin-bottom: 0.6em; padding: 0.8em; vertical-align: baseline;">gradlew wrapper --distribution-type all</pre>
Juntando os dois comandos em um só:<br />
<pre class="screen" style="background-color: white; border-radius: 5px; border: 0px; box-shadow: darkgray 0px 0px 7px 0px inset; font-stretch: inherit; line-height: 1.3; margin-bottom: 0.6em; padding: 0.8em; vertical-align: baseline;"><span style="color: darkgreen; font-family: "ubuntu mono" , "courier" , monospace;"><span style="font-size: 16px;">gradlew wrapper --gradle-version=4.0.1 --distribution-type all</span></span></pre>
Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-31269370878736334652012-07-20T16:58:00.001-03:002012-07-20T17:37:27.565-03:00Em qual JAR fica essa fu*&% classe?Pois é, um perguntinha tão básica e acabei vindo fazer um post só pra registrar isso porque simplesmente é chato encontrar uma resposta. Claro, não quero saber em quais JAR está a classe mas sim, durante a execução de um aplicativo, qual JAR foi utilizado para a carga da classe. Isso é importante em muitas situações como erros de "Class Casting" por conta de hierarquia incorreta de Classloaders etc. Além disso, a solução que encontrei é simples e elegante. Indo direto para um exemplo, o JAR onde está a classe String, que já sabemos, ou deveríamos saber, ser a rt.jar, pode ser encontrada através de<br />
<br />
java.lang.ClassLoader.getSystemResource("java/lang/String.class");<br />
<br />
onde java/lang/String.class nada mais é que o caminho da classe java.lang.String.<br />
<br />
Simples assim!<br />
Achei esse código no excelente artigo de <a href="http://weblogs.java.net/blogs/kohsuke">Kohsuke Kawaguchi</a>, "<a href="http://weblogs.java.net/blog/kohsuke/archive/2007/02/howitworks_runn.html">HOW-IT-WORKS: Running JAXB/WS 2.1 tools on JDK 6</a>".<br />
<br />
Vida longa e prosperidade.<br />
\\ //Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com1tag:blogger.com,1999:blog-20180549.post-13080178010018165492011-11-03T16:09:00.000-02:002011-11-03T16:09:30.318-02:00Apple dá banana para o consumidor<div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>Boa tarde, gostaria de fazer aqui uma reclamação sobre a empresa do venerado Steve Jobs! Para os cegos maníacos de Apple, ela é a melhor empresa do mundo, mas na realidade abusa deste fanatismo!</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i><br />
</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>Comprei um Time Capsule (500 GB) 2 anos atrás e nos últimos 3 meses ele começou a apresentar problemas na função de roteamento, ou seja, não mantinha a conexão Wi-Fi no ar por nada, ou melhor, tinha vezes que nem ligava!</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i><br />
</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>Pesquisei muito na internet pra ver se achava dicas e cheguei a fazer um reset e isso prolongou a vida pra umas duas semanas...</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i><br />
</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>Na semana passada ele desligou de vez, nem a luz amarela, que devia ser verde, acendia mais. Tentei achar assistências técnicas, mas no site não tinha nada.</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i><br />
</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>Então, me dirigi à loja que conheço no Shopping Eldorado para ter mais informações e aí a vieram os absurdos: a Apple não trabalha com conserto, ela troca os aparelhos - nossa, maravilha! Começou bem (não estou sendo irônico)! MAAASSSSSSS..........</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i><br />
</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>.... isto é, SOMENTE para aparelhos dentro da garantia. Os demais tem as seguintes "vantagens":</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><div><i>1) Troca por um novo (acho que recondicionado, na verdade) por 70% do valor! (Não vi vantagem alguma).</i></div><div><i>2) Meu aparelho não tem mais no Brasil, ou seja, não tenho como trocar!!! </i></div></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>3) Sendo assim, perguntei se poderia trocar por um equivalente, lógico! RESPOSTA: "CLARO QUE NÃO!"</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i><br />
</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>Moral da história: "não conserta e não troca". O que faço com meu Time Capsule de 1500 reais, Apple??? Olha lá o que vai responder, não seja mal educada!</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i><br />
</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>O máximo que fizeram foi oferecer uma machadinha pra explodir o Capsule e tirar o HD de dentro, para eu não perder meus dados! E foi tudo que consegui até o momento POR UMA PECHINCHA DE 100 REAIS!!!!! (Parece piada, não?) Estou aqui com o HD pelado na mão. Preciso comprar um "case" para colocá-lo dentro e poder usá-lo. Vou ter que investir mais uns 100 reais nisto! Olha o prejuízo! Por volta de 1700 reais até o momento!</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i><br />
</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><i>O pior de tudo é que sou um aficcionado por tecnologia e não tenho só um Time Capsule da Apple, tenho um Ipod Classic, um Mac Book e ainda um iPad 2, que acabei de adiquirir! </i><i>Que pouca vergonha com um consumidor tão aplicado como eu!</i></div><div style="background-color: white; font-family: Verdana, arial, Helvetica, sans-serif; font-size: 12px;"><div><i><br />
</i></div><div><i>Mas acho que essa história não pode acabar assim, aguardo uma solução decente para o caso!!!</i></div></div>Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com2tag:blogger.com,1999:blog-20180549.post-64416834822912791402011-09-07T12:32:00.001-03:002011-09-07T12:35:09.882-03:00Muitos planos, pouca vida<p>Conto hoje 44 translações e uns quebrados. Muitos planos depois, qual deles deveria já estar realizado agora? Certamente alguns deles já devem ter se realizado. Mas, quais? Não anotei estes planos num diário eletrônico qualquer, mesmo porque nem tinha isso há 20, 25 anos atrás. Não rabisquei num caderno, e se o fiz, o caderno já era. Resumindo, planos que fiz quando deveria ter me preocupado menos com eles e mais com o momento. Agora, pensando nisso, tenho alguns planos para o futuro, claro. Devo anotá-los para não esquecer de me cobrar no futuro? Talvez não. Talvez seja melhor encostá-los e partir para a vida de vez, vivendo cada semana, cada dia, cada segundo, pensando como ser feliz agora, neste instante. O que me importa mais? quem me importa mais? Devo abandonar meus planos? Talvez pudéssemos pensar em caminhos, em sonhos, em utopias a serem buscadas, mas em cada ato, agora, sendo pleno agora.</p> Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com3tag:blogger.com,1999:blog-20180549.post-41164064779180689102010-12-13T22:29:00.000-02:002010-12-13T22:29:31.467-02:00Amigo Secreto pode ser legal - Parte 2<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Times; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">Não ter escolhido que presente ganhar no amigo secreto deste ano acabou dando muito certo. Para homologar minha não escolha, quem teve de se virar nos trinta foi meu big boss.</span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3dGMClTrag-csKsRavDZJgd39_W1A9mmKyy7s8gZ4UFeVMKAQS01lqfgkWWyb0M5mmebGSdJ6PV_2MNkyO5_1_EGKDQqlhBA3Ayz9KEo1TDJUe7gWpz0e0t90_FWEKIlBkMc/s1600/Big_Boss.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="88" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3dGMClTrag-csKsRavDZJgd39_W1A9mmKyy7s8gZ4UFeVMKAQS01lqfgkWWyb0M5mmebGSdJ6PV_2MNkyO5_1_EGKDQqlhBA3Ayz9KEo1TDJUe7gWpz0e0t90_FWEKIlBkMc/s200/Big_Boss.jpg" width="200" /></a><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Times; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">Por conta do meu post anterior, a ameaça que pairava sobre todos era o assustador par de meias. Não deu outra, meu B-Boss veio com as benditas engatilhadas de presente, mas já emendando com o livro sobre a vida do nerd que deu certo, Zuckerberg, e um CD da Leila Pinheiro cantando Renato Russo. Sozinho eu jamais teria escolhido isso, mas ganhar foi ótimo. CQD.</span>Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-5397972876197775952010-12-07T08:47:00.000-02:002010-12-07T08:47:50.649-02:00Teste de cargaTestes de carga são imprescindíveis, porém raramente são feitos, pelo menos por onde passei. O resultado? Desastroso. Memory leaks, performance de cágado, bugs de concorrência, isso é o que me ocorreu agora. Mas tenho visto outro problema que testes de carga em geral não consideram, a base de dados. Não são poucos os sistema que entram em produção funcionando muito bem e, dia após dia, vão ficando lentos, lentos, até ficarem insuportavelmente lentos e... leeentooos. Investigando-se a causa, um índice que precisa ser criado ou um join malfeito, problemas que só apareceram depois de muitos registros inseridos na base. Quanta dor de cabeça poderia ter se evitado com testes de carga nas bases de dados...Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com2tag:blogger.com,1999:blog-20180549.post-1371242098064154202010-11-12T08:42:00.000-02:002010-11-12T08:42:53.365-02:00Amigo Secreto pode ser legalCom 14 anos ganhei de amigo secreto o LP "The Game", do Queen, lançamento, ouvi até furar. No ano seguinte, um LP do Robby, um Menudo tentando carreira solo, nunca ouvi. Mas os dois LPs estão lá em casa, sempre retornam à minha memória como momentos que deixaram uma marquinha nessa vida. Vieram outros amigos secretos, agora com presentes escolhidos por mim numa planilha excel compartilhada na rede, limite mínimo e máximo de valor, tudo pra facilitar, mas... simplesmente não foram marcantes, nem pro bem nem pro mal, protocolares. Não comprei meu CD do Tom Zé pra comprar um do Gera Samba e depois trocar pelo do Tom Zé; nem sei quem me deu, em qual empresa, nada. Mas tudo muito prático, sem sobressaltos. Não erro ao comprar e ao ganhar. Não receberei uma bomba de presente e não tenho que me preocupar em ficar circulando no shopping pra descobrir o que aquele cara vai gostar. Mas, isto não faz parte da brincadeira? Suponho que deveria. A surpresa, boa ou não, a preocupação de encontrar algo legal, que ele goste, mas eu também. E o valor do presente? Quem entra no jogo não deve esperar nada, é brincadeira, vale de uma caixa de lenços a um TV OLED de 83 polegadas! Errar o presente? Faz parte! Sempre dá pra trocar. O negócio é perder mais tempo pensando menos no seu mundo e tentando entrar um pouquinho no mundo do outro, espírito natalino mesmo, é o jogo, e talvez possa até ser divertido.Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com2tag:blogger.com,1999:blog-20180549.post-59896302839743325902010-10-02T18:34:00.000-03:002010-10-02T18:34:53.816-03:00Eleições 2010Pois é, mais uma eleição. Presidente, gorvernador, senadores, deputado federal e estadual. São tantas as escolhas, tantas as opções, mas o mesmo sentimento de frustração. Claro, democracia, governo da maioria. Por falta de melhor opção, é o que temos para o momento. Mas não soa meio contraditório? E as minorias, como ficam? Os gays, os índios, etc, acabam ficando sem voz, ou não? Temos uma outra minoria, a classe A. Mas esta está bem representada. Sempre. Em uma democracia, nada natural que Tiricas e Sílvios Santos arrebentem nas urnas, afinal, o que importa é popularidade. O Lula sabe disso. O Serra sabe disso. Coitado, acho que o Cristóvão Buarque não sabia. Bom, vamos lá. Cada voto é muito importante... É, deve ser.Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com1tag:blogger.com,1999:blog-20180549.post-27666292828014693182010-05-27T15:48:00.003-03:002013-07-08T14:28:12.061-03:00Idioma do Netbeans e JBossPara mudar o idioma do seu Netbeans para inglês, basta invocar <code style="background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 18px; margin: 0px; padding: 1px 5px; vertical-align: baseline;">Netbeans.exe --locale en</code>. Cuidado, são 2 hífens!!!<br />
<br />
Para o JBoss logar em inglês, basta incluir o argumento de VM <code style="background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 18px; margin: 0px; padding: 1px 5px; vertical-align: baseline;">-Duser.language=en</code>.Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-1654347491236650442010-04-28T12:37:00.000-03:002010-04-28T12:37:41.994-03:00Verbosrequisitos, quesitos, inquisição, questão<br />
requerer, querer, inclusão, reclusão<br />
racionalidades finalizando sonhos<br />
metas enfileirando vidas<br />
vital, mortal, imoral<br />
(26 de abril de 2010, 16h30)Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-42006228047927420512010-04-14T13:52:00.003-03:002010-04-14T14:07:07.601-03:00Alice no País das Maravilhas no IPAD - Eu Quero Um!!!<object width="620" height="385"><param name="movie" value="http://www.youtube.com/v/gew68Qj5kxw&color1=0xb1b1b1&color2=0xcfcfcf&hl=en_US&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/gew68Qj5kxw&color1=0xb1b1b1&color2=0xcfcfcf&hl=en_US&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="620" height="385"></embed></object>Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-80173329310551401552010-04-09T09:48:00.001-03:002010-04-14T13:44:29.503-03:00Imagens com resolução em GigapixelsNo trabalho, uma amiga veio me mostrar um aplicativo que ela acabara de instalar no seu iphone: fotos tiradas em gigapixels. Fascinante!! É possível ampliar a imagem mais de 15 vezes. Fui procurar na internet, e vejam o que achei, Paris com ampliação de 21x!!!<br />
<br />
<a href="http://www.paris-26-gigapixels.com/index-en.html">Paris em Gigapixels</a><br />
<a href="http://gigapixelphotography.com/vancouver-yaletown-condos/">Vancouver Yaletown Condos</a>Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-52188912221833335422010-04-07T23:12:00.000-03:002010-04-07T23:12:33.626-03:00Hospital do HomemO Governo do Estado de São Paulo investiu R$ 2 milhões na compra de equipamentos de ultrassom, urologia, litotripsia (que destrói o cálculo renal através de ondas de impacto).<br />
O Hospital do Homem ocupa uma área de 1,1 mil m².<br />
A unidade reune especialidades médicas como andrologia, patologias da próstata e urologia, além dos núcleos de alta resultabilidade (check-up) e de ensino e pesquisa.<br />
O departamento de patologias da próstata é dividido em dois setores: diagnóstico e tratamento das DST, prostatites (infecções da próstata causadas por bactérias e vírus) e prevenção do HIV e HPV; e tumores (câncer e hiperplasia benigna da próstata).<br />
Já na área de urologia, o Centro conta com profissionais de nefrourologia (hipertensão renovascular e transplante renal), endocrinourologia, neurourulogia (disfunções da vesícula, uretrais e incontinência urinária) e urologias geriátrica e plástica.<br />
<br />
AJUDE A DIVULGAR, POIS POR DESCONHECER OS SERVIÇOS, O USO TEM SIDO PEQUENO E NÃO JUSTIFICA O INVESTIMENTO<br />
O Hospital do Homem funciona onde é o Hospital Brigadeiro.<br />
Av. Brigadeiro Luis Antonio, 2.651 - Jd. Paulista - São Paulo/SP<br />
Telefone: (11) 3289-2421 (11) 3289-2421 (11) 3289-2421 (11) 3289-2421 <br />
Fax: (11) 3284-8650<br />
<br />
<br />
<br />
<br />
<br />
<a href="http://noticias.terra.com.br/brasil/interna/0,,OI3768307-EI306,00.html">http://noticias.terra.com.br/brasil/interna/0,,OI3768307-EI306,00.html</a><br />
<br />
<br />
<br />
Hospital do Homem tem atendimento ocioso em SP<br />
<br />
<br />
<br />
Um ano após a sua inauguração, Hospital do Homem apresenta ociosidade Foto: Governo do Estado/Divulgação<br />
<br />
Um dos leitos do hospital apresentado no dia da inauguração<br />
Foto: Governo do Estado/Divulgação<br />
<br />
Vagner Magalhães<br />
<br />
Direto de São Paulo<br />
<br />
Inaugurado em abril do ano passado como o primeiro do Brasil voltado exclusivamente à saúde masculina, o Hospital do Homem, em São Paulo, trabalha com capacidade ociosa. Com previsão inicial de atender até 3 mil pacientes por mês, o local recebe hoje cerca de 1,2 mil. Dados da Secretaria da Saúde apontam que foram gastos R$ 2 milhões para o início das operações e mais R$ 1 milhão em equipamentos.<br />
<br />
Segundo a direção do hospital, mensalmente são realizadas ainda 110 cirurgias e 40 biópsias de próstata para a detecção de um possível câncer. Os exames de ultrassom, para pacientes com cálculo renal, são cerca de 1 mil por mês. Estimativa do Instituto Nacional do Câncer, ligado ao Ministério da Saúde, aponta que no ano passado, mais de 49 mil brasileiros apresentaram novos casos de câncer de próstata.<br />
<br />
De acordo com João Carlos Vicente de Carvalho, diretor técnico da instituição, o Hospital do Homem só estará completamente pronto no fim deste ano, quando o prédio passará dos atuais 14 para 30 leitos.<br />
<br />
"A nossa capacidade instalada daria para atender 6 mil consultas em ambulatório. Eu faço a consulta, faço o diagnóstico, mas como eu não tenho o hospital pronto eu não vou conseguir operar na velocidade necessária", diz. A estimativa é que, com tudo pronto, possam ser feitas 300 cirurgias mensais.<br />
<br />
Porém, Carvalho admite que será difícil chegar a esse número. "Temos outros bons serviços de oncologia em São Paulo, como o Hospital Ipiranga e o Instituto de Oncologia de São Paulo, na avenida Doutor Arnaldo. Com isso, fica difícil atingir essa marca".<br />
<br />
Ainda assim, ele avalia que possíveis falhas na orientação podem afastar os pacientes do local. Para ser atendido no Hospital do Homem, o interessado tem de passar primeiro no clínico ou urologista, em postos de saúde municipais, para posteriormente ser encaminhado.<br />
<br />
"Eu acho que tem gente ainda que poderia vir e ser atendido. O que precisa é esse paciente ser orientado a procurar o lugar certo. O serviço está divulgado. Dentro do SUS (Sistema Único de Saúde), você tem o nível municipal, estadual e federal. O atendimento básico, acontece mais em nível de prefeitura. Nós temos um acerto com a prefeitura e trabalhamos juntos. Esses pacientes, ou estão sendo atendidos em outros locais ou não sei o que está acontecendo. Ou também não existem."<br />
<br />
Outra justificativa encontrada por pessoas ligadas ao setor de saúde para a baixa procura é que os homens - por uma questão cultural - só procuram o sistema de saúde em caso de emergência.<br />
<br />
"Tem um pouco de verdade nisso. O homem é sempre mais desleixado com a saúde do que as mulheres. Homem só vai ao hospital quando não tem outro jeito", diz o vendedor André Luiz Cerqueira, 30 anos. Praticamente em frente ao prédio do Hospital Brigadeiro, que abriga o Hospital do Homem em São Paulo, ele desconhecia a sua existência.<br />
<br />
"É sem dúvida uma boa iniciativa, mas acredito que falte um pouco de informação", diz o bancário Carlos Alberto Cruz, 45 anos.<br />
<br />
"Normalmente procuro o atendimento básico no meu bairro, mas não sabia que isso aqui existia. Com certeza, tem muita gente que está precisando que não sabe", afirma.<br />
<br />
Tanto o Estado quanto o município informaram que as consultas são marcadas de acordo com as necessidades dos pacientes e que o sistema tem outros locais onde o tratamento pode ser realizado.<br />
<br />
Mensagens eletrônicas disparadas pela Internet pedem a divulgação do serviço e questionam o investimento, por conta da baixa procura.<br />
<br />
"Não é bem assim. Um hospital que atende 1.200 consultas, faz essas cento e poucas cirurgias. Tá fazendo a biópsia. Não tem mais fila de próstata. A capacidade instalada existe. O que falta é chegar mais paciente. Se não chegar paciente, não temos como atender", diz Carvalho.<br />
<br />
O Hospital do Homem está instalado no prédio do Hospital Brigadeiro. Fica na avenida Brigadeiro Luís Antônio 2.651, próximo à avenida Paulista.Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-20804483150585597642010-02-01T14:39:00.000-02:002010-02-01T14:39:20.913-02:00A ARTE DE SER FELIZ, Cecília MeirelesHouve um tempo em que minha janela se abria sobre uma cidade que parecia ser feita de giz. Perto da janela havia um pequeno jardim quase seco. Era uma época de estiagem, de terra esfarelada, e o jardim parecia morto. Mas todas as manhãs vinha um pobre com um balde e, em silêncio, ia atirando com a mão umas gotas de água sobre as plantas. Não era uma rega: era uma espécie de aspersão ritual, para que o jardim não morresse. E eu olhava para as plantas, para o homem, para as gotas de água que caíam de seus dedos magros e meu coração ficava completamente feliz. Às vezes abro a janela e encontro o jasmineiro em flor. Outras vezes encontro nuvens espessas. Avisto crianças que vão para a escola. Pardais que pulam pelo muro. Gatos que abrem e fecham os olhos, sonhando com pardais. Borboletas brancas, duas a duas, como refletidas no espelho do ar. Marimbondos que sempre me parecem personagens de Lope de Vega. Às vezes um galo canta. Às vezes um avião passa. Tudo está certo, no seu lugar, cumprindo o seu destino. E eu me sinto completamente feliz. Mas, quando falo dessas pequenas felicidades certas, que estão diante de cada janela, uns dizem que essas coisas não existem, outros que só existem diante das minhas janelas, e outros, finalmente, que é preciso aprender a olhar, para poder vê-las assim.Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-2084535984894460692009-09-25T11:33:00.000-03:002009-09-25T11:33:31.756-03:00Cache de imagem no IE 6Para forçar o cache de imagens no IE6, achei esse javascript:<br />
<br />
try {<br />
document.execCommand("BackgroundImageCache", false, true);<br />
} catch(err) {}<br />
<br />
E o pior, funciona!<br />
<br />
Encontrei este código <a href="http://aspnetresources.com/blog/cache_control_extensions.aspx#cmt1599">aqui</a>.Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-87539343440178101122009-08-28T15:30:00.002-03:002009-08-28T15:52:15.836-03:00Java Native Access (JNA)JNA provides Java programs easy access to native shared libraries (DLLs on Windows) without writing anything but Java code—no JNI or native code is required. This functionality is comparable to Windows' Platform/Invoke and Python's ctypes. Access is dynamic at runtime without code generation.<br />
<br />
JNA allows you to call directly into native functions using natural Java method invocation. The Java call looks just like it does in native code. Most calls require no special handling or configuration; no boilerplate or generated code is required.<br />
<br />
The JNA library uses a small native library stub to dynamically invoke native code. The developer uses a Java interface to describe functions and structures in the target native library. This makes it quite easy to take advantage of native platform features without incurring the high overhead of configuring and building JNI code for multiple platforms.<br />
<br />
While some attention is paid to performance, correctness and ease of use take priority.Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-44256123478889400862009-08-28T11:38:00.000-03:002009-08-28T11:40:43.227-03:00<blockquote><a href="http://www.sys-con.com/node/1086146">OpenXava 3.1.4: Open Source Framework to Develop WebSphere Portal Applications</a><br />— OpenXava 3.1.4 is an open source framework to rapid development of Portlet Enterprise applications deployable in WebSphere Portal 6.1.<br /><br />With OpenXava, you only need to write your model, POJOs and Java annotations. You do not need to write the view, and the controller (for CRUD, printing, etc) is reused. And from that you'll have an application for CRUD, report generation in PDF, export to Excel, searching, sorting, validations etc. You only need to write a simple Java class, no XMLs, no JSPs and no code generation.</blockquote>Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0tag:blogger.com,1999:blog-20180549.post-43915962568977750352009-06-18T11:25:00.000-03:002009-06-18T11:32:58.674-03:00Paginação no DisplayTag com Jquery<br /><br />Basta interceptar o click no links de paginação. Sendo que a tag displaytag:table está dentro de um div com id='ajxDspId':<br /><br /><pre><br />$(function() {<br /> $('span.pagelinks>a, table#dispTable>thead>tr>th>a').live('click', function(){<br /> $.get($(this).attr('href')<br /> , function(responseText, status, xmlHttpRequest){<br /> $('#ajxDspId').html($('#ajxDspId', responseText).html());<br /> }<br /> )<br /> return false;<br /> })<br />});<br /></pre>Blog do Valdemarhttp://www.blogger.com/profile/07984108022035588559noreply@blogger.com0