小编Pas*_*zyk的帖子

如何在elixir中通过索引获取列表元素

{status, body} = File.read("/etc/hosts")
if status == :ok do
    hosts = String.split body, "\n"
    hosts = Enum.map(hosts, fn(host) -> line_to_host(host) end)
else
    IO.puts "error reading: /etc/hosts"
end
Run Code Online (Sandbox Code Playgroud)

我有以下elixir函数,其中我读取/ etc/hosts文件并尝试使用逐行拆分String.split.

然后我映射主机的行列表并为每个主机调用line_to_host(host).line_to_host方法拆分行" ",然后我想设置fromto变量:

def line_to_host(line) do
    data = String.split line, " "
    from = elem(data, 0) // doesn't work
    to = elem(data, 1) // doesn't work either
    %Host{from: from, to: to}
end
Run Code Online (Sandbox Code Playgroud)

我查看了stackoverflow,elixir文档,并搜索了如何在特定索引处获取列表元素.我知道有,head/tail但必须有一个更好的方法来获取列表元素.

elem(list, index)完全符合我的需要,但遗憾的是它无法使用String.split.

如何在elixir中按ID获取列表/元组元素

arrays list elixir

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

Linkedin:共享URL摘要未显示

我不确定这是新行为还是根本不起作用.所以我使用LinkedIn自定义URL功能,你可以在这里查找.URL如下所示:

https://www.linkedin.com/shareArticle?mini=true&url=http://developer.linkedin.com&title=LinkedIn%20Developer%20Network&summary=My%20favorite%20developer%20program&source=LinkedIn

一旦我分享了URL,提供的内容summary就不会显示在帖子预览中:

LinkedIn包含共享帖子样本的屏幕截图

所以我尝试了其他服务,如Youtube,Reddit等,所有帖子都不包括提供的摘要.

不幸的是,我不能为你提供我在我的网站上使用的开放图形标签,因为它在公司环境中运行,我不确定我是否可以提供这些片段.

但是,运行linkedin的Post Inspector会显示它检测到我的摘要没有问题:

PostInspector输出 如果有人想知道,价值是德语

所以我的快速和相当简单的问题,也可以在评论中回答,是:

linkedin有没有改变他们的一面?是否有其他未记录的属性,自定义URL中既没有youtube也没有我,因此摘要没有显示?来自linkedin开发者的帖子有没有注意到这一变化?它总是那样,还是只是暂时的?

share linkedin social-networking opengraph

18
推荐指数
1
解决办法
1763
查看次数

如何使用JavaScript获取本地/内部IP

如何使用WebRTC获取本地客户端IP .

我不需要REMOTE_ADDR客户端,而是他的本地网络IP.我之前在网站上看过这个sharedrop.com,它使用WebRTC识别同一网络中的计算机.

在PHP中,我这样做是为了让客户端远程IP:

<?php
  echo $_SERVER["REMOTE_ADDR"]; // which would return 72.72.72.175
?>
Run Code Online (Sandbox Code Playgroud)

我查看了stackoverflow,但每个问题都是使用远程地址解决的.

如何使用JavaScript而不是远程地址获取本地IP(例如192.168.1.24).

javascript ip network-programming webrtc

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

Chrome:如何以原始尺寸打印PDF(100%,无缩放/收缩)

今天我在Chrome的打印行为中遇到了一个奇怪的错误.当我尝试使用Chrome(也在Firefox中)打印动态创建的PDF时,PDF 中的每个图像都会变小(8mm).在Adobe Reader/Acrobat/MacOSX默认打印机对话框中也不会发生这种情况.

让我解释一下到目前为止我的代码:

动态PDF:

prawn用这个代码动态创建PDF A4(横向格式):

require 'prawn'
require "prawn/measurement_extensions"

class CustomPdf < Prawn::Document

  def initialize(label) # A4
    super({
       :page_size =>  "A4", 
       :page_layout => :landscape, 
       :margin => 0, 
       :print_scaling => :none})

    image "my_image.png", :width => 213.mm, :at => [3.mm, 3.mm]
  end
end
Run Code Online (Sandbox Code Playgroud)

PDF中的嵌套图像:

嵌套在PDF内的图像的大小为213mm x 70mm300 DPI.在像素:2515x827.

我用RMagick创建了Image,但是到目前为止大小,dpi和所有内容似乎都没问题.所以目前没有进一步的解释.

预期结果:

打印的PDF将显示213厘米宽的图像.

实际结果:

打印的PDF将显示205mm宽的图像.

到目前为止我尝试了什么

  • 设置prawn page_size为低于A4的值(因为图像不像A4那样大......).
  • 与玩耍print_scaling(有3种模式,:none,:AppDefault,:something_except_the_other_ones (了解更多关于它在这里)
  • 给图像一个固定的高度(70毫米)
  • 玩弄提供的各种设置 Chrome Printer …

printing macos firefox pdf-generation google-chrome

10
推荐指数
1
解决办法
5166
查看次数

Rails ActiveRecord - 选择评论最多的用户

我想选择评论最高的用户.

评论是有关系的.

我可以通过以下方式查询:

User.first.comments
Run Code Online (Sandbox Code Playgroud)

现在我想选择评论最多的用户.

我不想遍历整个用户表,因为这非常耗时.

也许是这样的:

User.joins(:comments).find(:all, :order => "COUNT(comments) desc")
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

如果无法解决,我会将它们缓存在外部表中.

ruby mysql sqlite activerecord ruby-on-rails

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