0

голосов
1

ответ
18

Просмотры

onclick in javascript with while loop from php

Я отчаянно пытаюсь добавить ответные полей в раздел комментариев в течение нескольких дней, теперь - в основном я хочу, поле ответа (дела), чтобы появиться, как только вы нажмете определенную кнопку. Я думал, используя OnClick обработчик события был путь. Мы уже в PHP эхо, поэтому я думал, что это было бы легко просто добавить строку-идентификатор (CID) к фактической сНу и идентификатор кнопки - оказывается, ее не работает .. Добавлено туРипсЫоп () к кнопке Добавлена ​​«myDIV ", чтобы проверить, будет ли код работать с этим просто дел - это добавлено ID распечатать имя DIV и кнопки в то время как„чид“добавляется, чтобы получить лучший обзор в браузере (CID в brwoser были, как ожидалось) - наконец, я избавилась от кода и просто насторожило РТВ и был очень удивлен, что это число я не ожидал .. это был последний чид из базы данных Это мой DIV элемент. Имя Divs является replytest _ "$ replymatch1 [ 'чид']." Кнопки и имя showmore _ "$ replymatch1 [ 'чид']." Функция тестирования туРипсЫоп () {вар х = document.getElementById ( 'replytest _ "$ replymatch1. [ 'чид']."'); если (x.style.display === 'ни') {x.style.display = 'блок'; } Еще {x.style.display = 'ни'; }} Я «просто» хочу текстовое поле появится ниже комментарий, я нажал «ответить» на - от моего понимания, я должен сделать это в PHP, а петли, так как я получаю комментарии из базы данных Любая помощь будет признателен Thx парни дисплей = «ни»; }} Я «просто» хочу текстовое поле появится ниже комментарий, я нажал «ответить» на - от моего понимания, я должен сделать это в PHP, а петли, так как я получаю комментарии из базы данных Любая помощь будет признателен Thx парни дисплей = «ни»; }} Я «просто» хочу текстовое поле появится ниже комментарий, я нажал «ответить» на - от моего понимания, я должен сделать это в PHP, а петли, так как я получаю комментарии из базы данных Любая помощь будет признателен Thx парни
Alex
0

голосов
0

ответ
6

Просмотры

Ошибка: Невозможно построить FSM BDD с бесконечной точностью переменных

Я только что установил nuXmv и хотел попробовать на пример выращивания счетчика целочисленным из папки примеров. Когда я пытаюсь запустить команду: build_model, я получаю сообщение об ошибке: «файл взросление встречного integer.smv: строке 30: Невозможно построить Знает ли кто, как исправить эту ошибку Спасибо заранее взросления борьбы с целым числом?. SMV файл: МОДУЛЬ главного государственный ВАРА: {s0, s1, s2, s3}; VAR C: целое число; ВАР Пт: реальный; ASSIGN инициализации (состояние): = s0; следующее (состояние): = случай, STATE = s0: S1; состояние = S1: S2; состояние = s2 и с <Пт: с2; состояние = с2 & с> = Пт: s3, состояние = s3: S1; TRUE: состояние; ESAC; INIT (с): = 0; следующая (с ): = (состояние = с2 и в следующем (состояние) = с2) (с + 1) :( 0); INIT (Lim): = 2; следующий (Lim): = (состояние = s3 & следующим (состояние) = ? s1) (Lim + 1) :( Пт); INVARSPEC с <3; INVARSPEC с <4; INVARSPEC с <5; INVARSPEC с <6; INVARSPEC с <20; LTLSPEC GF (состояние = s3);
Alex
1

голосов
4

ответ
53

Просмотры

Javascript math text field

Я пытаюсь играть на скрипке с некоторыми легкими математикой в ​​javaascript, но я не получить его на работу, и я настоящий новичок в JS. В основном я просто пытаюсь использовать «Result1» в качестве переменной для второй простой математике, но кажется, что это не работает, что «результат» идентификатор принимается. + + Функция выхода () {вар значение1 = document.getElementById ( 'значение1') значение. вар значение2 = document.getElementById ( «значение2») значение. вар значение3 = document.getElementById ( «значение3») значение. document.getElementById ( 'результат1') innerHTML = (ParseInt (значение1) + ParseInt (значение2)) * ParseInt (значение3). вар value4 = document.getElementById ( 'результат1') значение. вар value5 = document.getElementById ( 'value5') значение. document.getElementById ( 'result2'). innerHTML = ParseInt (value4) + ParseInt (value5); } Скрипку здесь
Alex
0

голосов
0

ответ
4

Просмотры

Как фильтр таблицы и ограничить его 1 верхний ряд с Dax

Я новичок в запросах Powr BI и Дакс. У меня есть 2 таблицы с добавлением 1: * отношение. То, что я пытаюсь сделать, это фильтровать вторую таблицу с помощью внешнего ключа и специфического ключа. Ex. ### Table1: ### ID | RunID | ... [Другие столбцы] ### Table2: ### ID | RunID | Ключ | Значение | Государство Так что я пытаюсь сделать в энергетике BI с помощью Dax запроса, чтобы получить значение для ключа. (Возможно дублировали пар ключ-значение, но я могу взять верхний один) NEWCOLUMN = вар TMP = FILTER (Table2, И (Table2 [RunID] = Table1 [RunID], Table2 [Key] = "KEY_I_NEED")) вар tmp2 = РАССЧИТАЙ (цЕННОСТИ (Table2 [Value]), TopN (1, TMP) возвращение tmp2 Сейчас я получаю сообщение об ошибке: «. выражение ссылается на несколько столбцов несколько столбцов не могут быть преобразованы в скаляр» и не могли» т заставить его работать так, как мне нужно.
Alex K.
0

голосов
0

ответ
6

Просмотры

Как поместить диалог открытия файла в XCode UI Builder?

Я нашел код, который читает из файла, и принять путь от диалога по Официальным документам Microsoft. Но не нашел способ, как поместить это окно в XCode. Вот ссылка
Alex Park
3

голосов
1

ответ
16

Просмотры

Is there a way to convert binary data into a data type that will allow ActiveStorage to attach it as an image to my User model

