Как стать автором
Обновить
@BellaLugoshiread⁠-⁠only

Пользователь

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

количество идеальных кодеров конечно и малО и они находятся в вечном состоянии разорванных п....в когда говорят о говнокоде, при этом подавляющее большинство из них сами постоянно делают что-то, для чего бы следовало нанять специалиста, но у них, как и у например профессуры или академиков, всегда профдеформация, ибо "если я могу закодировать что-то лучше всех, так как я Бог кодинга, так не ужели я не смогу" - вкрутить лампочку, заменить розетку, сварить суп, забить гвоздь, уложить плитку и т.д. То есть дилетантизм в кодинге порицается, а во всём остальном или приветствуется или как минимум не осуждается.

Очень простой пример - сколько мега-кодеров открывают проводник нажатием Win+E? А сколько мышкой? Для кодера оба действия - однофигственны, для сисадмина использование мышки - дилетантизм, так делать просто непрофессионально. Это же касается вызова Панели управления или открытия RDP соединения, да даже банальный вызов калькулятора (я уже молчу про то чтобы узнать например IP адрес сетевой карты).

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

Поэтому нужно быть проще, это раз и два - для начала разберитесь в своей профессиональной среде, ибо говнокодеры-выпускники кодер-специальностей - частое явление.

вопрос не в количестве а в вашей фразе о том что 20000 уе это фигня

Например в университете где я работаю средняя годовая зарплата не превышает 500 тыс рублей в год, даже при текущем курсе 20000 долларов пусть даже за все 5 лет существования приложения - это солидная прибавка к доходу, тем более что это пассивный доход. Например за 11 лет продажи хлама на Авито я получил 90000 с продажи по сути того, что многие называют мусором (да-да, многие не утруждаются давать вещам вторую жизнь а просто их выкидывают).

позиция первого не определяет популярность или народность, а TRS-80 вообще выпускался на Z80 и позже на моторолах.

PS: и моветон вырывать цитату таким образом что она меняет смысл сказанного.

Если честно порядком поднадоели статьи поющие дифирамбы Apple там, где они были - одними из многих. Apple II/IIc - отличные ПК для своего времени прожившие долгую жизнь и любимые многими АМЕРИКАНСКИМИ фанатами, но в тех же США именно народным считаются C64 и Amiga. NES в этом контексте не вижу смысла рассматривать, так как это голая игровая приставка. Atari, так уж вышло, получил своё признание в Европе и "восточном блоке", например поляки и немцы до сих пор с ними работают.

Apple в любом случае стоит особняком, а в статье чуть ли не 99% всей славы 6502 приходится на яблоко - это же чушь полная. Впрочем от скорее всего американца Тэда Спенса прочитать иную статью и невозможно.

Лично я в 80-е рос на Atari 130XE, а сейчас имею C64C и Atari 65XE и абсолютно нет никакого желания приобретать Apple IIc например - ибо делать ей нечего.

Не подвергаю сомнению ваши данные, только задумываюсь кто те люди, которые в 2022 году пользуются такими древними аппаратами, последние 4 года мейнстрим это 720р и сейчас происходит переход на 1080р. Ладно экран, но андроид на них какой-то жутко старой версии должен быть. Но это так, мысли вслух.

Экраны сильной разные, это могут быть мобильники, планшеты, ПК, поэтому нет какого-то среднего значения.

Справедливости ради - экраны мобилок в основной массе в среднем являются FullHD, по статистике Steam 68% мониторов с разрешением 1920х1080, а 68% двухмониторных систем тоже имеют два устройства FullHD, поэтому, де-факто, средним разрешением монитора будет 1920х1080 от которого и можно плясать.

Кстати вы могли бы собирать свою статистику по разрешениям систем тех, кто открывает ваш сайт и отталкиваться от неё.

Я не могу ставить минусы, но и не люблю когда минусы ставятся просто за мнение, без приведения контраргументов.

Вот мои 5 копеек:

Вы так же делите на области , этот процесс называеться croping достаточно простая операция и не зависящая от размера входной картинки ;-)

Чтобы сделать кроп PNG файла например для правого нижнего угла придётся распаковать всю картинку, потом взять кусок и так Х раз - где тут простота если у вас сложность будет O(N*N)?

в плане компресси вы конечно молодоце что изобрели PNG заного ...все что вы описали именно так и делаеться в этом стандарте ...

В PNG нет анимации совсем, а значит и придуманное в компрессии никак не может копировать PNG, который всего лишь Deflate. Тут же весьма интересный набор эвристик с заточкой под контекст.

но любой мп4, h264,h265 и темболее av1 может и раз в 30-40-50 и качество будет на уровне

