• Почему не работает пример синхронизации метода из книги Шилдта Java 8?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Не знаю, что там у Шилдта но этот код не будет работать, как вы рассказываете. Три потока стартуют и выполняют работу в рандомном порядке. То что они джойнятся в таком порядке - вообще никак не влияет. Возможно, это пример, как делать не надо.
    Ответ написан
    Комментировать
  • Как прокачать навык разработки архитектуры информационной системы?

    @red-barbarian
    Получить знания можно из книг. Получить навыки только из опыта.
    В частности, сделать архитектуру, получить рабочую модель. Затем внести изменение. Понять сколько времени и сил стоит это изменение. Понять как малейшее изменение может вызвать каскад по всей программе. Понять как изменение в чём-то ломает все на другом конце программы. Почитать что написал через три месяца. Понять почему важно разбивать на модули и правильно наименовать.
    Показать другим, понять что писать нужно максимально просто как для человека с топором.
    Ну потом можно почитать про SOLID и гибкую разработку. Про TDD. Прочитать шаблоны и зачем они. Если начинать с книг, то риск что шаблоны только усложнят систему.

    Архитектура не бывает правильной. Первая цель что бы работала. Вторая легко сопровождалась.
    Ответ написан
    Комментировать
  • Как прокачать навык разработки архитектуры информационной системы?

    artemgapchenko
    @artemgapchenko
    Чтение (Роберт Мартин aka Uncle Bob, Майкл Физерс, Стив Макконнелл, Банда Четырех и так далее), изучение чужого кода и практика. Только так. Можете начать с изучения аббревиатуры SOLID (всё тот же Мартин, книга называется "Быстрая разработка программ. Принципы, примеры, практика") и выбирать литературу дальше, основываясь на сносках в Мартине.

    Хотя, если вы на совсем начальном уровне (что подразумевает ваш вопрос), то вам бы в хороший офис года на полтора-два - там привьют начальные представления о хорошем и плохом, заложат фундамент правильных привычек, а дальше можно уже и за литературу браться, как усвоите основы и набьёте свои шишки.
    Ответ написан
    Комментировать
  • Как прокачать навык разработки архитектуры информационной системы?

    @jimquery
    С примерами на Java есть ещё книга Мартина Фаулера "Архитектура корпоративных программных приложений"
    Ответ написан
    Комментировать
  • Как прокачать навык разработки архитектуры информационной системы?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Разбивание предметной области на классы называется декомпозицией.
    Почитайте про Domain Driven Design
    Хорошая ахтитектура - удобная архитектура, она гибкая, позволяет писать минимум кода. Она позволяет горизонтальное и вертикальное расширение, без конфликтов. Она позволяет писать модульные тесты. Она проста и понятна - обьяснить ее можно на одном листе бумаги за чашкой кофе. Вобщем когда вам ничего не мешает - архитектура хорошая :)
    Ответ написан
    Комментировать
  • Как прокачать навык разработки архитектуры информационной системы?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Главным инструментом проектирования
    программного обеспечения является мозг
    человека, хорошо знакомого с принципа-
    ми проектирования. Это не технология.

    © Крейг Ларман

    Проще говоря, это придёт только с опытом.
    Ответ написан
    Комментировать
  • Что будет если выкинуть платную книгу к себе на сайт?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Реалии: это нарушение прав правообладателя контента.
    Худший вариант: возмещение убытков через суд: сумма будет зависеть от ценности контента и сроков существования этого контента на Вашем сайте: возмещение правообладателю упущенной выгоды.
    А дальше - думайте сами.

    Что будет если выкинуть платную книгу к себе на сайт?
    для Вас, к сожалению, только убытки с большей долей вероятности...

    UPD: Для повышения образованности: читаем
    Ответ написан
    1 комментарий
  • Почему до сих пор используют опасные аналоги TeamViewer?

    edinorog
    @edinorog
    Троллей не кормить!
    Я уже однажды писал один коммент. Его смысл приблизительно в "данная статья указывает как автор городит грабли. И не коим образом не претендует на качественное решение проблемы". Но ведь на хабре нет значка "нестандартное решение (грабли)". И новички принимают это за качественное решение проблемы. С любым софтом так и обстоят дела! Есть одно - два качественных решений и остальное море овна! Это называется "свобода выбора"!!!! =D
    Ответ написан
    Комментировать
  • С чего начинать проектирования базы данных?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    собрался делать "Система управления школьниками"
    - всегда о такой мечтал!

    Простите, не сдержался, далее по делу:
    Я не могу знать Ваши личные предпочтения и манеры преподавания к которой Вы привыкли или считаете наиболее верными или предпочтительными, но в своей преподавательской практике, я не редко использовал метод "визуализации" происходящего. Довольно сложно объяснить человеку, который не работал с сетями, что такое IP4-пакет... но, когда рисуешь это визуально, качество восприятия значительно улучшается.

    Собственно, к чему я это... Возьмите лист бумаги, или холст (paint, photoshop, etc.), или программу для рисования блок-схем, или программу для создания скетчей или что-то подобное и попробуйте отрисовать все таблицы/объекты БД и связи между ними. Так же, аналогичный функционал есть во многих программа для работы с БД (визуализация таблиц и их связей). Когда Вы будете визуально видеть и представлять объекты - гораздо проще воспринимать происходящее.

    Пример из жизни - попробуйте объяснить человеку, что такое таблица реляционной БД... а если провести аналогию с листом из Excel - в 95% случаев, понимание приходит практически моментально.

    Так же могу сказать, что выбор на начальном этапе PostgreSQL - не лучшая идея. PostgreSQL - очень классная БД, если Вы действительно понимаете зачем она Вам нужна и почему именно она. То есть, в тех случаях, когда Вам уже жмут "MySQL-штаны" и не хватает простора для действий и нескольких сотен лишних параметров, которые нужно подкрутить и поднастроить, а так же феерического количества параметров и возможностей самой БД - PostgreSQL будет оптимальным выбором, в ином же случае, Вы будете проклинать мир, разработчиков и всё сущее, постоянно сталкиваясь с некоторыми трудностями, которые иногда могут даже показаться глупостями (хотя, в 99% случаев это не так). Например, чего только стоит момент, что в PostgreSQL нет "табличных движков", или нельзя поменять местами ранее созданные колонки в таблице без полной перезаписи всей таблицы, или дюжина индексов (и какой выбрать?!), против куда более скудного количества в MySQL...

    Мои студенты довольно часто сталкивались с подобными проблемами, по этому, мы пришли к такой практике - база проектируется и прототипируется на MySQL, меняется там до посинения, пока не будет выверен действительно нужный вектор развития БД, код обкатывается... а потом, проект легко и непринуждённо переезжает на PG, где впоследствии снабжается некоторыми плюшками и полезностями уровня PG (теми, который в MySQL-е нет).

    Я рекомендую Вам, так же как и моим студентам - сначала спроектировать базу в MySQL, мы обычно делаем это в программе HeidiSQL (бесплатная), всё очень наглядно и разноцветно. Обкатать Ваш код и логику работы БД, а потом уже, если сильно не терпится - переносить на Postgres.

    Из личного опыта, могу сказать, что многие выбирают PostgreSQL, т.к. он(а) "круче". Это не совсем так, или, совсем не так... Из множества проектов, на PG мы поставили только один, там база данных исчислялась многими десятками и сотнями гигабайт, количество таблиц приближалось к тысяче, а кол-во записей в отдельно взятых таблицах - десятками миллионов. Но, даже сейчас я работаю в поддержке проекта, объёмы данных которого переваливают за 1Тб, и всё прекрасно живёт на MySQL. По этому, если Вы выбрали PG исключительно по каким-то идеологическим, а не техническим соображениям - подумайте ещё раз.
    Ответ написан
    Комментировать
  • С чего начинать проектирования базы данных?

    @RoverWhite
    Делать отдельные решения для каждой школы не надо. Достаточно сделать одно.
    Начните с того что подумайте какие функции будет иметь Ваша система, какую информацию и кому она будет предоставлять.
    Постарайтесь расписать на бумаге Роли участников системы (директор, родитель, учитель, ученик), какие действия они могут предпринимать на портале, какую информацию им портал предоставляет, какую информацию позволяет вводить.
    После этого постарайтесь выделить информационные сущности (пользователь, родитель, учитель, ученик, директор, школа, класс, предмет, урок, расписание уроков, класс, оценка, домашнее задание итд).
    Затем перейдите к описанию отдельных элементов этих сущностей (оценка - цифра оценка, ссылка на школа, на класс, на ученик, на предмет, на урок, на дату, на учителя, дата оценки, комментарий учителя итд.)
    Подумайте какие типы данных вы будете использовать для хранения информации.
    Создайте диаграмму будущей базы данных.
    Продумайте как Ваши сущности будут связаны между собой.
    Ответ написан
    Комментировать
  • В какой книге по java больше практических задач и примеров?

    malworm
    @malworm
    Мне пришлась по душе книга Яков Фаин Программирование на Java за 24 часа вместе с материалами к ней здесь и тут
    Также можно посмотреть видеокурс по книге от автора, тут материалы к нему
    Ответ написан
    Комментировать
  • Чем заняться физику в IT?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    "Чем заняться физику в IT?"
    "1 курс физического факультета"

    Вы не физик. Вы еще студент, и как физик не представляете ничего интересного. Вы определитесь с тем, что вы вообще хотите? Может быть, как физик, вы сможете поднять ядерную энергетику? Или разработать новый вариант солнечной панели, более эффективный? Или вы хотите учиться одному, работать в другом, а деньги получать словно вы третий?
    Ответ написан
    2 комментария
  • Куда пойти учиться на программиста после 9-го класса?

    Denormalization
    @Denormalization
    За 15 лет работы меня о ВО спрашивали.... ноль раз.
    Вру конечно, были случаи когда спрашивали есть ли ВО, но особой роли это не играло.

    Нужно тебе ВО или нет - решать и советовать не нам.
    Кто-то с ВО зарабатывает 500$/мес, а кто-то 20к$.
    Кто-то БЕЗ ВО зарабатывает 500$/мес, а кто-то 20к$.

    Я бы, на твоем месте, пошел бы 10-11, и затем на вышку. Вышка не помешает. Максимум всегда можно будет уйти.

    PS
    У меня нету ВО.
    Ответ написан
    4 комментария
  • Как хранить массу электрона?

    GavriKos
    @GavriKos
    Смотря сколько это в относительных величинах. Допустим, вы оперируете микромиром, и максимальная масса у вас - 1000 масс электронов. Что мешает принять массу электрона за 1 тогда? А в интерфейсе уже домножать. Минус из этого - это точность. Но для точной работы с сверхмалыми числами вообще отдельные вещи мишутся.
    Ответ написан
    Комментировать
  • Бесплатный проект для портфолио превратился в бесконечный. Как быть?

    @Hydro
    C#/.NET Developer
    Как я понимаю, между Вами и заказчиком есть джентельменское соглашение, которое Вы не хотите нарушать, ибо чревато для отношений или Вашей репутации (или Вашей совести).
    Будь я на Вашем месте, я бы обсудил этот момент с заказчиком, объяснив, что бесконечные хотелки, не указанные в ТЗ сильно отвлекают от основной цели - сделать продукт, т.к. дорабабывать его натфилем можно бесконечно.
    А дальше смотреть как разворачивается ситуация: если заказчик наглеет и продавливает свои интересы, то закончит проект, выполнив обязательства по ТЗ, особо не заморачиваясь на юзабилити. Но если человек адекватен, то должен понять Вашу ситуацию.
    Ответ написан
    2 комментария
  • Почему для разработки под Android выбрана Java?

    Пробовал как-то на Delphi XE (XE 5 кажется) я набросать простейшее приложение для пробы. Я был в шоке от таких тормозов в работе приложения, что больше не пробовал. Не вижу смысла - просто юзаю Android studio и не парю себе мозг.
    Ответ написан
    Комментировать
  • Как получить данные из потоков обратно в main в java?

    targetjump
    @targetjump
    Смотрите ForkJoinPool
    Ответ написан
    Комментировать