Pull to refresh
10
0
Юрий @shaurgon

User

Send message

Сага о геолокации и как сделать гео-вебсервис на NGINX без движка базы данных и без программирования

Reading time6 min
Views18K
Сегодня мы поднимем довольно старую тему про геолокацию по IP-адресу и новую про быстрые веб-сервисы без «языков программирования» . Также мы опубликуем готовый образ контейнера, чтобы вы за 5 минут могли развернуть такой веб-сервис у себя.

Наша компания занимается созданием Интернет-магазинов запчастей на собственной SaaS-платформе (ABCP.RU), а также у нас есть несколько связанных проектов, например, сервис поиска запчастей 4MyCar.ru.
Как и многие другие веб-проекты, мы в своё время пришли к пониманию необходимости геолокации по IP-адресу. Например, сейчас она используется на 4MyCar.ru для определения региона (при первом входе на сайт регион автоматически устанавливается именно так).



Аналогично производится выбор ближайшего к клиенту филиала магазина на сайтах клиентов платформы ABCP.

какие этапы мы прошли, как сделали свой веб-сервис и что в итоге получилось
Total votes 17: ↑12 and ↓5+7
Comments51

Как стать независимым разработчиком игр

Reading time25 min
Views63K
Примечание от переводчика: если вам позволяет знание английского языка, то я настоятельно рекомендую ознакомиться с оригиналом. Её автор — один из основателей студии Mode 7, которые выпустили Frozen Synapse. Статья очень большая по объёму текста, поэтому, если у вас не получится осилить её за 1 подход, я бы предложил отложить на потом, и продолжить в другой день.

Мне, как разработчику игр, который старается «копать» в этом направлении уже в течении, наверно, 5 лет или больше, и у которого не получилось добиться хоть сколько-нибудь значимого финансового успеха, статья показалась безумно полезной, т.к. вправляет мозги и делится трезвым взглядом на то, как должна функционировать команда или отдельный разработчик в этом жестоком (но, довольно честном) мире разработки игр.

Ниже будет перевод статьи.

Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments9

Как начать разрабатывать игры даже если до этого вы были бухгалтером

Reading time7 min
Views187K
До того как я стал разработчиком игр, я (да и все в моем окружении) считал себя дизайнером сайтов.
Не плохим, кстати, но дизайнером сайтов. Профессия, которая почти никак не используется в разработке игр.


Есть такой стереотип — когда кто-то говорит, что он в разрабытавает игры без команды, все сразу представляют его программистом. На самом деле, стереотип не так далек от правды: скорее всего, разработчик, описанный выше, действительно умеет программировать, но программистом он может себя не считать.

После одного игрового проекта со стримом всего процесса разработки мне часто пишут начинающие разработчики, что-то спрашивают, что-то показывают и на что-то жалуются. Недавно мне пришлось влезть в спор двух ребят, где темой спора было: “Что круче знать 3д-моделирование или программирование, если собираешься разрабатывать игры?”. Влез к ним в спор с предложением сделать первый шаг из схемы, что родилась в процессе участия в игровых проектах и создания своих.
3 шага к успешной карьере разработчика игр
Total votes 103: ↑67 and ↓36+31
Comments35

Восемь советов фрилансеру

Reading time3 min
Views7.6K
image

Лучшее время наполнить свой мозг — прямо сейчас. Предлагаю всеобщему вниманию 8 советов фрилансеру, которые могут кардинально перевернуть взгляд на самопиар, развитие удаленной карьеры, ну и, как минимум, помогут в дальнейшем саморазвитии. Как мы все видим из практики, не всегда ключевую роль играет профессионализм исполнителя. Отбросим волю случая, получив несколько дельных советов от капиталистов!
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments4

17 навыков успешного предпринимателя

Reading time4 min
Views52K
Fallout


Вопрос, который часто посещает каждого потенциального — и многих действующих предпринимателей каждый день: «Как узнать, есть ли у меня задатки предпринимателя?» Да, в сети полно идей, советов, подсказок и даже великолепных цитат по этому поводу. Но вы уверены, что у вас действительно есть соответствующие навыки? Вот семнадцать навыков, которыми должен обладать каждый успешный предприниматель.
Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments8

AngularJS 1.x – перевод курса от CodeSchool

