Как стать автором
Обновить
4
0
Валерий @FloorZ

С++, С#

Отправить сообщение

В настольной игре Starfinder, построенной на базе Pathfinder, есть раса "Ширены". У них в общем три пола. Самец, самка, инкубатор :)


А сама расса получает ментальный оргазм от принятия самостоятельных решений и фанатеют по индивидуализму.


Жанр Космо-фентези.

> DNS-атаки из Роскомнадзора

Роскомнадзор же не признал вину? Значит за этот заголовок вы пойдете по закону об фейках.

Привет остеохондрозу, протрузии и деградации нервных корешков к 25и. Больше я не работаю на овертайме и не тяну сроки до дедлайна

Год назад со мной аналогичный случай был.
Отказали человеку. Начальник сказал "он мне в бати годится, как я его смогу отчитать или позвать побухать?"

Не много не по теме…
А что именно кому-нибудь надо?
Все уже придумано и написано.


Я два месяца так протупил, пытаясь придумать что-то, что кому нибудь нужно. Так и не придумал, все уже есть.

Высокие абстракции — плохо.
Вон я писал фреймворк простой под чужой движ.
Сделал абстрактную ecs, со слоем абстракций и прочим. Все красиво… Но медленно.


Переписал ее. Построил на агрегации шаблонов. Максимальная глубина абстракции в два уровня. И это уже много.
Зато сущность — это композиция в кортеже или агрегация во множественном шаблонном наследовании. Никакого рантайм-преобразования. Никаких рантайм-кастов.


Работает в десять раз быстрее. Но ограничения архитектуры не позволяет расширять список сущностей в рантайме.
А так же нету высокого уровня абстракций и самописный сборщик мусора.


Быстро работает, любой кто работал с кодом ue4, wolf engine, cocos2d-x и т.д. разбереться без труда. Но человек с энтерпрайза попытается сжечь это все.

У меня есть предположение по эксепшинам.
Возможно std:: exception был специально запривачен, что бы исключения нельзя было перехватит через catch( std::exception&).
М.б. они они хотели калькулятор в виде либы сделать.
А их реализация запривачена, без dll import.


Ошибки с условиями очень странные.
Где (а && б ||! а &&! б)…
Возможно ранее, эти переменные были числами. И им нужно было проверить, что они равны или не равны нулям. А между собой, равенства не имеют. От чего, сравнение a == b не возможно.


По поводу указателей.
Тут наверное надо документацию по clr прочесть надо.
М.б. для wchar_t и литерала L там прописаны свои правила компиляции операторов сравнения

Мне кажется, что это был задел на будущее.
Сделали две одинаковые функции, на случай, если ConvertBack приобретет новую реализацию. Или возможно в планах было сделать другую реализацию. Но руки не дошли.

А чо там писать?
Алгоритм сортировочной станции, работающий по обратной польской записи.
Этого хватит для любого матиматического действия

М.б. линейная алгебра нужна для компьютерной графики?

Вот тут я категорически не согласен! Все зависит от стека технологий.
С, с++, qt, очень не охотно берут на удаленку, и отказывают из за разницы в часах. На фрилансе тоже тухло, а если и находится работка на фрилансе — заказчики проподают внезапно, когда проект почти сделан, уже парочка таких лежит, мертвым грузом.


На удаленку с с++ ищут только сеньеров.
Очень много предложений от рекрутеров на сеньера или team lead. Но это не мой уровень на данный момент.


Много раз предлагали переезд в Москву, но я не хочу в москву. Куда угодно но не в москву.


Я уже не первый месяц ищу работу. Только офис предлагают. Еще какие то стартапы предлагают поработать бесплатно и если повезёт, заплатят.


В городе моем всего две вакансии которые косвенно только связаны с с++.
Моя область, это с++, в т.ч. 17ый, qt. В основном backend, кросплатформенная разработка. А в довесок еще опыт с c#, в основном net core.
И весь сопутствующий инструментарий.
cmake, git, bash, qmake и т.д… И вагон всякой мелочи. От бэкэнда до геймдева.


Но к сожалению на удалеку нужен js, java, php и прочий веб.

Не вижу проблем.
Сущность остается базовой.
Просто собираем сущности из компонентов.
У тебя наплодятся компоненты и системы.
При том, можно пойти по пути. Когда наличие компонента какого то типа — и есть индетификатор какой то логики.


А так, я не так давно д20 днд5 делал.
Сделал один компонент атрибутов.
Систему, которая обсчитывала атрибуты.
Ивенты, и систему ивентов, которая напрямую взаимодействовала с системой атрибутов.
Состояния — это были отдельные компоненты, с общей системой состояний. Я тут не гемороял, просто в каждый компонент эффектов передавал функцию-обработчик, которая определяла поведение эффектов.

