Сьогодні відбувся реліз Go 1.21 і в цій статті хочу пройтися по найбільш цікавим новинкам.
(більше…)В кінці минулого року мені прийшло нагадування від BlueHost, що термін дії мого блогу в них на платформі доходить до кінця і що перші “дешеві” три роки закінчилися. Нові ціни мене чесно кажучи здивували, за наступні три роки вони виставили рахунок в 400$, що мене мягко кажучи здивувало. Можна подумати, що це вже й не такі великі гроші, але враховуючи малу кількість читачів (в цьому швидше за все винна мала кількість публікацій) я вирішив, що мені це не підходить. Після невеличкого пошуку, я знайшов можливість хоститися на Google Cloud Platform (в подальшому GCP) практично за безплатно. В цій публікції я пройдуся через основні кроки які необхідні для налаштування і міграції сайту з одного хостингу на інший.
(більше…)В цій статті я продемонструю як за допомогою стандартних утиліт оновити ваш Kubernetes кластер до нової версії. Може виникнути питання: якщо в мене все працює і задовільняє в поточній версії Kubernetes, чи є потреба оновлюватися? На мою думку так і головна причина не в нових фічах, а у виправленні помилок в безпеці. Не дивлячись на те що Kubernetes є продуктом з відкритим кодом, над яким працюють тисячі спеціалістів зі всього світу, від помилок ніхто не застрахований Якщо помилка буде знайдена, то її виправлять тільки в останніх кількох версіях. Офіційна політика – підтримка тільки 3-ох останніх мінорних версій Kubernetes. Враховуючи, що в 2020 році був здійснений перехід на трьох разовий реліз то ми отримуємо, що кожна версія Kubernetes підтримується на протязі одного року. А багато security bugs можуть знаходити і в продуктах випущених більше ніж 10 років тому (рекомендую ознайомитися з вразливостями Spectre та Meltdown в процесорах).
(більше…)В цій статті я вас познайомлю з одною потужною тулзою для аналізу покриття коду тестами go test --cover
. Для тих хто займається програмуванням вже певний час слово cover є цілком зрозумілим, для інших дам його переклад – покрити.
Давайте для початку розберемо, що з себе представляє інформація про покриття коду тестами і для чого вона потрібна. Для цього напишемо маленьку програму:
package math
// Max is a function that returns bigger of two numbers.
func Max(a, b int) int {
if a > b {
return a
}
return b
}
(більше…) В минулій статті, нам вдалося налаштувати мережу нашого майбутнього кластеру. Тепер ми будемо встановлювати всі компоненти на головний вузол, без яких не може працювати жоден Kubernetes кластер. Для цього здебільшого будемо слідувати офіціальній інструкції.
(більше…)Перед тим як почати писати про Kubernetes, необхідно мати “живий” кластер, на якому я міг би демонструвати різні функції і можливості цієї системи. В основному ця стаття буде частково переробленою статтею з мого першого блогу, про налаштування Kubernetes на Raspberry PI. На жаль інструкції звідти вже не є актуальними. Протягом останнього року вийшло кілька нових версій Kubernetes i нова версія Debian.
(більше…)В минулому році мені вдалося завершити спеціалізацію на Coursera під назвою Advanced Machine Learning і хотілося б поділитися думкою про цей набір курсів.
(більше…)Вітання всім майбутнім читачам цього блогу.
Ідея завести цей блог появилася в мене більше року назад, але тільки тепер появилася хвилинка часу, щоб серйозно зайнятися наповненням контентом. Найближчі кілька тижнів, ще мабуть буду займатися вивченням WordPress (практично нульовий досвід), налаштуванням зовнішнього виглядку, встановленням цікавих плагінів, тощо. Але тим не менш докладу максимальну кількість зусиль, щоб кожного тижня додавати хоча б по одній статті.
(більше…)