Skip to content

Instantly share code, notes, and snippets.

@w495
w495 / test.cpp
Created June 21, 2014 13:55
Пример для иллюстрации употребления const с указателями. Компилировать g++
#include<cstdio>
#define LOG_HELPER(fmt, ...) \
fprintf( \
stderr, \
"\033[32mLOG:\033[0m " \
"\033[33m%s\033[0m " \
"\033[36m%s\033[0m " \
"[\033[1m%d\033[0m] : " fmt "%s", \
__FILE__, \
@w495
w495 / job-in-yandex.md
Created October 17, 2014 04:33
Нам нужны крутые плюсовики

Описание вакансии

БК — один из самых нагруженных проектов во всём Яндексе, как по количеству запросов, так и по объему данных. Вклад каждого разработчика легко оценим и нагляден: такой вклад может как ускорить время реакции всей системы на действия пользователя (баннерная система работает в жёстком real‑time), так и сильно повысить кликабельность рекламы.

Тут есть как наукоемкие задачи, связанные с машинным обучением, прогнозированием CTR, предсказанием поведения пользователя и т. д., так и проекты, которые должны отвечать на сотни тысяч запросов в секунду или перевозить огромные объемы данных между сотнями серверов как можно быстрее, при этом стараясь нагружать серверы/сеть побочной деятельностью как можно меньше. Наши сервисы несут ответственность за показ рекламы на тысячах страниц РСЯ, а также рядом с поисковой выдачей Яндекса, поэтому цена ошибки тут очень велика. И каждый разработчик должен крайне ответственно подходить ко всему процессу разработки и выкладки своего кода на продакшн серверы.

Обяз

{% load i18n %}
{% load i18n admin_urls admin_static admin_list %}
{{ spec.form.media }}
{% block extrahead %}
<style>
.calendarbox {
margin-left: -200px;
@w495
w495 / big-sharded-db.sql
Last active August 29, 2015 14:12
Пример того, как можно конструировать SQL запросы во время выполнения. Скрипт делает выборку из шардированной базы данных. Выборка выполняется за один запрос.
set session group_concat_max_len = 9223372036854775807;
set @expr = (
select
group_concat(
concat(
'C.Expression REGEXP "P',PatternID, '[^0-9]"'
)
SEPARATOR ' or '
)
@w495
w495 / dict_list_sum_groupby.py
Last active August 29, 2015 14:14
Реализация `select sum(...) fom group by ...` на Python. На вход подается список словарей, и списки полей (всех, и по которым нужно суммировать).
from itertools import groupby
def dlist_sum_group(
target_dlist,
groupby_field_list = [],
sum_field_list = [],
field_list = [],
convert = tolong,
):
return dlist_agregate_group(
@w495
w495 / uploader.py
Last active August 29, 2015 14:21
Very simple API for uploding texts to Old Mediawiki Sites (MediaWiki ~ 1.5). See http://webi.2in2.ru/API:Client_code. It won't work with new versions of MediaWiki. For new versions use http://www.mediawiki.org/wiki/API:Client_code
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import absolute_import
import requests
import json
import copy
def get_in_dict(dict_, path):
@w495
w495 / simple-console-video-player.go
Created May 31, 2015 21:22
Простой символьный консольный видео-плеер. Написан с помощью библиотеки GMF https://github.com/3d0c/gmf
// Простой текстовый консольный видео-плеер.
// Выводит кадры в символьном представлении на стандартный вывод.
// Поддержки звука нет.
//
// Как пользоваться:
//
// $> go run simple-console-video-player.go /путь/до/видео-файла.mp4
//
package main
@w495
w495 / date_util.erl
Created November 10, 2011 07:23 — forked from zaphar/date_util.erl
set of utility functions that wrap the calendar module and erlangs now() date() and time() functions
-module(date_util).
-compile(export_all).
epoch() ->
now_to_seconds(now())
.
epoch_hires() ->
now_to_seconds_hires(now())
.
@w495
w495 / AdvComVid2Form.js
Created January 19, 2012 12:58
bsk.view.Form.AdvComVid2Form
/* ************************************************************************
https://gist.github.com/1639953
************************************************************************ */
qx.Class.define("bsk.view.Form.AdvComVid2Form",
{
extend : bsk.view.Form.AbstractForm,
@w495
w495 / ACVW2.js
Created January 19, 2012 12:59
bsk.view.Form.ACVW2
/* ************************************************************************
https://gist.github.com/1639956
************************************************************************ */
qx.Class.define("bsk.view.Form.ACVW2",
{
extend : Object,
construct : function(uReq) {
this.uReq = uReq;