Pull to refresh
0
0
Гоголев Роман @romka777

User

Send message
Да, конечно
package main

import (
	"fmt"
	"time"
)

func main() {

	n := 10

	in1 := make(chan int)
	in2 := make(chan int)
	out := make(chan int)

	go func(in1 chan<- int, n int) {
		for i := 0; i < n; i++ {
			fmt.Println("Write to in1: ", i)
			in1 <- i
		}
	}(in1, n)

	go func(in2 chan<- int, n int) {
		for i := 0; i < n; i++ {
			fmt.Println("Write to in2: ", i)
			in2 <- i * 10
		}
	}(in2, n)

	go func(out <-chan int) {
		for i := range out {
			fmt.Println("Read from Out: ", i)
		}
	}(out)

	Merge2Channels(func(x int) int {
		time.Sleep(time.Duration(x%3) * time.Second)
		return x * x
	}, in1, in2, out, n)

	fmt.Println("Done")
	fmt.Scanln()
}

type orderedNumer struct {
	pos int
	num int
}

//Merge2Channels merges 2 channels
func Merge2Channels(f func(int) int, in1 <-chan int, in2 <-chan int, out chan<- int, n int) {

	fin1 := make(chan orderedNumer)
	fin2 := make(chan orderedNumer)

	go funcNum(f, in1, fin1, n)
	go funcNum(f, in2, fin2, n)

	go mergeFNums(fin1, fin2, out, n)
}

func funcNum(f func(int) int, in <-chan int, fin chan<- orderedNumer, n int) {
	pos := 0
	for i := 0; i < n; i++ {
		num := <-in
		// fmt.Println("Read from in: ", num)
		onum := orderedNumer{pos, num}
		pos++
		go func(f func(int) int, onum orderedNumer, fin chan<- orderedNumer) {
			onum.num = f(onum.num)
			// fmt.Println("Write to fin: ", onum)
			fin <- onum
		}(f, onum, fin)
	}
}

func mergeFNums(fin1 <-chan orderedNumer, fin2 <-chan orderedNumer, out chan<- int, n int) {
	nums1 := make(map[int]int, n)
	nums2 := make(map[int]int, n)

	sendPos := 0
	for i := 0; i < n*2; i++ {
		select {
		case onum1 := <-fin1:
			nums1[onum1.pos] = onum1.num
		case onum2 := <-fin2:
			nums2[onum2.pos] = onum2.num
		}

		// fmt.Println("Check ", sendPos)
		sendNum1, ok1 := nums1[sendPos]
		sendNum2, ok2 := nums2[sendPos]

		if ok1 && ok2 {
			out <- sendNum1 + sendNum2
			sendPos++
		}
	}

	for i := sendPos; i < n; i++ {
		sendNum1 := nums1[i]
		sendNum2 := nums2[i]
		out <- sendNum1 + sendNum2
	}
}



решение было принято 13-го мая
Если Вам будет легче, я один из тех 32-х, у кого система приняла решение.
Дмитрий, спасибо за интересный материал, но меня удивляет, что Вы совершенно не коснулись собственного механизма вытеснения (Eviction) в Кубере kubernetes.io/docs/tasks/administer-cluster/out-of-resource.

У Кубера есть собственная настройка порога памяти (по умолчанию 100мб), по которому он будет сам выбирать какие поды вытеснять с ноды, и только если этот механизм не отработает и память закончится окончательно, то ядро линукса запустит OOM Killer, который отстрелит поды с самым высоким oom_score_adj.

Итак, у кубера есть два порога: eviction-hard и eviction-soft, в которых можно задать пороги свободной памяти, если её на сервере будет меньше, чем задано, то кубер начнет выселять поды. Разница в том, что soft просит свалить и ждёт некоторое время (тоже задаётся в конфиге), затем убивает, если под не ушёл. А hard убивает сразу. Как кубер выбирает кого выселить? Очень просто — выселяются BestEffort и Burstable поды, которые превышают потребление памяти указаное в request. Чем больше превысил, тем быстрее тебя выселят с ноды.
А OOM Killer похорошему запускаться вообще не должен.

Если он генерируется на сервере, значит он генерируется с помощью С++, а значит там так же может быть С++, который сливает все ваши ключи.

Готовы ли вы использовать сгенерированный онлайн пароль в качестве своего мастер пароля? Почему тогда доверяете приватным ключам, которые кто-то генерирует за вас?

Во-первых, одно дело, если бы автор написал «если сделать так, то можно получить доступ к данным», но он же сам написал, что выкачал бд, а это неправомерный досту к информации. Боже упаси его выложить эту базу в паблик, или попытаться её продать.
Во-вторых, если дыру не закроют и база разлетится по интернету, ответственность за это ляжет на автора топика, включая материальный ущерб.
Мне кажется, Вас уже ищут компетентные органы. В статье уголовка на лицо.
А Вы не пробовали сложить все затраченные деньги и предъявить это всё в hts.ru? Насколько я понял в случившемся как минимум половина вины лежит на них, ведь по их вине у злоумышленника оказалась БД и код, т.е. фактически копия проекта.
Скажите, если бы у Вас украли только домен и Вы бы запустили проект на новом, стали бы вы судиться и тратить столько денег, для возврата старого домена?
В будущем каждый гражданин будет квалифицированным инвестором
Необходимо ещё на 100 поделить, чтобы проценты в дробь перевести.
Сегодня утром оплатил, а тут скидка :(
Всё верно. Хотел обратить внимание, что высокий LA может быть вызван не только загрузкой cpu, но также и нагрузкой на диски или сеть.
Наводящий вопрос:
А Вы не встречали такую ситуацию, когда LA на сервере около сотни, а нагрузка на каждое ядро меньше 10%?
Вам шашечки или ехать?
Есть ещё интересная программа AnyDesk anydesk.com
Расскажите подробнее про задачу NER. Удалось ли получить хорошие результаты? Какая точность, полнота? Можно где-то посмотреть, как оно работает?
— достаем из базы баланс пользователя;
— если баланса достаточно, то дергаем API;
— если всё хорошо, то списываем с баланса сумму за услугу, делаем UPDATE, коммитим, иначе откатываемся;
— отвечаем пользователю

Если это обернуть в транзакцию, всё должно отработать правильно.
Спасибо за статью.
Какая производительность этого решения?
Моему ребёнку чуть больше двух лет, если перед ним положить такую штуку, он просто возьмет планшет, нажмёт Home, и запустит свою любимую игрушку (Занятой малыш).
Общаюсь с друзьями, которые тоже являются родителями — у них ситуация аналогичная, если ребенок видит планшет, ему больше ничего не нужно. Мы такие же были — когда родители давали денди, машинки и солдатики отдыхали. Поэтому, имхо, игрушки отдельно, планшет отдельно.
Хотя, может у кого-то другая ситуация.
Поправьте пожалуйста пост, правильные параметры компилятора: gcc: -lfcgi и -lpthread
За статью спасибо.
Если можно, пару вопросов:
1. а какова скорость работы этой штуки?
т.е. сколько текста (в кб/сек) она сможет окрасить?
2. Что будет, если в одном тексте есть и позитив и негатив?
1
23 ...

Information

Rating
Does not participate
Location
Королев, Москва и Московская обл., Россия
Date of birth
Registered
Activity