global.json #1

Open
opened 2026-05-19 04:06:45 +00:00 by foravo_admin · 0 comments
Owner

Imported from GitHub issue lhai36366/lhai36366#4.

Source: https://github.com/lhai36366/lhai36366/issues/4
Original author: @lhai36366
Original state: open


  • tên: Thiết lập .NET Core SDK
    sử dụng: actions/setup-dotnet@v4.3.0
    với:

    Phiên bản SDK tùy chọn để sử dụng. Nếu không được cung cấp, sẽ cài đặt phiên bản global.json khi có sẵn. Ví dụ: 2.2.104, 3.1, 3.1.x, 3.x, 6.0.2xx

    dotnet-version: # tùy chọn

    Chất lượng tùy chọn của bản dựng. Các giá trị có thể là: hàng ngày, đã ký, đã xác thực, xem trước, ga.

    dotnet-quality: # tùy chọn

    Vị trí global.json tùy chọn, nếu global.json của bạn không nằm ở thư mục gốc của kho lưu trữ.

    global-json-file: # tùy chọn

    Nguồn gói tùy chọn để thiết lập xác thực. Sẽ tham khảo bất kỳ NuGet.config hiện có nào trong thư mục gốc của kho lưu trữ và cung cấp NuGet.config tạm thời bằng cách sử dụng biến môi trường NUGET_AUTH_TOKEN làm ClearTextPassword

    source-url: # tùy chọn

    CHỦ SỞ HỮU tùy chọn để sử dụng các gói từ các tổ chức/người dùng GitHub Package Registry khác với chủ sở hữu kho lưu trữ hiện tại. Chỉ được sử dụng nếu URL GPR cũng được cung cấp trong source-url

    chủ sở hữu: # tùy chọn

    Vị trí NuGet.config tùy chọn, nếu NuGet.config của bạn không nằm ở thư mục gốc của kho lưu trữ.

    tập tin cấu hình: # tùy chọn

    Đầu vào tùy chọn để bật bộ nhớ đệm của thư mục gói toàn cục NuGet

    bộ nhớ đệm: # tùy chọn

    Được sử dụng để chỉ định đường dẫn đến tệp phụ thuộc: packages.lock.json. Hỗ trợ ký tự đại diện hoặc danh sách tên tệp để lưu trữ đệm nhiều phụ thuộc.

    cache-dependency-path: # tùy chọn
    article
We’re introducing two programs with partners to help drive a more equitable clean energy transition. Google https://blog.google/outreach-initiatives/sustainability/equitable-clean-energy-transition/ Urs Hölzle Technical Infrastructure https://blog.google/inside-google/infrastructure/where-the-internet-lives-podcast-season-3/ Illustration of a data center structure in the center with a circuitry pattern running through that extends into grasslands. “Where the Internet Lives” is at the top in big type. Season 3 of the Where the Internet Lives podcast explores how data centers change the world around them in surprising & beneficial ways. Wed, 22 Mar 2023 16:00:00 +0000 https://blog.google/inside-google/infrastructure/where-the-internet-lives-podcast-season-3/ Data Centers and Infrastructure article Season 3 of the Where the Internet Lives podcast explores how data centers change the world around them in surprising & beneficial ways. Google https://blog.google/inside-google/infrastructure/where-the-internet-lives-podcast-season-3/ Stephanie Wong https://blog.google/outreach-initiatives/sustainability/our-commitment-to-climate-conscious-data-center-cooling/ Image inside of a data center Learn about our climate-conscious data center cooling strategy and how it complements our existing sustainability commitments. Mon, 21 Nov 2022 19:00:00 +0000 https://blog.google/outreach-initiatives/sustainability/our-commitment-to-climate-conscious-data-center-cooling/ Data Centers and Infrastructure Sustainability article Learn about our climate-conscious data center cooling strategy and how it complements our existing sustainability commitments. Google https://blog.google/outreach-initiatives/sustainability/our-commitment-to-climate-conscious-data-center-cooling/ Urs Hölzle Technical Infrastructure https://blog.google/inside-google/infrastructure/female-founders-change-lives-data-center-capital/ Article's hero media In this inspiring new video, female founders discuss their communities and how they are creating new opportunities, and the impact of Google's partnerships with organiza… Wed, 09 Mar 2022 16:00:00 +0000 https://blog.google/inside-google/infrastructure/female-founders-change-lives-data-center-capital/ Data Centers and Infrastructure article In this inspiring new video, female founders discuss their communities and how they are creating new opportunities, and the impact of Google's partnerships with organizations like Global Inheritance and Mobile Hope in data center communities. Google https://blog.google/inside-google/infrastructure/female-founders-change-lives-data-center-capital/ Laurel Brown https://blog.google/inside-google/infrastructure/new-podcast-season-about-people-powering-internet/ Bright lights shine on top of a line of white data center units, surrounded by metal scaffolding. As the moon shines above, the sky transitions from purple on the horizon to a deep blue. Listen to episodes from the newest season of "Where the Internet Lives," a podcast about data centers and the people who keep them running. Thu, 09 Dec 2021 16:30:00 +0000 https://blog.google/inside-google/infrastructure/new-podcast-season-about-people-powering-internet/ Data Centers and Infrastructure Life at Google Googlers article Listen to episodes from the newest season of "Where the Internet Lives," a podcast about data centers and the people who keep them running. Google https://blog.google/inside-google/infrastructure/new-podcast-season-about-people-powering-internet/ Stephanie Wong https://blog.google/inside-google/infrastructure/our-new-animated-series-brings-data-centers-life/ A loop of an animated video showing a laptop opening while the user does a Google search. It then switches to a row of servers, and ends with the image of a data center campus surrounded by trees, blue sky, power lines, and wind turbines. Discovering Data Centers is a multi-season animated video series about the innovation behind Google data centers. Tue, 14 Sep 2021 13:00:00 +0000 https://blog.google/inside-google/infrastructure/our-new-animated-series-brings-data-centers-life/ Data Centers and Infrastructure Google Cloud article Discovering Data Centers is a multi-season animated video series about the innovation behind Google data centers. Google https://blog.google/inside-google/infrastructure/our-new-animated-series-brings-data-centers-life/ Stephanie Wong https://blog.google/inside-google/life-at-google/how-joy-jackson-prepared-her-google-interview/ Joy sits on a brown couch. Behind her is the Google logo painted on a white brick wall. Joy shares how she went from studying to be a graphic designer to discovering a passion for IT and joining the Google data center team. Thu, 24 Jun 2021 09:00:00 +0000 https://blog.google/inside-google/life-at-google/how-joy-jackson-prepared-her-google-interview/ Data Centers and Infrastructure My Path to Google Life at Google Googlers article Joy shares how she went from studying to be a graphic designer to discovering a passion for IT and joining the Google data center team. Google https://blog.google/inside-google/life-at-google/how-joy-jackson-prepared-her-google-interview/ Daphne Karpel https://blog.google/outreach-initiatives/sustainability/carbon-aware-computing-location/ Animated GIF illustrating loads being moved between different data centers to seek out carbon-free energy (note: of course, limitations like privacy laws apply). Decarbonizing our footprint by moving flexible tasks between different data centers, to where carbon-free energy is most plentiful. Tue, 18 May 2021 18:53:00 +0000 https://blog.google/outreach-initiatives/sustainability/carbon-aware-computing-location/ Data Centers and Infrastructure Research Sustainability article Decarbonizing our footprint by moving flexible tasks between different data centers, to where carbon-free energy is most plentiful. Google https://blog.google/outreach-initiatives/sustainability/carbon-aware-computing-location/ Ross Koningstein Carbon-Intelligent Computing https://blog.google/technology/ai/minimizing-carbon-footprint/ A photo showing green lights inside a Google data center A new analysis shows training machine learning models is surprisingly efficient. Here's what we’re doing to further minimize ML’s impact. Thu, 22 Apr 2021 03:00:00 +0000 https://blog.google/technology/ai/minimizing-carbon-footprint/ Data Centers and Infrastructure Google Cloud Sustainability AI article A new analysis shows training machine learning models is surprisingly efficient. Here's what we’re doing to further minimize ML’s impact. Google https://blog.google/technology/ai/minimizing-carbon-footprint/ David Patterson [b67494] : / G4P / ví dụ / G4P_ToolTipExplorer / G4P_ToolTipExplorer.pde Tối đa hóa Lịch sử Tải xuống tập tin này