А что не так с UI?
Для UI лучше пойдет граф, что бы каждый элемент UI рендерился в родительских координатах. Опять же, UI — это сущность. В котором есть компонент rect, event, transform и 9TextureRect. А там уже зависит от системы, как логика реализована

Я знаю что такое ecs и давно им пользуюсь.
Ecs, ns(оно же Scene Graph) и их комбинации.
То что предлагает автор статьи — безумно не оптимально.


Можно с помощью шаблонов провести хитрую агрегацию компонентов в сущность, которую я делал для ECS в чужом движке. Но при росте проекта, мы заплатим временем компиляции.


LeoECS я изучал. Но все таки это с# а не плюсы. А у плюсов есть нюансы.

Вы теоретик. Видимо на настоящих боевых headless серверах вы никогда не работали. Которые находятся за 2-3 NAT сетями, для которых чтобы туда зайти надо поочередно авторизовываться на 2-3 промежуточных узлах.


Один, десять натов. И что здесь такого? Через ssh выгрузил, скомпилировал, готово… Зачем удаленно что-то дописывать? Как это мешает использовать нормальную среду и деплить через свой сценарий или сценарий любой из сред?

И это не отменяет того факта, что хреначить все в один заголовочный файл — плохой тон. А если на предприятии вы пишите код через nano — так это проблема предприятия, которое не заботит производительность, качество и скорость разработки.
На удаленном сервере может быть что угодно, начиная от nano и заканчивая vi.

А писать в среде, от которой даже современные ноутбуки сгорают от перегрева — нормально? От которой приходит ООМ и начинает крошить все, до чего дотянется — нормально?

Нормальная IDE. Более того, если VS не тянет — бери QtCreator. Обе они поддерживают удаленную отладку! Можно взять VSCode, жрет не много, умеет тоже в удаленную отладку и компиляцию.
На сервере подними gdb-server и все. Все среды умеют в удаленную компиляцию и удаленную отладку. Чего заниматься таким геморроем и писать в nano?)
И? Чем они отличаются от любых других? Их точно так же парсит среда и пытается подставить автодополнением что угодно.

И я не вижу в ней пол STL. Тот же stdio.h меньше 3к строк. А с динамической линковкой и _NO_CRT_STDIO_INLINE, код в несколько раз уменьшается.

Я никогда не изучал, каким образом анализаторы синтаксиса парсят файлы. Но подозреваю, что данные хранятся в виде дерева, сопоставленного с файлами. Потому что обьяснить, почему от больших файлов, особенно когда их размер под 10к глючит анализатор — обьяснить не могу.
Если ваша IDE загибается от 3000 строк, то как она парсит stl?

Яркий пример, шаблонная библиотека nlohmann::json, будет по лучше rapidJSON, так еще по всем stl правилам.
Там есть вариант поставки в виде одного .h файла. Например та же Visual Studio и QTCreator последних версий, если ты подключаешь именно цельный файл, начинаешь писать что-то и например хочешь глянуть оглавление какого то вспомогательного класса. Пытаешься перейти на оглавление функции и БАЦ, IDE думает очень долго, т.к. парситься чудовищного размера h файл. Так же иногда отказывается автоматическое дописывания функций, т.к. долго парсит один файл.
Хотя если взять нормальные заголовки и подключать их — и ситаксис подсвечивается с ходу и находит функции автоматически.

Не все программируют в Atom или VSCode. Существуют и другие редакторы, которые не едят по 4 GB RAM и не падают от попытки замены 22 000 совпадений.

Ну не в Notepad++ же пишешь? Ну в vim, но даже вим с плагинами умеет находить все что угодно.
Это абсолютно не продуктивно писать в среде, которая автоматически не может найти нужные константы и подсветить синтаксис.

Но зачем? Зачем мне руками делать работу, которую может выполнить система сборки?

Т.е. писать руками 100500 флагов в файле на 3000+ строк заголовка, а после в систему сборки встраивать костыли, что бы он парсил файл и выдергивал из него нужные куски в отдельный файл — это нормально? Ну если честно, я считаю это не рациональным.
А в дальнейшем пихать все в один .h файл, с ростом проекта — откровенная дикость, времен нулевых.

Вот только по факту даже просто подключив stdio вы уже получаете половину stl просто потому что stdio подключает их сам.

Ну это уже сишные либы. На и не вижу я там, что бы cstdio и stdio.h подключали пол stl. Точнее я вообще не вижу там ничего, кроме пары инклудов, связанные уже с текущей платформой, что бы получить дискриптор ввода-вывода у системы.
А зачем раздувать публичный хедер на 3000+ строк? В чем цель? Что бы IDE у пользователей по два часа его парсил на поиск констант, функций и прочее?
Не проще ли разбить его на много мелких хедеров по функциональности. Что бы подключать только тот заголовок, функции которого ты будешь юзать.

