<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Apache.Kiev.UA]]></title><description><![CDATA[Мінімалістичний блог про веб-розробку та всяко комп'ютерне]]></description><link>https://apache.kiev.ua</link><generator>GatsbyJS</generator><lastBuildDate>Tue, 11 May 2021 04:40:57 GMT</lastBuildDate><item><title><![CDATA[Трохи вражень після місяця з 3d-принтером Creality Ender 3 V2]]></title><description><![CDATA[На свій день народження я отримав від дружини чудовий подарунок — річ, про яку мріяв останній рік, чи навіть більше — 3d-принтер. Як видно з…]]></description><link>https://apache.kiev.ua/ender3-v2-experience/</link><guid isPermaLink="false">https://apache.kiev.ua/ender3-v2-experience/</guid><pubDate>Sat, 17 Apr 2021 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;На свій день народження я отримав від дружини чудовий подарунок — річ, про яку мріяв останній рік, чи навіть більше — 3d-принтер.&lt;/p&gt;
&lt;p&gt;Як видно з заголовку — це Creality Ender 3 V2.&lt;/p&gt;
&lt;p&gt;Вже з коробки він має досить непогані компоненти, як для бюджетного принтера — 32-бітну материнку з тихими драйверами двигунів, скляну робочу поверхню  з підігрівом. Це дозволяє:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Друкувати під шум тільки вентиляторів материнки, блоку живлення, обдуву хотенду та обдуву самої моделі, замість вищеназваного та техно-музики від моторів.
Впевнений, що ті, хто працював з плотерами уявляють, про що йде мова.&lt;/li&gt;
&lt;li&gt;Друкувати пластиками, які потребують підігрівe столу, щоб від нього не відірватися в процесі друку. Наприклад ABS, PETG.&lt;/li&gt;
&lt;li&gt;Підтягувати паски осей Х та У без використання інструментів — просто крутнути коліщатко.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;З моменту, як принтер біло зібрано і він був готовий до роботи, надруковано  багато тестових моделек Benchy, кубів для калібрації розмірів по всіх трьох осях, купу голих баб, декілька сумнівних апгрейдів для принтеру та навіть пару відносно корисних речей.&lt;/p&gt;
&lt;p&gt;У процесі налаштування та боротьби з дурними помилками, я почав більше експериментувати з налаштуваннями та компонентами принтеру. Було придбано чимало запчастин та надруковано декілька апгрейдів, деякі з них дуже полегшили мені процес друку.
На цей час я можу просто зарядити котушку пластику та запустити модель на друк — мені не потрібно буде слідкувати за тим, щоб не зафейлився перший шар із-за зміни товщини столу від нагрівання, що зазвичай вимагає підкоректовувати Z-відступ вже “на льоту”, поки друкується “skirt”.&lt;/p&gt;
&lt;h2&gt;Апгрейди&lt;/h2&gt;
&lt;p&gt;За трохи більше ніж місяць роботи з принтером, було зроблено декілька апгрейдів, які, якщо не зупинитись, перетворять цей принтер на непогану ілюстрацію парадоксу корабля Тесея.&lt;/p&gt;
&lt;h3&gt;Маст-хев:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Замінено боуденівську трубку на якіснішу (Capricorn). Має менший діаметр та витримує високі температури, досить непогано можна друкувати поліуретаном (TPU).&lt;/li&gt;
&lt;li&gt;Надруковано вставки для фіксації гвинтів, що використовуються для виставлення рівня робочої поверхні. Рекомендую цей апгрейд робити якнайшвидше — заощадить вам купу часу та нервів на виставлення рівня поверхні між принтами.&lt;/li&gt;
&lt;li&gt;Замінено екструдер на металевий. Без цього можна було б обійтись, на якийсь час, але у самий неочікуваний момент рідний пластиковий екструдер би тріснув — рано чи пізно, у процесі заміни філаменту, чи просто посеред друку. &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Позбавлення від шуму:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Надруковано ніжки з поліуретану, щоб підняти принтер десь на 5 см від столу, бо інакше не влізуть кришки з більшими вентиляторами.&lt;/li&gt;
&lt;li&gt;Замінено нижню кришку материнки з 4 см кулером на надруковану кришку з 9 см вентилятором та платою конвертеру напруги з 24 на 12 вольтів. Стало тихіше, та відчутно менше зсувів між шарами, але вони ще траплялися.&lt;/li&gt;
&lt;li&gt;Замінено кришку блоку живлення на версію з 9 см вентилятором — так тихіше.&lt;/li&gt;
&lt;li&gt;Замінено всю материнку, бо зсуви шарів все ще відбувалися, і руйнували в цілому непогані принти. Була версія материнки 4.2.2, з якою були проблеми не тільки у мене. Придбав плату ревізії 4.2.7 — зсуви шарів припинилися.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Покращення якості друку:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Вбито купу фітингів для боуденівської трубки, бо ця курва періодично починає рухатись на 1.5-2мм під час ретракцій, коли друкую з PETG. А це вбиває всю суть ретракції, і привіт — соплі з пластику у рандомних місцях принтів. Досі не можу розв’язувати цю проблему якимось більш-менш охайним шляхом — просто вставляти стопорні кліпси для фітингу не допомагає, якщо замотати ізолентою та затягнути стяжками — трохи допомагає, але виглядає просто жахливо, і у разі чого розбирати це жахіття потрібно буде хвилин п’ять.&lt;/li&gt;
&lt;li&gt;Замінено всю пластикову частину системи обдуву — спочатку на Satsana(стало трохи краще з друком горизонтальних висячих у повітрі ліній), потім на якусь з варіацій Fang(обдув став відчутно сильнішим). У обох випадках обидва вентилятори (обдув хотенду та турбіна для обдуву деталі) були замінені на 4020 вентилятори на 24 вольти.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;У травні зроблено ще пару апгрейдів:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Замінив материнку та дисплей на альтернативні від Bigtreetech: Материнка SKR Mini E3 V2, Дисплей - TFT35 V3.0. Причина — я дурень, і записав модель для друку на флешку, на яку встановлена операційна система для Raspberry Pi. Скоріш за все, принтер побачив там .bin файл бутлоадера від Малинки, та тупо затер їм свій бутлоадер материнки. Дурнішого способу уграти бутлоадер я поки що не бачив.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Встановив китайський клон BLTouch - 3DTouch&lt;/strong&gt; (із нюансів там — переплутані два контакти, тому раджу ретельно перевірити схему підключення, якщо вирішите зекономити на купівлі оригінального датчика).&lt;/li&gt;
&lt;li&gt;Залив модифіковану прошивку для нової материнки. Найголовніша її “фішка” — BLTouch/3DTouch виступає у ролі кінцевика Z-осі, тому нарешті можна забути про підбирання Z-відступу при майже кожному друці.&lt;/li&gt;
&lt;li&gt;Переробив на Direct Drive — подачу пластику без боуденівської трубки. Довелось пошукати більш компакту модель кожуху для обдуву, щоб вентилятор не впирався у мотор екструдера, який було перенесено та встановлено над нагрівальним елементом на надруковане кріплення.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Як результат — якість друку досить непогана, можна залишати принтер друкувати 30+ годин, і він не заважатиме спати вночі, та користуватись телефоном для розмов вдень.&lt;/p&gt;
&lt;h2&gt;Трохи спостережень&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Температура робочої поверхні&lt;/strong&gt; вимірюється з боку нагрівального елементу, і фактичне її значення стабільно на 10-12 градусів нижче того, що виставлено у слайсері.
Тобто, коли ви виставите температуру столу у 60 градусів, його поверхня прогрівається тільки на 50.
Я зазвичай додаю 10-15 градусів, щоб стіл таки прогрівся до потрібної для утримання пластику температури.&lt;/p&gt;
&lt;h3&gt;Якщо є можливість — придбайте BLTouch, зекономите купу часу та пластику на підлаштуванні відступу по осі Z&lt;/h3&gt;
&lt;p&gt;BLTouch не є чарівним порятунком від нерівно виставленого нагрівального столу. Він зроблений не для того, щоб ви могли забити на калібровку столу. Так, він заміряє відступи від столу, та зможе їх враховувати при друці, але тільки у певних межах. На так, щоб лівий ближній край столу був на 2 мм вище центру, правий дальній — на 3мм нижче. Таку хуйню навіть алгоритмами не дуже виправиш.&lt;/p&gt;
&lt;p&gt;А от для чого його реально є сенс використовувати — так це для автоматичного знаходження поточного рівня столу, щоб не було необхідності при друці декількох моделей одна за одною, при старті нового друку підлаштовувати “Z-offset” або відступ від сопла до поверхні столу. Бо BLTouch може замінити кінцевик на осі Z (Z-stop), і при кожному старті друку спочатку знаходить поточний рівень столу. І якщо стіл нормально відкалібрований та ви один раз знайшли та прописали різницю висоти між зондом та соплом — все, можна просто запускати модель на друк, і не паритися за те, що після нагріву столу, сопло буде занурюватись у стіл замість того, щоб витримувати 0.15мм від нього.&lt;/p&gt;
&lt;p&gt;В мене тепер не витрачається час на те, щоб “спіймати” нормальну відстань від сопла до столу, щоб вийшов гарний перший шар. Майже немає моделей, які довелось починати друкувати наново із-за невдалого першого шару. Якщо вони і є, то зазвичай із-за того, що я забув змінити швидкість друку у слайсері, коли замінив пластик на інший тип.&lt;/p&gt;
&lt;h2&gt;Є проблеми з адгезією першого шару?&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Малярний скотч&lt;/strong&gt; — непогано покращує адгезію першого шару, якщо не вдається ідеально вирівняти стіл, або його поверхня в принципі не може забезпечити нормальне приліпання. Є сенс його використовувати при друці PETG (мабуть і ABS, але ще не було можливості перевірити). &lt;/p&gt;
&lt;p&gt;Перший шар при друці без малярного скотчу, клею чи лаку для волосся є сенс друкувати &lt;strong&gt;на дуже низькі швидкості&lt;/strong&gt;, якщо там є дрібні елементи типу міліметрових виступів чи гострих кутів. Бо є неілюзорний шанс, що при шкидкості друку на рівні 30-50мм/сек, такий елемент зірве з поверхні, і все буде зіпсовано.&lt;/p&gt;
&lt;p&gt;Також, при друці PETG потрібно &lt;strong&gt;слідкувати за висотою першого шару&lt;/strong&gt;, щоб ві не був дуже розплющений — у цьому випадку, при заповненні всередині контуру, лінії будуть накладатися одна на одну, і буде жахлива поверхня, вкрита зубцями, яки будуть наплавлятися на сопло, і засруть вам всі подальші шари. Для PETG раджу відстань від сопла до столу збільшити десь на половину товщини шару. Тобто, при товщині шару в 0.2 мм, додайте 0.1 мм до Z-offset при друці. Це зменшить кількість надлишків пластику, коли принтер заштриховує перший шар, і той пластик не буде наліпати на сопло, щоб потім через декілька хвилин лишити некрасиву соплю десь на боковій поверхні моделі.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Якщо край першого шару починає загортатися вверх&lt;/em&gt;&lt;/strong&gt;, то це може бути внаслідок надмірного охолодження наступних шарів — спробуйте зменшити силу обдуву моделі. Також, якщо друкуєте з&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Мігрував сайти з VestaCP на myVesta]]></title><description><![CDATA[Виявилось, що VestaCP вже давненько не оновлюється, пулл реквести не мерджаться і так далі. А мені конче необхідно весь зоопарк сайтів, які…]]></description><link>https://apache.kiev.ua/migrated-to-myvesta/</link><guid isPermaLink="false">https://apache.kiev.ua/migrated-to-myvesta/</guid><pubDate>Sat, 16 Jan 2021 16:23:30 GMT</pubDate><content:encoded>&lt;p&gt;Виявилось, що VestaCP вже давненько не оновлюється, пулл реквести не мерджаться і так далі. А мені конче необхідно весь зоопарк сайтів, які я у себе розміщую, перевести на PHP 7.4.&lt;/p&gt;
&lt;p&gt;Поліз шукати інфу на &lt;a href=&quot;https://vestacp.com&quot;&gt;сайті Вести&lt;/a&gt; - щось нічого про свіжі версії ПХП не побачив. Заліз у їх Гітхаб – побачив у ішьюзах, що &lt;a href=&quot;https://github.com/serghey-rodin/vesta/issues/2006&quot;&gt;все погано&lt;/a&gt; з оновленнями, але є альтернативні панелі, які форкнули з Вести.&lt;/p&gt;
&lt;p&gt;Конкретніше - &lt;a href=&quot;https://www.hestiacp.com&quot;&gt;Hestia&lt;/a&gt; та &lt;a href=&quot;https://www.myvestacp.com&quot;&gt;myVesta&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Оскільки я досить лінива людна, та оригінальна Веста мене повністю влаштовувала, то обрав для себе myVesta – там такий саме дизайн, але мейнтейнер проекту поки що його підтримує (але тільки для Дебіану, що не є для мене проблемою).&lt;/p&gt;
&lt;h3&gt;Як я переносив сайти з Вести на майВесту&lt;/h3&gt;
&lt;p&gt;У моєму випадку, я маю два VPS - один з VestaCP, інший без нього, але має вільного місця достатньо, щоб туди завантажити бекапи.
Додаю публічний ключ першого серверу на другий для того, щоб простіше було перекидати файли через rsync, потім десь таким чином переношу папку бекапу з першого на другий:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shell&quot;&gt;&lt;pre class=&quot;language-shell&quot;&gt;&lt;code class=&quot;language-shell&quot;&gt;&lt;span class=&quot;token function&quot;&gt;rsync&lt;/span&gt; -av /backup root@server-ip-here:/backup&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Після цього я перевстановив систему на першому сервері наново, та інсталював myVesta
Коли інсталяція завершилась і я трохи потестив, як все працює (а воно так само працює, не помітив різниці зі старою Вестою), і перекинув бекапи назад.
Потім відновив дані користувацьких акаунтів разом із сайтами/бд/хз командою виду&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;v-restore-user Username archive-date.tar&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;І воно нормально запрацювало, ура. Дуже просто і ненапряжно. Більше часу витратив на перекидання архівів з бекапами туди-сюди.&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Намагаюсь виправдати придбання макбуку]]></title><description><![CDATA[У будь-якому обговоренні пристроїв від Епл обов’язково хтось згадає про більш дешеві альтернативи і можливо навіть назове всіх хто купує…]]></description><link>https://apache.kiev.ua/macbook-isnt-that-bad/</link><guid isPermaLink="false">https://apache.kiev.ua/macbook-isnt-that-bad/</guid><pubDate>Sun, 10 Jan 2021 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;У будь-якому обговоренні пристроїв від Епл обов’язково хтось згадає про більш дешеві альтернативи і можливо навіть назове всіх хто купує техніку від Епл хом’ячками, які не розуміють, що на них сильно наварюються американські капіталісти.&lt;/p&gt;
&lt;p&gt;Спробую якомога нейтральніше описати плюси та мінуси еплівських ноутбуків та сценарії використання, які виправдовують вибір саме макбуків.&lt;/p&gt;
&lt;h2&gt;Мінуси&lt;/h2&gt;
&lt;p&gt;Почнемо з мінусів, які можуть повністю відбити бажання придбати макбук:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ціна (досить часто можна знайти ноут з подібними або кращими характеристиками значно дешевше)&lt;/li&gt;
&lt;li&gt;Вартість ремонту та наявність запасних частин (ремонт нових моделей значно ускладнюється відсутністю зачастин у вільному продажу — досить часто єдиним варіантом буде використання донорського ноуту)&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;За замовченням там стоїть MacOS, тому у порівнянні з Windows там:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;гарячі клавіші інші&lt;/li&gt;
&lt;li&gt;файловий менеджер інший&lt;/li&gt;
&lt;li&gt;елементи інтерфейсу та взаємодія з ними інша&lt;/li&gt;
&lt;li&gt;немає клавіші “Insert” на клавіатурі&lt;/li&gt;
&lt;li&gt;для повноцінного користування вбудованим каталогом програм та іншими фічами потрібно зареєструвати обліковий запис AppleID&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Неможливо проапгрейдити після купівлі (оперативна пам’ять та SSD припаяні) без втрати гарантії виробника та залучення спеціалістів та відповідного обладнання (хоча при наявності — ще є вірогідність зробити це не замінюючи материнську плату)&lt;/li&gt;
&lt;li&gt;Клавіатура попередніх поколінь (Butterfly Keyboard) — збільшена вірогідність, що при потраплянні пилу почнуть задвоюватись деякі літери або просто погано натискатимуться клавіші. Просто почистити таку клавіатуру майже не реально — доведеться замінювати всю верхню частину корпусу, якщо скінчилась гарантія. Якщо вона не скінчилась — тут вже як пощастить із гарантійним обслуговуванням. Залежить від країни та людей, які працюють у сервісі&lt;/li&gt;
&lt;li&gt;Flexgate — недолік дизайну моделей 2016-2019 років, із-за якого з часом перетирався шлейф підсвітки екрану. Просто замінити його досить важко — потрібно буде розклеювати екран та повністю замінювати всю збірку системи підсвітки, бо вона є одним цілим зі шлейфом.&lt;/li&gt;
&lt;li&gt;Staingate — у деяких ноутів злазить антиблікове покриття екрану. Досить неоднозначна штука — причини виникнення незрозумілі, із варіантів дешево вирішити проблему — повністю стерти це покриття за допомогою хімічних засобів.&lt;/li&gt;
&lt;li&gt;Якщо встановити Windows на сучасні моделі ноуту з інтелівським процесором, то пристрій буде нагріватись відчутно сильніше, у порівнянні з роботою під MacOS (ця проблема вирішується за допомогою програми ThrottleStop)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Плюси&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Висока якість виготовлення та використані матеріали&lt;/li&gt;
&lt;li&gt;Зручна клавіатура. У новіших поколінь (Magic Keyboard) — вона не має проблем з потраплянням пилу, можна зняти ковпачки без їх руйнування та почистити клавішу&lt;/li&gt;
&lt;li&gt;Гарний трекпад — скляна поверхня, велика площа, висока чутливість та гарний контроль руху курсору&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;MacOS:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Фізично зручніші комбінації хоткеїв (command-C замість control-C як приклад)&lt;/li&gt;
&lt;li&gt;Чітке притримування роботи хоткеїв у межах стадартних програм&lt;/li&gt;
&lt;li&gt;Однотипні шляхи взаємодії з елементами інтерфейсу у межах всіх програм, які написані із дотриманням офіційних рекомендацій для розробників&lt;/li&gt;
&lt;li&gt;Дуже зручне перемикання між повноекранними програмами за рахунок свайпів по трекпаду — відчутно швидше/легше, ніж з використанням Alt-Tab (спробуйте поперемикатись обома варіантами коли у вас відкрито більше двох повноекранних програм, і відчуйте, наскільки швидко втомиться рука від переставляння пальців між Alt-Tab та Alt-Shift-Tab у порівнянні з свайпом по трекпаду)&lt;/li&gt;
&lt;li&gt;Нормально інтегрований у систему інтерфейс терміналу (маю на увазі Command Line Interface), хоткеї працюють так само, як у інших системних програмах, за рахунок Homebrew та інших менеджерів пакетів ви зможете легко встановити більшість юніксових програм та утиліт&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;З чим ви порівнюєте його, коли кажете, що він невиправдано дорогий?&lt;/h2&gt;
&lt;p&gt;Макбук ніколи не був бюджетним пристроєм, або ігровим. Тому, порівнювати з бюджетними Асусами, Асерами і так далі буде досить неправильно. Ніхто ж не каже, що Ренж Ровер — невиправдано дорогий, бо можна було придбати замість ноього п’ять Ланосів.
Якщо порівнювати, то потрібно це робити з чимось із тієї самої категорії.
І тут виявиться, що Dell XPS або Thinkpad X серії не набагато дешевші при близьких характеристиках, а інколи — навіть дорожчі.&lt;/p&gt;
&lt;h2&gt;Трохи міркувань про “нецільое” використання макбуку&lt;/h2&gt;
&lt;p&gt;Хоч людина може робити будь-що із своєю власністю, для деяких цілей макбук буде дійсно невиправданим вкладенням коштів.
Наприклад:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Якщо його єдине використання це перегляд Ютубу чи аналогічних сервісів, соцмереж чи онлайн-ігри&lt;/li&gt;
&lt;li&gt;Подарунок дитині, яка не має на меті вивчати програмування, і попросить поставити на нього Windows, щоб можна було нормально пограти в ігри (так, є ігри для MacOS, але у них трохи інша аудиторія, та і вибір досить обмежений)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Для чого макбук реально добре підходить за рахунок його ОС чи апаратних характеристик&lt;/h2&gt;
&lt;p&gt;Із мого досвіду, набралось декілька юз-кейсів, де макбук є дуже ефективним пристроєм для вирішення задач на постійній основі, таких як:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Програмування для вебу (особливо, якщо ви користуєтесь терміналом кожного дня, див. пункт 4.5 “плюсів”)&lt;/li&gt;
&lt;li&gt;Програмування для iOS, MacOS (хоча можна використати віртуальну машину, або зібрати хакінтош, але зручність роботи за такою системою трохи менша, ніж нативно)&lt;/li&gt;
&lt;li&gt;Робота з графікою, текстом, верстка — завдяки цьому еплівськи комп’ютери спочатку і отримали популярність, оскільки були максимально “заточені” під це.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Якщо ви не згодні зі мною, або хочете доповнити цю інформацію — будь ласка, залиште коментар. Дякую.&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Використовуємо різні SSH-ключі для різних Github-акаунтів]]></title><description><![CDATA[Проблема: Є ситуація - мені потрібно постити у два блоги, що працюють на Гестбі, і вони обидва хостяться на Github.io. Мені було зручніше…]]></description><link>https://apache.kiev.ua/github-different-ssh-keys/</link><guid isPermaLink="false">https://apache.kiev.ua/github-different-ssh-keys/</guid><pubDate>Sun, 29 Nov 2020 23:20:15 GMT</pubDate><content:encoded>&lt;h2&gt;Проблема:&lt;/h2&gt;
&lt;p&gt;Є ситуація - мені потрібно постити у два блоги, що працюють на Гестбі, і вони обидва хостяться на Github.io. Мені було зручніше використовувати авторизацію по приватних ключах при відправці коду у репозиторії. &lt;/p&gt;
&lt;p&gt;З якою проблемою я зіткнувся? Два різні Гітхаб-акаунти не можуть мати однакові SSH-ключі з правами на запис у репозиторій.&lt;/p&gt;
&lt;p&gt;Як це можна вирішити? &lt;em&gt;Не намагатись використовувати однакові ключі.&lt;/em&gt; І ще потрібно буде налаштувати використання різних ключів для різних репозиторіїв за домопогою аліасів.&lt;/p&gt;
&lt;p&gt;Яким чином це зробити? Створити SSH-конфіг, де будуть вказані різні ключі для різних доменів. &lt;/p&gt;
&lt;p&gt;Але, Дімон, які різні домени, якщо у обох випадках це той самий Гітхаб? Добре, це не зовсім домени. Ми можемо створити аліаси на домен Гітхабу, і по ним вже конектитись, використвуючі різні ключі.
Нагадаю, як створювати новий SSH-ключ:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shellscript&quot;&gt;&lt;pre class=&quot;language-shellscript&quot;&gt;&lt;code class=&quot;language-shellscript&quot;&gt;ssh-keygen -t rsa&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Воно запитає повний шлях до нового файлу ключів, там ви вкажете повний шлях типу &lt;code class=&quot;language-text&quot;&gt;~/.ssh/id_rsa2&lt;/code&gt;. Потім вкажете пароль до цього ключа(або ні, але не робть так, як що не можете забезпечити надійне його зберігання). Шлях для файлу вам ще знадобиться для створення конфігу.&lt;/p&gt;
&lt;h2&gt;Головна частина:&lt;/h2&gt;
&lt;p&gt;Створюємо сам конфіг, за шляхом &lt;code class=&quot;language-text&quot;&gt;~/.ssh/config&lt;/code&gt;, його вміст виглядатеме приблизно так:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shellscript&quot;&gt;&lt;pre class=&quot;language-shellscript&quot;&gt;&lt;code class=&quot;language-shellscript&quot;&gt;Host git-secondary
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa2
	IdentitiesOnly yes&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Таких секцій &lt;code class=&quot;language-text&quot;&gt;Host ...&lt;/code&gt; може бути декілька.&lt;/p&gt;
&lt;p&gt;Там ви вже бачите знайомия шлях до альтернативного ключу: &lt;code class=&quot;language-text&quot;&gt;~/.ssh/id_rsa2&lt;/code&gt;. А аліас &lt;code class=&quot;language-text&quot;&gt;git-secondary&lt;/code&gt; ви зможете використовувати, коли будете клонувати код з того репозиторію, де вказали цей новий ключ, де замість&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shellscript&quot;&gt;&lt;pre class=&quot;language-shellscript&quot;&gt;&lt;code class=&quot;language-shellscript&quot;&gt;git clone git@github.com:your_account_name/your_repo.git&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;вже напишете ось так:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;shellscript&quot;&gt;&lt;pre class=&quot;language-shellscript&quot;&gt;&lt;code class=&quot;language-shellscript&quot;&gt;git clone git@git-secondary:your_account_name/your_repo.git&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;І все - воно використає ключ, який прив’язано до аліасу &lt;code class=&quot;language-text&quot;&gt;git-secondary&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Таким чином, можна юзати безліч разних ключів для одного і того хосту, просто використовуючи аліаси до нього.&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Починаємо наново]]></title><description><![CDATA[От я і перевів свій онлайн-щоденник на Node.js, хоча взагалі раніше писав тільки на PHP.
На чому він працює: Все білдиться у Gatsby.js з…]]></description><link>https://apache.kiev.ua/hello-world/</link><guid isPermaLink="false">https://apache.kiev.ua/hello-world/</guid><pubDate>Mon, 05 Oct 2020 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;От я і перевів свій онлайн-щоденник на Node.js, хоча взагалі раніше писав тільки на PHP.
На чому він працює:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Все білдиться у Gatsby.js з &lt;a href=&quot;https://www.gatsbyjs.com/starters/gatsbyjs/gatsby-starter-blog&quot;&gt;blog starter&lt;/a&gt; темою, переводиться у статичні сторінки при деплойменті у наступному пункті&lt;/li&gt;
&lt;li&gt;Модуль gh-pages для Ноди, щом можна було по-лінивому постити оновлення однією консольною командою&lt;/li&gt;
&lt;li&gt;GitHub Pages, щоб це все запостити (&lt;a href=&quot;https://github.com/ApacheKievUa/ApacheKievUa/&quot;&gt;тут&lt;/a&gt; код цих сторінок у Гітхабі)&lt;/li&gt;
&lt;li&gt;NIC.UA для реєстрації домену&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;Мета цієї авантюри - писати про все, про що заманеться. Наприклад про веб-розробку, або колекцію старимх ноутів, серверів, чи смартфонів.&lt;/p&gt;</content:encoded></item></channel></rss>