Search
Write a publication
Pull to refresh
0
0
Виктор @Tippler

User

Send message

Ищем уязвимости с помощью google

Reading time8 min
Views151K
Любой поиск уязвимостей на веб-ресурсах начинается с разведки и сбора информации.
Разведка может быть как активной — брутфорс файлов и директорий сайта, запуск сканеров уязвимостей, ручной просмотр сайта, так и пассивной — поиск информации в разных поисковых системах. Иногда бывает так, что уязвимость становится известна еще до открытия первой страницы сайта.

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

Улучшаем свой английский: изобретаем субтитры заново

Reading time5 min
Views50K

1. Intro




— Татьяна Леонидовна, а можно, мы посмотрим это кино с субтитрами?
— Нет, малолетние дятлы, мы тренируем ваше слуховое восприятие, поэтому кино вы будете смотреть без них! С субтитрами вы будете только читать текст и не слушать.
— Татьяна Леонидовна, но без субтитров мы больше половины не понимаем!
— А вот это уже ваши проблемы.

Начало 2000-х, диалог с учителем во французской спецшколе, Санкт-Петербург.

Далее

Какие фильмы запомнились нам своей музыкой

Reading time5 min
Views32K


Фото Simon Bonaventure CC BY-SA

Музыка должна делать фильм запоминающимся, придавать ему пикантности, душевности, то есть выделять в фильме самые главные моменты, впечатления от которых остаются с вами надолго.
Читать дальше →

От действий над матрицами к пониманию их сути…

Reading time5 min
Views147K
Очень уважаю людей, которые имеют смелость заявить, что они что-то не понимают. Сам такой. То, что не понимаю, — обязательно должен изучить, осмыслить, понять. Статья "Математика на пальцах", и особенно матричная запись формул, заставили меня поделиться своим небольшим, но, кажется, немаловажным опытом работы с матрицами.

Лет эдак 20 назад довелось мне изучать высшую математику в вузе, и начинали мы с матриц (пожалуй, как и все студенты того времени). Почему-то считается, что матрицы — самая лёгкая тема в курсе высшей математики. Возможно — потому, что все действия с матрицами сводятся к знанию способов расчёта определителя и нескольких формул, построенных — опять же, на определителе. Казалось бы, всё просто. Но… Попробуйте ответить на элементарный вопрос — что такое определитель, что означает число, которое вы получаете при его расчёте? (подсказка: вариант типа «определитель — это число, которое находится по определённым правилам» не является правильным ответом, поскольку говорит о методе получения, а не о самой сути определителя). Сдаётесь? — тогда читаем дальше…
Читать дальше →

Обход DPI провайдера на роутере с OpenWrt, используя только busybox

Reading time5 min
Views70K
image
Всем привет, в свете последних новостей от РосКомНадзора решил я глянуть, как дела с блокировками у моего провайдера. Оказалось, что гугловский DNS не спасает, а блокировка работает путем выделения HTTP запроса на запрещенный сайт и последующего дропания пакетов найденной TCP сессии. Однако после небольшого ковыряния оказалось, что для обхода достаточно одного busybox'а. Кому интересно — велком под кат.

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

Создание архитектуры программы или как проектировать табуретку

Reading time25 min
Views709K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →

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

Reading time8 min
Views136K
В интернете полным-полно создателей контента, и каждый хочет привлечь к себе внимание. Но, как ни странно, хороший учебный ресурс найти нелегко, а бесплатный – еще сложнее. Мы публикуем перевод материала, в котором автор собрал ссылки на самые авторитетные и полезные обучающие площадки.


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

Разные языки программирования и их области применения. Лекция в Яндексе

Reading time28 min
Views454K
Наш первый пост в этом году мы решили посвятить очень базовой теме, лекция на которую была прочитана в Малом ШАДе. Занимаются в нём старшеклассники, которым интересны технологии, отсюда специфичность изложения — лекция будет особенно интересна тем, кто только начинает программировать и задумывается о том, в каком направлении развиваться. Для них же у Яндекса есть курс «Введение в программирование (С++)», который можно пройти на платформе Stepic.org.

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



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

Как всегда, под катом — подробная расшифровка лекции, чтобы вы могли сориентироваться в ее содержании.
Читать дальше →

