Pull to refresh
4
0
Send message

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

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

Малоизвестные особенности Java

Reading time4 min
Views140K
Готовясь к собеседованию, я решил освежить память да и вообще поискать каверзные и малоизвестные нюансы языка Java. Выборку пяти наиболее интересных на мой взгляд моментов я вам и предлагаю.

Вот уже подоспела и вторая часть статьи.


1. Нестатические блоки инициализации.

Всем, я думаю, известно, что в Java существуют статические блоки инициализации (class initializers), код которых выполняется при первой загрузке класса.

class Foo {
	static List<Character> abc;
	static {
		abc = new LinkedList<Character>();
		for (char c = 'A'; c <= 'Z'; ++c) {
			abc.add( c );
		}
	}
}


Но существуют также и нестатические блоки инициализации (instance initializers). Они позволяют проводить инициализацию объектов вне зависимости от того, какой конструктор был вызван или, например, вести журналирование:

class Bar {
	{
		System.out.println("Bar: новый экземпляр");
	}
}


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

Map<String, String> map = new HashMap<String, String>() {{
	put("паук",  "арахнид");
	put("птица", "архозавр");
	put("кит",   "зверь");
}};


Очень даже мощное средство, не находите?

JFrame frame = new JFrame() {{
	add(new JPanel() {{
		add(new JLabel("Хабрахабр?") {{
			setBackground(Color.BLACK);
			setForeground(Color.WHITE);
		}});

		add(new JButton("Торт!") {{
			addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent event) {
					System.out.println("Хабрахабр - торт!");
				}
			});
		}});
	}});
}};


Остальные четыре пункта под катом.
Читать дальше →
Total votes 163: ↑150 and ↓13+137
Comments75

Записки арт-директора самоучки: не рычите на программиста

Reading time5 min
Views26K
Вы с небольшой командой создаете стартап (неважно, мобильное, веб или настольное приложение). Возможно, часть команды работает удаленно и вы с ними общаетесь по скайпу. И все у вас прекрасно. Разработка идет небольшими итерациями, проектировщик проектирует, дизайнер рисует, программисты получают четкую задачу и воплощают ее в элегантный и гибкий программный код, который не приходится переделывать. Руководство довольно, в команде царит взаимопонимание и доверие, проект движется к завершению и все уже видят себя пожинающими сладкие лавры победы.

Если это действительно так — снимаю перед вами шляпу. Просто мечтаю познакомиться с вами и перенять ваш опыт. Дальше можете не читать — статья не для вас.
Читать дальше →
Total votes 47: ↑32 and ↓15+17
Comments31

10 главных советов Mac OS X

Reading time5 min
Views454K
Я давно и весьма успешно пользуюсь техникой и ОС от Apple. При этом, я постоянно вижу, как окружающие меня люди: начинающие пользователи, да и весьма оптыные зачастую, не очень хорошо ориентируются в богатых возможостях этого ПО и железа. Поэтому я решил помочь и перевести несколько западных статей с советами и секретами. Считаю, что «родная» для Apple пресса наилучшим образом справляется с раскрытием потенциала OS X.

Первый материал с Lifehack.org

Вы когда-нибудь видели того, кто действительно умеет пользоваться компьютером Mac и операционной системой OS X? Иногда выглядит просто волшебством, как они заставляют двигаться окна, появляться изображения, запускаться приложения и делать множество других классных вещей – при этом их пальцы, кажется, вообще не покидают клавиатуру.Я не могу похвастаться знанием многих советов и рекомендаий Mac, тем не менее, у меня есть в запасе несколько советов, которые могут показаться вам полезными. Некоторые из них достаточно распространены, некоторые – не столь известны, но все они сделают нечто важное, на шаг приближая вас к рангу Мастера Джедаев вашего Mac.

Читать дальше →
Total votes 136: ↑90 and ↓46+44
Comments223

Как работает инжектор?

Reading time10 min
Views185K
В заметке пойдет речь о работе «мозгов», управляющих двигателем вашего автомобиля или мотоцикла. Попытаюсь на пальцах и в общем объяснить что же и как происходит.

