<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos Utilitários - Adeilson :)</title>
	<atom:link href="https://adeilson.com.br/category/utilitarios/feed/" rel="self" type="application/rss+xml" />
	<link>https://adeilson.com.br/category/utilitarios/</link>
	<description>Anotações ao alcance de todos ! ! !</description>
	<lastBuildDate>Wed, 05 Mar 2025 16:41:04 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
		<item>
		<title>Listar diretórios por tamanho no Linux</title>
		<link>https://adeilson.com.br/2025/03/05/listar-diretorios-por-tamanho-no-linux/</link>
					<comments>https://adeilson.com.br/2025/03/05/listar-diretorios-por-tamanho-no-linux/#respond</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Wed, 05 Mar 2025 16:40:09 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<guid isPermaLink="false">https://adeilson.com.br/?p=795</guid>

					<description><![CDATA[Para listar as pastas node_modules ordenado da maior para a menor segue o comando abaixo.]]></description>
										<content:encoded><![CDATA[
<p>Para listar as pastas node_modules ordenado da maior para a menor segue o comando abaixo.</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>find ~/workspace -type d -name &quot;node_modules&quot; -not -path &quot;*/node_modules/*&quot; -exec du -sh {} \; 2&gt;/dev/null | sort -rh</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2025/03/05/listar-diretorios-por-tamanho-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Arquivo JSON grande no Linux</title>
		<link>https://adeilson.com.br/2021/05/24/arquivo-json-grande-no-linux/</link>
					<comments>https://adeilson.com.br/2021/05/24/arquivo-json-grande-no-linux/#respond</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Mon, 24 May 2021 20:27:09 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<guid isPermaLink="false">https://adeilson.com.br/?p=661</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code># Install tool 
jqsudo apt-get install jq

# Pretty file
jq &#39;.&#39; myFile.json &gt; myFileBeautified.json

# Delete JSON property
jq &#39;del(.[].field.fieldToDelete)&#39; myFile.json &gt; myFileBeautified.json

# Compact file
jq -c &#39;.&#39; myFileBeautified.json &gt; myFileCleaned.json</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2021/05/24/arquivo-json-grande-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Remover node_modules de todos os diretórios no Linux</title>
		<link>https://adeilson.com.br/2021/03/22/remover-node_modules-de-todos-os-diretorios-no-linux/</link>
					<comments>https://adeilson.com.br/2021/03/22/remover-node_modules-de-todos-os-diretorios-no-linux/#respond</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Mon, 22 Mar 2021 14:16:36 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<guid isPermaLink="false">https://adeilson.com.br/?p=646</guid>

					<description><![CDATA[A partir do diretório em que você está execute o comando abaixo:]]></description>
										<content:encoded><![CDATA[
<p>A partir do diretório em que você está execute o comando abaixo:</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>find . -name &quot;node_modules&quot; -exec rm -rf &#39;{}&#39; +</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2021/03/22/remover-node_modules-de-todos-os-diretorios-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Criar um type dos valores de um array de objetos em Typescript</title>
		<link>https://adeilson.com.br/2021/03/17/criar-um-type-dos-valores-de-um-array-de-objetos-em-typescript/</link>
					<comments>https://adeilson.com.br/2021/03/17/criar-um-type-dos-valores-de-um-array-de-objetos-em-typescript/#respond</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Wed, 17 Mar 2021 15:30:39 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[typescript]]></category>
		<guid isPermaLink="false">https://adeilson.com.br/?p=615</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<div class="hcb_wrap"><pre class="prism line-numbers lang-ts" data-lang="TypeScript"><code>export const status = [
  { value: `st1`, label: `Status 1` },
  { value: `st2`, label: `Status 2` },
] as const;

export type StatusType = typeof status[number][`value`];</code></pre></div>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%"></div>
</div>
</div></div>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2021/03/17/criar-um-type-dos-valores-de-um-array-de-objetos-em-typescript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comandos úteis React Native</title>
		<link>https://adeilson.com.br/2020/12/07/comandos-uteis-react-native/</link>
					<comments>https://adeilson.com.br/2020/12/07/comandos-uteis-react-native/#respond</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Mon, 07 Dec 2020 14:04:49 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<guid isPermaLink="false">http://adeilson.com.br/?p=601</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code># get device id
adb devices

# refresh app
adb -s YOU_DEVICE_ID reverse tcp:8081 tcp:8081 && adb -s YOU_DEVICE_ID reverse tcp:9090 tcp:9090 && adb -s YOU_DEVICE_ID shell input text &quot;RR&quot;

# Forward port to you computer
adb reverse tcp:8081 tcp:8081

# Reload
adb shell input text &quot;RR&quot;

# Open react native menu developer on your device
adb shell input keyevent 82</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2020/12/07/comandos-uteis-react-native/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Docker 01 &#8211; Comandos iniciais</title>
		<link>https://adeilson.com.br/2019/02/17/docker-01-comandos-iniciais/</link>
					<comments>https://adeilson.com.br/2019/02/17/docker-01-comandos-iniciais/#respond</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Sun, 17 Feb 2019 19:45:55 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<category><![CDATA[docker]]></category>
		<guid isPermaLink="false">https://adeilson.com.br/?p=544</guid>

					<description><![CDATA[Exemplo de Dockerfile]]></description>
										<content:encoded><![CDATA[
<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code># gerar uma nova imagem a partir de um docker em execução
docker commit 822da9494718 aj/ngnix-ubuntu:1.1

# executar o docker mandando a 80 do docker para a 8080 da máquina física
docker run -i -t -p 8080:80 aj/ngnix-ubuntu:1.1 /bin/bash

# executar o docker mandando a 80 do docker para a 8080 da máquina física sem abrir o shell
docker run -d -i -t -p 8080:80 aj/ngnix-ubuntu:1.1 /bin/bash

# para os dois dockers ficarem visível na rede um para o outro
docker run -it --name web02 --link inspiring_bose:web01 aj/ngnix-ubuntu:1.0 /bin/bash

# iniciar um docker que está parado
docker start 5aacdcd188f4

# obter as informações do docker
docker inspect 5aacdcd188f4

# executar um comando dentro do docker sem entrar nele
docker exec 5aacdcd188f4 /etc/init.d/nginx start

# executar um comando dentro do docker sem entrar nele
docker exec 5aacdcd188f4 ps -ef

# entrar no shell do docker
docker attach 27ed54219d4b

# executar um docker e abrir o shell nele
docker run -i -t ubuntu /bin/bash

# parar todos os dockers no powershell
docker ps -a -q | ForEach { docker stop $_ }

# cria o docker de acordo com o Dockerfile
docker-compose up -d

# cria o docker de acordo com o Dockerfile
docker build -t webserver:1.0 .

# redes
docker network ls

# obter detalhes da rede
docker network inspect laradock_backend

# Para sair do docker sem desliga-lo no powershell
CTRL+Z CTRL+C

# uso de recurso do docker
docker stats

# filtrar os dockers para a exibição
docker ps -f &quot;status=exited&quot;

# exibir todos os dockers
docker ps -a

# instalar o netstat
apt-get install net-tools

# confirmar se o apache está escutando a porta 80
netstat -atunp

# rodar o composer
docker-compose up --force-recreate
</code></pre></div>



<p>Exemplo de Dockerfile</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>FROM ubuntu
MAINTAINER adeilson@gmail.com
RUN apt-get update && apt-get install -y apache2 && apt-get install -y net-tools && apt-get clean
ENV APACHE_LOCK_DIR=&quot;/var/lock&quot;
ENV APACHE_PID_FILE=&quot;/var/run/apache2.pid&quot;
ENV APACHE_RUN_USER=&quot;www-data&quot;
ENV APACHE_RUN_GROUP=&quot;www-data&quot;
ENV APACHE_LOG_DIR=&quot;/var/log/apache2&quot;

LABEL Description=&quot;Webserver&quot;

VOLUME /var/www/html

# RUN /etc/init.d/apache2 start

EXPOSE 80

CMD apachectl -D FOREGROUND</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2019/02/17/docker-01-comandos-iniciais/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Criar arquivos Dummy no Windows</title>
		<link>https://adeilson.com.br/2017/10/18/criar-arquivos-dummy-no-windows/</link>
					<comments>https://adeilson.com.br/2017/10/18/criar-arquivos-dummy-no-windows/#respond</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Wed, 18 Oct 2017 13:22:51 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">http://adeilson.com.br/?p=511</guid>

					<description><![CDATA[Cria 20.000 arquivos de 50Mb For /L %i in (1,1,20000) do fsutil file createnew T%i.tmp 52428800]]></description>
										<content:encoded><![CDATA[<p>Cria 20.000 arquivos de 50Mb</p>
<p>For /L %i in (1,1,20000) do fsutil file createnew T%i.tmp 52428800</p>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2017/10/18/criar-arquivos-dummy-no-windows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Remover o OpenJDK e instalar o OracleJDK no Linux Mint</title>
		<link>https://adeilson.com.br/2017/03/16/remover-o-openjdk-e-instalar-o-oraclejdk-no-linux-mint/</link>
					<comments>https://adeilson.com.br/2017/03/16/remover-o-openjdk-e-instalar-o-oraclejdk-no-linux-mint/#comments</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Thu, 16 Mar 2017 17:27:21 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mint]]></category>
		<guid isPermaLink="false">http://adeilson.com.br/?p=500</guid>

					<description><![CDATA[readlink -f $(which java) sudo apt-get remove &#8211;purge openjdk-* sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo mkdir -p /usr/lib/mozilla/plugins sudo apt-get install oracle-java8-installer]]></description>
										<content:encoded><![CDATA[<p>readlink -f $(which java)<br />
sudo apt-get remove &#8211;purge openjdk-*<br />
sudo add-apt-repository ppa:webupd8team/java<br />
sudo apt-get update<br />
sudo mkdir -p /usr/lib/mozilla/plugins<br />
sudo apt-get install oracle-java8-installer</p>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2017/03/16/remover-o-openjdk-e-instalar-o-oraclejdk-no-linux-mint/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Sequência de números em linha no SQL Server</title>
		<link>https://adeilson.com.br/2017/02/24/sequencia-de-numeros-em-linha-no-sql-server/</link>
					<comments>https://adeilson.com.br/2017/02/24/sequencia-de-numeros-em-linha-no-sql-server/#respond</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Fri, 24 Feb 2017 17:44:03 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql_server]]></category>
		<guid isPermaLink="false">http://adeilson.com.br/?p=496</guid>

					<description><![CDATA[SELECT STUFF((SELECT ' ' + CAST(NUMBER AS VARCHAR) FROM MASTER..SPT_VALUES WHERE NUMBER BETWEEN 2000 AND 2010 FOR XML PATH ('')), 1, 1, ''); &#160;]]></description>
										<content:encoded><![CDATA[<pre class="lang:tsql decode:true ">SELECT
  STUFF((SELECT
    ' ' + CAST(NUMBER AS VARCHAR)
  FROM MASTER..SPT_VALUES
  WHERE NUMBER BETWEEN 2000 AND 2010
  FOR XML PATH ('')), 1, 1, '');</pre>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2017/02/24/sequencia-de-numeros-em-linha-no-sql-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Trabalhar com thread no C# utilizando o TaskFactory</title>
		<link>https://adeilson.com.br/2016/04/05/trabalhar-com-thread-no-c-utilizando-o-taskfactory/</link>
					<comments>https://adeilson.com.br/2016/04/05/trabalhar-com-thread-no-c-utilizando-o-taskfactory/#respond</comments>
		
		<dc:creator><![CDATA[Adeilson]]></dc:creator>
		<pubDate>Tue, 05 Apr 2016 12:08:30 +0000</pubDate>
				<category><![CDATA[Utilitários]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[visual studio]]></category>
		<guid isPermaLink="false">http://adeilson.com.br/?p=471</guid>

					<description><![CDATA[using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //var buffer1 = new BlockingCollection&#60;int&#62;(10); //Qtd maxima de 10 na pilha //var buffer2 = new &#8230; <a href="https://adeilson.com.br/2016/04/05/trabalhar-com-thread-no-c-utilizando-o-taskfactory/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<pre class="lang:c# decode:true">using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //var buffer1 = new BlockingCollection&lt;int&gt;(10); //Qtd maxima de 10 na pilha
            //var buffer2 = new BlockingCollection&lt;int&gt;(10);
            var buffer1 = new BlockingCollection&lt;int&gt;(); //Sem qtd maxima na pilha
            var buffer2 = new BlockingCollection&lt;int&gt;();

            var f = new TaskFactory(TaskCreationOptions.LongRunning,
                                    TaskContinuationOptions.None);

            //List&lt;Task&gt; t = new List&lt;Task&gt;();
            //t.Add(f.StartNew(() =&gt; CreateInitialRange(buffer1)));

            Task[] tasks = new Task[3];

            //Start the phases of the pipeline
            //Task stage1 = f.StartNew(() =&gt; CreateInitialRange(buffer1));
            //Task stage2 = f.StartNew(() =&gt; DoubleTheRange(buffer1, buffer2));
            //Task stage3 = f.StartNew(() =&gt; WriteResults(buffer2));

            tasks[0] = f.StartNew(() =&gt; CreateInitialRange(buffer1));
            tasks[1] = f.StartNew(() =&gt; DoubleTheRange(buffer1, buffer2));
            tasks[2] = f.StartNew(() =&gt; WriteResults(buffer2));

            //wait for the phases to complete
            //Task.WaitAll(stage1, stage2, stage3);
            Task.WaitAll(tasks);

            Console.WriteLine("Pressione uma tecla...");
            Console.ReadLine();
        }



        static void CreateInitialRange(BlockingCollection&lt;int&gt; output)
        {
            try
            {
                for (int i = 1; i &lt;= 50; i++)
                {
                    Console.WriteLine("Inicio {0}, qtd {1}", i, output.Count());

                    //Console.WriteLine("CreateInitialRange {0}", i);
                    Thread.Sleep(200);
                    output.Add(i);
                }
            }
            finally
            {
                output.CompleteAdding();
            }
        }


        static void DoubleTheRange(BlockingCollection&lt;int&gt; input, BlockingCollection&lt;int&gt; output)
        {
            try
            {
                foreach (var number in input.GetConsumingEnumerable())
                {
                    Console.WriteLine("Meio {0}, qtd input {1}, qtd output {2}", number * number, input.Count(), output.Count());
                    Thread.Sleep(400);
                    output.Add(number * number);
                }
            }
            finally
            {
                output.CompleteAdding();
            }
        }


        static void WriteResults(BlockingCollection&lt;int&gt; input)
        {
            foreach (var squaredNumber in input.GetConsumingEnumerable())
            {
                //Console.WriteLine("Result is {0}", squaredNumber);
                Console.WriteLine("Fim {0}, qtd {1}", squaredNumber, input.Count());
                Thread.Sleep(800);
            }
        }

    }
}</pre>
<p>Fonte: <a href="http://www.codeproject.com/Articles/173340/Task-Parallel-Library-of-n" target="_blank">Link</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://adeilson.com.br/2016/04/05/trabalhar-com-thread-no-c-utilizando-o-taskfactory/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
