Skip to content

Instantly share code, notes, and snippets.

View smolnikov's full-sized avatar

Sergei Smolnikov smolnikov

View GitHub Profile

Middle/Senior PHP Developer

Мы ищем разработчиков для работы над SaaS-решением для программ лояльности, действующих в 310 и внедряемых в 300 магазинах и интернет-магазинах в России и СНГ (в том числе в Ижевске), и обслуживающих 20 миллионов покупателей ежедневно.

Команда проекта состоит из 15 человек, организованых в 3 группы: разработка ядра, разработка отдельных фич по запросу и поддержка. К лету 2016 к проекту присоединятся еще 6 разработчиков, 2 тестировщика и DevOps-инженер.

Технологический стек включает в себя:

  • PHP 5.6 (Yii, Symfony 2),
  • PostgreSQL,
  • MongoDB,
  • Redis,
# http://editorconfig.org
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
@smolnikov
smolnikov / result_modifier.php
Created February 25, 2014 10:58
Twig-шаблон компонента bitrix:news.list для вывода новостей (см. http://marketplace.1c-bitrix.ru/solutions/htc.twigintegrationmodule/)
<?php
foreach ($arResult["ITEMS"] as $key => $value) {
$userId = $value["PROPERTIES"]["AUTHOR_ID"]["VALUE"];
$userSelection = CUser::GetByID($userId);
$userData = $userSelection->Fetch();
$fullName = $userData["NAME"] . " " . $userData["LAST_NAME"];
$arResult["ITEMS"][$key]["FULL_NAME"] = $fullName;
}
@smolnikov
smolnikov / static_server.js
Created October 18, 2013 07:08
Node.js static web-server
var http = require('http'),
url = require('url'),
path = require('path'),
fs = require('fs'),
dirpath = './' + (process.argv[2] || ''),
port = process.argv[3] || 8888;
var server = http.createServer(function(request, response) {
var uri = url.parse(request.url).pathname,
@smolnikov
smolnikov / declOfNum.js
Last active December 20, 2015 12:18 — forked from realmyst/gist:1262561
JSLinted
function declOfNum(number, titles) {
"use strict";
var cases = [2, 0, 1, 1, 1, 2];
return titles[(number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5]];
}
use:
declOfNum(count, ['найдена', 'найдено', 'найдены']);