Чем занимаются те самые «мозги» и для чего они нужны? Электроника — альтернатива другим системам, выполняющим те же функции. Дозированием топлива занимался карбюратор, зажиганием управлял механический или вакуумный корректор угла опережения зажигания. В общем не электроникой единой возможно реализовать все это и достаточно продолжительное время именно так и было. На автомобилях, мотоциклах, бензопилах, бензогенераторах и во многих многих других местах работали и продолжают работать те самые системы, которые призван заменить инжектор.
Зачем же понадобилось что-то менять? Зачем сносить существующие проверенные и весьма надежные системы? Все просто — гонка за экономичностью, экологичностью и мощностью. Точность работы описанных выше систем недостаточна для обеспечения желаемого уровня экологичности и мощности, а сами по себе электронные системы управления двигателем начали появляться достаточно давно.
Читать дальше →
Total votes 200: ↑184 and ↓16+168
Comments101

3D-кинотеатр дома

Reading time15 min
Views23K
После просмотра всяческих Аватаров, Алис и прочей загадочной трехмерности, которая начала сыпаться на нас в последнее время, захотелось получить у себя дома хоть маленький, зато свой, персональный 3D кинотеатр. Как именно я действовал в достижении данной цели, что из этого получилось, и какие шишки набил по пути – об этом я и хочу рассказать в данной статье.

Для начала несколько существенных для меня предупреждений. Во-первых, статья выражает моё собственное ИМХО, которое может не совпадать с вашим; наверное, это даже хорошо, но чревато холиварами. Во-вторых, я считаю нецелесообразным скрывать названия производителей и фирм, товарами и услугами которых я пользовался при воплощении в жизнь моей мечты: стоит рассматривать бренды и ссылки не как product placement, а как необходимую составляющую часть моего обзора, ибо «сферические проекторы в вакууме» хоть и политкорректны, но не позволяют в полной мере описать полученный опыт.

Итак, приступим.
Total votes 88: ↑82 and ↓6+76
Comments64

Оптимизация OSX для работы с SSD

Reading time3 min
Views114K
Про замену сидирума на SSD писать нет смысла, думаю все и так уже в курсе как это сделать. Слава богу, про это написано не мало статей (тыц, тыц).
image
А вот как правильно настроить систему для работы с HDD и SSD знают далеко не все.
Читать дальше →
Total votes 39: ↑31 and ↓8+23
Comments80

Операция «посредник» или доставка товаров из США — проще, надежнее, дешевле

Reading time5 min
Views96K
Все мы знаем, что большинство гаджетов дешевле купить в США, чем у нас на родине, и особенно это относится к различным новинкам, цены на которые у нас просто взлетают к небесам! Так же всем известно, что самые «вкусные» предложения на eBay и в интернет магазинах США обычно имеют доставку US only и соответственно не доступны для нас. В этой статье я попытаюсь рассказать про еще один способ исправить это недоразумение. Конечно все более-менее опытные интернет-покупатели знают о посредниках, которые предоставляют услугу mail forwarding — тоесть пересылку посылок. Происходит это так — вы заказываете доставку товара на адрес в США, который вам выдал посредник, он получает посылку и пересылает ее вам, беря за это небольшую комиссию. Известные посредники это Shipito, Ebaytoday, Бандеролька и т.д. их достаточно много и все они предлагают набор услуг — пересылка, объединение нескольких посылок в одну, наоборот — разделение крупной посылки на несколько мелких и тд. Берут обычно фиксированную плату за каждую посылку + оплату за дополнительные услуги. Стоимость самой пересылки обычно рассчитывается по тарифам USPS и этой же службой отправляют посылку вам. Я же хочу рассказать про еще одну компанию — Meest.us, которая осуществляет пересылку посылок (среди различных других услуг) но в принципе ее работы есть некоторые интересные особенности.
Читать дальше →
Total votes 52: ↑44 and ↓8+36
Comments59

«Хакинтош» – стоит ли игра свеч?

Reading time4 min
Views351K
imageХочу поделиться своим мнением и опытом относительно работы Mac OS X на обычном PC компьютере. Может кому-то этот топик будет интересен или полезен.

Я разработчик ПО для Mac OS X и iOS. И я обожаю технику и ПО от Apple (но я не являюсь ярым фанатом). За свою жизнь у меня побывало много гаджетов от Apple: PowerBook G4, MacBook, iMac, MacBook Pro, iPhone, iPad и пр.

Техника для меня лишь инструмент достижения целей. В данный момент времени на работе я использую iMac (Core i5), в личных целях: обычный стационарный PC, ноутбук Lenovo, телефон на Android и iPad.

