У меня была похожая проблема несколько недель назад. IIRC confluent-kafka-go
требует последней версии librdkafka-dev
, которая просто еще не была выпущена для Alpine или других. Хотя я смог найти его для Ubuntu, поэтому мое решение (которое было более сложным, чем я ожидал, но оно работало) состояло в том, чтобы начать с чистой Ubuntu, установить librdkafka-dev
, установить нужную версию Go и скомпилировать в Docker ,
Вот как это выглядит:
FROM ubuntu
# Install the C lib for kafka
RUN apt-get update
RUN apt-get install -y --no-install-recommends apt-utils wget gnupg software-properties-common
RUN apt-get install -y apt-transport-https ca-certificates
RUN wget -qO - https://packages.confluent.io/deb/5.1/archive.key | apt-key add -
RUN add-apt-repository "deb [arch=amd64] https://packages.confluent.io/deb/5.1 stable main"
RUN apt-get update
RUN apt-get install -y librdkafka-dev
# Install Go
RUN add-apt-repository ppa:longsleep/golang-backports
RUN apt-get update
RUN apt-get install -y golang-1.11-go
# build the library
WORKDIR /go/src/gitlab.appsflyer.com/rantav/kafka-mirror-tester
COPY *.go ./
COPY // the rest of your go files. You may copy recursive if you want
COPY vendor vendor
RUN GOPATH=/go GOOS=linux /usr/lib/go-1.11/bin/go build -a -o main .
EXPOSE 8000
ENTRYPOINT ["./main"]
function removeElement(divNum) {
var d = document.getElementById('myDiv');
var olddiv = document.getElementById(divNum);
d.removeChild(olddiv);
}
Принятый ответ кажется неправильным мне. Во-первых, это не рассматривает newdiv, содержащий childnodes, таким образом, предложенные удаляют стандартную программу, поддерживает опасность для утечек памяти через закрытия (IE). Во-вторых, из-за положения 'newdiv = пустой указатель' функция creatediv сразу уничтожает справедливый созданный элемент. Я рекомендовал бы использовать функцию чистки Douglas Crockfords для обработчика щелчков, заняв место d с этим.
function purge(d) {
var a = d.attributes, i, l, n;
if (a) {
l = a.length;
for (i = 0; i < l; i += 1) {
n = a[i].name;
if (typeof d[n] === 'function') {
d[n] = null;
}
}
}
a = d.childNodes;
if (a) {
l = a.length;
for (i = 0; i < l; i += 1) {
purge(d.childNodes[i]);
}
}
}
Просто установка его пустой указатель не уничтожит его. Необходимо удалить его из дерева документов при проверке, что нет никаких ссылок, указывающих на него.
function creatediv(id) {
var newdiv = document.createElement('div');
newdiv.setAttribute('id', id);
newdiv.onclick=function(e) {
this.parentNode.removeChild(this);
};
document.body.appendChild(newdiv);
newdiv = null;//required in IE to prevent memory leak
}