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

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

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

Как помириться с бессонницей, или зачем Толстой студил ноги на ночь

Время на прочтение6 мин
Количество просмотров45K
image
Фотограф: Gianni Berengo Gardin
… Жизни мышья беготня…
Что тревожишь ты меня?…
Я понять тебя хочу,
Смысла я в тебе ищу…
Александр Пушкин, «наше всё». «Стихи, сочиненные ночью во время бессонницы»
Внимание, внимание: наш мир в опасности! Нет, нам угрожает не ядерная война и не астероид — просто люди стали плохо спать!

О чём речь?


У вас случается такое, что вы физически спать хотите, и даже очень, но мозг упрямо «не отключается»? Вы лежите, десять минут, двадцать. А часики тикают. Ночь с воскресенья на понедельник давно началась, сосед уже спит, соседка тоже, и котик во дворе спит, и собачка. Все спят. А вы — нет. С опаской смотрите на экран телефона — и видите, что до начала рабочего дня осталось уже совсем немного (а заодно и понимаете, что зря посмотрели на экран — читали же давеча, что свет мобильников вреден). Осознание этого ещё больше толкает вас в бездну бессонницы, и лишь под утро, измождённые, вы (возможно) засыпаете.

Что ж, если это хотя бы немного про вас, то вы не одиноки.
Читать дальше →
Всего голосов 50: ↑38 и ↓12+26
Комментарии117

Как восстановить утерянный пароль к архиву с помощью видеокарты

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

Добрый день, Хабрасообщество!


Случилось так, что мне потребовалось подобрать утерянный пароль к архиву 7zip, который содержал резервную копию нескольких файлов со старого диска. Пароль я давно потерял, а процесс его восстановления потребовал определенных усилий и оказался довольно занятным делом. Подробнее об этом и расскажу в статье.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии38

Уехать из России и найти работу за рубежом: готовимся к собеседованию на английском языке

Время на прочтение8 мин
Количество просмотров26K
Многие учат английский для того, чтобы уехать работать за границу. Знать язык на уровне Upper-intermediate и владеть азами бизнес-переписки и ведения переговоров, конечно, хорошо. Только работа за рубежом начинается не с этого. Прежде, чем попасть в зарубежную компанию, нужно пройти собеседование, и как раз к нему наши соотечественники, даже будучи хорошими специалистами, оказываются не готовы. Почему? Потому что ни одно собеседование не идет по накатанной, кадровик или непосредственный начальник наверняка зададут дополнительные вопросы, предугадать которые нереально. Но все же можно составить план, по которому следует готовиться к собеседованию, и выучить полезные выражения, которые продемонстрируют, что вы действительно свободно изъясняетесь на английском и готовы к работе в международном коллективе.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии15

Чеклист фронтенд-разработчика

Время на прочтение12 мин
Количество просмотров70K
Глеб Летушов, редактор-фрилансер, адаптировал для блога Нетологии чеклист с Github от David Dias. Этот чеклист уже переводили, но так как на Хабре его нет, мы решили, что он пригодится. В чеклисте собран полный список элементов, которые необходимо проверить перед запуском и публикацией сайта.



Список основан на многолетнем опыте фронтенд-разработчиков, а дополнения собраны из общедоступных источников.
Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии21

Интервью с Александрой Пестрецовой (Wavesplatform) о технологии блокчейн и токенизации бизнеса

Время на прочтение9 мин
Количество просмотров5.5K
На конференции White Nights Moscow 2017 CEO Getloyal, Алексей Писаревский, пообщался с директором по маркетингу блокчейн-платформы Wavesplatform — Александрой Пестрецовой.

Wavesplatform — это криптовалютный проект, запущенный российским предпринимателем Александром Ивановым в 2016 году. Кампания по запуску блокчейн-платформы собрала 16 миллионов долларов, войдя в число крупнейших по привлеченным средствам через краудфандинг. Сейчас общая капитализация WAVES превышает 500 млн долл., и по этому показателю токен входит в ТОП-15 криптовалют в мире.



В интервью обсудили:

  • индустрию блокчейна и что за ней стоит;
  • тренд токенизации;
  • методы применения блокчейна в бизнесе;
  • принцип работы платформы Waves;
  • капитализацию токена Waves;
  • самые крутые проекты на блокчейне;
  • многое другое.

Читайте полную расшифровку интервью.
Всего голосов 25: ↑20 и ↓5+15
Комментарии1

Объясняем современный JavaScript динозавру

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


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

Всего голосов 174: ↑171 и ↓3+168
Комментарии505

Как я проходил собеседования на позицию Junior .Net Developer

Время на прочтение8 мин
Количество просмотров269K
Приветствую всех. Сегодня расскажу вам как я проходил собеседования в Москве на позицию .Net Developer. Усиленно готовился к собеседованиям месяц, целыми днями сидел и смотрел вопросы и пытался отвечать на них, а также читал книжки по С#. В статье привожу интересные задачки и вопросы, которые мне задавали в разных компаниях в Москве. Заранее скажу, что я попал в ту компанию, в которую хотел. Я прошел 4 собеседования в этой компании и меня наконец то взяли! Много статей было прочитано в частности здесь и надеюсь, что эту статью тоже будут читать начинающие Net разработчики и спрашивать все в комментариях.

Кому интересна тема прохождения собеседований, прошу под кат!
Читать дальше →
Всего голосов 64: ↑51 и ↓13+38
Комментарии158

Имплементация OpenId Connect в ASP.NET Core при помощи IdentityServer4 и oidc-client

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


Недавно мне потребовалось разобраться, как делается аутентификация на OpenId Connect на ASP.NET Core. Начал с примеров, быстро стало понятно, что чтения спецификации не избежать, затем пришлось уже перейти к чтению исходников и статей разработчиков. В результате возникло желание собрать в одном месте всё, что необходимо для того, чтобы понять, как сделать рабочую реализацию OpenId Connect Implicit Flow на платформе ASP.NET Core, при этом понимая, что Вы делаете.

Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии39

Анализ исходного кода Doom 3

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

23 ноября 2011 года id Software поддержала собственную традицию и опубликовала исходный код своего предыдущего движка.

На сей раз настало время idTech4, который использовался в Prey, в Quake 4 и, разумеется, в Doom 3. Всего за несколько часов было создано больше 400 форков репозитория на GitHub, люди начали исследовать внутренние механизмы игры или портировать её на другие платформы. Я тоже решил поучаствовать и создал Intel-версию для Mac OS X, которую Джон Кармак любезно прорекламировал.

С точки зрения чистоты и комментариев это самый лучший релиз кода id Software со времени кодовой базы Doom iPhone (которая была выпущена позже, а потому откомментирована лучше). Крайне рекомендую каждому изучить этот движок, собрать его и поэкспериментировать.

Вот мои заметки о том, что я понял. Как обычно, я подчистил их, надеюсь, они сэкономят кому-нибудь пару часов и сподвигнут кого-нибудь на изучение кода для усовершенствования своих навыков программиста.
Всего голосов 89: ↑89 и ↓0+89
Комментарии36

Исходный код Quake III

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

[Примечание переводчика: перевод первой части этой статьи уже есть на Хабре, но её автор почему-то не завершил работу.]

Рендерер Quake III


Рендерер Quake III стал эволюционным развитием рендерера Quake II с аппаратным ускорением: классическая часть построена на архитектуре «двоичного разбиения»/«потенциально видимых наборов», но добавлены два новых заметных ключевых аспекта:

  • Система шейдеров, построенная поверх фиксированного конвейера OpenGL 1.X. Это было большим достижением для 1999 года. Она обеспечивала большое пространство для инноваций в эру до повсеместно распространённых сегодня вершинных, геометрических и фрагментных шейдеров.
  • Поддержка многоядерной архитектуры: клиент-серверная модель OpenGL блокирует некоторые методы и система потоков частично решает эту проблему.
Читать дальше →
Всего голосов 99: ↑97 и ↓2+95
Комментарии13

Обзор исходного кода Quake 2

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

