我正在尝试使用ItemTouchHelper.Callback使用RecyclerView实现“刷卡删除”。我的商品在RecyclerView中的代码如下所示
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/undo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="#FF4536"
android:gravity="center_vertical"
android:padding="16dp"
android:text="Delete"
android:textColor="#FFF" />
<TextView
android:id="@+id/area"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="#FFF"
android:gravity="center_vertical"
android:padding="16dp"
android:text="Data"
android:textColor="#444" />
Run Code Online (Sandbox Code Playgroud)
我的ItemTouchHelper.Callback实现的代码如下所示
public class TouchHelper extends ItemTouchHelper.Callback {
private DataAdapter mListener;
public TouchHelper(DataAdapter listener) {
mListener = listener;
}
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
return makeMovementFlags(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.START | ItemTouchHelper.END);
}
@Override
public boolean isLongPressDragEnabled() {
return false;
}
@Override
public boolean isItemViewSwipeEnabled() {
return true;
} …Run Code Online (Sandbox Code Playgroud) 如果我使用 @commitlint/config-conventional,那么使用 Commmitlint 的第一条提交消息应该是什么?是壮举:第一次提交还是构建:第一次提交还是琐事:第一次提交?
我有一张桌子
| Asset | timestamp | open | high | low | close | volume |
|-------|---------------|------|------|-----|-------|--------|
| AAPL | 1551274920000 | 200 | 300 | 200 | 250 | 10240 |
| AAPL | 1551274980000 | 201.4| 299.5| 200 | 244.5 | 11871 |
| GOOG | 1551274980000 | 471.2| 488.2|464.6| 474.84| 5476.58|
Run Code Online (Sandbox Code Playgroud)
如何获取每个资产的最新时间戳。这是我到目前为止所尝试的
方法一
SELECT symbol, max(ts) from ohlc_60 group by symbol;
This seems to scan all the chunks
explain select symbol, max(ts) from ohlc_60 group by symbol; …Run Code Online (Sandbox Code Playgroud) 该库需要您通过调用 http.createServer(app) 创建的服务器实例,这意味着正在运行的 Express 应用程序的实例。您现在将使用此服务器实例来侦听 index.js 文件中的 3000。还要创建一个 sessionHandler,您可以通过使用 express-session 库调用 session({}) 来获取它
const WebSocket = require('ws')
function websocket({ server, sessionHandler, logger }) {
// https://github.com/websockets/ws/blob/master/examples/express-session-parse/index.js, if you pass a server instance here 'upgrade' handler will crash
const wss = new WebSocket.Server({ noServer: true })
function noop() {}
function heartbeat() {
this.isAlive = true
}
wss.on('connection', (ws, request, client) => {
ws.isAlive = true
ws.on('pong', heartbeat)
ws.on('message', (msg) => { …Run Code Online (Sandbox Code Playgroud) 我有几个facebook页面,我想在每个页面上运行相同的机器人.我正在使用机器人框架,现在一切都适用于一页.如何与多个页面关联?
我想在我的express api上使用sequelize播种机和迁移,目前所有模型都是使用sequelize-typescript以typescript编写的
我尝试使用打字稿添加我的第一个种子文件,但运行时出现错误
20221028050116-feeds.ts播种文件
'use strict';
import { QueryInterface } from 'sequelize';
const feedTypes = [
{ id: 'b871a455-fddb-414c-ac02-2cdee07fa671', name: 'crypto' },
{ id: '68b15f90-19ca-4971-a2c6-67e66dc88f77', name: 'general' },
];
const feeds = [
{
id: 1,
name: 'cointelegraph',
url: 'https://cointelegraph.com/rss',
feed_type_id: 'b871a455-fddb-414c-ac02-2cdee07fa671',
},
];
module.exports = {
up: (queryInterface: QueryInterface): Promise<number | object> =>
queryInterface.sequelize.transaction(async (transaction) => {
// here go all migration changes
return Promise.all([
queryInterface.bulkInsert('feed_types', feedTypes, { transaction }),
queryInterface.bulkInsert('feeds', feeds, { transaction }),
]);
}), …Run Code Online (Sandbox Code Playgroud) database-migration node.js sequelize.js typescript sequelize-cli
我有一堆 md5 id
6c26e28dc6484f0e998fd18b883de4c6
2bf4d0d85709c75adba13ba48011d62c
a67a5bcf329d58d2c23ed422214f66b3
...
Run Code Online (Sandbox Code Playgroud)
其中一些已出现在表中,一些是新的。我如何找到表中不存在的这些 id 如果我这样做
select id from items where id not iN (...)
Run Code Online (Sandbox Code Playgroud)
然后它会排除所有 id
如果我做
select id from items where id IN (...)
Run Code Online (Sandbox Code Playgroud)
它只给出存在的 id,我必须以编程方式查找不存在的 id 如何直接获取不存在的 IDS
数据库:postgresql
这是我放置在 api 文件夹中的 app.js 代码
import http from 'http'
import logger from 'express-pino-logger'
import express from 'express'
import cookieParser from 'cookie-parser'
import WebSocket from 'ws'
const app = express()
const sessionParser = cookieParser()
const map = new Map()
app.use(logger())
app.use(express.json())
app.use(express.urlencoded({ extended: true }))
app.use(sessionParser)
app.use('/v1', (req, res) => res.json('hello'))
const server = http.createServer(app)
const wss = new WebSocket.Server({ noServer: true })
wss.on('connection', function connection(ws, request, client) {
ws.on('message', …Run Code Online (Sandbox Code Playgroud) nuxt-community/router-modulerouter.js可以添加全局路由配置的文件这是我的default.vue 文件
<template>
<div class="ch-container">
<header class="ch-header">
<nav
class="navbar is-fixed-top"
role="navigation"
aria-label="main navigation"
>
<div class="navbar-brand">
<nuxt-link class="navbar-item" to="/">
<img
alt="CH Logo"
src="https://i.imgur.com/v35Kfc9.png"
width="28"
height="28"
/>
</nuxt-link>
<a
role="button"
class="navbar-burger burger"
aria-label="menu"
aria-expanded="false"
data-target="navbarBasicExample"
>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="navbarBasicExample" class="navbar-menu">
<div class="navbar-start">
<nuxt-link class="navbar-item" to="/news">
News
</nuxt-link>
<nuxt-link class="navbar-item" to="/resources">
Resources
</nuxt-link>
<nuxt-link class="navbar-item" to="/tickers">
Tickers
</nuxt-link>
<div class="navbar-item has-dropdown …Run Code Online (Sandbox Code Playgroud) nuxt.js ×4
postgresql ×2
sql ×2
vue.js ×2
websocket ×2
ws ×2
android ×1
bots ×1
bulma ×1
chatbot ×1
commit ×1
commitlint ×1
dropdown ×1
git-commit ×1
hover ×1
javascript ×1
node.js ×1
sequelize.js ×1
timescaledb ×1
typescript ×1
vue-router ×1
where-in ×1