Создать зацикленное послание
Вот в играх есть передатчик для радио, который транслирует зацикленное послание. Как такое можно сделать в радиусе города и какие подводные, ну там закон и прочее?
Перемещено hobbit из general
Вот в играх есть передатчик для радио, который транслирует зацикленное послание. Как такое можно сделать в радиусе города и какие подводные, ну там закон и прочее?
Перемещено hobbit из general
QObject::connect(tableworkers.horizontalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(sectionClicked(int)));
QObject::connect(tableworkers/*.verticalHeader() */ , &QTableWidget::cellChanged [=]() {
});
QObject::connect(tableworkers, &QTableWidget::cellChanged, this, &MyWidget::sectionClicked);
Есть такие варианты и они не компилируются QTableWidget
Пишу пет-проект в javascript не разбираюсь от слова совсем,в консоль вывожу сравнение текстур из картинок стянутых с сервера они равны друг другу, кроме первой и второй, код здесь https://codepen.io/JetStorm2/pen/VwVbrrZ рисует одну текстуру во всех полях, а должны быть разные
Наплодили этих дистрибутивов целый вагон, в чем у них отличия то?
Перемещено Zhbert из general
Есть джаваскрипт программа на фронтенде, как бы мне получить данные из базы данных с сервера и желательно на стандартном javascript. Думаю о веб-сокетах, но немного не пойму архитектуру такого подхода, тоже бы желательно понять.
Короче пытаюсь наложить несколько текстур в программе - не получается, а вот если взять все изображения и поместить в одно изображение, меняя координаты текстурные то будет работать - лишь надо подобрать координаты. Как склеить несколько изображений в одно и где почитать про такое - как лучше и т.д.
Ошибка из-за того что пытаюсь стянуть картинки со своего жесткого
webgl-debug.js:208 Uncaught DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The image element contains cross-origin data, and may not be loaded.
at Object.texImage2D (file:///C:/Users/bad_master/Desktop/Tropic-Island/Tropic-Island/wbcars/webgl-debug.js:208:38)
at loadTexture (file:///C:/Users/bad_master/Desktop/Tropic-Island/Tropic-Island/wbcars/Drum3D.js:841:6)
at fon.onload (file:///C:/Users/bad_master/Desktop/Tropic-Island/Tropic-Island/wbcars/Drum3D.js:633:28)
Доброго времени суток! Есть проблемка есть рамка и ячейки, в ячейках должны быть разные текстуры, а у меня везде сочетание всех текстур везде. https://codepen.io/JetStorm2/pen/VwVbrrZ?editors=0010
Есть два шейдера вот браузерный без цвета
var VSHADER_SOURCE =
'attribute vec4 a_Position;\n' +
'attribute vec2 a_TexCoord;\n' +
'varying vec2 v_TexCoord;\n' +
'uniform mat4 u_ProjMatrix;\n' +
'uniform mat4 u_ModelMatrix;\n' +
'void main() {\n' +
' gl_Position = u_ProjMatrix * u_ModelMatrix * a_Position;\n' +
' v_TexCoord = a_TexCoord;\n' +
'}\n';
// Fragment shader program
var FSHADER_SOURCE =
'#ifdef GL_ES\n' +
'precision mediump float;\n' +
'#endif\n' +
'uniform sampler2D u_Sampler;\n' +
'varying vec2 v_TexCoord;\n' +
'void main() {\n' +
' gl_FragColor = texture2D(u_Sampler, v_TexCoord);\n' +
'}\n';
const GLchar* vertexShaderSource = "#version 330 core\n"
"layout(location = 0) in vec3 position;\n"
"layout(location = 1) in vec4 color;\n"
"layout(location = 2) in vec2 texCoord;\n"
"out vec4 ourColor;\n"
"out vec2 TexCoord;\n"
"uniform mat4 transform;\n"
"void main()\n"
"{\n"
"gl_Position = transform*vec4(position, 1.0f);\n"
"ourColor = color;\n"
"TexCoord = texCoord;\n"
"}\0";
const GLchar* fragmentShaderSource = "#version 330 core\n"
"in vec4 ourColor;\n"
"in vec2 TexCoord;\n"
"out vec4 color;\n"
"uniform sampler2D ourTexture;\n"
"void main()\n"
"{\n"
"color = texture(ourTexture, TexCoord);\n"
"}\0";
var VSHADER_SOURCE =
'attribute vec3 a_Position;\n' +
'attribute vec2 a_TexCoord;\n' +
'varying vec2 v_TexCoord;\n' +
'uniform mat4 u_ProjMatrix;\n' +
'uniform mat4 u_ModelMatrix;\n' +
'void main() {\n' +
' gl_Position = u_ProjMatrix * u_ModelMatrix * vec4(a_Position,1.0);\n' +
' v_TexCoord = a_TexCoord;\n' +
'}\n';
// Fragment shader program
var FSHADER_SOURCE =
'#ifdef GL_ES\n' +
'precision mediump float;\n' +
'#endif\n' +
'uniform sampler2D u_Sampler;\n' +
'varying vec2 v_TexCoord;\n' +
'void main() {\n' +
' gl_FragColor = texture2D(u_Sampler, v_TexCoord);\n' +
'}\n';
Хочу чтобы js программа подтягивала изображение без геморроя с cors. Какое-нибудь файлохранилище
Перемещено hobbit из development
Есть рамка https://ibb.co/jDpYGM2 при работе кода она отрисовывается становится синеватым https://ibb.co/3rff9n7 Вот код:
const GLchar* vertexShaderSource = "#version 330 core\n"
"layout(location = 0) in vec3 position;\n"
"layout(location = 1) in vec4 color;\n"
"layout(location = 2) in vec2 texCoord;\n"
"out vec4 ourColor;\n"
"out vec2 TexCoord;\n"
"uniform mat4 transform;\n"
"void main()\n"
"{\n"
"gl_Position = transform*vec4(position, 1.0f);\n"
"ourColor = color;\n"
"TexCoord = texCoord;\n"
"}\0";
const GLchar* fragmentShaderSource = "#version 330 core\n"
"in vec4 ourColor;\n"
"in vec2 TexCoord;\n"
"out vec4 color;\n"
"uniform sampler2D ourTexture;\n"
"void main()\n"
"{\n"
"color = texture(ourTexture, TexCoord);\n"
"}\0";
//...
void Scene1::LoadBorder(QOpenGLExtraFunctions* f)
{
float buf2[] =
{ // x, y, z, r, g, b, a, s, t
-1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
-1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0,
1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0,
1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0,
-1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0,
1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0
};
// GLuint buffer2;
f->glGenVertexArrays(1, &vao2);
f->glGenBuffers(1, &buffer2);
f->glBindVertexArray(vao2);
f->glBindBuffer(GL_ARRAY_BUFFER, buffer2);
f->glBufferData(GL_ARRAY_BUFFER, sizeof(buf2), buf2, GL_STATIC_DRAW);
indices_2 = new GLuint[6];
for (int i = 0; i < 6; i++)
indices_2[i] = (GLuint)i;
GLuint EBO2;
f->glGenBuffers(1, &EBO2);
f->glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO2);
f->glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices_2), indices_2, GL_STATIC_DRAW);
// Position attribute
f->glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 9 * sizeof(GLfloat), (GLvoid*)0);
f->glEnableVertexAttribArray(0);
// Color attribute
f->glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, 9 * sizeof(GLfloat), (GLvoid*)(3 * sizeof(GLfloat)));
f->glEnableVertexAttribArray(1);
// TexCoord attribute
f->glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 9 * sizeof(GLfloat), (GLvoid*)(7 * sizeof(GLfloat)));
f->glEnableVertexAttribArray(2);
f->glEnableVertexAttribArray(0);
f->glBindBuffer(GL_ARRAY_BUFFER, 0); // Note that this is allowed, the call to glVertexAttribPointer registered VBO as the currently bound vertex buffer object so afterwards we can safely unbind
f->glBindVertexArray(0); // Unbind VAO (it's always a good thing to unbind any buffer/array to prevent strange bugs
image2.load("content//border.png"); // загружаем изображение в переменную image1
// конвертируем изображение в формат для работы с OpenGL:
texture3 = new QOpenGLTexture(image2.mirrored());
texture3->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
texture3->setMagnificationFilter(QOpenGLTexture::Linear);
glGenTextures(1, &id3);
glBindTexture(GL_TEXTURE_2D, id3);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image2.width(), image2.height(),
0, GL_RGBA, GL_UNSIGNED_BYTE, image2.bits());
glBindTexture(GL_TEXTURE_2D, 0);
}
void Scene1::ShowBorder(QOpenGLExtraFunctions* f, GLuint shaderProgram)
{
f->glUseProgram(shaderProgram);
//f->glBindBuffer(GL_ARRAY_BUFFER, buffer2);
f->glBindVertexArray(vao2);
glBindTexture(GL_TEXTURE_2D, id3);
GLfloat trans2[16] =
{
1.0,0.0,0.0,0.0,
0.0,1.0 /** cos(-rotate__ * 0.0175)*/,0.0/* - sin(-rotate__ * 0.0175)*/,0.0,
0.0,0.0 /* + sin(-rotate__ * 0.0175) */ ,1.0/* * cos(-rotate__ * 0.0175)*/,0.0,
0.0,0.0,0.0,1.0
};
unsigned int transformLoc = f->glGetUniformLocation(shaderProgram, "transform");
f->glUniformMatrix4fv(transformLoc, 1, GL_FALSE, trans2);
glEnable(GL_ALPHA_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glTexEnvf(GL_TEXTURE_2D, GL_TEXTURE_ENV_MODE, GL_BLEND);
f->glDrawArrays(GL_TRIANGLES, 0, 6);
glDisable(GL_BLEND);
glDisable(GL_ALPHA_TEST);
f->glBindVertexArray(0);
}
Видео pcie4.0, мать pcie3.0?
Ошибка: Вызвано исключение по адресу 0x000000006CA7CC00 (nvoglv64.dll): 0xC0000005: нарушение прав доступа при чтении по адресу 0x0000000000000000. Вот код часть его работает, но когда добавляю вторую часть сыпется ошибка
std::set<float> sleft, sright;
sleft.insert(-0.78);
sleft.insert(-0.48);
sleft.insert(-0.16);
sleft.insert(0.16);
sleft.insert(0.48);
sright.insert(-0.48);
sright.insert(-0.16);
sright.insert(0.16);
sright.insert(0.48);
sright.insert(0.78);
std::set<float>::iterator itr, itrright;
int jIter = 0, nn = 288;
int n = 10;
float* buf = new float[nn * n * 5];
indices = new GLuint[36 * n * 5];
for (itr = sleft.begin(), itrright = sright.begin();
itr != sleft.end(); itr++, itrright++)
{
float xleft = *itr;
float xright = *itrright;
for (int i = 0; i < n; i++)
{
//front up
float yTex = 1 - (float)i / n;
float yTex2 = 1 - (float)(i + 1) / n;
buf[(0 + i * nn) + jIter * n * nn] = xleft;
buf[(1 + i * nn) + jIter * n * nn] = 0.68f * sin((90.0 - 60.0 / n * i) * 0.0175);
buf[(2 + i * nn) + jIter * n * nn] = 0.68f * cos((90.0 - 60.0 / n * i) * 0.0175);
buf[(3 + i * nn) + jIter * n * nn] = 0.0;
buf[(4 + i * nn) + jIter * n * nn] = 0.0;
buf[(5 + i * nn) + jIter * n * nn] = 0.0;
buf[(6 + i * nn) + jIter * n * nn] = 0.0;//1.0
buf[(7 + i * nn) + jIter * n * nn] = yTex;
//...etc
}
}
GLuint buffer;
f->glGenVertexArrays(1, &vao);
f->glGenBuffers(1, &buffer);
f->glBindVertexArray(vao);
f->glBindBuffer(GL_ARRAY_BUFFER, buffer);
f->glBufferData(GL_ARRAY_BUFFER, sizeof(float) * nn * n * 5, buf, GL_STATIC_DRAW);
for (int i = 0; i < 36 * n; i++)
indices[i] = (GLuint)i;
GLuint EBO;
f->glGenBuffers(1, &EBO);
f->glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);
f->glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(GLuint) * 60, indices, GL_STATIC_DRAW);
f->glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)0);
f->glEnableVertexAttribArray(0);
f->glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(3 * sizeof(GLfloat)));
f->glEnableVertexAttribArray(1);
f->glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(6 * sizeof(GLfloat)));
f->glEnableVertexAttribArray(2);
f->glEnableVertexAttribArray(0);
f->glBindBuffer(GL_ARRAY_BUFFER, 0);
f->glBindVertexArray(0);
glClearColor(0, 0, 0, 0);
image1.load("content//drum//auto1.png");
texture = new QOpenGLTexture(image1.mirrored());
texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
texture->setMagnificationFilter(QOpenGLTexture::Linear);
glGenTextures(1, &id);
glBindTexture(GL_TEXTURE_2D, id);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image1.width(), image1.height(),
0, GL_RGBA, GL_UNSIGNED_BYTE, image1.bits());
image1.load("content//drum//auto2.png");
texture2 = new QOpenGLTexture(image1.mirrored());
texture2->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
texture2->setMagnificationFilter(QOpenGLTexture::Linear);
glGenTextures(1, &id2);
glBindTexture(GL_TEXTURE_2D, id2);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image1.width(), image1.height(),
0, GL_RGBA, GL_UNSIGNED_BYTE, image1.bits());
glBindTexture(GL_TEXTURE_2D, 0);
/* проблема начинается после этого добавления этого кода*/
float buf2[] =
{// x, y, z, r, g, b, s, t
-1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0,
-1.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0,
1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0,
-1.0, -1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0,
1.0, -1.0, 0.0, 0.5, 0.5, 0.5, 1.0, 1.0
};
GLuint buffer2;
f->glGenVertexArrays(1, &vao2);
f->glGenBuffers(1, &buffer2);
f->glBindVertexArray(vao2);
f->glBindBuffer(GL_ARRAY_BUFFER, buffer2);
f->glBufferData(GL_ARRAY_BUFFER, sizeof(buf2), buf2, GL_STATIC_DRAW);
GLuint indices_2[] = {
0,1,2,
3,4,5
};// Note that we start from 0!
GLuint EBO2;
f->glGenBuffers(1, &EBO2);
f->glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO2);
f->glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices_2), indices_2, GL_STATIC_DRAW);
// Position attribute
f->glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)0);
f->glEnableVertexAttribArray(0);
// Color attribute
f->glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(3 * sizeof(GLfloat)));
f->glEnableVertexAttribArray(2);
// TexCoord attribute
f->glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(6 * sizeof(GLfloat)));
f->glEnableVertexAttribArray(3);
f->glEnableVertexAttribArray(0);
f->glBindBuffer(GL_ARRAY_BUFFER, 0); // Note that this is allowed, the call to glVertexAttribPointer registered VBO as the currently bound vertex buffer object so afterwards we can safely unbind
f->glBindVertexArray(0); // Unbind VAO (it's always a good thing to unbind any buffer/array to prevent strange bugs
image2.load("content//border.png"); // загружаем изображение в переменную image1
// конвертируем изображение в формат для работы с OpenGL:
texture3 = new QOpenGLTexture(image2.mirrored());
texture3->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
texture3->setMagnificationFilter(QOpenGLTexture::Linear);
glGenTextures(1, &id3);
glBindTexture(GL_TEXTURE_2D, id3);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image2.width(), image2.height(),
0, GL_RGBA, GL_UNSIGNED_BYTE, image2.bits());
glBindTexture(GL_TEXTURE_2D, 0);
glEnable(GL_DEPTH_TEST);
f->glUseProgram(shaderProgram);
f->glBindVertexArray(vao);
GLfloat trans[16] =
{
1.0,0.0,0.0,0.0,
0.0,1.0 * cos(rotate__ * 0.0175),0.0 - sin(rotate__ * 0.0175),0.0,
0.0,0.0 + sin(rotate__ * 0.0175),1.0 * cos(rotate__ * 0.0175),0.0,
0.0,0.0,0.0,1.0
};
rotate__ += 1;
if (rotate__ >= 360)
rotate__ = 0;
unsigned int transformLoc = f->glGetUniformLocation(shaderProgram, "transform");
f->glUniformMatrix4fv(transformLoc, 1, GL_FALSE, trans);
for (int j = 0; j < 5; j++)
{
glBindTexture(GL_TEXTURE_2D, id);
for (int i = 0 + j * 10; i < 10 + j * 10; i++)
f->glDrawArrays(GL_TRIANGLES, 36 * i, 6/* 36 * 10 * 5*/);
glBindTexture(GL_TEXTURE_2D, id2);
for (int i = 0 + j * 10; i < 10 + j * 10; i++)
f->glDrawArrays(GL_TRIANGLES, 36 * i + 6, 6/* 36 * 10 * 5*/);
glBindTexture(GL_TEXTURE_2D, id);
for (int i = 0 + j * 10; i < 10 + j * 10; i++)
f->glDrawArrays(GL_TRIANGLES, 36 * i + 12, 6/* 36 * 10 * 5*/);
glBindTexture(GL_TEXTURE_2D, id2);
for (int i = 0 + j * 10; i < 10 + j * 10; i++)
f->glDrawArrays(GL_TRIANGLES, 36 * i + 18, 6/* 36 * 10 * 5*/);
glBindTexture(GL_TEXTURE_2D, id);
for (int i = 0 + j * 10; i < 10 + j * 10; i++)
f->glDrawArrays(GL_TRIANGLES, 36 * i + 24, 6/* 36 * 10 * 5*/);
glBindTexture(GL_TEXTURE_2D, id2);
for (int i = 0 + j * 10; i < 10 + j * 10; i++)
f->glDrawArrays(GL_TRIANGLES, 36 * i + 30, 6/* 36 * 10 * 5*/);
}
/*вот добавленный код код выше для отрисовки работает*/
f->glBindVertexArray(vao2);
glBindTexture(GL_TEXTURE_2D, id3);
f->glDrawArrays(GL_TRIANGLES, 0, 6);
f->glBindVertexArray(0);
Есть объект он задается в статическом массиве координаты в цикле по математическим формулам. Добавил вращение по уроку https://habr.com/ru/articles/319144/, но проблема такая что весь объект вращается одинаково, он с копиями. Как вращать разные копии по-разному? Насколько я понял glPushMatrix и glPopMatrix не используется в современном опенжл.
Есть такой код
float* m;
m={1,2,3,4,5,6};
Вот смотрел варианты работы по своему стеку - opengl - главное чтобы общаться на русском языке - потому что английский труден в общении - на всю россию пару вакансий научных со знанием математики в провинции, а остальные с релокацией из россии - мне не подходят. Короче борода, планировал переписать версию с 1.1 на 2.0 и выше чтобы запрыгнуть в этот уходящий поезд, но похоже что это путь в никуда. А как на вашем фронте и ваших стеках?
Вот например есть ли отличие в исполняемом файле программы если написать public int var; private int var; protected int var? С точки зрения декомпиляции и реверс инжиниринга исполняемого файла? То есть если я напишу protected, переменная станет защищенной или нет от таких программ как art money?
Вот код
from sympy import *
def print_hi(name):
print(f'Hi, {name}')
if __name__ == '__main__':
x,t = symbols('x,t')
u = Function('u')
ex=diff(u(x,t),t)-9*diff(u(x,t),x,2)-1-2*x*t-5*t*sin(3*pi*x/2)
con={u(0,t):t,diff(u(x,t),x).subs(1,t):t*t,u(x,0):3*x}
y=dsolve(ex,ics=con)
print(ex)
print(simplify(y))
Написал MVP на плюсах с зависимостями от других библиотек и фреймворков, как бы сделать библиотеку из всего этого кода? Чтобы потом импортировать ее в любую программу на плюсах и она работала. И какие подводные?
Завтра придет девушка на работу(не устраиваться) а программу ее компании переустановить из-за ошибки после обновления. Хочу пригласить ее в свой отдел после попить кофе/чай с конфетами, если согласится. О чем поговорить? Вряд ли о линуксе, нужны идеи - опыта мало в этом вопросе
← предыдущие | следующие → |