Около месяца свободного времени я уделил чтению исходного кода Quake II. Это был удивительный и поучительный опыт, потому что в движок idTech3 внесено большое изменение: Quake 1, Quake World и QuakeGL объединены в одну красивую архитектуру кода. Особенно был интересен способ, которым достигли модульности, несмотря на то, что язык программирования C не обеспечивает полиморфизма.

Quake II во многих отношениях является блестящим образцом программного обеспечения, потому что это был самый популярный (по количеству лицензий) трёхмерный движок всех времён. На его основе было создано более 30 игр. Кроме того, он ознаменовал переход игровой индустрии от программной/8-битной системы цветов к аппаратной/24-битной. Этот переход произошёл примерно в 1997 году.

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

Процесс «подчистки» меня сильно увлёк: в статье теперь более 40 мегабайт видео, скриншотов и иллюстраций. Сейчас я не знаю, стоили ли мои труды того, и нужно ли публиковать в будущем необработанные заметки в ASCII, выскажите своё мнение.
Всего голосов 111: ↑110 и ↓1+109
Комментарии63

Компьютерное зрение на примере приложения для IKEA. Часть 1

Время на прочтение8 мин
Количество просмотров46K
Готовился к очередному хакатону, решил обновить свои знания в области компьютерного зрения. В прошлый раз задачу распознавания номеров авто в видеопотоке я так и не смог решить быстро «в лоб». Сейчас, поразмыслив, решил немного упростить задачу. Было много идей, листал фотки в телефоне и наткнулся на привычный кейс для всех, кто бывал в магазине ikea — фотографию с чеком, где указан номер товара и его положение на складе самообслуживания.

Читать дальше →
Всего голосов 68: ↑68 и ↓0+68
Комментарии14

Шаблоны проектирования с человеческим лицом

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

image


Шаблоны проектирования — это способ решения периодически возникающих проблем. Точнее, это руководства по решению конкретных проблем. Это не классы, пакеты или библиотеки, которые вы можете вставить в своё приложение и ожидать волшебства.


Как сказано в Википедии:


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

image Будьте осторожны


  • Шаблоны проектирования — не «серебряная пуля».
  • Не пытайтесь внедрять их принудительно, последствия могут быть негативными. Помните, что шаблоны — это способы решения, а не поиска проблем. Так что не перемудрите.
  • Если применять их правильно и в нужных местах, они могут оказаться спасением. В противном случае у вас будет ещё больше проблем.

В статье приведены примеры на PHP 7, но пусть вас это не смущает, ведь заложенные в шаблонах принципы неизменны. Кроме того, внедряется поддержка других языков.

Читать дальше →
Всего голосов 148: ↑134 и ↓14+120
Комментарии98

Анализ исходного кода Quake

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

Я с удовольствием погрузился в изучение исходного кода Quake World и изложил в статье всё, что я понял. Надеюсь, это поможет желающим разобраться. Эта статья разделена на четыре части:

  • Архитектура
  • Сеть
  • Прогнозирование
  • Визуализация
Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии11

Авторизация в ASP.NET Core MVC

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

Logo designed by Pablo Iglesias.


В статье описаны паттерны и приемы авторизации в ASP.NET Core MVC. Подчеркну, что рассматривается только авторизация (проверка прав пользователя) а не аутентификация, поэтому в статье не будет использования ASP.NET Identity, протоколов аутентификации и т.п. Будет много примеров серверного кода, небольшой экскурс вглубь исходников Core MVC, и тестовый проект (ссылка в конце статьи). Приглашаю интересующихся под кат.


Содержание:



Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии5

С нуля до Upper Intermediate

Время на прочтение4 мин
Количество просмотров225K
image
В этом посте вы узнаете, как я сама, без репетиторов и курсов, не потратив ни копейки, выучила аглийский за год почти с полного 0 до Upper Intermediate.

Итак, все довольно просто: Мотивация! Именно она дала толчок к саморазвитию и жажде познания английских правил, слов и букв. Согласитесь, вас мало что остановит, если у вас есть мотивация…

