Skip to content

Instantly share code, notes, and snippets.

View msfrms's full-sized avatar
🏠
Working from home

Mikhail Radaev msfrms

🏠
Working from home
View GitHub Profile
@msfrms
msfrms / apns-pem
Created May 4, 2018 11:46 — forked from fahied/apns-pem
Create pem file for apple push notifications
Development Phase:
Step 1: Create Certificate .pem from Certificate .p12
Command: openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
Step 2: Create Key .pem from Key .p12
Command : openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
Step 3: Optional (If you want to remove pass phrase asked in second step)
Command : openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
RACSignal * signal1 = [[RACSignal return:@1] delay:1];
RACSignal * signal2 = [[RACSignal return:@2] delay:1];
RACSignal * signal3 = [[[RACSignal return:@3] delay:3] doNext:^(id x) {
NSLog(@"complete signal 3");
}];
RACSignal * signal4 = [[RACSignal return:@4] delay:1];
RACSignal * signal5 = [[RACSignal return:@5] delay:1];
// требуется сделать 2 сигнала паралельно, потом 1 последовательно, 2 паралельно
RACSignal *signal6 = [[RACSignal zip:@[signal1, signal2]] doNext:^(id x) {
@msfrms
msfrms / number-of-open-files.sh
Created November 7, 2019 12:19 — forked from mrfyda/number-of-open-files.sh
Show open file descriptors for Java processes
for pid in `pidof java`; do echo "$(< /proc/$pid/cmdline)"; egrep 'files|Limit' /proc/$pid/limits; echo "Currently open files: $(ls -1 /proc/$pid/fd | wc -l)"; echo; done
class LoginViewController: UIViewController {
struct ViewModel {
let email: String
let password: String
let error: String
let isLoading: Bool
let login: () -> Void
}
private let activityIndicator = UIActivityIndicatorView()
class LoginViewController: UIViewController {
struct ViewModel {
enum Status {
case inProgress
case failed(String, login: Command)
case login(Command)
}
let email: String
let password: String
let status: Status
class GoodsListViewController: UIViewController {
struct Goods {}
private var items: [Goods] = []
private let tableView: UITableView = UITableView(frame: .zero, style: .grouped)
func update(goods: [Goods]) {
items = goods
tableView.reloadData()
}
class GoodsListViewController: UIViewController {
struct ViewModel {
struct Goods {}
let prev: [Goods]
let current: Goods
let next: [Goods]
}
private var items: [ViewModel.Goods] = []
private let tableView: UITableView = UITableView(frame: .zero, style: .grouped)
@msfrms
msfrms / postgresql-set-id-seq.sql
Created September 20, 2020 05:10 — forked from henriquemenezes/postgresql-set-id-seq.sql
PostgreSQL set Next ID Sequence Value to MAX(id) from Table
-- Get Max ID from table
SELECT MAX(id) FROM table;
-- Get Next ID from table
SELECT nextval('table_id_seq');
-- Set Next ID Value to MAX ID
SELECT setval('table_id_seq', (SELECT MAX(id) FROM table));
@msfrms
msfrms / open_connect_auto.sh
Last active October 28, 2020 01:35
open_connect.sh
#!/bin/sh
# Должны быть установлены:
# brew (установить можно через скрипт /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)")
# brew install openconnect
# brew install oath-toolkit
# сохранить скрипт в файл vpn.sh
# перед запуском делаем chmod +x vpn.sh
# запускаем sudo vpn.sh
@msfrms
msfrms / 1 - scalac options 2.13.scala
Created December 14, 2020 02:09 — forked from guilgaly/1 - scalac options 2.13.scala
Scala compiler options I typically use
val scalacOptions = Seq(
"-encoding",
"utf-8", // Specify character encoding used by source files.
"-Ybackend-parallelism", //
"8",
"-explaintypes", // Explain type errors in more detail.
"-feature", // Emit warning and location for usages of features that should be imported explicitly.
"-unchecked", // Enable additional warnings where generated code depends on assumptions.
"-Xcheckinit", // Wrap field accessors to throw an exception on uninitialized access.
// "-Ymacro-annotations", // Enable support for macro annotations, formerly in macro paradise.