Size: a a a

Генератор непрочитанных сообщений

2020 October 28

С

Санжар in Генератор непрочитанных сообщений
2060 взял ради некоторых фишек unreal engine
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Dmitriy Danilov
Все равно сука в проц упёрся(
а шо у тебя?
источник

С

Санжар in Генератор непрочитанных сообщений
rtx
источник

DD

Dmitriy Danilov in Генератор непрочитанных сообщений
Alexander Kladov
а шо у тебя?
8320
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
а, фикус
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
точно
источник

DD

Dmitriy Danilov in Генератор непрочитанных сообщений
Старичок
источник

DD

Dmitriy Danilov in Генератор непрочитанных сообщений
Варзона просаживается, грущу
источник

DD

Dmitriy Danilov in Генератор непрочитанных сообщений
Остальное все в порядке, вот и думаю отдать щас типа 500 баксов ради одной игры
источник

RV

Roma Vandolyak in Генератор непрочитанных сообщений
ну у меня разянь 1300х
варзон ок
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
оперативку разгони
источник

RV

Roma Vandolyak in Генератор непрочитанных сообщений
правда у меня 60 фпс это
около
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
В идеале иметь что-то вроде
return $this->serialier->deserialize(TYPE::JSON, $response, WeatherData::class)
Это лего и просто сделать если в респонсе и DTO поля одинакого называются, но если нет, то надо как-то ухищряться указывать какое поле из Json на какое в dto нужно смаппить.

Поэтому можно как компромисс сделать
new WeatherData($decodedResponse['a'], $decodedResponse['b'])

Но шоб не обращаться к неизвестным полям, я люблю сделать ещё пару функций типа
/**
* @throws \Exception
*/
function getFieldAsInt(string $fieldName, array $data): int {
 if(!isset($data[$fieldName])) {
   throw new \Exception('...');
 }
 if(!is_int($data[$fieldName])) {
   throw new \Exception('...');
 }
 return $data[$fieldName];
}
Выглядит как костыль но кмк норм, и psalm на типы не ругается, и получается чёт типа
return new WeatherData(
   getFieldAsInt('temperature', $responseData),
   getFieldAsFloat('lat', $responseData),
   getFieldAsFloat('lng', $responseData),
   getFieldAsString('city', $responseData)
);

Дл nullable полей отдельные функции. По желанию, чтобы не делать asInt/asFloat/asString можно конеш замутить дженерики с псалмом, но им мало кто пользуется, увы
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Dmitriy Danilov
Остальное все в порядке, вот и думаю отдать щас типа 500 баксов ради одной игры
я тебе вроде кидал гайд по святому разгону фикусов
источник

DD

Dmitriy Danilov in Генератор непрочитанных сообщений
да кидал
источник

DD

Dmitriy Danilov in Генератор непрочитанных сообщений
так и не дошли руки
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Евгений Ромашкан
В идеале иметь что-то вроде
return $this->serialier->deserialize(TYPE::JSON, $response, WeatherData::class)
Это лего и просто сделать если в респонсе и DTO поля одинакого называются, но если нет, то надо как-то ухищряться указывать какое поле из Json на какое в dto нужно смаппить.

Поэтому можно как компромисс сделать
new WeatherData($decodedResponse['a'], $decodedResponse['b'])

Но шоб не обращаться к неизвестным полям, я люблю сделать ещё пару функций типа
/**
* @throws \Exception
*/
function getFieldAsInt(string $fieldName, array $data): int {
 if(!isset($data[$fieldName])) {
   throw new \Exception('...');
 }
 if(!is_int($data[$fieldName])) {
   throw new \Exception('...');
 }
 return $data[$fieldName];
}
Выглядит как костыль но кмк норм, и psalm на типы не ругается, и получается чёт типа
return new WeatherData(
   getFieldAsInt('temperature', $responseData),
   getFieldAsFloat('lat', $responseData),
   getFieldAsFloat('lng', $responseData),
   getFieldAsString('city', $responseData)
);

Дл nullable полей отдельные функции. По желанию, чтобы не делать asInt/asFloat/asString можно конеш замутить дженерики с псалмом, но им мало кто пользуется, увы
это @forszaken
источник

DD

Dmitriy Danilov in Генератор непрочитанных сообщений
Roma Vandolyak
правда у меня 60 фпс это
около
ну вот если бы стабильно 60 то ок
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Евгений Ромашкан
В идеале иметь что-то вроде
return $this->serialier->deserialize(TYPE::JSON, $response, WeatherData::class)
Это лего и просто сделать если в респонсе и DTO поля одинакого называются, но если нет, то надо как-то ухищряться указывать какое поле из Json на какое в dto нужно смаппить.

Поэтому можно как компромисс сделать
new WeatherData($decodedResponse['a'], $decodedResponse['b'])

Но шоб не обращаться к неизвестным полям, я люблю сделать ещё пару функций типа
/**
* @throws \Exception
*/
function getFieldAsInt(string $fieldName, array $data): int {
 if(!isset($data[$fieldName])) {
   throw new \Exception('...');
 }
 if(!is_int($data[$fieldName])) {
   throw new \Exception('...');
 }
 return $data[$fieldName];
}
Выглядит как костыль но кмк норм, и psalm на типы не ругается, и получается чёт типа
return new WeatherData(
   getFieldAsInt('temperature', $responseData),
   getFieldAsFloat('lat', $responseData),
   getFieldAsFloat('lng', $responseData),
   getFieldAsString('city', $responseData)
);

Дл nullable полей отдельные функции. По желанию, чтобы не делать asInt/asFloat/asString можно конеш замутить дженерики с псалмом, но им мало кто пользуется, увы
норм
источник

DD

Dmitriy Danilov in Генератор непрочитанных сообщений
ато в сетевой 60 а в суперсторе 40
источник