Skip to content

Instantly share code, notes, and snippets.

View berkslv's full-sized avatar

Berk Selvi berkslv

View GitHub Profile
@berkslv
berkslv / ChatHub.cs
Last active October 20, 2020 13:07
ChatHub, only SendAll
using Microsoft.AspNetCore.SignalR;
using WebAPI.Helpers.Models;
public class ChatHub : Hub
{
[HubMethodName("SendMessageToAll")]
public async Task SendMessage(ChatMessage message)
{
await Clients.All.SendAsync("ReceiveMessage", message);
}
@berkslv
berkslv / ChatMessage.cs
Created October 20, 2020 13:11
Model for ChatHub.cs
public class ChatMessage
{
public string User { get; set; }
public string Message { get; set; }
}
@berkslv
berkslv / Startup.cs
Created October 20, 2020 13:15
Startup Configure for mapping
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapHub<ChatHub>("/hubs/chat");
});
@berkslv
berkslv / Startup.cs
Created October 20, 2020 13:18
Startup.cs ConfigureServices for CORS
services.AddCors(options =>
{
options.AddPolicy("ClientPermission", policy =>
{
policy.AllowAnyHeader()
.AllowAnyMethod()
.WithOrigins("http://localhost:3000")
.AllowCredentials();
});
});
@berkslv
berkslv / Startup.cs
Created October 20, 2020 13:20
Startup.cs Configure for CORS
app.UseCors("ClientPermission");
@berkslv
berkslv / Startup.cs
Created October 20, 2020 13:25
Startup.cs ConfigureServices for SignalR
services.AddSignalR();
@berkslv
berkslv / index.js
Created October 20, 2020 13:41
index.js for reactstrap & bootstrap
import "bootstrap/dist/css/bootstrap.min.css";
@berkslv
berkslv / Chat.js
Created October 20, 2020 13:44
Chat.js for SignlaR
import React, { useState, useEffect, useRef } from "react";
import { HubConnectionBuilder } from "@microsoft/signalr";
import ChatWindow from "./ChatWindow";
import ChatInput from "./ChatInput";
import { Container } from "reactstrap";
const Chat = () => {
const [connection, setConnection] = useState(null);
const [chat, setChat] = useState([]);
const latestChat = useRef(null);
@berkslv
berkslv / app.js
Last active November 8, 2020 10:46
puppeter using
async function scrapePrice(url){
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
const [el] = await page.$x('<XPath>');
const txt = await (await el.getProperty('textContent')).jsonValue(); // return 9,71 but parseFloat need to period not comma
browser.close();
let stringTxt = JSON.stringify(txt).replace('"',"").replace('"',"").replace(",","."); // first change json to string type, this return "number.decimal" and some string methods
}
@berkslv
berkslv / app.js
Last active November 8, 2020 10:57
complete app.js
let puppeteer = require('puppeteer');
var nodemailer = require('nodemailer');
scrapePrice('https://www.google.com/search?client=opera&hs=Wzk&sxsrf=ALeKk00I7IW96h0D13mdL99WUos0Xhz5MA%3A1604829566135&ei=fsGnX_DmB4XosAeQpInwAQ&q=türk+hava+yolları+hisse&oq=türk+hava+yolları+hisse&gs_lcp=CgZwc3ktYWIQAzIICAAQyQMQywEyBQgAEMsBMgUIABDLATIFCAAQywEyBQgAEMsBMgUIABDLATIFCAAQywEyBQgAEMsBMgUIABDLATIFCAAQywE6BAgAEEc6CwguEMcBEK8BEMsBUMULWKYSYNcSaABwAngAgAGpAogBwAeSAQUwLjQuMZgBAKABAaoBB2d3cy13aXrIAQjAAQE&sclient=psy-ab&ved=0ahUKEwjwnduB2PLsAhUFNOwKHRBSAh4Q4dUDCAw&uact=5');
function main(srcTxt)
{
let currentPrice = srcTxt;
let myPrice = 9.62;