Коллекция практических советов и заметок по вёрстке

Reading time32 min
Views184K

CSS Refresher


Это большая коллекция практических советов и заметок по вёрстке. Своеобразная памятка для тех, кто каждодневно использует CSS. Освещаются самые разные темы, от деталей поведения плавающих элементов до использования SVG и спрайтов. Проект постоянно обновляется, активное сообщество github также принимает в нем участие, там добавляются интересные замечания, о которых, возможно, вы и не слышали.

От переводчика


Приветствую всех, меня зовут Максим Иванов, и сегодня я подготовил для вас перевод заметок разработчика из Сан-Франциско Васанта Кришнамурти (Vasanth Krishnamoorthy) «CSS Refresher». Web-программирование одна из самых быстро развивающихся отраслей в наше время. Казалось бы, возьми какой-нибудь видеокурс на tuts+ и освой html-верстку, однако, как говорил разработчик Opera Software Вадим Макеев, выступая на конференции CodeFest, они все равно это делают плохо. Но давайте посмотрим, может мы итак все это знаем.

Содержание


  1. Позиционирование (position)
  2. Отображение элемента в документе (display)
  3. Плавающие элементы (float)
  4. CSS селекторы
  5. Эффективные селекторы
  6. Переотрисовка и перерасчет
  7. CSS3 свойства
  8. CSS3 медиа-запросы
  9. Адаптивный web-дизайн
  10. CSS3 переходы
  11. CSS3 анимации
  12. Масштабируемая векторная графика (SVG)
  13. CSS спрайты
  14. Вертикальное выравнивание
  15. Известные проблемы

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

Ресурсы для дизайнеров и front-end-разработчиков

Reading time5 min
Views64K
Ниже представлена подборка инструментов для дизайнеров и front-end-разработчиков. Мы настоятельно рекомендуем вам просмотреть их все. Надеемся, что вы найдете для себя что-то полезное.

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

Создание веб-сайта. Курс молодого бойца

Reading time24 min
Views872K
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Читать дальше →

Совмещаем изучение английского языка с досугом

Reading time7 min
Views48K
Многие люди предлагают различные методики, описывают мобильные приложения, рекомендуют курсы и многое другое, я же хочу рассказать свой личный опыт изучения английского языка на протяжении последних 4 лет.

Как введение могу сказать что более 4 лет назад на самом рассвете моей карьеры в IT я собеседовался в одну всем известную и очень большую иностранную фирму. Как полагается в таком случае собеседование было на английском языке.

Собственно после этого собеседования я принял для себя решение что английский язык для программиста это не просто язык чтения документации и его надо учить так же как и все IT дисциплины.

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

Подробности

Игра для математика. Устный счёт

Reading time3 min
Views43K
Подумать только, живём мы в чудесную эпоху, изобрели вычислительные машины, забыли как пользоваться механическими счётами, у каждого второго в кармане сверхмощная ЭВМ, пару поколений уже выросло имея карманные калькуляторы, элементарные вычисления востребованы всё реже. Давно ли вам приходилось считать в уме? Ну, скажем, почему бы не сложить пару четырёх или пятизначных чисел делая покупки, потом дать кассиру деньги с точностью до копейки? Скажете, ерунда всё это, пустая трата времени. Кому пустая, кому не пустая. Я же считаю, что во-первых для поддержания функциональности мозга нужно периодически пользоваться этой замечательной функциональностью, а во-вторых искусство преуспевать в базовых навыках делает человека мастером.

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


Та ну, тут же всё опирается в реакцию и слепой набор чисел
Читать дальше →

5 принципов работы со знаниями для инженера

Reading time5 min
Views39K


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

13 основных принципов геймдизайна: прогрессия, окружение, метод и основы

Reading time3 min
Views38K


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

Как писать тестируемый код

Reading time17 min
Views88K
image


Если вы программист (или чего хуже архитектор), то можете ли вы ответить на такой простой вопрос: как писать НЕ тестируемый код? Призадумались? Если с трудом можете назвать хотя бы 3 способа добиться не тестируемого кода, то статья для вас.