Мне кажется вы совсем не читали статью.

1) Не понимаю тех людей, кто имея нормальную ВК не майнит, это как лениться с пола поднимать купюры.

2) А как можно НЕ зарабатывать на майнинге?

3) Я в 2015 году купил 1050Ti/4 за 15000 руб, первая волна, за всё время (она и сейчас майнит) она заработала ~100K

4) В начало второй волны у меня уже были 1060/6 и RX580/8, а еще уже в майнинг волне купил RX560/4 и на ней в игры играл, но она тоже майнит. Расходы - 1060 за 4500 руб, 580 за 6000 руб, 560 за 7000 руб. Заработали все вместе ~150K.

5) Электричество тратится умеренно, на все мои корыта уходит где-то 500р, а приносят они 8-10К в месяц.

6) Абсолютно не понимаю статью и тех кто кинулся продавать видеокарты, я всегда к майнингу относился как к тому, что в любую секунду закончится, поэтому риски нулевые. Так же не забываем про покупки и продажи на разнице цен.

7) Так же не понимаю зачем продавать монеты сразу как только их получил. Я так никогда не делал, продавал по необходимости в локальные максимумы. Сейчас цена упала - всё майнится в кошель, я всё равно заработал на этом больше, даже если год буду майнить по 500р тратя на электричество, то это всего 6000 руб - в минус просто невозможно уйти.

8) если кто-то продаёт свои квартиры на излёте майнинга а потом теряет всё - ну так тут майнинг вообще ни при чём.

Что-то мне подумалось, что ведь можно сделать два цикла, один сначала идёт слева направо (x++), а потом второй справа налево (x--). В обоих "y" шагает +2 после прохода по "x". И никаких if и никаких арифметических операций. Ну на первый взгляд.

Во втором случае можно так же идти x++ но иначе вычислять значение в ячейке.

Если всё запихать в C# Parallel.For / Parallel.ForEach то будет весьма резво заполняться.

Мне кажется вам в статье совсем не нужно было приводить код, достаточно было математики (у вас и заголовок соответствующий), иначе неизбежно люди смотрят на качество кода, а это не входит в рамки статьи.

Вопрос: инструкции j** в ассемблере настолько тормозные что работают дольше чем куча арифметических операций?

Например так вы узнаете остаток от деления на 2 (пардон если чуток ошибся в написании ассемблера, не пользуюсь) и сделаете переход по условию:

shr eax, 1
jc label
(тут код если четное)
jmp next_code

label:
(тут код если нечётное)

next_code:

Мне кажется даже из кеша не выходим.

PS: я где-то писал что-то похожее, нужно откопать процедуру и протестировать...

И как много людей выходя из подъезда оказывают сразу на нужной станции метро или остановке? От моего дома до остановки 800 метров, от остановки до работы 1200. И это я живу почти в центре города. А те кто живут в спальных районах катаются по 2 часа с пересадками - не самое весёлое развлечение в жизни. Поэтому если на каком-то этапе использовать самокат, то это вполне логичный выбор, ну и не вижу разницы между велосипедом и самокатом и оба используют и как ТС и как средство развлечения.

Пардон, я не привыкший решать задачки, но с Морским боем у меня непонятки уже на этапе условий задачи (какое-то "это" поле например), я конечно почитал решение и понял о чем там речь, но написать нужно было так:

Дано поле M*N с уже размещенными кораблями, где символом "точка" отмечаются пустые ячейки, а символом "звезда" элементы корабля. Нужно проверить - являются ли все расставленные корабли соответствующими набору "Г"-образных кораблей и соблюдаются ли условия взаимного размещения - на соседних ячейках разных кораблей не должно быть ячеек "звезда" ни по горизонтали, ни по вертикали, ни по диагонали.

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

Касательно решения - так как шаблоны друг от друга отличаются, но и подобранный шаблон будет блокировать часть поля как одобренную (ну или прерываться если будет нарушено хотя бы одно условие). Отсюда потребуется хранить информацию о всё еще непроверенных ячейках.

Я бы предложил такое решение:

  • Делаем проход по M*N и проверяем на такие основные признаки:

а) ищем корабли 1х1

...
.*.
...

б) ищем шаблоны для возможных частей кораблей

.*.  ...  ...  .*.
.**  .**  **.  **.
...  .*.  .*.  ...

Сохраняем информацию и найденных шаблонах в виде координат центральной точки. Дальнейшие проверки делаем отталкиваясь от них.

Я с шаблонами работал ранее и мне понравилась линейная схема хранения шаблонов, например шаблон

...
.*.
...

хранится как

