Pull to refresh
4
0
Станислав Кравец @krvss

User

Send message

Как легально получать деньги из-за пределов России

Reading time5 min
Views202K
Дано: заказчик за рубежом, желающий работать с Вами и платить вам евро или доллары.
Найти: оптимальный способ организовать работу с ним, чтобы платить налоги и спать спокойно.

Сразу скажу, что получение денег на пластиковую карту без уплаты налогов может вылиться в серьезные проблемы (про ответственность написано в конце топика). Объяснения, что деньги «от бабушки внучку на мороженное» при суммах больше 10К$ в год уже не прокатывают, особенно если в реквизитах «бабушки» будет стоять что-то вроде «GMBH Star Development» Вероятность того, что возьмут за задницу достаточно высокая и поэтому лучше не рисковать и делать все по Закону, тем более, что ничего сложного в этом нет
Читать дальше →
Total votes 144: ↑142 and ↓2+140
Comments192

Создание демон-процесса на Java

Reading time6 min
Views35K
Доброго всем времени суток.

Недавно, по долгу службы, появилась необходимость написать background process для IBM AIX 5.2 на Java с контролирующим shell скриптом.

Раз работа проделана, документация поднята, код написан, почему бы не поделиться с общественностью? По сему, переходим к делу.

читать дальше ...
Total votes 37: ↑34 and ↓3+31
Comments26

Microsoft WebMatrix — Reloaded

Reading time5 min
Views35K
Все новое — это хорошо забытое старое. Видимо, руководствуясь этим принципом, спустя 7 лет Microsoft решила вернуть к жизни одну из своих старых идей — но в новом облачении. Речь идет о WebMatrix — платформе для web-разработки, бета которой стала доступна недавно. Бета включает в себя много всего вкусного — обещанный IIS Express, SQL Server CE 4 и движок представлений для MVC — Razor. А так же — галерею приложений (интегрировано с WebPI), инструменты мониторинга и анализа сайта, средства публикации. Но хватит вступлений, давайте посмотрим что же есть собственно внутри WebMatrix.
Читать дальше →
Total votes 61: ↑43 and ↓18+25
Comments35

Генератор надежных и запоминаемых паролей на Javascript

Reading time3 min
Views16K
image
Представляемый генератор паролей создает относительно легко запоминающиеся и, в тоже время, трудноподбираемые пароли. Основная идея состоит в том, что пароли генерируются на основе слогов и поэтому выглядят как слова или словосочетания. Для лучшего запоминания используются заглавные буквы в начале каждого слога.

Проект на Google.Code:
code.google.com/p/jspassgen/downloads/list
Пример работы можно посмотреть здесь:
бизнес-книги.рус/ext/jspassgen/example.html
Читать дальше →
Total votes 58: ↑47 and ↓11+36
Comments59

Отладка Javascript на мобильных устройствах

Reading time2 min
Views13K
Как я уже недавно писал, в настоящее время я занимаюсь разработкой мобильной версией одного сервиса. Вчерашняя статья про особенности дизайна сайта для мобильных устройств показала, что у аудитории есть интерес к разработке сайтов, адаптированных под телефоны, коммуникаторы и т.д.
Читать дальше →
Total votes 51: ↑41 and ↓10+31
Comments22

Синхронизация асинхронных вызовов. WaitSync

Reading time3 min
Views8.6K

Задача


Допустим вы хотите выполнить два или более AJAX запроса на сервер и вызвать функцию после того, как все они будут закончены.

Небольшая загвоздка в том, что вы не знаете, какой из этих запросов будет закончен первым и не знаете, на кого вешать callback.

Можно завести глобальную переменную и по окончании каждого запроса проверять, завершился ли другой запрос.

Собственно, этим и занимается мой небольшой класс WaitSync =)

WaitSync.js


Пользоваться элементарно просто:

