Pull to refresh
116
0
Никита Цуканов @kekekeks

Гуру велосипедостроения

Send message

TurnAPI — пиши документацию легко

Reading time2 min
Views1.7K

Знакома ли вам ситуация, когда запуск проекта переносится только из-за того, что не готова документация к API или чему-то подобному? Может быть, вам приходилось тратить месяц на разработку системы ведения документации с пользователями, правами доступа и мощным редактором? Вы сами работаете над документацией и погрязли в этой рутине? Вы ответили «Да» на все вопросы?
мы тоже
Total votes 71: ↑55 and ↓16+39
Comments34

Основы конструирования компиляторов. Лексический анализ на C#

Reading time4 min
Views32K
Задачей лексического анализа является разбить входную последовательность (в моем случае код на языке «Паскаль») на слова и лексемы.

Для начала я создал 5 типизированных листов для хранения данных, а именно: идентификаторов, констант, ключевых слов, разделителей и свертки. Также необходим массив разделителей
static char[] limiters = {',', '.', '(', ')', '[', ']', ':', ';', '+', '-', '*', '/', '<', '>', '@'};

и массив ключевых слов. Я ограничился одиннадцатью ключевыми словами, так как статья написана как начальный пример реализации лексического анализа языка «Паскаль» на языке C#.
Итак, массив ключевых слов:
static string[] reservedWords = { "program", "var", "real", "integer", "begin", "for", "downto", "do", "begin", "end", "writeln" };

Читать дальше →
Total votes 23: ↑12 and ↓11+1
Comments7

Тонкости при работе с иностранным заказчиком

Reading time5 min
Views96K
В соседней теме попросили рассказать о нюансах работы с зарубежными клиентами для ИП/ООО. Для физических лиц работа с нерезидентами ничем не отличается работы с резидентами.
Это скорее даже не статья, а заметка/памятка, но возможно кому-нибудь будет хоть немного полезна.

Регистрация счета


Предположим что вы закончили регистрацию ИП/ООО и открыли рублёвый расчетный счет.
Для того чтобы работать с валютой нужно открыть еще один расчетный счет — валютный. Это просто.
При открытии валютного счета вам создадут дополнительно технический транзитный счет. Его реквизиты и нужно сообщать заказчику.

Здесь мы встречаем потенциальный косяк номер раз: как и в случае с рублевым счетом нужно уведомить налоговую в недельный срок (штраф — 5000 рублей [1]). Затем не забыть уведомить и своё отделение ПФР в тот же срок, иначе опять же штраф, но уже меньше — 2000. Если вы зарегистрированы в ФСС, то нужно не забыть так же и их, всё аналогично случаю с ПФР. [2]

ООО нужно уведомить ПФР и ФСС только если есть работники. ИП — обязательно ПФР, но если есть или были работники, то и ФСС.

Некоторые госслужбы «не шарят» и пытаются оштрафовать если не уведомили о транзитном счете. Это противозаконно и легко решает даже в досудебном порядке, не говоря уже о суде. Заявлять нужно только об обычном счете, о транзитном — не нужно.

В принципе здесь всё кристально ясно, единственно вызывает легкое недоумение зачем носить эти бумажки если банк тоже обязан выслать информацию об открытие счетов.
Читать дальше →
Total votes 82: ↑81 and ↓1+80
Comments172

Почему ИТшнику стоит стать ИПшником и почему не стоит регистрировать ООО

Reading time7 min
Views86K
В этой статье даются ответы на нижеследующие вопросы, основываясь на личном опыте и опыте коллег.

1. Почему стоит начать работать «в белую»
2. Почему на начальном этапе ИП лучше ООО
3. Что делать, если партнёров несколько

Если вы – начинающий или уже опытный фрилансер и подумываете о работе «в белую», но ещё точно не определились с вопросами «Стоит ли оно того?» и «ИП или ООО?», вэлком
под кат
Total votes 371: ↑361 and ↓10+351
Comments183

Эффективное использование Vim

Reading time11 min
Views73K

Введение


Я очень люблю редактор Vim, использую его в своей работе (для написания кода) уже больше четырех лет и хочу поделиться своим опытом его использования.

