Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

Лекции Техносферы. Инфопоиск. Часть 1 (весна 2017)

Время на прочтение4 мин
Количество просмотров12K


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


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


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

Всего голосов 38: ↑35 и ↓3+32
Комментарии2

Как стать ведущим разработчиком. Часть 1

Время на прочтение8 мин
Количество просмотров142K
Это перевод статьи, написанной Джоном Оллспоу, который на данный момент является старшим вице-президентом технического отдела в Etsy.

Продолжение перевода здесь

В нашей сфере деятельности нам доступны огромные объёмы знаний, в особенности тех, которые позволяют разработчику стать эффективным. Но почему-то, несмотря на существование множества книг о специфических задачах и обязанностях менеджеров в нетехнических областях, я практически не вижу новых книг или статей о том, как стать хорошим ведущим разработчиком. Замечательным исключением, конечно, являются статьи Кейт Maцудайры [от переводчика: на фотографии, кстати, именно она], немало написавшей о культурных составляющих инженерии.

Но в то же время, все мои знакомые преуспевающие разработчики помнят своих наставников, которые научили их тому, что значит быть „ведущим“.
Читать дальше →
Всего голосов 233: ↑203 и ↓30+173
Комментарии76

А если без JavaScript?

Время на прочтение3 мин
Количество просмотров71K
В нашем мире без JavaScript никуда! Куча фреймворков, библиотек и прочей радости! jQuery плотно вошел в нашу жизнь. React с Angular пробивают дорогу к светлому будущему. Да и не за горами поддержка браузерами ES6 без Babel.

Но если тема заходит об обычном сайте со стандартным функционалом, не редки случаи, когда JavaScript начинают “злоупотрелять”. И все, в принципе, нормально… Но порой задаешься вопросом: «А если без JavaScript?».
Всего голосов 90: ↑76 и ↓14+62
Комментарии131

33 способа ускорить ваш фронтенд в 2017 году

Время на прочтение20 мин
Количество просмотров85K

enter image description here


Вы уже используете прогрессивную загрузку? А как насчёт технологий Tree Shaking и разбиения кода в React и Angular? Вы настроили сжатие Brotli или Zopfli, OCSP stapling и HPACK-сжатие? А как у вас обстоят дела с оптимизацией ресурсов и клиентской части, со вложенностью CSS? Не говоря уже о IPv6, HTTP/2 и сервис-воркерах.

Читать дальше →
Всего голосов 87: ↑84 и ↓3+81
Комментарии39

Популярно о псевдоэлементах :Before и :After

Время на прочтение3 мин
Количество просмотров417K
Псевдоэлементы :before и :after позволяют добавлять содержимое (стили) до и после элемента, к которому были применены.

Читать дальше →
Всего голосов 93: ↑81 и ↓12+69
Комментарии60

12 малоизвестных фактов о CSS

Время на прочтение9 мин
Количество просмотров60K
Предлагаю читателям «Хабрахабра» перевод статьи «12 Little-Known CSS Facts (The Sequel)». Она совсем недавно была упомянута в дайджесте интересных материалов из мира веб-разработки и IT.

Update: немного «шлифанул» перевод напильником. Выражаю благодарность всем неравнодушным читателям.
Внимание! Под катом почти 1.5 Мб картинок и много интересных ссылок.

Итак, начнём-с…

1. В свойстве border-radius можно использовать slash-синтаксис.


Об этом уже писалось 4 года назад, но многие новички и даже некоторые опытные разработчики не знают о существовании этой «фишки».

Верите или нет, но следующий код валиден:

.box {
  border-radius: 35px 25px 30px 20px / 35px 25px 15px 30px;
}

Читать дальше →
Всего голосов 73: ↑71 и ↓2+69
Комментарии21

По другую сторону лайка: наши люди в Facebook

Время на прочтение9 мин
Количество просмотров178K
Как попасть на работу в Facebook, почему в крупнейшей соцсети мира такой ужасный интерфейс, когда Цукерберг приедет в КПИ и как правильно изучать программирование — обо всем этом мы поговорили с КПИшником [@politehnik] из лондонского офиса Facebook Александром Котлярским [@w1nter].



Читать дальше →
Всего голосов 132: ↑121 и ↓11+110
Комментарии59

Легкий способ научиться слепому десятипальцевому набору

Время на прочтение3 мин
Количество просмотров1.2M
Традиционно рекомендации по обучению десятипальцевой печати сводятся к двум советам:
  • тратить нервы на клавиатурные тренажеры вроде пресловутого «Соло на клавиатуре»;
  • заклеить подписи на клавишах.

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