1. Создаем объект типа WaitSync, передав в конструктор callback функцию, которая будет вызвана после того, как отработают нужные задачи.
	var vulture = new WaitSync(function () {
		console.debug('Start eating: ', arguments);
	});


2. Вместо простого
	$.getJSON(
		'savannah/get_prey', 
		function (data) {
			console.log('... prey found: ' + data);
		}
	);
	
	$.getJSON(
		'savannah/get_other_predators', 
		function () {
			console.log('... predators are done eating');
		}
	);


«заворачиваем» задачи в метод .wrap
	$.getJSON(
		'savannah/get_prey', 
		vulture.wrap( 
			function (data) {
				console.log('... prey found: ' + data);
			}
		)
	);
	
	$.getJSON(
		'savannah/get_other_predators', 
		vulture.wrap(
			function () {
				console.log('... predators are done eating');
			}
		)
	);


3. Все =) Как только будут выполнены оба AJAX запроса, стервятник начнет есть.

Как это работает?
Total votes 62: ↑46 and ↓16+30
Comments63

Как стартапу найти инвестора?

Reading time4 min
Views1.5K
Впервые о своем бизнесе я задумался в начале 2008 года. Мне нужны были инвестиции, поэтому я очень много общался со всевозможными инвесторами, а также мнимыми инвесторами и консультантами по поиску инвесторов. На общение с ними я потратил очень много времени, и большая часть его была потрачена впустую. Хочу поделиться накопленным опытом общения с инвесторами и дать несколько советов другим стартапщикам.

Читать дальше →
Total votes 32: ↑23 and ↓9+14
Comments46

Геттеры и сеттеры в Javascript

Reading time5 min
Views48K
Javascript — очень изящный язык с кучей интересных возможностей. Большинство из этих возможностей скрыты одним неприятным фактором — Internet Explorer'ом и другим дерьмом, с которым нам приходится работать. Тем не менее, с приходом мобильных телефонов с актуальными браузерами и серверного JavaScript с нормальными движками эти возможности уже можно и нужно использовать прям сейчас. Но по привычке, даже при программировании для node.js мы стараемся писать так, чтобы оно работало в IE6+.

В этой статье я расскажу про интересный и не секретный способ указывать изящные геттеры и сеттеры и немножко покопаемся в исходниках Mootools. Частично это информация взята из статьи John Resig, частично лично мой опыт и эксперименты.
function Foo(bar){
    this._bar = bar;
}

Foo.prototype = {
    get bar () {
        return this._bar;
    },
    set bar (bar) {
        this._bar = bar;
    }
};


Читать дальше →
Total votes 104: ↑92 and ↓12+80
Comments68

Web Dogma. 10 правил создания сайтов для пользователей

Reading time2 min
Views11K
image Сегодня мне случилось побывать на лекции Эрика Райса (Eric Reiss), специалиста по вопросам информационной архитектуры, юзабилити и user experience.

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

Лекция была посвящена набору правил (Эрик называет их догмой), следование которым позволит создавать сайты для пользователей, свободные от диктата технологий и моды.

Вот эти 10 правил.
Читать дальше →
Total votes 102: ↑88 and ↓14+74
Comments110

Objective-C с нуля

Reading time23 min
Views434K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →
Total votes 163: ↑155 and ↓8+147
Comments61

Ужаснейший способ тарификации. Который работает

Reading time5 min
Views5.7K
Представляю вам способ формирования цены, который выглядит как самая тупая ошибка нуба.
Назовем его «заполните пустой счёт». Или «заплатите, сколько считаете нужным».

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

Но на самом деле, это довольно оригинальная тактика, которой должен уметь пользоваться любой фрилансер, когда ветер дует в нужную сторону. (Заметьте, я сказала «когда ветер дует в нужную сторону». Мы вернемся к этому позже.)
Делается это так.
Total votes 152: ↑138 and ↓14+124
Comments101

Настоящее семантической паутины

Reading time3 min
Views3.4K

Насколько все быстро растет


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

Далее я расскажу о реальном использовании.
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments45

extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)

Reading time4 min
Views21K
Хочу Вам рассказать о штуке, которую я изобрел сегодня, чтобы ускорить процесс загрузки сайтов. Все вы знаете, что <script src="..."></script> задерживает отрисовку страницы, пока не загрузится этот скрипт. Если их десятки — это может сереьезно замедлить работу сайта — в результате пользователь 20 секунд пялится на пустую (или недорисованную) страницу из-за какого-нибудь тупящего социального виджета (умножить на десяток этих виджетов).

Не правда ли было бы круто, если бы можно было сказать <script extsrc="..."></script> ("extsrc" = "грузи потом"), чтобы скрипты загружались после того как страница отрисована?

Все бы хорошо, но есть document.write… Сегодня я наконец решил его проблему — представляю extsrc.js — скрипт, который запустит все скрипты после отрисовки страницы (даже если они содержат document.write — и правильно отрисуется все).

Результат? Супер-быстрая загрузка страниц, даже если там море всяких внешних скриптов.

Использование:

Заменяем <script src="..."> на <script extsrc="...">.

Итого получается:

<script src="http://whiteposts.com/extsrc_js/extsrc.js"></script>
<script extsrc="..."></script>

все остальное под катом
Total votes 171: ↑157 and ↓14+143
Comments131

Penisland, или как написать спеллчекер

Reading time7 min
Views12K
Есть хорошая статья Питера Норвига, в которой он рассказывает как написать спеллчекер в 20 строк кода. В этой статье он показывает как поисковые системы могут исправлять ошибки в запросах. И делает это довольно элегантно. Однако, у его подхода есть два серьезных недостатка. Во-первых, исправление более трех ошибок требует больших ресурсов. А гугл, кстати, неплохо справляется и с четырьмя ошибками. Во-вторых, нет возможности проверки связного текста.



Итак, хочется исправить эти проблемы. А именно, написать корректор коротких фраз или запросов, который:
  • умел бы выявлять три (и более) ошибки в запросе;
  • умел бы проверять «разорванные» или «слипшиеся» фразы, например expertsexchange — experts_exchange, ma na ger — manager
  • не требовал много кода для реализации
  • мог бы достраиваться до исправления ошибок на других языках и других типов" ошибок

Остальное — под катом.
Читать дальше →
Total votes 133: ↑131 and ↓2+129
Comments49

Как поймать «поток», и как сделать так, чтобы он не сорвался

Reading time6 min
Views49K

Вступление


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

Читать дальше →
Total votes 223: ↑212 and ↓11+201
Comments130

Как найти вашего первого клиента

Reading time4 min
Views88K
imageКогда станете хорошо известны в своем деле, клиенты будут постоянно обращаться к вам, а не выбудете искать их. Когда есть много работы, то и стараться продавать свои услуги не будет особой нужды.

Но, что делать, если только начинаешь? Прежде чем станут обращаться клиенты, могут быть проблемы с тем, что делать целый день. Это идеальное время, чтобы дать о себе знать.

Поиск клиентов для каждого разный и то, что работает для одного, не всегда работает для другого. Тем не менее, я бы хотел поделиться некоторыми из способов, при помощи которых я получал работу в самом начале.
Читать дальше →
Total votes 104: ↑86 and ↓18+68
Comments24

FVD Suite — Качает Всё! Ну или почти всё…

Reading time2 min
Views15K
Дорогие Друзья!
Рады вас приветствовать на нашем блоге, который мы надеемся займет достойное место на хабракарте.

Наша компания занимается разработкой программного обеспечения для работы с медиаконтентом. Об выходе новой версии одного из наших продуктов, а именно FVD Suite и пойдет речь в этом посте.

FVD Suite это возможность скачивать Ваше любимое видео и кодировать в нужный формат в несколько кликов мышью.

image

Читать дальше →
Total votes 52: ↑35 and ↓17+18
Comments42

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity