Skip to content

Instantly share code, notes, and snippets.

General Programming Exp

Read exceptions and logs. Do not rush (DNR)! Calm and steady.

Design

SOLID principles: - Single responsibility
- Open-closed - open to extension closed for mutation

@kell18
kell18 / cloudSettings
Last active January 24, 2017 20:33
Visual Studio Code Sync Settings GIST
{"lastUpload":"2017-01-24T20:33:35.604Z"}
/// Ответы API
// Успешно
{"is_success": true}
// Неуспешно, по внутренним причинам
{
"is_success": false,
"error_code": 1,
"cause": "",
}
// Неуспешно - неправильно заполнена форма
object PalindromeChecker {
def isPalindrome(words: Array[String]) {
words.foreach(w => println(isPalindrome1(w)))
}
def isPalindrome(word: String): Boolean = {
var b = 0
var e = word.length-1
while (b < e) {
@kell18
kell18 / ndcg_recsys.py
Last active January 10, 2023 04:31
NDCG for recommender systems
from math import log
import unittest
def dcg_at_k(scores):
assert scores
return scores[0] + sum(sc / log(ind, 2) for sc, ind in zip(scores[1:], range(2, len(scores)+1)))
def ndcg_at_k(predicted_scores, user_scores):
assert len(predicted_scores) == len(user_scores)
package ru.itclover.streammachine.http.routes
import akka.actor.ActorSystem
import akka.http.scaladsl.server.Directives.{complete, path}
import akka.http.scaladsl.server.Route
import akka.http.scaladsl.server.Directives._
import cats.data.Reader
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
import ru.itclover.streammachine.http.domain.output.SuccessfulResponse
import ru.itclover.streammachine.http.protocols.JsonProtocols
package ru.itclover.streammachine.http
import akka.actor.{Actor, ActorSystem, PoisonPill, Props, Terminated}
import akka.stream.ActorMaterializer
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
import scala.concurrent.duration._
import scala.concurrent.{Await, ExecutionContextExecutor}
import scala.io.StdIn
import akka.stream.ActorMaterializer

QuestionsOnInterview

Вопросы по Scala Middle+

Общие:

  • Почему Scala? Как ты пришёл(а) в этот язык, что нравится, что нет?
  • Какими инструментами пользуешься для разработки? ОС, Редактор кода, ...

Type system:

  • Чем отличается var, val и def?

Исследование эффективности комманд в Google Аристотель [1.2]:

  • Нет ярких отличительных черт в продуктивных командах (строгий или мягкий начальник, наличие умников, ...)
  • Отличительные особенности успешных комманд (психологическая безопасность):
    • Каждый должен быть услышан (ключевой критерий: все говорят примерно одинаковое количество времени) Однако, не настолько же важно будет ли учтён голос человека при принятии решения!
    • Все члены команды имеют высокий эмоциональный интеллект, i.g. хорошую эмпатию (тест "Прочитай мысли по глазам"). Однако они не обязаны быть друзьями.

NUMMI - один из самых плохих заводов GE в США, который, благодаря бережливому производству^, выбился за год в лидеры [1.3] Как:

readCsv("/mnt/data/110218.csv", 'datetime) { row =>
saveToDb(telemetryConnect, sinkSchema)(row) {
outliersToAvg(5.second)('speed, 'oilPomp, 'KMPos) ~>
enrichWith(weather) ~>
interpolate('speed)
} ~
persistRule(rulesConnect, sinkSchema)(row) & alert(alertConnect, schema)(row) {
Assert('PosKM.as[Double] > 10).timed(max=10.seconds)
} ~
persistRollUp(rollUpsConnect, sinkSchema)(row) {