Search
Write a publication
Pull to refresh
2
0
Николай Feycot @feycot

User

Send message

Хекслет 3.0: практические уроки по программированию в браузере

Reading time5 min
Views52K
Привет, Хабр!

Мы уже не раз писали о запуске, перезапуске и развитии образовательного проекта Хекслет. Проект стал возможным во многом именно благодаря поддержке Хабрасообщества и администрации (особенно deniskin). Спасибо вам!

Примерно месяц назад вышла бета-версия нового Хекслета! Есть несколько важных нововведений, но главная идея Hexlet.io это полноценная практика по программированию в браузере. Главное отличие от других проектов (например, Codecademy или CodeSchool) в том, что на Хекслете нет симуляторов: в каждом уроке вы работаете с полноценной машиной, подключенной к сети. Это позволяет обучать и обучаться не только программированию, но и работе с базами данных, серверами, сетью, фреймворками и так далее. Грубо говоря, если это запускается на Unix-машине – этому можно обучать на Хекслете.

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

Уязвимость «большого пальца»: я твой палец по фотографии взломаю

Reading time2 min
Views99K


Биометрия набирает обороты

В России обсуждают вопросы о создании Национального биометрического Центра с объемом базы данных 100 – 150 млн. записей. В Госдуму уже внесен проект закона об обязательной биометрической регистрации. На Хабре пишут про результаты тестирования алгоритмов биометрических компаний и пытаются выяснить, кто круче: пароль или биометрия. Даже Mastercard выпускает платёжную карту со сканером отпечатков пальцев и VISA тоже.

Хакеры ехидно потирают ручки

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

Про то, как «хакнули по фотографии» первую женщину на посту министра обороны Германии, читайте под катом.
Читать дальше →

10 самых распространённых ошибок, которые делают новички в Java

Reading time14 min
Views107K
Здравствуйте, меня зовут Александр Акбашев, я Lead QA Engineer в проекте Skyforge. А также по совместительству ассистент tully в Технопарке на курсе «Углубленное программирование на Java». Наш курс идет во втором семестре Технопарка, и мы получаем студентов, прошедших курсы по C++ и Python. Поэтому я давно хотел подготовить материал, посвященный самым распространенным ошибкам новичков в Java. К сожалению, написать такую статью я так и не собрался. К счастью, такую статью написал наш соотечественник — Михаил Селиванов, правда, на английском. Ниже представлен перевод данной статьи с небольшими комментариями. По всем замечаниям, связанным с переводом, прошу писать в личные сообщения.



Изначально язык Java создавался для интерактивного телевидения, однако со временем стал использоваться везде, где только можно. Его разработчики руководствовались принципами объектно-ориентированного программирования, отказавшись от излишней сложности, свойственной тем же С и С++. Платформонезависимость виртуальной машины Java сформировала в своё время новый подход к программированию. Добавьте к этому плавную кривую обучения и лозунг «Напиши однажды, запускай везде», что почти всегда соответствует истине. Но всё-таки ошибки до сих пор встречаются, и здесь я хотел бы разобрать наиболее распространённые из них.
Читать дальше →

Интересный и одновременно простой слайдер на чистом CSS3

Reading time5 min
Views313K
Я никому не открою Америку, не удивлю публику новым фокусом и не взорву мозг тем, кто в CSS3 плавает, как аквалангист. Расскажу простой способ, как создать слайдер с помощью простых функций CSS3 без необходимости использовния javascript.
Читать дальше →

Использование npm для глобальной установки приложений, наделённых GUI и основанных на nw.js

Reading time4 min
Views20K
Команда «npm install» в менеджере пакетов npm чаще всего употребляется для локальной установки зависимостей некоторого модуля, совершаемой в его подкаталоге «/node_modules».

Однако возможен и запуск этой команды с ключом «-g» (от слóва «global»). Он обеспечивает установку указанного ей пакета в некоторое глобальное (то есть общее для всей системы) место. Кроме того, в PATH (для последующего запуска из любого желаемого каталога) оказывается прописанною та команда, которая была указана в свойстве «"bin"» в файле package.json у установленного пакета.

Таким общим местом, согласно документации, под Windows служит подкаталог «/node_modules» в каталоге установки Node. В остальных же системах таким общим местом чаще всего оказывается каталог «/usr/local/lib/node_modules» (тогда как Node там устанавливается в каталог «/usr/local/bin»).

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

  • Команда «npm install jshint -g» обеспечивает появление в PATH команды «jshint», служащей для запуска JSHint.
     
  • Команда «npm install browserify -g» обеспечивает появление в PATH команды «browserify», служащей для запуска Browserify.
     
  • Команда «npm install less -g» обеспечивает появление в PATH команды «lessc», служащей для запуска Less.js.

Однако на CLI (на командной строке) свет клином не сошёлся — и читателям Хабрахабра должно уж вполне быть известно, что приложение на языке JavaScript, употребляющее API Node.js, можно снабдить и GUI (графическим интерфейсом пользователя), сочинённым на языках HTML и CSS. Для этого придётся и запускать такое приложение вместо Node на том движке, который до прошлого года назывался node-webkit, а в нынешнем (2015) году оказался 14 января переименованным в nw.js.

Ваши GUI-приложения также могут глобально быть установлены в системе из npm-пакета при помощи npm. Давайте поговорим об этом.

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

Как в 20 лет я стал зарабатывать по 2-3K евро в месяц на Google Adsense, и чем это закончилось

Reading time8 min
Views136K
Моя история может быть полезна всем, кто уже начинает зарабатывать на своем веб-сайте или только хочет попробовать.

Меня зовут Александр. Я родился в Казахстане в 1992 году. В 12 лет я потерял отца и переехал в Приднестровье, а затем и в Румынию, когда мне было 16 лет. В данный момент заканчиваю в Румынии университет. В будущем планирую двинуть в Лондон и окончить магистратуру по e-commerce. Семейная трагедия придала огромный импульс в том, чтобы учиться делать деньги разными способами, от купли и продажи металлолома в поселке городского типа до заработка на веб-сайте в интернете.
Читать дальше →

Путь к финансовой независимости от Бодо Шеффера (Часть 2)

Reading time10 min
Views21K
Это вторая часть конспекта книги Бодо Шеффера «Путь к финансовой независимости». Я пишу конспекты с известных книг вот из этого списка от Milfgard и это очередной из таких конспектов. В первой части мы говорили о том, что нужно ПОНЯТЬ для того, чтобы начать свой путь к финансовой независимости. Теперь пришло время разобраться, что нужно ДЕЛАТЬ.


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

Путь к финансовой независимости от Бодо Шеффера (Часть 1)

Reading time8 min
Views43K
Продолжаю писать конспекты с известных книг вот из этого списка от Milfgard. Сегодня это очень известная книга Бодо Шеффера «Путь к финансовой независимости».

Автор рассказывает, как работает личный успех и деньги вообще.


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

Xiaomi представила экстремальную камеру за 64 доллара: акции GoPro Inc. обвалились на 4,9%

Reading time1 min
Views50K
Третий в мире производитель смартфонов Xiaomi представил носимую видеокамеру для экстремальных видов спорта Yi Action Camera, которая стоит 64 доллара и по некоторым характеристикам превосходит GoPro Hero. Капитализация производителя GoPro уменьшилась на 4,9 процента.

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

На Cousera открыта запись на курсы по веб-разработке на Ruby on Rails «Web Application Architectures»

Reading time3 min
Views13K
Периодически я заходил на курсеру посмотреть доступны ли там какие-нибудь прикладные курсы. Было банально интересно, промелькнёт ли какой-нибудь лучик света за суровой теорией. Смотрел по языкам программирования, по управлению проектами, по аналитике. А сегодня увидел курс, информацией о котором и захотелось поделиться.

Его название в заголовке, а перевод описания ниже, а пока пару слов, почему я считаю, что он полезен всем:
  • Новичкам можно изучить новую для них технологию или подтянуть ещё не укрепившиеся знания.
  • Гуру-рельсовикам можно заработать Verified Certificate и тем самым подтвердить свои знания для общественности. Например, его можно прикрепить в LinkedIn или указывать в откликах на фрилансе


Смотреть содержание курса

Аудит информационного табло станций пригородных электричек

Reading time4 min
Views13K
Моя способность критиковать всё, что попадётся на глаза, давно переросла масштабы корректуры текстов. И если я не применю этот талант для совершенствования Вселенной, то рискую состариться абсолютным брюзгой.


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

Новый взгляд на хранение файлов и ссылок

Reading time3 min
Views37K
Привет, хабр! Сегодня мы хотим кратко представить вам проект над которым мы работали последние 10 месяцев. Нас в команде 4 человека и мы, используя ruby и js, создали Staply — приложение, где удобно работать вместе и хранить всё, что угодно.



Предисловие


На текущий момент существует огромное количество приложений для хранения и обмена данными:
Читать дальше →

Философия программирования 5 — Колибри и Реактос

Reading time7 min
Views36K
Кто умеет копировать, тот умеет ДЕЛАТЬ. Это сказал Леонардо да Винчи. Видите ли, вы исходите из своих представлений, о том, что такое ХР, винда, операционка. Люди как рассуждают:

