Pull to refresh
30
0
Денис @Sp1ke

Пользователь

Send message

О массивах и слайсах в Go

Level of difficulty Medium
Reading time 6 min
Views 16K

Массивы в Go являлись для меня одной из сложных тем, так как я не понимал как они работают. В данной статье рассмотрим как же именно работают слайсы и массивы в Go, а также как именно работает append и copy.

Читать далее
Total votes 13: ↑11 and ↓2 +9
Comments 14

Создаём репозиторий в Go через менеджер транзакций

Reading time 12 min
Views 12K

Всем привет, я Илья Сергунин, веб-разработчик из продуктовой команды Авито. Мы пишем на Go сервис для трейд-ин мобильных телефонов. На его примере покажу, как устроен наш менеджер транзакций.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 7

Механические клавиатуры

Reading time 17 min
Views 761K
Все мы давно ждем массового появления всевозможных кибер-перчаток и виртуальной реальности на каждом шагу, но все равно каждый день в офисе и дома нам приходится работать за такой банальной вещью, как обычная клавиатура.

А раз уж сталкиваешься с вещью регулярно, постепенно возникает вопрос — можно ли найти для работы какие-то более удобные варианты обычных клавиатур?

Итак, некоторое время назад я озаботился сбором информации о клавиатурах, и даже начал готовить информацию для статьи, но к сожалению (к счастью?) нашлась исчерпывающая статья о всех нюансах сразу, которую я решил перевести.

Механические клавиатуры. Путеводитель.

Читать дальше →
Total votes 323: ↑313 and ↓10 +303
Comments 331

Отказоустойчивый узел передачи данных

Reading time 12 min
Views 26K
Каждый оператор ШПД думает о том, как выпускать пользователей в сеть интернет и грамотно ограничивать скорость работы в сети по имеющимся тарифным планам и иметь резерв на случай отказа оборудования или работ связанных с отключением оборудования. Попытаюсь рассказать и показать на примере то, как это реализовано у нас (к нам подключены более 3х тысяч пользователей и описанный мною вариант работает очень даже неплохо)
Читать дальше →
Total votes 53: ↑41 and ↓12 +29
Comments 78

TOP-10 Flash-игр

Reading time 2 min
Views 5.5K

Сегодня уже можно :)



1. Robokill. Вы управляете роботом, который перемещается по локациям и убивает противников. В процессе игры Вы зарабатываете деньги и можете усовершенствовать своего робота, покупая ему новое оружие, боеприпасы и т.д. Всего 10 затягивающих миссий.
Оф. сайт (триальная версия): www.rocksolidarcade.com/games/robokill Полная версия: robokill.hotbox.ru
Читать дальше →
Total votes 125: ↑88 and ↓37 +51
Comments 114

Как заработать 30% годовых в рублях

Reading time 3 min
Views 13K
В моей статье о девальвации я обещал, что опишу алгоритм, как заработать 30% годовых в рублях. Выполняю обещание.

Супертанкер - не выход для частного лица
Супертанкер — не выход для частного лица

Читать дальше →
Total votes 101: ↑69 and ↓32 +37
Comments 189

NetSetMan — программа для быстрой смены сетевых настроек на ноутбуке

Reading time 2 min
Views 75K
Ноутбуки прочно вошли в жизнь человечества. :)
При перемещениях в течении дня, часто приходится менять сетевую конфигурацию для доступа к сети. За день можно побывать дома, на работе, в университете, в кафе на обеде, и во многих из этих мест есть доступ к сети internet, только приходится постоянно менять ip-шники, dns-ы, шлюзы и т.д.
Чтобы не делать этого вручную предлагаю ознакомиться с удобной и бесплатной программой для смены настроек в 2 клика.
NetSetMan - программа для быстрой смены сетевых настроек на ноутбуке
ознакомиться
Total votes 64: ↑41 and ↓23 +18
Comments 111

Точное время 0100 часов 010111 минут

Reading time 3 min
Views 961

KT102B1_012.png - image uploaded to PicamaticДолго выбирал блог между «Я безумный», «Странные вещи» и «Я пиарюсь»...



Началось всё с того, что мне подарили двоичные часы. Оказалось, что двоичная система не такая уж неудобная.



Под катом вы узнаете, что случилось с моим мозгом («Я безумный»), что я сделал («Странные вещи»), и как такое же заполучить себе («Я пиарюсь»).


Читать дальше →
Total votes 97: ↑86 and ↓11 +75
Comments 147

Расширение спектра услуг провайдера — КТВ

Reading time 3 min
Views 2.6K
Рано или поздно у многих средних и крупных Интернет-провайдеров встает вопрос расширения спектра оказываемых услуг, и многие приходят к решению о начале оказания услуг кабельного телевидения.

Обзорная — техническая часть.Построение сети.


Есть два основных варианта построения сети:
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 14

Установка с внешнего HDD

Reading time 2 min
Views 369K
image
Я уже как год отказался от DVD привода, а тенденции нетбуков говорят о правильности решения. Но перед мной встал вопрос, как установить операционку без DVD. Не к месту умерла флешка, а когда я пошел в магазин за новой, на глаза случайно попались внешний диски Seagate Expansion, 250Gb версия которого стоила буквально на 500 рублей дороже, чем 8Gb флешка (2323 рубля). А размер и весь которой, не сильно смущал карман куртки.
Размеры:141 x 18 x 80 мм
Вес:0.16 кг

Но как оказалось, установка Windows 7 с USB HDD, работает не по-такому же принципу как с USB FLASH. Разобравшись и проверив работоспособность, делюсь информацией с вами.
Работает как и для Настольных ПК, ноубтуков, так и для Нетбуков.
  • Подготовка HDD
  • Нарезка и подготовка разделов HDD;
  • Копирование Windows 7

Читать дальше →
Total votes 85: ↑61 and ↓24 +37
Comments 70

Я хочу работать в Google! Телефонное интервью (часть 2)

Reading time 14 min
Views 17K
Сегодня мы будет обсуждать технические аспекты и реализацию задач на Python и C/C++, которыми нас будет закидывать инженер из Google. Начнём с самых тривиальных проблем с последующим нарастанием сложности. Параллельно обратим внимание о чём стоит упомянуть во время интервью и где не попасть в ловушку.
Читать дальше →
Total votes 102: ↑86 and ↓16 +70
Comments 134

Вещи, о которых следует помнить, программируя на Python

Reading time 5 min
Views 64K

Дзэн Питона



Изучение культуры, которая окружает язык, приближает вас на шаг к лучшим программистам. Если вы всё еще не прочли «Zen of Python», то откройте интерпретатор Python и введите import this. Для каждого элемента в списке вы найдете пример здесь

Однажды моё внимание привлекло:
Читать дальше →
Total votes 154: ↑133 and ↓21 +112
Comments 27

Удаленная замена корневой ФС в GNU/linux

Reading time 9 min
Views 15K
image
Иногда мне приходится сталкиваться с заменой корневой файловой системы. Имея загрузочный диск и доступ к серверу, это не сложно. Однако, я хочу поделиться опытом замены корневой ФС удаленно, через ssh, без перезагрузки.

Причины для замены коневой ФС бывают разные:
  • перевод / в LVM
  • перевод / в mdraid
  • замена типа файловой системы (ext3 => btrfs)
  • уменьшение размера ФС (resize2fs)

Читать дальше →
Total votes 104: ↑101 and ↓3 +98
Comments 23

Архитектура Android-приложений. Часть IV — интеграционный уровень

Reading time 5 min
Views 34K
В этой статье мы поговорим о различных механизмах, посредством которых взаимодействуют части Android-приложений. Условимся называть все эти механизмы «уровнем взаимодействия» (насколько мне известно, в документации Android нет специального термина для этого).
Читать дальше →
Total votes 43: ↑39 and ↓4 +35
Comments 4

Font Awesome: бесплатный свободный (CC BY 3.0) шрифт со значками для употребления в стиле Twitter Bootstrap

Reading time 2 min
Views 24K
Всякий такой веборазработчик или дизайнер сайтов, которому когда-либо доводилося ознакомиться со стилевою системою Twitter Bootstrap, уж конечно помнит, что в ней применяются значки Glyphicons (120 штук) для оформления кнопок, и панелей инструментов, и пунктов в списках, и так далее. Распространяются эти значки бесплатно и свободно (по лицензии CC BY 3.0).

У всех этих значков, однако же, есть общий недостаток: они растровые. Соответственно, если в значке есть диагональные или криволинейные элементы, то растянуть такой значок (для крупной кнопки или для сетчаточных дисплеев) не удастся без неприятной потери качества.

Преодолеть этот недостаток намерен проект Font Awesome, нацеленный на разработку бесплатного и свободного (CC BY 3.0) шрифта, содержащего аналогичные значки не в растровой, а в векторной форме. Значки («буквы») этого шрифта легко могут принимать поэтому любой размер и любой цвет. Притом их ужé и не сто двадцать, а сто сорок.

К шрифту прилагаются стилевые файлы, позволяющие начать использование Font Awesome в Twitter Bootstrap без каких-либо особенных усилий.

Читать дальше →
Total votes 50: ↑44 and ↓6 +38
Comments 42

Отладка программ на C для начинающих

Reading time 3 min
Views 32K
… или что делать если «Hello world!» упала.

Всё последующее в основном написано для ОС Linux и консольной отладки, хотя кое-что можно использовать и в других условиях.
Читать дальше →
Total votes 77: ↑51 and ↓26 +25
Comments 64

Emacs для начинающих: введение

Reading time 4 min
Views 22K

Ist das Emacs? Sehr gut!



Начну с небольшой истории. Лет так 15 назад ездил я на подработку сисадмином программистом в славный городе Mannheim, West Germany. Когда я приехал на работу и развернул своё рабочее окружение, большинство дойчей вообще не сильно поняли в чём я работаю, а вот директор конторы сразу мне сказал: «Ist das Emacs? Sehr gut!», добавив также что никто кто из текущих программистов не смог его освоить. А по честному, не такой уж я особенный — мне просто повезло: готовый конфиг мне дал один добрый человек, и помог мне разобраться с редактором на первых шагах. Я, в свою очередь хочу поделиться своим опытом с остальными, и решил сделать серию статей для начинающих и не очень, с рассмотрением разных полезных фич emacs.

В этой статье я также хочу пошатнуть сложившийся миф — что Emacs — сложный в работе/настройке редактор. Я считаю, что правильно начав, процесс изучения не будет сложным, и надеюсь, доставит Вам массу удовольствия от использования удобного, мощного и быстрого инструмента как в работе так в жизни.
Читать дальше →
Total votes 60: ↑56 and ↓4 +52
Comments 134

Функциональное и экономическое сравнение российских операторов предоставляющих облачные услуги

Reading time 12 min
Views 16K

В связи с тем, что рынок облачных услуг в России стремительно развивается, я решил изучить основных игроков на этом рынке, понять, что в действительности они из себя представляют, а также выяснить ценовой диапазон предоставляемых услуг.
Для тех, кому интересно, как я все это делал поясню.
Все информация собиралась более двух месяцев. Была выбрана определенная конфигурация ресурсов и ряд вопросов.
Данный запрос был разослан облачным операторам, по итогам переписки составил таблицу для сравнения.

Итак, операторы, предоставляющие облачные услуги, с которыми велась данная работа:
Читать дальше →
Total votes 83: ↑75 and ↓8 +67
Comments 69

Уязвимы по определению

Reading time 4 min
Views 39K
У многих людей, как-либо связанных с безопасностью, периодически возникает желание заняться pentest'ом, то есть тестом на проникновение. И чаще всего начинают все с pentest'а веб-приложений. Порог вхождения довольно мал (простейшая sqli определяется добавлением кавычки в параметр и эксплуатируется не особо сложнее), но при этом встречаются и довольно сложные задания, которые заставляют потратить пару-тройку дней на ковыряние.
Но возникает вопрос — где применять теоретические знания, без страха внезапного появления маски-шоу? Под катом проведу небольшой обзор полигонов для экспериментов по pentest'у.
Читать дальше →
Total votes 89: ↑87 and ↓2 +85
Comments 29

Обфускация JavaScript

Reading time 5 min
Views 195K
В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

Первый способ


Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
function MyClass(){
    this.foo = function(argument1, argument2){
        var addedArgs = parseInt(argument1)+parseInt(argument2);
        return addedArgs;
    }
    var anonymousInnerFunction = function(){
        // do stuff here!
    }
}

В какой-то такой вид:
function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

Или такой:
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

Или вот такой:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

Все это были цветочки под катом жесткие методы обфускации.
Читать дальше →
Total votes 171: ↑165 and ↓6 +159
Comments 85

Information

Rating
Does not participate
Location
Красноярский край, Россия
Date of birth
Registered
Activity