<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kesio</title>
    <description>The latest articles on DEV Community by Kesio (@kesio).</description>
    <link>https://dev.to/kesio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F882468%2F9c840106-3453-4902-8f32-6b8afd4d37f6.jpg</url>
      <title>DEV Community: Kesio</title>
      <link>https://dev.to/kesio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kesio"/>
    <language>en</language>
    <item>
      <title>Легкий способ продемонстрировать свой сайт другим</title>
      <dc:creator>Kesio</dc:creator>
      <pubDate>Sun, 04 Jun 2023 10:59:17 +0000</pubDate>
      <link>https://dev.to/kesio/lieghkii-sposob-prodiemonstrirovat-svoi-sait-drughim-11d3</link>
      <guid>https://dev.to/kesio/lieghkii-sposob-prodiemonstrirovat-svoi-sait-drughim-11d3</guid>
      <description>&lt;p&gt;Сегодня хотел бы рассказать о такой библиотеке как &lt;a href="https://www.npmjs.com/package/localtunnel"&gt;localtunnel&lt;/a&gt;. С помощью нее вы можете показать свой сайт другим без сервера и домена. Так же с помощью нее можно работать в паре к примеру один пишет бекенд, другой фронтенд. Этот туннель полностью бесплатный, что очень радует. Я нашел его когда искал альтернативу для ngrok-free.&lt;/p&gt;

&lt;p&gt;Чтобы установить ее на ваш пк для начала скачаем глобально эту библиотеку:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i -g localtunnel
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Теперь просто запускаем ее в консоли&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;lt --port 3000 --subdomain kesiodev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Думаю по флагам тут все понятно. Теперь мой сайт работает на &lt;a href="https://kesiodev.loca.lt/"&gt;https://kesiodev.loca.lt/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Как установить Redis на Arch linux</title>
      <dc:creator>Kesio</dc:creator>
      <pubDate>Mon, 24 Apr 2023 05:16:42 +0000</pubDate>
      <link>https://dev.to/kesio/kak-ustanovit-redis-na-arch-linux-2dag</link>
      <guid>https://dev.to/kesio/kak-ustanovit-redis-na-arch-linux-2dag</guid>
      <description>&lt;p&gt;Сегодня покажу как очень просто можно установить redis на arch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo pacman -S redis
sudo systemctl start redis
sudo systemctl enable redis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Тут мы установили сам редис, запустили его, а после сделали так, чтобы он запускался вместе с системой&lt;/p&gt;

</description>
      <category>redis</category>
      <category>archlinux</category>
    </item>
    <item>
      <title>Установка Postgresql на Arch Linux</title>
      <dc:creator>Kesio</dc:creator>
      <pubDate>Mon, 24 Apr 2023 05:07:03 +0000</pubDate>
      <link>https://dev.to/kesio/ustanovka-postgresql-na-arch-linux-541j</link>
      <guid>https://dev.to/kesio/ustanovka-postgresql-na-arch-linux-541j</guid>
      <description>&lt;p&gt;Простая установка postgresql на arch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo pacman -S postgresql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;При установке postgresql он создаст нового пользователя&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo -iu postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Далее инициализируем кластер баз данных&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;initdb --locale=ru_RU.UTF-8 --encoding=UTF8 -D /var/lib/postgres/data --data-checksums
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Теперь нужно запустить его, а так же сделать так, чтобы он запускался вместе с системой&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl enable postgresql
sudo systemctl start postgresql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cоздадим первую бд&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;createdb названиеБд
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Готово, у вас установлен postgresql на арче, базовый пароль root, а имя пользователя postgres по нему подключаетесь&lt;br&gt;
Чтобы выйти с пользователя postgres, пропишите &lt;code&gt;exit&lt;/code&gt;&lt;/p&gt;