— Мне было ещё мало лет у меня стояла ХР, вот были золотые деньки, но тепереча не то, что давеча. Новые времена, современное ПО. Не понимаю, зачем копаться в старье? Вы бы хоть делали клон десятой винды, но куда с вашей то скоростью, вы его сделаете лет через 100.

Но если люди копируют старое ПО, это ещё не значит, что они ретрограды или некрофилы. Во-первых они это делают сейчас, находясь в современных условиях, зная все тенденции и направления. Во-вторых, устаревание софта вообще вещь крайне контр-интуитивная. Например, в самых современных приложениях есть куски кода написанные более двадцати лет назад, и, заметьте, — никто не собирается их переписывать. Это информация, она не изнашивается, как изнашиваются метал или дерево. Но людям свойственно своё бытовое восприятие переводить на вещи нематериальные и требующие совершенно иного взгляда. Понимаете? Информация. Это не вещь. Сравнивайте со стихами Пушкина.
Читать дальше →

Опасности использования open-uri

Reading time1 min
Views14K
OpenURI в руби это стандартная библиотека сильно упрощающая работу с URL так как она объединяет в себе Net:HTTP/HTTPS/FTP и представляет из себя всего лишь метод open. Насколько я знаю это самый популярный способ для скачивания файла, GET запроса или чтения данных.

Но на деле require "open-uri" патчит Kernel.open и вызывает разный код для разных аргументов, что может привести к удаленному выполнению кода или чтению любого файла на сервере!

open(params[:url]) это выполнение кода для url=|ls Все что начинается с | рассматривается как системный вызов.

open(params[:url]) if params[:url] =~ /^http:// не лучше для url=|touch n;\nhttp://url.com (сломанные регулярки могут привести к RCE, используйте \A\z).
Читать дальше →

6 принципов визуальной иерархии

Reading time6 min
Views51K
Чтобы научиться дизайну, мы записались на курс Design 101 от trydesignlab.com. Первые уроки были посвящены визуальной иерархии. Мы перевели одну из лучших статей на эту тему от 99designs.com.



Перевод от сайта для начинающих предпринимателей «Я люблю ИП»
Читать дальше →

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

Reading time5 min
Views44K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Unheap




Огромная коллекция реально качественных и нужных jQuery плагинов, грамотно расфасованная по области применения. В Unheap 5 основных разделов UI, Inputs, Media, Nav, Other и каждый из них содержит еще с десяток подкатегорий. В общей сложности на данный момент каталог насчитывает более 1000 различных плагинов.
Читать дальше →

Как сисадмину не остаться без работы

Reading time4 min
Views96K

И при этом не попасться




Если ты админ, тебе нечем заняться, и твоя компания не нуждается в тебе ежедневно, то тебя, возможно, сократят в ближайшее время за ненадобностью. В данной статье я собрал лучшие практики от системных администраторов, которые умеют обеспечить себя работой настолько, что компания не может прожить без них и дня. Эти практики позволяют даже строить целые ИТ-отделы, там, где тебе было нечем заняться. Применять их или нет – остается на твое усмотрение:
Читать дальше →

7 советов по созданию GIF анимаций

Reading time3 min
Views217K
61563fa3ab3147239dc7777662290fbe

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

В конце концов люди начали спрашивать нас: «Как вы создаете GIF анимации?». Пришло время раскрыть секрет.
Читать дальше →

«Hero Image» — баннеры в параллаксе

Reading time3 min
Views13K
С CSS 3D Transforms у вас есть безграничные возможности. Но могущество влечет за собой ответственность. Вы будете сталкиваться с ситуациями, когда вы сможете воспользоваться всеми трехмерными преимуществами CSS. Однако в большинстве проектов вы сможете лишь слегка приукрасить некоторые вещи.

Сегодняшнее сокровище – это эффект, который завоевывает все большую популярность и создается за счет 3D Transforms. Благодаря этому мы поместили несколько изображений на ось z, после чего использовали мышь в качестве ложной трехмерной камеры, таким образом, чтобы перспектива изменялась при передвижении курсора мыши. На самом деле в этом случае мы поворачиваем изображение в трехмерном пространстве в соответствии с положением мыши.

Демо
Читать дальше →

TheRole 3. Авторизация для Ruby on Rails

Reading time13 min
Views16K
TheRole — гем для организации ролевого распределения на RoR сайте (с панелью управления)

TheRole

Gem Version Build Status 

tl;dr


Еще один (1001-ый) способ обеспечить разграничение прав в web-приложении. Концепт данного решения был довольно давно реализован на PHP, и позже был переписан на ruby. Ввиду простоты реализации описанный подход может быть применим в любом MVC фреймворке вроде Rails, Laravel и.т.д.

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

Information

Rating
Does not participate
Date of birth
Registered
Activity