297 dòng (268 có dữ liệu), 9,6 kB
nhập g4p_controls.*;
nhập java.awt.Font;

/**
Chương trình này trình bày hai phương pháp để thiết lập vị trí của
một đầu dụng cụ.

Bản phác thảo bắt đầu sử dụng kiểu COMPASS trong đó đầu ở phía trên
(GAlign.NORTH) hoặc bên dưới (GAlign.SOUTH). Căn chỉnh theo chiều ngang với
điều khiển có thể là GAlign.LEFT, GAlign.RIGHT hoặc GAlign.CENTER.

Nếu điều khiển được xoay thì kiểu RADIAL có lẽ là tốt nhất cho
định vị đầu. Khoảng cách xuyên tâm là khoảng cách giữa
trung tâm điều khiển và đầu. Góc xuyên tâm là góc tạo bởi vectơ
trung tâm điều khiển --> trung tâm mũi tên.

để xử lý V3+
(c) 2024 Peter Lager
*/

thiết lập void công khai() {
kích thước (600, 480, JAVA2D);
}

công khai void thiết lập() {
codefont = new Font("Courier", G4P.PLAIN, 15);
tạoGUI();
tùy chỉnhGUI();
cập nhậtCompassStyle();
}

công khai void draw() {
nền(255, 255, 192);
vẽTipShadow();
đột quỵ(0, 0, 128);
đột quỵTrọng lượng(3);
điền(100, 255, 255);
hình chữ nhật(390, 10, 200, 150, 6);
hình chữ nhật(390, 170, 200, 150, 6);
hình chữ nhật(390, 330, 200, 40, 6);
hình chữ nhật(10, 10, 120, 160, 6);
}

công khai void drawTipShadow() {
Mẹo GToolTip = sdr.getTip();
float sdrAng = sdr.getRotation();
xô();
điền(0, 48);
không có đột quỵ();
dịch (sdr.getCX(), sdr.getCY());
xoay(sdrAng);
dịch(tip.getCX(), tip.getCY());
nếu (tip.isFixedHorz())
xoay(-sdrAng);
rectMode(GIỮA);
rect(0, 0, tip. getWidth()-2, tip. getHeight()-2, 4);
nhạc pop();
}

public void knbTurn(nguồn GKnob, sự kiện GEvent) {
float góc = source.getValueI();
sdr.setRotation(radians(góc), GControlMode.CENTER);
lblSdrAng.setText("" + góc);
}

public void resetAng(nguồn GButton, sự kiện GEvent) {
sdr.setRotation(0, GControlMode.CENTER);
lblSdrAng.setText("0");
knb. setValue(0);
}

công khai void updateCompassStyle() {
GAlign h = GAlign.getFromText(listHorz.getSelectedText());
GAlign v = GAlign.getFromText(listVert.getSelectedText());
float g = sdrGap.getValueF();
sdr.setTipPos(h, v, g);
StringBuilder s = new StringBuilder("sdr.setTipPos(");
s.append("GAlign.").append(listHorz.getSelectedText()).append(", ")
.append("GAlign.").append(listVert.getSelectedText()).append(", ")
.append(""+sdrGap.getValueI()).append(");");
nếu (!cbxKeepLevel.isSelected()) {
s.append("\nsdr.setTipHorz(sai);");
}
tipPosSourceCode.setText(s.toString());
}

công khai void updateRadialStyle() {
float rd = sdrRadDist.getValueF();
float ang = radian(sdrRadAng.getValueF());
sdr.setTipPos(rd, ang);
StringBuilder s = new StringBuilder("sdr.setTipPos(");
s.append(""+sdrRadDist.getValueI()).append(", ")
.append("radian("+sdrRadAng.getValueI()).append("));");
nếu (!cbxKeepLevel.isSelected()) {
s.append("\nsdr.setTipHorz(sai);");
}
tipPosSourceCode.setText(s.toString());
}

