Skip to content

Instantly share code, notes, and snippets.

View mvalitov's full-sized avatar
😴

Marsel Valitov mvalitov

😴
View GitHub Profile
@mvalitov
mvalitov / cuorsera
Created March 13, 2018 19:59
cuorsera python oop
Добрый день, друзья!
Приглашаем вас принять участие в бета-тестировании нового онлайн-курса «ООП и паттерны проектирования в Python» от МФТИ и Mail.Ru на платформе Coursera.
Курс возводит слушателя от написания простых конкретных классов к профессиональному конструированию приложения в объектно-ориентированной парадигме. Паттерны проектирования позволяют шагнуть за пределы простого использования синтаксических конструкций языка. Вы научитесь писать красиво и элегантно, будете использовать проверенные временем концепции и создавать масштабируемые программы. Использование паттернов проектирования является признаком профессионализма программиста.
Классические книги по паттернам проектирования описывают их реализацию на C++, C#, Java. У языка Python есть своя специфика из-за которой он отлично подходит для использования паттернов проектирования.
Что нужно знать и уметь, чтобы вам было комфортно проходить курс:
@mvalitov
mvalitov / app.ex
Created October 11, 2017 14:43
elixir Enum.reduce
contacts = [%{id: 1, type: "email", value: "m@ya.ru"}, %{id: 2, type: "phone", value: "123456789"}]
[filtered, ids] = Enum.reduce(contacts, [ [], [] ], fn(c, [h, t]) ->
if c[:type] == "phone" do
new_c = if c[:data] do
Map.merge(c, %{data: Map.merge(c[:data], %{version: 1})})
else
Map.merge(c, %{data: %{version: 1}})
end
[ [new_c] ++ h, [c[:id]] ++ t ]
else
@mvalitov
mvalitov / package.json
Created July 27, 2017 10:31
phoenix vue package.json
{
"repository": {},
"license": "MIT",
"scripts": {
"build": "webpack --progress --watch --optimize-minimize",
"deploy": "webpack -p",
"watch": "webpack --watch-stdin --progress --color"
},
"dependencies": {
"babel-preset-vue-app": "^1.2.0",
@mvalitov
mvalitov / webpack.config.js
Created July 27, 2017 10:28
phoenix webpack
var CopyWebpackPlugin = require('copy-webpack-plugin');
const webpack = require('webpack');
module.exports = {
entry: {
app: './web/static/js/app.js'
},
output: {
path: __dirname + "/priv/static/dist",
filename: "[name].js"