Комментарии проекта Программирование
01 MAR |
2
build
[C#] Быстрая работа с цветами изображений?»![]() |
|
|
20 ГОД |
1
DarkLigthing
[Javascript] Unexpected end of JSON input»![]() |
|
|
![]() |
Проблема решена, оказывается у fs.appendfilesync есть проблемы с заполнением пустых файлов. Замена на fs.writeFileSync решило проблему. |
20 ГОД |
4
h0rde
Отказано в доступе»![]() |
|
|
Или я совсем дубень,или что-то не так делаю
Вся таже ошибка Прикрепленные файлы
|
|
получается я должен открыть sublime text от имени администратора?
точнее командную стройку?
строку* |
|
20 ГОД |
15
h0rde
Проблема telegram bot»![]() |
|
|

![]() |
На 1:25 он рассказывает что за конфиг youtu.be/M8fhrtvedHA?t=84
Автор даже не с начала смотрел, жесть какая... и это хаудихо, который совсем для младенцев) |
Нет~Vlod:
код из видео с ютуба www.youtube.com/watch?v=M8fhrtvedHA |
|
![]() |
Так?
» код
Msey:
Может это? |

![]() |
Для начала расскажи, откуда ты скопировал весь этот код / скачал пайтоновские сурсы
После этого уже можно начинать расследование по токенам |

![]() |
не знаю, ты же его импортировал конфиг в код не просто так |

![]() |
Вместо config.token впиши строчку токен, которая у тебя ниже |

![]() |
h0rde, конфиг и сам токен в нём должен быть где-то вне питон кода |

![]() |
ScorpioT1000, это и так понятно. Токен видимо с конфига должен подтягиваться. Но тут человек явно вообще сам не понимает что делает. |

![]() |
Hanabishi, он так не заработает. У него там не config.TOKEN, а просто TOKEN - видимо, другая переменная |

![]() |
Вроде не надо иметь великие познания, чтобы понимать, что токен надо вписывать ДО того места, где он используется. Какой толк его вписывать после ошибочной строки? До туда из-за ошибки даже выполнение не доходит. |

![]() |
Он всё идеально описал человеческим языком, что именно не понятно? |
20 ГОД |
5
Msey
Итераторы и yield в C#»![]() |
|
|
![]() |
+1 за асинхронность |
![]() |
На мой взгляд стоит добавить к описанию оператора yield пример того, во что он превращается на самом деле, как [здесь] |
![]() |
Асинхронность на .net 4.0 и 4.5> очень будет интересна |

![]() |
Если кому не сложно, то напишите, какие бы статьи были бы вам интересны. Пока есть свободное время, попробую написать парочку |
![]() |
Хорошая статья |
20 ГОД |
3
bifurcated
Как работают знаки сравнения, больше, меньше?»![]() |
|
|
![]() |
Также прочитай про условные и безусловные переходы: jmp, ja, jb, je, jnz/jne и т.д. |
![]() |
Обычный goto. Если флаг 1, то goto в такой лейбл, если 0, то в другой. В ассемблере MIPS есть специальные функции сравнения. |

![]() |
Почитай про boolean и как работают его операции. Он не связан с числовыми типами (кроме Си, но не будем трогать магию слабой типизации), советую почитать про типизацию и приведение типов в C++. Дальше можно переходить к тому, что такое int32/64, а дальше ieee float
Крайне не рекомендую объединять логические и численные операции - разбираться в этом потом очень больно, даже самому себе через пару месяцев |
19 ГОД |
2
respect_gg
Покраска отдельно каждого символа на С++»![]() |
|
|
![]() |
Прежде всего запомни, что всё в C и C++ это цифры, байты и биты, ничего более. Всё состоит из фундаментальных типов. Стандартные библиотеки, позволяющие использовать строки, контейнеры и прочие ништяки не умеют работать с графикой и не предназначены для работы с ней, это просто данные, в свою очередь тоже основанные на числовых фундаментальных типах. Так и строка std::string это просто контейнер для динамического массива char'ов, которые являются по сути числами размером в один байт. Числа не знают какого они цвета, формы, шрифта, они просто хранят в себе информацию, в данном случае текст. Окрасить текст в цвета можно в зависимости от того где ты этот текст выводишь. Консоль на винде в такое не умеет, а если умеет то косо и криво, и вообще с этим играться бесполезно. Консоль на линуксе умеет в цвета, там для этого есть escape-последовательности которые ставятся перед текстом, подобно цветовым кодам в варкрафте. Играйся с winapi или лучше Qt, в последнем вообще в html отображаемый текст форматировать можно. |
18 ГОД |
17
Msey
Работа с небезопасным кодом в C#»![]() |
|
|
![]() |
Msey:
оптимизация работы с большими массивами данных, когда надо тоскать между функциями все эти данные и манипулировать небольшими участками массива без выделения в небольшой кусочек. Но с недавних пор это все не актуально стало. В новом стандарте есть новые структуры данных, которые оборачивают такие небезопасные операции и непосредственное использование unsafe становится ненужным |
![]() |
Это так переведено all C# structs are value types? |
![]() |
Hanabishi, теперь понял. Теперь мне придётся пересмотреть некоторые темы программирование, а то уже совсем что-то забываю. Уже начал путать эмулятор со строгим оптимизатором, грубо говоря. И ещё, извиняюсь за свою неграмотность в области ЯП. |

![]() |
KingMaximax, неправильно, нельзя "обойти виртуальную машину", код в любом случае на ней выполняется. Это главное отличие C# от нативных C\C++, но речь в статье вообще не об этом. Есть понятие управляемого и неуправляемого кода. Так вот шарп по-умолчанию использует управляемый код, это когда все данные жестко контролируются средой, ты не управляешь памятью напрямую и не можешь критически накосячить, а ненужные данные удаляются автоматически (то есть утечки памяти практически невозможны). Но существует и возможность работать с неуправляемым кодом, использовать прямой доуступ к памяти, о чем собственно статья. Это считается небезопасным (отсюда и ключевое слово unsafe), потому что работоспособность, стабильность и защищенность программы начинает на 100% зависеть от уровня криворукости программиста. |
![]() |
Hanabishi, т.е. он пытался обойти виртуальную машину, если я правильно понял. Это как внутренняя система безопасности проверки жизненности цикла программы, что-то наподобие в этом роде. Она добавляет 100+ лишних килобайт. Но её вроде отключать можно, но лучше не надо, иначе есть риск поменять ОЗУ. Мой продвинутый друг в программировании занимался подобным, но потом перешёл на ассемблер из-за паранойности C++\C#, врать не буду, но это не совсем точные сведения. Или я снова туплю? |

![]() |
KingMaximax, какой-то странный вопрос. Синтаксически C# происходит от C, что вроде очевидно. Соответсвенно и форма записи указателей взята оттуда. Но несмотря на внешнюю схожесть, внутри C# работает абсолютно по-другому. Даже в небезопасном контексте с прямым доступом к памяти, код все равно выполняется на виртуальной машине. |
![]() |
Мне кажется или это похоже на C++ в C#? Не знаю, я пользуюсь mem alloc'ом в некоторых своих подопытных детишках по C++ только... У меня свои шаманства с бубном, короче. |

![]() |
uranus, быстрее чем функции стандартной библиотеки можно добиться и не прибегая к небезопасному коду (написать собственную реализацию), тут о другом речь. |
![]() |
Если не ошибаюсь, на хабре доказывали, что таким способом можно добиться большей скорости, чем у аналогичных функций стандартной библиотеки. Только не кидайте камнями, может, я не так понял просто. |

![]() |
Или foreach, вообще внутри всё запаковано |

![]() |
Msey, плохой случай. Надо писать так, чтобы проверки границ в сейф коде убирались оптимизатором.
То есть допустим в случае
проверки границ не будет. И разницы производительности с небезопасным вариантом тоже. Потому что оптимизатор умный. Лезть ради этого в небезопасный контекст - крайне сомнительное занятие, нужно просто правильно писать в безопасном. |

![]() |
Самый частый случай, который встречался мне на практике - это более шустрые операции с массивами и строками за счет отсутствия проверки их границ. |

![]() |
Забыл написать для чего это вообще надо. Для начала использования небезопасного кода нужно стараться избегать (помните что 95% дырок безопасности в истории это вина программиста, прозевавшего проверки в неуправляемом коде). Реально же практическое применение я вижу в двух вариантах:
|
18 ГОД |
1
Msey
Атрибуты в C#»![]() |
|
|
build
build
Блог
Hanabishi
Hanabishi
Блог
Проекты:
XGM Staff