</description>
      <category>archlinux</category>
      <category>postgres</category>
    </item>
    <item>
      <title>Установка nvm (NodeJS) на linux</title>
      <dc:creator>Kesio</dc:creator>
      <pubDate>Mon, 06 Mar 2023 06:38:06 +0000</pubDate>
      <link>https://dev.to/kesio/ustanovka-nvm-nodejs-na-linux-2f3i</link>
      <guid>https://dev.to/kesio/ustanovka-nvm-nodejs-na-linux-2f3i</guid>
      <description>&lt;p&gt;Чтобы установить nodejs сначала установим nvm, для удобной установки разных версий ноды&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;После обновляем .bashrc командой&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;source ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;перезапустите консоль.&lt;br&gt;
и теперь у вас работает nvm, чтобы установить самую новую версию ноды просто напишите&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nvm install node
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;А чтобы установить определенную версию сначала посмотрим доступные версии ноды&lt;/p&gt;

&lt;p&gt;Эта команда выведет все версии, будьте готовы к очень длинному списку&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nvm ls-remote
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;А чтобы посмотреть все подверсии к примеру 18 ноды то пишем&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nvm ls-remote 18
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Тогда он покажет все 18 версии ноды&lt;/p&gt;

&lt;p&gt;К примеру нам нужна v18.14.2 (Latest LTS: Hydrogen)&lt;br&gt;
Пишем просто&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nvm install 18.14.2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;и готово, теперь у вас стоит нода версии 18.14.2&lt;/p&gt;

</description>
      <category>node</category>
      <category>linux</category>
    </item>
    <item>
      <title>Настройка ssh на linux для GitHub.</title>
      <dc:creator>Kesio</dc:creator>
      <pubDate>Mon, 06 Mar 2023 06:11:23 +0000</pubDate>
      <link>https://dev.to/kesio/nastroika-ssh-na-linux-dlia-github-3p9n</link>
      <guid>https://dev.to/kesio/nastroika-ssh-na-linux-dlia-github-3p9n</guid>
      <description>&lt;p&gt;Всем привет. Чтобы клонировать свои репозитории на удаленные сервера нужно выполнить всего несколько шагов. Приятного чтения.&lt;/p&gt;

&lt;h2&gt;
  
  
  1 - Создание ключ пары
&lt;/h2&gt;

&lt;p&gt;Для начала вам нужно сгенерировать два ключа для ssh, один публичный и один приватный.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-keygen -t ed25519
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Нажимаем enter несколько раз.&lt;br&gt;
После этого в вашей домашней директории появится папка &lt;strong&gt;.ssh&lt;/strong&gt;, переходим в нее&lt;/p&gt;
&lt;h2&gt;
  
  
  2 - Создание конфигурации
&lt;/h2&gt;

&lt;p&gt;Создаем в папке &lt;strong&gt;.ssh&lt;/strong&gt; файл &lt;strong&gt;config&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;В нее вставляем вот такой конфиг:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host github.com
 HostName github.com
 IdentityFile ~/.ssh/id_ed25519
 IdentitiesOnly yes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;А теперь сохраняем файл. Если вы никогда не пользовались nano то вам сюда &lt;a href="https://losst.pro/kak-sohranit-fajl-v-nano-linux" rel="noopener noreferrer"&gt;&lt;em&gt;тык&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;после копируем данные с id_ed25519.pub с помощью cat&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cat id_ed25519.pub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;после получаем вот такой текст&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-ed25519 AAAAC3N...LpPG kesio@pc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;копируем его и идем в github, заходим в настройки, ищем пункт &lt;br&gt;
 &lt;code&gt;SSH and GPG keys&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;далее нажимаем на &lt;code&gt;New SSH key&lt;/code&gt; в поле title пишите для вас удобное название подключения и в нижнее поле тот самый ключ.&lt;/p&gt;

&lt;p&gt;Готово! теперь у вас подключен ваш github аккаунт к пк/серверу.&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Как установить MySql на домашнею ubuntu</title>
      <dc:creator>Kesio</dc:creator>
      <pubDate>Sun, 26 Jun 2022 10:15:30 +0000</pubDate>
      <link>https://dev.to/kesio/kak-ustanovit-mysql-na-domashnieiu-ubuntu-199f</link>
      <guid>https://dev.to/kesio/kak-ustanovit-mysql-na-domashnieiu-ubuntu-199f</guid>
      <description>&lt;p&gt;Не буду тянуть кота за яй...Хвост перейдем сразу к делу.&lt;br&gt;
Для начала нужно обновить индекс пакетов ubuntu:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
sudo apt install mysql-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Скипаем настройку потому, что она у нас будет стоять локально для наших проектов которым не нужна никакая защита.&lt;br&gt;
Заходим в mysql панель.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo mysql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Для того, чтобы заходить в phpMyAdmin/Workbench и т.д. нам нужно поставить аутентификацию root с помощью mysql_native_password:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ставить сложный пароль нету смысла ведь это ваш личный пк, советую поставить просто &lt;code&gt;root&lt;/code&gt; дабы не забыть его.&lt;/p&gt;

&lt;p&gt;Теперь пишем &lt;code&gt;FLUSH PRIVILEGES;&lt;/code&gt;, чтобы сервер перезапустился и все вошло в действие. Выходим с помощью &lt;code&gt;exit&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Чтобы войти опять в mysql нужно прописывать &lt;code&gt;mysql -u root -p&lt;/code&gt; тут вводите свой пароль и все, теперь у вас есть доступ.&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>mysql</category>
    </item>
    <item>
      <title>Как пользоваться cookie в NestJS и локальном фронте</title>
      <dc:creator>Kesio</dc:creator>
      <pubDate>Sun, 26 Jun 2022 09:52:00 +0000</pubDate>
      <link>https://dev.to/kesio/kak-polzovatsia-cookie-v-nestjs-i-lokalnom-frontie-380</link>
      <guid>https://dev.to/kesio/kak-polzovatsia-cookie-v-nestjs-i-lokalnom-frontie-380</guid>
      <description>&lt;p&gt;Пишу статьи для себя, что бы не забывать все, но может кому то тоже поможет.&lt;br&gt;
Я написал backend на NestJS, все протестил однако когда решил писать frontend появились сразу проблемы, я не мог сохранить cookie в браузер и потом их прочитать с backend-а. В cookie я хранил jwt-токен.&lt;/p&gt;



&lt;p&gt;Для начала нужно установить cookie-parser.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i cookie-parser @types/cookie-parser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;После заходим в наш main.ts и изменяем его.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as cookieParser from 'cookie-parser';


async function bootstrap() {
  const PORT = 3001;
  const app = await NestFactory.create(AppModule);

  app.use(cookieParser()); // Подключаем

  await app.listen(PORT, () =&amp;gt; console.log(`http://localhost:${PORT}/`));
}
bootstrap();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Используем Response в Контроллере&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@Post('login')
    login(@Res({ passthrough: true }) res: Response) {
        const jwt = "blablawdsfblabla"
        res.cookie('jwt', jwt, { httpOnly: true, secure: false });
        return {
            message: 'success'
        };
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;passthrough - При использование декоратора @Res вы теряете совместимость с функциями NestJS, поэтому чтобы их исправить вы добавляете passthrough: true&lt;br&gt;
httpOnly - запрет на доступ к Cookie из JavaScript-а&lt;br&gt;
secure - для доступа по http, т.е. отключаем защиту (Если поставить тру, то выйдет вот такая ошибка: POST &lt;a href="http://localhost:3001/auth/login"&gt;http://localhost:3001/auth/login&lt;/a&gt; net::ERR_CONNECTION_REFUSED)&lt;/p&gt;



&lt;p&gt;На frontend-е вам нужно будет использовать withCredentials&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;axios.post("http://localhost:3001/auth/login", {
  email: "nurislam@mail.com",
  password: "12345678"
}, {withCredentials: true})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Все, теперь у вас сохраняются куки в браузере, надеюсь помог кому то еще кроме себя. У меня будут в будущем еще статьи для нубов и меня.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>axios</category>
      <category>nestjs</category>
    </item>
  </channel>
</rss>