public void chooseCompassStyle(GOption nguồn, sự kiện GEvent) {
nếu (sự kiện == GEvent.SELECTED) {
grpCompass.fadeTo(0, 250, 255);
grpRadial.fadeTo(0, 250, 96);
cập nhậtCompassStyle();
}
}

public void horzAlign(GDropList nguồn, sự kiện GEvent) {
cập nhậtCompassStyle();
}

public void vertAlign(GDropList nguồn, sự kiện GEvent) {
cập nhậtCompassStyle();
}

public void changeGap(GSlider nguồn, sự kiện GEvent) {
lblGap.setText("" + source.getValueI());
cập nhậtCompassStyle();
}

public void chooseRadialStyle(GOption nguồn, sự kiện GEvent) {
println("RADIAL - GOption >> GEvent." + sự kiện + " @ " + millis());
nếu (sự kiện == GEvent.SELECTED) {
grpCompass.fadeTo(0, 250, 96);
grpRadial.fadeTo(0, 250, 255);
cập nhậtRadialStyle();
}
}

public void radDistChange(GSlider nguồn, sự kiện GEvent) {
lblRadDist.setText("" + source.getValueI());
cập nhậtRadialStyle();
}

public void sdrRadAngChange(GSlider nguồn, sự kiện GEvent) {
float góc = source.getValueI();
lblRadAng.setText("" + tròn(góc));
cập nhậtRadialStyle();
}

public void keepTipLevel(GCheckbox nguồn, sự kiện GEvent) {
sdr.setTipHorz(nguồn.isSelected());
nếu (optCompass.isSelected())
cập nhậtCompassStyle();
khác
cập nhậtRadialStyle();
}

công khai void createGUI() {
G4P.messagesEnabled(sai);
G4P.setGlobalColorScheme(GCScheme.BLUE_SCHEME);
G4P.setMouseOverEnabled(sai);
surface.setTitle("Trình khám phá mẹo công cụ");
sdr = new GSlider(này, 100, 270, 200, 60, 12);
sdr.setShowValue(đúng);
sdr.setShowLimits(đúng);
sdr.setLimits(40, 0, 100);
sdr.setShowTicks(đúng);
sdr.setNumberFormat(G4P.INTEGER, 0);
sdr.setLocalColorScheme(GCScheme.PURPLE_SCHEME);
sdr.setOpaque(đúng);
knb = new GKnob(này, 20, 20, 100, 100, 0.8f);
knb. setTurnRange(110, 70);
knb.setTurnMode(GKnob.CTRL_HORIZONTAL);
knb.setĐộ nhạy(1);
knb.setShowArcOnly(sai);
knb.setOverArcOnly(sai);
knb.setIncludeOverBezel(false);
knb.setShowTrack(đúng);
knb. setLimits(0f, 0f, 360f);
knb.setNbrTicks(37);
knb.setStickToTicks(đúng);
knb.setShowTicks(đúng);
//knb.setOpaque(đúng);
knb.addEventHandler(điều này, "knbTurn");
lblSdrAng = new GLabel(này, 20, 120, 40, 20);
lblSdrAng.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
lblSdrAng.setText("0");
lblSdrAng.setOpaque(đúng);
_degrees$ = new GLabel(này, 60, 120, 60, 20);
_degrees$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
_degrees$.setText("Độ");
_degrees$.setOpaque(đúng);
rbtnResetAng = new GButton(này, 20, 140, 100, 20);
rbtnResetAng.setText("ĐẶT LẠI");
rbtnResetAng.addEventHandler(điều này, "resetAng");
// Kiểu BÁNH XANH
optRadial = new GOption(này, 400, 180, 180, 30);
optRadial.setIconPos(GAlign.EAST);
optRadial.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
optRadial.setText("Phong cách RADIAL");
optRadial.setOpaque(đúng);
optRadial.addEventHandler(điều này, "chooseRadialStyle");
_radDist$ = new GLabel(này, 400, 220, 140, 20);
_radDist$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
_radDist$.setText("Khoảng cách xuyên tâm");
_radDist$.setOpaque(đúng);
lblRadDist = new GLabel(này, 540, 220, 40, 20);
lblRadDist.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
lblRadDist.setText("40");
lblRadDist.setOpaque(đúng);
sdrRadDist = new GSlider(này, 400, 240, 180, 20, 10);
sdrRadDist.setLimits(40, 0, 150);
sdrRadDist.setNbrTicks(16);
sdrRadDist.setShowTicks(đúng);
sdrRadDist.setNumberFormat(G4P.INTEGER, 0);
//sdrRadDist.setOpaque(đúng);
sdrRadDist.addEventHandler(này, "radDistChange");
_angle$ = new GLabel(này, 400, 270, 140, 20);
_angle$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
_angle$.setText("Góc");
_angle$.setOpaque(đúng);
lblRadAng = new GLabel(này, 540, 270, 40, 20);
lblRadAng.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
lblRadAng.setText("90");
lblRadAng.setOpaque(đúng);
sdrRadAng = new GSlider(này, 400, 290, 180, 20, 10);
sdrRadAng.setLimits(90, 0, 360);
sdrRadAng.setNbrTicks(19);
sdrRadAng.setShowTicks(đúng);
sdrRadAng.setNumberFormat(G4P.INTEGER, 0);
sdrRadAng.addEventHandler(điều này, "sdrRadAngChange");

// Kiểu COMPASS
optCompass = new GOption(này, 400, 20, 180, 30);
optCompass.setIconPos(GAlign.EAST);
optCompass.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
optCompass.setText("KIỂU LA BÀN");
optCompass.setOpaque(đúng);
optCompass.addEventHandler(điều này, "chooseCompassStyle");
_alignment$ = new GLabel(này, 400, 60, 180, 20);
_alignment$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
_alignment$.setText("Căn chỉnh");
_alignment$.setOpaque(đúng);
listHorz = new GDropList(này, 400, 80, 90, 80, 3, 10);
listHorz.setItems(new String[] { "TRÁI", "GIỮA", "PHẢI" }, 1);
listHorz.addEventHandler(cái này, "horzAlign");
listVert = new GDropList(this, 490, 80, 90, 80, 3, 10);
listVert.setItems(chuỗi mới[] { "BẮC", "NAM" }, 0);
listVert.addEventHandler(this, "vertAlign");
_gap$ = new GLabel(này, 400, 110, 40, 20);
_gap$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
_gap$.setText("Khoảng cách");
_gap$.setOpaque(đúng);
sdrGap = new GSlider(này, 440, 110, 140, 40, 10);
sdrGap.setLimits(0, 0, 100);
sdrGap.setNbrTicks(11);
sdrGap.setShowTicks(đúng);
sdrGap.setNumberFormat(G4P.INTEGER, 0);
//sdrGap.setOpaque(đúng);
sdrGap.addEventHandler(điều này, "changeGap");
lblGap = new GLabel(này, 400, 130, 40, 20);
lblGap.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
lblGap. setText("0");
lblGap.setOpaque(đúng);

cbxKeepLevel = new GCheckbox(này, 400, 340, 180, 20);
cbxKeepLevel.setOpaque(đúng);
cbxKeepLevel.setText("Giữ mức tiền boa");
cbxKeepLevel.setSelected(sử dụngNativeSelect);
cbxKeepLevel.addEventHandler(điều này, "keepTipLevel");

tipPosSourceCode = GLabel mới (cái này, 20, 420, 560, 50);
tipPosSourceCode.setTextAlign(GAlign.LEFT, GAlign.CENTER);
tipPosSourceCode.setText(" ---- ");
tipPosSourceCode.setLocalColorScheme(GCScheme.GREEN_SCHEME);
tipPosSourceCode.setOpaque(đúng);
tipPosSourceCode.setFont(codefont);

togStyle = GToggleGroup mới();
togStyle.addControls(optCompass, optRadial);
optCompass.setSelected(đúng);
}

