Pull to refresh
116
0
stronciy @stronciy

User

Send message

Устраиваемся программистом за рубежом

Reading time16 min
Views62K
Как часто вас посещала мысль о трудоустройстве за границей, будь то просто временная работа или переезд на постоянное место жительство? Какую страну выбрать? Возможно ли пройти собеседования за тысячи километров по телефону и получить джоб-офер? Как будет выглядеть переезд и жизнь в другой стране? В данной статье я бы хотел поделиться личным опытом и опытом многих моих друзей работающих за рубежом.
Читать дальше →
Total votes 208: ↑188 and ↓20+168
Comments160

Опыт заказа в китайских интернет-магазинах

Reading time5 min
Views578K
В данной статье хотелось бы поделиться с читателями своим личным опытом о китайских интернет-магазинах, в которых мне (или моим друзьям) приходилось делать покупки. Речь пойдет именно про электронный сегмент товаров. Сразу перейду к сути, и приведу обзоры этих самых магазинов с заключительной оценкой:
Читать дальше →
Total votes 169: ↑155 and ↓14+141
Comments106

Как правильно покупать товары на Ebay

Reading time5 min
Views183K
image
Тема Ebay в связи с его русификацией становится очень актуальной, поэтому решил поделиться с хабрасообществом несколькими советами из области как правильно покупать товары на Ebay, чтобы не нарватся на мошенников и сделать правильную покупку. Большая часть описанного основана на личном опыте.
Читаем далее
Total votes 187: ↑166 and ↓21+145
Comments100

Упрощение полилинии методом Дугласа-Пекера

Reading time3 min
Views3.5K
Предисловие