Что если я скажу вам, что есть абсурдно простой, состоящий из одного пункта способ научиться слепой печати без этих дурацких органичений?
 

Читать дальше →
Всего голосов 88: ↑76 и ↓12+64
Комментарии232

Google Plus, Facebook, Twitter — читаем в RSS агрегаторе

Время на прочтение2 мин
Количество просмотров49K
Если вы боитесь социальных сетей, но хотели бы знать, о чем там пишут известные люди – используйте для этого технологию RSS. Как достать ссылки для подписки в RSS?

Facebook
Самый интересный вариант — FB RSS Facebook application

Фейсбук в этом плане весьма открыт, кроме RSS фидов формата 2.0 разберется и с Atom. Все что вам нужно, это знать ID профиля или страницы.
Пример, сообщетсво — English is Fun

В адресной строчке заменяем www на graph — вместо http://www.facebook.com/EnglishIF?fref=pb пишем http://graph.facebook.com/EnglishIF?fref=pb
В сгенерированном коде находим строку с «id»: " 384707561542391 ".
(ID можно также найти с помощью findfacebookid.com)

Используем шаблон www.facebook.com/feeds/page.php?format=rss20&id=, например www.facebook.com/feeds/page.php?
format=rss20&id=384707561542391 и подписываемся

Twitter
Тут все еще проще.
Скажем, собираемся читать @BreakingNews
Используем шаблон api.twitter.com/1/statuses/user_timeline.rss?screen_name=, пример api.twitter.com/1/statuses/user_timeline.rss?screen_name=BreakingNews. Готово, можем подписываться.

Если хотим читать фиды по определенному слову (скажем слово Android), добавляем к адресу search.twitter.com/search.atom?q=Android.
Если хотим читать фиды по хештегу, добавляем к адресу хештег #Android — search.twitter.com/search.atom?q=%23Android. (Символ (#) меняем на %23).

Google+
Проще всего использовать gplus-to-rss.appspot.com.
Нужно знать ID Страницы или профиля. На Google+ найдете его прямо в адресной строке, например страница +ru.android – в строке plus.google.com/u/0/communities/110130446304043859186 — 110130446304043859186 и есть ID
Добавляем в URL gplus-to-rss.appspot.com/rss, в нашем случае gplus-to-rss.appspot.com/rss/110130446304043859186.

Переведено с чешского источника

Update

ВКонтакте
Для генерации RSS-фида вам нужно «скормить» ссылку на профиль или открытую группу сервису ВКонтакте RSS — vkontakte-feed.appspot.com
Всего голосов 54: ↑45 и ↓9+36
Комментарии30

Как быстро создать опрос на вашем сайте с помощью форм Google?

Время на прочтение4 мин
Количество просмотров145K
Как быстро создать опрос на вашем сайте с помощью форм Google?Рано или поздно, практически все, у кого есть собственный сайт, сталкиваются с необходимостью создания форм обратной связи для сбора данных (проведения опросов) с посетителей сайта.

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

Есть несколько подходов в создании подобных форм:

• Формы можно сделать, используя теги HTML и завязать нажатие кнопки «Отправить» с отправкой введенных данных вам на email

• Можно сделать связку PHP+MySQL (или любой другой язык программирования и базу данных) и все введенные данные сохранять в базу данных для дальнейшей работы.

• Если ваш сайт сделан с использованием какой-нибудь популярной CMS (например, Joomla, Drupal или WordPress), то вы можете поискать в сети плагины, модули и компоненты, которые достаточно просто позволяют создавать формы

• А можно для создания форм обратной связи использовать бесплатные инструменты всем известного Google.Docs

И в этой статье я хотел бы показать как с помощью Google.Docs вы можете легко и быстро создавать всевозможные формы опроса для ваших сайтов.
Читать дальше →
Всего голосов 63: ↑48 и ↓15+33
Комментарии16

Youtube снова разрешает протестировать новый интерфейс изменением cookie

Время на прочтение1 мин
Количество просмотров73K
image

Работает уже месяц, но вроде на Хабре не было. Google продолжает полировать интерфейс Youtube (может, связано с этим наблюдением). Данная версия, возможно, самая «легкая» и «чистая» из всех. Как в сентябре, июне 2012 и декабре 2011, для переключения на него достаточно добавить cookie за 15 секунд.
Читать дальше →
Всего голосов 42: ↑37 и ↓5+32
Комментарии64

