본문 바로가기
이모저모

최신 영화 하얼빈

by wjdflgkrl 2024. 12. 26.
반응형

영화 하얼빈에 대한 최신 관람평을 소개합니다. 안중근 의사의 이야기를 담은 이 역사 드라마는 감동과 웅장한 스케일로 관객들에게 큰 울림을 선사하고 있습니다. 예매는 아래 버튼에서 바로 가능합니다.

 

 

 

영화 하얼빈: 관람평 & 흥행 성과

1. 시각적 연출과 음악

영화는 하얼빈의 얼어붙은 풍경, 격렬한 의거 장면, 감미로운 음악 등으로 높은 몰입감을 선사합니다. 특히 조명과 색감을 활용한 연출이 관객들에게 강렬한 인상을 남겼습니다.

2. 배우들의 열연

현빈의 안중근 연기는 강인한 의지와 인간적 고뇌를 완벽히 표현했다는 찬사를 받고 있습니다. 전여빈과 박정민 등 조연 배우들의 연기도 극의 완성도를 높였습니다.

3. 평론가 평가

평론가들은 영화의 시각적 미장센과 안중근 의사의 내면적 갈등을 섬세하게 그려냈다는 점에서 높은 점수를 부여했습니다. 다만 일부는 캐릭터 서사가 다소 약하다는 의견도 제시했습니다.

4. 흥행 성과

영화 하얼빈은 개봉 첫날 38만 관객을 동원하며 박스오피스 1위를 기록했습니다. 이는 12월 한국 영화 중 역대 최고 오프닝 스코어로, 연말 관객들의 큰 사랑을 받고 있습니다.

하얼빈: 역사를 새롭게 만나다

안중근 의사의 하얼빈 의거를 중심으로 한 영화는 단순한 역사 재현을 넘어, 오늘날에도 유효한 자유와 정의의 가치를 이야기합니다. 감동적인 서사와 긴장감 넘치는 연출을 경험해보세요.

지금 바로 영화 하얼빈을 예매하고 대형 스크린에서 감동을 느껴보세요! 🎥

반응형

/** * @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};