Pull to refresh
3
0
Send message

Git Workflow

Reading time6 min
Views119K

1 Вступление



В топике освещаются не столько подробности работы с git, сколько его отличия от схемы разработки других систем контроля версий, и общий подход (выработанный по большей части личным опытом и Git Community Book) к работе.


Читать дальше →
Total votes 120: ↑116 and ↓4+112
Comments147

Постигаем Git

Reading time6 min
Views56K
От переводчика: в этой статье нет описания команд git, она подразумевает, что вы уже знакомы с ним. Здесь описывается вполне здравый, на мой взгляд, подход к содержанию публичной истории в чистоте и порядке.

Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
Читать дальше →
Total votes 126: ↑120 and ↓6+114
Comments91

Удачная модель ветвления для Git

Reading time10 min
Views994K
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments105

Домашняя бухгалтерия на платформе CUBA. Часть 2

Reading time9 min
Views20K


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

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

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments0

Краткий конспект по языку JavaScript

Reading time15 min
Views113K
Я —.NET разработчик. Но в последнее время всё чаще сталкиваюсь с JavaScript. Причём, процентах в 50 случаев я что-то на нём пишу, в остальных 50 — разбираюсь с чужим кодом, да ещё и прошедшим через минификацию, а иногда и обфускацию. В этой статье захотелось поделиться теми моментами, которые мне показались важными для понимания языка и эффективной работы с ним. Тут не будет ничего нового или неизвестного для людей, уже имевших дело с языком, и не будет чего-то такого, чего нельзя найти в других источниках. Для меня статья будет полезна как способ лучше разобраться в предмете, для читателей, я надеюсь, — как повод освежить знания.

Брендан Айк упоминал, что JavaScript был создан за 10 дней. Думаю, идея вынашивалась дольше. Как бы то ни было, язык получился и с тех пор только набирает популярность. Особенно после появления AJAX.

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

JavaScript состоит из трёх обособленных частей:

  • ядро (ECMAScript),
  • объектная модель браузера (Browser Object Model или BOM),
  • объектная модель документа (Document Object Model или DOM).


В статье, в основном, пойдёт речь о ядре. Конечно, в примерах кода будут использоваться элементы DOM и BOM, но заострять на них внимание не буду.
Читать дальше →
Total votes 75: ↑65 and ↓10+55
Comments20

Рецепт новогоднего корпоратива в стиле ИТ

Reading time6 min
Views29K
«А ну-у-у-ка теперь все выходим в центр и встаём в круг, мальчик-девочка, да поплотнее-е-е-е!». На третий раз после такого мы чуть было не выбросили ведущую из окна четвёртого этажа. Пронесло. Успели бы выпить чуть больше, трагедии не миновать.

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

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

Так что, если Вы сейчас находитесь в похожей ситуации — этот пост как раз для Вас. Под катом история о том, какие я готовил конкурсы, и как в результате прошел праздник.
Читать дальше →
Total votes 34: ↑17 and ↓170
Comments4

Мой первый Eclipse-плагин

Reading time4 min
Views26K
Приветствую, дорогие хаброчитатели!
Некоторое время назад мне выпала интересная задача – написать плагин для Eclipse. Причем плагин не простой, а с хитрой задумкой.
Опыта написания плагинов для Eclipse у меня никогда не было, но надо – так надо, а что из этого получилось – под хаброкатом.
Читать дальше →
Total votes 19: ↑12 and ↓7+5
Comments4

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

Reading time2 min
Views113K
Привет Хабр!

Началось всё с того, что я захотел подключить к своему компьютеру второй монитор, для увеличения продуктивности, так сказать. Им оказался собранный из двух нерабочих Acer AL1716 с аналоговым d-sub входом. Первый монитор — Dell 2007WFP, подключен по DVI-D(Single Link). Как оказалось, существует возможность запустить оба монитора в режиме расширения рабочего стола от одного DVI порта на матплате.
Читать дальше →
Total votes 71: ↑71 and ↓0+71
Comments39

Исключения в Java, Часть I (try-catch-finally)

Reading time23 min
Views438K
Это первая часть статьи, посвященной такому языковому механизму Java как исключения (вторая (checked/unchecked) вот). Она имеет вводный характер и рассчитана на начинающих разработчиков или тех, кто только приступает к изучению языка.

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

