小编Tyl*_*ian的帖子

图像视图不包装内容

我有一个ImageView包装这个图像:

<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:scaleType="fitStart"
    android:src="@drawable/oncmap"/>
Run Code Online (Sandbox Code Playgroud)

一个TextView,就在它下面.不幸的是,它根据设备的屏幕尺寸将其推向视图或视图外.

http://i.imgur.com/CuVFK5P.png

http://i.imgur.com/6wzMebV.jpg

我可以"破解"它,但它不是......

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="16dp"
android:orientation="vertical"
tools:context="MapFragment">

<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/oncmap"/>

<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:text="Neptune"
    style="@style/sectionHeader"/>

<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:paddingLeft="8dp"
    android:paddingRight="8dp"
    android:paddingTop="16dp"
    android:text="@string/info"
    style="@style/text"/>
Run Code Online (Sandbox Code Playgroud)

java android imageview

61
推荐指数
1
解决办法
2万
查看次数

在小牛上安装Pillow/PIL

我尝试使用pip/easy_install安装Pillow时遇到一个奇怪的错误:

cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -DHAVE_LIBJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers -I/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/Cellar/freetype/2.5.3/include/freetype2 -I/private/var/folders/c_/r7sp373509jdb6_1xmmzvl9c0000gn/T/pip_build_tills13/Pillow/libImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/usr/local/include -I/usr/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.9-intel-2.7/_imaging.o

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

clang: note: this will be a hard error (cannot be downgraded to a warning) in the future

error: command 'cc' failed with exit status 1 …
Run Code Online (Sandbox Code Playgroud)

python pip easy-install python-imaging-library pillow

18
推荐指数
4
解决办法
8834
查看次数

TSX/JSX项目中的可选JSX道具

我有一个React项目,我正在从JS转换为TS.我遇到的一个问题是TSX React假设功能组件中定义的所有属性都是必需的道具.

// ComponentA.tsx
class ComponentA extends React.Component<any, any> {
  render() {
    /* Type '{ equalWidth: true; children: Element[]; }' is not assignable to type '{ children: any; className: any; equalWidth: any; }'.
     * Property 'className' is missing in type '{ equalWidth: true; children: Element[]; }'.' */
    return <ComponentB equalWidth />
  }
}
Run Code Online (Sandbox Code Playgroud)

// ComponentB.js
const ComponentB = ({ children, className, equalWidth }) => {
  return (...)
}
Run Code Online (Sandbox Code Playgroud)

有没有办法向TS发信号通知JSX组件道具都是可选的?

jsx typescript reactjs react-tsx

14
推荐指数
2
解决办法
982
查看次数

openssl encypt/decrypt不一致工作/失败

openssl_*在PHP中看到了一些奇怪的行为.50%的时间,它会失败,投掷Unknown cipher algorithm,而另外50%的时间,它将正确编码我的数据.这是我的代码中的相关代码段:

$iv = openssl_random_pseudo_bytes(16);
$hash = openssl_encrypt($raw, "AES-128-CBC", $hashing_secret, OPENSSL_RAW_DATA, $iv);
// send $iv.$hash
Run Code Online (Sandbox Code Playgroud)

使用openssl_get_cipher_methods给了我:

[0] => AES-128-CBC
...
[81] => aes-128-cbc
Run Code Online (Sandbox Code Playgroud)

所以我知道密码是可用的.此外,$ openssl ciphers将AES-128-CBC列为系统级别的可用密码(但是,我被告知PHP捆绑的openssl是独立的)

我正在运行Ubuntu 14.04,php5.5.9-1ubuntu4.14,openssl 1.0.1f 2014年1月6日(phpinfo中列出的版本是相同的).如果它是相关的,所有这些代码都通过nginx/php-fpm在Silex框架下运行.

更新:更多信息......

我做了一些测试.我写了一个小脚本,它只循环了x次,编码了一些数据.

set_error_handler(function() use (&$errorCount) {
    $errorCount++;
});

for ($i = 0; $i < $numTests; $i++) {
    $hash = openssl_encrypt($data, "AES-128-CBC", $hashing_secret, OPENSSL_RAW_DATA, $iv);    
}
Run Code Online (Sandbox Code Playgroud)

如果我php test.php在同一台服务器上运行(via ),它会一直运行 - 即$errorCount == 0每次都运行.这让我相信它是:a)silex或b)阻碍函数的fastcgi进程 - 我添加了那些标签.

现在不确定从哪里开始,但是......

第二次更新

我做了一些测试.我把测试脚本放在nginx后面,运行php-fpm.这里奇怪的是,a)它100%失败或b)失败0次,而不是两次结果.这让我相信它是nginx或php-fpm,这是罪魁祸首.

php ubuntu openssl symfony silex

13
推荐指数
2
解决办法
2150
查看次数

环境变量TypeScript

假设我有一段代码,我只想在暂存环境中出现(或运行).我在该环境中设置了一个环境变量(例如,ENV ='staging'),TypeScript是否有一种方法可以在编译期间访问该变量?

例:

if (Enivronment['ENV'] == 'staging') console.log('testing');

哪个会if ('staging' == 'staging') ...在上述环境中编译成(冗余但有效)?