Многие скажут: а зачем мне знать, как писать не тестируемый код, плохому хочешь меня научить? Отвечаю: если знать типичные паттерны не тестируемого кода, то, если они есть, можно легко увидеть их в своем проекте. А, как известно, признание проблемы — уже половина пути к лечению. Также в статье дается ответ, как собственно осуществляется такое лечение. Прошу под кат.
Читать дальше →

40 ключевых концепций информационных технологий доступно и понятно

Reading time16 min
Views161K
Представляю вашему вниманию перевод очень ёмкой, и в то же время достаточно краткой (для такого масштаба проблемы) статьи Карла Чео. Я решил, что очень хочу сделать её перевод практически сразу, как только начал читать, и очень рад, что в итоге сделал это.
Для того, чтобы сделать обучение более веселым и интересным, представляю вам перечень важных теорий и концепций информатики, объяснённых с помощью аналогий с минимальным количеством технических деталей. Это будет похоже на очень быстрый курс информатики для всех с целью просто дать вам общее представление об основных концепциях.

Важные замечания:
  • Пункты с неуказанным источником написаны мной самостоятельно. Поправьте меня, если вы заметите какие-то неточности. Предложите лучшую аналогию, если это возможно.
  • Заголовки ссылаются на соответствующие им статьи в Wikipedia. Пожалуйста, читайте эти статьи для более серьезных и детальных объяснений.
  • Аналогии — отличный способ объяснить материал, но они не идеальны. Если вы хотите по-настоящему понять перечисленные концепции, вам следует начать с фундаментальных азов и рассуждать, исходя из них.

Также зацените эту инфографику (вариант на русском), если вы просто начинающий программист.
Читать дальше →

Фоны старых квестов — методы разработки, секреты, советы

Reading time12 min
Views43K


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

Давайте, впрочем, вернемся к теме сегодняшней публикации. Считаю это маленьким открытием, и мне непременно нужно поделиться им с теми, кто собирается соединить некоторый отрезок своей жизни с тем, что может называться классической адвенчурой. Быть может это поможет вернуть на рынок игры, которые немного оттеснят «хипстерский пиксель» заменив его на то, что может напомнить времена лучших игр от «Westwood Studios», «Sierra» и «Lucas Arts». Предположу вскользь, что множество художников и так знают это. И, тем не менее — я не заметил публикаций на эту тему. Наша братия не спешит делиться своими секретами, сохраняя некую монополию на собственные открытия.

Я хотел приурочить эту статью к началу разработки собственной адвенчуры. Но кто знает, когда это произойдет? А вам эта информация может помочь уже сейчас. Стоит ли откладывать? Думаю, что нет. Лопаты в руки.


Продолжить копать

Издание в Стиме с минимальными затратами

Reading time3 min
Views58K
Исправление от 07.05.2016
В сети слишком часто ссылаются на этот мой текст, поэтому я хочу предостеречь людей: я не несу никакой гарантии за достоверность данных, рассказанных тут полгода назад. По хорошему, я хотел бы удалить эту статью, но не вижу такой кнопки в интерфейсе сайта. Тем не менее, я счел необходимым удалить некоторые пункты этим исправлением.


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

Освоение специальности Data Science на Coursera: личный опыт (ч.1)

Reading time9 min
Views72K


Недавно Владимир Подольский vpodolskiy, аналитик в департаменте по работе с образованием IBS, закончил обучение по специализации Data Science на Coursera. Это набор из 9 курсеровских курсов от Университета Джонса Хопкинса + дипломная работа, успешное завершение которых дает право на сертификат. Для нашего блога на Хабре он написал подробный пост о своей учебе. Для удобства мы разбили его на 2 части. Добавим, что Владимир  стал еще и редактором проекта по переводу специализации Data Science на русский язык, который весной запустили IBS и ABBYY LS.

Часть 1. О специальности Data Science в общих чертах. Курсы: Инструменты анализа данных (программирование на R); Предварительная обработка данных; Документирование процесса обработки данных.

Привет, Хабр!


Не так давно закончился мой 7-месячный марафон по освоению специализации «Наука о данных» (Data Science) на Coursera. Организационные стороны освоения специальности очень точно описаны тут. В своём посте я поделюсь впечатлениями от контента курсов. Надеюсь, после прочтения этой заметки каждый сможет сделать для себя выводы о том, стоит ли тратить время на получение знаний по аналитике данных или нет.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity