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

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

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

Open Source Society University

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


Ребята называющие себя Open Source Society, взяли и собрали учебный план из бесплатных MOOC курсов, для желающих изучить информатику (Computer Science). Всего в программе 50+ курсов в ходе которых можно получить знания о разных аспектах CS. Курсы собраны с таких проектов как: Coursera, edX, Udacity, и т.д. На мой взгляд получилась добротная цепочка, на освоение которой, в зависимости от интенсивности и уровня подготовки, уйдет 1-2 года.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Как изучать китайский язык / 怎样学习汉语? Пошаговая инструкция

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров68K

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

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

И как же?
Всего голосов 22: ↑13 и ↓9+8
Комментарии39

Классическая психология в рекламных текстах: что такое архетипы и как с ними работать

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров18K

Иногда рекламная кампания, созданная интуитивно, может работать эффективнее продуманной до мелочей. Это происходит потому, что человеческий мозг фильтрует рекламные сообщения — защищается от перегрузки. Но его можно попробовать зацепить информацией, связанной с жизненным опытом. Рассказываем, что такое архетипы и как их использовать в рекламных текстах — в статьях, объявлениях и другом контенте.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии1

Что такое XML

Время на прочтение13 мин
Количество просмотров386K
Если вы тестируете API, то должны знать про два основных формата передачи данных:

  • XML — используется в SOAP (всегда) и REST-запросах (реже);
  • JSON — используется в REST-запросах.

Сегодня я расскажу вам про XML.

XML, в переводе с англ eXtensible Markup Language — расширяемый язык разметки. Используется для хранения и передачи данных. Так что увидеть его можно не только в API, но и в коде.

Этот формат рекомендован Консорциумом Всемирной паутины (W3C), поэтому он часто используется для передачи данных по API. В SOAP API это вообще единственно возможный формат входных и выходных данных!

См также:
Что такое API — общее знакомство с API
Что такое JSON — второй популярный формат
Введение в SOAP и REST: что это и с чем едят — видео про разницу между SOAP и REST.

Так что давайте разберемся, как он выглядит, как его читать, и как ломать! Да-да, а куда же без этого? Надо ведь выяснить, как отреагирует система на кривой формат присланных данных.


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

Шо там по MTProto в Telegram-то?

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

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

Интересное заявление, не правда ли. Дак давайте посмотрим на протокол шифрования тележки MTProto с криптографической точки зрения.

Ну давайте взглянем
Всего голосов 65: ↑55 и ↓10+57
Комментарии42

«Мамкины хакеры» на официальной работе: чем занимаются пентестеры

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


«Пентестер» — слово вообще-то не русское, заимствованное. Что приходит на ум людям не из ИТ, боюсь представить. Поэтому мы себя «на Руси» гордо зовём «специалисты по тестированию на проникновение». Что ещё за «проникновение» и зачем его нужно тестировать? В этой статье я постараюсь приоткрыть завесу тайны для непосвященных.
Читать дальше →
Всего голосов 63: ↑58 и ↓5+53
Комментарии34

Как изучить SQL за ночь или шпаргалка для системного аналитика

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров152K

Помните, как вы были студентами, и готовились к экзаменам по ночам?

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

Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.

Читать далее
Всего голосов 51: ↑46 и ↓5+52
Комментарии41

Законы рефлексии в Gо

Время на прочтение9 мин
Количество просмотров49K
Привет, Хабр! Представляю вашему вниманию перевод статьи «The Laws of Reflection» от создателя языка.

Рефлексия — способность программы исследовать собственную структуру, в особенности через типы. Это форма метапрограммирования и отличный источник путаницы.
В Go рефлексия широко используется, например, в пакетах test и fmt. В этой статье попытаемся избавиться от «магии», объяснив, как рефлексия работает в Go.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии10

Самодельный генератор Ван де Граафа

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

Как любитель ядерной физики и ускорительной техники я всегда нахожусь в поиске новых источников высокого напряжения. Обычно таким устройством оказывается нечто на основе большого трансформатора, умножителя напряжения или их комбинации. Но существует и множество других методов генерации высокого напряжения, которые зачастую не учитываются и рассматриваются как устаревшие. Один из них – это старый добрый генератор Ван де Граафа, изобретённый ещё в 1929 году. О сборке подобного устройства собственными силами и пойдёт речь в данной статье.
Читать дальше →
Всего голосов 67: ↑64 и ↓3+87
Комментарии3

Теория типов

Уровень сложностиСредний
Время на прочтение43 мин
Количество просмотров32K

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

Что можно узнать из этой статьи?
Всего голосов 75: ↑75 и ↓0+75
Комментарии70

Что такое XSS-уязвимость и как тестировщику не пропустить ее

Время на прочтение8 мин
Количество просмотров224K
Привет, коллеги. Меня зовут Виталий Котов. По моему наблюдению довольно много тестировщиков когда-либо слышали такое понятие, как XSS-уязвимость. Но мало кто может просто и на пальцах рассказать на собеседовании про нее. Или эффективно проверить веб-сайт на наличие этой уязвимости. Давайте вместе разберемся со всем этим подробнее и попробуем сами найти несложную XSS-уязвимость на демо-странице, которую я специально подготовил к этой статье.

Если вы гуру тестирования безопасности и на раз-два участвуете в баунти-программах крупных IT-компаний, а количество найденных вами XSS исчисляется десятками или даже сотнями — можно смело проходить мимо этой статьи. Если же вы новичок в теме и только начинаете интересоваться поиском уязвимостей — добро пожаловать под кат.


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

Многомировая интерпретация квантовой механики

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

Наверняка большинство из вас нет-нет да и встречало в научно-популярной литературе упоминания о "многомировой интерпретации" квантовой механики (ММИ). Ее любят помянуть и в комментариях на Хабре, однако зачастую в неверном ключе или с серьезными неточностями.


image

Попробуем разобраться, что же к чему в ММИ.

Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии364

Я выпустил Grafar — JS-библиотеку для визуализации

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

После пяти лет в столе я готов представить свою библиотеку для визуализации — grafar. У нас есть: 3D, реактивные вычисления и самое простое АПИ для построения математических графиков прямо в браузере. В статье рассказываю, что я сделал и как этим пользоваться.

Читать далее
Всего голосов 81: ↑81 и ↓0+81
Комментарии11

Трёхмерная графика с нуля. Часть 1: трассировка лучей

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


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

В этой работе мы сосредоточимся не на скорости, а на чётком объяснении концепций. Код примеров написан наиболее понятным образом, который не обязательно является самым эффективным для реализации алгоритмов. Есть множество способов реализации, я выбрал тот, который проще всего понять.

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


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

Монады с точки зрения теории категорий

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

Введение

Кажется, монады в программировании стали загадкой века. И для этого есть две причины:
  • недостаточное знание теории категорий;
  • многие авторы стараюстся не упоминать категории вообще.
Это как говорить об электричестве не используя мат. анализ. Достаточно для замены предохранителя, не хватит, чтобы спроектировать усилитель.

Мы начнём с простого введения в категории и функторы, затем дадим определение монады, приведём простые примеры монад в категориях и в конце приведём монадическую терминологию используемую в языках программирования.

Я уверен, что монады с точки зрения категорий почти элементарны.

Содержание

  1. Категория
  2. Функтор
  3. Естественное преобразование
  4. Монада
  5. Монады исключения и состояния
  6. Монады в программировании
  7. Ссылки
Читать дальше →
Всего голосов 126: ↑105 и ↓21+84
Комментарии151

Функциональный Swift — это просто

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

image


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


Недостаток один — высокий порог входа. Пытаясь разобраться в ФП, я столкнулся с огромным количеством теории, функторами, монадами, теорией категорий и алгебраическими типами данных. А как применять ФП на практике, было неясно. Кроме того, примеры приводились на незнакомых мне языках — хаскеле и скале.


Тогда я решил разобраться в ФП самого начала. Разобрался и рассказал на codefest о том, что ФП — это на самом деле просто, что мы уже им пользуемся в Swift и можем пользоваться еще эффективнее.

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

Популярная музыка на самом деле деградирует

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

Многие из нас либо слышали, либо сами высказывались о деградации современной музыки. Треки верхних строчек топ-чартов с каждым годом становятся все менее выразительными и более похожими друг на друга. Оказалось, что это не ретроградное заблуждение, а относительно давно подтвержденный наукой факт.

Читать далее
Всего голосов 201: ↑183 и ↓18+216
Комментарии868

Метод наборов

Время на прочтение3 мин
Количество просмотров6.9K
Читая книгу «Конкретная математика», одновременно набираясь знаний и осознавая свою некомпетентность в вопросе, ещё в самой первой главе я наткнулся на метод наборов, который авторы используют для решения Задачи Иосифа Флавия. Метод они не объясняют, сочтя его слишком элементарным, так что пришлось искать информацию о нём самому. В рускоязычном сегменте интернетов достаточно подробного описания не нашел, поэтому воспользовался ответом с math.stackexchange.com, который позже перевёл, и теперь представляю его вам, дабы те, кто тоже не понял метод инстинктивно, смогли проникнуться.
Далее — перевод от первого лица.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии3

Олды в ИТ

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

Когда ты молод, ты «бессмертен» и не задумываешься о старости. Есть просто уверенность, что если много и хорошо работать, то твоя карьера и доходы будут неуклонно расти. Следуя этой стратегии, ты развиваешься в профессии уже 15, 20, 30 лет. За эти годы уже получил огромный опыт и, наверное, он обязательно поможет безбедно и интересно прожить остаток дней. Но все не так просто. Да, ты уже давно работаешь в хорошей компании, занимаешься интересными проектами, получаешь за это достойную зарплату, но в будущем уже не так уверен, как раньше. Профессиональный возраст приходит с массой вопросов, на которые нужно ответь стратегически.

 Эта статья родилась на основе обсуждения горячей темы «Олды в ИТ», которую 4 января 2021 г. мы записали для подкаста Linkmeup. Обязательно послушайте запись здесь или в любимом подкаст-приложении.

Читать далее
Всего голосов 144: ↑137 и ↓7+174
Комментарии435

Архитектурные паттерны в iOS

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

Введение в MVP, MVC, MVVM и VIPER. Что между ними общего и в чем разница.



Делаете все по MVC, а получается некрасиво? Сомневаетесь, переходить ли на MVVM? Слышали о VIPER, но не уверены, стоит ли оно того?

В этой статье я кратко рассмотрю некоторые популярные архитектурные паттерны в среде iOS и сравню их в теории и на практике. Больше информации вы найдете при переходе по ссылкам, указанным в тексте.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии18
1
23 ...

Информация

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