Pull to refresh
9
0
Эрнест @Kokker

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

Send message

Как понять, что происходит на сервере

Reading time9 min
Views82K


Александр Крижановский ( krizhanovsky, NatSys Lab.)


По Сети уже давно бегает эта картинка, по крайней мере, я ее часто видел на Фейсбуке, и появилась идея рассказать про нее:


Читать дальше →
Total votes 98: ↑96 and ↓2+94
Comments20

Grep все, что можно

Reading time6 min
Views55K

Про grep знают если не все, то многие читатели Хабра, однако его многочисленных родственников знают немногие.




Давайте узнаем, как можно грепать все, что таит в себе хоть крупицу текста.

Читать дальше →
Total votes 93: ↑91 and ↓2+89
Comments48

Обучаемся самостоятельно: подборка видеокурсов по Computer Science

Reading time11 min
Views126K
image

Содержание


  1. Введение в Computer Science
  2. Структуры данных и Алгоритмы
  3. Системное программирование
  4. Распределенные системы
  5. Базы данных
  6. Объектно-ориентированный дизайн и разработка софта
  7. Искусственный интеллект
  8. Машинное обучение
  9. Веб-разработка и интернет-технологии
  10. Concurrency
  11. Компьютерные сети
  12. Разработка мобильных приложений
  13. Математика для программистов
  14. Теория информатики и языки программирования
  15. Архитектура компьютера
  16. Безопасность
  17. Компьютерная графика
  18. Работа с изображениями и компьютерное зрение
  19. Интерфейс Человек-Компьютер
  20. Вычислительная биология
  21. Прочее

Total votes 78: ↑64 and ↓14+50
Comments23

Дюк, вынеси мусор! — 1. Введение

Reading time13 min
Views210K


Наверняка вы уже читали не один обзор механизмов сборки мусора в Java и настройка таких опций, как Xmx и Xms, превратилась для вас в обычную рутину. Но действительно ли вы в деталях понимаете, что происходит под капотом вашей виртуальной машины в тот момент, когда приходит время избавиться от ненужных объектов в памяти и ваш идеально оптимизированный метод начинает выполняться в несколько раз дольше положенного? И знаете ли вы, какие возможности предоставляют вам последние версии Java для оптимизации ответственной работы по сборке мусора, зачастую сильно влияющей на производительность вашего приложения?

Попробуем в нескольких статьях пройти путь от описания базовых идей, лежащих в основе всех сборщиков мусора, до разбора алгоритмов работы и возможностей тонкой настройки различных сборщиков Java HotSpot VM (вы ведь знаете, что таких сборщиков четыре?). И самое главное, рассмотрим, каким образом эти знания можно использовать на практике.
Узнать
Total votes 36: ↑36 and ↓0+36
Comments7

19 советов по повседневной работе с Git

Reading time14 min
Views285K


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →
Total votes 152: ↑149 and ↓3+146
Comments62

Расширенный материал по Java 8

Reading time4 min
Views52K
Не секрет, что многие Java-программисты, начиная свой путь в индустрии, уделяют большое внимание «тяжелым» технологиям — OpenJPA, Spring, JAX-RS, EJB, WS-*,… Это дает возможность как скорее влиться в современные корпоративные проекты, так и максимизировать скорость роста зарплаты.

Многие из них в конце концов «спускаются» до технологий лежащих в основе указанных фреймворков — JDBC, Servlet API, NIO/NIO.2. Однако прискорбно, что зачастую не остается время на детальное изучение самого языка и возможностей платформы.

Речь идет не о тонкостях или экзотике, а о том, что составляет существенную часть работы фреймворка: Servlet-контейнер использует множественные ClassLoader-ы, JPA2-провайдер использует манипулирование байткодом, абсолютное большинство библиотек используют Reflection API, всеобщее использование Generics только «усугубилось» с появлением функциональных интерфейсов (java.lang.function.*) и лямбд.

