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

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

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

13 022

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

0xDADA11C7 написав:

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

і як він вам?

13 023

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

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

13 024

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

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

13 025

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

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

13 026

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

bvn написав:

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

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

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

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

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

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

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

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

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

13 029

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

bvn написав:

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

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

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

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

13 030

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 031

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

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

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

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

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

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

13 032

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

frz написав:

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

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

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

13 033

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

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

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

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

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

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

13 034

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

Може запам'ятаю, а може й забуду. Тут вживається багато покручів, в тому числі і багато полонізмів котрі нічим не кращі, не певний що без філологічної освіти можна повністю їх позбутися, так щоб колись підсвідомо не вжити знову.

13 035

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

вже майже середина лютого, а ці дивні люди й досі ходять з дзвоником і стукають у двері %)

13 036

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

FakiNyan написав:

вже майже середина лютого, а ці дивні люди й досі ходять з дзвоником і стукають у двері %)

У мене ялинкова гілочка 2 роки висіла, таки пожовтіла, довелось оновити. :)

13 037

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

Нещодавно зрозумів що Windows це в цілому повна срака за винятком деяких речей. Linux краще, але теж відстійчик якийсь. І нам всім потрібно переосмислити будову PC та створити якісь нові ОС. І роль хліба як я гадаю недооцінена в нашому супільстві. Зазвичай хліб є таким собі доповненням до їжі, проте як на мене хліб є самостійним продуктом і, наприклад, зовсімм необовʼязково готувати до мʼяса ще щось якщо на кухні вже є хліб.

13 038

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

безосібний з 9ch.site написав:

Педофілів розвелося, що страшно з біноклем навпроти школи сидіти.

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

13 039 Востаннє редагувалося javascriptIsLife (14.02.2022 19:11:07)

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

Мати повідомила що Росія почне наступ 16 числа. Каже що сина–контратника її колеги не пустили додому. Я вже почав тренуватися стріляти. Поставив Counter-strike 1.6.

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

13 040

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

Якщо ви і граєте в симулятор війни, то треба дивитися правді у вічі (почитайте коментарі москалів десь, і ви зрозумієте про що я кажу) - оця гра є більш реалістичним симулятором:

https://www.youtube.com/watch?v=fou0-3ZYcC8