Эта статья — не набор “волшебных команд” и рецептов (cookbook, как называют такие наборы по-английски), хотя они тут тоже присутствуют, а, скорее, попытка описать, как общие принципы построения эргономичных интерфейсов можно применить в практике использования Vim, чтобы сделать из него удобную и эффективную среду работы с текстами.

Эта статья также не является tutorial’ом для начинающих пользователей Vim, хотя и им (а также пользователям Emacs) может быть интересна, поскольку некоторые упоминаемые принципы являются достаточно общими и действуют не только в системах редактирования текстов, а вообще везде, где идет речь об использовании компьютера для редактирования чего-либо. Тем не менее, я предполагаю, что читатель знаком с основными концепциями, применяемыми в Vim (режимы, регистры, буфера, команды) и не останавливаюсь на их подробном описании.

По умолчанию Vim настроен очень старомодно, и эта настройка подразумевает, что пользователь при работе с текстом будет мыслить метафорами пятидесятилетней давности, как будто бы сейчас заря эпохи UNIX. Однако дизайн Vim позволяет сделать несколько настроек, после которых система станет выглядеть вполне прилично и станет работать весьма эффективно, сочетая в себе полезные черты и древних юниксовых инструментов работы с текстом, и современных WYSIWIG-процессоров, при этом обходя, насколько это возможно, присущие им недостатки. Вот об этих настройках и приемах их использования и пойдет речь.
Читать дальше →
Total votes 141: ↑128 and ↓13+115
Comments67

Вышел MonoDevelop 2.8.2

Reading time1 min
Views1.8K
Вышло второе обновление к релизу 2.8 среды разработки для платформ .Net, Mono, MonoTouch и MonoDroid. Все нововведения связаны с разработкой под Android и iOS. Так же немного оптимизировали дебаггер.
Помимо этого, похоже, доведён до ума редактор кода. После получасовых издевательств мне не удалось заставить его сыпать ошибками (неделю назад подобная процедура выявила невозможность сохранить файл без кода, но с комментариями).

Полный список изменений можно почитать здесь. Обзор релиза 2.8 на хабре, если кто ещё не читал, можно увидеть тут.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments16

Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

Reading time5 min
Views172K
К написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install.
Суть сводится к тому, что эту команду в виде «make install» или «sudo make install» использовать в современных дистрибутивах нельзя.

Но ведь авторы программ в руководствах по установке пишут, что нужно использовать эту команду, возможно, скажете вы. Да, пишут. Но это лишь означает, что они не знают, какой у вас дистрибутив, и дистрибутив ли это вообще, может, вы вступили в секту и обкурилисьчитались LFS и теперь решили под свою хтоническую систему скомпилять их творение. А make install является универсальным, хоть и зачастую неправильным способом это сделать.

Читать дальше →
Total votes 385: ↑339 and ↓46+293
Comments185

Кластер, который всегда с собой

Reading time5 min
Views39K
lxcЗахотелось странного.
Во-первых, взгромоздить кучу виртуальных машин прямо на свой ноутбук.
А во-вторых, раскурить одну виртуализацию внутри другой.

Речь пойдет про использование контейнеров LXC, причем внутри другой виртуальной машины.

WTF! На кой это нужно?
Total votes 131: ↑126 and ↓5+121
Comments58

Как создается аниме

Reading time3 min
Views219K
Многие из хабровчан, да и вообще айтишников, смотрят аниме. Еще больше видело его хотя бы краем глаза. Но как его создают?

Начинается все с идеи. Бывает, что устраивается мозговой штурм, где из целой кучи выбирают только одну, но зато лучшую. Бывает, решает все руководство. Но так или иначе, это самый первый и самый скучный этап. После выбора идеи решается состав команды, которая будет заниматься ее реализацией, ищутся спонсоры. Аниме на самом деле довольно дорогая вещь — стоимость показа 52 серий поздней ночью на 5-7 каналах телевидения приближается к 50 миллионам йен (около 21 миллионов рублей), а показ аниме Fullmetal Alchemist в 6 часов вечера стоил в 10 раз дороже!
Читать дальше →
Total votes 410: ↑373 and ↓37+336
Comments224

Быстрая реализация инкрементального бэкапа на Amazon S3

Reading time6 min
Views23K
После переезда моего сайта с shared-хостинга на виртуальный сервер в облаке вплотную встал вопрос об архивации данных: если раньше о ежедневном бэкапе беспокоился хостер, то теперь эти заботы целиком легли на плечи администратора. Так как хранить большие архивы на своем сервере не только небезопасно, но и (иногда) накладно, было решено копировать основную массу файлов на сервис S3 от Amazon. Под катом описывается мой способ реализации инкрементального бэкапа. Способ достаточно нубовский, но желающие повторить его без труда найдут пути тонкой настройки под свои нужды.
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments23

О теории социального баланса

Reading time5 min
Views4.8K
Здравствуй хабр.
Сегодня я хочу тебе рассказать про теорию когнитивного баланса Ф. Хайдера.
Сама теория относится к классу теорий когнитивного соответствия. При помощи этого класса теорий можно попытаться математически описать социальные взаимодействия, в том числе в социальных сетях.
Читать дальше →
Total votes 57: ↑51 and ↓6+45
Comments20

Собственная страница ошибки 404 на ASP.NET MVC

Reading time6 min
Views27K
При разработке проекта на ASP.NET MVC возникла необходимость сделать собственную страницу ошибки 404. Я рассчитывал, что справлюсь с этой задачей за несколько минут. Через 6 часов работы я определил два варианта ее решения разной степени сложности. Описание — далее.
Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments28

BuildMyPinnedSite — онлайн-конструктор закрепленных сайтов

Reading time1 min
Views5.6K
Сегодня на русском языке открылся сайт BuildMyPinnedSite, который легко и в онлайн-режиме позволяет за 7 шагов сделать свой сайт закрепленным.

После этого пользователи Windows 7 могут закреплять ваш сайт на панели задач, вызывать у него контекстное меню, окно предпросмотра и при желании дополнительные кнопки. Таким образом, сайт становится по сути полноценным приложением операционной системы.

Эта возможность повышает удобство для пользователей, увеличивает их лояльность – и, как результат, посещаемость может вырасти по текущей статистике до 200%.

Напомню, что данную возможность используют крупнейшие международные и российские сайты, в том числе Facebook, Twitter, Amazon, Hulu, Groupon, Яндекс, Mail.Ru (пост), Одноклассники, IVI и другие.

Свой сайт вы можете опубликовать в галерее IE Gallery, доступной всем пользователям Internet Explorer 9.
Total votes 42: ↑34 and ↓8+26
Comments15

Быстрое создание нагрузочных тестов на JMeter для web-сайтов

Reading time5 min
Views150K
imageДля любого программного приложения, предназначенного для массового обслуживания пользователей, необходимо проводить нагрузочное тестирование на предмет его надежности и отказоустойчивости. А так как любой web-сайт — это по своей сути система массового обслуживания, то проверка его на отказоустойчивость всегда является неотъемлемой частью разработки. Существуют различные решения для проведения нагрузочного тестирования веб-приложений. Я не буду сейчас описывать их подробно, про некоторые из них есть упоминания здесь.

В этой статье я хочу поделиться своим опытом использования такого средства, как Apache JMeter. После того как мною были перепробовано с десяток различных подобных инструментом, в итоге я остановился именно на JMeter, так как его возможности с лихвой охватывали мои цели и задачи. И при этом данное программное средство весьма быстрое и легковесное.

Для тех кто ни разу не использовал JMeter, рекомендую для начала почитать базовые обзоры, например, Простой нагрузочный тест с Apache JMeter. Когда я первый раз запустил данную программу, первая мысль была разобраться во всем методом «тыка», но как выяснилось это вообще нереально, и метод «тыка» неприменим к JMeter. Поэтому если хотите его использовать, то сразу открывайте мануал, поверьте, вам придется заглядывать туда очень часто, пока полностью не разберетесь, что и как. Я же здесь сейчас опишу самое очевидное и важное, а именно: как собственно создавать нагрузочные тесты. Если бы я в свое время сразу нашел подобную статью, то сэкономил бы без малого день на изучении этой софтины.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments35

Прозрачное кэширование в nginx для всех и каждого

Reading time2 min
Views114K
Представим, что у нас есть сайт, на который регулярно дают ссылки с хабра.
Нам нужно подготовить его к резким всплескам посещаемости. Как это сделать?

С версии 0.8.46 в nginx появились опции, позволяющие легко и просто настроить прозрачное кэширование для анонимных пользователей.

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

Читать дальше →
Total votes 100: ↑97 and ↓3+94
Comments65

Подбор паролей к WPA/WPA2 с использованием видеокарты

Reading time6 min
Views202K
Привет, Хабр!
Сегодня я расскажу и покажу вам, как можно использовать всю мощность ваших видеокарт для игр перебора паролей к Wi-Fi. Как-то не комильфо в наше время использовать только процессорные мощности под эти задачи (в частности aircrack-ng), когда в 80% компьютеров есть видеокарта. Поэтому разумно использовать всю потенциальную мощность ваших систем. А именно, речь пойдет о замечательной программе pyrit.
Читать дальше →
Total votes 166: ↑149 and ↓17+132
Comments61

Flash-игры для «чайников»

Reading time1 min
Views20K


Вышла первая версия фреймворка StencylWorks — это довольно продвинутый инструмент для создания двухмерных Flash-игр на компьютере Mac или Windows (скоро появится поддержка iOS). Программой можно пользоваться без знания языков программирования (design mode), а для кодеров имеется отдельный мощный интерфейс (code mode) через ActionScript 3 API с поддержкой любого стороннего редактора.
Читать дальше →
Total votes 64: ↑55 and ↓9+46
Comments20

Вовлечение пользователя: комплекс упражнений по увеличению конверсии

Reading time6 min
Views2.7K
Между человеком, который вам симпатичен, и сайтом, который вам интересен, гораздо меньше отличий, чем можно ожидать.

Чтобы разобраться с этим, давайте вспомним, как мы общаемся с другими людьми в реальном мире.

Можно выделить три инструмента, при помощи которых мы взаимодействуем с окружающими (в зависимости от того, насколько они нам близки и насколько тесное общение нас интересует):

  • визуальный контакт,
  • вербальный контакт,
  • физический контакт.


Точно так же, используя те же приемы, мы «развиваем отношения» с сайтом.
Здесь надо понять важную вещь: всё, с чем мы можем так или иначе общаться (то есть получать некий фидбек в ответ на наши действия) подсознательно приравнивается нами к другому живому существу со сходным образом мысли. Отсюда привычка вести философские беседы с неработающим прибором, отсюда тяга наших предков давать человеческое лицо природным и физическим явлениям, отсюда даже смайлы.
Ведь куда проще найти общий язык с другим человеком, чем с неведомой бездушной штуковиной, верно?
Читать дальше →
Total votes 50: ↑45 and ↓5+40
Comments15

Как доделать игру

Reading time9 min
Views27K
На блоге одного из создателей Aquaria и Spelunky есть любопытный пост с советами для тех, кто испытывает проблемы с доведением до конца своих игровых проектов. Этот список советов оказался для меня своего рода «зеркалом», в котором отражены многие проблемы, с которыми сталкивался я сам, и я был удивлен тем, насколько хорошо автору удалось уловить суть этих проблем и предложить свои решения, зачастую бескомпромисные.
image
Приближаясь к заключительной стадии разработки моей игры, я много думал о том, как завершать выполнение проектов в целом. Я заметил, что вокруг много действительно талантливых разработчиков, у которых возникают проблемы с доведением до конца игровых проектов. По правде говоря, я и сам оставил позади себя ряд незавершенных игр… Думаю, у многих та же ситуация. Не всякий проект удается, по разным причинам. Однако если вы стали замечать, что постоянно забрасываете проекты, которые имеют неплохой потенциал, вероятно, стоит оглянуться назад и изучить тому причины.
Читать дальше →
Total votes 142: ↑135 and ↓7+128
Comments54

Живите (опять) без скучных дел

Reading time4 min
Views938
Если кратко, мы сделали веб-сервис, избавляющий от скучных дел. Причем клиенты выбирают сами, сколько платить:


Клиенты — наши начальники. Они сами оценивают работу и назначают оплату. Иллюстрация — Michael Dashow.

Когда-то хабр благосклонно принял мою статью Аутсорсинг жизни, водка, матрешка (в отличии от другой, 100 долларов в час). Речь шла о сервисе персональных ассистентов, который:
  • искал жестянщиков вытащить сосульку из крыши Пассата
  • делал визу в Польшу на 86 дней
  • в общем, скрашивал быт.

Читать дальше →
Total votes 123: ↑103 and ↓20+83
Comments199

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity