Pull to refresh
0
0

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

Send message
У Вас слишком сложная логикая для стрита.
1) обрезаем данные до «только номинала» (array_map + остаток от деления на 100)
2) удаляем повторы номиналов (array_unique)
3) сортируем по убыванию
4) если под индексом 0 карта == туз добавляем в конец единицу
5) цикл который проверит пятерки карт. Смысла тут проверять каждую нет. Если карты идут «подрят» и повторов нет, то разница между [i] и [i+4] всегда равна 4.

function straight ( array $cards ) {
	// убираем масти
	$tmp = array_map(function ( $card ) {
		return $card % 100;
	});
	// убираем пары
	$tmp = array_unique($tmp);
	// сортируем
	rsort($tmp);
	// добавляем туз как 1 в конец
	if ( $tmp[0] == 14 ) {
		$tmp[] = 1;
	}
	// проверяем разницу между текущей и +4 картой
	// цикл закончится если индекс карты +4 выходит за пределы массива номиналов
	for ( $i=0; $i+4<count($tmp); $i++ ) {
		if ( abs($tmp[$i] - $tmp[$i+4]) == 4 ) {
			// с этой карты начинается стрит
			return $tmp[$i];
			// наерное вам нужно будет уммножить на 1e+8
		}
	}
	return 0;
}

Существует открытый проект gitlab, хостинг для git репозиториев с автоматизацией. В нем встроен хостинг docker образов. Для автоматизации в gitlab придуман .gitlab-ci.yml файл в корне проекта.

Вот рабочий пример для небольшого проекта

variables:
  DEPLOY_TARGET: ec2-user@ec2-1-1-1-1.eu-central-1.compute.amazonaws.com
  DEPLOY_DIR: ~/deploy/${CI_PROJECT_NAME}

stages:
  - build
  - deploy

build:
  stage: build
  script:
    - docker login ${CI_REGISTRY} -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD}
    - docker build -t ${CI_REGISTRY_IMAGE}:latest .
    - docker push ${CI_REGISTRY_IMAGE}:latest
  only:
    - master

deploy-production:
  stage: deploy
  script:
    - ssh -o StrictHostKeyChecking=no $DEPLOY_TARGET "mkdir -p $DEPLOY_DIR"
    - scp -o StrictHostKeyChecking=no ${DOCKER_COMPOSE_PROD}  $DEPLOY_TARGET:$DEPLOY_DIR/docker-compose.yml
    - ssh -o StrictHostKeyChecking=no $DEPLOY_TARGET "cd $DEPLOY_DIR; docker login ${CI_REGISTRY} -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD}; docker-compose pull; docker-compose up -d;"
  only:
    - master

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

У вас проект доставляется репозиторием, вместо образа. Нет хранения актуального образа с прода. Стопается контейнер, а потом собирается, когда сборка должна быть до остановки старого (docker-compose сам умеет стопать старый контейнер). Отдельные шелл файлы не нужны, в крайнем случае в Makefile их можно засунуть.

Так риски то меньше, уже посчитали.

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

А если культура отмены более эффективна и менее рискована?

Американским компаниям запрещено предоставлять услуги правительству рф. Этот кейс не покрыть региональными блокировками.

Лицо не под санкциями может зарегать канал и выкладывать ролики из думы. Блокировки не будет.

Причем тут политизация? Ютуб выполняет законы США, которые запрещают предоставлять услуги некоторым лицам (санкции). Канал принадлежал такому лицу. Ютуб перестал предоставлять услугу.

Ставил когдато FirefoxOS на свой Xperia Ray. По сути, это был Android из которого выпилили dalvik и заменили на geko runtime с приложениями в стиле старых расширений Firefox. С драйверами все должно быть более радужно, чем пишут выше, ведь ядро взято с андроида.

Интерфейс лагал сильнее, чем на андроиде. Вроде даже звонки работали. Камера не работала. Забавная игрушка, на уровне Ubuntu Touch.

Судя по комментарию человек почти месяц не сомневался в пропаганде.

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

в один язык все необходимые инструменты не разместить.

Кажется JS ближе всех к этой цели. Начинаю задумываться, а почему в игровые движки не интегрировать V8 для сценариев миссий и AI?

Штраф, за неуплату которого, ничего не будет не штраф.

Вот показали что будет.

небезопасность такая же как у HTTP - байты передаются в открытом виде, без шифрования.

Во-первых, можно сделать интерфейс настраиваемым.

Во-вторых, мне нравится техника Apple, техническая реализация. Но вот интерфейс неудобный.

Затем, зачем в серийных авто руль круглый и с кнопками - это удобно.

А почему не сделать интерфейс похожим на винду? Патенты? Както линуксу не мешают.

Для приложений Google/Apple Pay есть.
В хроме один раз сохраняется карта, а дальше, если сайт корректно разметил поля, автозаполнением вносятся данные карты.
Делал аналогично.

ld -r -b binary demo.ui -o demo_ui.o


// from demo.ui
extern const char _binary_demo_ui_start[];
extern const char _binary_demo_ui_end[];
Apple не получает прибыли с миллионных продаж продуктов эпиков.
Репутационный? А в чем плюс? Бренд итак узнаваемый. Пользователям лишний повод не покупать продукцию яблочников. Я вот не вижу как эплу монетизировать репутационный плюс.
Пустят мелких разрабов с 15% комиссией? Приложений станет больше. Работы на проверки больше. Расходов на персонал больше. Тут неизвестно. Больше приложений — ниже их качество. Минус имидж. Сложно посчитать в общем.

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity