13 001

Re: Тема для розмов

Можу помилятися, та без Kubernetes це ще не "воно"; плюс в будь-який момент через фінансову пропозицію а також вподобання клієнта на проекті можуть вибрати клауд GCP чи Azure, і тоді самих лише знань AWS буде зовсім недостатньо; та й серед перерахованих AWS зараз потрібно знати навколо-ML сервіси; плюс якщо на проекті нема сек'юріті офіцера, тоді ці питання лягатимуть теж на девопса - налаштування файрвола, політика видачі та ротейту токенів етц.

Ну ось так в моєму обмеженому розумінні виглядає стек девопса.

13 002

Re: Тема для розмов

тоді я не девопс.

13 003

Re: Тема для розмов

Що таке devops?

13 004

Re: Тема для розмов

javascriptIsLife написав:

Що таке devops?

DevOps (акронім від англ. development і operations) — низка практик, призначених для пожвавлення взаємодії розробників із фахівцями інформаційно-технологічного обслуговування та зближення їхніх робочих процесів одне з одним. Ґрунтується на думці про тісну взаємозалежність між розробкою та використанням програмного забезпечення і має на меті допомогти організаціям швидше створювати та оновлювати програмні продукти та послуги.

13 005

Re: Тема для розмов

Нічого не зрозуміло.

13 006

Re: Тема для розмов

В однокласника є жона. В жони є подружка без сексу вже 3 роки. Треба гроші їй на якісь подарунки. Скидайтесь мені або я можу поступитися. Якщо назбирається достатня сума, вишлю фотографії доброзичиливцям.

13 007

Re: Тема для розмов

javascriptIsLife написав:

В однокласника є жона. В жони є подружка без сексу вже 3 роки. Треба гроші їй на якісь подарунки. Скидайтесь мені або я можу поступитися. Якщо назбирається достатня сума, вишлю фотографії доброзичиливцям.

:|

13 008 Востаннє редагувалося 0xDADA11C7 (08.02.2022 19:39:13)

Re: Тема для розмов

Сьодні мені вперше задобився тип даних char*** аж довелося стрілочками малювати, щоби зрозуміти.

13 009

Re: Тема для розмов

0xDADA11C7 написав:

Сьодні мені вперше задобився тип даних char*** аж довелося стрілочками малювати, щоби зрозуміти.

і як він вам?

13 010

Re: Тема для розмов

Може краще все ж якось інакше. Якусь інкапсуляцію зробити, фабрику класів, сінгтон вкінці-кінців.

13 011

Re: Тема для розмов

ооп з наслідуванням фігня, функції з композицією топ

13 012

Re: Тема для розмов

А тепер в мене інші душевні муки... побачив я той кід, написаний індусами... і тепер не знаю, чи варто воно того підвищення :)

13 013

Re: Тема для розмов

bvn написав:

А тепер в мене інші душевні муки... побачив я той кід, написаний індусами... і тепер не знаю, чи варто воно того підвищення :)

а шо з ним не так?

13 014 Востаннє редагувалося 0xDADA11C7 (08.02.2022 22:52:38)

Re: Тема для розмов

Vo_Vik написав:

Може краще все ж якось інакше. Якусь інкапсуляцію зробити, фабрику класів, сінгтон вкінці-кінців.

Я пишу мовою С, а не С++ принципово, тому ООП можливо застовувати, але кишками назовні. Щодо шарів абстракцій, то з ними все в порядку.
Як я дійшов до char***?
Спочатку я послуговувався char*:

char *p = strdup("перша стрічка");

Потім мені довелося створити список стрічок, це вже char**:

char *list[] = {strdup("перша стрічка"), strdup("перша стрічка"), strdup("перша стрічка")}

А тоді мені довелося створити функцію, яка приймає як аргумента вказівник на список стрічок. щоби функція могла працювати зі самим вказівником на список стрічок.
Тобто код має бути десь такий:

DestroyList(char*** ppList, unsigned n);

Але насправді він такий, щоб можна було вивільнювати будь-які вказівники у списку, а не лише ті, що посилаються на стрічки:

DestroyList(void* ppList, unsigned n);

Таким чином, якщо я забуду дописати амперсанд перед змінню, то її функція з'їсть - бо всі типи жере, але в роботі крешнеться:
Правильне застосування функції:

DestroyList(&list, 3);

Неправильне застосування функції:

DestroyList(list, 3);

13 015

Re: Тема для розмов

FakiNyan написав:
bvn написав:

А тепер в мене інші душевні муки... побачив я той кід, написаний індусами... і тепер не знаю, чи варто воно того підвищення :)

а шо з ним не так?

Найпростіше, це дике форматування, яке виправляється натисканням кількох кнопок у будь-якому радакторі. А далі починаються 3-поверхові наслідування контролерів там, де це наслідування ні до якого біса не потрібне... Наявність екшенів у бейзконтролері - це якийсь нонсенс... тобто в усіх контролерах проекту, автоматично з'являються ці екшени... можливо, я ще щось не зрозумів про цей проект, але мені важко собі уявити ситуацію, коли б це знадобилося... Те саме в моделях, замість простого наслідування від фреймворкового ORM'у, там на якийсь ні разу мені не зрозумілий ляд набудовані 3-4 рівневі наслідування.
Кількість логіки у вьюхах зашкалює просто... про джаваскрипт я взагалі мовчу, я в нього ще не вникав, окрім того що там в asset'ах лежить кілька десятків різних jquery-плагінів.

Подякували: FakiNyan1

13 016

Re: Тема для розмов

bvn написав:

Сьогодні мене лиха година зтикнула з тим, з чим я досі не працював - docker. Мені розшарили імедж, сказали запускай, а як запустиш, приходь скажем, що далі робити...
Ну, я навпіл з горем його пульнув... спочатку треба було додати себе у групу docker і ребутнутися (ой боляче), потім вже більш явно вказало, що треба залогінитись.
Короче скачав, а роблю йому ран - воно пише exited (0) 1 second ago
docker logs не показує нічого і я просто в ступорі, що ще я можу подивитися, щоб з'ясувати, чому воно валиться :(
А якби в мене все вийшло, то був би шанс отримати значне підвищення... і я нарешті відчув би себе справжнім програмістом і людиною, а не рабом на галері...

Ребутнути комп чи як? Це не конче, там же лише достатньо відкрити нову сесію shell.

Якщо не запускається, то треба дивитися лоґи, не варто ворожити. Звісно можу припустити, що бракує контейнерові cmd/entrypoint вказівки. Але ви краще гляньте лоґи і киньте сюди в окрему тему разом з вашою командою, якщо самі не зрозумієте.

Подякували: flatliner, 0xDADA11C7, leofun013

13 017

Re: Тема для розмов

bebyk написав:
bvn написав:

Сьогодні мене лиха година зтикнула з тим, з чим я досі не працював - docker. Мені розшарили імедж, сказали запускай, а як запустиш, приходь скажем, що далі робити...
Ну, я навпіл з горем його пульнув... спочатку треба було додати себе у групу docker і ребутнутися (ой боляче), потім вже більш явно вказало, що треба залогінитись.
Короче скачав, а роблю йому ран - воно пише exited (0) 1 second ago
docker logs не показує нічого і я просто в ступорі, що ще я можу подивитися, щоб з'ясувати, чому воно валиться :(
А якби в мене все вийшло, то був би шанс отримати значне підвищення... і я нарешті відчув би себе справжнім програмістом і людиною, а не рабом на галері...

Ребутнути комп чи як? Це не конче, там же лише достатньо відкрити нову сесію shell.

Якщо не запускається, то треба дивитися лоґи, не варто ворожити. Звісно можу припустити, що бракує контейнерові cmd/entrypoint вказівки. Але ви краще гляньте лоґи і киньте сюди в окрему тему разом з вашою командою, якщо самі не зрозумієте.

Ребутнути комп довелося після встановлення докера і додавання себе у групу docker. Воно чомусь ніяк не хотіло мене пускати до /var/run/docker... щось там ще... socket здається. Пермішен денайд та пермішен денайд. А ребутити комп, коли на ньому відкрито 115 віконець, це дуже боляче.
Про логи, я вже писав - що їх ніц немає. Про entrypoint мені підказали, однак це насправді виявився хибний шлях. Трохи допомогло додавання опцій --attach та --interactive, тоді я нарешті добрався до консолі і зміг запустити те, що там всередині потрібно було запустити. А потім виявилось, що фактично все було ок. Треба було лише у vscode встановити remote container і звідти вже отримувати доступ і до терміналу, і до файлової системи.
Коротше, в мене вийшло, якщо з мого наступного допису було не зрозуміло. Тож я вже почав знайомитись з кодом проекту.

Подякували: FakiNyan1

13 018

Re: Тема для розмов

bvn написав:
FakiNyan написав:
bvn написав:

А тепер в мене інші душевні муки... побачив я той кід, написаний індусами... і тепер не знаю, чи варто воно того підвищення :)

а шо з ним не так?

Найпростіше, це дике форматування, яке виправляється натисканням кількох кнопок у будь-якому радакторі. А далі починаються 3-поверхові наслідування контролерів там, де це наслідування ні до якого біса не потрібне... Наявність екшенів у бейзконтролері - це якийсь нонсенс... тобто в усіх контролерах проекту, автоматично з'являються ці екшени... можливо, я ще щось не зрозумів про цей проект, але мені важко собі уявити ситуацію, коли б це знадобилося... Те саме в моделях, замість простого наслідування від фреймворкового ORM'у, там на якийсь ні разу мені не зрозумілий ляд набудовані 3-4 рівневі наслідування.
Кількість логіки у вьюхах зашкалює просто... про джаваскрипт я взагалі мовчу, я в нього ще не вникав, окрім того що там в asset'ах лежить кілька десятків різних jquery-плагінів.

Легенда говорить, що в Індії платять (чи платили раніше) за кількість стрічок в коді і тому замість використання штатної функції часто пишуть свою власну але так щоб ніхто не здогадався що це замінник штатної; крім того важливою особливістю працівників із корінням з Індії (простіше було б сказати - індусів, однак це далеко не завжди буде вірно) є те, що вони мають звичку буквально вгризатися в проект, ставати там так званими "тримачами знань" (knowledge holder / owner), тому пишуть код навмисне таким чином аби було архи-складно в ньому розібратися, документують в публічному confluence мало або так щоб ця документація допомогла лише особисто їм самим згадати пізніше власну логіку. Стикався особисто на одному з проектів - на щастя, це був короткостроковий проект.

13 019

Re: Тема для розмов

frz написав:

за кількість стрічок в коді

Цікаво, чому галичани говорять "стрічка коду" замість "рядок коду". Це такий хитрий росіянізм (від "строчка кода")?

Подякували: koala1

13 020

Re: Тема для розмов

bebyk написав:
frz написав:

за кількість стрічок в коді

Цікаво, чому галичани говорять "стрічка коду" замість "рядок коду". Це такий хитрий росіянізм (від "строчка кода")?

Теж не розумію. Є проблема з двозначністю слова "рядок": line of code - рядок коду і string data type - рядковий тип даних; але тут просто очевидний розв'язок - тип даних зветься стрічкою, це і логічніше (текстові змінні - не рядки в таблиці), і легше запам'ятовується. А от "стрічка коду" - дурнувата калька.

Подякували: bebyk1