У каждого мотивация может быть своя: у одних это уехать заграницу в поисках лучшей жизни/работы/учебы, у других смотреть фильмы в оригинале и получать удовольствие от голосов актеров, а не слушать наши крутые, ущербные переводы, у третьих, понимать англоязычные лекции, тем самым убивая двух зайцев: изучая английский, пополняя свой словарный запас, и, развиваясь в той области, которая вам интересна. (Чисто для справки, почти в каждой области, будь то анатомия, программирование, рисование или еще чего, полно разных курсов и материалов, и их еще больше на английском, они круче и качественнее. Т. е. у вас есть больше вариантов что посмотреть и почитать.
Читать дальше →
Всего голосов 58: ↑48 и ↓10+38
Комментарии100

Экосистема разработчиков в Telegram

Время на прочтение10 мин
Количество просмотров72K
Лого

Многим уже известно, что в мессенджере Telegram помимо прямого общения между двумя людьми также реализованы другие полезные инструменты:

  • Каналы — некий симбиоз сообщений и списков рассылки, где автор или коллектив авторов обращаются к своей аудитории, но аудитория не может влиять на содержимое канала.
  • Группы — своеобразные чаты между большим количеством пользователей, где каждый участник является полноправным представителем сообщества и может влиять на повестку дня.
  • Боты — специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения, часто используются для интеграции c сервисами.

На днях на просторах Github, наткнулся на список каналов, групп, ботов в Telegram, который пополняется непосредственно разработчиками, использующими этот проект совместной разработки. Под катом можно увидеть саму IT-подборку, из которой каждый сможет выбрать что-то интересное для себя.
Читать дальше →
Всего голосов 39: ↑35 и ↓4+31
Комментарии46

Слушаем пользовательский ввод с помощью “Raw Input API” для управления фоновым приложением

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

Пожалуй, почти не осталось людей, не знающих, что такое Ctrl+C и Ctrl+V. Более опытные пользователи знают горячие клавиши часто используемых приложений. Есть те, кто использует более сложные комбинации: например, для управления плеером, находящимся в фоне. Для разработчиков реализация подобной функциональности обычно не вызывает больших трудностей, т.к. эта задача широко распространена, а о её решении уже многое написано. Но как быть, если надо в свернутом состоянии слушать пользовательский ввод с джойстика или презентера, да к тому же ещё и разбираться, от какого именно устройства пришло событие? Скажем честно, для нас эта задача оказалась чем-то новым. Под катом мы расскажем, как мы её решили на C# в WPF приложении с помощью "Raw Input API".
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии4

Гарвардский курс CS50 «Основы компьютерных наук и искусства программирования»

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


Вот уже несколько месяцев специально для JavaRush мы переводим и озвучиваем самый популярный в мире университетский курс о CS50 — «Основы компьютерных наук и искусства программирования» (трейлер). Его уже много лет очно читают для студентов Гарварда и для воспитанников Йельского университета, а в последнее время ещё и заочно для многомиллионной аудитории интернета.
Это перевод самой новой версии курса, который стартовал осенью 2015 года. В курсе 24 лекции и постепенно мы переведём их все. Намедни мы перевели 15-ю лекцию, её вы найдёте под катом в списке всех переведённых на сегодняшний день лекций.

Что вы узнаете, прослушав этот курс:

  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.

Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии11

React, Web Components, Angular и jQuery — друзья навеки. Универсальные JavaScript-компоненты

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

image
Эта статья о том, как написать универсальный JavaScript-компонент, который можно будет использовать


  • как React-компонент;
  • как Preact-компонент;
  • как Angular-компонент;
  • как Web Component;
  • как jQuery функцию для рендеринга в DOMElement;
  • как нативную функцию для рендеринга в DOMElement.

Зачем и кому это нужно


Мир JavaScript-разработки очень фрагментирован. Есть десятки популярных фреймворков, большая часть из которых абсолютно несовместима друг с другом. В таких условиях разработчики JavaScript-компонентов и библиотек, выбирая один конкретный фреймворк, автоматически отказываются от очень большой аудитории, которая данный фреймворк не использует. Это серьезная проблема, и в статье предложено ее решение.

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

Информация

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