Search
Write a publication
Pull to refresh
4
0

Web Developer

Send message

Geonames, Google Maps, Geocoding, часовые пояса и все, все, все

Reading time11 min
Views24K

Пользователям не хочется разбираться с особенностями координат, часовых поясов. Некоторые даже не знают, как эти координаты выражаются, и что такое часовые пояса.
Как сделать, чтобы было хорошо пользователю?

В данной статье будет разобрано, как работать с координатами и часовыми поясами:
А именно,
  1. Установка Google Maps, рассмотрен небольшой функционал с примером.
  2. Поиск часового пояса с по координатам (Geonames.org).
  3. Поиск координат и часового пояса по названию города (Geonames.org).
  4. Определение названия местности по координатам.


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

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

Reading time13 min
Views68K
Данная статья касается современных линуксов. Например, RHEL6 с ядрами 2.6.3х — подойдёт, а вот RHEL5 с ядрами 2.6.18 (кстати, наиболее популярный в продакшне) — увы, нет. И ещё — здесь не будет описания ядерных отладчиков или скриптов SytemTap; только старые-добрые простые команды вида «cat /proc/PID/xyz» в отношении некоторых полезных узлов файловой системы /proc.

Диагностика «тормозящего» процесса


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

К счастью, система работает под управлением OEL6, т.е. на достаточно свежем ядре (а именно — 2.6.39 UEK2)

Итак, приступим к диагностике.
Подробности

Трюки с CSS-анимациями: мгновенные изменения, отрицательные задержки, анимация transform-origin и другое

Reading time14 min
Views221K
Применяя CSS-анимации в повседневной работе, я постепенно выработал привычку экспериментировать с ними в свободное время. Постоянно пытаясь реализовать очередную интересную задумку с использованием как можно меньшего числа элементов HTML, я обнаружил немало способов сделать с помощью CSS довольно неочевидные вещи. В этой статье я хочу поделиться некоторыми из них.

Быстрое изменение состояния посреди анимации

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

@keyframes toggleOpacity {
  50% { opacity: 1; } /* Turn off */
  50.001% { opacity: 0.4; }

  /* Keep off state for a short period */

  52.999% { opacity: 0.4; } /* Turn back on */
  53% { opacity: 1; }
}

Вот как я использовал этот приём для имитации мигающей неоновой вывески с помощью прозрачности и свойства text-shadow:


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

Как математика помогает Яндексу зарабатывать?

Reading time4 min
Views50K
Яндекс зарабатывает сотни миллионов долларов в год, хотя наш поиск — бесплатный. Основной доход мы получаем от рекламы, соединяя продавцов с покупателями. Чтобы делать это хорошо, мы используем сложные алгоритмы, созданные на основе математической статистики, теории вероятностей, машинного обучения, теории игр и теории аукционов. Улучшение алгоритмов всего на несколько процентов — это дополнительные десятки миллионов долларов в год. Из этой лекции вы узнаете, как математика может работать в рекламе.



Конспект лекции

Видеозаписи докладов потока «JavaScript на бекенде» конференции FOSS Sea

Reading time1 min
Views12K


Команда проекта GeeksLab 30 ноября 2013 года в Одессе провела VI специализированную конференцию FOSS Sea: back-end на базе свободных и открытых технологий. Один из потоков мероприятия был посвящен разработке бекенда на JavaScript. В данном потоке с докладами выступили представители таких компаний как: DataArt, Lohika, GlobalLogic, GradSoft, IT Adapter Corp и другие. Презентации и видеозаписи докладов под катом.
Читать дальше →

14 инструментов для веб-дизайна и веб-разработки на 2014 год

Reading time3 min
Views155K
Вместе с WEB движущимся семимильными шагами (адаптивным дизайном, CSS препроцессорами, постпроцессорами и другими вещами) может оказаться проблемой попытка не отставать от чего-то нового и полезного.
Ниже Вы найдете 14 инструментов, 7 для веб-дизайнеров и 7 для веб-разработчиков, которые помогут веб-сайту перерасти из концепции в действительность.
Читать дальше →

