Pull to refresh
0
Антон @pro100setread⁠-⁠only

User

Send message

ARM-ы для самых маленьких: который час?

Reading time12 min
Views54K


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

Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments21

Структуры данных: бинарные деревья. Часть 2: обзор сбалансированных деревьев

Reading time6 min
Views244K
Первая статья цикла

Интро


Во второй статье я приведу обзор характеристик различных сбалансированных деревьев. Под характеристикой я подразумеваю основной принцип работы (без описания реализации операций), скорость работы и дополнительный расход памяти по сравнению с несбаланчированным деревом, различные интересные факты, а так же ссылки на дополнительные материалы.
Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments28

Новый Хекслет: онлайн-курсы (Java, SICP, Objective C и др.) на русском языке

Reading time3 min
Views69K
Здравствуй, Хабр!



Осенью прошлого года я открыл Хекслет – образовательный проект с бесплатными онлайн-курсами по программированию на русском языке. Спустя неделю стартовал первый курс – Разработка под OS X. Это был очень интересный опыт, но было допущено много ошибок в разработке этого проекта.

Сегодня я рад объявить о перезапуске Хекслета! Что вас ожидает:

  • Новый сайт и удобный, быстрый движок. Со старым было столько проблем, что многие студенты просто не могли им нормально пользоваться.
  • Улучшенный формат курсов. В первой версии я пытался эмулировать физический университет в интернете, а нужно было делать изначально онлайн–курс.
  • Личное общение с преподавателем. Эту особенность хочется сделать важным отличием от други образовательных проектов.
  • Новые, интересные курсы и планы на будущие курсы.


Уже сейчас можно записаться на три первых курса:

  1. Разработка приложений на Java
  2. Структура и интерпретация компьютерных программ (SICP)
  3. Разработка под OS X


Трейлер очень интересного курса SICP:



Под катом – описания текущих и будущих курсов.

Читать дальше →
Total votes 111: ↑109 and ↓2+107
Comments68

Спектральный анализ в домашних условиях

Reading time5 min
Views171K
Друзья приближается вечер пятницы, это прекрасное интимное время, когда под покровом манящего сумрака можно достать свой спектрометр и всю ночь, до первых лучей восходящего солнца мерить спектр лампы накаливания, а когда взойдет солнце померить и его спектр.
Как у вас все еще нет своего спектрометра? Не беда пройдемте под кат и исправим это недоразумение.
Внимание! Данная статья не претендует на статус полноценного туториала, но возможно уже через 20 минут после её прочтения вы разложите свой первый спектр излучения.

image

Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments18

Автомат Гаусса — реальное оружие для гика (и не только)

Reading time1 min
Views267K


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

Читать дальше →
Total votes 154: ↑142 and ↓12+130
Comments144

Учим английский: фильмы, книги, словари

Reading time10 min
Views518K
Многие из нас занимаются изучением английского языка, потому что в сфере ИТ большинство документации, форумов и просто полезной информации изложено на универсальном языке – английском. И каждый находит для себя свой подход к обучению: кто-то идет к своей цели постепенно, планомерно, кто-то более экспрессно и выборочно. В самом деле, в Интернете вы найдете более 9000 методик, о том, как эффективно и быстро выучить язык самому. В языковой школе вам предложат несколько целевых программ: от «разговорных навыков делового человека» до «целенаправленной сдачи TOEFL». Чего же нового хочу я предложить? Мы поговорим о «фоновом» изучении языка. Цель моего поста – поделиться с вами способами изучения языка, которые я использовал. Постараюсь показать концепцию в целом, который каждый из вас сможет интегрировать в свой способ познания языка.
image
Читать дальше →
Total votes 83: ↑70 and ↓13+57
Comments63

Абсолютное горизонтальное и вертикальное центрирование

Reading time5 min
Views314K
Сколько уже было сломано копий о задачу выравнивания элементов на странице. Предлагаю вашему вниманию перевод отличной статьи с решением этой проблемы от Стефана Шоу (Stephen Shaw) для Smashing Magazine — Absolute Horizontal And Vertical Centering In CSS.

Все мы знали о margin: 0 auto; для горизонтального центрирования, но margin: auto; не работало для вертикального. Это можно легко исправить, просто задав высоту и применив следующие стили:

.Absolute-Center {
  margin: auto;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
}

Я не первый, кто предложил это решение, однако такой подход редко применяется при вертикальном выравнивании. В комментариях к статье How to Center Anything With CSS Simon ссылается на пример jsFiddle, где приводится отличное решение для вертикального центрирования. Вот еще несколько источников на эту тему.

Рассмотрим способ поближе.
Читать дальше →
Total votes 112: ↑106 and ↓6+100
Comments10

Разработка сайта — от первой встречи с заказчиком до сдачи проекта, или как быть фрилансером и выжить

Reading time12 min
Views73K
Привет, Хабр!

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

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

Я попробую описать весь процесс создания сайта с собственной и, как мне кажется, более приближенной к жизни для большинства точки зрения. Просто в один момент я решил уйти из компании, где я работал по найму, и начать делать своё дело — без стартового капитала, офиса и какого бы то ни было прикрытия «пятой точки»; разве что отсутствия острой необходимости в съеме жилья и наличия питерской прописки.

Кому интересно — добро пожаловать под кат!
Читать дальше →
Total votes 89: ↑78 and ↓11+67
Comments64

Разработка веб-системы, «тут» и «там»

Reading time5 min
Views16K
Я намеренно пишу, скрывая лица. К сожалению, мой небольшой опыт написания отзывов про работу предприятий говорит про то, что на некоторых лучше не «светить». Они, с одной стороны, начинают суетиться, радуясь, что их заметили. А с другой — делать обиженный вид. Оно мне не надо, читать обидные комментарии, которые могут появиться. Поэтому, единственное, что я укажу про фигурантов — что в статье сравнивается крупная фирма в США и крупное предприятие, принадлежащее большой, можно даже сказать — государственной корпорации в Украине. Предприятия имеют крупные обороты, количество сотрудников схожее, количество работников, завязанных на мою систему — сравнительно похожее, около десяти. Работаю я с ними не первый день, сделал не один проект.

Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments26

Быстрая разработка веб-приложений на Java

Reading time7 min
Views132K
Как вы разрабатываете веб-приложение на Java?
После каждого изменения, как вы его запускаете и проверяете? Сколько времени занимает редеплой приложения и рестарт контейнера?

Мне довелось видеть разные варианты: от полной пересборки WAR-файла до использования плагинов для IDE типа MyEclipse, WTP и «коннекторов» для сервлет-контерйнеров. У некоторых из них есть явные недостатки, другие вполне работают — но есть способ проще!

Запускалка


Этот способ разработки позволяет максимально просто и гибко настроить приложение с минимальным временем редеплоя. Вам надо всего лишь написать один простенький Java-класс с main-методом, который запустит сервер Jetty сразу с нужными приложениями (т.н. Embedded Mode).

под катом - примеры кода и обзор альтернативных решений
Total votes 42: ↑38 and ↓4+34
Comments43

Разработка облачных Java-приложений в Eclipse

Reading time5 min
Views16K
В этой статье мы поговорим про инструменты Windows Azure Toolkit для Eclipse и разработку облачных Java-приложений с помощью них.



Windows Azure Toolkit for Eclipse


Windows Azure Toolkit for Eclipse — это набор инструментов с открытым кодом, которые дополняют функционал среды разработки Eclipse и позволяют разработчикам Java-приложений удобно разрабатывать, управлять и публиковать приложения в облако Windows Azure.

Вы можете узнать о проекте больше по указанным ссылкам:

установка, настройка, публикация кода в облако...
Total votes 32: ↑22 and ↓10+12
Comments0

По следам поста «Быстрая разработка веб-приложений на Java»

Reading time2 min
Views8.5K
image
Мотивом написания данной статьи послужило прочтение поста «Быстрая разработка веб-приложений на Java» и небольшой когнитивный диссонанс, возникший после прочтения и вопрос, который продолжает попрежднему мучать меня — Зачем такие сложности? Если есть WTP!

Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments38

Разработка веб приложения на основе Java EE+JSP+Hibernate+Maven+Spring MVC в NetBeans. Часть 1

Reading time13 min
Views171K

Вступление


Это будет серия статей, помогающих начинающим Java разработчикам в их нелегком пути. Покажу пример создания интернет магазина.
Первое что вам понадобится — это NetBeans 7.3. Скачать можно здесь.
Почему именно он? Думаю для начинающих в ЕЕ — это идеальный вариант.

Используемые технологии:
Читать дальше →
Total votes 15: ↑7 and ↓8-1
Comments14

ARM-ы для самых маленьких

Reading time8 min
Views207K


Пару дней назад я опубликовал и потом внезапно убрал в черновики статью о плане написать про создание своей ОС для архитектуры ARM. Я сделал это, потому что получил много интересных отзывов как на Хабре, так и в G+.

Сегодня я попробую подойти к вопросу с другой стороны, я буду рассказывать о том, как программировать микроконтроллеры ARM на нарастающих по сложности примерах, пока мы не напишем свою ОС или пока мне не надоест. А может, мы перепрыгнем на ковыряние в Contiki, TinyOS, ChibiOS или FreeRTOS, кто знает, их там столько много разных и интересных (а у TinyOS еще и свой язык программирования!).

