- Video: https://www.youtube.com/watch?v=mZzPwt9vhHM
- Slides: https://github.com/42skillz/talk-distillCoreDomainFromLegacy/blob/master/DistillCoreDomainFromLegacy.pdf
- Starting code: https://github.com/42skillz/liveCoding-LegacyTrain
Authors:
| (function (context, trackingId, options) { | |
| const history = context.history; | |
| const doc = document; | |
| const nav = navigator || {}; | |
| const storage = localStorage; | |
| const encode = encodeURIComponent; | |
| const pushState = history.pushState; | |
| const typeException = 'exception'; | |
| const generateId = () => Math.random().toString(36); | |
| const getId = () => { |
| # you: "I would like to randomly people, but I would like famous people to come up more often than non-famous ones." | |
| # me: I expect you to have a :celebrity column with a numeric weight, and arel_extensions installed | |
| # https://github.com/Faveod/arel-extensions/tree/master/lib/arel_extensions | |
| # useful variables | |
| obj = Person | |
| at = obj.arel_table | |
| field = :celebrity | |
| scoring_col_name = 'randomized_score' |
| require 'bundler/inline' | |
| gemfile do | |
| source 'https://rubygems.org' | |
| gem 'colorize' | |
| end | |
| class MatcherInterface | |
| def initialize(some_object) | |
| @some_object = some_object |
This was created years ago; at the time I'd been a Shibboleth admin for nearly a decade but we needed something that could handle OIDC/OAuth and that explicitly supported OpenJDK. After a lot of investigation, I really liked Keycloak/Red Hat Single Sign-On. More details here: Gluu vs keycloack vs wso2 identity management
(Items in bold indicate possible concerns)
SASS Versions of
in Phoenix 1.3 and 1.4 via Webpack
| image: docker:latest | |
| # Remember to set required vars as secret vars on GitLab CI settings | |
| variables: | |
| DOCKER_DRIVER: overlay | |
| CONTAINER_TEST_IMAGE: ${CI_REGISTRY}/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHA}_test | |
| CONTAINER_DEPLOY_IMAGE: ${HEROKU_REGISTRY}/${CI_PROJECT_NAME}/web | |
| HEROKU_API_KEY: ${HEROKU_AUTH_TOKEN} | |
| services: |
| # Ruby CircleCI 2.0 configuration file | |
| # | |
| # Check https://circleci.com/docs/2.0/language-ruby/ for more details | |
| defaults: &defaults | |
| working_directory: ~/split_app | |
| parallelism: 2 | |
| docker: | |
| - image: circleci/ruby:2.5.0-node-browsers |
| module Commands | |
| module Meeting | |
| AcceptSchema = Dry::Validation.Schema do | |
| required(:user_id).filled | |
| required(:status).value(eql?: :scheduled) | |
| end | |
| class Accept < Command | |
| def call | |
| return validate if validate.failure? |