công khai void customGUI() {
knb.setTip("Xoay thanh trượt", 40, 1.5f * PI);
sdr.setTip("Điểm thi (%)", GAlign.CENTER, GAlign.NORTH, 0);
grpCompass = new GGroup(này);
grpCompass.addControls(listHorz, listVert, sdrGap, _alignment$, _gap$, lblGap);
grpRadial = new GGroup(này);
grpRadial.addControls(sdrRadDist, sdrRadAng, _radDist$, _angle$, lblRadDist, lblRadAng );
grpRadial.fadeTo(10, 200, 127);
}

GSlider sdr, sdrRadDist, sdrRadAng, sdrGap;
Núm vặn GKnob;
Nhãn lblSdrAng, lblGap, lblRadDist, lblRadAng, tipPosSourceCode;
GLabel _độ, _khoảng cách, _radDist$, _góc$, _căn chỉnh$;
Nút G rbtnResetAng;
GDropList danh sáchHorz, listVert;
GCheckbox cbxKeepLevel;
GToggleGroup togStyle;
GOption optRadial, optCompass;
GGroup grpCompass, grpRadial;
Mã phông chữ;G4P_ToolTipExplorer.pdehttps://git.code.sf.net/p/g4p/codeGControlMode.CENTERknb.setĐộ

Imported from GitHub issue `lhai36366/lhai36366#4`. Source: https://github.com/lhai36366/lhai36366/issues/4 Original author: @lhai36366 Original state: open <!-- foravo:github-issue:lhai36366/lhai36366#4 --> --- - tên: Thiết lập .NET Core SDK sử dụng: actions/setup-dotnet@v4.3.0 với: # Phiên bản SDK tùy chọn để sử dụng. Nếu không được cung cấp, sẽ cài đặt phiên bản global.json khi có sẵn. Ví dụ: 2.2.104, 3.1, 3.1.x, 3.x, 6.0.2xx dotnet-version: # tùy chọn # Chất lượng tùy chọn của bản dựng. Các giá trị có thể là: hàng ngày, đã ký, đã xác thực, xem trước, ga. dotnet-quality: # tùy chọn # Vị trí global.json tùy chọn, nếu global.json của bạn không nằm ở thư mục gốc của kho lưu trữ. global-json-file: # tùy chọn # Nguồn gói tùy chọn để thiết lập xác thực. Sẽ tham khảo bất kỳ NuGet.config hiện có nào trong thư mục gốc của kho lưu trữ và cung cấp NuGet.config tạm thời bằng cách sử dụng biến môi trường NUGET_AUTH_TOKEN làm ClearTextPassword source-url: # tùy chọn # CHỦ SỞ HỮU tùy chọn để sử dụng các gói từ các tổ chức/người dùng GitHub Package Registry khác với chủ sở hữu kho lưu trữ hiện tại. Chỉ được sử dụng nếu URL GPR cũng được cung cấp trong source-url chủ sở hữu: # tùy chọn # Vị trí NuGet.config tùy chọn, nếu NuGet.config của bạn không nằm ở thư mục gốc của kho lưu trữ. tập tin cấu hình: # tùy chọn # Đầu vào tùy chọn để bật bộ nhớ đệm của thư mục gói toàn cục NuGet bộ nhớ đệm: # tùy chọn # Được sử dụng để chỉ định đường dẫn đến tệp phụ thuộc: packages.lock.json. Hỗ trợ ký tự đại diện hoặc danh sách tên tệp để lưu trữ đệm nhiều phụ thuộc. cache-dependency-path: # tùy chọn <type>article</type> <title>How we’re helping everyone benefit from the transition to clean energy</title> <description>We’re introducing two programs with partners to help drive a more equitable clean energy transition.</description> <site_name>Google</site_name> <url>https://blog.google/outreach-initiatives/sustainability/equitable-clean-energy-transition/</url> </og> <author xmlns:author="http://www.w3.org/2005/Atom"> <name>Urs Hölzle</name> <title>Senior Vice President</title> <department>Technical Infrastructure</department> <company/> </author> </item> <item> <title>Hear how data centers change the world around them</title> <link>https://blog.google/inside-google/infrastructure/where-the-internet-lives-podcast-season-3/</link> <media:content height="540" medium="image" url="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/GDC-WTIL_S3-Teaser-Keyword-2096.max-600x600.format-webp.webp" width="540"/> <media:description>Illustration of a data center structure in the center with a circuitry pattern running through that extends into grasslands. “Where the Internet Lives” is at the top in big type.</media:description> <description><img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/GDC-WTIL_S3-Teaser-Keyword-2096.max-600x600.format-webp.webp">Season 3 of the Where the Internet Lives podcast explores how data centers change the world around them in surprising & beneficial ways.</description> <pubDate>Wed, 22 Mar 2023 16:00:00 +0000</pubDate> <guid>https://blog.google/inside-google/infrastructure/where-the-internet-lives-podcast-season-3/</guid> <category>Data Centers and Infrastructure</category> <og xmlns:og="http://ogp.me/ns#"> <type>article</type> <title>Hear how data centers change the world around them</title> <description>Season 3 of the Where the Internet Lives podcast explores how data centers change the world around them in surprising & beneficial ways.</description> <site_name>Google</site_name> <url>https://blog.google/inside-google/infrastructure/where-the-internet-lives-podcast-season-3/</url> </og> <author xmlns:author="http://www.w3.org/2005/Atom"> <name>Stephanie Wong</name> <title>Head of Developer Engagement</title> <department/> <company/> </author> </item> <item> <title>Our commitment to climate-conscious data center cooling</title> <link>https://blog.google/outreach-initiatives/sustainability/our-commitment-to-climate-conscious-data-center-cooling/</link> <media:content height="540" medium="image" url="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/image5_bmarkBN.max-600x600.format-webp.webp" width="540"/> <media:description>Image inside of a data center</media:description> <description><img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/image5_bmarkBN.max-600x600.format-webp.webp">Learn about our climate-conscious data center cooling strategy and how it complements our existing sustainability commitments.</description> <pubDate>Mon, 21 Nov 2022 19:00:00 +0000</pubDate> <guid>https://blog.google/outreach-initiatives/sustainability/our-commitment-to-climate-conscious-data-center-cooling/</guid> <category>Data Centers and Infrastructure</category> <category>Sustainability</category> <og xmlns:og="http://ogp.me/ns#"> <type>article</type> <title>Our commitment to climate-conscious data center cooling</title> <description>Learn about our climate-conscious data center cooling strategy and how it complements our existing sustainability commitments.</description> <site_name>Google</site_name> <url>https://blog.google/outreach-initiatives/sustainability/our-commitment-to-climate-conscious-data-center-cooling/</url> </og> <author xmlns:author="http://www.w3.org/2005/Atom"> <name>Urs Hölzle</name> <title>Senior Vice President</title> <department>Technical Infrastructure</department> <company/> </author> </item> <item> <title>Female founders change lives in the data center capital</title> <link>https://blog.google/inside-google/infrastructure/female-founders-change-lives-data-center-capital/</link> <media:content height="540" medium="image" url="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Screen_Shot_2022-02-21_at_10.45.max-600x600.format-webp.webp" width="540"/> <media:description>Article's hero media</media:description> <description><img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Screen_Shot_2022-02-21_at_10.45.max-600x600.format-webp.webp">In this inspiring new video, female founders discuss their communities and how they are creating new opportunities, and the impact of Google's partnerships with organiza…</description> <pubDate>Wed, 09 Mar 2022 16:00:00 +0000</pubDate> <guid>https://blog.google/inside-google/infrastructure/female-founders-change-lives-data-center-capital/</guid> <category>Data Centers and Infrastructure</category> <og xmlns:og="http://ogp.me/ns#"> <type>article</type> <title>Female founders change lives in the data center capital</title> <description>In this inspiring new video, female founders discuss their communities and how they are creating new opportunities, and the impact of Google's partnerships with organizations like Global Inheritance and Mobile Hope in data center communities.</description> <site_name>Google</site_name> <url>https://blog.google/inside-google/infrastructure/female-founders-change-lives-data-center-capital/</url> </og> <author xmlns:author="http://www.w3.org/2005/Atom"> <name>Laurel Brown</name> <title>Head of Economic and Community Development (US-East, LATAM)</title> <department/> <company/> </author> </item> <item> <title>A new podcast season about people powering the internet</title> <link>https://blog.google/inside-google/infrastructure/new-podcast-season-about-people-powering-internet/</link> <media:content height="540" medium="image" url="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/mayes-county-exterior-moonlight.max-600x600.format-webp.webp" width="540"/> <media:description>Bright lights shine on top of a line of white data center units, surrounded by metal scaffolding. As the moon shines above, the sky transitions from purple on the horizon to a deep blue.</media:description> <description><img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/mayes-county-exterior-moonlight.max-600x600.format-webp.webp">Listen to episodes from the newest season of "Where the Internet Lives," a podcast about data centers and the people who keep them running.</description> <pubDate>Thu, 09 Dec 2021 16:30:00 +0000</pubDate> <guid>https://blog.google/inside-google/infrastructure/new-podcast-season-about-people-powering-internet/</guid> <category>Data Centers and Infrastructure</category> <category>Life at Google</category> <category>Googlers</category> <og xmlns:og="http://ogp.me/ns#"> <type>article</type> <title>A new podcast season about people powering the internet</title> <description>Listen to episodes from the newest season of "Where the Internet Lives," a podcast about data centers and the people who keep them running.</description> <site_name>Google</site_name> <url>https://blog.google/inside-google/infrastructure/new-podcast-season-about-people-powering-internet/</url> </og> <author xmlns:author="http://www.w3.org/2005/Atom"> <name>Stephanie Wong</name> <title>Head of Developer Engagement</title> <department/> <company/> </author> </item> <item> <title>Our new animated series brings data centers to life</title> <link>https://blog.google/inside-google/infrastructure/our-new-animated-series-brings-data-centers-life/</link> <media:content height="540" medium="image" url="https://storage.googleapis.com/gweb-uniblog-publish-prod/original_images/dca_intro_1.gif" width="540"/> <media:description>A loop of an animated video showing a laptop opening while the user does a Google search. It then switches to a row of servers, and ends with the image of a data center campus surrounded by trees, blue sky, power lines, and wind turbines.</media:description> <description><img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/original_images/dca_intro_1.gif">Discovering Data Centers is a multi-season animated video series about the innovation behind Google data centers.</description> <pubDate>Tue, 14 Sep 2021 13:00:00 +0000</pubDate> <guid>https://blog.google/inside-google/infrastructure/our-new-animated-series-brings-data-centers-life/</guid> <category>Data Centers and Infrastructure</category> <category>Google Cloud</category> <og xmlns:og="http://ogp.me/ns#"> <type>article</type> <title>Our new animated series brings data centers to life</title> <description>Discovering Data Centers is a multi-season animated video series about the innovation behind Google data centers.</description> <site_name>Google</site_name> <url>https://blog.google/inside-google/infrastructure/our-new-animated-series-brings-data-centers-life/</url> </og> <author xmlns:author="http://www.w3.org/2005/Atom"> <name>Stephanie Wong</name> <title>Developer Advocate, Google Cloud</title> <department/> <company/> </author> </item> <item> <title>How Joy Jackson prepared for her Google interview</title> <link>https://blog.google/inside-google/life-at-google/how-joy-jackson-prepared-her-google-interview/</link> <media:content height="540" medium="image" url="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Joy_header_image_1.max-600x600.format-webp.webp" width="540"/> <media:description>Joy sits on a brown couch. Behind her is the Google logo painted on a white brick wall.</media:description> <description><img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Joy_header_image_1.max-600x600.format-webp.webp">Joy shares how she went from studying to be a graphic designer to discovering a passion for IT and joining the Google data center team.</description> <pubDate>Thu, 24 Jun 2021 09:00:00 +0000</pubDate> <guid>https://blog.google/inside-google/life-at-google/how-joy-jackson-prepared-her-google-interview/</guid> <category>Data Centers and Infrastructure</category> <category>My Path to Google</category> <category>Life at Google</category> <category>Googlers</category> <og xmlns:og="http://ogp.me/ns#"> <type>article</type> <title>How Joy Jackson prepared for her Google interview</title> <description>Joy shares how she went from studying to be a graphic designer to discovering a passion for IT and joining the Google data center team.</description> <site_name>Google</site_name> <url>https://blog.google/inside-google/life-at-google/how-joy-jackson-prepared-her-google-interview/</url> </og> <author xmlns:author="http://www.w3.org/2005/Atom"> <name>Daphne Karpel</name> <title>Contributor, The Keyword</title> <department/> <company/> </author> </item> <item> <title>We now do more computing where there’s cleaner energy</title> <link>https://blog.google/outreach-initiatives/sustainability/carbon-aware-computing-location/</link> <media:content height="540" medium="image" url="https://storage.googleapis.com/gweb-uniblog-publish-prod/original_images/GGL32160_Data-Centers-Carbon-Aware-Global-Impact-Graphic_v04-1_1.gif" width="540"/> <media:description>Animated GIF illustrating loads being moved between different data centers to seek out carbon-free energy (note: of course, limitations like privacy laws apply).</media:description> <description><img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/original_images/GGL32160_Data-Centers-Carbon-Aware-Global-Impact-Graphic_v04-1_1.gif">Decarbonizing our footprint by moving flexible tasks between different data centers, to where carbon-free energy is most plentiful.</description> <pubDate>Tue, 18 May 2021 18:53:00 +0000</pubDate> <guid>https://blog.google/outreach-initiatives/sustainability/carbon-aware-computing-location/</guid> <category>Data Centers and Infrastructure</category> <category>Research</category> <category>Sustainability</category> <og xmlns:og="http://ogp.me/ns#"> <type>article</type> <title>We now do more computing where there’s cleaner energy</title> <description>Decarbonizing our footprint by moving flexible tasks between different data centers, to where carbon-free energy is most plentiful.</description> <site_name>Google</site_name> <url>https://blog.google/outreach-initiatives/sustainability/carbon-aware-computing-location/</url> </og> <author xmlns:author="http://www.w3.org/2005/Atom"> <name>Ross Koningstein</name> <title>Co-founder</title> <department>Carbon-Intelligent Computing</department> <company/> </author> </item> <item> <title>How we’re minimizing AI’s carbon footprint</title> <link>https://blog.google/technology/ai/minimizing-carbon-footprint/</link> <media:content height="540" medium="image" url="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/image2_J0u7kXp.max-600x600.format-webp.webp" width="540"/> <media:description>A photo showing green lights inside a Google data center</media:description> <description><img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/image2_J0u7kXp.max-600x600.format-webp.webp">A new analysis shows training machine learning models is surprisingly efficient. Here's what we’re doing to further minimize ML’s impact.</description> <pubDate>Thu, 22 Apr 2021 03:00:00 +0000</pubDate> <guid>https://blog.google/technology/ai/minimizing-carbon-footprint/</guid> <category>Data Centers and Infrastructure</category> <category>Google Cloud</category> <category>Sustainability</category> <category>AI</category> <og xmlns:og="http://ogp.me/ns#"> <type>article</type> <title>How we’re minimizing AI’s carbon footprint</title> <description>A new analysis shows training machine learning models is surprisingly efficient. Here's what we’re doing to further minimize ML’s impact.</description> <site_name>Google</site_name> <url>https://blog.google/technology/ai/minimizing-carbon-footprint/</url> </og> <author xmlns:author="http://www.w3.org/2005/Atom"> <name>David Patterson</name> <title>Distinguished Software Engineer</title> <department/> <company/> [b67494] : / G4P / ví dụ / G4P_ToolTipExplorer / G4P_ToolTipExplorer.pde Tối đa hóa Lịch sử Tải xuống tập tin này 297 dòng (268 có dữ liệu), 9,6 kB nhập g4p_controls.*; nhập java.awt.Font; /** Chương trình này trình bày hai phương pháp để thiết lập vị trí của một đầu dụng cụ. Bản phác thảo bắt đầu sử dụng kiểu COMPASS trong đó đầu ở phía trên (GAlign.NORTH) hoặc bên dưới (GAlign.SOUTH). Căn chỉnh theo chiều ngang với điều khiển có thể là GAlign.LEFT, GAlign.RIGHT hoặc GAlign.CENTER. Nếu điều khiển được xoay thì kiểu RADIAL có lẽ là tốt nhất cho định vị đầu. Khoảng cách xuyên tâm là khoảng cách giữa trung tâm điều khiển và đầu. Góc xuyên tâm là góc tạo bởi vectơ trung tâm điều khiển --> trung tâm mũi tên. để xử lý V3+ (c) 2024 Peter Lager */ thiết lập void công khai() { kích thước (600, 480, JAVA2D); } công khai void thiết lập() { codefont = new Font("Courier", G4P.PLAIN, 15); tạoGUI(); tùy chỉnhGUI(); cập nhậtCompassStyle(); } công khai void draw() { nền(255, 255, 192); vẽTipShadow(); đột quỵ(0, 0, 128); đột quỵTrọng lượng(3); điền(100, 255, 255); hình chữ nhật(390, 10, 200, 150, 6); hình chữ nhật(390, 170, 200, 150, 6); hình chữ nhật(390, 330, 200, 40, 6); hình chữ nhật(10, 10, 120, 160, 6); } công khai void drawTipShadow() { Mẹo GToolTip = sdr.getTip(); float sdrAng = sdr.getRotation(); xô(); điền(0, 48); không có đột quỵ(); dịch (sdr.getCX(), sdr.getCY()); xoay(sdrAng); dịch(tip.getCX(), tip.getCY()); nếu (tip.isFixedHorz()) xoay(-sdrAng); rectMode(GIỮA); rect(0, 0, tip. getWidth()-2, tip. getHeight()-2, 4); nhạc pop(); } public void knbTurn(nguồn GKnob, sự kiện GEvent) { float góc = source.getValueI(); sdr.setRotation(radians(góc), GControlMode.CENTER); lblSdrAng.setText("" + góc); } public void resetAng(nguồn GButton, sự kiện GEvent) { sdr.setRotation(0, GControlMode.CENTER); lblSdrAng.setText("0"); knb. setValue(0); } công khai void updateCompassStyle() { GAlign h = GAlign.getFromText(listHorz.getSelectedText()); GAlign v = GAlign.getFromText(listVert.getSelectedText()); float g = sdrGap.getValueF(); sdr.setTipPos(h, v, g); StringBuilder s = new StringBuilder("sdr.setTipPos("); s.append("GAlign.").append(listHorz.getSelectedText()).append(", ") .append("GAlign.").append(listVert.getSelectedText()).append(", ") .append(""+sdrGap.getValueI()).append(");"); nếu (!cbxKeepLevel.isSelected()) { s.append("\nsdr.setTipHorz(sai);"); } tipPosSourceCode.setText(s.toString()); } công khai void updateRadialStyle() { float rd = sdrRadDist.getValueF(); float ang = radian(sdrRadAng.getValueF()); sdr.setTipPos(rd, ang); StringBuilder s = new StringBuilder("sdr.setTipPos("); s.append(""+sdrRadDist.getValueI()).append(", ") .append("radian("+sdrRadAng.getValueI()).append("));"); nếu (!cbxKeepLevel.isSelected()) { s.append("\nsdr.setTipHorz(sai);"); } tipPosSourceCode.setText(s.toString()); } public void chooseCompassStyle(GOption nguồn, sự kiện GEvent) { nếu (sự kiện == GEvent.SELECTED) { grpCompass.fadeTo(0, 250, 255); grpRadial.fadeTo(0, 250, 96); cập nhậtCompassStyle(); } } public void horzAlign(GDropList nguồn, sự kiện GEvent) { cập nhậtCompassStyle(); } public void vertAlign(GDropList nguồn, sự kiện GEvent) { cập nhậtCompassStyle(); } public void changeGap(GSlider nguồn, sự kiện GEvent) { lblGap.setText("" + source.getValueI()); cập nhậtCompassStyle(); } public void chooseRadialStyle(GOption nguồn, sự kiện GEvent) { println("RADIAL - GOption >> GEvent." + sự kiện + " @ " + millis()); nếu (sự kiện == GEvent.SELECTED) { grpCompass.fadeTo(0, 250, 96); grpRadial.fadeTo(0, 250, 255); cập nhậtRadialStyle(); } } public void radDistChange(GSlider nguồn, sự kiện GEvent) { lblRadDist.setText("" + source.getValueI()); cập nhậtRadialStyle(); } public void sdrRadAngChange(GSlider nguồn, sự kiện GEvent) { float góc = source.getValueI(); lblRadAng.setText("" + tròn(góc)); cập nhậtRadialStyle(); } public void keepTipLevel(GCheckbox nguồn, sự kiện GEvent) { sdr.setTipHorz(nguồn.isSelected()); nếu (optCompass.isSelected()) cập nhậtCompassStyle(); khác cập nhậtRadialStyle(); } công khai void createGUI() { G4P.messagesEnabled(sai); G4P.setGlobalColorScheme(GCScheme.BLUE_SCHEME); G4P.setMouseOverEnabled(sai); surface.setTitle("Trình khám phá mẹo công cụ"); sdr = new GSlider(này, 100, 270, 200, 60, 12); sdr.setShowValue(đúng); sdr.setShowLimits(đúng); sdr.setLimits(40, 0, 100); sdr.setShowTicks(đúng); sdr.setNumberFormat(G4P.INTEGER, 0); sdr.setLocalColorScheme(GCScheme.PURPLE_SCHEME); sdr.setOpaque(đúng); knb = new GKnob(này, 20, 20, 100, 100, 0.8f); knb. setTurnRange(110, 70); knb.setTurnMode(GKnob.CTRL_HORIZONTAL); knb.setĐộ nhạy(1); knb.setShowArcOnly(sai); knb.setOverArcOnly(sai); knb.setIncludeOverBezel(false); knb.setShowTrack(đúng); knb. setLimits(0f, 0f, 360f); knb.setNbrTicks(37); knb.setStickToTicks(đúng); knb.setShowTicks(đúng); //knb.setOpaque(đúng); knb.addEventHandler(điều này, "knbTurn"); lblSdrAng = new GLabel(này, 20, 120, 40, 20); lblSdrAng.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); lblSdrAng.setText("0"); lblSdrAng.setOpaque(đúng); _degrees$ = new GLabel(này, 60, 120, 60, 20); _degrees$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); _degrees$.setText("Độ"); _degrees$.setOpaque(đúng); rbtnResetAng = new GButton(này, 20, 140, 100, 20); rbtnResetAng.setText("ĐẶT LẠI"); rbtnResetAng.addEventHandler(điều này, "resetAng"); // Kiểu BÁNH XANH optRadial = new GOption(này, 400, 180, 180, 30); optRadial.setIconPos(GAlign.EAST); optRadial.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); optRadial.setText("Phong cách RADIAL"); optRadial.setOpaque(đúng); optRadial.addEventHandler(điều này, "chooseRadialStyle"); _radDist$ = new GLabel(này, 400, 220, 140, 20); _radDist$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); _radDist$.setText("Khoảng cách xuyên tâm"); _radDist$.setOpaque(đúng); lblRadDist = new GLabel(này, 540, 220, 40, 20); lblRadDist.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); lblRadDist.setText("40"); lblRadDist.setOpaque(đúng); sdrRadDist = new GSlider(này, 400, 240, 180, 20, 10); sdrRadDist.setLimits(40, 0, 150); sdrRadDist.setNbrTicks(16); sdrRadDist.setShowTicks(đúng); sdrRadDist.setNumberFormat(G4P.INTEGER, 0); //sdrRadDist.setOpaque(đúng); sdrRadDist.addEventHandler(này, "radDistChange"); _angle$ = new GLabel(này, 400, 270, 140, 20); _angle$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); _angle$.setText("Góc"); _angle$.setOpaque(đúng); lblRadAng = new GLabel(này, 540, 270, 40, 20); lblRadAng.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); lblRadAng.setText("90"); lblRadAng.setOpaque(đúng); sdrRadAng = new GSlider(này, 400, 290, 180, 20, 10); sdrRadAng.setLimits(90, 0, 360); sdrRadAng.setNbrTicks(19); sdrRadAng.setShowTicks(đúng); sdrRadAng.setNumberFormat(G4P.INTEGER, 0); sdrRadAng.addEventHandler(điều này, "sdrRadAngChange"); // Kiểu COMPASS optCompass = new GOption(này, 400, 20, 180, 30); optCompass.setIconPos(GAlign.EAST); optCompass.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); optCompass.setText("KIỂU LA BÀN"); optCompass.setOpaque(đúng); optCompass.addEventHandler(điều này, "chooseCompassStyle"); _alignment$ = new GLabel(này, 400, 60, 180, 20); _alignment$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); _alignment$.setText("Căn chỉnh"); _alignment$.setOpaque(đúng); listHorz = new GDropList(này, 400, 80, 90, 80, 3, 10); listHorz.setItems(new String[] { "TRÁI", "GIỮA", "PHẢI" }, 1); listHorz.addEventHandler(cái này, "horzAlign"); listVert = new GDropList(this, 490, 80, 90, 80, 3, 10); listVert.setItems(chuỗi mới[] { "BẮC", "NAM" }, 0); listVert.addEventHandler(this, "vertAlign"); _gap$ = new GLabel(này, 400, 110, 40, 20); _gap$.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); _gap$.setText("Khoảng cách"); _gap$.setOpaque(đúng); sdrGap = new GSlider(này, 440, 110, 140, 40, 10); sdrGap.setLimits(0, 0, 100); sdrGap.setNbrTicks(11); sdrGap.setShowTicks(đúng); sdrGap.setNumberFormat(G4P.INTEGER, 0); //sdrGap.setOpaque(đúng); sdrGap.addEventHandler(điều này, "changeGap"); lblGap = new GLabel(này, 400, 130, 40, 20); lblGap.setTextAlign(GAlign.CENTER, GAlign.MIDDLE); lblGap. setText("0"); lblGap.setOpaque(đúng); cbxKeepLevel = new GCheckbox(này, 400, 340, 180, 20); cbxKeepLevel.setOpaque(đúng); cbxKeepLevel.setText("Giữ mức tiền boa"); cbxKeepLevel.setSelected(sử dụngNativeSelect); cbxKeepLevel.addEventHandler(điều này, "keepTipLevel"); tipPosSourceCode = GLabel mới (cái này, 20, 420, 560, 50); tipPosSourceCode.setTextAlign(GAlign.LEFT, GAlign.CENTER); tipPosSourceCode.setText(" ---- "); tipPosSourceCode.setLocalColorScheme(GCScheme.GREEN_SCHEME); tipPosSourceCode.setOpaque(đúng); tipPosSourceCode.setFont(codefont); togStyle = GToggleGroup mới(); togStyle.addControls(optCompass, optRadial); optCompass.setSelected(đúng); } công khai void customGUI() { knb.setTip("Xoay thanh trượt", 40, 1.5f * PI); sdr.setTip("Điểm thi (%)", GAlign.CENTER, GAlign.NORTH, 0); grpCompass = new GGroup(này); grpCompass.addControls(listHorz, listVert, sdrGap, _alignment$, _gap$, lblGap); grpRadial = new GGroup(này); grpRadial.addControls(sdrRadDist, sdrRadAng, _radDist$, _angle$, lblRadDist, lblRadAng ); grpRadial.fadeTo(10, 200, 127); } GSlider sdr, sdrRadDist, sdrRadAng, sdrGap; Núm vặn GKnob; Nhãn lblSdrAng, lblGap, lblRadDist, lblRadAng, tipPosSourceCode; GLabel _độ$, _khoảng cách$, _radDist$, _góc$, _căn chỉnh$; Nút G rbtnResetAng; GDropList danh sáchHorz, listVert; GCheckbox cbxKeepLevel; GToggleGroup togStyle; GOption optRadial, optCompass; GGroup grpCompass, grpRadial; Mã phông chữ;G4P_ToolTipExplorer.pdehttps://git.code.sf.net/p/g4p/codeGControlMode.CENTERknb.setĐộ
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
foravo/lhai36366-issue-proof-20260519040638#1
No description provided.