{{-1, -1}, {0, -1}, {1, -1}, {-1, 0}, {0, 0}, {1, 0}, {-1, 1}, {0, 1}, {1, 1}}

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

А игра Тетрис писалась на "Электроника-60", но этот ПК почему-то никому в голову не приходит называть - легендой мирового масштаба. Игры писались на том что было под рукой (если речь про самостоятельных разработчиков, коим Мехнер и являлся).

Игра была выпущена в 1989 году, когда 8 бит уже не был единственным на рынке, та же Apple перешла на 68000, Intel 4 года как выпустила i386, а если верить вики, то "После выпуска для Apple II, где игра не пользовалась особым успехом, игра была портирована на несколько других платформ", что неудивительно.

Например игра Doom была написана на компьютерах NeXT Стива Джобса - как эти компьютеры повлияли на индустрию? (как-то да повлияли, но на Apple)

Когда сказать нечего собеседник начинает писать что-то в духе "сам дурак", а это 100% детский сад.

Ну и вскрыть демагогию легко, доказав, что я ввожу в разговор ложные константы. Вы же это не делаете, а значит демагогией занимаетесь именно вы.

Про идиотские высказывания - никто никому ничего не приписывал, потому что это аналогия, она так работает, это просто пример, умозрительная конструкция, она ложна по определению и цель её одна - упростить сказанное, возможно даже утрировать пример. Вместо себя можете туда вставить короля Георга - это абсолютно ничего не изменит.

Катаюсь на прокатных, "висеть на руле" звучит наверное плохо, но всё же - руль на самокате не только для того чтобы разработчики туда прикрутили кнопку ускорения. Руль это то, что держит человека, то есть это рычаг без вариантов. Да и просто висение не сильно напрягает конструкцию, тут вопрос только в перегрузках старт/стоп, когда человек всей массой тела как раз воздействует на тот самый рычаг. И вот тут и важна прочность основания рычага.

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

Никто и не заметил как я здорово посчитал года, 1995-1977=18, а не 28.

Уже три недели набегами изучаю и тестирую, вот что получилось у меня (я правда слишком слаб в программировании чтобы понимать как считаются операции в секунду или количество сравнений, поэтому я считаю время работы и число шагов/итераций алгоритма), получается вот что:

"Наивный" / 1341 мс / шагов 873 200 019 / сравнений 914 858 298

"Наивный назад" / 1405 мс / шагов 873 200 019 / сравнений 931 847 463

"Наивный туда-сюда" / 1388 мс / шагов 873 199 760 / сравнений 916 906 047

КМП / 2028 мс / шагов 799 709 013 / сравнений 857 275 497

Моё / 3045 мс / шагов 128 518 565 / сравнений 138 097 420

Поиск делаю по файлу размером в 833 мегабайта, собственной наивный алгоритм как раз шагает ровно столько байт сколько в файле.

"Наивный назад" это всего лишь вариант с декрементной итерацией поиска подстроки, он всегда стабильно медленнее, хоть и немного, инкрементного варианта. "Туда-сюда" это эвристика на более быстрое исключение подстрок которые различаются ближе к концу, например расчёты сделаны при поиске слова "schemata", в тексте есть несколько слов с начальным набором "schema", но разным суффиксом. Но так как слов не фатально много и при этом скорее всего достаточно слов наоборот имеющих суффиксы "ta" например, то получается число сравнений даже выросло. КМП взят с geekforgeeks по вашей же ссылке с версией для C# (я на нем и пишу).

Моя реализация с пока не обозначенными эвристиками справляется хорошо по числу как итераций, так и по числу самих сравнений (я в начале написал что не понимаю как вы делаете подсчёт сравнений, поэтому в моём варианте это просто вставленные инкременты для переменной в цикле, где происходит сравнение элементов подстроки и строки).

Так вот у меня собственно вопрос - это проблема сугубо C# что при почти в 5,5 раз меньшем числе итераций и сравнений у меня в больше чем в 2 раза дольше исполнение кода? Я конечно пользуюсь Dictionary (для вас это Map) но я не замечал чтобы он работал медленно. И кстати реализацию КМП эвристики у себя я еще не встраивал, это даст еще снижение числа итераций, но, получается, только еще более замедлит выполнение. В общем я пока в раздумьях.

PS: наивный у меня изначально тот вариант, который прерывает поиски при несовпадении.

Ну вводить в дускурс Famicom/NES опрометчиво, так как это игровые приставки, а не персональные компьютеры.

Если следовать вашей логике, то история Atari на базе 6502 начнётся с 1977 года с Atari 2600 и закончится Atari Lynx II в 1995 году, а это уже 28 лет.

1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность