天道酬勤,学无止境

技术分享

Mutations - batch creation of objects

问题 我想用石墨烯一口气创造很多人。 该文件只提到了这样创建一个人的方法: class CreatePerson(graphene.Mutation): class Input: name = graphene.String() age = graphene.Int() ok = graphene.Boolean() person = graphene.Field(lambda: Person) @staticmethod def mutate(root, args, context, info): person = Person(name=args.get('name'), age=args.get('age'), mobile=args.get('mobile')) ok = True return CreatePerson(person=person, ok=ok) 有什么办法可以完成吗? 回答1 mutation { c001: createPerson( name: "Donald Duck" age: 42 ) { id } c002: createPerson( name: "Daisy Duck" age: 43 ) { id } c003: createPerson( name: "Mickey Mouse" age: 44 ) { id } } 回答2

2022-05-17 00:31:04   graphql   graphene-python

Swap cases in a string

问题 我试图在hackerrank中解决这个挑战,它要求将所有小写字母转换为大写字母,反之亦然。 我尝试使用以下代码: def swap_case(s): length = len(s) i=0 while length: if s1[i].isupper(): s[i].lower() elif s[i].islower(): s[i].upper() length-=1 i+=1 return s if __name__ == '__main__': s = input() result = swap_case(s) print(result) 但是,返回的字符串与传递给函数的字符串相同。 错误在哪里? 回答1 def swap_case(s): return s.swapcase() 回答2 正如评论和其他答案中所说,字符串是不可变的。 尝试以下操作: s = input("Enter input: ") def convert(ss): # Convert it into list and then change it newSS = list(ss) for i,c in enumerate(newSS): newSS[i] = c.upper() if c.islower() else c.lower() # Convert list back to string

2022-05-17 00:30:04   python   string   python-3.x

Sorting categorical labels in seaborn chart

问题 我确信这应该很容易,但是我在 seaborn 文档中找不到我是如何具体选择要显示的 x 标签分类变量的顺序的? 我每周的工作时间如下,但我想在我的 x 轴上从 0-10、11-20、21-30、31-40 和超过 40 小时订购这些。 我怎样才能做到这一点? def hours_per_week (x): if x < 11: return '0-10 hours' elif x < 21: return '11-20 hours' elif x < 31: return '21-30 hours' elif x < 41: return '31-40 hours' else: return 'More than 40 hours' 这是我绘制图表的 seaborn 代码。 注意“收入猫”是收入低于 50K和收入高于 50K的人的分类分组 plot_income_cat_hours = sns.countplot(x='hours_per_week_grouping', hue='income-cat', data=data) 这是目前我的情节的样子(上面的代码中没有包含一些额外的格式,因为不相关): 回答1 plot_income_cat_hours = sns.countplot(x='hours_per_week_grouping', hue='income-cat'

2022-05-17 00:29:03   python   pandas   visualization   seaborn

use https on asp.net application running on localhost

问题 我创建了一个 asp.net Web 应用程序,其中包含一个名为“Main.aspx”的 Web 表单。 我正在尝试通过 https 运行应用程序。 由于我没有使用 SSL、IIS 等的经验。我用谷歌搜索了如何实现这一点,但每个解决方案都不适用于我。 我使用以下步骤启用了 SSL:启用 SSL 我的应用程序现在在 https://localhost:59917/ 上运行。 但是如果我启动我的应用程序,我会收到一条 Firefox 错误消息:“安全连接失败”。 所以我按照 Scott Gu 的博客文章中的步骤进行操作,但也没有用。 有没有人在 SSL 和 ASP.net Web 应用程序方面有经验并且可以帮助我? 回答1 如果您按照说明进行操作,您应该已经在端口443上配置了您的网站。 您应该在端口59917上配置绑定

2022-05-17 00:26:04   asp.net   ssl   iis   https

Font cambria of website is not working on any android devices

问题 我已经使用 AngularJs 实现了一个网站。 我使用了几种字体,包括使用 font-family 的 cambria 和 calibri,这些字体在 Webiste 甚至在 Ios Mobiles(Safari 浏览器)上都运行良好,但是在我检查过所有 android 版本和浏览器的任何 Android 设备上都没有同样的效果 我用过 font-family : cambria 在 CSS 中。 任何帮助将不胜感激。 感谢您。 回答1 Android 设备通常没有在其系统上安装字体 Cambria,因此 Android 浏览器无法显示使用此字体的文本。 您可以使用 CSS 字体堆栈,这样如果未安装一种字体,浏览器将尝试使用下一种字体: font-family: Cambria, Georgia, serif; 或者您可以查看 Web 字体。 在您的网站上,将字体 Cambria 放在/cambria.ttf类的网址中。 然后你可以在 CSS 中使用它,比如: @font-face { font-family: 'MyCambria'; src: url('webfont.ttf') format('truetype'); } 现在使用 font-family: Cambria, 'MyCambria', serif;

2022-05-17 00:24:05   android   html   css   angularjs

How to open folders in VSCode via Terminal in a fresh state?

问题 看起来 VSCode 总是以它拥有的最后一个 UI 状态打开一个文件夹。 我正在寻找像 Sublime 的remember_open_files: false之类的东西,或者换句话说,我希望 VSCode 以干净的 UI 状态打开,而不管上次打开文件夹时 UI 处于什么状态。 现在发生了什么: cd my-project-folder/ code . # VSCode opens folder with saved UI state 我想要的是: cd my-project-folder/ code . # VSCode opens folder with fresh UI state 回答1 我试图通过命令行使用命令来做到这一点 code -n . 它应该在当前文件夹中打开一个新会话的 VS 代码,但它似乎根本不起作用。 我相信那个code . 似乎忽略了-n new session 选项并恢复该文件夹的上一个会话。 所以这个功能很可能没有在 VS 代码中实现。 (请参阅此处了解 VS 代码的命令行选项。) 回答2 从 VS Code 内置终端中,cd 进入您的项目文件夹/目录并输入命令: code -a . 注意期末。 这将打开您当前的目录/项目文件夹,而无需打开新窗口。 回答3 code -r . 回答4 如果您使用的是 VS Code [版本:1.50.0]

2022-05-17 00:22:09   visual-studio-code

"RcppArmadilloExtensions/sample.h" Linker Error in R Package Build Step("RcppArmadilloExtensions/sample.h" Linker Error in R Package Build Step)

问题 我正在制作一个 R 包,它在某些源文件中使用Rcpp::RcppArmadillo::sample()函数。 特别是,我在 4 个不同的 cpp 文件中使用该函数,并在每个文件中添加这一行#include <RcppArmadilloExtensions/sample.h>以包含所需的头文件。 一切正常,直到我想通过命令R CMD build mypackage构建包。 我得到重复符号错误,其中提到的头文件中定义的大多数函数都列为重复符号。 例如,像ProbSampleNoReplace 、 FixProb 、 SampleReplace和WalkerProbSampleReplace这样的函数都被列为这 4 个 cpp 文件之间的重复。 我用谷歌搜索了这个问题,解决方案是在.cpp文件而不是.h文件中定义变量或函数以防止重复,如果您想在任何其他cpp文件中使用这些变量,请使用extern 。 但我认为该解决方案不适用于此处,因为头文件不是我编写的,我不想对位于此处的sample.h头文件进行任何更改。 任何建议如何解决这个问题? 预先感谢您的帮助。 回答1 根据 Dirk 的评论,这最终对我有用: 我删除了每个文件顶部的冗余标题并将其放在一个位置。 这可以通过两种方式完成。 一种是将它放在一个可以在任何需要的地方调用的访问函数中。 另一种选择是,如果您的整个项目不是那么大

2022-05-17 00:21:07   rcpp   armadillo   r-package

Script component with WCF Invalid contract attribute in app.config

问题 我正在尝试在此样板方法中配置一个脚本组件,其中包含对我的 WSDL 文件的服务引用。 public override void CreateNewOutputRows() { //create instance of service client } 但是我遇到了配置文件 app.config 的问题,它抱怨无效的合同属性contract="ServiceReference1.IClientService1所有手动更改此设置的尝试都失败了。类似的帖子建议使用完全限定的名称 Service.MyService 但我'到目前为止没有任何成功。有没有办法以编程方式指定绑定? <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IClientService1"> <security mode="Transport" /> </binding> <binding name="BasicHttpBinding_IClientService11" /> </basicHttpBinding> </bindings> <client> <endpoint

2022-05-17 00:15:04   c#   wcf   ssis

Get epoch millis from local date and timezone

问题 我有两个字符串变量: String localDateTime = "19700101000000"; String timeZone = "+0000"; 我如何使用 Java 8 从他们那里获得 epoch millis?我已经尝试过这种方式: private static Long getBeginConnectionTime( String dateWithTimeZone = localDateTime + timeZone ; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssXXXXX"); OffsetDateTime offsetDateTime = OffsetDateTime.parse(dateWithTimeZone, formatter); return offsetDateTime.toInstant().toEpochMilli(); ) 但是这段代码抛出异常: java.time.format.DateTimeParseException: Text '19700101000000+0000' could not be parsed at index 14 at java.time.format.DateTimeFormatter

2022-05-17 00:14:04   java   java-8   java-time

Google Calendar Event ID Created Can't Find Event Listed -- App Script/Sheets

问题 我有一个已经运行了将近 2 年的脚本。 我用日期更新工作表,然后删除/创建事件或创建新事件。 上次我浏览并添加了我的日期,它是正常的,它会用事件 ID 填充工作表单元格,我正在快乐的路上 - 但是当我进入日历时,该日期/时间没有任何显示。 我是否缺少新权限之类的东西-没有引发错误-日志中没有任何内容。 我有一个事件 ID,但我不知道如何检查显示的内容,因为我在日历上看不到它——有没有办法检查事件 ID 并查看它包含的内容。 表(我用管子分开) 主题|开始日期|开始时间|结束日期|结束时间|全天活动|会议组织者|描述|位置|提醒日期|提醒时间|显示时间为|活动 ID|状态调查编辑:HC 交付科学|08/07 /2017|12:00:00 AM|8/7/2017|12:00:00 PM|TRUE|Seamore Butz|||8/7/2017|9:00:00 AM|3 sg5a7jsakgbj8g5rejeos15lhc@google.com|是的 function pushToCalendar() { //spreadsheet variables var sheet = SpreadsheetApp.getActiveSheet(); var lastRow = sheet.getLastRow(); /* getRange (row,column,optNumRows

2022-05-17 00:13:04   google-apps-script   google-sheets   google-calendar-api