Skip to content

Instantly share code, notes, and snippets.

@fatihgokce
fatihgokce / Budget Boss Privacy Policy
Last active November 27, 2023 12:06
Budget Boss Privacy Policy
Budget Boss App Privacy Policy
Effective Date: 27.11.2023
Welcome to Budget Boss, a financial management application ("App") provided by Fatih Gökçe. This Privacy Policy outlines our practices regarding the collection, use, and disclosure of personal information when you use our App.
Information Collection
1. No User Information Collected:
Budget Boss does not collect any personal information directly from users. We respect your privacy and do not store any identifiable information within the App.
2. Third-Party Advertisements:
// Don't forget to add to the project:
// 1. DeepLabV3 - https://developer.apple.com/machine-learning/models/
// 2. CoreMLHelpers - https://github.com/hollance/CoreMLHelpers
enum RemoveBackroundResult {
case background
case finalImage
}
extension UIImage {
@fatihgokce
fatihgokce / node_nginx_ssl.md
Created April 28, 2021 13:56 — forked from bradtraversy/node_nginx_ssl.md
Node app deploy with nginx & SSL

Node.js Deployment

Steps to deploy a Node.js app to DigitalOcean using PM2, NGINX as a reverse proxy and an SSL from LetsEncrypt

1. Sign up for Digital Ocean

If you use the referal link below, you get $10 free (1 or 2 months) https://m.do.co/c/5424d440c63a

2. Create a droplet and log in via ssh

I will be using the root user, but would suggest creating a new user

@fatihgokce
fatihgokce / cell-tests.rs
Created June 26, 2020 11:39 — forked from jonhoo/cell-tests.rs
cell-refcell-rc
// these aren't _quite_ functional tests,
// and should all be compile_fail,
// but may be illustrative
#[test]
fn concurrent_set() {
use std::sync::Arc;
let x = Arc::new(Cell::new(42));
let x1 = Arc::clone(&x);
std::thread::spawn(move || {
#[derive(Debug,Copy, Clone,PartialEq)]
enum Expression{
Digit(u32),
Add,
Multi,
Divide,
Subs,
None
}
use std::cell::RefCell;
use std::rc::Rc;
#[derive(Debug, PartialEq)]
struct Node2 {
data: i32,
left: Option<Rc<RefCell<Node2>>>,
right: Option<Rc<RefCell<Node2>>>,
}
fn add2(tree:&mut Rc<RefCell<Node2>>, x: i32){
let mut u=tree.borrow_mut();
struct Node {
data: i32,
left: Option<Box<Node>>,
right: Option<Box<Node>>,
}
fn add(tree:&mut Box<Node>, x: i32){
if tree.data==x{
return;
}
let t=tree.data;
#[derive(Debug)]
struct Point<'a>{
x:&'a str,
y:i32
}
fn main() {
let s1 = Point{x:"aa",y:3};//String::from("aa");
println!("p2:{:p} {:p} {:p}", s1.x,&s1.y,&s1);
let s2 = s1;
println!("p2:{:p} {:p} {:p}", s2.x,&s2.y,&s2);
fn change(mut arr:[i32;6]){
arr[0]=234;
let p=&arr;
//println!("into change address {:p}",p);
//println!("into cahange is {:?}", arr);
}
struct Point{
x:i32,
y:i32,
}
fn rotate_one(arr: &mut [i32]) {
//arr[1] = 10;
let c=arr.len();
let first=arr[0];
let mut i=1;
while i<c{
arr[i-1]=arr[i];
i+=1;
}
arr[c-1]=first;