1. Ключевые слова: try, catch, finally, throw, throws
2. Почему используем System.err, а не System.out
3. Компилятор требует вернуть результат (или требует молчать)
4. Нелокальная передача управления (nonlocal control transfer)
5. try + catch (catch — полиморфен)
6. try + catch + catch + ...
7. try + finally
8. try + catch + finally
9. Вложенные try + catch + finally


1. Ключевые слова: try, catch, finally, throw, throws


Механизм исключительных ситуаций в Java поддерживается пятью ключевыми словами
  • try
  • catch
  • finally
  • throw
  • throws


«Магия» (т.е. некоторое поведение никак не отраженное в исходном коде и потому неповторяемое пользователем) исключений #1 заключается в том, что catch, throw, throws можно использовать исключительно с java.lang.Throwable или его потомками.
Читать дальше →
Total votes 67: ↑47 and ↓20+27
Comments24

Декодирование JPEG для чайников

Reading time9 min
Views275K

[FF D8]


Вам когда-нибудь хотелось узнать как устроен jpg-файл? Сейчас разберемся! Прогревайте ваш любимый компилятор и hex-редактор, будем декодировать это:


Jpeg file in hex editor


Специально взял рисунок поменьше. Это знакомый, но сильно пережатый favicon Гугла: Google favicon


Последующее описание упрощено, и приведенная информация не полная, но зато потом будет легко понять спецификацию.


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


[FF D8] — маркер начала. Он всегда находится в начале всех jpg-файлов.


Следом идут байты [FF FE]. Это маркер, означающий начало секции с комментарием. Следующие 2 байта [00 04] — длина секции (включая эти 2 байта). Значит в следующих двух [3A 29] — сам комментарий. Это коды символов ":" и ")", т.е. обычного смайлика. Вы можете увидеть его в первой строке правой части hex-редактора.

Читать дальше →
Total votes 413: ↑408 and ↓5+403
Comments140

Уютный книжный пост для вас и вашего проекта

Reading time8 min
Views131K
Как заработать миллион за день, стать искусным оратором за неделю, похудеть на 100 кг за 2 дня, стать успешным в тысяча ста начинаниях и прочая мишура регулярно засоряет наше информационное пространство. А порой так хочется взять в руки книгу, которая не просто съест кусок вашего свободного времени повествуя о неприменимых в отечественных реалиях вещах, но и подкинет хотя бы несколько полезных советов, способных оказать позитивное влияние на развитие вашей личности и вашего проекта.

Если вы хотите найти и/или поделиться хорошими книгами, добро пожаловать под кат.

image

Читать дальше →
Total votes 76: ↑62 and ↓14+48
Comments45

Выразительный JavaScript: Введение

Reading time9 min
Views468K


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments14

Семь принципов создания современных веб-приложений

Reading time19 min
Views188K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

JavaScript бесспорно стал незаменимым инструментом для разработчиков фронтенда. Сейчас сфера его применения расширяется на другие области, такие как серверы и микроконтроллеры. Этот язык программирования выбрали престижные университеты, чтобы обучать студентов основам информатики.

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

  • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
  • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
  • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
  • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
  • Нужно ли использовать техники вроде PJAX или TurboLinks?
  • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
Читать дальше →
Total votes 108: ↑99 and ↓9+90
Comments33

IceCash 1.3. Linux рабочее место кассира на php, с драйвером Штрих-М

Reading time1 min
Views26K
image

Всем привет. Как-то давным придавно писал статью первый пост о проекте IceCash. Собственно никуда этот проект не потерялся, живет себе в моей организации и понемногу совершенствуется. Работает примерно на сорока кассах. Не шедевр, конечно, но свою функцию выполняет.
Читать дальше →
Total votes 51: ↑34 and ↓17+17
Comments13

Подключаем китайскую метеостанцию

Reading time3 min
Views42K
В сети широко рассматривался вариант реализации датчика температуры, выполненного на микросхеме DS18B20 и подключенного к роутеру TP-link MR-3020 ( с прошивкой OpenWRT) через преобразователь PL2303.
Утилитой digitemp датчик читался и данные отправлялись на сайт narodmon.ru.

Но данного функционала оказалось маловато, захотелось чего-то большего…
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments15

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

Reading time4 min
Views99K
В этой статье не будет описания самых передовых технологий. Здесь все намного скромнее. Я просто хочу поделиться опытом по организации бюджетной школьной информационной системы.

Школа у нас обычная, на 1300 школьников + примерно 100 сотрудников (педагогический коллектив и технический персонал). Из компьютерного оборудования в школе 118 компьютеров, пару серверов, 18 интерактивных досок и куча другой компьютерной периферии (и все это железо далеко не новое). В общем, финансированием на ИКТ школа не избалована (в отличии от столичных).

И вот в 2011 году школа получает грант на развитие — целых 400 тысяч рублей. Руководство решило рискнуть — и на часть этих денег решили создать школьную информационную систему. Общий бюджет системы составил 140 тысяч рублей, совсем не густо, но что поделать. Зато название системе дали гордое — Интерактивная Информационная Система (ИИС).

image

Подробности
Total votes 80: ↑74 and ↓6+68
Comments102

Астрономия за компьютером

Reading time4 min
Views35K
Вот и начался новый учебный год. Ученики и студенты хлынули в двери научных заведений. А учителя и преподаватели приготовились их встречать. Но вот, уже прошли первые дни, радость (я ведь не ошибаюсь?) встречи немного поутихла и наступили обыкновенные будни. Преподаватели с одной стороны, студенты и ученики с другой. Цепочкой, которая их объединяет, есть изучаемый предмет, личностный характер как представителей одной, так и другой стороны, их харизматичность, коммуникационные качества и так далее. И если характер, и иные качественные особенности индивидуума разные в зависимости от человека, то предмет служит чем-то обобщающим. И интересно, качественно преподнеся его ученику (студенту), учитель (преподаватель) устанавливает прочную связь с аудиторией. С другой стороны аудитория интересности «кушает» с удовольствием.
Соответственно захотелось остановиться на преподавании интересной и древнейшей науки – астрономии. Вернее, даже не на преподавании, как о таком, а о его разнообразии. А как можно разнообразить преподавание в ХХІ веке? Ну конечно – используя программное обеспечение и современные гаджеты.
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments26

Образование, которое мы потеряли

Reading time14 min
Views143K
В последнее время у многих моих друзей и коллег, занятых в различных секторах бизнеса, одна и та же проблема, которая часто оборачивается просьбой подсказать грамотного специалиста в некоторой области. А ведь я далеко не охотник за головами, не сотрудник эйчара, не менеджер по персоналу — просто научный сотрудник, имеющий вполне конкретную квалификацию, так что обращение к моей скромной персоне по данному вопросу — не иначе как жест отчаяния. Подобные просьбы означают, что существующие специально для этой цели институты перестают работать, что приводит к необходимости искать более-менее подходящих кадров через знакомых специалистов. Проблема в том, что эти люди — представители малого бизнеса, начальники отделов, начинающие предприниматели, которые не располагают большим бюджетом на наемный персонал. Но ведь и требуются им зачастую вовсе не эйнштейнокоперники, способные собрать космический шатл из того, что завалялось в гараже, а специалисты, способные решать вполне себе типовые задачи, обладающие знаниями и умениями на уровне рядового дипломированного специалиста.
Что же происходит?
Читать дальше →
Total votes 97: ↑75 and ↓22+53
Comments238

Создание умного домофона с автоответчиком и Интернет-соединением

Reading time3 min
Views194K
Не так давно я чинил домофонную трубку и задумался — а не сделать ли мне небольшую модернизацию? Научить его уведомлять меня через Интернет о том, что кто-то приходил, или даже удалённо открывать дверь с мобильного телефона… А затем я решил — почему бы вообще не сделать автоответчик? На телефонах сейчас автоответчик уже мало кому нужен, а вот знать, кто же ко мне приходил, было бы весьма полезно, особенно при том, что я не привык брать трубку, если никого не жду. Воплотить идею в реальность оказалось не так уж сложно.
Читать дальше →
Total votes 146: ↑144 and ↓2+142
Comments80

+10 к интеллекту

Reading time9 min
Views165K
MM_mindmap_title

Так или иначе, практически каждый из нас использовал в своей жизни технику интеллект–карт или Mind Mapping. Это всего лишь простая радиальная схема, но с правильным подходом ее можно превратить в мощный инструмент аналитики и синтеза информации, который всегда под рукой и достаточно прост в использовании. И что самое интересное, освоение техники настолько естественно для нашего мозга, что занимает всего лишь несколько минут…
Читать дальше →
Total votes 90: ↑75 and ↓15+60
Comments49

Information

Rating
Does not participate
Registered
Activity