Pull to refresh
13
0
Алеся Гузик @nekotwi

Clojure-разработчица, контрибьюторка в NixOS

Send message

Знай сложности алгоритмов

Reading time2 min
Views989K
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16+280
Comments99

27+ ресурсов для онлайн-обучения

Reading time5 min
Views969K

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

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

Читать дальше →
Total votes 174: ↑163 and ↓11+152
Comments68

MiTM атака на SSH

Reading time2 min
Views44K
В новой версии Intercepter-NG появилась возможность провести полноценную атаку на SSH-2 протокол.

Атакующий получает данные авторизации пользователя и логирует весь сеанс связи, запуск команд и результат их выполнения.
Для этого Intercepter перенаправляет трафик жертвы на свой собственный ssh сервер и в случае успешной авторизации
проксирует соединение до оригинального сервера.
Читать дальше →
Total votes 76: ↑60 and ↓16+44
Comments79

Wikileaks отдыхает — ICIJ опубликовал исследование крупнейшей утечки данных об офшорных счетах сильных мира сего

Reading time2 min
Views86K


Пятнадцать месяцев назад анонимный источник передал в распоряжение Международного консорциума журналистов-расследователей (ICIJ) 2 500 000 файлов общим объёмом в 260 гигабайт, содержащих данные о финансовых транзакциях 130 000 организаций и частных лиц из 170 стран мира, которые использовали офшорные зоны для уклонения от налогов.

ICIJ объединяет журналистов крупных мировых изданий, ведущих расследования злоупотреблений представителей власти и крупного бизнеса. Исследование 30 лет истории офшорных транзакций, которое 86 журналистов из 46 стран вели больше года — самый крупный проект консорциума за всю его историю. По данным организации Tax Justice Network, сильные мира сего прячут в офшорных «райских уголках» планеты от 21 до 32 триллионов долларов.
Читать дальше →
Total votes 138: ↑132 and ↓6+126
Comments163

Практика борьбы с прокрастинацией и нелюбовью к планированию

Reading time7 min
Views165K
DISCLAIMER: Все изложенные ниже приемы работают для меня, и не факт, что будут работать для вас. IMHO only, на истинность в последней инстанции не претендую.

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

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



Отдых тела и ума


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

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

Активное тело, температура в помещении
Иногда нужно размять тело. Вовсе не так просто в СССР была производственная зарядка, о которой так бодро пел Высоцкий.

Тут есть глубокий физический смысл. Когда вы приводите свои мышцы в активность, повышается их тонус, в теле изменяется обмен веществ. Организм понимает, что нужно стать бодрее — и через 10-15 минут разминки вы себя не узнаете.
Читать дальше →
Total votes 94: ↑77 and ↓17+60
Comments43

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

Reading time4 min
Views166K
«Право налогоплательщика избегать уплаты налогов с использованием всех разрешенных законом способов никем не может быть оспорено. Каждый имеет право вести свои финансовые дела таким образом, чтобы свести соответствующие платежи к минимуму…»
Дж. Сандерленд,
Судья Верховного Суда США


После моей статьи про поиск инвестиций, я получил много просьб рассказать подробнее про открытие компании за рубежом, и осветить финансовые вопросы. В данном топике я попытался изложить основные моменты, не претендуя на истину в последней инстанции.
Читать дальше →
Total votes 152: ↑147 and ↓5+142
Comments201

Подборка инструментов для фронт-энд разработки

Reading time2 min
Views134K
Как разработчику, мне очень нравятся инструменты, которые помогают сэкономить время или упростить процесс разработки фронт-энда. В этой статье я собрал мои любимые веб-инструменты для упрощения разработки веб-интерфейсов.

Картинки кликабельны.

Form builder


Формы являются очень важной частью любого веб-сайта, но их верстка может занять продолжительное время. Этот очень удобный инструмент, поможет вам создать красивую веб-форму очень быстро.
image
Читать дальше →
Total votes 202: ↑184 and ↓18+166
Comments40

20 вещей, которые я должен был знать в 20 лет

Reading time3 min
Views715K
1. Мир пытается оставить тебя тупым. Начиная от банковских платежей и процентов и заканчивая чудо-диетами — из необразованных людей легче вытрясти деньги и ими проще управлять. Занимайтесь самообразованием столько, сколько можете — для того, чтобы быть богатым, независимым и счастливым.
Читать дальше →
Total votes 544: ↑445 and ↓99+346
Comments544

Упражнения по взлому Linux-систем

Reading time2 min
Views16K
Для тех, кто интересуется вопросами безопасности и уязвимостями Linux, создан обучающий проект exploit-exercises.com с подборкой виртуальных Linux-машин, описаниями уязвимостей, документацией и практическими заданиями.

1. Виртуальная машина Nebula
торрент-файл
прямая ссылка

Самые общие уязвимости, связанные с эскалацией привилегий в Linux: это SUID-файлы, разрешения, состояние гонки (race conditions), метапеременные оболочки, уязвимости $PATH, уязвимости скриптовых языков, ошибки компиляции бинарных файлов.
Читать дальше →
Total votes 107: ↑102 and ↓5+97
Comments19

Вам не страшно открывать редактор?

Reading time13 min
Views3.1K
В какой-то момент я стал замечать, что пишу более качественный: оптимальный, логичный и читаемый код, но пишу его медленно. По крайней мере, куда медленнее, чем лет 15 назад. Да, на старый код без слёз не взглянешь: всё можно сделать оптимальнее и, по крайней мере, читабельнее. Но код был написан быстро.

Проблема в контроле. Я стал жестче и глубже контролировать код и… стал тратить на этот контроль слишком много ресурсов.

Основной принцип прост. Если контролю подлежит 10-20% случаев, то на контроль надо тратить… 0% ресурсов. Баги и переписывания всё равно будут. Но лучше разделить кодирование и отладку и на время кодирования об ошибках вообще забыть.
Читать дальше →
Total votes 171: ↑128 and ↓43+85
Comments115

Обзор бесплатных инструментов для пентеста web-ресурсов и не только v2

Reading time8 min
Views190K
Как-то давно я уже писал об этом, но немного скудно и сумбурно. После я решил расширить список инструментов в обзоре, добавить статье структуры, учесть критику (большое спасибо Lefty за советы) и отправил ее на конкурс на СекЛаб (и опубликовал ссылку, но по всем понятным причинам ее никто не увидел). Конкурс закончен, результаты объявили и я с чистой совестью могу ее (статью) опубликовать на Хабре.

Бесплатные инструменты пентестера веб-приложений


В данной статье я расскажу о наиболее популярных инструментах для пентестинга (тестов на проникновение) веб-приложений по стратегии «черного ящика».
Для этого мы рассмотрим утилиты, которые помогут в данном виде тестирования. Рассмотрим следующие категории продуктов:

  1. Сетевые сканеры
  2. Сканеры брешей в веб-скриптах
  3. Эксплойтинг
  4. Автомазация инъекций
  5. Дебаггеры (снифферы, локальные прокси и т.п.)

Читать дальше →
Total votes 111: ↑107 and ↓4+103
Comments22

Лекториум записал почти тысячу лекций за год

Reading time4 min
Views57K
Дорогой Хабр!



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

UPD2 Помогите, пожалуйста, оперативно решить вопрос насчёт организации торрентов на php.

Читать дальше →
Total votes 340: ↑333 and ↓7+326
Comments183

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

Reading time9 min
Views34K

Введение

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

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

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

Содержание

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

Стоит ли быть «успешным»?

Reading time6 min
Views48K
Как надоели эти тематические статьи о повышении результативности, мотивации и прочей чепухе. Зачем люди их пишут? Чтобы помочь тем, кто запутался в себе? Для тех, кому тяжело сосредоточиться? Вряд-ли это так.

Современная жизнь диктует нам, что все нужно делать быстро, добиваться максимальной эффективности. Непременно нужно быть очень успешным. Нужно двигаться к цели, каждый день, каждый час, ежеминутно. Оставив все лишнее, бросить все силы на достижение результата. Иначе нет смысла жить.
Читать дальше →
Total votes 325: ↑293 and ↓32+261
Comments253

Нелепые глупости

Reading time2 min
Views1.3K
Так уж случилось, что в свободное от основной работы время я начал писать программы. Правильные (возможно) программы, программы, которые мне нравилось (и нравится) писать – программы, которые мне нравится использовать. Пока их ажно целых две ). В принципе, это достаточно большие программы (более 2 Мб исходников каждая). При создании их доводилось натыкаться на “непонятные странности” достаточно “неправильное“, на первый взгляд поведение компилятора/программы и операционной системы. После разбора полетов, в очередной раз удостоверялся, что я СЗЗБ (сам себе злобный буратинко). В любом случае – пара примеров, как я глючил и как делать не надо (все под вин32 – интел86).

Читать дальше →
Total votes 64: ↑38 and ↓26+12
Comments34

Создание операционной системы на базе ядра linux. С нуля

Reading time7 min
Views204K
Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный...) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.
Читать дальше →
Total votes 184: ↑118 and ↓66+52
Comments61

Просто о Хиндли-Милнере

Reading time5 min
Views20K

Введение


Robert MilnerЕсли вы когда-нибудь интересовались не слишком популярными языками, то должно быть слышали о «Хиндли-Милнере». Этот алгоритм вывода типов используются в F# и Haskell и OCaml, как и в их предшественнике ML. Некоторые исследователи даже пытаются использовать ХМ для оптимизации динамических языков вроде Ruby, JavaScript и Clojure.

И не смотря на его распространенность, до сих пор не было простого и понятного объяснения, что же это такое. Как же эта магия работает? Всегда ли выводимые типы будут верными? Или чем Хиндли-Милнер лучше, скажем, Java? И пока те, кто действительно знает что такое ХМ будут восстанавливаться от очередного умственного перенапряжения, мы попробуем разобраться в этом сами.
Читать дальше →
Total votes 65: ↑62 and ↓3+59
Comments12

Тайм-менеджмент: эволюция

Reading time1 min
Views22K
Года два назад я решил заняться тайм-менеджментом, так как мне казалось, что я живу крайне неэффективно и такими темпами никогда «не приду к успеху». Я прочитал несколько книжек и бесчисленное множество статей от доморощенных гуру тайм-менеджмента разной степени пришибленности. Я даже разработал собственную методику, включавшую в себя аспекты из нескольких систем, и написал специальный софт, так как всё, что имелось на рынке, было слишком жалким и недостойным моего внимания.

И только сейчас, когда 11 часов в день я трачу на работу, и реально свободное время появляется только в выходные, я понял, какая это всё хрень. Теперь я убеждён, что люди, которые занимаются тайм-менеджментом — банальные бездельники, которым просто некуда девать своё время. Они не находят для него лучшего применения, чем рисовать всякие хитровыкрученные схемки и вести десяток отдельных блокнотиков для дел типа «почистить зубы» и «пообедать». Их мозг изнывает от безделья, и они занимают его псевдонаучной жвачкой, которая даёт иллюзию продуктивной жизни.

Вы хотите жить эффективно? Устройтесь на работу с полным графиком, поступите в аспирантуру, начните ходить в спортзал и делать зарядку по утрам. Если покажется мало, то возьмитесь за два-три сторонних проекта. Через пару месяцев случится одно из двух: либо вы сдохнете, либо самоорганизуетесь и уже никогда не будете забивать голову ерундой вроде тайм-менеджмента.
Total votes 311: ↑272 and ↓39+233
Comments111

Духи-покровители программиста

Reading time3 min
Views4.6K
За душу программиста сражаются три могущественных духа-покровителя: Художник, Трудяга и Прагматик.

Если вы слышите внутри себя голос: «Ты не можешь рисовать», рисуйте во что бы то ни стало, пока голос не стихнет.
— Винсент ван Гог


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

Читать дальше →
Total votes 122: ↑99 and ↓23+76
Comments61

Information

Rating
Does not participate
Location
Sydney, New South Wales, Австралия
Date of birth
Registered
Activity