• Как SEO-специалисту приблизиться к успеху «Википедии»?

    Большинство SEO-оптимизаторов завидует «Википедии». И это небезосновательно, ведь успехи данной интернет-энциклопедии внушительные. Во-первых, наблюдается стабильное высокое ранжирование в ТОПе поисковых систем по высокочастотным запросам. Чаще всего позиции сайта не опускаются ниже ТОП-3 «Яндекса» и «Гугла». Во-вторых, это серьезный поисковый трафик, не требующий заоблачных финансовых вложений. В-третьих, это почет и уважение среди многомиллионной армии пользователей.
    Читать дальше →
  • Оптимизация кода, или как начать учиться писать коротко и ясно

    Всех категорически приветствую!

    Предисловие


    Возможно многие, как и я, задавались вопросом «Как писать код правильно?». И каждый день приходя на работу, оглядываясь по сторонам, я понимаю, что даже в том месте, где много людей, работающих с кодом, помощи в данном вопросе просить не у кого. Каждый занят своим делом, решая задачи, любым доступным способом. И сегодня, придя на работу, я так же столкнулся с задачей, довольно простой задачей. Нужно зафиксировать верхнее меню при прокрутке сайта. И как то глубоко впав в себя, пронеслись мысли — «Готовое решение», «JQ плагин», «зачем целый плагин, можно ведь самому, пару строк ведь», «зачем изобретать велосипед», «а как этот велосипед изобрели», «найти плагин, заглянуть в исходники», «но ведь первый раз кто то писал не заглядывая — некуда ведь», «курица или яйцо», «брр… а как они к этому пришли, надо самому попробовать». И тут я открыл редактор и начал пробовать.
    Читать дальше →
  • Как программист исправляя баг делает 3 новых. Или как правильно работать с исполнителями

    Эта статья — сводка правил, как работать с исполнителями (на примере программистов)


    Нет плохих программистов, есть люди, которые не умеют их подбирать и с ними работать.

    Читать дальше →
  • Повышение требований к обслуживанию багажа?

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

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

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

    Тема криптотрейдинга давно не нова для любых трейдеров, которые торгуют криптовалютой на биржах. Инструментов для технического анализа, которые можно использовать в этом русле много – они не особо отличаются от финансовых или форекс рынках, поэтому их можно применять и на этом «новом» рынке. Существует также множество торговых систем и стратегий, которые в каком-то виде показывают, как получать прибыль на установленных таймфреймах (на самом деле нет). Хотя некоторые из них действительно ценные находки и могут показать из себя целостную систему, но таких вещей крайне мало.

    Сегодня речь пойдёт не о этих применяемых и популярных торговых системах, которые актуальны для крипторынка, а об одном виде инструментах, которые используются в данных системах – осцилляторы. Почти все стратегии/системы используют в своём наборе их. Поэтому необходимо уделить им пристальное внимание без особой привязки к тонким настройкам и таймфреймам. Будем использовать заводские или стандартные настройки и оценивать их эффективность на деле.
    Читать дальше →
  • Репитер на базе Linksys E1200

    Начало этого, достаточно ситуативного решения, было положено тогда, когда я привез к себе в квартиру свой ПК от родителей и обнаружил, что по wi-fi моя сетевая карта выдаёт просто возмутительную скорость. Причиной послужил её возраст, и слабый приёмник. В силе сигнала
    «блинов» я не сомневался, так как построил местную сеть сам, проблема стала очевидной, и вот как я её решал.

    Сухие данные:
    Ширина канала минимум 200 Mbps
    Ubiquiti UniFi AP-AC-Lite в качестве точки доступа
    Роутер Linksys E1200 v2
    ПК с сетевой картой TP-Link, которая умеет только 802.11b стандарт.
    Читать дальше →
  • 8 факторов напрямую влияющих на рекламный бюджет в Инстаграм

    Здесь я перечислю основные 8 факторов, которые влияют на рекламный бюджет в Инстаграм


    1. Профессиональный, тяжелый контент, или легкая обыденность? Очень дорогой и профессиональный контент пользуется спросом гораздо хуже чем, контент сделанный на телефон на природе или кафе со свободным стилем текста. Это объясняется множеством факторов:
    Читать дальше →
  • Проекты на Arduino и их моделирование

    Многие из вас уже знакомы с таким весьма интересным и удобным в разработке “конструктором” как — Arduino. Эта статья — один из подходов к разработке и реализации проектов на Arduino.


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


    Читать дальше →
  • Версионирование в Golang с vgo

    Версионирование в Golang с vgo


    В Go есть простая стандартная команда go get, которая скачивает зависимости. Эта команда устанавливает последнюю версию, из master ветки репозитория.


    Это отлично подходит для небольших одиночных проектов. Но что если имеется два проекта которые зависят от разных версий одной сторонней библиотеки?


    Versioned Go Command (vgo)


    В Golang версии 1.10 нам предоставили Versioned Go Command сокращенно vgo. Эта консольная команда позволяет загружать и импортировать необходимые версии библиотек.


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

    Читать дальше →
  • Домашний медиа-сервер

    Выбор


    По ряду причин столкнулся с дилеммой выбора домашнего медиа-сервера… Покупка готового аппаратно реализованного не рассматривалась по той причине, что в любом случае 24 часа в стуки гоняю домашний сервер, и как бы решил использовать имеющиеся ресурсы, а не покупать новые. Почитав кучу сравнений различных программных реализаций выбрал наиболее дешевый вариант, точнее абсолютно бесплатный, который так и называется Домашний медиа-сервер
    Читать дальше →
  • Верстальщика псто

    <BR> или <BR />? Или всё же <BR/> ?


    Идея статьи накипела, можно сказать.



    В последнее время (уже не раз наталкивался на такую ситуацию) кто угодно может заявить, что он «верстает». Цена верстки обычно ниже плинтуса, зато требования «а чтоб в IE работало… и на iPad не разваливалось… Ой, что у нас на 'этом' не так как везде» могут быть совершенно разнообразными и требования к знаниям не меньше чем у полноценного разработчика фронтэнда.


    Итак «преамбула»


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


    Вот пример:
    из тега <BR /> в местах, которые попались под руку. был удален пробел. Код достался по наследству, скажем, из мелового периода (ну или из юрского, боюсь ошибиться). Итог — конфликты при слиянии в мастер-ветку в гит для продакшна. В условиях, когда на разрешение конфликтов времени и ресурсов маловато. И это только то, что на поверхности (без тестирования в нужных браузерах).
    Читать дальше →
  • Так вам нужен React или все же React Native разработчик?

    Количество клиентов, которые выбирают React Native для своего продукта однозначно растет. Такой вывод можно сделать заглянув и на фриланс платформы, и в разделы поиска работы. Но если в мире фриланса есть более четкое понимание какими навыками должен обладать React Native разработчик, то у большинства компаний наблюдается некое размытие понятий.
    Читать дальше →
  • Опыт эксплуатации домашнего медиа сервера

    Первый опыт установки медиасервера в домашней сети случайно произошел еще в древнем 2013 году, когда был куплен медиаплеер с функцией NAS и DLNA. И как показала практика данная штука оказалась удобной
    Читать дальше →
  • The Swift Programming Language. Основы. Часть 1 — Константы и Переменные

    Swift — это новый язык программирования для разработки приложений на iOS, macOS, watchOS и tvOS. Тем не менее, многие части Swift будут схожи с вашим опытом разработки на C и Objective-C.


    Swift предлагает вам свою версию всех фундаментальных переменных C и Objective-C, включая Int для целых значений, Double и Float для значений с плавающей запятой, Bool для логических и String для текстовых. Так же Swift предлагает мощные версии трех типов коллекций, Array, Set и Dictionary, которые будут описаны в главе «Типы коллекций».


    Как и C, Swift использует переменные, чтобы хранить и считывать значения с помощью идентификационного имени. Так же Swift делает более обширным использование переменных, чьи значения изменить нельзя. Они известны как константы, но они реализованы намного лучше тех, что вы видели в C. Константы используются в Swift повсеместно, чтобы сделать код более безопасным и чистым, в случае, когда вы работаете со значениями, которые изменять не нужно.


    Кроме уже знакомых вам типов данных, Swift представляет современные типы данных, которые вы не встретите в Objective-C, такие как «Кортежи». Они дают вам возможность создавать и использовать группы значений. Вы можете их использовать, чтобы в результате функции возвратить несколько значений в одну обособленную переменную.


    Swift так же представляет необязательные типы данных, в которых отсутствует значение. Они. Могут говорить как «Здесь есть значение, которое равно x», так и «Здесь нет значения вовсе». Их использование похоже на на использование указателей nil в Objective-C, но они работает везде, а не только для классов.

    Читать дальше →
  • Утилита подсчета размера директорий

    Утилита подсчета размера директорий


    Добрый день!
    При разработке или администрировании на ОС Windows раз в полгода, год, пару лет возникает задача почистить диск от накопившихся логов, временных файлов, устаревших дистрибутивов и т.п. мусора.
    Меня все-таки "достала" необходимость вручную ходить по папкам, подпапкам и пытаться найти кто же все-таки занимает пространство. Так появилась утилита командной строки diskusage.

    Читать дальше →
  • Почему SETI — ненаучна

    Все мы давно привыкли к тому, что уфологическая мифология, наукой не является. И когда мы слышим очередную историю про летающие блюдца, то лишь насмешливо-презрительно изрекаем шуточку на тему Рен-ТВ. Существует однако, иная культурная парадигма, выстроенная вокруг идеи инопланетян, к которой однако в просвещенных кругах, положено относиться с пиететом. Я говорю об SETI, Search for Extraterrestrial Intelligence, программе поиска внеземного разума. В данной статье я собираюсь показать, что SETI не менее ненаучна, чем уфология, что данное социокультурное явление стоит отнести скорей отнести к религии, оккультизму, или в лучшем случае, философии.
    Читать дальше →
  • Работа с временем на Swift

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

    Понятное дело, что полноценные Swift-программисты уже знают все это, поэтому напомню, что данный Гайд не для вас, а для таких же новичков, как и я.
    Читать дальше →
  • VPN на роутере Билайн для обхода блокировок

    Билайн активно вводит в своих домашних сетях технологию IPoE. Данный подход позволяет авторизовать клиента по MAC-адресу его оборудования без применения VPN. При переводе сети на IPoE VPN-клиент роутера становится незадействованным и продолжает настойчиво стучаться в отключенный провайдерский VPN-сервер. Нам остается только перенастроить VPN-клиент роутера на VPN-сервер в стране, где не практикуются блокировки интернета, и вся домашняя сеть автоматически получает доступ к google.com (на момент написания статьи этот сайт был заблокирован).

    Читать дальше →
  • Локальный пакет Composer для создания проектов

    Проблема.


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


    Какие пути решения сразу приходят на ум? Самое простое, наверное, создать подобный alias (если вы в *nix):


    alias create-project="cp -r project/ new-project/ && cd new-project/ && composer install"

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

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