На недопонимание изначальной платформы (ClassLoader, Reflection API) накладываются «новвоведения» Java 5 (Generics), а теперь еще и Java 8 (методы в интерфейсах, ссылки на методы, лямбды, Stream API, JSR 308: Pluggable Type Systems). Надо обратить внимание на то, что Generics + Java 8 — это не просто языковые фичи, это частично переход к функциональному стилю программирования.

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

Я собрал определенное количество полезных (на мой взгляд) ссылок по следующим темам
  1. Методы в интерфейсах, ссылки на методы, множественное наследование
  2. Лямбды (Project Lambda)
  3. Stream API
  4. Функциональные алгоритмы
  5. Аннотации
  6. Генерики
  7. Reflection API
  8. Загрузка классов

Надеюсь кто-то сочтет их полезными.
Читать дальше →
Total votes 43: ↑34 and ↓9+25
Comments35

Порнография с точки зрения эволюционной психологии

Reading time14 min
Views65K
Данный топик был написан по следам бурных обсуждений на Хабре ряда новостей, так или иначе связанных с порно (раз, два, три, четыре). В этих и подобных топиках подымается тема цензурирования интернета и запрета порнографии вообще либо отдельных её жанров. Хотя хабрасообщество в целом довольно либерально относится к порно, обсуждение влияния его на психику — особенно детскую — выливается обычно в нешуточные драмы (самая серьёзная, на моей памяти, была тут).

Между тем, сколько-нибудь заслуживающих доверия данных о влиянии порнографии на общественное и личное здоровье в этих обсуждениях нет; более того, мои попытки по-быстрому найти какие-то вменяемые данные в интернете не увенчались успехом. В поисках ответов на вопросы мне пришлось погрузиться довольно глубоко в научные исследования, и кое-что я в итоге нашёл. Краткий синопсис современных научных взглядов на порнографию и её влияние на человека будет дан под катом после небольшого FAQ'а.

Вопрос: картинки будут?
Ответ: будут.

Вопрос: какое отношение этот топик имеет к Хабру?
Ответ: он интересен читателям Хабра.

Вопрос: нет, всё-таки, какое отношение имеет топик к тематике Хабра?
Ответ: никакого; просто я считаю, что Хабр — это, прежде всего, определённая аудитория, а не тематика.

Вопрос: почему в блог «Интернет»?
Ответ: потому что Internet is for porn.

Если Вам не исполнилось 18 лет, под кат лучше не ходить
Total votes 528: ↑476 and ↓52+424
Comments343

Видео всех лекций с «Курсов информационных технологий» от «Яндекса»

Reading time1 min
Views30K
Для тех, кто не смог посетить Курсы информационных технологий, видеоролики всех лекций выложены в свободный доступ. Это лекции по полтора-два часа на базовые темы: операционные системы; архитектура ЭВМ; устройство GNU/Linux; системы хранения данных; файловые системы; сети и протоколы; виртуализация; безопасность.
Читать дальше →
Total votes 116: ↑101 and ↓15+86
Comments39

Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность

Reading time6 min
Views405K

Введение


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

В результате у кого-то возникает разочарование в камере и фотографии в целом, а другие проявляют терпение и пытаются освоить премудрости фотографии, чтобы раскрыть весь потенциал камеры с полноценным (или почти полноценным) сенсором.

Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
Читать дальше →
Total votes 272: ↑232 and ↓40+192
Comments378

О теории искусственного интеллекта и работе подсознания и сознания

Reading time7 min
Views14K
Многим знакомы фильмы, в которых искуственный интеллект, порожденный человеком, покушался на жизнь или контроль над своим создателем. Данный вывод может быть абсолютно закономерен для ИИ. Мало того, создание ИИ, подобного человеку, невозможно, а точнее сказать глупо, потому как это будет подобно созданию велосипеда на квадратных колесах, взамен известному классическому. Каким именно образом и почему такое возможно, и хочу вам рассказать. А также вы узнаете, почему человечество такое, какое есть.
Читать дальше →
Total votes 140: ↑110 and ↓30+80
Comments287

Сколько зарабатывают программисты в Кремниевой долине?