Несколько интересностей и полезностей для веб-разработчика #22

Время на прочтение4 мин
Количество просмотров38K
Доброго времени, суток уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Awesome Awesomeness


В прошедшие несколько недель мне регулярно попадались Awesome-* проекты, о которых я упоминал в последних подборках. Началось все с Awesome-PHP, потом появились «живые списки» полезностей для сисадминов и питонистов. Все заметили положительную тенденцию и как по желанию это переросло в целый тренд. Сейчас есть коллекции инструментов для языков Ruby, Go, NodeJS, JavaScript, Java, Scala, Bash и др. Уже даже существуют подобные наборы для целых направлениям в ИТ, к примеру Big Data. Awesome Awesomeness — это живой список живых списков всего самого необходимого для разработчика из той или иной сферы.

Breach — полноценный браузер на JavaScript




Читать дальше →
Всего голосов 57: ↑54 и ↓3+51
Комментарии9

Пишем HTML5-игру за 20 минут, или введение в Phaser framework

Время на прочтение9 мин
Количество просмотров189K
Эта статья посвящена разработке стильных, модных и молодежных HTML5 приложений с помощью нового фреймворка Phaser. В ней описан процесс установки библиотеки и создание классической игры Pong.

Введение


Phaser — это движок для разработки мобильных и десктопных HTML5 игр, базирующийся на библиотеке PIXI.js. Поддерживает рендеринг в Canvas и WebGL, анимированные спрайты, частицы, аудио, разные способы ввода и физику объектов. Исходники доступны как для просмотра, так и для свободной модификации. Он создан Ричардом Дейви (Richard Davey), известному благодаря активному участию в сообществе программистов, использующих Flixel framework. Ричард не скрывает, что вдохновлялся Фликселем, поэтому некоторые вещи в Фазере будут знакомы опытным флешерам. Первая версия нового движка вышла 13 сентября этого года, сейчас ведется не только активное развитие библиотеки, но и написание документации, поэтому в данный момент уроков по ней, мягко говоря, немного. Что, по моему скромному мнению, следует исправлять, и прямо сейчас.
Читать дальше →
Всего голосов 64: ↑56 и ↓8+48
Комментарии23

Бесконечные неповторяющиеся текстуры с помощью мозаики Вана

Время на прочтение4 мин
Количество просмотров48K


С текстурами вечно какие-то проблемы! То оказывается, что нельзя взять любую фотку и налепить на модельку. То на стыке текстур появляются швы, которые замучаешься заглаживать. То вроде уже и загладил всё, но глаз, этакий проказник, всё равно замечает повторяющиеся узоры и рушит иллюзию.

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

Как же быть? Есть один трюк — непериодические мозаики. Они лишены проблемы повторяемости и достаточно просты в реализации. Одну из таких мозаик придумал китайский математик Ван Хао в 1961 году. Элементы этой мозаики можно представить в виде прямоугольников с разноцветными гранями. Но чтобы понять принцип её работы, надо сначала разобраться в классическом методе заполнения площадей текстурами.
А классический метод таков...
Всего голосов 99: ↑99 и ↓0+99
Комментарии25

Создаём игру, используя canvas и спрайты

Время на прочтение15 мин
Количество просмотров161K
Веб сейчас везде, и предлагает очень мощную среду для создания и распространения приложений. Вместо цикла: написание кода → компиляция → запуск, просто обновите приложение или даже напиши код «на живую» в браузере. Кроме того, это относительно безболезненно позволяет распространять своё приложение на огромном количестве платформ. Интересно, что в последние несколько лет, разработка игр, используя HTML5, стала реальностью.
Элемент canvas был введен вместе с HTML5 и предоставляет API для работы с ним. API — прост, но если Вы никогда не работали с графикой, Вам потребуется время чтобы привыкнуть. Canvas поддерживается большим количество браузеров, что делает веб — хорошей площадкой для создания игр.
Читать дальше →
Всего голосов 95: ↑91 и ↓4+87
Комментарии23

HTML/CSS/JS + Node.js + node-webkit = Кроссархитектурные приложения

Время на прочтение3 мин
Количество просмотров51K

С ростом популярности node.js он становится всё более привлекательным для разработки приложений. По крайней мере я в последнее время очень часто использую эту технологию для быстрой разработки оных. И на данный момент, технологически нет никаких препятствий для разработки кроссплатформенных приложений на одном языке. И не только классических Web-приложений (клиент-сервер) но и десктопных.
Подробности
Всего голосов 54: ↑45 и ↓9+36
Комментарии20