Недавно мне для работы дома понадобился очень мощный компьютер с Mac OS X. По характеристикам из техники Apple подходили лишь топовый iMac (с Core i7-2600 3,4 ГГц) и Mac Pro. Оба стоят просто запредельные деньги — более 100 тыс. рублей. Я психологически не был готов потратить такие деньги на компьютер. Ограничил бюджет суммой 55 тыс. рублей и решил собрать «Хакинтош». Я немного слежу за тематикой «Хакинтош» и имею четкое представление, что «там и как».

Читать дальше →
Total votes 330: ↑239 and ↓91+148
Comments331

Стив Джобс умер

Reading time2 min
Views52K
Stevejobs Macworld2005Средства массовой информации сообщают о смерти Стива Джобса, бывшего CEO Apple. Можно по-разному относиться к Apple и Стиву, но отрицать то, что это знаковая фигура в IT-индустрии, создавшая множество трендов, нельзя. Requiescat in pace, Стив.
Приведу перевод сообщения на официальном сайте Apple:
Apple потеряла своего фантастического и изобретательного гения, а мир лишился замечательного человека. Те из нас, кто имел счастье близко знать и работать со Стивом, лишились дорогого друга и вдохновлённого наставника. Стив оставил после себя компанию, которую мог создать только он, поэтому его дух навсегда останется в сердце компании.
Источник — Apple.
В магазинах Apple по всему миру были лишены подсветки все логотипы Apple.

Те, кто хочет поделиться своими сопереживаниями, могут отправить свои мысли и соболезнования по почтовому адресу rememberingsteve@apple.com. Возможно, некоторые будут переданы родным Стива.
Хорошее видео от CNET, которое вкратце визуально пересказывает карьеру Стива.
Воспоминания его коллег по IT-цеху ниже:
Читать дальше →
Total votes 858: ↑783 and ↓75+708
Comments622

Обзор инфраструктуры Кремниевой долины

Reading time11 min
Views8.1K

Введение


Последние четыре года я живу и работаю программистом в США, в Кремниевой долине. За это время у меня скопились некоторые наблюдения, которыми я бы хотел поделиться. Я сосредоточусь на вопросах инфраструктуры: как там с транспортом, интернетом, дорогами, преступностью, водой, развлечениями и т. п. Я буду рассказывать лишь о том, с чем встретился сам. Надеюсь, этот пост будет интересен специалистам, думающим о работе в долине.

Читать дальше →
Total votes 340: ↑336 and ↓4+332
Comments361

Исследование факторов ранжирования в Яндексе

Reading time1 min
Views3.6K
Несколько десятков специалистов по поисковой оптимизации поучаствовали (своими ответами) в исследовании факторов ранжирования в Яндексе. Результаты вы можете лицезреть ниже на скриншотах или же на сайте топэксперт.рф вместе с комментариями и пояснениями. Думаю, что шпаргалка пригодится не только оптимизаторам, но и всем вебмастерам.

Начнем с внешних факторов. Критерии выбора внешних ссылок:



Читать дальше →
Total votes 167: ↑137 and ↓30+107
Comments67

Почему товары Apple разработаны в Калифорнии, но собраны в Китае

Reading time5 min
Views119K
Посмотрите на заднюю панель своего айфона, айпада или макбука. Вы увидите слова «Designed by Apple in California. Assembled in China.» Многие американцы, включая самого президента, задавались вопросом, почему Apple вынесла практически все свои производственные мощности за границу. В прошлом году на званом обеде с участием президента и управляющих важнейшими технологическими компаниями США, Обама прямо спросил Джобса, чего будет стоить вернуть рабочие места в Штаты. По словам Джобса, не существует никаких возможностей для этого.

Почему не существует? Почему айфоны, айпады и все прочие магические гаджеты компании Apple не могут быть произведены в США? И вообще, почему американские компании по производству бытовой электроники и компьютеров не могут собирать больше своих товаров в родной стране, создавая новые рабочие места и помогая экономике в борьбе с кризисом?
Читать дальше →
Total votes 226: ↑208 and ↓18+190
Comments435

8+ в 1: как я хотел привлечь внимание

Reading time31 min
Views12K
Добрый вечер, хабрачитатели!

Перед выходом 8+ в 1: наш новый мессенджер под iOS и Android, мне пришлось проделать кое-какую работу по изучению тех мест, куда мы собирались публиковать пресс-релизы. Одним из таких мест стал Хабр.

