Skip to content

Instantly share code, notes, and snippets.

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

Anton Sozontov webgago

🏠
Working from home
  • Huntersville, NC
  • 23:20 (UTC -04:00)
View GitHub Profile
@webgago
webgago / bad_view.haml
Created August 16, 2012 11:23
Views & Decorators
- if @act_record_deaths.empty?
%h2 Ничего не найдено
- else
%table.statements-table.table.table-striped.table-bordered.table-condensed
%thead
%tr
%th= "Дата записи акта"
%th= "Номер записи акта"
@webgago
webgago / generate_keys.sh
Created October 7, 2012 19:10
Openssl with gost
openssl req -engine gost -newkey gost2001 -pkeyopt paramset:A -passout pass:11111111 -subj "/C=RU/ST=Moscow/L=Moscow/O=foo_bar/OU=foo_bar/CN=developer/emailAddress=vany.egorov@gmail.com" -keyout private.key.pem -out csr.csr
openssl x509 -engine gost -req -days 365 -in csr.csr -signkey private.key.pem -out crt.crt
openssl x509 -engine gost -inform pem -in crt.crt -pubkey -noout > public.key.pem
openssl dgst -engine gost -hex -sign private.key.pem message.xml
openssl smime -engine gost -sign -inkey private.key.pem -signer crt.crt -in message.xml
@webgago
webgago / gist:4572930
Last active December 11, 2015 08:28
Setup box
sudo apt-get -y install curl git-core python-software-properties build-essential zlib1g-dev libssl-dev libreadline-gplv2-dev libcurl4-openssl-dev
http://www.modrails.com/documentation/Users%20guide%20Nginx%204.0.html
http://alexpearce.me/2012/06/setting-up-a-vps/
https://raw.github.com/alexpearce/templates/master/nginx.app.conf
@webgago
webgago / validation.rb
Created April 16, 2013 14:49
Сложная валидация больших объектов
class PersonValidator
def validate(record)
record.validates_presence_of :reject_reason
end
end
class Form10Validator
def validate(record)
case record.applicant_type
when 'husband'
@webgago
webgago / convert-mp3tags.sh
Created May 20, 2013 20:59
convert mp3tags
find ~/Music/ -name '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1
bundle exec bin/shunting_yard_algorithm calculate expression.rb
result for
100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (2
@webgago
webgago / designer.html
Created August 18, 2014 09:36
designer
<link rel="import" href="../google-map/google-map.html">
<polymer-element name="my-element">
<template>
<style>
:host {
position: absolute;
width: 100%;
height: 100%;

Отдельно бы хотел сказать еще об одной площадке. Это бомба, находка для маркетологов, и я до сих пор не понимаю, почему вы еще не используете эту площадку. Итак, встречайте: Cossa.ru. Суммарно мы получили с опубликованных тридцати материалов 3 120 переходов (по Яндекс.Метрике), совсем неплохо. Но главное даже не это. При том что Cossa.ru – это открытая трибуна, и опубликоваться на ней может любой. У этой площадки есть одно удивительное свойство – она рождает массовые републикации материала, при условии, конечно, что он качественный и интересен широкой аудитории. Почти каждый опубликованный материал рождал републикации. Лучшие материалы давали до 10 републикаций, причем многие из них на очень качественных площадках, куда «зайти с улицы» нам было бы тяжело.

Исходя из нашего опыта работы с Cossa.ru и анализа републикаций, хотим дать несколько советов по подготовке материалов для этой площадки:

  • Материалы должны быть сверхкачественными. Не нужно стремиться публиковать там все, что вы пишете. Лучше меньше, да л
@webgago
webgago / base_search.rb
Created May 26, 2016 04:39
chewy example
# app/search/base_search.rb
class BaseSearch
class_attribute :index
class_attribute :per_page
self.per_page = 20
def initialize(params={}, &block)
@index = self.index.constantize
class Array
# array.to_flatten -> new array
#
# Returns a new array that is a one-dimensional flattening of +self+
# (recursively).
#
# That is, for every element that is an array, extract its elements into
# the new array.
#
# a = [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]