Итак, почему ARM? Возиться с 8-битными микроконтроллерами хотя и интересно, но скоро надоедает. Кроме того, средства разработки под ARM обкатаны долгим опытом и намного приятнее в работе. При этом, начать мигать светодиодами на каком-то «evaluation board» так же просто, как и на Arduino.

Читать дальше →
Total votes 129: ↑124 and ↓5+119
Comments66

Развитие объектного мышления у студентов

Reading time2 min
Views13K
Всем привет.

Давно перед преподавателями стоит задача научить студентов мыслить объектно. Задача сложная. Объяснить такие вещи трудно, можно только попробовать показать это на примерах. Да и то, примеры эти, чаще всего не дают представления о том, чего же хочет преподаватель.

Сегодня на ленте предложил студентам второго курса интересную задачку на развитие объектного мышления. Подробности дальше.
Читать дальше →
Total votes 135: ↑115 and ↓20+95
Comments107

Некоторые примеры нестандартных возможностей синтаксиса sql. Часть вторая: форматы дат

Reading time13 min
Views152K

Введение


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

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

Первая часть статьи, посвященная особенностям оператора order by, функционированию not in и примеру неявного преобразования типов, находится здесь.
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments8

Развитие образного мышления

Reading time3 min
Views68K
image

Пламенный привет, дорогие хабравчане!

В своей дебютной статье я хочу рассказать вам об упражнениях-играх на развитие образного мышления, которые будут полезны не только людям творческих профессий: в отличие от упражнений на развитие воображения, в которых идет доминирование правого полушария, прокачка образного мышления активно задействует аналитические способности, а это уже симбиоз двух полушарий. Поэтому эти упражнения прекрасно подойдут не только для получения каких-либо плодов для людей, чья работа хоть как-то связана с образной информацией, но и любому человеку, который хочет иметь острый ум и налаженное взаимодействие обоих полушарий мозга.
Читать дальше →
Total votes 132: ↑119 and ↓13+106
Comments83

Как начать работать над личным проектом

Reading time3 min
Views93K
Этот пост был написан для технической аудитории, но его ключевые моменты могут также использоваться и в других сферах.

Существует множество причин, из-за которых программист может начать работать над сторонним проектом. Это хороший способ держать руку на пульсе современных технологий, которые сейчас на пике популярности в отрасли. Это может помочь вам отточить свои навыки программирования. И это весело! Ну или должно быть весело.
Но то, что мы привыкли называть “жизнью” может не только усложнить вам завершение проекта, но даже не дать начать работать над ним. Мы часто тратим много времени чтобы придерживаться напряженного графика, и может показаться невозможным использовать хотя бы минутку для личного проекта.
Я начал работать на моим первым сайд-проектом два года назад, и я не эксперт в этом вопросе, чтобы это не значило. Спустя два года, я сделал несколько наблюдений о начале работы над сторонними проектами, которые я начал, почему я смог некоторые закончить, а некоторые нет. То, что я попытаюсь описать не претендует на новаторство, ни на пошаговое руководство, а является исключительно лишь наблюдениями, которые могут оказаться полезными.
Читать дальше →
Total votes 74: ↑62 and ↓12+50
Comments18

OpenVPN на Android: прозрачное переключение между WiFi и «Мобильными данными» без разрыва соединений

Reading time4 min
Views35K
Здравствуйте, разрешите поделиться своим опытом.

Есть приложения критичные к разрывам связи, переподключение происходит мучительно и вообще не всегда. Поставил перед собой цель, сделать прыжки маршрутов и физических подключений прозрачными, что бы связь была постоянной и TCP коннект не рвался.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments5

Java на каждый день и не только. Рекомендации по использованию

Reading time8 min
Views65K
Всем привет!

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



image
Java — это язык с мощными стандартными возможностями, но «Большая сила налагает большую ответственность». Я видел много java-кода, в котором чрезмерно (и зачастую — неправильно) использовались «редкие» свойства языка, в то время как основы основ были почти полностью проигнорированы. Эти наблюдения и послужили стимулом к написанию статьи.

Это не список обязательных к использованию каждым программистом особенностей языка. Скорее наоборот. Я разделил их на 3 группы: "для каждодневного использования", "для периодического использования" и "только для фреймворков и библиотек!". Правило простое: если вы понимаете, что используете указанные свойства чаще, чем рекомендуется, то, скорее всего, ваш код развивается по неправильному пути. Если же наоборот — вы редко используете какие-то свойства, чем я рекомендую, значит вы упускаете какие-то интересные и важные возможности языка.

Обратите внимание, что я говорю о разработке типичных серверных бизнес-приложений (JVM, JDK, вот это все) и не даю рекомендаций относительно каких бы то ни было фреймворков.
Читать дальше →
Total votes 73: ↑57 and ↓16+41
Comments68

Information

Rating
Does not participate
Location
Брест, Брестская обл., Беларусь
Date of birth
Registered
Activity