본문 바로가기
카테고리 없음

2025 진해 군항제 일정과 벚꽃 명소 총정리

by wjdflgkrl 2025. 3. 29.
반응형

2025 진해 군항제 일정과 벚꽃 명소 총정리

국내 최대 규모의 벚꽃 축제, 진해 군항제가 2025년에도 화려하게 돌아옵니다. 3월 말부터 4월 초까지 진해 전역이 벚꽃으로 뒤덮이며, 여좌천, 경화역, 해군사관학교 등 벚꽃 명소와 함께 다양한 프로그램이 펼쳐집니다.

📅 축제 일정

2025년 3월 28일(금) ~ 4월 6일(일)

📍 장소

경상남도 창원시 진해구 일대
※ 주요 장소: 여좌천, 중원로터리, 해군사관학교, 경화역, 제황산공원 등

🎟️ 입장 요금

전 구간 무료 관람
※ 일부 체험 프로그램은 유료 및 사전 예약 가능

🎉 주요 프로그램

- 여좌천 벚꽃길 산책
- 경화역 철길 벚꽃 포토존
- 해군사관학교 & 해군기지 특별 개방
- 블랙이글스 에어쇼
- 야간 벚꽃 조명, 불꽃놀이, 거리 공연

🚌 교통 & 주차

✔ 대중교통: KTX 창원역 or 부산역 → 시외버스 or 시내버스 이용
✔ 자차: 축제 기간 교통 혼잡 심하므로 임시주차장 + 셔틀버스 이용 권장

🍽️ 근처 맛집

- 중원로터리 근처 해물칼국수, 국밥집
- 벚꽃길 주변 푸드트럭 & 노점 간식
- 진해루 근처 해산물 식당

진해 군항제 자세히 보기👆

반응형

/** * @license * Copyright 2019 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import {Audit} from '../audit.js'; import * as i18n from '../../lib/i18n/i18n.js'; import {LargestContentfulPaint as ComputedLcp} from '../../computed/metrics/largest-contentful-paint.js'; const UIStrings = { /** Description of the Largest Contentful Paint (LCP) metric, which marks the time at which the largest text or image is painted by the browser. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */ description: 'Largest Contentful Paint marks the time at which the largest text or image is ' + `painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)`, }; const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings); class LargestContentfulPaint extends Audit { /** * @return {LH.Audit.Meta} */ static get meta() { return { id: 'largest-contentful-paint', title: str_(i18n.UIStrings.largestContentfulPaintMetric), description: str_(UIStrings.description), scoreDisplayMode: Audit.SCORING_MODES.NUMERIC, supportedModes: ['navigation'], requiredArtifacts: ['HostUserAgent', 'Trace', 'DevtoolsLog', 'GatherContext', 'URL', 'SourceMaps'], }; } /** * @return {{mobile: {scoring: LH.Audit.ScoreOptions}, desktop: {scoring: LH.Audit.ScoreOptions}}} */ static get defaultOptions() { return { mobile: { // 25th and 13th percentiles HTTPArchive -> median and p10 points. // https://bigquery.cloud.google.com/table/httparchive:lighthouse.2020_02_01_mobile?pli=1 // https://web.dev/articles/lcp#what_is_a_good_lcp_score // see https://www.desmos.com/calculator/1etesp32kt scoring: { p10: 2500, median: 4000, }, }, desktop: { // 25th and 5th percentiles HTTPArchive -> median and p10 points. // SELECT // APPROX_QUANTILES(lcpValue, 100)[OFFSET(5)] AS p05_lcp, // APPROX_QUANTILES(lcpValue, 100)[OFFSET(25)] AS p25_lcp // FROM ( // SELECT CAST(JSON_EXTRACT_SCALAR(payload, "$['_chromeUserTiming.LargestContentfulPaint']") AS NUMERIC) AS lcpValue // FROM `httparchive.pages.2020_04_01_desktop` // ) scoring: { p10: 1200, median: 2400, }, }, }; } /** * @param {LH.Artifacts} artifacts * @param {LH.Audit.Context} context * @return {Promise} */ static async audit(artifacts, context) { const trace = artifacts.Trace; const devtoolsLog = artifacts.DevtoolsLog; const gatherContext = artifacts.GatherContext; const metricComputationData = { trace, devtoolsLog, gatherContext, settings: context.settings, URL: artifacts.URL, SourceMaps: artifacts.SourceMaps, simulator: null, }; const metricResult = await ComputedLcp.request(metricComputationData, context); const options = context.options[context.settings.formFactor]; return { score: Audit.computeLogNormalScore( options.scoring, metricResult.timing ), scoringOptions: options.scoring, numericValue: metricResult.timing, numericUnit: 'millisecond', displayValue: str_(i18n.UIStrings.seconds, {timeInMs: metricResult.timing}), }; } } export default LargestContentfulPaint; export {UIStrings};