Поиск Источника Ошибки Режима 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(@_); };

но это, похоже, не влияет на ошибку. Возможно, это неправильный сигнал, чтобы быть ловушкой, а не слишком рано, или что-то более сложное.

Подробнее (2 ответа)

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)?

Подробнее (1 ответ)

docker mesos aurora

Событие Пожара При Удалении Элемента

Я создаю элемент управления для своего приложения с несколькими значками. Вы нажимаете кнопку на значок, который представляет действие, которое вы хотите предпринять. Тем не менее, я не могу понять, как заставить его фактически запустить событие. Я следовал документации здесь, но не сгореть Drop события. Есть ли простой способ узнать, когда что-то падает на элемент? (Меня не волнует, что отброшено, единственным нажатием кнопки является кнопка.)

Подробнее (1 ответ)

c# uwp xaml

Как Загрузить Часть Страницы Html, Которая В Настоящее Время Отображается?

У меня есть электронная книга (относительно большой размер - 800 страниц), в формате HTML. Я открываю эту книгу как веб-страницу с помощью webkit-gtk+. Если я загружаю всю книгу за раз, она занимает слишком много памяти (ОЗУ). Поэтому я не хочу загружать всю книгу за раз, но загружаю часть книги, которая в настоящее время отображается. и когда пользователь прокручивается вниз, должна отображаться следующая часть. Как я могу это реализовать?

Подробнее (1 ответ)

javascript html xhtml webkit

Возможно Ли Обычная Uiactivity С Иконкой Закладки?

Часть моего приложения iOS - просмотрщик файлов с помощью UIActivityViewController. Из этого я хотел бы, чтобы пользователи могли делать нормальные действия с файлом, например, отправлять его по почте, сохранять его на фотографиях (если это фотография) и все остальное. Однако у моего приложения есть функция закладок. Я хотел бы, чтобы пользователи могли добавлять закладки в это меню. Я создал пользовательский UIActivity, чтобы добавить объект в список закладок, но мне не удалось выяснить, как использовать значок системной закладки. Возможно ли это?

EDIT: для пояснения это находится в меню, которое вы получаете, когда вы нажимаете кнопку "Поделиться".

Подробнее (1 ответ)

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>

Подробнее (1 ответ)

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 извлекать?

Если это было опубликовано до извинений, но я потратил несколько часов на поиски и ничего не нашел.

Спасибо

Льюис

Подробнее (4 ответа)

git clone windows hudson

Объединение Сэмплов Из Нескольких Источников С Использованием Ffmpeg

Если у меня есть два видеоролика, снимающих один и тот же объект, но с разных ракурсов, а затем я хочу создать одно видео, но комбинация - это не просто конкатенация, а линейчатый образец, линейно от каждого из видео, чтобы создать одно и то же видео выходное видео линии, Является ли это возможным?

Например, если оба видео были сняты в течение 1 минуты каждый. затем, когда я совмещаю, я хочу объединить 0-15 секунд с 1-го, затем 15-30 секунд со второго, затем 30-45 с 1-го, затем 45-60 со второго видео. для создания 1-минутного видео.

Также в качестве общего случая, если это возможно, образец времени не должен быть равномерно распределенным, но случайным от каждого видео, если общие клипы добавляют до первоначального времени съемки.

В качестве более общего случая, если это возможно, расширяя его до более чем двух источников видео, можно сказать, что три видеоролика объединены вышеприведенным образом в случайных клипах времени для создания одного видео.

большое спасибо Муннал

Подробнее (2 ответа)

ffmpeg video

Flink Stream Api Sockettextstream (Имя Хоста, Порт) Действует Как Клиент

FLINK Stream API socketTextStream (имя хоста, порт) действует как Клиент. то есть нам нужно отправить непрерывный поток на порт, а метод socketTextStream (имя хоста, порт) будет читать входящий поток.

Но мое требование похоже на то, что я хочу использовать FLINK в качестве сервера и искать API, который может слушать из порта. Может ли кто-нибудь иметь API потока FLINK? это решит мою проблему. Заранее спасибо !!!

//

Подробнее (1 ответ)

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;
    };
}

Существует ряд проблем. Во-первых, когда я изначально вращаюсь в ландшафт, он только делает одно преобразование, в этой конфигурации он просто масштабирует его.

Вторая проблема заключается в том, что когда я поворачиваюсь на портрет, он вызывает вращение, но он никогда не вращается. Однако я могу перемещаться между ландшафтом влево и вправо вправо, и он вращается правильно. Любая помощь будет принята с благодарностью

Подробнее (2 ответа)

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), отправляющие токен из этого метода хранения.

Подробнее (1 ответ)

node.js express jwt

В Контроллере Asp.net-Mvc, Как Я Могу Получить Информацию О Браузере Пользователей?

Я регистрирую ошибки на моем сайте asp.net-mvc, и я хотел посмотреть, есть ли в любом случае для обнаружения информации обозревателя пользователей (имя, версия и т.д.), поскольку кажется, что люди получают проблемы, но это потому, что они используя очень старый браузер. Эта информация поможет мне избежать времени отладки, если я знаю, что они используют браузер "Не поддерживается".

Подробнее (2 ответа)

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.

Подробнее (2 ответа)

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, сам...

Как вы думаете? Я ищу действительно чистый и аккуратный способ сделать это! Спасибо:)

Подробнее (4 ответа)

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;
    }
}

Подробнее (2 ответа)

java encryption aes

Как Интегрировать Uipath С Svn?

В настоящее время я работаю в инструменте UAPATH. Теперь мне нужно интегрировать UIPATH с SVN. У меня нет идеи продолжать. Пожалуйста, помогите мне в том, как интегрировать UIPATH с SVN?

Подробнее (1 ответ)

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 сообщает, что {ожидается (явно не знает о новой функции языка))

Если я попытаюсь скомпилировать из командной строки, то получаю ту же ошибку. Что мне не хватает?

Подробнее (1 ответ)

generics visual-studio typescript beta preview

Частичное Чтение Из "stdout" На Python С Использованием Popen

Я пытаюсь создать скрипт python, который открывает подпроцесс (скрипт bash) и читает "stdout" в переменную в течение 10 секунд. Через 10 секунд мне нужно передать данные на сервер через запрос POST. Как сделать запрос POST, который я знаю, но как собрать "stdout" в течение 10 секунд?

Я нахожу много примеров, как использовать "Popen", запускать скрипт bash и читать stderr мгновенно без бифференциации, но как собирать выходные данные в течение некоторого времени и выпуска частично?

Подробнее (3 ответа)

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 предназначены для поиска по французскому языку

Подробнее (1 ответ)

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: Я хотел бы знать, почему это не работает, а также то, что я должен делать, чтобы не получить ошибку.

Подробнее (5 ответов)

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;
    }
} 

Любая помощь была бы чрезвычайно оценена! Благодарю.

Подробнее (1 ответ)

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

как можно достичь ожидаемого набора данных с помощью программирования панд?

Подробнее (1 ответ)

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 остается пустым). Я думаю, что проблема вызвана оператором "===".

Подробнее (7 ответов)

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>

Подробнее (1 ответ)

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 в пользовательском интерфейсе.

Подробнее (1 ответ)

python django