Search
Write a publication
Pull to refresh
6
0
Splean @Splean

Разработчик

Send message

327 000 рублей от государства? Пожалуйста!

Reading time3 min
Views2K
Обсуждение государственных программ по поддержке начинающих предпринимателей уже не раз поднималась на страницах нашего коллективного блога. Но, так как программ субсидирования самозанятости несколько, я все же хочу остановиться одной из них, которой, почему-то, здесь практически не уделялось внимание.

В настоящее время программа государственного субсидирования самозанятости предоставляет возможность гражданину, состоящему на учете в центре занятости населения в качестве безработного, организовать свое дело и получить наиболее крупную единовременную субсидию (до 30 МРОТ).

Возможно, вам будет интересно узнать, как именно обычный человек из простого российского города может вот так взять и получить субсидию на развитие своего дела в размере 327 000 рублей.
Сколько времени и сил было потрачено, какие препоны стояли на пути к достижению цели — обо всем вкратце будет рассказано под катом.
Читать дальше →

Простой способ передачи табличных данных из PHP в Excel

Reading time3 min
Views43K
К написанию данного топика меня подтолкнула одна заметка о генерации xls в PHP.
Способ, представленный в той заметке действительно очень прост, но не всегда может быть удобен.
Есть множество других способов передать табличные данные из PHP в Excel, я опишу тот, который показался мне наиболее простым и функциональным. Нужно особенно отметить, что что я не говорю о генерации xls файла, а лишь предлагаю пользователю открыть полученные данные при помощи Excel так, что пользователи не искушённые в программировании не заметят подлога.
Читать дальше →

Правила европейских инвесторов

Reading time4 min
Views617
Традиционно говоря о западных интернет-проектах, мы подразумеваем США и Кремниевую долину. Действительно, родина интернета остаётся и крупнейшим интернет-рынком и генератором новых бизнес-идей. Но гораздо ближе США к нам находится Европа, с вдвое большим населением и куда ближе к нам по менталитету. И европейский интернет-рынок тоже значительно развит, являясь родиной таких проектов, как Skype, а в календаре значимых инвестиционных мероприятий практически нет пустых месяцев.

В понедельник состоялась вторая тематическая встреча, где мы и говорили о европейском рынке стартапов и продвижении на нём. Эта тема стала логическим продолжением первого мероприятия, где мы говорили об устройстве американского рынка стартапов и основных принципах интернет-бизнеса в США, по итогам которой был написан пост «Наши люди на Mass Challenge».



На сей раз нашим гостем была Дарья Батухтина, хабраюзер darena, эксперт по международному PR и маркетингу, автор статьи «Сможет ли Европа конкурировать с Кремниевой долиной?» и постоянный участник хабравстреч.

Об основных вещах, прозвучавших на встрече, я и расскажу в этом посте: карьерная лестница стартапов, всеевропейские стартап-мероприятия, как стать партнёром западной компании у нас и какой полезный опыт нам стоило бы перенять у соседей по континенту.

Читать дальше →

Полезные ресурсы для проектировщиков интерфейсов в Axure RP

Reading time2 min
Views81K


Довольно давно на Хабре не было статей про такой удобный и эффективный инструмент для быстрого прототипирования как Axure RP.
Решил выложить свою подборку закладок по «Акшуре» в виде сводного списка ресурсов.
Читать дальше →

Хроники стартапа. Как мы продавали

Reading time5 min
Views1.3K


Привет, товарищи! На Хабре меня давно уже просили написать статью о том, как мы продавали и продаем свой SaaS-сервис. Наконец-то нашел время на этот пост. Надеюсь, будет полезно. Постарался сделать пост не занудным и пригодным для пятницы. Итак, господа, поехали!
Читать дальше →

Маленькие хитрости Java

Reading time4 min
Views271K
Я уже достаточно много лет занимаюсь разработкой на java и повидал довольно много чужого кода. Как это не странно, но постоянно от одного проекта к другому я вижу одни и те же проблемы. Этот топик — попытка ликбеза в наиболее часто используемых конструкциях языка. Часть описанного — это довольно банальные вещи, тем не менее, как показывает мой опыт, все эти банальности до сих пор актуальны. Надеюсь, статья пригодится многим java программистам. Итак, поехали:

new vs valueOf

//медленно
Integer i = new Integer(100);
Long l = new Long(100);
String s = new String("A");

//быстро
Integer i = Integer.valueOf(100);
Long l = 100L;//это тоже самое что Long.valueOf(100L);
String s = "A";


Старайтесь всегда использовать метод valueOf вместо конструктора в стандартных классах оболочках примитивных типов, кроме случаев, когда вам нужно конкретно выделить память под новое значение. Это связано с тем, что все они, кроме чисел с плавающей точкой, от Byte до Long имеют кеш. По умолчанию этот кеш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кеша. Значение из кеша достается в 3.5 раза быстрее чем при использовании конструктора + экономия памяти. Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной. В случае, если ваше приложение очень часто использует целые типы, можно увеличить кеш для Integer через системное свойство «java.lang.Integer.IntegerCache.high», а так же через параметр виртуальной машины -XX:AutoBoxCacheMax=<size>.
Читать дальше →

Маленькие хитрости Java. Часть 2

Reading time5 min
Views109K
В продолжение первой статьи я добавлю еще несколько штрихов о наиболее часто встречающихся ошибках и просто плохом коде, с которым часто приходится иметь дело при работе с уже написанными проектами. Я не выносил это в первую часть, так как эти ситуации встречаются гораздо реже, но поскольку первая часть вызвала много позитивных отзывов, решил продолжить. Спасибо всем комментаторам, отзывам и замечаниям. Я постараюсь избежать допущенных ошибок. Итак, продолжим:

Buffered Streams

//медленно
InputStream is = new FileInputStream(file);
int val;
while ((val = is.read()) != -1) {
}
//быстро
InputStream is = new BufferedInputStream(new FileInputStream(file));
int val;
while ((val = is.read()) != -1) {
}

Казалось бы — очевидная истина, неправда ли? Но как показал чужой код и опыт собеседования кандидатов, часть разработчиков определенно не понимает в чем преимущество буферизованных стримов. Кто до сих пор не разобрался — метод read() класса FileInputStream:
public native int read() throws IOException;

Согласитесь, каждый раз делать системный вызов, чтобы считать один байт несколько расточительно. Собственно для того, чтобы избежать этой проблемы и были созданы оболочки-буферы. Все что они делают — при первом вызове системного read() считывают несколько больше (в зависимости от указанного размера буфера, котрый по умолчанию равен 8 кб) и при следующем вызове read() считывают данные уже из буфера. Прирост производительности — на порядок. Системные вызовы, на самом деле, это не всегда плохо, например:
System.arraycopy(src, srcPos, dest, destPos, length);

В случае копированния массива — системный метод будет гораздо быстрей реализованного на java. И еще — считывайте данные порциями, а не по байтам, это тоже позволит прилично сэкономить.
Читать дальше →

Управление знаниями в ИТ-компаниях, а нужно ли?

Reading time3 min
Views17K
Управление знаниями — далеко не устоявшееся и относительно молодое направление в мировой науке. Если завязывать управление на менеджмент, то понятие рассматривают рядом с инновациями, а значит чем-то новым. Если делать акцент на знаниях, то можно спуститься до бума экспертных систем конца 90-х, что тоже не сильно далеко. Интерес к теме в мировом сообществе возникает волнообразно: то пусто, то густо, но если принимать во внимание всё бОльшую информационную перегруженность, рано или поздно он опять возникнет.

Несколько определений

Определение знаний из области инженерии знаний и искусственного интеллекта:
Знания — это закономерности предметной области (принципы, связи, законы), полученные в результате практической деятельности и профессионального опыта, позволяющие специалистам ставить и решать задачи в этой области.
Читать дальше →

Одноразовые URI: после прочтения уничтожить

Reading time1 min
Views51K
Когда вы передаёте кому-то по почте или скайпу секретный текст/ссылку/пароль, то стоит предусмотреть дополнительные меры безопасности. А именно, подумать о том, что копия вашего сообщения хранится во многих местах: в логах почтового сервера, в истории сообщений Skype, в истории браузера. Как обеспечить секретность информации в таких условиях?

Оригинальный способ придумали разработчики сервиса One-Tme Secret. Их веб-приложение создано для вставки фрагментов текста и генерации одноразовых URI, которые срабатывают только один раз, после чего информация стирается с сервера. Принцип описывается известным выражением «после прочтения уничтожить». Вдобавок, серверы не хранят никакой информации о посетителях сайта и не ведут логов, если верить разработчикам, но они, вроде бы, порядочные ребята.

Кому-то сама идея публиковать что-то секретное на чужом сервере покажется странной (таким людям лучше вообще не пользоваться интернетом), но в определённом смысле передача секретной информации по HTTPS действительно безопаснее, чем передача незашифрованного текста через почтовые серверы. Да и вообще, генерация одноразовых URI может пригодиться в разных ситуациях.

P.S. Ещё один похожий сервис: TMWSD (This Message Will Self-Destruct).

RedBeanPHP — еще одна ORM библиотека

Reading time3 min
Views32K
RedBeanPHP logo
На хабре нашел пару упоминаний про эту ORM, да и то давно и в комментариях. Недавно обнаружил, что вышла уже вторая версия. Желающим — вот ссылка на загрузку (GitHub) и на документацию
Цель этой статьи — кратко познакомить читателей с этой ORM-библиотекой.
RedBeanPHP — еще одна ORM-библиотека. Основное ее отличие от коллег, типа Propel или Doctrine, в отсутствии необходимости ручного конфигурирования объектов. Т.е. никаких xml, yml или ini-файлов. RedBenPHP на лету создает таблицы, поля и индексы. Любой объект можно связать с другим. Из БД поддерживаются MySQL, SQLite и Postgres.
Читать дальше →

Затухание текста на CSS3

Reading time2 min
Views24K
Привет всем. Сегодняшний пост будет коротким, но, думается мне, полезным.
Часто приходится слышать о том, как сделать «затухание» текста к низу, верху и т.д.
Есть варианты на js, есть варианты с картинкой и просто css-градиентом наложенными поверх текста.
Сегодня в голову пришел несколько другой подход к решению этой проблемы.
Его реализация проста как три копейки
Читать дальше →

Поиск по PDF, DOC, DOCX файлам с помощью Sphinx и PHP

Reading time5 min
Views28K
Доброе время суток.

Хочу поделиться своим опытом написания скрипта на PHP для поиска по файлам форматов PDF, DOC и DOCX, используя Sphinx. Все ниже изложенное написано для людей, которые уже имели опыт работы с связкой Sphinx и PHP. Если нет, то в свое время мне очень помогла статья Мартина Стрейчера «Создание собственной поисковой системы с помощью PHP», опубликованная на сайте IBM.

Совсем недавно на одном из проектов, который является веб-интерфейсом для базы пользователей, я получил задание организовать поиск по документам. Проект был написан до меня и уже использовал Sphinx.

Задача вроде тривиальная, но погуглив немного, я не смог найти внятную инструкцию с конкретным примером поиска по файлам форматов PDF, DOC и DOCX, что и стало причиной написания этой статьи.
Читать дальше →

instudies.com: пережив хабраэффект

Reading time2 min
Views1.3K
image

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

История одного стартапа или где найти инвестора?!

Reading time2 min
Views1.1K
Дело было вечером, делать было надо и для всех!



Итак, сегодня мне хотелось бы рассказать нашу историю о том, как нам удалось привлечь необходимые инвестиции для нашей мега разработки!
Собственно идея самого проекта довольно проста и лаконична – организация автоматизированного сервиса такси. Т.е любой желающий может сделать заявку «Я еду … » далее указывает адрес, а те кто желает подзаработать частным извозом отслеживают не рядом ли с ними расположен сей чудный пассажир.

Читать дальше →

Курс молодого бойца: тонкости настроек маршрутизаторов и коммутаторов

Reading time3 min
Views26K
Будем считать, что вы уже активно осваиваете хитрости настройки через консоль. Пришло время рассказать ещё несколько тонкостей. О чём имеет смысл подумать при настройке маршрутизаторов и коммутаторов cisco.

Тонкость 1. Аккуратность.
Часто возникает задача что-нибудь добавить в текущую конфигурацию. Наверняка вы знаете, что многие элементы пишутся отдельно, а отдельно применяются (на интерфейс, ко всей железке и т.д.). Будьте крайне осторожны, изменяя настройки таких технологий, как PBR (route-map), QoS (policy-map), IPSec (crypto map), NAT. Лучше всего сначала снять их с использования, потом изменить, потом повесить снова. Связано это с тем, что все изменения вы вносите сразу же в состояние железки. Иногда то, что уже работает (например, подгружено в оперативку) конфликтует с новым конфигом. Не редки ситуации, когда железка уходит в перезагрузку после попытки изменения конфига.

Пример: пусть у нас есть route-map, примененный на интерфейс. Пусть нам надо его изменить. Наиболее «чистый» способ такой:

Читать дальше →

ООО «Снежинка» — Часть 2. Рассматриваем различные аспекты регистрации и начинаем работать

Reading time10 min
Views1.7K
Этот хабратопик навеян топиком ООО «Снежинка» — Часть 1. Пошаговое руководство по регистрации..
Так как после моих слов в комментариях о потенциальной возможности написать продолжение моя карма вышла в плюс, эту возможность было решено не упускать.

Здесь речь пойдет о небольшой фирме работающей в сфере услуг.

Мы кратко рассмотрим следующие вопросы:
  1. Регистрация через фирму или собственными силами?
  2. Юридический адрес: покупать или нет?
  3. Уставной капитал: какой и в какой форме?
  4. Открытие расчетного счета в банке (потенциальные сложности)
  5. Работа с наличными средствами, зарплата, интернет-банкинг

Читать дальше →

ООО «Снежинка» — Часть 1. Пошаговое руководство по регистрации.

Reading time7 min
Views3.6K

Прелюдия


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

После обсуждения с партнером будущего бизнеса и выбора движка для интернет-магазина, встал вопрос о регистрации фирмы. Каталог еще не наполнен, сайт поисковые системы еще в лицо не видели, поэтому особенной спешки в регистрации не было, но и тянуть не хотелось. Все же первые клиенты могут прийти и из оффлайна, а мы даже счет выставить не сможем.
Читать дальше →

Инфраструктура современного офиса — 2

Reading time8 min
Views18K
Disclaimer: я не претендую на всю глубину изложения. Я принципиально опускаю моменты, требующие глубокого погружения в предмет, поскольку этот цикл статей не является энциклопедией инфраструктурщика. Кому надо больше — задавайте вопросы или ходите в ваш любимый поисковик :) Да, я лично готов ответить на все вопросы по существу. :)

Да, эта статья — продолжение цикла про организацию инфраструктуры современного офиса. Начало — здесь. Подоспело продолжение про телефонию, wi-fi и планирование провайдерских вводов

Как и в прошлый раз, при написании этой статьи я осознаю, что планка по объему материала взята слишком высоко — поэтому, в этот раз остановимся на вопросах организации СКС и общих аспектах организации сети (ЛВС). В следующий раз, стало быть, дойдем до беспроводных решений, телефонии и организации внешних вводов. В качестве необъявленного ранее бонус-трека последует отдельная статья о типовых решениях построения сети на оборудовании Allied Telesis.

СКС

Для специалиста по ИТ структурированная кабельная система является, по сути, базисом для всех систем, обеспечивающих функционирование офиса с точки зрения информационных технологий. Сама по себе СКС — совокупность пассивного коммутационного оборудования, обеспечивающего физическую взаимосвязь между геометрически распределенными элементами офиса. В состав СКС входит, в общем случае, следующее:
  1. Кабельная продукция (витая пара, оптические кабели, коаксиальные кабели)
  2. Коммутационные и кроссовые панели (патч-панели, плинты, муфты)
  3. Оконечные (со стороны пользователя) устройства — всевозможные розетки и разъемы. Сюда же, кстати, стоит отнести и патч-корды, соединяющие вышеуказанные розетки непосредственно с клиентским оборудованием.

В настоящее время, СКС регламентируется рядом стандартов:
  • EIA/TIA-568В Commercial Building Telecommunications Wiring Standard (американский стандарт)
  • ISO/IEC IS 11801 Information Technology. Generic cabling for customer premises (международный стандарт)
  • CENELEC EN 50173 Information Technology. Generic cabling systems (европейский стандарт)

В общем случае, проект вашей СКС должен соответствовать как минимум одному из указанных стандартов. К слову, наиболее употребимые формулировки категорий СКС — «5», «5e», «6» определены в американском стандарте. Если вы не подключены к интернет по WiFi, посмотрите на маркировку кабеля, который соединяет ваш компьютер с сетевой розеткой на стене — скорее всего, там будет присутствовать либо «5e», либо «6». По большому счету, от категории СКС зависит только теоретическая скорость передачи данных по кабелям, но об этом — чуть ниже.

А почему, кстати, сразу не воткнуть кабели в свитч — спросит въедливый читатель..

И почему же?

Fly AJAX — пишите меньше, имейте больше. Нестандартный AJAX и индексация поисковиками.

Reading time4 min
Views5.2K

Обсуждение предыдущей статьи было бурным. Самые ярые любители jQuery, Mootools кричали зачем мол нужен другой велосипед.
В данной статье мы рассмотрим использование техники Fly AJAX. Это одна из нескольких функциональных возможностей, которые не реализованы в ранее указанных больших (и мною уважаемых) фреймворках. Также, в данной статье, мы рассмотрим принципы правильного проектирования и построения сайтов для хорошей индексации с применением AJAX технологии.
Читать дальше →

Information

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