Стартап в одиночку. История My-Wins

Reading time8 min
Views41K
Здравствуй, Хабр!
Меня зовут Александр. Я программист из г. Минска и хотел бы поделиться с вами опытом, который получил при создании моего проекта – сервис оценки достижений людей My-Wins.

image

Я расскажу вам о том, как родилась идея, как мне ее удалось одному реализовать и что происходило после запуска.
Читать дальше →

Chef за 21 день. Часть вторая. Создание и использование cookbook

Reading time7 min
Views17K
Привет-привет, хабраюзер! Все еще с нами? CHEF – это интересно! Продолжим наш вояж к мастерству воина-автоматизатора, который начался в первой части данной статьи. В этой статье речь пойдет о первом опыте написания cookbook-а, о рецептах, атрибутах и шаблонах.
Читать дальше →

Перевод книги Эдди Османи «Паттерны для масштабируемых JavaScript-приложений»

Reading time1 min
Views54K
В какой-то момент меня очень удивило, что потрясающая и понятная книга о проектировании JavaScript-приложений от известного автора до сих пор не переведена на русский язык. Вместе с единомышленниками мы перевели все главы. Сейчас мы внимательно вычитали 5 из них и хотим их показать всем, кто интересуется JS. Каждую неделю мы обещаем публиковать по 2 главы.

Прочитать книгу можно на сайте, который мы специально для нее создали, следить за обновлениями можно по RSS и в твиттере. Проект хостится на GitHub Pages, а это значит, что все, кто хочет помочь в вычитке глав, исправить опечатки, или каким-то иным образом помочь проекту, может легко это сделать.

Сайт перевода
Репозиторий на GitHub

Бюджетный SSH тоннель в подводный мир I2P для начинающих оленеводов

Reading time4 min
Views39K

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

Введение:
Кто бы что ни говорил, но ледовая обстановка в отечественном сегменте становится все более тяжелой. За нас взялись всерьез, обкладывают флажками, взрывают ровные тропинки натоптанные по бескрайним ледяным полям, вспарывают ледоколами привычные пути доставки провианта и под предлогом борьбы с браконьерами, расставляют капканы за каждым вторым торосом. Все идет к тому что проход с одной льдины на другую скоро будет происходить только через КПП с автоматчиками, по предварительной заявке в письменном виде и после предъявления паспорта и мандата из рыбнадзора. И только непослушнозаконные браконьеры будут посмеиваться в лисьи воротники над жалкими попытками геологических партий с большой земли испортить им жизнь.
Дочитать про спиннинги, роботов и резные яблоневые рукоятки

Онлайн курсы, взгляд преподавателя + зов разработчикам

Reading time6 min
Views71K
imageВ данной статье я изложу свой взгляд на проведение онлайн курсов: какие есть игроки в Интернете, и чего, на мой взгляд, категорически не хватает в Рунете (Ау-у, разработчики!). В конце опрос.

Речь пойдёт об Learning Management Systems (LMS) для частных лиц. Модельные ситуации такие:
  • Преподаватель кружка для школьников средних классов по математике во Дворце Пионеров имеет несколько групп. Хочет организовать свой материал и как-то мотивировать детей что-то делать дома за компьютером.
  • Преподаватель ВУЗа вместе со своими студентами хочет сделать человеческий электронный конспект своих лекций. С нумерацией рисунков, оглавлением, формулами и подобными LaTex'овскими прибаутками.

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

Экспорт Избранного на Хабре в PDF

Reading time3 min
Views36K
Доброго времени суток, хабровчане!


Думаю многих из вас когда-либо посещала мысль «вот бы сохранить статьи с Хабра».
Такая же мысль посетила и меня два дня назад. Сохранить захотел не просто каждую статью, а только те, что в избранном, да не поштучно, а сразу всё скопом.
Первая мысль — надо написать скрипт, который всё это вытянет. Python я уже подучил, но вот с генерацией PDF на нем сталкиваться ещё не приходилось.

Закручинился я было… Но OpenSource и Хабр спасли меня!
Краткая суть статьи для тех, кому не интересно много читать
В статье описан доработанный скрипт на Python fav2pdf.
Изначальный автор скрипта vrtx, за что ему большое спасибо.
«Usage — лучше тысячи слов!»
usage: fav2pdf.py [-h] [-d OUTPUT_DIR] [--from-date FROM_DATE]
                  [--to-date TO_DATE] [--all-in-one]
                  [--only-hubs [ONLY_HUBS [ONLY_HUBS ...]]] [--no-comments]
                  [--no-symlinks]
                  user

Tool for save favorite posts from habrahabr.ru in pdf's or html's

positional arguments:
  user                  habrahabr.ru username

optional arguments:
  -h, --help            show this help message and exit
  -d OUTPUT_DIR, --output-dir OUTPUT_DIR
                        Directory for output
  --from-date FROM_DATE
                        From date
  --to-date TO_DATE     To date
  --all-in-one          Save all posts in one PDF-file
  --only-hubs [ONLY_HUBS [ONLY_HUBS ...]]
                        Save only posts from hubs. For multiple: "--only-hubs
                        Hub1 Hub2 --"
  --no-comments         Dont save comments from posts
  --no-symlinks         Dont create symlinks to posts
  --create-html         Create html's instead of pdf's
  --create-url-list     Just save user.txt with all links


И как же они меня спасли?

Отечественный MOOC провайдер — Универсариум

Reading time2 min
Views5.8K
В одном из комментариев увидел ссылку на Универсариум, зашел и удивился что на хабре не было анонсов и пиара, ведь проект полезный и амбициозный.


На данный момент анонсированно 3 курса и еще 3 на подходе. Судя по вики к лету можно ожидать рост библиотеки до 20 курсов.
Один из курсов будет особенно интересен хабровчанам. Анонсы курсов под катом.
Читать дальше →

О том, как второкурсники свое окружение рабочего стола писали

Reading time4 min
Views27K
image Все началось на втором курсе, во времена, когда человеческие планшеты только начали появляться, а Android был еще во второй ветке. Я тогда был большим поклонником гибкости и настраиваемости linux-систем, потому и неудивительно, что появилась мысль написать свое окружение рабочего стола, позволяющее запускать несколько приложений одновременно, но при этом адаптированное для небольших сенсорных экранов. Эту идею разделял один мой одногруппник(Кирилл), имевший уже к тому моменту некоторый опыт в разработке на OpenGL.

Планирование — самая захватывающая часть в разработке ПО, а в такой масштабной задаче оно приятно затянулось аж на целый месяц. Хотя стоит признать, что выбор названия занял приличную часть времени. Было принято решение написать сначала свой 2.5D движок, а после доработать его до полноценного композитного менеджера окон. Тащить какой-нибудь тулкит нам показалось излишеством, потому подразумевалось, что панели и меню будут использовать тот же движок для отрисовки( как это сделано в Unity, насколько я понимаю ). Велосипедить свои файловый менеджер и плеер было бы неразумно, да и, раз уж мы независимы от тулкитов, пусть каждый использует то, что ему ближе. Программ, адаптированных для сенсорных экранов практически не было, потому планировалось после релиза начать работу по адаптации GUI некоторых популярных проектов, поддерживать соответствующий репозиторий.
Читать дальше →

Вышел Rust 0.9

Reading time2 min
Views19K

Mozilla выпустила новую версию компилятора Rust 0.9 и соответствующих инструментов.

Rust — это компилируемый и мультипарадигмальный язык для системного программирования, который позиционируется как альтернатива С/С++. Визуально он похож на C, но отличается в деталях синтаксиса и семантики. Идеально подходит для параллельных вычислений.