Reading time12 min
Views75K
Данная публикация является переводом оригинального курса CoodSchool с небольшими дополнениями, которые показались мне уместными в данном контексте. Публикация рассчитана на тех, кто только начинает знакомится с Angular.

Введение


AngularJS — популярная JavaScript библиотека, предназначенная, главным образом, для создания одностраничных веб-приложений с динамически обновляемым содержимым. Библиотека была написана словацким программистом Мишкой Хевери, который, работая в Google, получил от своего шефа задание выучить JavaScript. Он решил, что лучший способ изучить язык — это создать на его основе собственный фреймворк. Angular (звучит как «Ангула» и дословно переводится как «Угловатый») использует концепцию разделения данных и их представления, известную как MVC (M — model (данные), V — view (представление), С — controller (контролер, управляющая прослойка между ними обеспечивающая логику работы приложения).
Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments20

10 уроков о том, как повысить продуктивность, которые я усвоил, работая по 90 часов в неделю целый месяц

Reading time8 min
Views198K
image

Сколько часов в неделю вы тратите на работу? Около 40, не так ли? А как вы думаете, что будет, если работать 90 часов в неделю?

Автор сайта a Year of Productivity Chris Bailey решил провести такой эксперимент. К чему это привело? Читайте о 10 уроках, которые он извлек, в нашем переводе его статьи.
Читать дальше →
Total votes 97: ↑78 and ↓19+59
Comments72

7 ключевых трендов веб-дизайна на 2015 год

Reading time5 min
Views89K
Оглядываясь на 2014, можно отметить некоторые впечатляющие тенденции, появившиеся в веб-дизайне: платформы для проектирования «без кода», параллакс, одностраничные веб-сайты и многое другое.

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

Чтобы узнать, какие тенденции будут процветать в течение следующего года, я обратился к членам проектной команды Webydo, разработчикам веб-дизайн платформы, чтобы они рассказали, какими будут по их мнению топ 7 главных трендов в веб-дизайне на 2015 год.
Читать дальше →
Total votes 38: ↑30 and ↓8+22
Comments38

Как создавать и зарабатывать на SaaS | Часть 12 | Мобильная революция доступа в облака: как сменить оператора в «один клик»

Reading time3 min
Views5.6K
Сегодня я хотел бы смягчить болезненную для всех тему доступа в облака c мобильных устройств и заглянуть в будущее, которое уже воплотили в жизнь несколько компаний, используя совершенно новый подход в выборе тарифов и операторов.
При чем тут облака? Для облачных вычислений и приложений всегда критичен доступ, доступ из любой точки, а этому мешает политика операторов сотовой связи, которые до сих пор и не совсем понятно зачем играют в роуминг.

image
Читать дальше →
Total votes 7: ↑4 and ↓3+1
Comments0

Как я попал в Google [перевод]

Reading time14 min
Views101K
image

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

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

Ах, да, ещё кое что. Это не пособие о том, как получить работу в Google. Основываясь на моём опыте, я не думаю что подобное вообще существует. Я не буду описывать интервью в деталях (вы не узнаете, что за вопросы мне задавали), дабы не разглашать никакой конфиденциальной информации.

Основная цель этого текста — рассказ о моём личном опыте полученном в период «до-Google». Надеюсь, что это будет хоть немного полезному кому-нибудь из вас.
Читать дальше →
Total votes 71: ↑49 and ↓22+27
Comments40

Google разработала цифровой симулятор в стиле «Матрицы»

Reading time2 min
Views147K


Компания Google просит власти штата сертифицировать беспилотные автомобили по результатам виртуальных, а не настоящих тестов. Для этих целей в Google разработан продвинутый симулятор в стиле «Матрицы», пишет The Guardian. Симулятор содержит все автодороги штата, модели автомобилей, водителей и пешеходов — каждого со своим автономным маленьким «интеллектом».

Беспилотные автомобили Google проехали в симуляторе уже более 6 млн километров, сталкиваясь с реальными дорожными ситуациями, такими как подрезающие автомобили, вихляющие велосипедисты и непредсказуемые пешеходы.
Читать дальше →
Total votes 115: ↑104 and ↓11+93
Comments284

Поиск картинок 2.0

Reading time2 min
Views3.1K
Недавно открылся интересный сайт: tineye.com, о котором уже как-то писал Mitesha, но тогда он был в стадии закрытого тестирования.



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

Например:

исходная картинка



найденные


Читать дальше →
Total votes 192: ↑185.5 and ↓6.5+179
Comments145

Купил новый компьютер? Старый тоже пригодится

Reading time4 min
Views7.7K
Так получилось, что я люблю программирование и компьютеры. Поэтому у каждого члена моей семьи было по одному PC. У меня стационарный (Ubuntu), у мамы тоже (Windows XP), а у жены — ноутбук (Windows Vista). Была задача — организовать интернет для всей этой техники. Провайдер мне его отдает по PPTP. Недолго думая (и будучи лентяем) я докупил обычные Ethernet-сетевые карты, вставил на стационарные компы и соединил все компьютеры проводами (если честно, я еще купил WiFi модуль для своего компа, но тупо не смог настроить для ubuntu).

Шло время, потребности росли (особенно потребности в мобильности рабочего места) и я стал обладателем ноутбука MacBook Pro. Что делать со старым компьютером? Выбрасывать? Было жалко… Ведь почти руками его собирал в течение двух лет. И тогда я решил — будет сервером! Я почистил компьютер и заново поставил туда Ubuntu Linux.
Читать дальше →
Total votes 225: ↑159 and ↓66+93
Comments250

Решение для пакетной обработки файлов (PHP)

Reading time2 min
Views1.5K
Я думаю, достаточно часто в корпоративной админке, или просто административной части какого-либо сайта возникает потребность в обработке большого количества файлов, и показа состояния операции пользователю.

Это может быть пакетная обработка залитых картинок, произведение бэкапа документов, заливка большого дампа БД и так далее. При написании моего файлового менеджера (ждите взрыва популярности в 2010 году ;)) я написал простенькую библиотеку для организации операций с файлами, с показом состояния операции пользователю.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments16

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time3 min
Views81K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →
Total votes 105: ↑101 and ↓4+97
Comments21