Недавно на работе задали задачу — есть клиент с GPS устройством. Ходит, он значит по городу и записывает на это устройство каждую секунду координату своего местонахождения. Потом заходит на наш сайт и отправляет файл с записями маршрута. И в ответ получает изображение карты и поверх нарисованный маршрут по которому он двигался. Все вроде бы ничего, но есть одна проблемка — клиент может записывать хоть целый день и прислать громадный файл, а отрисовка маршрута занимает очень много времени. А он ведь мог идти по прямой линии и тогда смысл отрисовывать все точки отпадает(ценных только две крайних). Тем более рисуется она на JavaScript на клиентской стороне и если клиентская сторона это мобильное устройство вполне вероятно что маршрут он не увидит((
И потому мне надо было сделать небольшую оптимизацию — оптимально упростить ломанную линию. Для этой задачи существует метод Дугласа-Пекера, но на русском описания этого метода я не нашёл, поэтому я решил заполнить этот пробел рунета.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments16

Gmail Show M. Later

Reading time2 min
Views30K
Некоторое время назад, я сделал одну очень удобную штуку для Gmail

image

Если кратко, то этот google script позволяет создать в вашем ящике ярлыки (папки), положив письмо в которые, оно будет лежать пока не пройдет нужный срок, а потом оно снова переместится в inbox и станет не прочитанным. Мне такой штуки очень давно не хватало, т.к. часто приходят письма, на которые нужно отреагировать, но в данный момент реагировать на них возможности нету.

Есть более древние варианты в галерее скриптов, Gmail Snooze например, но они позволяют работать только с дневными интервалами и устроены таким образом, что письмо добавленное в 23:00, в 01:00 снова окажется в инбоксе. Поэтому я сначала модифицировал, а потом полностью переписал. В моей реализации, письма живут более правильной жизнью.
Читать дальше →
Total votes 62: ↑58 and ↓4+54
Comments30

Работа для программиста в США: 5 простых шагов

Reading time5 min
Views291K
image Статья про то, что делать тем, кто хочет переехать работать в США. Я предполагаю инженерные позиции, на которые проще всего получить визы, но, возможно, статья окажется полезна и другим специалистам.

Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.

Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
Читать дальше →
Total votes 166: ↑152 and ↓14+138
Comments138

Айтишник 60 уровня. Что дальше?

Reading time5 min
Views130K
У многих из нас есть родители или родственники, которые находятся в одном шаге от пенсии. Хотя мне еще только немного за 30, я предлагаю вам немного расширить кругозор и, может быть, что-то пересмотреть в своей жизни.



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

Да да, именно вы решили, потому что вы стареете именно потому, что вы этого ожидаете.

А главный бонус в том, что можно увеличить продуктивный период жизни в 2 раза, причем на приличные еще 30 лет(!) и более. Т.е. в 60 лет у вас будет 35-40 лет продуктивной жизни, а здесь я расскажу как эту продуктивность сохранить до 90 лет и более. Интересно?

Внимание! Возрастное ограничение 30+, ваша психика может пострадать.
Читайте пост на свой страх и риск!



Читаем подробный лайфхак.
Total votes 162: ↑120 and ↓42+78
Comments153

Обзор наиболее интересных материалов по анализу данных и машинному обучению №12 (1 — 8 сентября 2014)

Reading time6 min
Views7.2K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения. Данный выпуск получился достаточно объемным, в нем есть достаточно много материалов по Data Engineering. Все больше материалов появляется с конференции KDD 2014. Как обычно есть статьи про различные соревнования по машинному обучению, в том числе есть статьи о недавно прошедшем соревновании «ImageNet Large Scale Visual Recognition Challenge (ILSVRC)». Также есть достаточно много примеров кода на языках программирования R и Python. Есть упоминание о, как мне кажется, очень любопытном онлайн-курсе «Introduction to Computational Finance and Financial Econometrics».

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments0

Новые бесплатные курсы виртуальной академии Microsoft Virtual Academy, сентябрь 2014

Reading time6 min
Views24K
image

В этом обзоре мы поговорим про бесплатные курсы виртуальной академии Microsoft MVA, которые будут полезны как профессиональным разработчикам программного обеспечения и ИТ-про, так и новичкам. Обратите внимание, что видео-плеер на сайте для ряда курсов, которые созданы на английском языке, содержит возможность включить русские субтитры.

Хит! Язык программирования C# (часть 2)

Продолжение популярного курса от наших коллег из Украины! Этот курс может быть полезен для всех начинающих разработчиков на языке программирования C#, так как материал содержит все базовые понятия, предполагая, что слушатель не имел опыта разработки ранее. В ходе курса, слушатель узнает об основных концепциях языка, начиная с общей системы типов и, заканчивая, объектно-ориентированным программированием. Отдельные модули курса будут посвящены наиболее полезным классам в .NET Framework, которые будут полезны при дальнейшем изучении таких вопросов, как разработка Windows 8 и Windows Phone приложений. Ссылка на первую часть курса, которая уже стала хитом MVA.

Мега-хит! Английский. Серия курсов “Применение гибридных облаков”:

Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments3

Строим маршруты с помощью OpenStreetMap, OSRM и Leaflet

Reading time3 min
Views54K
Привет, %username%! Хочу написать маленькую статейку о том, как с помощью OpenStreetMap, OSRM и Leaflet прокладывать маршруты в своем проекте. Рассказывать что представляют из себя вышеуказанные технологии я не буду — на хабре о них писалось не раз уже, статья будет маленькая и только по делу. Итак, если вы хотите строить маршруты — прошу под кат.

image
Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments6

Руководство по собеседованию на вакансию PHP-программиста

Reading time22 min
Views254K
Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



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

Именно в этом и заключается основная проблема поиска высококвалифицированных PHP-разработчиков. Относительно низкий порог вхождения и 20 лет развития языка привели к тому, что PHP-программисты стали такими же вездесущими, как и сам PHP. Многие из них могут на законных основания утверждать, что «знают» язык. Однако разработчики, которые действительно являются экспертами по PHP, способны создавать куда более функциональное, надёжное, масштабируемое и простое в сопровождении программное обеспечение.

Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
Читать дальше →
Total votes 96: ↑73 and ↓23+50
Comments107

Sound Blaster ROAR: Boombox XXI века

Reading time5 min
Views35K
Если честно, то это один из самых сложных «обзоров», что мне доводилось писать. Попросту не знаешь, с чего начать, так как рассказать хочется обо всём и сразу. И эмоции переполняют, и голос рассудка завывает волком, и вообще «полный пэ».



SB Roar — это, с одной стороны, очередной представитель «мобильных» аудиоустройств, а с другой — мультимедиа комбайн, который просто, качественно и со вкусом решает проблему «послушать музыку». И с третьей — пожалуй, ROAR — это отличная, пусть и неосознанная, попытка воскресить легендарные для 70-х, 80-х и 90-х годов переносные аудиоцентры.
Читать дальше →
Total votes 44: ↑33 and ↓11+22
Comments40

Путешествия банковской транзакции

Reading time8 min
Views150K
image

Некоторое время назад на Хабре уже мелькали посты о работе банкоматов: один и два, но оба они описывали принципы работы банкоматов и вообще карточного процессинга весьма поверхностно.
Для интересующихся под катом много подробностей работы карточного процессинга банка (много букв).
Читать дальше →
Total votes 101: ↑98 and ↓3+95
Comments104

Обзор наиболее интересных материалов по анализу данных и машинному обучению №4 (23 июня — 7 июля 2014)

Reading time5 min
Views9.5K

Прошлый выпуск обзора был полностью посвящен онлайн-курсам по тематике Data Science. Данный выпуск обзора наиболее интересных материалов по анализу данных и машинному обучению будет содержать ссылки на свежие материалы по тематике. В данном выпуске некоторое количество материалов посвящено важной теме визуализации данных. Есть несколько статей, которые описывают небольшие практические примеры анализа данных. Как обычно много статей посвящено алгоритмам машинного обучения, в том числе несколько статей посвящены популярным алгоритмам машинного обучения Deep Learning и Random Forest. Также есть несколько ссылок на интересные видеоматериалы.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments0

PHP Zend сертифицирование сегодня

Reading time4 min
Views25K
image
Причины для прохождения PHP Zend сертифицирования могут быть разными: кто-то хочет проверить свои знания, кому-то хочется выделится из огромного числа php разработчиков, а у кого-то это требование на работе. Месяц назад мне удалось успешно пройти сертифицирование, и в этой статье я расскажу как выглядит этот экзамен сегодня, где искать материалы для подготовки, а так же солью немного инфы о реальных вопросах с экзамена.
Читать дальше →
Total votes 57: ↑47 and ↓10+37
Comments32

Всё, что вы хотели узнать о рефакторинге, но боялись спросить

Reading time1 min
Views21K
Господа, рад представить вам свой новый проект — Refactoring.guru.

Сайт представляет собой каталог запахов грязного кода и, собственно, самих приёмов рефакторинга. В двух словах — это как книга Мартина Фаулера, но лучше. А именно:

  • Весь контент доступен на русском языке. Я старался делать описания как можно более живыми, чтобы избавиться от чувства унылости и скуки, которое возникает при чтении любой переводной книги о рефакторинге.
  • Все примеры подаются на Java и PHP. Другие языки обязательно будут добавляться со временем, но я пока затрудняюсь решить, каким будет следующий, можете предлагать в комментах.
  • Всё везде перелинковано. Рефакторинги сгруппированы по предназначениям и связям.


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

Как видите, есть еще громадное поле для работы, как говорится, «если вам не стыдно за первую версию продукта — вы отрелизились слишком поздно». Тем не менее, я надеюсь, что кому-то сайт будет интересен уже сейчас.

Буду рад всем отзывам и пожеланиям! (а также лайкам и твитам)

Читать дальше →
Total votes 115: ↑107 and ↓8+99
Comments57

Решение проблемы сортировки деревьев с помощью бинарного Materialized Path

Reading time2 min
Views13K
Столкнулся с проблемой реализации древовидных комментариев на одном проекте, в этой заметке выкладываю своё решение.

Описание задачи


  • Хранение иерархических данных (древовидных комментариев) в реляционной БД MySQL
  • Простое добавление узлов/ветвей
  • Выборка всего дерева одним запросом, с отсортированными в нужном порядке ветвями

В принципе, задача классическая, и сначала я её решил с помощью объединения Adjacency List и Materialized Path. Другими словами, в таблице добавлены колонки

id INT(11)
parentid INT(11)
mpath VARCHAR(255)

В mpath хранился полный путь ветки в дереве, например /1/3/4/5/8/9, где через знак "/" перечислялись ID комментария.

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

SELECT *
FROM messages
WHERE postid=$postid
ORDER BY mpath ASC

Проблема возникла при росте числа комментариев.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments20

Учебник по языку программирования D. Часть 1

Reading time10 min
Views41K
Данный пост начинает серию переводов D Programming Language Tutorial, дабы компенсировать информационный вакуум об этом системном языке. Каждая часть будет содержать константое количество материала из книги, так как оригинальные главы имеют широкий разброс в размере: от пары абзацев до нескольких печатных страниц. Все примеры кода проверяются на текущем релизе компилятора dmd 2.065, и если возникают проблемы с технической частью, прошу отписываться в комментариях.

Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments54

Cвежее дополнение к Visual Studio для создания кроссплатформенных приложений на HTML и JavaScript

Reading time3 min
Views25K
image

Сегодня я хочу поделиться с вами еще одним дополнением, позволяющим разрабатывать кроссплатформенные мобильные приложения для Windows, Windows Phone, iOS и Android, используя Visual Studio 2013. В отличие от многих известных вам фреймворков – это дополнение абсолютно бесплатно и легко в освоении для веб-разработчика. Речь пойдет про дополнение, интегрирующее проект Apache Cordova в Visual Studio 2013.
Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments11

Как узнать, что ваш PHP сайт был взломан

Reading time11 min
Views134K
Сайт моего друга недавно был взломан, на нем была запущена старая версия IP.Board, в которой есть уязвимость локального внедрения кода (local file inclusion). Этот пост не будет посвящен IP.Board или другому php коду, он покажет, как найти потенциально вредоносный php код на ваших серверах. Наконец, покажу пример того, что злоумышленники могут загрузить на взломанный сайт.

Проверьте логи доступа


Что бы с чего-то начать, я бы хотел поделиться некоторыми записями из журнала доступа (access log) взломанного сайта моего друга.

IpreMOVED - - [01/Mar/2013:06:16:48 -0600] "POST /uploads/monthly_10_2012/view.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"
IpreMOVED - - [01/Mar/2013:06:12:58 -0600] "POST /public/style_images/master/profile/blog.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"

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

Два файла выше это загруженные взломщиком скрипты, как они туда попали, большой роли не играет, так как код на любых двух серверах, вероятно, будет различным. Тем не менее, в данном конкретном примере, уязвимость в устаревшей версии IP.Board была использована, и атакующие смогли добавить свои собственные скрипты в директории доступные для записи, такие как пользовательский каталог загрузки и каталог, в котором IP.Board хранит кэшированные изображения темы оформления. Это общий вектор атаки, много людей изменяют права на эти каталоги на 777 или дают им доступ на запись, подробнее об этом чуть позже.

Рассмотрим подробнее приведенные выше строки журнала, ничего не цепляет вас?

Обратите внимание, что в журнале доступа POST запросы, а не GET запросы.
Скорее всего, злоумышленники хотели сделать журнал доступа более неприметным, так как большинство журналов не сохраняют post данные.
Читать дальше →
Total votes 109: ↑82 and ↓27+55
Comments122

Information

Rating
Does not participate
Location
Иордания
Date of birth
Registered
Activity