Reading time1 min
Views14K
Сайт Glassdoor, собирающий анонимную информацию о заработках людей, опубликовал свежее исследование о зарплатах в компаниях Кремниевой долины.

Лидирует компания Facebook, среднестатистическая зарплата в которой составляет 110 тысяч долларов в год, плюс около 12 тысяч долларов бонусов. А вот зарплата сотрудников Google уступает даже Apple, но интересно, что в Google самые большие бонусы (в связи с этим понятно, почему Эрик Шмидт обещал перенести бонусы в базовую зарплату). Впрочем, как я уже писал, в следующем году Google планирует поднять зарплату на 10 % всем своим сотрудникам, что может вывести компанию в лидеры.

Сравнение зарплат инженеров-программистов (Software Engineer)
Компания Средняя базовая зарплата Бонусы
AOL 88 801 5233
Apple 99 127 8175
Cisco 105 720 8529
eBay 88 916 6773
Facebook 110 500 11 900
Google 98 814 21 364
Hewlett-Packard 85 568 5550
Intel 87 450 8048
Intuit 79 765 9339
Oracle 92 479 6000
Yahoo 101 638 6197
Total votes 126: ↑119 and ↓7+112
Comments210

Шон Паркер — хакер, со-основатель Napster, Plaxo и Facebook, миллиардер и инвестор

Reading time15 min
Views45K
После просмотра фильма "The Social Network" мне стало интересно, насколько реален персонаж Шона Паркера, изображенный в фильме. Статья в Vanity Fair во многом утолила мой интерес, а Паркер оказался даже любопытнее, чем я предполагала. Так что я не удержалась и перевела статью — все ее «много букв» того стоят.

Те, кто не смотрел фильм, а только планирует, учтите, в тексте будет немного спойлера.

В 19 Шон Паркер помог создать Napster. В 24 он стал президентом-соучредителем Facebook. В 30 лет он – любитель вечеринок, гений, знаток социальных сетей, стесняющийся прессы, перспективный миллиардер. А теперь еще и знаменитость после того как Джастин Тимберлейк сыграл его в фильме Дэвида Финчера «The Social Network».

Шон Паркер сидел на уроке, посвященном мировым цивилизациям в своей школе в Вирджинии, когда вдруг кто-то передал ему записку. Его отец, — было сказано в ней, — ждал его, чтобы поехать на прием к врачу-ортодонту. По спине Паркера пробежал холодок. У него не было ортодонта. Когда он вышел, отец рассерженно запихнул его в семейный минивен. К тому моменту, когда они приехали в их скромный загородный дом, группа агентов ФБР выносила документы и настольный компьютер из комнаты Шона.
Читать далее
Total votes 203: ↑193 and ↓10+183
Comments84

Пятая информационная революция

Reading time6 min
Views15K
Сущностью социального явления служит факт взаимодействия индивидов и групп.
Питирим Сорокин


Disclaimer: все нижеизложенное является плодом больного воображения автора, а не переводом, творческим пересказом или иной формой плагиата. Честно.

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

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

б) началась экспансия homo sapiens в Европу; сам по себе вид sapiens появился, предположительно, в Африке около 130-150 тысяч лет назад, и 50-55 тысяч лет назад уже предпринял экспансию в Азию. Однако именно в Европе sapiens встретился с серьезной конкуренцией с другими представителями семейства homo — неандертальцами. Сейчас нет единого мнения, было ли это прямое столкновение или два вида конкурировали за ресурсы, но, так или иначе, неандертальцы были побеждены. Европейскую ветвь homo sapiens принято называть кроманьонцами;

в) зародилось искусство; самые древние из известных сейчас наскальных рисунков были сделаны около 35-40 тысяч лет назад. Самые древние из европейских наскальных рисунков относятся к 30-32 тысячелению до н.э. и обнаружены в пещере Шове (один из них и приведен слева).

Причем же здесь информационная революция, спросите Вы? Дело в том, что в этот период возникает еще один специфически человеческий феномен:

Какой же?
Total votes 108: ↑94 and ↓14+80
Comments83