Разработчики говорят о существенном улучшении рантайма и подсистемы ввода-вывода. Так, в компиляторе появились статические ссылки и поддерживается оптимизация во время линковки (link-time). В языке уменьшено количество разных видов замыканий, чтобы упростить и сделать более логичным синтаксис.
Читать дальше →

Мой любимый редактор acme

Reading time3 min
Views26K
Еще один редактор? Я пользуюсь Vim в SSH сессиях, благо он гарантированно присутствует в любой инсталляции Linux. Мне нравится SublimeText уникальной способностью multiselect. Я иногда открываю emacs, чтобы прикоснуться к вечности и в полной мере ощутить свою никчемность.
acme у меня открыт постоянно, под катом агитация с картинками.
Это Гленда
Читать дальше →

Альфа-версия Otter Browser

Reading time3 min
Views43K
Otter Browser, главное окноПока в России под гром фейерверков весело и задорно встречали Новый год, в тайной лаборатории почти соседней нам Польши родилась альфа-версия браузера, который потенциально может стать заменой Opera ветки 12.x. Написан он с использованием фреймворка Qt5 и соответственно, компонента QtWebKit, но в перспективе будет перенесён на QtWebEngine (который, напомню, основан на коде Blink) и, вероятно, будет иметь возможность переключения на Gecko. Впрочем, это всё в будущем. Сейчас же он предлагает следующие возможности:

  • Вкладки, их прикрепление и открепление, боковые вкладки (но текст поворачивается на 90°, без поворота будет работать потом), вкладки внизу окна;
  • менеджер загрузок;
  • история посещений;
  • просмотр cookies;
  • панель поиска;
  • менеджер сеансов;
  • приватные вкладки и окна;
  • закладки;
  • настройка поисковых движков;
  • корзина закрытых вкладок;
  • масштабирование страницы;
  • миниатюры вкладок при наведении на них мыши.

Ну и ещё по мелочам. Автор подчёркивает, что это не 100% повторение Opera, но по возможности близкая к ней реализация. Как он сам его позиционирует: «Веб-браузер, который контролируется пользователем, а не наоборот». Сама программа изначально разрабатывается как максимально модульная. Упоминавшаяся выше запланированная возможность переключения движков рендеринга — не единственная. Из планируемых функций, например, почтовик и RSS-клиент тоже будут модулями, причём отдельными, но использующими единый интерфейс.

А теперь подробнее...

Как заработать $500K на машинном обучении и высокочастотном трейдинге — Часть 1

Reading time5 min
Views180K

Изображение: Kevin Ku — Unsplash

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

Twister: Децентрализованный, P2P аналог Twitter'a

Reading time4 min
Views41K


Сегодня я хочу рассказать вам о таком интересном проекте как Twister.

Twister — это сервис микроблогинга (аналогичный твиттеру), но его отличает несколько очень интересных технологий которые были использованы одновременно.

А именно: Bitcoin Block Chain, Bittorrent DHT, Bittorrent Swarm.

Другими словами — это полностью анонимный, децентрализованный сервис микроблогинга который вобрал в себя всё лучшее от Bittorrent и Bitcoin.
Читать дальше →

Шпаргалка по SOLID-принципам с примерами на PHP

Reading time10 min
Views452K
Тема SOLID-принципов и в целом чистоты кода не раз поднималась на Хабре и, возможно, уже порядком изъезженная. Но тем не менее, не так давно мне приходилось проходить собеседования в одну интересную IT-компанию, где меня попросили рассказать о принципах SOLID с примерами и ситуациями, когда я не соблюл эти принципы и к чему это привело. И в тот момент я понял, что на каком-то подсознательном уровне я понимаю эти принципы и даже могут назвать их все, но привести лаконичные и понятные примеры для меня стало проблемой. Поэтому я и решил для себя самого и для сообщества обобщить информацию по SOLID-принципам для ещё лучшего её понимания. Статья должна быть полезной, для людей только знакомящихся с SOLID-принципами, также, как и для людей «съевших собаку» на SOLID-принципах.

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

Information

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