Хак синтаксиса PHP

Время на прочтение5 мин
Количество просмотров29K
Вы когда-нибудь задумывались о том, как расширить ядро PHP? Что нужно для того, чтобы создать новое ключевое слово или даже разработать новый синтаксис? Если у вас есть базовые знания языка C, то проблем с созданием небольших изменений возникнуть не должно. Да, я понимаю, что это может быть немного бессмысленно, но неважно — забавно ведь.

Давайте создадим альтернативный способ определения класса. Самый простой способ определения, разрешённый в PHP, выглядит следующим образом:

<?php
class ClassName {}

Мы можем упростить синтаксис и заменить фигурные скобки на точку с запятой.

<?php
class ClassName;

Если вы попытаетесь выполнить этот код, то он, очевидно, выдаст ошибку. Не проблема, мы можем это исправить.
Читать дальше →
Всего голосов 131: ↑93 и ↓38+55
Комментарии44

Мнемоника: можно запомнить даже цифры

Время на прочтение3 мин
Количество просмотров154K
Помимо дороги Цицерона, благодаря которой можно запомнить любое количество слов в правильной последовательности, существуют другие способы для запоминания последовательности слов. К сожалению, они не так удачные, требуют намного больше работы и подготовки, поэтому я не буду их рассматривать. Скажу лишь, что они не нужны. Дворец памяти (дорога Цицерона) — лучший способ запоминать списки.



Но как насчет цифр? Если бы вы попробовали запомнить набор цифр с помощью дворца памяти, вы бы столкнулись с некоторыми проблемами, например:

  • Цифры сухие, бесчувственные. К ним трудно привязать ассоциацию
  • Цифры повторяются. Поэтому воспоминания будут накладываться друг на друга.
  • Чаще всего нужно запомнить достаточно много цифр (несколько номеров телефонов), что осложняет процесс.


Под катом я познакомлю вас с двумя способами, как запомнить эти бездушные цифры. Именно по цифрам проводятся ежегодные соревнования по мнемонике, где запоминают тысячи цифр за ограниченное время!
Читать дальше →
Всего голосов 37: ↑30 и ↓7+23
Комментарии22

Shodan – самый страшный поисковик Интернета

Время на прочтение3 мин
Количество просмотров701K


«Если люди не могут найти что-то в Google, они думают, что это не сможет найти никто. Это не так», – утверждает Джон Мэзерли, создатель Shodan, самого страшного поискового движка Интернета.

В отличие от Google, который ищет в Сети простые сайты, Shodan работает с теневыми каналами Интернета. Это своего рода «черный» Google, позволяющий искать серверы, веб-камеры, принтеры, роутеры и самую разную технику, которая подключена к Интернету и составляет его часть.

Читать дальше →
Всего голосов 199: ↑191 и ↓8+183
Комментарии131

FightCode: танковые войны на JavaScript

Время на прочтение5 мин
Количество просмотров68K
FightCode — это онлайн-игра для программистов, построенная по образу и подобию классической Robocode. Для программирования танков используется JavaScript, все сражения происходят прямо в браузере, а редактор кода на сайте имеет встроенную «песочницу», которая позволяет в реальном времени видеть эффект от изменений кода. В отличие от многих других подобных игр, создатели неплохо поработали над дизайном — игровое поле и весь сайт в целом выглядят привлекательно и ярко.



Всё это делает FightCode одним из лучших вариантов для новичков в подобных играх или для обучения программированию. Проект довольно молодой, и несмотря на то, что на сайте зарегистрировано почти 9000 игроков, пробиться в первую сотню рейтинга можно без особых усилий. Очень удобно организована система боёв со случайными соперниками — из всех доступных роботов автоматически выбираются те, чей рейтинг близок к вашему. Очки считаются по системе Эло — победа над более сильным противником даёт гораздо больше очков, чем над слабым.

Каждый участник может иметь сколько угодно роботов. Создание нового робота начинается с примитивного шаблона, который не делает почти никаких осмысленных действий. Добавив обработчики основных событий, таких как столкновения или попадания вражеского снаряда можно дать роботу набор «безусловных рефлексов», которые сделают его поведение более целесообразным и послужат отправной точкой для дальнейшего развития.
Вот как это делается:
Всего голосов 88: ↑87 и ↓1+86
Комментарии70

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность