Поиск Источника Ошибки Режима Perl Taint
При запуске perl CGI script в taint режиме я получаю ошибку формы...
Insecure dependency in some_function while running with -T switch at (eval some_line) line some_other_line.
Compilation failed in require at my-script.cgi line 39.
BEGIN failed--compilation aborted at my-script.cgi line 39.
my- script.cgi line 39 является оператором использования для модуля perl, который сам не использует eval или some_function, но предположительно использует другую библиотеку, которая делает. Номера строк some_line и some_other_line, похоже, не имеют смысла ни в my- script.cgi, ни в библиотеке, которая "используется" в строке 39 my- script.cgi.
Учитывая эту ошибку, как я могу отслеживать, где происходит ошибка taint?
Я пробовал установить новый обработчик сигнала die, который должен печатать трассировку стека, т.е.
$SIG{ __DIE__ } = sub { require Carp; Carp::confess(@_); };
но это, похоже, не влияет на ошибку. Возможно, это неправильный сигнал, чтобы быть ловушкой, а не слишком рано, или что-то более сложное.
perl cgi taint
Изображение В Режиме Загрузки Докеры В Apache Aurora
Я пытаюсь запустить работу Apache Aurora в кластере Mesos из образа Docker.
Моя конфигурация:
Job(cluster = 'my_cluster',
environment = 'devel',
role = 'my_role',
service = True,
constraints = {
'aurora-worker': 'true'
},
name = 'my_name',
instances = 1,
task = mytask,
container = Docker(image='my-registry:5000/my_image:latest')])
К сожалению, после первого запуска изображение получает кеширование на узле и впоследствии не обновляется.
Есть ли способ заставить Аврору вытащить изображение Докера на задание (подобное марафону forcePullImage)?
docker mesos aurora
Событие Пожара При Удалении Элемента
Я создаю элемент управления для своего приложения с несколькими значками. Вы нажимаете кнопку на значок, который представляет действие, которое вы хотите предпринять. Тем не менее, я не могу понять, как заставить его фактически запустить событие. Я следовал документации здесь, но не сгореть Drop события. Есть ли простой способ узнать, когда что-то падает на элемент? (Меня не волнует, что отброшено, единственным нажатием кнопки является кнопка.)
c# uwp xaml
Как Загрузить Часть Страницы Html, Которая В Настоящее Время Отображается?
У меня есть электронная книга (относительно большой размер - 800 страниц), в формате HTML. Я открываю эту книгу как веб-страницу с помощью webkit-gtk+. Если я загружаю всю книгу за раз, она занимает слишком много памяти (ОЗУ). Поэтому я не хочу загружать всю книгу за раз, но загружаю часть книги, которая в настоящее время отображается. и когда пользователь прокручивается вниз, должна отображаться следующая часть. Как я могу это реализовать?
javascript html xhtml webkit
Возможно Ли Обычная Uiactivity С Иконкой Закладки?
Часть моего приложения iOS - просмотрщик файлов с помощью UIActivityViewController. Из этого я хотел бы, чтобы пользователи могли делать нормальные действия с файлом, например, отправлять его по почте, сохранять его на фотографиях (если это фотография) и все остальное. Однако у моего приложения есть функция закладок. Я хотел бы, чтобы пользователи могли добавлять закладки в это меню. Я создал пользовательский UIActivity, чтобы добавить объект в список закладок, но мне не удалось выяснить, как использовать значок системной закладки. Возможно ли это?
EDIT: для пояснения это находится в меню, которое вы получаете, когда вы нажимаете кнопку "Поделиться".
user-interface ios uiactivityviewcontroller
Как Сделать Xml С Объекта
Я хочу спросить, как сгенерировать xml из объекта?
скажем, если это json, мне просто нужно использовать jaskson или Gson
json = someObj.writeValueAsString
но затем для xml, который я просматриваю через Интернет, кажется, что он должен сначала сконструировать документ? как записать его в streamwriter, а затем вывести на какой-то каталог, который станет файлом (xxx.xml)?
Но моя цель состоит в том, чтобы construst (от объекта) и проанализировать xml для другого RESTful API.
А также, если кто-то может помочь с разбором, я был бы очень доволен. Я имею в виду, как вызвать запрос Http и поместить xml в тело и запустить какой-то URL-адрес.
val url = "https://api.mch.weixin.qq.com/pay/unifiedorder"
val headers = HttpHeaders()
headers.contentType = MediaType.APPLICATION_XML
val xmlMapper = XmlMapper()
var strObject = xmlMapper.writeValueAsString(wxPayOrderWithSign).replace(Regex("<[^>]*?/>"), "")
strObject = strObject.substring(12,strObject.length - 13)
strObject = "<xml>$strObject</xml>"
val entity = HttpEntity(strObject, headers)
val respEntity = restTemplate.postForEntity(url, entity, String::class.java)
val return_msg = respEntity.body
вот его мой код в kotlin, но это не правильный метод, так как я использую regex для замены какого-либо символа при преобразовании объекта в строку.
мне нужно сгенерировать что-то вроде
<xml>
<appid>wx0b6d2803d20b379f1</appid>
<body>QQMember-TopUp</body>
<detail>test</detail>
<mch_id>1508478951</mch_id>
<nonce_str>c9c21120a9724ee993e6f9c866ec30e1</nonce_str>
<notify_url>http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>
<out_trade_no>20150806125346</out_trade_no>
<sign>6E18248C5FFA26D1A96BD8F6A0B0CB02</sign>
<spbill_create_ip>123.12.12.123</spbill_create_ip>
<total_fee>1</total_fee>
<trade_type>JSAPI</trade_type>
</xml>
java object xml xml-parsing kotlin
Клонирование/выборка Репозитория Проблем С Использованием Git Плагина Для Hudson On Windows
Прежде чем кто-нибудь меня застрелит, я уже проверил каждую соответствующую нить и до сих пор не нашел решения моей проблемы.
У меня есть Hudson с плагином git, установленным на сервере Windows (не мой выбор), а Hudson работает как служба. Git/bin находится на пути. Однако я не могу клонировать репозиторий. Вот краткое отображение вывода консоли:
Started by user anonymous
Checkout:workspace / C:\.hudson\jobs\sdf\workspace - hudson.remoting.LocalChannel@65394b
Last Built Revision: Revision 74200b32314231a5efdadd87bf36b42ec145c720 (origin/master)
Checkout:workspace / C:\.hudson\jobs\sdf\workspace - hudson.remoting.LocalChannel@65394b
Fetching changes from the remote Git repository
Fetching upstream changes from ssh://git.mccannlondon.co.uk/git/mccann_admin
[workspace] $ "C:\Program Files\Git\bin\git.exe" fetch -t ssh://git.mccannlondon.co.uk/git/mccann_admin +refs/heads/*:refs/remotes/origin/*
The server host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server rsa2 key fingerprint is:
ssh-rsa 2048 f1:48:2a:0a:d9:18:cf:2e:f2:8c:b3:25:7f:34:d5:34
Connection abandoned.
fatal: The remote end hung up unexpectedly
ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway
Мне кажется, мне нужно аутентифицировать хост, но я не уверен, почему hudson запускает работу как пользователь анонимный, когда я установил Администратора как владельца службы hudson.
Кто-нибудь знает:
- a) как изменить пользователя hudson run? или
- b) подключиться к удаленному компьютеру с той же учетной записью пользователя, что и hudson, чтобы позволить hudson извлекать?
Если это было опубликовано до извинений, но я потратил несколько часов на поиски и ничего не нашел.
Спасибо
Льюис
git clone windows hudson
Объединение Сэмплов Из Нескольких Источников С Использованием Ffmpeg
Если у меня есть два видеоролика, снимающих один и тот же объект, но с разных ракурсов, а затем я хочу создать одно видео, но комбинация - это не просто конкатенация, а линейчатый образец, линейно от каждого из видео, чтобы создать одно и то же видео выходное видео линии, Является ли это возможным?
Например, если оба видео были сняты в течение 1 минуты каждый. затем, когда я совмещаю, я хочу объединить 0-15 секунд с 1-го, затем 15-30 секунд со второго, затем 30-45 с 1-го, затем 45-60 со второго видео. для создания 1-минутного видео.
Также в качестве общего случая, если это возможно, образец времени не должен быть равномерно распределенным, но случайным от каждого видео, если общие клипы добавляют до первоначального времени съемки.
В качестве более общего случая, если это возможно, расширяя его до более чем двух источников видео, можно сказать, что три видеоролика объединены вышеприведенным образом в случайных клипах времени для создания одного видео.
большое спасибо Муннал
ffmpeg video
Flink Stream Api Sockettextstream (Имя Хоста, Порт) Действует Как Клиент
FLINK Stream API socketTextStream (имя хоста, порт) действует как Клиент. то есть нам нужно отправить непрерывный поток на порт, а метод socketTextStream (имя хоста, порт) будет читать входящий поток.
Но мое требование похоже на то, что я хочу использовать FLINK в качестве сервера и искать API, который может слушать из порта. Может ли кто-нибудь иметь API потока FLINK? это решит мою проблему. Заранее спасибо !!!
//
apache-flink
Использование Cgafflinetransformmakescale/rotation Выполняет Только Одно Действие
Я пытаюсь сделать видео поворот и увеличить масштаб, когда пользователь поворачивает экран на пейзаж.
- (void) orientationChanged:(NSNotification *)note
{
bool switchedLeft;
UIDevice * device = note.object;
switch(device.orientation)
{
case UIDeviceOrientationPortrait:
self.videoView.transform=CGAffineTransformMakeScale(0.5,0.5);
if (switchedLeft) {
self.videoView.transform=CGAffineTransformMakeRotation(-M_PI_2);
}else{
self.videoView.transform=CGAffineTransformMakeRotation(M_PI_2);
}
break;
case UIDeviceOrientationLandscapeLeft:
self.videoView.transform=CGAffineTransformMakeRotation(M_PI_2);
self.videoView.transform=CGAffineTransformMakeScale(2.0, 2.0);
switchedLeft=true;
break;
case UIDeviceOrientationLandscapeRight:
self.videoView.transform=CGAffineTransformMakeRotation(-M_PI_2);
self.videoView.transform=CGAffineTransformMakeScale(2.0, 2.0);
switchedLeft=false;
break;
default:
break;
};
}
Существует ряд проблем. Во-первых, когда я изначально вращаюсь в ландшафт, он только делает одно преобразование, в этой конфигурации он просто масштабирует его.
Вторая проблема заключается в том, что когда я поворачиваюсь на портрет, он вызывает вращение, но он никогда не вращается. Однако я могу перемещаться между ландшафтом влево и вправо вправо, и он вращается правильно. Любая помощь будет принята с благодарностью
ios objective-c iphone cgaffinetransform
Nodejs Express Jwt, Как Обрабатывать И Отправлять Токен С Веб-Клиента/телефона (Jsonwebtoken)
Я использую NodeJs с приложением Express для разработки веб-сайтов для браузеров и мобильных телефонов. Я использую JWT, потому что он, кажется, является стандартом, и я прочитал, что сессии не работают в телефонах (без браузера). У меня есть этот код в бэкэнде, настроенном с помощью "jsonwebtoken":
'use strict';
const jwt = require('jsonwebtoken');
const path = require('path');
const fs = require('fs');
const privateKEY = fs.readFileSync(path.join(__dirname, 'private.key'), 'utf8');
const publicKEY = fs.readFileSync(path.join(__dirname, 'public.key'), 'utf8');
module.exports = {
sign: (payload) => {
var signOptions = {
expiresIn: process.env.TOKEN_EXPIRE_TIME,
algorithm: "RS256"
};
return jwt.sign(payload, privateKEY, signOptions);
},
verify: (token) => {
var verifyOptions = {
expiresIn: process.env.TOKEN_EXPIRE_TIME,
algorithm: ["RS256"]
};
try {
return jwt.verify(token, publicKEY, verifyOptions);
} catch (err) {
return false;
}
},
decode: (token) => {
return jwt.decode(token, {
complete: true
});
}
};
Но я не знаю, какой способ реализовать переднюю часть. Мне нужно знать, как хранить токен для обоих устройств (localStorage? SessionStorage? Куки? Другие?), И что может быть хорошим способом сделать ссылки (тег href в html), отправляющие токен из этого метода хранения.
node.js express jwt
В Контроллере Asp.net-Mvc, Как Я Могу Получить Информацию О Браузере Пользователей?
Я регистрирую ошибки на моем сайте asp.net-mvc, и я хотел посмотреть, есть ли в любом случае для обнаружения информации обозревателя пользователей (имя, версия и т.д.), поскольку кажется, что люди получают проблемы, но это потому, что они используя очень старый браузер. Эта информация поможет мне избежать времени отладки, если я знаю, что они используют браузер "Не поддерживается".
c# browser asp.net-mvc
Android 5.0 - Intellij Gradle: Не Удается Разрешить Символ: @color: Material_blue_500
Я пытаюсь настроить тему дизайна материалов, как это предлагается в этой ссылке: android dev
но когда я добавлю следующий код в свой файл v21/styles, Intellij говорит, что он не может разрешить эти символы.
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- customize the color palette -->
<item name="colorPrimary">@color/material_blue_500</item>
<item name="colorPrimaryDark">@color/material_blue_700</item>
<item name="colorAccent">@color/material_green_A200</item>
</style>
</resources>
Я огляделся, чтобы увидеть, есть ли какие-то особые настройки, которые нужно сделать на стороне цвета, но ничего не появилось. Я использую API 21 с поддержкой lib v7 на gradle.
android intellij-idea
Extjs Mvc, Динамическая Загрузка И I18n
Я хотел бы перевести приложение ExtJS на разные языки. Моя проблема в том, что я использую инфраструктуру ExtJS MVC, и большинство моих JS файлов загружаются динамически самой картой.
Идеальное решение (о котором я думал) было бы иметь дополнительный параметр в Ext.Loader(или в моем Ext.app.Application), который определял бы используемый язык, и в зависимости от этого, чтобы автоматически загружать такие файл как "a.MyClass.fr.js" после загрузки моего "a.MyClass.js" (который будет содержать Ext.apply, переопределяя мои строковые ресурсы). Вероятно, это недоступно в инфраструктуре ExtJS на данный момент.
Альтернативное решение, которое я вижу, - выполнить трюк на стороне сервера. Сначала на клиенте будет создан файл cookie, чтобы установить язык. На стороне сервера я мог поймать все запросы к JS файлам, а затем, если cookie установлен (например, 'fr'), я бы объединил запрошенный JS файл (MyClass.js) с его другом i18n (MyClass.fr.js) динамически на сервере и вернуть результат. Это сработает, но это очень сложно, потому что это подразумевает другие вещи (кеширование...).
Возможно, лучший способ - реализовать первое поведение, описанное в структуре ExtJS, сам...
Как вы думаете? Я ищу действительно чистый и аккуратный способ сделать это! Спасибо:)
internationalization localization extjs extjs4 extjs-mvc
Проблема С Шифрованием Из-За Заполнения?
Я использую класс шифрования для некоторых передач данных. Я продолжаю получать эту ошибку:
javax.crypto.BadPaddingException: Given final block not properly padded
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:811)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:676)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:313)
at javax.crypto.Cipher.doFinal(Cipher.java:2131)
at com.casadelgato.util.Encryption.decrypt(Encryption.java:138)
at com.casadelgato.util.Encryption.decryptBase64(Encryption.java:124)
at com.casadelgato.util.Encryption.decryptBase64ToString(Encryption.java:109)
at com.casadelgato.util.Encryption.main(Encryption.java:156)
Странно, я не понимаю, если я запускаю расшифровку с тем же самым объектом шифрования, который я зашифровал. Я получаю сообщение об ошибке, когда новый объект Encryption пытается расшифровать. Я воспроизвел это с помощью main() в приведенном ниже коде.
Второй дешифрованный вызов завершается с ошибкой. По-видимому, шифры сохраняют состояние между сеансами???
Как исправить это, чтобы другая программа могла расшифровать то, что было зашифровано в другом месте?
package com.casadelgato.util;
import java.io.UnsupportedEncodingException;
import java.security.AlgorithmParameters;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.InvalidParameterSpecException;
import java.security.spec.KeySpec;
import java.util.Arrays;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
public class Encryption {
private final byte[] SALT = {
(byte) 0x26, (byte) 0xe4, (byte) 0x11, (byte) 0xa3,
(byte) 0x07, (byte) 0xc6, (byte) 0x55, (byte) 0x42
};
private Cipher ecipher;
private Cipher dcipher;
public Encryption( String password) throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, InvalidKeyException, InvalidParameterSpecException,
InvalidAlgorithmParameterException {
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
KeySpec spec = new PBEKeySpec(password.toCharArray(), SALT, 65536, 128);
SecretKey tmp = factory.generateSecret(spec);
System.out.println("Encryption: " + Arrays.toString(tmp.getEncoded()));
SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES");
ecipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
ecipher.init(Cipher.ENCRYPT_MODE, secret);
AlgorithmParameters params = ecipher.getParameters();
byte[] iv = params.getParameterSpec(IvParameterSpec.class).getIV();
dcipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
dcipher.init(Cipher.DECRYPT_MODE, secret, new IvParameterSpec(iv));
}
/**
* Encrypt the string and return the data encoded in base64
*
* @param encrypt String to encrypt
* @return base64 coded encrypted string
* @throws UnsupportedEncodingException
* @throws BadPaddingException
* @throws IllegalBlockSizeException
* @throws Exception
*/
public byte[] encryptStringToBase64( String encrypt) throws UnsupportedEncodingException, IllegalBlockSizeException, BadPaddingException {
byte[] bytes = encrypt.getBytes("UTF8");
return encryptToBase64(bytes);
}
/**
* Encrypt a block of data and encode to Base64
*
* @param bytes
* @return base64 encoded encrypted data
* @throws BadPaddingException
* @throws IllegalBlockSizeException
* @throws Exception
*/
public byte[] encryptToBase64( byte[] bytes) throws IllegalBlockSizeException, BadPaddingException {
byte[] encrypted = encrypt(bytes);
return Base64.encodeBase64(encrypted);
}
/**
* Encrypt a block of data
*
* @param plain
* @return encryped data
* @throws BadPaddingException
* @throws IllegalBlockSizeException
* @throws Exception
*/
public byte[] encrypt( byte[] plain) throws IllegalBlockSizeException, BadPaddingException {
return ecipher.doFinal(plain);
}
/**
* Decrypt a string that was encrypted and coded in base64
*
* @param base64
* @return
* @throws BadPaddingException
* @throws IllegalBlockSizeException
* @throws UnsupportedEncodingException
* @throws Exception
*/
public String decryptBase64ToString( byte[] base64) throws IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException {
byte[] decrypted = decryptBase64(base64);
return new String(decrypted, "UTF8");
}
/**
* Decrypt a Base64 encoded block
*
* @param base64
* @return
* @throws BadPaddingException
* @throws IllegalBlockSizeException
* @throws Exception
*/
public byte[] decryptBase64( byte[] base64) throws IllegalBlockSizeException, BadPaddingException {
byte[] decodedData = Base64.decodeBase64(base64);
byte[] decrypted = decrypt(decodedData);
return decrypted;
}
/**
* Decrypt a binary array.
*
* @param encrypt
* @return
* @throws BadPaddingException
* @throws IllegalBlockSizeException
* @throws Exception
*/
public byte[] decrypt( byte[] encrypt) throws IllegalBlockSizeException, BadPaddingException {
return dcipher.doFinal(encrypt);
}
public static void main( String[] args) throws Exception {
String messages[] = { "GETP", "Testing stuff that is longer" };
String password = "SanityLost";
try {
Encryption app = new Encryption(password);
Encryption app1 = new Encryption(password);
for (String message : messages) {
byte[] encrypted = app.encryptStringToBase64(message);
System.out.println("Encrypted string is: " + new String(encrypted, "UTF-8") + ", " + encrypted.length);
String decrypted = app.decryptBase64ToString(encrypted);
System.out.println("Decrypted string is: " + decrypted);
decrypted = app1.decryptBase64ToString(encrypted);
System.out.println("App1 Decrypted string is: " + decrypted);
}
} catch (Exception e1) {
e1.printStackTrace();
}
return;
}
}
java encryption aes
Как Интегрировать Uipath С Svn?
В настоящее время я работаю в инструменте UAPATH. Теперь мне нужно интегрировать UIPATH с SVN. У меня нет идеи продолжать. Пожалуйста, помогите мне в том, как интегрировать UIPATH с SVN?
svn uipath
Как Включить Ночное Падение Typescript 0.9 В Visual Studio 2012
Любые идеи, как я могу попробовать функцию generics (расположенную в ветке dev-0.9.x)
a) в Visual Studio 2012 с плагином TypeScript
b) или, по крайней мере, в командной строке?
Я последовал за тем, как создавать шаги (включая Джейка), поэтому у меня есть обновленная версия.
Однако я попробовал сообщение Microsoft, но для следующего кода
class MyClass<T> {
}
Visual Studio 2012 сообщает, что {ожидается (явно не знает о новой функции языка))
Если я попытаюсь скомпилировать из командной строки, то получаю ту же ошибку. Что мне не хватает?
generics visual-studio typescript beta preview
Частичное Чтение Из "stdout" На Python С Использованием Popen
Я пытаюсь создать скрипт python, который открывает подпроцесс (скрипт bash) и читает "stdout" в переменную в течение 10 секунд. Через 10 секунд мне нужно передать данные на сервер через запрос POST. Как сделать запрос POST, который я знаю, но как собрать "stdout" в течение 10 секунд?
Я нахожу много примеров, как использовать "Popen", запускать скрипт bash и читать stderr мгновенно без бифференциации, но как собирать выходные данные в течение некоторого времени и выпуска частично?
python bash popen stdout
Интернационализировать Целевую Страну Для Seo С Использованием Языка Url-Адреса
В настоящее время у меня есть веб-сайт под немецким доменом.de(www.mysite.de)
Сейчас я добавляю поддержку интернационализации для английского и французского языков.
I18n будет обрабатываться другой структурой URL для целей SEO www.mysite.de/en будет обрабатывать материалы, связанные с английским языком www.mysite.de/fr будет обрабатывать связанный с французским контентом контент и т.д.
Мой первый вопрос: если из перспективы SEO я должен переместить немецкий родственный контент по своему собственному пути (www.mysite.de/de)?
Если это так, то должен ли я делать 301 Перманентный переадресацию на www.mysite.de/de когда кто-то приходит на сайт www.mysite.de.
В Интернете я могу видеть разные примеры.
Например, apple.com обрабатывает трафик США и apple.com/fr например, французский. spotify.com есть 302 Временная переадресация на место, которая перенаправляет вас на конкретный языковой сайт, например spotify.com/us для США.
Я знаю, что Google позволяет указать каким-то образом целевой язык, связанный с определенным URL-адресом на вашем сайте, с помощью чего-то, называемого "геотаргетинг поисковой консоли". Это разрешено только для доменов gTLD, поэтому я не могу сделать это с моим, так как он использует определенный немецкий домен страны (.de).
Мне интересно, есть ли что-то, что мне нужно будет настроить на стороне Google с помощью инструмента для веб-мастеров, или если hreflang metatag будет достаточно, чтобы сигнализировать, что, например, все страницы под /fr предназначены для поиска по французскому языку
seo multilingual
Как Вы Находите Только Свойства, Которые Имеют Как Геттер, Так И Сеттер?
С#,.NET 3.5
Я пытаюсь получить все свойства объекта, у которого есть BOTH getter и setter для экземпляра. Код, который, как я думал, должен работать,
PropertyInfo[] infos = source.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty | BindingFlags.GetProperty);
Однако результаты включают свойство, которое не имеет сеттера. Чтобы дать вам простую идею моей структуры наследования, которая может повлиять на это (хотя я не знаю, как это сделать):
public interface IModel
{
string Name { get; }
}
public class BaseModel<TType> : IModel
{
public virtual string Name { get { return "Foo"; } }
public void ReflectionCopyTo(TType target)
{
PropertyInfo[] infos = this.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty | BindingFlags.GetProperty);
foreach (PropertyInfo info in infos)
info.SetValue(target, info.GetValue(this, null), null);
}
}
public class Child : BaseModel<Child>
{
// I do nothing to override the Name property here
}
При работе с именем:
я получаю следующую ошибку:System.ArgumentException: Property set method not found.
EDIT: Я хотел бы знать, почему это не работает, а также то, что я должен делать, чтобы не получить ошибку.
reflection c# .net
Автоматически Перемещать Меню Для Эффективного Использования Пространства?
Я пытаюсь создать дружественную к устройству версию веб-сайта, но у меня возникают некоторые проблемы с меню. Я буду бороться, чтобы соответствовать всем этим на экране ipad без прокрутки, но это поможет, если меню автоматически переместится, чтобы заполнить пустое пространство.
Синие области - это меню, а черные области - впустую. Есть ли способ заставить мое меню перемещаться в нижней части вышеприведенного меню?
HTML
<ul><t2>Home</t2>
</ul>
<ul><t2>Academic Life</t2>
<li>Test 1</li>
<li>Test 2</li>
<li>Test 3</li>
<li>Test 4</li>
</ul>
<ul><t2>A Catholic Education</t2>
<li>Test 1</li>
<li>Test 2</li>
<li>Test 3</li>
<li>Test 4</li>
</ul>
<ul><t2>Sporting & Co-Curricular</t2>
<li>Test 1</li>
<li>Test 2</li>
<li>Test 3</li>
<li>Test 4</li>
</ul>
<ul><t2>Music & The Arts</t2>
<li>Test 1</li>
<li>Test 2</li>
<li>Test 3</li>
<li>Test 4</li>
</ul>
<ul><t2>Sixth Form</t2>
<li>Test 1</li>
<li>Test 2</li>
<li>Test 3</li>
<li>Test 4</li>
</ul>
<ul><t2>Information</t2>
<li>Test 1</li>
<li>Test 2</li>
<li>Test 3</li>
<li>Test 4</li>
</ul>
<ul><t2>News</t2>
</ul>
<ul><t2>Events</t2>
</ul>
CSS -
body {
background-color: #000;
}
ul {
list-style-type: none;
width: 48%;
min-width: 460px;
padding: 0;
background-color: blue;
font-family: Gill Sans MT;
color: #fff;
display: inline;
float: left;
font-size: 40px;
position: relative;
}
t2 {
font-size: 100%;
}
li {
font-size: 80%;
padding-left: 3%;
}
@media all and (orientation:landscape) {
ul {
width: 32%;
min-width: 300px;
font-size: 30px;
}
.menuicon {
width: 100px;
}
#menu {
padding-top: 105px;
}
}
Любая помощь была бы чрезвычайно оценена! Благодарю.
html css mobile position menu
Преобразование Нескольких Строк В Одну Строку На Основе Ключевой Переменной С Использованием Панд
Входной набор данных
Var1 Var2 Var3 Var4
101 XXX yyyy 12/10/2014
101 XYZ YTRT 13/10/2014
102 TTY UUUU 9/9/2014
102 YTY IUYY 10/10/2014
Ожидаемый выходной набор данных:
Var1 Var2 Var3 Var4
101 XXX,XYZ yyyy,YTRI 12/10/2014, 13/10/2014
102 TTY,YTY UUUU,IUYY 9/9/2014, 10/10/2014
как можно достичь ожидаемого набора данных с помощью программирования панд?
python sql pandas rows pandas-groupby
Извлеките Текст Из Строки Html С Помощью Javascript
Я пытаюсь получить внутренний текст строки HTML, используя JS-функцию (строка передается как аргумент). Вот код:
function extractContent(value) {
var content_holder = "";
for(var i=0;i<value.length;i++) {
if(value.charAt(i) === '>') {
continue;
while(value.charAt(i) != '<') {
content_holder += value.charAt(i);
}
}
}
console.log(content_holder);
}
extractContent("<p>Hello</p><a href='http://w3c.org'>W3C</a>");
Проблема в том, что на консоли ничего не печатается (content_holder остается пустым). Я думаю, что проблема вызвана оператором "===".
javascript string html text extract
Добавление Переменных Php В Функции Javascript С Помощью Api Google Directions
Я новичок в API Google. Я создаю приложение, в котором мне нужно использовать адреса, сохраненные в базе данных t0, отображающие маршрут к событию. Я нашел шаблон, позволяющий вручную изменять переменные Javascript в API карт google, однако, когда я пытаюсь использовать переменную PHP в функции, она не будет загружать карту. Я еще не подключил его к моей базе данных, я просто пытаюсь заставить его работать с переменными PHP
Просто подумал, может ли кто-нибудь указать мне в правильном направлении и помочь мне.
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps API v3 Directions Example</title>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?
key=MYKEYHERE&callback=initMap"></script></head>
<?php
$start = "Leeds";
$end = "Nottingham";
?>
<body>
<div id="map"></div>
<div id="right-panel"></div>
<script type="text/javascript">
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer();
var map = new google.maps.Map(document.getElementById('map'), {
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById('right-panel'));
var request = {
origin: <?php echo $start; ?>,
destination: <?php echo $end; ?>,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
</script>
</body>
</html>
javascript api php google-maps google-direction
Csv Файл Не Печатает На Веб-Странице Django
Я новичок в django.I хочу загрузить файл csv, обрабатывать данные и отображать результаты в UI. Для этого я создал следующий код. Проблема в том, что файл csv не загружается. Если я загружу другой формат файла, он не покажет никакого сообщения об ошибке. Также я хочу распечатать данные csv о результатах в пользовательском интерфейсе. views.py
from django.shortcuts import render
from django.conf import settings
from django.http import HttpResponseRedirect
from django.contrib import messages
import csv
from django.core.urlresolvers import reverse
import logging
def upload_csv(request):
data = {}
if "GET" == request.method:
return render(request, "myapp/upload_csv.html", data)
# if not GET, then proceed
try:
csv_file = request.FILES["csv_file"]
if not csv_file.name.endswith('.csv'):
c=messages.error(request,'File is not CSV type')
return HttpResponseRedirect(reverse("myapp:upload_csv",{"c":c}))
#if file is too large, return
if csv_file.multiple_chunks():
messages.error(request,"Uploaded file is too big (%.2f MB)." % (csv_file.size/(1000*1000),))
return HttpResponseRedirect(reverse("myapp:upload_csv"))
file_data = csv_file.read().decode("utf-8")
lines = file_data.split("\n")
#loop over the lines and save them in db. If error , store as string and then display
for line in lines:
fields = line.split(",")
data_dict = {}
data_dict["GSTIN/UIN"] = fields[0]
data_dict["start_date_time"] = fields[1]
data_dict["end_date_time"] = fields[2]
data_dict["notes"] = fields[3]
try:
form = EventsForm(data_dict)
if form.is_valid():
form.save()
else:
logging.getLogger("error_logger").error(form.errors.as_json())
except Exception as e:
logging.getLogger("error_logger").error(repr(e))
pass
except Exception as e:
logging.getLogger("error_logger").error("Unable to upload file. "+repr(e))
messages.error(request,"Unable to upload file. "+repr(e))
#return HttpResponseRedirect(reverse("myapp:index",data_dict))
return HttpResponseRedirect("myapp/upload_csv.html")
HTML
<html> <form action="{% url "myapp:upload_csv" %}" method="POST" enctype="multipart/form-data" class="form-horizontal">
{% csrf_token %}
<div class="form-group">
<label for="name" class="col-md-3 col-sm-3 col-xs-12 control-label">File: </label>
<div class="col-md-8">
<input type="file" name="csv_file" id="csv_file" required="True" class="form-control">
</div>
</div>
<div class="form-group">
<div class="col-md-3 col-sm-3 col-xs-12 col-md-offset-3" style="margin-bottom:10px;">
<button class="btn btn-primary"> <span class="glyphicon glyphicon-upload" style="margin-right:5px;"></span>Upload </button>
</div>
</div>
<p><input type="submit" value="Upload" /></p>
{% if c %}
<p> {{c}} <p>
{% endif %}
</form> </html>Также помогите мне распечатать данные csv в пользовательском интерфейсе.
python django