Краткое введение в SIM-карты

Reading time6 min
Views223K
Когда на вопрос «кем вы работаете?» я отвечал «разработчиком ПО для SIM-карт», даже технически подкованные люди частенько удивлялись. Многие думают, что SIM-карта это «что-то типа флешки».

В этой статье я постараюсь кратко рассказать что такое SIM-карта (и смарт-карты в общем), зачем она нужна и что у нее внутри.

На самом деле SIM-карта — это частный случай контактной смарт-карты с микропроцессором. По сути, представляет из себя достаточно защищенный микрокомпьютер с CPU, ROM (опционально), RAM и NVRAM (которая выступает в качестве аналога жесткого диска в PC), с аппаратными генераторами случайных чисел и аппаратной реализацией крипто-алгоритмов.

В некотором приближении архитектуру микропроцессорной смарт-карты можно представить так:
Архитектура смарт-карты

Читать дальше →
Total votes 474: ↑470 and ↓4+466
Comments180

OAuth: описание протокола простым и понятным языком

Reading time16 min
Views190K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Total votes 134: ↑124 and ↓10+114
Comments34

Системы охлаждения — от радиатора до жидкого азота! Часть 1

Reading time11 min
Views75K
Еще из школьного курса физики нам известно, что любой проводник, по которому протекает электрический ток, выделяет тепло. Это приводит к тому, что все составляющие компьютера, по которым проходит ток (от процессора до соединительных проводов), нагревают окружающий их воздух.

image

Эту статью я писал почти год назад для одного конкурса… решил выложить, может кому будет интересно. Она ужасно огромная (без шуток — хабр не принял ее одним куском, так что будет две части / Часть 2 /). Трафик.
Читать дальше →
Total votes 120: ↑110 and ↓10+100
Comments61

Профессиональная эмиграция — Часть 1 — Проблема курицы и яйца и как с ней бороться, а также развенчание мифов

Reading time4 min
Views59K
Здравствуйте, Хабраюзеры.

Этим постом я хотел бы начать цикл (если позволит время и будет интересно аудитории) про профессиональную эмиграцию, особенно без привязки к работодателю.
Читать дальше →
Total votes 228: ↑208 and ↓20+188
Comments337

Рекомендации для начала карьерного роста

Reading time7 min
Views17K
По мотивам недавно прошедшей конференции в ЯрГУ 25 марта, на которую пришло уж очень немного народу, решил я написать небольшой мотивирующий пост для студентов и начинающих программистов/IT специалистов. Мою презентацию с доклада можно посмотреть на skydrive. Здесь же я постараюсь вкратце, на сколько это возможно, осветить этот доклад.

Это чисто мой полет мыслей, ни на какое откровение или новизну я не претендую. Начал я его писать сразу же после конференции (месяц назад), но все как-то не мог закончить. Радует безумно, что кроме меня со студентами и начинающими разработчиками хотят делиться все. Вот только в последние пару недель замечено два топика с похожими темами (и тоже стенограммы с конференций):

Ну и до нас не раз еще поднимали эту тему. Рекомендую читать и заряжаться всеми этими топиками.
Читать дальше →
Total votes 120: ↑110 and ↓10+100
Comments104

О другом подходе к устройству на работу

Reading time5 min
Views18K
… или почему я никогда не занимался веерной рассылкой резюме, а долго присматривался, затем посылал одно, и меня там брали.

Пришедшая на почту рассылка новостей принесла мне очередную статью с «ХедХантера», призванную, якобы, помочь соискателям правильнее составить резюме.
Одна из многих подобных. Несть им числа.
Там, конечно же, рассказывалось о том, что хорошо, а что плохо писать в разных разделах резюме, какими словами о себе рассказывать можно, а какими нет, в общем — как представить из себя идеально собранную машинку по исполнению скромной, но очень важной для компании роли.

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

Статья для соискателей.
Читать дальше →
Total votes 328: ↑321 and ↓7+314
Comments194

50 цитат о программировании всех времён

Reading time6 min
Views159K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8+328
Comments136
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity