13 001

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

bvn написав:

чи їм простіше знайти кого іншого, в кого воно запрацює без подібних танців

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

13 002

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

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

чи їм простіше знайти кого іншого, в кого воно запрацює без подібних танців

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

А що саме має знати девопс, аби бути настільки потрібним на ринку? От я можу налаштувати ci cd nodejs та reactjs проєкту з gitlab та ec2, s3, cloudfront та route53. Я девопс вже?

13 003

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

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

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

13 004

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

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

13 005

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

Що таке devops?

13 006

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

javascriptIsLife написав:

Що таке devops?

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

13 007

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

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

13 008

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

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

13 009

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

javascriptIsLife написав:

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

:|

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

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

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

13 011

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

0xDADA11C7 написав:

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

і як він вам?

13 012

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

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

13 013

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

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

13 014

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

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

13 015

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

bvn написав:

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

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

13 016 Востаннє редагувалося 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 017

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

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

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

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

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

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

13 018

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

bvn написав:

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

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

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

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

13 019

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 020

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

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

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

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

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

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