Я поражая апи, чтобы получить изображение, которое они сохранили и использовать его в качестве профиля ПОС для пользователей нашего приложения. Я использую Ruby On Rails и ActiveStorage с АМС прикрепить и сохранить изображение. То, что они посылают назад это: { "Статус" => "общие", "ценности" => [{ "$ OBJECTTYPE" => "данные" "BinaryData" => "/ 9J / 4AAQSkZJRgABAQAASABIAAD / 4QBMRXhpZgAAT .... .KK5tT / 9к =»,„mime_type“=>„изображение / JPEG“,„метаданные“=> {„обрезанные“=> ложным}}]} Я пробовал много разных способов, чтобы прикрепить его и манипулировать данными, такими как просто приложив ее, как это, Base64.decode64, Base64, encode64. Я также попытался создать новый файл, а затем присоединение этого. Вот некоторые примеры: данные = Base64.decode64 (Base64.encode64 (ответ [: selfie_image] [ "ценность" присоединять (out_file) Он держит либо говоря прикрепление равна нулю или, в зависимости от того, как я манипулировать данными он будет говорить не тип заголовка содержание JPEG файла неправильно, и бросить, что как ошибка изображения магическом. Как я могу манипулировать эти данные, чтобы иметь возможность прикрепить его в качестве изображения для наших пользователей с ActiveStorage?
Alex Gonzalez
1

голосов
0

ответ
42

Просмотры

How to select/deselect data for columns in Google Charts?

Как я могу добавить окно выбора в легенде, который выбирает / отменяет данные, которые будут отображаться? Например, я хочу, чтобы отменить t2 не появляться в сложенном колонке? google.charts.load ( 'тока', {пакетов: [ "corechart"]}); google.charts.setOnLoadCallback (DrawChart) Функция DrawChart () {вар данных = новый google.visualization.DataTable (); data.addColumn ( 'строка', 'Title'); data.addColumn ( 'число', 'Т1'); data.addColumn ({тип: 'строка', роль: 'аннотаций'}); data.addColumn ( 'число', 'Т2'); data.addColumn ({тип: 'строка', роль: 'аннотаций'}); data.addColumn ( 'число', 'Т3'); data.addColumn ({тип: 'Строка', роль: 'пометка'}); data.addColumn ( 'число', 'Т4'); data.addColumn ({тип: 'строка', роль: 'аннотаций'}); data.addRows ([[ 'Обучение', 3,02 '3,02', 6,01 '6,01', 3,03 '3,03', 2,91 '2,91']]); // Устанавливаем диаграмма Опции вар = {аннотаций: {TextStyle: {жирным шрифтом: правда, курсивный: истинные, FONTSIZE: 16, FONTCOLOR: '#ffffff',}} Легенда: {позиция: 'сверху', выравнивание: ' старт», MAXLINES: 2}, 'ширина': 800, 'высота': 600, 'цвета': [ '# 72A5AE', '# B5A7D2', '# 881E13', '# 381E70']} вар диаграмма = новый google.visualization.ColumnChart (document.getElementById ( 't1')); chart.draw (данные, опционы); }
alex
1

голосов
0

ответ
25

Просмотры

правила проверки Refactor порождающих функций

Мне нужна помощь с рефакторингом функции (функция долго и может быть разделена позже). У меня есть объект, который содержит поля каждый столбец в таблице базы данных и имеет некоторую дополнительную информацию о колонке, такие как max_length и является ли оно или нет может быть пустым. Эти параметры являются основой моих правил проверки для поля, но дополнены некоторых правила проверки установки (пытаются сделать свою собственную Бакалею CRUD). Ниже функция логик объединить параметры, определенные с помощью информации столбца и информация о пользователе. Работа большого Еогеаспа, чтобы удалить любые правила проверки пользователей, которые уже установленные системы (Codeigniter не может иметь дублирующие правила) и некоторые другие вещи, которые находятся в комментариях функции. Библиотека проверки я использую Codeigniter, и классы, к которым функция обособленно жизни в экосистеме CodeIgniter. Функция принимает на полей полей как объект и переходит на работу пытается генерировать что-то, что выглядит как rule1 | Rule2 | Правилу3 [50] Функция работает, это просто, на мой взгляд, некрасиво, и я думаю, что может быть лучший способ делать то, что я хочу достичь. Пример $ this-> validation_rules [$ поле-> имя]: массив ( 'content_short' => 'strip_tags | обрезки | требуется | max_length [400]) / ** * Получает правила проверки для поля * Объединяет системы правила и правила пользователя * Обязательно соблюдение, если столбец не может быть пустым * Максимальная длина применяются для столбцов с атрибутами Максимальной длиной, переопределено * пользователь максимальной длиной меньшего значения, чем то, что БД определяет * В списке насильственное для столбцов с типом перечислением (если поле имеет указанный пользователь * in_list он будет удален в БД один имеет преимущество) * * Функция некрасиво, как ад ... * * @param OBJ $ поле * @return булево | строка * / защищенная функция field_validation_rules ($ поле) {$ sys_rules = массив (); если (! $ поле-> NULL) {// $ sys_rules [ 'облицовку'] = 'облицовку'; $ sys_rules [ 'требуется'] = 'требуется'; } Если (is_null ($ поле-> max_length!)) {Если ($ поле-> db_type == 'перечисление') {$ = $ выбирает this-> parse_comma_separated ($ поле-> max_length); Еогеасп ($ выбирает в качестве $ K => $ v) {$ Opts [$ K] = TRIM (обрезать ($ v, '\' ')); } $ Значения = Implode ( '', $ выбирает); $ sys_rules [ 'in_list'] = $ значения; } Еще {$ sys_rules [ 'max_length'] = $ поле-> max_length; }} $ User_rules = массив (); если (IsSet ($ this-> validation_rules [$ поле-> имя])) {если (количество ($ sys_rules) == 0) {вернуть $ этом-> validation_rules [$ поле-> имя]; } Еще {$ user_rules = взорваться ( '|', $ this-> validation_rules [$ поле-> имя]); Foreach ($ user_rules как $ индекс => $ правила) {$ f_rule = preg_filter ( '/\[(.*?)\]/', '', $ правила); если (пусто ($ f_rule)) {$ f_rule = $ правило; } Если (in_array ($ f_rule, array_keys ($ sys_rules))) {если ($ f_rule == ' max_length ') {$ матч = preg_match (' /\[(.*?)\]/», $ правило, $ соответствует); если (intval ($ матчей [1])> $ поле-> max_length) {$ (в отключенном user_rules [$ индекс]); } Еще {переменная не установлена ​​($ sys_rules [ 'max_length']); }} Еще {снята с охраны ($ user_rules [$ индекс]); }}}}} $ SData = массив (); Foreach ($ sys_rules как $ ключ => $ {Val), если ($ ключ == $ Val) {$ SDATA [] = $ ключа; } Еще {$ SData [] = $ ключ. "[$ Вэл]"; }} $ All_rules = array_merge ($ SData, $ user_rules); если (количество (all_rules $) == 0) {возвращение взрывать ( '|', $ all_rules); } Еще {вернуться ложным; }} Для справки функция используется как: если (($ правила = $ this-> field_validation_rules ($ fields_obj)) == ложь!) {$ This-> CI-> form_validation-> set_rules ($ field_name, $ fields_obj- > human_name, $ правила); $ Я ++; }
Alex
1

голосов
2

ответ
355

Просмотры

Эффективный способ сделать подобные объекты в Qt3D?

Мне нужно сделать сотни объектов, разделяющих их сетку и материал (и имеющими различные QTransforms). Единственный способ, которым я нашел, чтобы создать экземпляр QEntity для каждого из них. Каждый будет проводить экземпляр сетки и материала, в результате чего огромная трата времени и памяти. Есть ли способ сделать это более эффективным? Я знаю, что с помощью сырого OpenGL вы можете использовать меши и шейдер загружать их один раз и используя различные преобразования и параметры шейдера много раз в одном кадре. Может быть Qt3D есть что-то подобное?
Alex
1

голосов
1

ответ
375

Просмотры

генерировать отдельный файл углового сервиса для каждого контроллера в моем апи

это производит один выход, содержащий все генерирующие клиентов (угловые услуги) является возможность генерировать различные результаты (различные service.ts) для каждого контроллера это мой текущий код строки Surl = «HTTP: // локальный: 7325 / чванство / v1 / swagger.json "; вар документ = SwaggerDocument.FromUrlAsync (Surl) .Result; Настройки переменная = новые SwaggerToTypeScriptClientGeneratorSettings {ИмяКласса = "{контроллер} Сервис", Шаблон = TypeScriptTemplate.Angular, InjectionTokenType = InjectionTokenType.InjectionToken, HttpClass = HttpClass.HttpClient, GenerateDtoTypes = верно, BaseUrlTokenName = "API_BASE_URL",}; вар генератор = новый SwaggerToTypeScriptClientGenerator (документ, установка); вар код = generator.GenerateFile (); // .... // код записи на диск установлен пакет: NSwag.CodeGeneration.TypeScript кроме того, можно генерировать код из сборки, а не из спецификации файла развязности, как это делает NSwagStudio?
alex
1

голосов
0

ответ
274

Просмотры

custom notification with buttons, notification click causing button action

Im building an alarm app for Android ive created a custom notification with two buttons. Since ive added the buttons if i now click on the notification it seems to trigger the buttons action rather than the notification intent. Also the second button in layout seems to also trigger the first button so basically any click on the notification or second button seems to register as a click on the first button. Custom notification xml Notification create code Intent alarmIntent = new Intent(this, lockscreenactivity.class); alarmIntent.putExtra("alarmno", alarmno); alarmIntent.putExtra("snooze", false); alarmIntent.putExtra("dismiss", false); PendingIntent pendingIntent = PendingIntent.getActivity(this, alarmno, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); Intent snoozeintnet = new Intent(this, lockscreenactivity.class); snoozeintnet.putExtra("alarmno", alarmno); snoozeintnet.putExtra("snooze", true); snoozeintnet.putExtra("dismiss", false); PendingIntent pendingsnooze = PendingIntent.getActivity(this, alarmno, snoozeintnet, PendingIntent.FLAG_UPDATE_CURRENT); Intent dismissintent = new Intent(this, lockscreenactivity.class); dismissintent.putExtra("alarmno", alarmno); dismissintent.putExtra("dismiss", true); dismissintent.putExtra("snooze", false); PendingIntent pendingdismiss = PendingIntent.getActivity(this, alarmno, dismissintent, PendingIntent.FLAG_UPDATE_CURRENT); int icon = R.drawable.notification; NotificationManager mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification); contentView.setImageViewResource(R.id.image, R.drawable.ic_launcher); contentView.setTextViewText(R.id.title, "Alarm"); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(icon) .setContent(contentView) .setContentTitle("Alarm") .setContentIntent(pendingIntent) .setAutoCancel(false) .setPriority(Notification.PRIORITY_MAX) ; contentView.setOnClickPendingIntent(R.id.dismissnot, pendingdismiss); contentView.setOnClickPendingIntent(R.id.snoozenot, pendingsnooze); contentView.setOnClickPendingIntent(R.id.notiflay, pendingIntent); mNotificationManager.notify(alarmno, notificationBuilder.build());
alex barnes
1

голосов
1

ответ
54

Просмотры

Create a web worker when a function is called | JavaScript

I have a Tic Tac Toe 3D game which I want to optimize because at this moment, it crashes my web browser. It uses the MiniMax alpha-beta-pruning algorithm and I've split the code in 3 different files: TTT3D |-js   |---init.js # where I define all variables (as winningCombos, human, computer etc)   |---worker.js # the miniMax algorithm and at the end, I send as message the choice variable   |---ticAlpha.js # the worker is built and trying to get the response |-index.html Here is the code: index.html Tic Tac Toe 3D Hi there! Let's play Tic Tac Toe! Choose your player! X O X O Play Again init.js var winningCombos = new Array(); winningCombos[0] = [0, 1, 2]; winningCombos[1] = [3, 4, 5]; winningCombos[2] = [6, 7, 8]; // Per columns winningCombos[3] = [0, 3, 6]; winningCombos[4] = [1, 4, 7]; winningCombos[5] = [2, 5, 8]; // Diagonals winningCombos[6] = [0, 4, 8]; winningCombos[7] = [2, 4, 6]; // Second board //Per lines winningCombos[8] = [9, 10, 11]; winningCombos[9] = [12, 13, 14]; winningCombos[10] = [15, 16, 17]; // Per columns winningCombos[11] = [9, 12, 15]; winningCombos[12] = [10, 13, 16]; winningCombos[13] = [11, 14, 17]; // Diagonals winningCombos[14] = [9, 13, 17]; winningCombos[15] = [11, 13, 15]; // Third board // Per lines winningCombos[16] = [18, 19, 20]; winningCombos[17] = [21, 22, 23]; winningCombos[18] = [24, 25, 26]; // Per columns winningCombos[19] = [18, 21, 24]; winningCombos[20] = [19, 22, 25]; winningCombos[21] = [20, 23, 26]; // Diagonals winningCombos[22] = [18, 22, 26]; winningCombos[23] = [20, 22, 24]; // 3D Winning winningCombos[24] = [0, 13, 26]; winningCombos[25] = [20, 13, 6]; // Per lines winningCombos[26] = [0, 10, 20]; winningCombos[27] = [3, 13, 23]; winningCombos[28] = [6, 16, 26]; var free = ' '; var boardSize = 27; var board = new Array(); var activePlayer = 'Human'; var i; var choice; var human; var humanTurn; var computer; var computerTurn; var humanWin = 0; var computerWin = 0; $(document).ready(function() { $("button").click(function(){ $("#intro").addClass("hidden"); $("#board").removeClass("hidden"); }); }); function startGame(player) { for (i = 0; i < boardSize; i += 1) { board[i] = free; } activePlayer = 'Human'; if (player == "X") { human = "X"; humanTurn = "X"; computer = "O"; computerTurn = "O"; } else { human = "O"; humanTurn = "O"; computer = "X"; computerTurn = "X"; } } ticAlpha.js function makeMove(pos) { if (board[pos] === free && !gameOver(board)) { board[pos] = human; document.getElementById(pos).innerHTML = humanTurn; if (!gameOver(board)) { activePlayer = 'Computer'; makeComputerMove(); } } } function makeComputerMove() { // miniMax(board, 0, -Infinity, +Infinity); var worker = new Worker('worker.js'); worker.postMessage('its time'); worker.onmessage = function(event) { var move = event.data; }; board[move] = computer; document.getElementById(move).innerHTML = computerTurn; choice = []; activePlayer = 'Human'; } function score(possibleGame) { var score = getWinner(possibleGame); if (score === 3) { return 0; } else if (score === 1) { return -1; } else if (score === 2) { return 1; } } function miniMax(node, depth, alpha, beta) { if (getWinner(node) !== 0) { return score(node); } depth += 1; // var scores = new Array(); // var moves = new Array(); var availableMoves = getAvailableMoves(node); var move, result, possibleGame; if (activePlayer === 'Computer'){ for (var i = 0; i < availableMoves.length; i += 1) { move = availableMoves[i]; possibleGame = generateNewGame(move, node); result = miniMax(possibleGame, depth, alpha, beta); node = undoMove(node, move); if (result > alpha) { alpha = result; if (depth === 1) { choice = move; } else if (alpha >= beta) { return alpha; } } } return alpha; } else if (activePlayer === 'Human') { for (var i = 0; i < availableMoves.length; i += 1) { move = availableMoves[i]; possibleGame = generateNewGame(move, node); result = miniMax(possibleGame, depth, alpha, beta); node = undoMove(node, move); if (result < beta) { beta = result; if (depth === 1) { choice = move; } else if (alpha >= beta) { return beta; } } } return beta; } } function undoMove(possibleGame, move) { possibleGame[move] = free; changePlayerTurn(); return possibleGame; } function getAvailableMoves(tempBoard) { var availableMoves = new Array(); for (var i = 0; i < boardSize; i += 1) { if (board[i] === free) { availableMoves.push(i); } } return availableMoves; } function generateNewGame(move, possibleGame) { var piece = changePlayerTurn(); possibleGame[move] = piece; return possibleGame; } function changePlayerTurn() { var turn; if (activePlayer === 'Computer') { turn = computer; activePlayer = 'Human'; } else { turn = human; activePlayer = 'Computer'; } return turn; } function gameOver(tempBoard) { if (getWinner(tempBoard) === 0) { return 0; } else if (getWinner(tempBoard) === 1) { alert("You won!"); humanWin += 1; if (human === "X") { document.getElementById("xPlayerScore").value = humanWin; } else { document.getElementById("oPlayerScore").value = humanWin; } } else if (getWinner(tempBoard) === 2) { alert("Computer won!"); computerWin += 1; if (computer === "X") { document.getElementById("xPlayerScore").value = computerWin; } else { document.getElementById("oPlayerScore").value = computerWin; } } else if (getWinner(tempBoard) === 3) { alert("The game was a draw!"); } return 1; } function getWinner(tempBoard) { for (i = 0; i < winningCombos.length; i += 1) { if (tempBoard[winningCombos[i][0]] === human && tempBoard[winningCombos[i][1]] === human && tempBoard[winningCombos[i][2]] === human) { return 1; // human won } else if (tempBoard[winningCombos[i][0]] === computer && tempBoard[winningCombos[i][1]] === computer && tempBoard[winningCombos[i][2]] === computer) { return 2; // computer won } } if (tempBoard.indexOf(free) >= 0) { return 0; // not finished yet } return 3; // the game was a draw } function gameOver(tempBoard) { if (getWinner(tempBoard) === 0) { return 0; } else if (getWinner(tempBoard) === 1) { alert("You won!"); humanWin += 1; if (human === "X") { document.getElementById("xPlayerScore").value = humanWin; } else { document.getElementById("oPlayerScore").value = humanWin; } } else if (getWinner(tempBoard) === 2) { alert("Computer won!"); computerWin += 1; if (computer === "X") { document.getElementById("xPlayerScore").value = computerWin; } else { document.getElementById("oPlayerScore").value = computerWin; } } else if (getWinner(tempBoard) === 3) { alert("The game was a draw!"); } return 1; } function getWinner(tempBoard) { for (i = 0; i < winningCombos.length; i += 1) { if (tempBoard[winningCombos[i][0]] === human && tempBoard[winningCombos[i][1]] === human && tempBoard[winningCombos[i][2]] === human) { return 1; // human won } else if (tempBoard[winningCombos[i][0]] === computer && tempBoard[winningCombos[i][1]] === computer && tempBoard[winningCombos[i][2]] === computer) { return 2; // computer won } } if (tempBoard.indexOf(free) >= 0) { return 0; // not finished yet } return 3; // the game was a draw } function playAgain() { if (getWinner(board) != 0) { for (var j = 0; j < boardSize; j += 1) { document.getElementById(j).innerHTML = ""; } resetBoard(); } } function resetBoard() { for (i = 0; i < boardSize; i += 1) { board[i] = free; } } worker.js function miniMax(node, depth, alpha, beta) { if (getWinner(node) !== 0) { return score(node); } depth += 1; // var scores = new Array(); // var moves = new Array(); var availableMoves = getAvailableMoves(node); var move, result, possibleGame; if (activePlayer === 'Computer'){ for (var i = 0; i < availableMoves.length; i += 1) { move = availableMoves[i]; possibleGame = generateNewGame(move, node); result = miniMax(possibleGame, depth, alpha, beta); node = undoMove(node, move); if (result > alpha) { alpha = result; if (depth === 1) { choice = move; } else if (alpha >= beta) { return alpha; } } } return alpha; } else if (activePlayer === 'Human') { for (var i = 0; i < availableMoves.length; i += 1) { move = availableMoves[i]; possibleGame = generateNewGame(move, node); result = miniMax(possibleGame, depth, alpha, beta); node = undoMove(node, move); if (result < beta) { beta = result; if (depth === 1) { choice = move; } else if (alpha >= beta) { return beta; } } } return beta; } } function undoMove(possibleGame, move) { possibleGame[move] = free; changePlayerTurn(); return possibleGame; } function getAvailableMoves(tempBoard) { var availableMoves = new Array(); for (var i = 0; i < boardSize; i += 1) { if (board[i] === free) { availableMoves.push(i); } } return availableMoves; } function generateNewGame(move, possibleGame) { var piece = changePlayerTurn(); possibleGame[move] = piece; return possibleGame; } function changePlayerTurn() { var turn; if (activePlayer === 'Computer') { turn = computer; activePlayer = 'Human'; } else { turn = human; activePlayer = 'Computer'; } return turn; } function gameOver(tempBoard) { if (getWinner(tempBoard) === 0) { return 0; } else if (getWinner(tempBoard) === 1) { alert("You won!"); humanWin += 1; if (human === "X") { document.getElementById("xPlayerScore").value = humanWin; } else { document.getElementById("oPlayerScore").value = humanWin; } } else if (getWinner(tempBoard) === 2) { alert("Computer won!"); computerWin += 1; if (computer === "X") { document.getElementById("xPlayerScore").value = computerWin; } else { document.getElementById("oPlayerScore").value = computerWin; } } else if (getWinner(tempBoard) === 3) { alert("The game was a draw!"); } return 1; } function getWinner(tempBoard) { for (i = 0; i < winningCombos.length; i += 1) { if (tempBoard[winningCombos[i][0]] === human && tempBoard[winningCombos[i][1]] === human && tempBoard[winningCombos[i][2]] === human) { return 1; // human won } else if (tempBoard[winningCombos[i][0]] === computer && tempBoard[winningCombos[i][1]] === computer && tempBoard[winningCombos[i][2]] === computer) { return 2; // computer won } } if (tempBoard.indexOf(free) >= 0) { return 0; // not finished yet } return 3; // the game was a draw } onmessage = function(e) { miniMax(board, 0, -Infinity, Infinity); postMessage(choice); }; The problem is that the variable move is always undefined and even if I do a console.log() inside the worker.onmessage function, it doesn't display anything. It's more likely to misunderstood the concept of what a web worker is and should be used but I am trying for more than 24 hours to solve it and it feels like 0 progress. Would appreciate your help if possible. Thanks a lot!
Alex
1

голосов
0

ответ
167

Просмотры

Является ли Jasypt достаточно безопасно использовать?

Мы используем Jasypt в одном из нашего проекта на основе Spring, чтобы зашифровать свои свойства базы данных. Согласно Jasypt документации мы должны сделать и пароль Алгоритм Построения (секретный) запись в нашем контексте приложения. Если мы сделаем это, любой может легко расшифровать свои свойства, расшифровка имущества, предоставленного только Jasypt. Например, ш decrypt.sh вход = pYmd0m1m2nEAGIeTtfdfdfdl / e3W49e пароль = алгоритм sdsdfsf = PBEWithMD5AndDES Итак, как мы можем обеспечить безопасность наших файлов свойств.
Alex
1

голосов
0

ответ
313

Просмотры

Always get UNKNOWN status code for failed gRPCs to python server

мой data.proto любит это: синтаксис = "proto3"; RPC- пакета; Служба исполнитель {RPC выходной сигнал переноса (изображение) возвращает (объекты) {}} Сообщение Объекты {объекты повторен Object = 1; } Объект сообщения {строка типа = 1; } И реализация вроде этого: класс исполнителя (data_pb2_grpc.PerformerServicer): Защита __init __ (Я): Передайте DEF выходного сигнала перенос (самость, REQ, CXT): Objs = объекты () OBJ = objs.objects.add () obj.type =» возвращение персоны»OBJS запрос клиента всегда получите:. self.res = self.client () выходной сигнал переноса (self.data ()) Файл "/usr/local/lib/python2.7/dist-packages/grpc/_channel.py" , строка 484, в __call__ возврата _end_unary_response_blocking (состояние, вызов, False, крайний) Файл "/usr/local/lib/python2.7/dist-packages/grpc/_channel.py", строка 434,
Alex Luya
1

голосов
1

ответ
24

Просмотры

Update angular directive attribute value from parent controller

У меня есть Угловое директиву, как это: angular.module ( "приложение", [ "клиенты"]) запустить ();. . Angular.module ( "приложение") контроллер ( "AppController", функция ($ масштаб) {$ scope.customers = [{имя: "Microsoft"}]; SetTimeout (функция () {console.log ( "тайм-аут") ; $ scope.customers = [{имя: "Apple"}]}, 1500);}); . angular.module ( "клиенты", []) директива ( "CustomerList", функция () {возвращение {ограничивают: "E", шаблон: '{{Customer.Name}}', область применения: {клиенты: «= клиенты "}, bindToController: истинно, контроллер: customerListController, controllerAs: "VM"};}); Угловая .module ( "клиентов") .controller ( "customerListController", customerListController); . CustomerListController $ инъекционные = [ "$ Сфера"]; Функция customerListController ($ масштаб) {Vm = Const это; . $ Сфера $ часы ( «vm.customers», функция (новое_значение) {console.log (новое_значение)})} Мой HTML выглядит следующим образом: Вот перо из этого, что я хочу добиться того, чтобы обновить список клиентов в AppController и обновляйте его в директиве, а поэтому мой список показывает Apple, после того, как 1500ms.
Alex
1

голосов
0

ответ
304

Просмотры

Как развернуть Azure Python Web App с FTP с помощью PowerShell?

У меня есть сценарий PowerShell, который создает веб-приложение на Azure. Сценарий также получает файлы в моей папке и загружать их с помощью FTP. Я также вижу, что файлы будут обновлены, который является большим. Мой код API Python Rest. Моя проблема заключается в том, что фаза «развертывание» не работает. Если, например, я использую Git для развертывания, то есть автоматическое развертывание, который выглядит следующим образом: удаленное: Подготовка развертывания для фиксации идентификатора '48a4891b08. удаленный: Создание сценария развертывания. Пульт дистанционного управления: Выполнение команды развертывания ... удаленный: Handling развертывание питона. Использование FTP этого не произойдет, и новые пакеты питона не установлены. Итак, есть ли способ, чтобы сигнализировать веб-приложение для развертывания? Вот отрывок из моего кода: # Создание группы ресурсов Нью-AzureRmResourceGroup -Name $ resourceGroupName -Расположение $ расположение # Создать план App Service в `Free` ярусе. New-AzureRmAppServicePlan -Name $ webappName -Расположение $ место -ResourceGroupName $ resourceGroupName -Tier Free # Создать веб-приложение. New-AzureRmWebApp -Name $ webappName -Расположение $ место -AppServicePlan $ webappName `-ResourceGroupName $ resourceGroupName # Get публикации профиля для веб-приложений [XML] $ XML = (Get-AzureRmWebAppPublishingProfile -Name $ webappName` -ResourceGroupName $ resourceGroupName `-OutputFile нуль) информацию о соединении # Выписка из публикации профиля $ UserName = $ xml.SelectNodes ( "// publishProfile [@ publishMethod =`" FTP` "] / @ имя пользователя"). значение $ пароль = $ xml.SelectNodes (" // publishProfile [@ publishMethod = ` "FTP`"] / @ userPWD"). значение $ URL = $ XML. SelectNodes ( "// publishProfile [@ publishMethod =`" FTP` "] / @ publishUrl"). Значение # Загрузка файлов рекурсивно Set-Location $ appDirectory $ WebClient = New-Object -TypeName System.Net.WebClient $ webclient.Credentials = New-Object System.Net.NetworkCredential ($ имя пользователя, $ пароль) $ файлы = Get-ChildItem -Path $ appDirectory -Recurse | Where-Object {! ($ _. PsIsContainer)} Еогеасп ($ файл в $ файлов) {$ relativepath = (Resolve-Path -Path $ file.FullName -Relative) .Привернуть ( "\", "") .Надеть ( '\', '/') $ = URI New-Object System.Uri ( "$ URL / $ relativepath") "Загрузка в" + $ uri.AbsoluteUri $ webclient.UploadFile ($ Ури $ file.FullName)} $ webclient.Dispose () значение # Загрузить рекурсивную Set-Location $ appDirectory $ WebClient = New-Object -TypeName System.Net.WebClient $ webclient.Credentials = New-Object System.Net.NetworkCredential ($ имя пользователя, $ пароль) $ файлы = Get-ChildItem - Путь $ appDirectory -Recurse | Where-Object {! ($ _. PsIsContainer)} Еогеасп ($ файл в $ файлов) {$ relativepath = (Resolve-Path -Path $ file.FullName -Relative) .Привернуть ( "\", "") .Надеть ( '\', '/') $ = URI New-Object System.Uri ( "$ URL / $ relativepath") "Загрузка в" + $ uri.AbsoluteUri $ webclient.UploadFile ($ Ури $ file.FullName)} $ webclient.Dispose () значение # Загрузить рекурсивную Set-Location $ appDirectory $ WebClient = New-Object -TypeName System.Net.WebClient $ webclient.Credentials = New-Object System.Net.NetworkCredential ($ имя пользователя, $ пароль) $ файлы = Get-ChildItem - Путь $ appDirectory -Recurse | Where-Object {! ($ _. PsIsContainer)} Еогеасп ($ файл в $ файлов) {$ relativepath = (Resolve-Path -Path $ file.FullName -Relative) .Привернуть ( "\", "") .Надеть ( '\', '/') $ = URI New-Object System.Uri ( "$ URL / $ relativepath") "Загрузка в" + $ uri.AbsoluteUri $ webclient.UploadFile ($ Ури $ file.FullName)} $ webclient.Dispose () $ Пароль) $ файлы = Get-ChildItem -Path $ appDirectory -Recurse | Where-Object {! ($ _. PsIsContainer)} Еогеасп ($ файл в $ файлов) {$ relativepath = (Resolve-Path -Path $ file.FullName -Relative) .Привернуть ( "\", "") .Надеть ( '\', '/') $ = URI New-Object System.Uri ( "$ URL / $ relativepath") "Загрузка в" + $ uri.AbsoluteUri $ webclient.UploadFile ($ Ури $ file.FullName)} $ webclient.Dispose () $ Пароль) $ файлы = Get-ChildItem -Path $ appDirectory -Recurse | Where-Object {! ($ _. PsIsContainer)} Еогеасп ($ файл в $ файлов) {$ relativepath = (Resolve-Path -Path $ file.FullName -Relative) .Привернуть ( "\", "") .Надеть ( '\', '/') $ = URI New-Object System.Uri ( "$ URL / $ relativepath") "Загрузка в" + $ uri.AbsoluteUri $ webclient.UploadFile ($ Ури $ file.FullName)} $ webclient.Dispose ()
Alex
1

голосов
1

ответ
28

Просмотры

Избегайте дублирования функций функции дампа psysh

Я разработчик ИМИ-conrun и есть проблема: мы используем пакет psySh мы хотели бы, чтобы не уронить и определяет глобальную область видимости функции «дамп» и должны инициализировать ядро ​​Contao, который определяет глобальную область видимости функции «свалка», а также без проверки, если функция зарегистрирована, а затем падает. Есть ли возможность удалить только дамп из psySh без вилки?
Alex
1

голосов
2

ответ
106

Просмотры

CRATE DB: ГДЕ В на результатах временной метки данных в NullPointerException

Следующий выбор не работает: SELECT * FROM "MySchema" "расписание" ГДЕ "start_time" в (1519705800000, 1519710840000, 1519705800000, 1519718400000) start_time является столбец временной метки.. Клеть отвечает: Ошибка! SQLActionException [UnhandledServerException: java.lang.NullPointerException] где IN не работает на временных меток? Есть ли альтернатива? Версия клети является 2.1.6.
Alex J Gr
1

голосов
0

ответ
54

Просмотры

Как запустить WebBrowser в другом процессе, но в исходном приложении

Мое приложение является чем-то вроде Chrome или Firefox и позволяет создавать и уничтожать вкладки с объектом WebBrowser. Это очень грубое описание, но близко, чтобы понять, что приложение делает. Проблема заключается в том, что объект WebBrowser основан на Internet Explorer (IE) и IE имеет место утечка памяти в пучину .Net неуправляемой памяти, если закрыт сайт есть JS код или изображения (что составляет 99,99% сайтов). Я перепробовал все решения от сети и, наконец, я получил подтверждение от MS, что этот вопрос, основанный на архитектуре IE, и это не может быть исправлено с помощью какого-либо трюка из кода перспективного (очистков объекта или вызова GC). Итак, я начал думать по-другому, чтобы решить эту проблему. Проблема заключается в том, что утечка произошла в неуправляемых памятях .Net объекта WebBrowser и .Net не очищает его должным образом, когда объект WebBrowser разрушен. Но это происходит в моем процессе приложения ID. Итак, я ищу какой-то вариант в отдельную память для моего приложения и для объекта WebBrowser (создать его в отдельном процессе). Я знаю, что Chrome работает аналогичным образом (один процесс на одной вкладке), что делает эту идею реалистичного, по крайней мере. Но я не могу найти любую информацию, как я могу сделать это, чтобы отобразить WebBrowser в моем приложении, как это было раньше. Заранее спасибо за помощь!
Alex
1

голосов
0

ответ
113

Просмотры

Фрагмент, не связанный с фрагментом менеджером

Я пишу некоторые Instrumented тестов для приложения с одним видом деятельности и множество фрагментов с помощью навигационного компонента. Код для моего экрана-заставки, как показано ниже: Класс SplashFragment: Фрагмент (), KodeinAware {переопределение вал kodein по Admin.instance.kodein частной вар области: Realm? = NULL переопределение весело onCreateView (инфлятор: LayoutInflater, контейнер: ViewGroup ?, savedInstanceState: Bundle?): View? {Возвращение inflater.inflate (R.layout.splash, контейнер, ложь)} переопределить прикольные onViewCreated (вид: вид, savedInstanceState: Bundle) {super.onViewCreated (вид, savedInstanceState) (? Активность как AppCompatActivity) ?. supportActionBar ?. скрыть () область = Realm.getInstance (RealmUtil.realmConfig) Вэл результат = область !!. где (). FindFirst () пользователь Вэл = если (результат! = NULL) область !!. copyFromRealm (результат) еще нулевой Handler (). postDelayed ({если (пользователь == NULL) findNavController (). навигация (R.id.action_splashFragment_to_loginFragment) // перейти на страницу входа, если пользователь не существует еще findNavController (). навигации (R .id.action_splashFragment_to_businessListFragment) // перейти к списку бизнеса, если пользователь уже вошел в системе}, 2000)} переопределить прикольные OnDestroy () {super.onDestroy () область действия? .close ()}} Я пытаюсь проверить фрагмент, который приходит после того, как заставка, но я получаю следующее сообщение об ошибке: java.lang.IllegalStateException: Фрагмент SplashFragment {a1ca381 (5f5b98ae-c130-4e9b-9b77-0495561ef4f5)}, не связанные с менеджером фрагмента. на androidx.fragment.app.Fragment.requireFragmentManager (Fragment.java:891) в androidx. id.login)). выполнить (не нажмите ()) OnView (withId (com.google.android.material.R.id.snackbar_text)). чек (спичек (withText (R.string.enter_password)))}} Ни один из мои тестовые функции будут выполняться из-за упомянутой выше ошибки. Что является причиной исключения, так как тесты, я бегу на заставке запуска успешно? Мой nav_graph, как показано ниже: S причина исключения поскольку тесты, я бег на заглавном экране успешно работать? Мой nav_graph, как показано ниже: S причина исключения поскольку тесты, я бег на заглавном экране успешно работать? Мой nav_graph, как показано ниже:
Alex Kombo
1

голосов
1

ответ
109

Просмотры

Отключение виджета с помощью BooleanProperty () не работает

Я пытаюсь отключить кнопку Kivy. Для этого я создал BooleanProperty и я установил отключенную кнопку свойство, что BooleanProperty. Когда я запускаю, кнопка правильно создана со значением я присвоенным его (False). Однако, когда я обновляю BooleanProperty, ничего не происходит с кнопкой. Когда я нажимаю, я знаю, что свойство правильно переплетен и изменилось, так как функция печати показывает мне, что она изменилась. В чем может быть проблема? Я использую Kivy 1.10.0. Я только сохранил соответствующие строки кода - я не думаю, что я пропустил что-нибудь, но я добавил комментарии в отношении того, что работает. Класс LoginScreen (GridLayout): Защиту __init __ (я, ** kwargs): супер (LoginScreen, самость) .__ INIT __ (** kwargs) self.selection = SelectionScreen () self.add_widget (self.selection) self.selection.
Alex
1

голосов
1

ответ
285

Просмотры

Exclude product categories from custom dynamic pricing in Woocommerce

Я работаю над динамической системой ценообразования на моем Wordpress магазина. Я поставил его, так что пользователи, которые имеют определенные роли (прямо сейчас, абонент или администратор - для тестирования), получает скидку в размере 15% (цена * 0,85). Тем не менее, мне нужно также исключить определенные категории продуктов из правила скидок. Сейчас у меня есть: функция add_cart_item_data ($ cart_item_data, $ product_id, $ variation_id) {// если администратор || Абонент $ = роль get_user_role (); / * Я знаю, что это не роль пользователю выдаётся по умолчанию. Я сделал сокращенную версию его в functions.php, потому что я использовал его много в других функциях * / если (in_array ( «администратор», $ роль) || in_array ( «абонент», $ роль)) {$ продукта = wc_get_product ($ product_id); // ==> Start: Необходим продукт проверки категории ЗДЕСЬ $ Цена = $ продукт-> get_price (); $ Cart_item_data [» RefPrice '] = $ цена * 0,85; // ==> Конец категории продукта проверка} возвращение $ cart_item_data; } Add_filter ( 'woocommerce_add_cart_item_data', 'add_cart_item_data', 10, 2); Функция before_calculate_totals ($ cart_obj) {если (is_admin () && определен ( 'DOING_AJAX!')) {возвращение; } // Перебор через каждую корзину Товар Еогеасп ($ cart_obj-> get_cart () как $ ключ => $ значение) {если (Исеть ($ значение [ 'RefPrice'])) {$ цена = $ значение [ 'RefPrice'] ; $ Значение [ 'данные'] -> set_price (($ цена)); }}} Add_action ( 'woocommerce_before_calculate_totals', 'before_calculate_totals', 10, 1); Это работает, чтобы изменить цену на * 0.85 для определенных ролей, но я Ве ударил кирпичную стену, пытаясь исключить категорию продукта из него. Категория продукта Идентификатор 978 (или его имя «в последнюю минуту подарки»). Как я могу добавить в этих проверках для каждой корзины предмета?
Alex Walker
1

голосов
1

ответ
94

Просмотры

Django add form on every page

В моем приложении мне нужно добавить форму в base.html, который я сделал. Для этого я использовал context_processors, теперь моя проблема каждый раз я пытаюсь отправить, я получаю пустую страницу и эту ошибку: Method Not Allowed (POST) В этой форме я хочу просто добавить кнопку, где он будет маркировать все текущие пользователи уведомления как прочитанные. Я знаю, что вы можете использовать context_processors как это: Защита my_context (запрос): данные = DICT (), если request.user.is_authenticated: данные [ 'уведомления'] = Notification.objects.filter (пользователь = request.user, чтение = False ) данные [ «форма»] = NotificationForm () возвращает данные Но вместо того, чтобы добавлять форму мне нужно эти строки: защиту my_context (запрос): данные = DICT (), если request.user.is_authenticated: данные [ «уведомления»] = Уведомление .objects.filter (пользователь = request.user,
alex
1

голосов
1

ответ
74

Просмотры

Flask Socket.Io: Persistence of initialized socketio after import

So I have the following websocket server api: //x.py ...... import y app = Flask(__name__) app.config['SECRET_KEY'] = 'secret!' socketio = SocketIO(app) @socketio.on('connected', namespace='/getDefects') def connected(): y.set_client_sid(request.sid) y.set_socketio(socketio) @socketio.on('disconnect', namespace='/getDefects') def disconnect(): print("Client disconnected") def sendDefects(def, sid, socketio_input): socketio = socketio_input socketio.emit('defects', def, room=sid, namespace='/getDefects') def processDefWithContext(text): with app.test_request_context(): y.processDef(text) @app.route('/Process', methods=['Post']) def process(): text = request.form.get('text') thread1 = Thread(target = processDefWithContext, args = (text,)) thread1.start() response = "Ok" return response if __name__ == '__main__': socketio.run(app, host='127.0.0.1', port=8080) //y.py import x .... clientSid = 0 socketIo = 0 def set_client(sid): clientSid = sid def set_socketio(socket_in): socketIo = socket_in processDef(text): .... def = .. x.sendDefects(def, clientSid, socketio) So basically x.py contains a web api which processes both in and out requests. It gets some data using a post request (process()) and at that point it will trigger some processing on that data in a new thread. The processing is done in y.py. After the processing is done, the new data needs to be sent to the frontend using a websocket from x.py So x.py imports y.py and y.py imports x.py. The problem is that when we call from y.py the function to send the data (sendDefects(..)) from x.py, the socketio is no longer initialized and will not be able to send it. The solution I found so far (I'm not an experienced Python programmer) is to send the socketio from x.py to y.py (set_socketio()) and back and then use it to send the data. But this solution seem a bit ugly. Can you recommend another way of doing this?
Alex
1

голосов
1

ответ
176

Просмотры

System.Security.Principal.IdentityNotMappedException Ловля все ошибки

У меня возникли проблемы с / поймать блок Ьгу где подвох блок для System.Security.Principal.IdentityNotMappedException догоняет все ошибки независимо, если они типа System.Security.Principal.IdentityNotMappedException или нет. Проблема заключается в том, когда я переместить блок Try / поймать вне сценария в его собственную для тестирования, попробовать / поймать работает, как предполагалось. Попытка / задвижка находится внутри для / каждого, таким образом они только что я могу думать о том, что петля как-то подножка блока Try / поймать? Одна ошибка она любит ловли System.Management.Automation.RuntimeException. Ниже тестовый скрипт я сделал, что работает, как задумано, но помещены в Еогеасп не: Я на самом деле получил ошибку манифестировать с этим: Еогеасп ($ х в Get-ChildItem) {Get-Acl «C: \ подделка» попробуйте {$ Acl = Get-Acl Set-Acl LiteralPath " C: \ Temp "$ Acl -ErrorAction Stop Write-Host "Правило доступа Добавлено" -ForegroundColor Cyan} поймать [System.UnauthorizedAccessException] {Write-Host" Недостаточный Priviliege. Владелец: $ ($ Acl.Owner) ($ _) "-ForegroundColor Красный} поймать [System.Security.Principal.IdentityNotMappedException] {Write-Host" Invalid Prinicpal! ($ _) "-ForegroundColor Red $ = прервать чтение хост -Prompt" Прервать? (Y)», если ($ прервать -ieq "Y") {Выход}} {задвижка Write-Host "ALL: $ _" -ForegroundColor Red}}
Alex
1

голосов
1

ответ
90

Просмотры

what is the b in front of my results

Привет я сделал сценарий питона, который говорит мне мое использование моего диска на моем наса через SSH, но каждый раз, когда я запустить программу я получаю это. Размер b'442G «используется б» 401М «доступны b'419G» я хочу, чтобы избавиться от Ь и цитаты вокруг 422G и другие. Вот мой код импорта SYS, paramiko импорт ОС Время импорта имя пользователя = "Алекс" имя хоста = "192.168.1.91" пароль = команда = "ДФ / DEV / sda3 -h" порт "Алекс" = 22 = клиент paramiko.SSHClient () защиту updateTimeMenu (): time_menu.delete (0, "конец") time_menu.add_command (метка = time.ctime ()) защиту SSH (): client.load_system_host_keys () client.set_missing_host_key_policy (paramiko.WarningPolicy ()) client.connect меню (имя хоста, порт = порт, имя пользователя = имя пользователя, пароль = пароль) () меню четкости (): STDIN, STDOUT,
alex stq
1

голосов
0

ответ
182

Просмотры

Печать PDF из JavaScript в IE11

Есть ли надежный способ печати многостраничного PDF из JavaScript в IE11 (желательно без Acrobat Reader установлен)? Я вижу, что это довольно легко сделать в Chrome, но я не смог найти работающее решение для IE. Все решения с внедренными и объектные теги не работают больше.
Alex K
1

голосов
0

ответ
117

Просмотры

Mongoose MongoDB in Production

У меня действительно странный вопрос, где Mongoose не будет выполнять запросы к коллекциям вне файла определения модели при NODE_ENV = производства, даже при подключении к локальным. дБ / default.js Const мангуст = требуется ( 'мангусты'); module.exports = {подключения (URL) {mongoose.connect (URL); }}; app.js Const дБ = требуется ( './ дБ / по умолчанию'); db.connect (config.get ( 'mongoDB.uri')); User.model.js сопзЬ мангуст = требуется ( 'мангуст'); Const схема = новый mongoose.Schema ({// ...}); Const User = mongoose.model ( 'User', схемы); module.exports = Пользователь; test.js // Этот файл необходим на маршрут сопзЬ пользователя = требуется ( «./ модели / User.model»); User.find ({}) .then (ответ => console.log (ответ)) .catch (ERR => console.log (ERR)); Все это работает абсолютно нормально, когда NODE_ENV = DEV, но как только NODE_ENV = производства, User.find ({}) ... не работает. Никакие ошибки, никакого успеха, он просто не работает. Если я вхожу Пользователь = требуется ( «./ модели / User.model»), это объект Mongoose. Если я бегу User.find ({}) ... код внутри User.model.js файла в то время как в производстве, что также работает. Я совершенно озадаченный, почему это не работает.
Alex McCabe
1

голосов
2

ответ
1.9k

Просмотры

Как сделать проверку выпадающих данных в оперативном диалоге с помощью Google скрипт?

Я пытаюсь использовать Google скрипт для создания оперативного диалога для пользователя с раскрывающимся списком. Вот где я в данный момент: функция addProject () {вар щ = SpreadsheetApp.getUi (); // То же вариации. вар результат = ui.prompt ( 'Выберите проект из выпадающего списка', '(использование "Index Project" лист для добавления проекта)', ui.ButtonSet.OK); // Обрабатывает ответ пользователя. Кнопка вар = result.getSelectedButton (); Текст вар = result.getResponseText (); если (кнопка == ui.Button.OK) {// Пользователь щелкнул "ОК". ui.alert ( 'Вы выбрали' + текст + ''); } Еще если (кнопка == ui.Button.CANCEL) {// Пользователь нажал "Отмена". ui.alert ( «Я Жду \» т получить ваш проект.); }} Кнопка в моем листе активирует эту функцию. Все это делает создать запрос, который вы можете ввести строку в. Но мне нужно использовать проверку данных, чтобы создать раскрывающийся список, который ссылается на ряд других в моем листе, так что пользователь может ввести все, что угодно. Может кто-то помочь мне получить выпадающий список безотлагательным диалога? Спасибо!
Alex Libengood
1

голосов
1

ответ
944

Просмотры

Телеграмма API - Отправить сообщение: Отправить URL с переменной

У меня есть проблемы с отправкой URL с переменными, такими как: $ URL = "https://google.com/{$var}"; Если я хочу, чтобы отправить ссылку с помощью сообщения, телеграммы группы, я получаю сообщение об ошибке. Мой код: ... $ sendMessage-> parse_mode = 'HTML'; $ SendMessage-> disable_web_page_preview = истина; $ SendMessage-> текст = 'рядный URL'; ... URL-адрес поддерживает только чистую строку. Но когда я сцепить строку с переменным (как я уже говорил выше) он дает мне следующую ошибку: Exception unreal4u \ TelegramAPI \ Исключения \ ClientException пойманному, сообщение: Bad Request: не может разобрать объекты: Неожиданный конец имени маркеров в байте смещение 8 я установил Composer правильно и обновляется. У меня есть PHP 7.0. У меня есть альтернатива решить ее?
Alex
1

голосов
0

ответ
616

Просмотры

Spring Data Couchbase - ClassNotFoundException for CustomConversions

запустить (URLClassLoader.java:372) ~ [на: 1.8.0_25] в java.net.URLClassLoader $ 1.run (URLClassLoader.java:361) ~ [на: 1.8.0_25] на java.security.AccessController.doPrivileged (Native Метод) ~ [па: 1.8.0_25] на java.net.URLClassLoader.findClass (URLClassLoader.java:360) ~ [па: 1.8.0_25] на java.lang.ClassLoader.loadClass (ClassLoader.java:424) ~ [ на: 1.8.0_25] на sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:308) ~ [на: 1.8.0_25] на java.lang.ClassLoader.loadClass (ClassLoader.java:357) ~ [на: 1.8.0_25] ... 31 общие рамки опущены конфигурации Couchbase по умолчанию: @Configuration @EnableCouchbaseRepositories (basePackages = { "com.test.couchbase.repositories"}) общественного класса CouchbaseConfig распространяется AbstractCouchbaseConfiguration {общественности статической окончательный список NODE_LIST = Arrays.asList ( "couchbase"); общественности статической конечной строки BUCKET_NAME = " @Override список защищаемых getBootstrapHosts () {вернуться NODE_LIST; } @Override защищен Строка getBucketName () {вернуться BUCKET_NAME; } @Override защищен Строка getBucketPassword () {вернуться BUCKET_PASSWORD; } Там нет такой ошибки, если весна-данных couchbase 2.2.10 используется. UPD: Я нашел некоторые детали. весна-данных couchbase 3.0.4 использует класс org.springframework.core.ReactiveTypeDescriptor и интерфейс org.springframework.core.ErrorCoded. Класс был добавлен в Spring 5.0.0 релиза, интерфейс был удален из Spring 5.0.0 выпуска. Что весна релиз мне нужно использовать, чтобы использовать пружинные данные-couchbase 3.0.4? @Override список защищаемых getBootstrapHosts () {вернуться NODE_LIST; } @Override защищен Строка getBucketName () {вернуться BUCKET_NAME; } @Override защищен Строка getBucketPassword () {вернуться BUCKET_PASSWORD; } Там нет такой ошибки, если весна-данных couchbase 2.2.10 используется. UPD: Я нашел некоторые детали. весна-данных couchbase 3.0.4 использует класс org.springframework.core.ReactiveTypeDescriptor и интерфейс org.springframework.core.ErrorCoded. Класс был добавлен в Spring 5.0.0 релиза, интерфейс был удален из Spring 5.0.0 выпуска. Что весна релиз мне нужно использовать, чтобы использовать пружинные данные-couchbase 3.0.4? 2,10 используется. UPD: Я нашел некоторые детали. весна-данных couchbase 3.0.4 использует класс org.springframework.core.ReactiveTypeDescriptor и интерфейс org.springframework.core.ErrorCoded. Класс был добавлен в Spring 5.0.0 релиза, интерфейс был удален из Spring 5.0.0 выпуска. Что весна релиз мне нужно использовать, чтобы использовать пружинные данные-couchbase 3.0.4? 2,10 используется. UPD: Я нашел некоторые детали. весна-данных couchbase 3.0.4 использует класс org.springframework.core.ReactiveTypeDescriptor и интерфейс org.springframework.core.ErrorCoded. Класс был добавлен в Spring 5.0.0 релиза, интерфейс был удален из Spring 5.0.0 выпуска. Что весна релиз мне нужно использовать, чтобы использовать пружинные данные-couchbase 3.0.4?
Alex
1

голосов
0

ответ
533

Просмотры

Ошибка при подключении пользовательского домена к firebase хостинга с domain.com

Я купил домен от domain.com, а затем шаги firebase пользовательского домена подключить до второй точки (Подтвердить право собственности). Я добавил запись TXT, как описано. Проверенный с роют -t TXT + noall + ответ my-domain.com и ответ содержит 2 записей: my-domain.com. 3455 IN TXT "v = spf1 ip4: 66.96.128.0/18 все?" И my-domain.com. 3455 IN TXT «Google-сайт проверочный = код подтверждения» Firebase консоль поддерживает оповещения Мы не смогли подтвердить свой домен my-domain.com. Пожалуйста проверьте свои настройки и попробуйте снова. Что может быть возможной ошибкой и что я могу попробовать дальше?
Alex Mounir
1

голосов
1

ответ
280

Просмотры

Android OpenGL camera2 texture resolution

Введение Я использую CaptureRequest.Builder и обеспечивает две поверхностей в качестве мишени: а SurfaceTexture для рисования GL и ImageReader (getSurface ()) для обработки кадра. Я установить желаемое разрешение 640х480, установив surfaceTexture.setDefaultBufferSize и путем создания ImageReader.newInstance. Проблема Похоже, что SurfaceTexture OpenGL текстуры становится изображение, которое в другом аспекте рациона, чем 640x480 (4: 3), больше похоже 2560x1440 (16: 9) (SurfaceTexture занимающих весь экран, см IMG 3). Следует отметить, что оба телефона имеют соотношение сторон 16 одинаковое разрешение: 9. (Текстуры смещения от сторон остаются намеренно). Ниже вы можете увидеть IMG 1 отображается на экране монитора, а IMG 2 и 3 IMG являются телефон снимки экрана, где текущий вид деятельности показывает камеры предварительного просмотра. Вопрос Как правильно заставить SurfaceTexture или GLSurfaceView. Видеообработки, чтобы получить специфический (4: 3 в данном случае) с соотношением сторон изображения текстуры с камеры для произвольного размера View? Соответствующий Следует отметить, что есть приложение, которое обращается к проблеме, но для этого они меняют размер представления, чтобы соответствовать желаемой пропорции. Смотрите также: GitHub репо. Соответствующий исходный код. Связанные пост Связанного сообщение IMG 1 - отображаются исходное изображение: IMG 2 - Хорошее соотношение сторон (Google Nexus 5 - Android 6.0.1): IMG 3 - Плохо Соотношение текстуры аспекта (LG-D855 - Android 5.0)
alex
1

голосов
1

ответ
1k

Просмотры

Angular2 - Общий формат для нескольких модулей

Я построить угловое приложение с различными модулями. Каждый модуль обрабатывает различные задачи. На моей целевой странице, пользователь должен войти в систему или зарегистрироваться. Это очень скудный макет без навигации. На моих функциональных модулей (которые доступны после входа в систему), пользователь может выполнять задачи и поиск информации. Моя главная проблема в том, что мои функциональные модули должны одни и те же макет (с навигацией, панели инструментов и т.д.), в то время как мой AuthModule не должны иметь один и тот же макет. Следующее изображение должно проиллюстрировать то, что я пытаюсь достичь. Каждый модуль (Auth и особенности) имеют свои собственные RoutingModule и определенный набор компонентов. Доступ к Layout2 и FeatureModules защищен AuthService / AuthGuards. Я уже нашел хорошие решения для установки компонентной (https://stackoverflow.com/a/40508804/1365061 и https: // stackblitz. ком / редактировать / Угловой-мульти-макет пример? Файл = приложение% 2Fapp.routing.ts), но не для модуля на основе одного. Я хочу ленивую загрузку модулей функций, и это не может быть применен к данным решениям, которые я нашел (по крайней мере, это не работает для модулей). Что я могу сделать, чтобы разделить макеты между модулями или другими словами «загрузить модули в рамках компоненты макета»? Мой текущие фрагменты кода являются: app.component пользователя area.component Имя_узла {{account.name}} Выход public.component Моей маршрутизации app.routing.module: Const маршрутами: Маршруты = [{путь: 'авт', компонент: PublicAuthComponent , canActivate: [NotLoggedInGuard]}, {Путь: '', компонент: UserAreaComponent, canActivate: [LoggedInGuard]}]; Как сказал я пытался использовать понятие из вышеупомянутых ссылок, но это не работает должным образом.
Alex
1

голосов
0

ответ
135

Просмотры

Spring Data Redis с помощью «+» инфа указать неограниченную границу ZSetOperations.rangeByScore

Использование Redis CLI вы можете запросить отсортированный установленный диапазон с неограниченным верхним границей: my_key zrangebyscore 0 + инфа, представленного + инфом, а также неограниченным нижней границей: -Inf. Это возвращает диапазон от 0 до последнего члена. Пружина данные Redis предоставляет интерфейс для этой команды Redis с помощью этого метода подписи: Набор rangeByScore (ключ К, двойной мин, двойные максы, длинные смещение, длинный счет); и набор rangeByScore (ключ К, двойной мин, двойной максимум); Они только позволяют поставить двойной как границы. Как вы определяете + инф или -inf в рамках ZRANGEBYSCORE с использованием Spring Data Redis? Единственное упоминание о нем в журнале изменений, так что это поддерживается в некотором роде, но я не могу найти ни одного упоминания о нем в другом месте.
alex.p
1

голосов
0

ответ
252

Просмотры

GLSL branch optimization with uniforms

Я понимаю, что некоторые современные реализации OpenGL ES оптимизировать ветви, которые взяты из однородного значения, чтобы избежать потоков дивергенции и у меня есть несколько вопросов по этому поводу. Если бы я должен был взять ветку, основанную прочь сравнения однородных переменный или даже между двумя однородными переменным, может эту отрасль все еще быть оптимизирована, чтобы избежать нити расхождения? В какой степени постоянные выражения получают сложенный в этих случаях на GLSL? Проводит ли это свойство к членам структур доступа из однородного объекта буфера? Скажем, я имел единую глобальную переменную индекс, определяющий индекс в массиве структур, связанных с управлением шейдерного блока и всех фрагментов по вызову glDraw доступ к тем же данным из однородного блока и использовали один из своих членов для условного перехода. равномерная INT u_index; ShaderData структура {BOOL условие1; BOOL condition2; lowp значение vec2; }; Схема (std140) равномерное u_input {ShaderData u_data [64]; }; силы основных () {экземпляр ShaderData = u_data [u_instance]; если (instance.condition1) {// оптимизировано? } Если (instance.condition1 && instance.condition2) {// оптимизировано? } Если (instance.value.x> instance.value.y) {// оптимизировано? }} Примечание: Этот вопрос похож на Does Если-заявления замедлить свой шейдер? но искать информацию конкретно в отношении использования унифицированных блоков, в отличие от всего обмундирования, и разъяснения, касающиеся создания условий на основе значений обмундирования. Я прочитал другую, прежде чем спрашивать и не отвечать на мои вопросы полностью. силы основных () {экземпляр ShaderData = u_data [u_instance]; если (instance.condition1) {// оптимизировано? } Если (instance.condition1 && instance.condition2) {// оптимизировано? } Если (instance.value.x> instance.value.y) {// оптимизировано? }} Примечание: Этот вопрос похож на Does Если-заявления замедлить свой шейдер? но искать информацию конкретно в отношении использования унифицированных блоков, в отличие от всего обмундирования, и разъяснения, касающиеся создания условий на основе значений обмундирования. Я прочитал другую, прежде чем спрашивать и не отвечать на мои вопросы полностью. силы основных () {экземпляр ShaderData = u_data [u_instance]; если (instance.condition1) {// оптимизировано? } Если (instance.condition1 && instance.condition2) {// оптимизировано? } Если (instance.value.x> instance.value.y) {// оптимизировано? }} Примечание: Этот вопрос похож на Does Если-заявления замедлить свой шейдер? но искать информацию конкретно в отношении использования унифицированных блоков, в отличие от всего обмундирования, и разъяснения, касающиеся создания условий на основе значений обмундирования. Я прочитал другую, прежде чем спрашивать и не отвечать на мои вопросы полностью. instance.value.y) {// оптимизировано? }} Примечание: Этот вопрос похож на Does Если-заявления замедлить свой шейдер? но искать информацию конкретно в отношении использования унифицированных блоков, в отличие от всего обмундирования, и разъяснения, касающиеся создания условий на основе значений обмундирования. Я прочитал другую, прежде чем спрашивать и не отвечать на мои вопросы полностью. instance.value.y) {// оптимизировано? }} Примечание: Этот вопрос похож на Does Если-заявления замедлить свой шейдер? но искать информацию конкретно в отношении использования унифицированных блоков, в отличие от всего обмундирования, и разъяснения, касающиеся создания условий на основе значений обмундирования. Я прочитал другую, прежде чем спрашивать и не отвечать на мои вопросы полностью.
Alex Zielenski
1

голосов
0

ответ
71

Просмотры

Требуется ли колба SQL-алхимия закрытия

Я получаю сообщение об ошибке: sqlalchemy.exc.TimeoutError: QueuePool предел в размере 5 перелива 10 достигнуто, тайм-аут подключения, тайм-аут 30 при обстоятельствах, которые я до сих пор воссоздать последовательно. Это, кажется, как правило, потому, что люди не в состоянии освободить сессию. Это звучит правильно, потому что я никогда явно освободить сеанс. Но, в отличие от SQLAlchemy ни один из учебников или сообщений документации, которые я видел за Колба-SQLAlchemy говорить о закрытии сессии. Это заставляет меня думать, что колба-SQLAlchemy было закрыть мою сессию для меня. Это правда?
Alex Collins
1

голосов
1

ответ
180

Просмотры

Только один экземпляр ScriptManager может быть добавлен к ошибке страницы

Я использую ASP веба-форму, и я хочу, чтобы отобразить модальные и мне нужно реализовать модальности с другими данными веб-сайта. Теперь я использую этот код, чтобы открыть как всплывающее окно, но я хотел бы открыть содержание на том же сайте. Agregar OC у SC Factura у Гиа despacho SC / OC Agregar DATOS Любое предложение для этого? Я пытался использовать AjaxControlToolkit, но я не могу использовать из-за ошибки: только один экземпляр ScriptManager может быть добавлен к странице.
alex
1

голосов
1

ответ
45

Просмотры

ошибка линкера от повышающего / сериализации / вектор #include

Мне нужно использовать подталкивание сериализовать зЬй :: вектор, но когда я добавляю #include строки моего проекта, я получаю сообщение об ошибке LNK1104: не удается открыть файл 'libboost_serialization-vc141-мт-Г.Д.-x64-1_66.lib. Я, однако, уже добавил #include без каких-либо ошибок, появляющихся. Поскольку эти два файла в той же папке, я не думаю, что проблема может быть, что я просмотрел место, где нужно сказать Visual Studio, где искать файл. Я попытался перезагрузить компьютер и закрыть все окна кода в Visual Studio до компиляции, поэтому я уверен, что это не может быть, что у меня есть файл открыт где-то, не понимая его либо. Что еще это может быть?
Alex Kindel
1

голосов
0

ответ
60

Просмотры

SQL query to show user session length

У меня есть таблица, которая выглядит следующим образом: user_id страницу happened_at 2 '' PAGE3 2017-10-05 11:31 1 '' PAGE2 2016-02-01 00:02 2 '' стр.1 2017-10-05 15:24 3 ' PAGE3' 2017-03-31 19:35 4 '' page1 2017-07-09 00:24 2 '' PAGE3 2017-10-05 15:28 1 '' PAGE3 2018-02-01 13:02 2 '' страница2 2017-10-05 16:14 2 «» Page3 2017-10-05 16:34 и т.д. у меня есть запрос, который идентифицирует пользовательские сеансы, которые открываются страницы # 1, # 2 и # 3, в этом конкретном порядке, выполненный в период времени менее чем за один час друг от друга (PAGE3 в течение часа page2, page2 в течение часа page1). Любые страницы, открытые между тем, может быть проигнорировано. Пример сеанса из приведенных выше таблиц:
Alex Nikitin

Просмотр дополнительных вопросов