Домашняя бухгалтерия на платформе CUBA

Reading time16 min
Views36K


Цель этой статьи — рассказать о возможностях платформы CUBA на примере создания небольшого полезного приложения.
CUBA предназначена для быстрой разработки бизнес-приложений на Java, мы уже писали о ней несколько статей на Хабре.

Обычно на платформе строятся либо реальные, но слишком большие и закрытые информационные системы, либо приложения в стиле “Hello World” или искусственные примеры типа “Библиотеки” на нашем сайте. Поэтому некоторое время назад я и решил попробовать убить сразу двух зайцев — написать для себя полезное приложение и выложить его в общий доступ как пример использования нашей платформы, благо предметная область простая и всем понятная.

Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments17

Вероятно, самый простой способ преодолеть стресс на пути к цели

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


Читать дальше →
Total votes 52: ↑31 and ↓21+10
Comments29

Применение машинного обучения в трейдинге

Reading time8 min
Views42K
Примечание переводчика 1. Я наткнулся на этот блог в одном из обзоров материалов по машинному обучению. Если вы хорошо разбираетесь в машинном обучении, то в этой статье вы не найдете для себя ничего интересного. Она достаточно поверхностная и затрагивает только основы. Если же вы, как и я, только начинаете интересоваться данной темой, то добро пожаловать под кат.
Примечание переводчика 2. Кода будет мало, а тот что есть написан на языке R, но не стоит отчаиваться, если вы его до сих пор никогда в глаза не видели. До этой статьи я тоже ничего о нем не знал, поэтому я специально отдельно написал «шпору» по языку, включив туда все, что вам встретится в статье. Если хотите сами разобраться, то начать рекомендую c маленького курса на CodeSchool. На хабре тоже есть интересная информация и полезные ссылки. И наконец вот тут есть большая шпаргалка.
Примечание переводчика 3. Статья из двух частей, однако самое интересное начинается только во второй части, поэтому я позволил себе объединить их в одну статью.


Часть 1


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

Машинное обучение является одним из наиболее многообещающих направлений в финансовой математике, в последние годы получившее репутацию изощренного и сложного инструмента. В действительности все не так сложно.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments13

Материальное стимулирование программистов. Грабли, пряники и плети

Reading time6 min
Views71K


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

Поэтому, в первой части предлагаю сделать легкое лирическое отступление.
Читать дальше →
Total votes 98: ↑65 and ↓33+32
Comments175
1

Information

Rating
Does not participate
Location
Пермь, Пермский край, Россия
Date of birth
Registered
Activity