javascript typescript

13
推荐指数
2
解决办法
2万
查看次数

禁用模板缓存Jinja2

我正在尝试禁用Jinja2的模板缓存.我做了一些环顾四周,我发现cache_sizejinja的环境有一个参数.我正在使用以下内容:

app.jinja_env = jinja2.Environment(
    cache_size = 0, 
    loader = jinja2.FunctionLoader(utils.load_template)
)
Run Code Online (Sandbox Code Playgroud)

我正在使用自定义加载程序根据域动态加载模板(该应用程序服务于多个域).不幸的是,使用它,看起来它覆盖了Jinja的默认过滤器和内置函数 - 使用

@app.route(...)
def page():
    render_template('template') # from flask import render_template
Run Code Online (Sandbox Code Playgroud)

我收到了一个UndefinedError: 'url_for' is undefined错误.这样做的正确方法是什么?

python jinja2 flask

11
推荐指数
1
解决办法
7390
查看次数

NextJS SSR中的轨道安装组件

以下内容适用于NextJS的SSR.

我正在使用React的上下文来跟踪某些已安装组件的ID.要点是

class Root extends React.Component {
  getChildContext () {
    return {
      registerComponent: this.registerComponent
    }
  }

  registerComponent = (id) => {
    this.setState(({ mountedComponents }) => {
      return { mountedComponents: [...mountedComponents, id ] }
    })
  }

  ...
}

class ChildComponent {
  static contextTypes = { registerComponent: PropTypes.func }

  constructor(props) {
    super(props)

    props.registerComponent(props.id)
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这只适用于客户端.this.state.mountedComponents总是[]在服务器上.是否有另一种方法来跟踪服务器端的这些组件?基本上我需要使用id来提供脚本以在head文档中运行- 等到客户端应用程序安装,运行并手动附加到头部有点太慢.

更新

这里有一个简单的例子:https://github.com/tills13/nextjs-ssr-context

this.contextundefined在构造函数中Child,如果我将其移动到componentDidMount(当前在repo中以这种方式设置),它可以工作,但我希望这可以在服务器端解析.我没有死定context,如果有另一种方法可以做到这一点,我全都听见了.

reactjs server-side-rendering nextjs react-context

8
推荐指数
1
解决办法
539
查看次数

使用PDO获取列类型(getColumnMeta是/ slow /)

尝试编写一些东西,从一些任意的DB结果(即并非总是从表x中)自动转换为适当的PHP类型结果.

我扩展了PDOStatement类,

class Statement extends PDOStatement {
    protected $pdo;
    protected $transformer;

    protected function __construct(PDO $pdo) {
        $this->pdo = $pdo;
        $this->transformer = $pdo->getTransformer();
    }

    public function fetchAll() {
        $results = parent::fetchAll(PDO::FETCH_ASSOC);

        if ($this->getTransformer()) $results = $this->completeResults($results);

        return $results;
    }

    private function completeResults(array $results = []) {
        if ($results == null || count($results) == 0) return null;
        if ($results[0] == false || !is_array($results[0])) return null;

        $index = 0;
        $typeMap = [];

        foreach ($results[0] as $column => $result) {
            $meta = $this->getColumnMeta($index); // …
Run Code Online (Sandbox Code Playgroud)

php postgresql pdo

7
推荐指数
1
解决办法
725
查看次数

Sequelize 关联模型为空的地方

我有3种型号:PostPhoto,和Audio

帖子可以有照片或音频剪辑(或两者都没有):

models.Post.hasOne(models.Photo, { as: 'photo' });
models.Post.hasOne(models.Audio, { as: 'audio' });
Run Code Online (Sandbox Code Playgroud)

我试图选择那些两者都没有的 - 即只是一个文本帖子。我一直在挖掘,我到达了(从这里获取信息):

db.Post.findAll({
    where: {
        '$photo.id$': { $eq: null },
        '$audio.id$': { $eq: null }
    },
    order: [
        ['createdAt', 'DESC']
    ],
    include: [{... "photo" and "audio" - both with required: true}],
}).then((posts) => {
    ...
});
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不起作用(我认为我没有完全理解如何引用相关模型)。此外,所得到的查询使用INNER JOINS,而不是LEFT JOINS所以当它试图加入PostsPhotos/ Audios,它与所有的值生成空结果,而不是一个结果Post和对空列PhotoAudio

生成的查询是:

SELECT ... FROM …
Run Code Online (Sandbox Code Playgroud)

postgresql node.js sequelize.js

7
推荐指数
2
解决办法
4173
查看次数

使用"from"作为Python中的脚本参数

我的作业要求"from"用作命令行输入的参数.

p = optparse.OptionParser()
p.add_option("--from")
p.add_option("--to")
p.add_option("--file", default="carla_coder.ics")
options, arguments = p.parse_args()

print options.from
Run Code Online (Sandbox Code Playgroud)

显然,"from"是一个Python关键字......有什么方法可以解决这个问题吗?基本上,应该使用脚本运行 file.py --from=dd/mm/yyyy --to=dd/mm/yyyy --file=file

python

3
推荐指数
1
解决办法
80
查看次数