Что именно не удобно искать? Вроде бы сейчас любая IDE и любой вменяемый текстовый редактор типо Атом или VSCode умеет подсвечивать все что угодно. Зажал контрл — он тебе показал константу, в каком хедере лежит и сразу открыл в доп-вкладке.

Если есть константы, которые очень прям важные такие и часто на них, по какой то не ведомой мне причине надо смотреть — выдели их в отдельный хедер или классифицируй по разным файлам, что бы по смыслу было понятно, что константы буффера например лежат в buffer.h, а константы например потокового менеджера в thread_manager.h и т.д.

Ты же не подключаешь весь stl разом? А подключаешь только то, что используешь и по мере надобности.
А зачем такой геморрой со сборкой?.. Я почитал ветку комментариев и не вдупляю одного. Зачем генерировать что-то?

Есть у нас хедеры с экспортируемым функционалом? — так сделать же можно под них просто отдельный .h и все. А приватный функционал — в другой .h.

Типо того:
//public.h
#ifndef __PUBLIC_H__
#define __PUBLIC_H_
extern "C" {
   struct A {...};
   void foo();
};
...

//private.h
#ifndef __PRIVATE_H__
#define __PRIVATE_H_
#include "public.h"
/*но я бы не делал длинные цепочки include*/
void foo2();
...


//source.cpp
#include "private.h"
/*или лучше так, что бы не создавать сложные цепочки 
#include "private.h"
#include "public.h"
*/
...


И экспортировать только те хэдеры, в которых публичный функционал.
По хорошему это стоит отдельной статьи или «Почему я вернулся во Владивосток из Москвы».

Для Владивостока я зарабатывал очень не плохую зарплату, но мой профессиональный рост остановился. Да и надоело и я грезел об огромных зарплат западной территории РФ и отправился в МСК. Тем более в МСК у меня укоренились уже давно родственники и есть где жить, если жилья сам не найду.

Более того, в МСК я решил сразу пойти в Программистов, т.к. во Владивостоке у меня было ОЧЕНЬ много свободного времени и изучал то, что мне нравилось.

В Москве очень и очень легко устроился Джуном и с большим ростом вверх очень быстро за год вырос. На мое удивление, в Москве ОЧЕНЬ много сеньеров, архитекторов и мидлов, которые мягко говоря, ими не являются. Очень много людей с высоким ЧСВ, которые отказываются признавать свои дыры в знаниях и готовы угробить проект, из за твердолобости…

В МСК меня все устраивало в плане работы и инфраструктуры, но на этом Москва заканчивалась.
Во первых Москва грязная и вонючая… Серьезно, весной от зловония канализаций вонял весь город, разве что около кремля не так воняло. Сухой воздух, не приятный климат, ОЧЕНЬ много!!! Африканцев!!!, даже люди с ближнего востока жалуются на них. Сам по себе, город тяжелый и последние пол года жизни в МСК для меня были словно в постоянной депрессии… Я видел солнце только между выходом из метро и офисом. 90% времени проводил под землей и помещениях.

Качество еды в МСК, если не закупаться элитной едой — довольно низкое на самом деле.
Особенно Восточная кухня. Например Роллы… В МСК Роллы ценой от 200-400р за порцию, сопоставимы с самыми убогими роллами во Владивостоке в китайской (именно КИТАЙСКОЙ!!! На автовакзале за Т.Ц. около рынка) дешевой кафешке за 50-150р.
Когда как Роллы или суши приемлемого качества во Владивостоке стоят 200-400р за порцию, в какой нибудь Т-Студио или Токио, аналоги в МСК стоят под 1000 и выше. И я бы не сказал, что это самое высокое качество. Восточная кухня и общепит в МСК ужасен…

Свежую, морскую рыбу я в МСК так и не нашел по нормальной цене. Все же я привык, что на ДВ всю жизнь покупали свежую морскую рыбу на рынке, у браконьеров. В целом весь ДВ живет по принципу «У меня есть знакомый который достанет рыбу/икру/трипанг/краба/мидий/etc...».

В конечном счете я вернулся на ДВ, но работы для С/С++/Qt/С#.../etc попросту НЕТУ! Нету вакансий. Только Фронтэнд на Веб и 1С. Так что я работаю удаленно на европейскую часть России.

И да, на ДВ есть такие девушки, я бы сказал Бриллианты, которые очень тяжело найти в Москве.
12 ...
9

Информация

В рейтинге
5 966-й
Откуда
Владивосток, Приморский край, Россия
Дата рождения
Зарегистрирован
Активность