Мы задались следующими вопросами:
  • В какой день недели лучше всего публиковать пост?
  • В какое время (интервал времени) лучше всего публиковать пост?
  • В какое время года лучше всего публиковать пост?


image

Под катом ответы на вопросы и намного больше
Total votes 67: ↑53 and ↓14+39
Comments46

Прокрастинация. Символическая система вознаграждения. Часть 1

Reading time7 min
Views154K
Что такое прокрастинация? Это термин в психологии, который подразумевает склонность к постоянному откладыванию дел или мыслей. Прокрастинация не является ленью, лень это отсутствие или недостаток трудолюбия. В чём проявляется прокрастинация? В том, что человек осознаёт выполнение важных дел, но откладывает их на потом или заменяет дела развлечениями. Когда сроки подходят, он либо бросает всё, либо пытается выполнить работу за короткий промежуток времени, с предсказуемым результатом.

Для тех кто хочет преодолеть прокрастинацию быстро, просто прочитав эту статью
Подробности под катом
Total votes 60: ↑55 and ↓5+50
Comments54

Автоматизация офисного освещения

Reading time5 min
Views28K

Введение


Проект о котором пойдет речь начался в ноябре 2011 года в связи с переездом одной компании в новый офис. Наемный дизайнер разработал проект Приемной директора и кабинета секретаря. Все было красиво, но дизайнер почему-то не позаботился об удобстве использования освещения. На 2 кабинета приходилось аж 17 групп освещения, при этом серии выключателей были разбросаны по периметру помещения вдалеке от рабочих мест Директора и Секретаря.
Читать дальше →
Total votes 47: ↑39 and ↓8+31
Comments24

Реализация MVC паттерна на примере создания сайта-визитки на PHP

Reading time16 min
Views718K
mvc

Как вы уже догадались из названия статьи, сегодня речь пойдет о самом популярном, разве что после Singleton, шаблоне проектирования MVC, хотя такое сравнение не совсем уместно. Понимание концепции MVC может помочь вам в рефакторинге и разрешении неприятных ситуаций в которые, возможно попал ваш проект. Дабы восполнить пробел, мы реализуем шаблон MVC на примере простого сайта-визитки.

Читать дальше →
Total votes 80: ↑46 and ↓34+12
Comments175

Взломать Wi-Fi за 10 часов

Reading time12 min
Views1.5M
Еще не так давно казалось, что беспроводная сеть, защищенная с помощью технологии WPA2, вполне безопасна. Подобрать простой ключ для подключения действительно возможно. Но если установить по-настоящему длинный ключ, то сбрутить его не помогут ни радужные таблицы, ни даже ускорения за счет GPU. Но, как оказалось, подключиться к беспроводной сети можно и без этого — воспользовавшись недавно найденной уязвимостью в протоколе WPS.


Читать дальше →
Total votes 304: ↑294 and ↓10+284
Comments164

История интернет-магазина, ставшего мировым монополистом за $5 000

Reading time10 min
Views85K
Прочитав много литературы по истории бизнеса и наблюдая рост популярности Интернет-торговли, автору этих строк хотелось реализовать свои знания на практике. Искали подходящую тему для проекта. Необходимыми условиями были:

1) Вложение не более $10 000
2) Прибыль не менее $1 000 в месяц
3) Минимальная рутина

По первым двум пунктам все понятно. А вот по третьему пункту поясню. К тому моменту я уже работал в собственной компании (сфера финансов). Это был 2009 год. Последствия кризиса еще сильно влияли на основной бизнес и работы было непочатый край. Много времени отвлекать на сторонний бизнес автор не мог.
Подходящий случай подвернулся в октябре 2009 года.
Читать дальше →
Total votes 646: ↑641 and ↓5+636
Comments189

Выбираем WAMP платформу для разработки сайтов под Windows

Reading time11 min
Views322K
Во времена моей юности в русскоязычном сегменте сети интернет был популярен только один единственный WAMP комплекс. Это, как вы уже догадались, старый добрый Denwer. Он прочно обосновался на моём компьютере еще в далёком 2003 году. Другие альтернативы если и существовали в то время, то были известны в узких кругах и были не столь популярны.

Давайте посмотрим на то, что мы можем использовать сегодня, спустя столько лет. Я предлагаю рассмотреть, протестировать и сравнить 14! программных комплексов предназначенных для разработки сайтов под Windows.

Читать дальше →
Total votes 77: ↑57 and ↓20+37
Comments94

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Registered
Activity